| [613] | 1 | DVBHT ;PKE/ISC-ALBANY; HINQ alert parser; 5/10/92 ; 3/9/06 4:18pm
 | 
|---|
 | 2 |  ;;4.0;HINQ;**12,18,20,56**;03/25/92
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 |  ;call alert
 | 
|---|
 | 5 | ALERT I '$D(ZTQUEUED) H 1 W $C(7),".. Alert found."
 | 
|---|
 | 6 |  S (I,Y)=0,XQAMSG=""
 | 
|---|
 | 7 |  F  S Y=$O(DVBDATA(Y)) Q:'Y  DO
 | 
|---|
 | 8 |  .S $P(DVBDATA,"^",I+1)=Y
 | 
|---|
 | 9 |  .S XQAMSG=XQAMSG_$S(I:", ",1:"")_Y S I=I+1
 | 
|---|
 | 10 |  .K DVBDATA(Y)
 | 
|---|
 | 11 |  S XQAMSG="Screen"_$S(I>1:"s ",1:"  ")_XQAMSG
 | 
|---|
 | 12 |  ;
 | 
|---|
 | 13 |  D MAILGP^DVBHT2,REQUSR^DVBHT2
 | 
|---|
 | 14 |  I $D(XQA)'>9 S XQA(DUZ)=""
 | 
|---|
 | 15 |  S Y=DT D TM
 | 
|---|
 | 16 |  ;
 | 
