| 1 | HLEMT ;ALB/CJM-HL7 - APIs for Monitor Event Types ;02/04/2004
|
---|
| 2 | ;;1.6;HEALTH LEVEL SEVEN;**109**;Oct 13, 1995
|
---|
| 3 | ;
|
---|
| 4 | FIND(CODE,PACKAGE) ;
|
---|
| 5 | ;Description: Finds an event type.
|
---|
| 6 | ;Input:
|
---|
| 7 | ; CODE - the string value of the code
|
---|
| 8 | ; PACKAGE - the name (.01 field) of a package in the Package file representing the application that dessigned/created the code.
|
---|
| 9 | ;Output:
|
---|
| 10 | ; Function returns 0 on failue, ien of event type if successful
|
---|
| 11 | ;
|
---|
| 12 | Q:('$L($G(CODE))) 0
|
---|
| 13 | Q:'$L($G(PACKAGE)) 0
|
---|
| 14 | Q $O(^HLEV(776.3,"C",CODE,PACKAGE,0))
|
---|
| 15 | ;
|
---|
| 16 | GET(IEN,ETYPE) ;
|
---|
| 17 | ;Description - given the ien, it returns an array containing the event type
|
---|
| 18 | ;Input:
|
---|
| 19 | ; IEN - ien of event type
|
---|
| 20 | ; ETYPE - pass by reference, the return array
|
---|
| 21 | ;Output:
|
---|
| 22 | ; function returns 0 on failure, 1 on success
|
---|
| 23 | ; ETYPE(
|
---|
| 24 | ; "ACTION" - <tag>^<routine> - the routine that should be executed when events of this type occur
|
---|
| 25 | ; "BRIEF" - brief description
|
---|
| 26 | ; "CODE" - the event type code
|
---|
| 27 | ; "CATEGORY" - category of event type, set of codes
|
---|
| 28 | ; "CONGLOMERATE" - 1=events of this type are conglomerated, 0 is no
|
---|
| 29 | ; "CONGLOMERATE","HOURS" - #of hours to conglomerate
|
---|
| 30 | ; "DAYS" - # of days to keep events of this type before purge
|
---|
| 31 | ; "IEN" -the ien
|
---|
| 32 | ; "PACKAGE" - ien of the package that assigned the code
|
---|
| 33 | ; "REVIEW" - 0=not required, 1=required, 2=only if action fails
|
---|
| 34 | ; "SITES",<IEN of DOMAIN>=<screen if defined> - list of domains to send server messages
|
---|
| 35 | ; "URGENT" - 0=NO,1=YES,2=IF ACTIONFAILS
|
---|
| 36 | ;
|
---|
| 37 | Q:'$G(IEN) 0
|
---|
| 38 | N NODE,I,DOMAIN
|
---|
| 39 | K ETYPE
|
---|
| 40 | S ETYPE("IEN")=IEN
|
---|
| 41 | S NODE=$G(^HLEV(776.3,IEN,0))
|
---|
| 42 | Q:'$L(NODE) 0
|
---|
| 43 | S ETYPE("CODE")=$P(NODE,"^")
|
---|
| 44 | S ETYPE("PACKAGE")=$P(NODE,"^",2)
|
---|
| 45 | S ETYPE("CATEGORY")=$P(NODE,"^",3)
|
---|
| 46 | S ETYPE("URGENT")=$P(NODE,"^",4)
|
---|
| 47 | S ETYPE("CONGLOMERATE")=$P(NODE,"^",5)
|
---|
| 48 | S ETYPE("CONGLOMERATE","HOURS")=$P(NODE,"^",6)
|
---|
| 49 | S ETYPE("REVIEW")=$P(NODE,"^",7)
|
---|
| 50 | S ETYPE("DAYS")=$P(NODE,"^",9)
|
---|
| 51 | S ETYPE("ACTIVE")=$P(NODE,"^",10)
|
---|
| 52 | S ETYPE("ACTION")=$E($G(^HLEV(776.3,IEN,1)),1,20)
|
---|
| 53 | S I=0 F S I=$O(^HLEV(776.3,IEN,2,I)) Q:'I S DOMAIN=+$G(^HLEV(776.3,IEN,2,I,0)) S:DOMAIN ETYPE("DOMAIN",DOMAIN)=$G(^HLEV(776.3,IEN,2,I,1))
|
---|
| 54 | S ETYPE("BRIEF")=$P($G(^HLEV(776.3,IEN,4)),"^")
|
---|
| 55 | Q 1
|
---|
| 56 | ;
|
---|
| 57 | CODE(EVENT) ;
|
---|
| 58 | ;Given the event type ien, returns the code
|
---|
| 59 | Q:'$G(EVENT) ""
|
---|
| 60 | Q $P($G(^HLEV(776.3,EVENT,0)),"^")
|
---|
| 61 | BRIEF(EVENT) ;
|
---|
| 62 | ;Given the event type ien, returns the brief desciption
|
---|
| 63 | Q:'$G(EVENT) ""
|
---|
| 64 | Q $P($G(^HLEV(776.3,EVENT,4)),"^")
|
---|
| 65 | ;
|
---|
| 66 | CONG(TYPE) ;
|
---|
| 67 | ;Input:
|
---|
| 68 | ; TYPE - ien of event type
|
---|
| 69 | ;Output:
|
---|
| 70 | ; function returns 0 if this is NOT a conglomerated event, 1 if it is
|
---|
| 71 | ;
|
---|
| 72 | Q $P($G(^HLEV(776.3,TYPE,0)),"^",5)
|
---|
| 73 | HOURS(TYPE) ;
|
---|
| 74 | ;Description - returns #of hours overwhich to congregate events of this type
|
---|
| 75 | ;Input:
|
---|
| 76 | ; TYPE - ien of event type
|
---|
| 77 | ;Output:
|
---|
| 78 | ; function returns # of hours, 0 if not to be conglomerated
|
---|
| 79 | ;
|
---|
| 80 | Q:'$$CONG(TYPE) 0
|
---|
| 81 | Q $P($G(^HLEV(776.3,TYPE,0)),"^",6)
|
---|