| 1 | DVBHT2 ;ISC-ALBANY/PKE - HINQ alert parser ; 5/10/92 ; 2/19/03 2:49pm | 
|---|
| 2 | ;;4.0;HINQ;**12,20,26,43**;03/25/92 | 
|---|
| 3 | ; | 
|---|
| 4 | ;primary admission only | 
|---|
| 5 | EVENT Q:'$D(^UTILITY("DGPM",$J,1,DGPMDA))  Q:DGPMP'="" | 
|---|
| 6 | S DVBDIV=0 | 
|---|
| 7 | I $P(^DVB(395,1,"HQ"),"^",13),$P(^DG(43,1,"GL"),"^",2) DO | 
|---|
| 8 | .S DVBDIV=$S($D(^DIC(42,+$P(DGPMA,"^",6),0)):+$P(^(0),"^",11),1:0) | 
|---|
| 9 | ; | 
|---|
| 10 | W:'$G(DGQUIET) !,"Entering a request in the HINQ suspense file..." | 
|---|
| 11 | S DVBNOWRT="" D EN^DVBHQUT | 
|---|
| 12 | W:'$G(DGQUIET) "completed." | 
|---|
| 13 | K DVBNOWRT,DVBDIV Q | 
|---|
| 14 | ; | 
|---|
| 15 | ;called from d1 | 
|---|
| 16 | IALERT Q:$D(DVBERR)  Q:$D(DVBNETER)  Q:$D(DVBABREV)  Q:'$D(DFN)  Q:'DFN | 
|---|
| 17 | Q:$P(^DVB(395.5,DFN,0),"^",6)  U IO(0) W !,"Checking alert data " | 
|---|
| 18 | S XQA(DUZ)="" D EN^DVBHT1 K XQA(DUZ) Q | 
|---|
| 19 | ; | 
|---|
| 20 | ;returns xqa(g.mailgroup or g.dvbhinq),y from hinq parameter file | 
|---|
| 21 | MAILGP N ENT,LKV | 
|---|
| 22 | S ENT=$O(^DVB(395,0)) I ENT="" Q | 
|---|
| 23 | S Y=0 | 
|---|
| 24 | F  S Y=$O(^DVB(395,ENT,"HQMG",Y)) Q:'Y  D | 
|---|
| 25 | .S LKV=$P(^DVB(395,ENT,"HQMG",Y,0),"^") | 
|---|
| 26 | .Q:(LKV="") | 
|---|
| 27 | .Q:('$D(^XMB(3.8,LKV))) | 
|---|
| 28 | .I $P(^XMB(3.8,LKV,0),"^")'="" S XQA("G."_$P(^XMB(3.8,LKV,0),"^"))="" | 
|---|
| 29 | I $D(XQA)'>9 S XQA("G.DVBHINQ")="",Y=$O(^XMB(3.8,"B","DVBHINQ",0)) | 
|---|
| 30 | Q | 
|---|
| 31 | ;returns xqa(last) or duz requester in suspense file | 
|---|
| 32 | REQUSR S Y=0 F  S Y=$O(^DVB(395.5,DFN,1,Y)) Q:'Y  I $D(^(Y,0)) DO | 
|---|
| 33 | .I $G(LAST)="" S LAST=Y Q | 
|---|
| 34 | .I $D(^DVB(395.5,DFN,1,LAST)),($P(^DVB(395.5,DFN,1,Y,0),"^",2)<$P(^DVB(395.5,DFN,1,LAST,0),"^",2)) Q | 
|---|
| 35 | .S LAST=Y | 
|---|
| 36 | I $D(LAST) S XQA(LAST)="" K LAST Q | 
|---|
| 37 | S XQA(DUZ)="" Q | 
|---|
| 38 | ;input y | 
|---|
| 39 | USR I $O(XQA(0))'?1"G.".E Q | 
|---|
| 40 | Q:'Y  K DVBDUZ S DVBDUZ=0 | 
|---|
| 41 | F  S DVBDUZ=$O(^XMB(3.8,+Y,1,"B",DVBDUZ)) Q:'DVBDUZ  S DVBDUZ(DVBDUZ)="" | 
|---|
| 42 | Q | 
|---|
| 43 | ; | 
|---|
| 44 | QUE ;entry to queue with taskman from prog mode | 
|---|
| 45 | S ZTIO="",ZTRTN="START^DVBHT2",ZTDESC="Clear corrected HINQ alerts" | 
|---|
| 46 | D ^%ZTLOAD Q | 
|---|
| 47 | ; | 
|---|
| 48 | ;queable | 
|---|
| 49 | START S DFN=0 I '$D(ZTQUEUED) W !?3,"Clearing corrected HINQ alerts",! | 
|---|
| 50 | D MAILGP,USR | 
|---|
| 51 | F  S DFN=$O(^DVB(395.5,"AC","N",DFN)) Q:'DFN  DO | 
|---|
| 52 | .I '$D(^DVB(395.5,DFN,0)) Q | 
|---|
| 53 | .D TEM^DVBHIQR I $D(DVBERCS) Q | 
|---|
| 54 | .D ACHK^DVBHT1 | 
|---|
| 55 | .I '$D(DVBNOALR) Q | 
|---|
| 56 | .S DVBDUZ=0 F  S DVBDUZ=$O(DVBDUZ(DVBDUZ)) DO  Q:'DVBDUZ  ;do 1 always | 
|---|
| 57 | . .S XQAID="DVB,"_DFN,XQAKILL=0 | 
|---|
| 58 | . .D DELETEA^XQALERT | 
|---|
| 59 | . .Q | 
|---|
| 60 | .I '$D(ZTQUEUED) W:$X>63 !," " W " ." | 
|---|
| 61 | I '$D(ZTQUEUED),$X=1 W !?3,"No alerts cleared..." | 
|---|
| 62 | D KILL^XUSCLEAN Q | 
|---|