|---|
 | 17 |  S XQAMSG=$E($P(^DPT(DFN,0),"^")_"        ",1,9)_" "_"("_$E(^(0))_$E($P(^(0),"^",9),6,10)_")"_$S('$L($E($P(^(0),"^",9),10)):":",1:"")_" HINQ Update . "_$E(XQAMSG_"                ",1,16)_$J(Y,8)
 | 
|---|
 | 18 |  I '$O(XQA(0))
 | 
|---|
 | 19 |  E  S XQAMSG=XQAMSG_" "_$E($P($P(^VA(200,$O(XQA(0)),0),"^"),","),1,10)
 | 
|---|
 | 20 |  ;
 | 
|---|
 | 21 | TST S XQAID="DVB,"_DFN
 | 
|---|
 | 22 |  S XQAROU="SETUP^DVBHT"
 | 
|---|
 | 23 |  ;S XQAFLG="R"
 | 
|---|
 | 24 |  S XQADATA=DFN_"^"_DVBDATA K DVBDATA
 | 
|---|
 | 25 |  ;
 | 
|---|
 | 26 |  D SETUP^XQALERT
 | 
|---|
 | 27 |  S $P(^DVB(395.5,DFN,0),"^",6)=1 Q  ;set alert SET
 | 
|---|
 | 28 |  ;
 | 
|---|
 | 29 |  ;entry action from alert
 | 
|---|
 | 30 | SETUP S DVBDATA=XQADATA K XQADATA,XQAKILL,DVBNOALR
 | 
|---|
 | 31 |  S Y=+$P(DVBDATA,"^") Q:'Y
 | 
|---|
 | 32 |  S DFN=Y,DVBDATA=$P(DVBDATA,"^",2,99)
 | 
|---|
 | 33 |  I '$D(^DVB(395.5,Y,0)) S XQAKILL=0 D KIL Q
 | 
|---|
 | 34 |  I '$P(^DVB(395.5,Y,0),"^",6) DO  D KIL Q
 | 
|---|
 | 35 |  .W !,?15," another request pending, alert cleared"
 | 
|---|
 | 36 |  .S XQAKILL=0
 | 
|---|
 | 37 |  I '$D(^XUSEC("DG ELIGIBILITY",DUZ)) DO  D KIL Q
 | 
|---|
 | 38 |  .S XQAKILL=1
 | 
|---|
 | 39 |  .D DISPLAY
 | 
|---|
 | 40 |  .D PAGE
 | 
|---|
 | 41 |  ;if no to hinq screens
 | 
|---|
 | 42 |  I $P(^DVB(395,1,0),"^",5)="n" DO  D END Q
 | 
|---|
 | 43 |  .S XQAKILL=0,DVBJ2=1
 | 
|---|
 | 44 |  .D TEM^DVBHIQR I $D(DVBERCS) K XQAKILL Q
 | 
|---|
 | 45 |  .D ACHK^DVBHT1
 | 
|---|
 | 46 |  .D DISPLAY
 | 
|---|
 | 47 |  .I $D(DVBNOALR) D PAGE,FILE^DVBHQUP Q
 | 
|---|
 | 48 |  .D ACKNOW
 | 
|---|
 | 49 |  .I $D(DVBNOALR) D FILE^DVBHQUP Q
 | 
|---|
 | 50 |  .K XQAKILL
 | 
|---|
 | 51 |  ;
 | 
|---|
 | 52 |  D A^DVBHUTIL W !
 | 
|---|
 | 53 |  K DVBDIQ
 | 
|---|
 | 54 |  ;
 | 
|---|
 | 55 | UPD L +^DPT(DFN):3 I $T DO
 | 
|---|
 | 56 |  .N XQAID
 | 
|---|
 | 57 |  .S DIE="^DPT(",(DA,DFN)=+Y,DR="[DVBHINQ UPDATE]",DVBJ2=0 D TEM^DVBHIQR
 | 
|---|
 | 58 |  .N DVBQT
 | 
|---|
 | 59 |  .I '$D(DVBERCS) D CHKID^DVBHQD1 I DVBQT D  Q
 | 
|---|
 | 60 |  .. N DVBTMP1,DVBTMP2
 | 
|---|
 | 61 |  .. S DVBTMP1=$G(DVBNOALR)
 | 
|---|
 | 62 |  .. S DVBTMP2=$G(DVBJ2)
 | 
|---|
 | 63 |  .. S DVBNOALR=";4///a;5////"_DUZ_";6///N",DVBJ2=1
 | 
|---|
 | 64 |  .. D FILE^DVBHQUP
 | 
|---|
 | 65 |  .. S DVBNOALR=DVBTMP1
 | 
|---|
 | 66 |  .. S DVBJ2=DVBTMP2
 | 
|---|
 | 67 |  .D ^DIE:'$D(DVBERCS) K DIE,DR,DA Q
 | 
|---|
 | 68 |  E  W !?3,"This patient data is being edited by another user" H 1 G END
 | 
|---|
 | 69 |  L -^DPT(DFN)
 | 
|---|
 | 70 |  ;
 | 
|---|
 | 71 |  I DVBJ2 DO  ;patient updated, alerts filed in up
 | 
|---|
 | 72 |  .W !!,"Checking the alerts ."
 | 
|---|
 | 73 |  .D ACHK^DVBHT1
 | 
|---|
 | 74 |  .I $D(DVBNOALR) DO
 | 
|---|
 | 75 |  . .S DVBNOALR=";4///c;5////"_DUZ_";6///N"
 | 
|---|
 | 76 |  . .W ". OK"
 | 
|---|
 | 77 |  .E  DO
 | 
|---|
 | 78 |  . .W ". need more changes"
 | 
|---|
 | 79 |  . .D DISPLAY
 | 
|---|
 | 80 |  . .D ACKNOW
 | 
|---|
 | 81 |  .H 1
 | 
|---|
 | 82 |  E  DO  ;patient not updated
 | 
|---|
 | 83 |  .I $D(DVBNOALR) DO  Q
 | 
|---|
 | 84 |  . .I DVBNOALR]"" D FILE^DVBHQUP
 | 
|---|
 | 85 |  . .;;;D DISPLAY
 | 
|---|
 | 86 |  .D ACHK^DVBHT1
 | 
|---|
 | 87 |  .D DISPLAY I $D(DVBNOALR) Q
 | 
|---|
 | 88 |  .D ACKNOW
 | 
|---|
 | 89 |  .I $D(DVBNOALR),DVBNOALR]"" D FILE^DVBHQUP
 | 
|---|
 | 90 |  ;
 | 
|---|
 | 91 |  K DVBDIQ D C^DVBHQUP
 | 
|---|
 | 92 |  ;
 | 
|---|
 | 93 | END S END="N DVBNOALR,XQAID D KILL^XUSCLEAN" X END
 | 
|---|
 | 94 |  I $D(DVBNOALR) S XQAKILL=0
 | 
|---|
 | 95 | KIL K DVBNOALR,DVBDATA,DFN,DVBJ2,DR,DVBDIQ,LP2,DIC,DIQ,DA,D0 Q
 | 
