1 | LA7UXQA ;;DALOI/JMC - HL7 Utility - Send alert to users; Jan 12, 2004
|
---|
2 | ;;5.2;AUTOMATED LAB INSTRUMENTS;**27,67**;Sep 27, 1994
|
---|
3 | ;
|
---|
4 | XQA(LA7CTYP,LA76248,LA762485,LA76249,LA7AMSG,LA7DATA,LA7PALRT) ; Send alert when requested.
|
---|
5 | ; Input
|
---|
6 | ; LA7CTYP - Condition for alert (1=New Results, 2=Error on message, 3=New Orders)
|
---|
7 | ; LA76248 - Pointer to file 62.48
|
---|
8 | ; LA762485 - Optional, pointer to file 62.485 if condition=2
|
---|
9 | ; LA76249 - Optional, pointer to file 62.49 if condition=2 or 3
|
---|
10 | ; LA7AMSG - Optional, alert message if missing will use default message
|
---|
11 | ; LA7DATA - Optional, pass values for specific conditions
|
---|
12 | ; LA7PALRT - Keep previous alerts (1-yes,0-no)
|
---|
13 | ;
|
---|
14 | ; Called by LA7LOG, LA7UIIN, LA7VORM, LRVRPOC, LA7VIN1
|
---|
15 | ;
|
---|
16 | N XQA,XQAID,XQADATA,XQAFLAG,XQAMSG,XQAOPT,XQAROU,X,Y
|
---|
17 | S XQAMSG=$G(LA7AMSG)
|
---|
18 | ;
|
---|
19 | I $G(LA7CTYP)=1 D
|
---|
20 | . S XQAID="LA7-CONFIG-"_$S($G(LA76248):LA76248,1:"UNKNOWN-"_$H)
|
---|
21 | . I XQAMSG="" S XQAMSG="Lab Messaging - New results received for "_$P($G(^LAHM(62.48,+$G(LA76248),0),"UNKNOWN"),"^")
|
---|
22 | ;
|
---|
23 | I $G(LA7CTYP)=2 D
|
---|
24 | . S XQAID="LA7-MESSAGE-"_$S($G(LA76249):LA76249,1:"UNKNOWN-"_$H)
|
---|
25 | . I XQAMSG="" S XQAMSG="Lab Messaging error #"_$G(LA762485,"UNKNOWN")_" on message #"_$G(LA76249,"UNKNOWN")
|
---|
26 | . I $G(LA76249) D ; Error processing message, setup action alert.
|
---|
27 | . . S XQAROU="DIS^LA7UXQA" ; Alert action.
|
---|
28 | . . S XQADATA=LA76249 ; Alert data (ien of message in 62.49, date of error and error number).
|
---|
29 | ;
|
---|
30 | I $G(LA7CTYP)=3 D
|
---|
31 | . S LA7DATA=$G(LA7DATA)
|
---|
32 | . S XQAID="LA7-ORDERS-"_$S($L(LA7DATA):$P(LA7DATA,"^"),$G(LA76249):LA76249,1:"UNKNOWN-"_$H)
|
---|
33 | . I XQAMSG="" S XQAMSG="Lab Messaging - Manifest# "_$P(LA7DATA,"^")_" received from "_$P($G(^LAHM(62.48,+$G(LA76248),0),"UNKNOWN"),"^")
|
---|
34 | ;
|
---|
35 | ; Determine mail group
|
---|
36 | S X=""
|
---|
37 | F S X=$O(^LAHM(62.48,+$G(LA76248),20,"B",LA7CTYP,X)) Q:'X D
|
---|
38 | . S Y=$G(^LAHM(62.48,LA76248,20,X,0))
|
---|
39 | . I $L($P(Y,"^",2)) S XQA("G."_$P(Y,"^",2))="" ; Send to mail group.
|
---|
40 | ;
|
---|
41 | ; Fail safe mail group when no mail group defined.
|
---|
42 | I '$D(XQA) S XQA("G.LAB MESSAGING")=""
|
---|
43 | ;
|
---|
44 | ; Delete previous alerts with same id
|
---|
45 | I '$G(LA7PALRT),$G(XQAID)'="" D DEL(XQAID)
|
---|
46 | ;
|
---|
47 | D SETUP^XQALERT
|
---|
48 | Q
|
---|
49 | ;
|
---|
50 | ;
|
---|
51 | DEL(ID) ; Delete previous alerts if present
|
---|
52 | ; Call with ID = alert id
|
---|
53 | ; Clear previous alert with same pkg id.
|
---|
54 | N XQAID,XQAMSG,XQAROU,XQADATA,XQA
|
---|
55 | S XQAKLL=0
|
---|
56 | S XQAID=ID
|
---|
57 | D DELETEA^XQALERT
|
---|
58 | Q
|
---|
59 | ;
|
---|
60 | ;
|
---|
61 | DIS ; Display alert.
|
---|
62 | N DIR,I,J,K,LA7LIST,X,Y
|
---|
63 | K ^TMP("DDB",$J),^TMP($J)
|
---|
64 | I 'XQADATA W !,$C(7),"Missing message number, unable to proceed.",! Q
|
---|
65 | I '$D(^LAHM(62.49,XQADATA)) W !,$C(7),"Message number# ",XQADATA," has been deleted, unable to proceed.",! Q
|
---|
66 | S DIR(0)="YO",DIR("A")="Display message associated with this alert",DIR("B")="YES"
|
---|
67 | D ^DIR K DIR
|
---|
68 | I Y S LA7LIST(+XQADATA)="" D DEV^LA7UTILA
|
---|
69 | Q
|
---|
70 | ;
|
---|
71 | ;
|
---|
72 | DISIC ; Display Integrity Checker alert.
|
---|
73 | N DIR,I,J,K,LA7IC,X,Y
|
---|
74 | I XQADATA="" D Q
|
---|
75 | . W !,$C(7),"Missing error report to display, unable to proceed.",!
|
---|
76 | ;
|
---|
77 | I '$D(^XTMP(XQADATA)) D Q
|
---|
78 | . W !,$C(7),"Message number# ",XQADATA," has been deleted, unable to proceed.",!
|
---|
79 | ;
|
---|
80 | S DIR(0)="YO",DIR("A")="Display Integrity Check Report associated with this alert",DIR("B")="YES"
|
---|
81 | D ^DIR K DIR
|
---|
82 | I Y S LA7IC=XQADATA D DEV^LA7CHKFP
|
---|
83 | Q
|
---|