|---|
 | 96 |  ;
 | 
|---|
 | 97 |  ;display alert
 | 
|---|
 | 98 | DISPLAY Q:'$D(DVBDATA)  I '$L($P(DVBDATA,"^",11)) DO CMSG Q
 | 
|---|
 | 99 | INFO ;
 | 
|---|
 | 100 |  ;;Diagnostic Ver.Ind.: NO   Verify Service Connections at RO
 | 
|---|
 | 101 |  I '$D(DVBDIQ(2,DFN,.01,"E")) S DR=".01;.09" D DIQDR^DVBHT1
 | 
|---|
 | 102 |  S DVBALERT="LOAD/EDIT Screen"_$S(DVBDATA'["SC D":" 7",1:"s 7, 11")
 | 
|---|
 | 103 |  W !," ----------------------------------------------------------------------------"
 | 
|---|
 | 104 |  W !,"| ",DVBDIQ(2,DFN,.01,"E"),"  "
 | 
|---|
 | 105 |  W $E(DVBDIQ(2,DFN,.01,"E")),$E(DVBDIQ(2,DFN,.09,"E"),6,10)
 | 
|---|
 | 106 |  W ?39,DVBALERT,?69,"HINQ"
 | 
|---|
 | 107 |  W ?77,"|",!
 | 
|---|
 | 108 |  I $D(XQAKILL)
 | 
|---|
 | 109 |  F I=11:1 S DVBALERT=$P(DVBDATA,"^",I)_"'" Q:'DVBALERT  DO
 | 
|---|
 | 110 |  .W:$X<10 "|",?6
 | 
|---|
 | 111 |  .I $E(DVBALERT,2)="+" W "HINQ has data not in patient file `"
 | 
|---|
 | 112 |  .I $E(DVBALERT,2)="-" W "Patient file has data not in HINQ `"
 | 
|---|
 | 113 |  .I $E(DVBALERT,2)="?" W "HINQ, Patient file are different  `"
 | 
|---|
 | 114 |  .I $E(DVBALERT,2)="X" DO
 | 
|---|
 | 115 |  . .I $E(DVBALERT,3) W $P($T(INFO+$E(DVBALERT,3)),";;",2)
 | 
|---|
 | 116 |  . .S DVBALERT=$E(DVBALERT)
 | 
|---|
 | 117 |  .W $E(DVBALERT,3,$L(DVBALERT))
 | 
|---|
 | 118 |  .W ?66,"Screen (",$E(DVBALERT),")",?77,"|",!
 | 
|---|
 | 119 |  W " ----------------------------------------------------------------------------"
 | 
|---|
 | 120 |  K DVBALERT
 | 
|---|
 | 121 |  Q
 | 
|---|
 | 122 | ACKNOW K DIR S DIR("A")="Do you wish to acknowledge inconsistencies and clear this Alert ? "
 | 
|---|
 | 123 |  S DIR("B")="No"
 | 
|---|
 | 124 |  S DIR("?",1)="If the patient file has data that should not be updated by HINQ, this Alert"
 | 
|---|
 | 125 |  S DIR("?",2)="can be acknowledged and cleared by entering 'Y'es.  Otherwise, just continue"
 | 
|---|
 | 126 |  S DIR("?")="Press RETURN to continue,'Y'es to acknowledge, '^' to exit:"
 | 
|---|
 | 127 |  S DIR(0)="YAO" D ^DIR K DIR Q:'Y
 | 
|---|
 | 128 |  S DVBNOALR=";4///a;5////"_DUZ_";6///N"
 | 
|---|
 | 129 |  W !!?6,"   Alert will be cleared" H 1 Q
 | 
|---|
 | 130 |  ;
 | 
|---|
 | 131 | PAGE K DVBALERT S DIR(0)="E" D ^DIR K DIR Q
 | 
|---|
 | 132 |  ;
 | 
|---|
 | 133 | CMSG W !!,?20,"Alerts have been cleared",! Q
 | 
|---|
 | 134 |  ;
 | 
|---|
 | 135 | TM S Y=$E(Y,4,5)_"/"_$E(Y,6,7)_$P("@"_$E(Y_0,9,10)_":"_$E(Y_"000",11,12),"^",Y[".") Q
 | 
|---|