1 | PSJADT2 ;BIR/RSB-UNDO AUTO DC MAIL MESSAGE ;25 Aug 98 / 9:44 AM
|
---|
2 | ;;5.0; INPATIENT MEDICATIONS ;**17,27,93**;16 DEC 97
|
---|
3 | ;
|
---|
4 | ; Reference to ^PS(55 is supported by DBIA# 2191
|
---|
5 | ; Reference to ^PSDRUG supported by DBIA# 2192
|
---|
6 | ;
|
---|
7 | SENDMSG ;Send mail message when check is complete.
|
---|
8 | N NF,PSJDISP,WS,SM,CNT,CNT1,ON,LINE
|
---|
9 | K PSJ,PSJOC,PSJLINE,XMY S XMDUZ="Inpatient Medications",XMSUB="Medication Orders Automatically Reinstated",XMTEXT="PSJ(",XMY("G.PSJ-ORDERS REINSTATED@"_$G(^XMB("NETNAME")))=""
|
---|
10 | ;Add additional recipients to mail message i.e. verifying Nurse, Pharmacist, etc.
|
---|
11 | I $D(PSJSENTO) D
|
---|
12 | .S PSJLOOP=""
|
---|
13 | .F S PSJLOOP=$O(PSJSENTO($J,PSJLOOP)) Q:PSJLOOP="" D
|
---|
14 | ..S XMY(PSJLOOP)=""
|
---|
15 | S PSJ(1,0)="PATIENT : "_$P(^TMP("PSJUNDC",$J,DFN),"^")_" ("_$E($P(^DPT(DFN,0),"^",9),6,9)_")"
|
---|
16 | I $P(^TMP("PSJUNDC",$J,DFN),"^",2)'="" D
|
---|
17 | .S PSJ(2,0)="CURRENT WARD LOCATION: "_$P(^TMP("PSJUNDC",$J,DFN),"^",2)
|
---|
18 | E D
|
---|
19 | .S PSJ(2,0)="CURRENT WARD LOCATION: NOT FOUND"
|
---|
20 | S PSJ(3,0)="REINSTATEMENT REASON : "_$S($P(^TMP("PSJUNDC",$J,DFN),U,3)=18550:"TRANSFER DELETED",1:"DISCHARGE DELETED")
|
---|
21 | S PSJ(4,0)="THE FOLLOWING MEDICATION ORDERS WERE AUTOMATICALLY REINSTATED."
|
---|
22 | S PSJLINE=0 S ON="" F S ON=$O(^TMP("PSJUNDC",$J,DFN,ON)) Q:ON="" D
|
---|
23 | .S (SM,WS,NF,PSJDISP)=""
|
---|
24 | .I ON["U" D DSPLORDU^PSJLMUT1(DFN,ON) D
|
---|
25 | ..S SM=$S('$P(^PS(55,DFN,5,+ON,0),"^",5):0,$P(^PS(55,DFN,5,+ON,0),"^",6):1,1:2)
|
---|
26 | ..S PSJPWD=$P($G(^DPT(DFN,.1)),U) S PSJPWD=$O(^DIC(42,"B",PSJPWD,0)) S WS=$$WS^PSJO(PSJPWD,DFN,"^PS(55,"_DFN_",5,",ON)
|
---|
27 | ..F PSJDISP=0:0 S PSJDISP=$O(^PS(55,DFN,5,+ON,1,PSJDISP)) Q:'PSJDISP D
|
---|
28 | ...I $P($G(^PSDRUG(+$P($G(^PS(55,DFN,5,+ON,1,PSJDISP,0)),"^"),0)),"^",9)=1 S NF=1
|
---|
29 | ..I NF!WS!SM S PSJOC(ON,PSJLINE-2)=PSJOC(ON,PSJLINE-2)_" "_$S(NF:"NF ",WS:"WS ",SM:$E("HSM",SM,3),1:"")
|
---|
30 | .I ON["V" D DSPLORDV^PSJLMUT1(DFN,ON)
|
---|
31 | S LINE=5,CNT1=0,ON="" F S ON=$O(PSJOC(ON)) Q:ON="" D
|
---|
32 | .;S PSJ(LINE,0)=" ",LINE=LINE+1,CNT=1,CNT1=CNT1+1
|
---|
33 | .S CNT=1,CNT1=CNT1+1
|
---|
34 | .S ON2="" F S ON2=$O(PSJOC(ON,ON2)) Q:ON2="" D
|
---|
35 | ..S PSJ(LINE,0)=$J($S(CNT=1:CNT1,1:" "),3)_$S(CNT=0:" ",1:"")_PSJOC(ON,ON2)
|
---|
36 | ..S LINE=LINE+1,CNT=0
|
---|
37 | I $D(^TMP("PSJNOTUNDC",$J,DFN)) D
|
---|
38 | .S PSJ(LINE,0)=""
|
---|
39 | .S LINE=LINE+1,PSJ(LINE,0)="********* THE FOLLOWING ORDERS WERE NOT AUTOMATICALLY RE-INSTATED *********"
|
---|
40 | .S LINE=LINE+1,PSJ(LINE,0)="******************* DUPLICATE ORDERABLE ITEMS WERE FOUND ******************"
|
---|
41 | .S PSJLINE=0 S ON="" K PSJOC F S ON=$O(^TMP("PSJNOTUNDC",$J,DFN,ON)) Q:ON="" D
|
---|
42 | ..S (SM,WS,NF,PSJDISP)=""
|
---|
43 | ..I ON["U" D DSPLORDU^PSJLMUT1(DFN,ON) D
|
---|
44 | ...S SM=$S('$P(^PS(55,DFN,5,+ON,0),"^",5):0,$P(^PS(55,DFN,5,+ON,0),"^",6):1,1:2)
|
---|
45 | ...S PSJPWD=$P($G(^DPT(DFN,.1)),U) S PSJPWD=$O(^DIC(42,"B",PSJPWD,0)) S WS=$$WS^PSJO(PSJPWD,DFN,"^PS(55,"_DFN_",5,",ON)
|
---|
46 | ...F PSJDISP=0:0 S PSJDISP=$O(^PS(55,DFN,5,+ON,1,PSJDISP)) Q:'PSJDISP D
|
---|
47 | ....I $P($G(^PSDRUG(+$P($G(^PS(55,DFN,5,+ON,1,PSJDISP,0)),"^"),0)),"^",9)=1 S NF=1
|
---|
48 | ...I NF!WS!SM S PSJOC(ON,PSJLINE-2)=PSJOC(ON,PSJLINE-2)_" "_$S(NF:"NF ",WS:"WS ",SM:$E("HSM",SM,3),1:"")
|
---|
49 | ..I ON["V" D DSPLORDV^PSJLMUT1(DFN,ON)
|
---|
50 | .S LINE=LINE+1,CNT1=0,ON="" F S ON=$O(PSJOC(ON)) Q:ON="" D
|
---|
51 | ..S CNT=1,CNT1=CNT1+1
|
---|
52 | ..S ON2="" F S ON2=$O(PSJOC(ON,ON2)) Q:ON2="" D
|
---|
53 | ...S PSJ(LINE,0)=$J($S(CNT=1:CNT1,1:" "),3)_$S(CNT=0:" ",1:"")_PSJOC(ON,ON2)
|
---|
54 | ...S LINE=LINE+1,CNT=0
|
---|
55 | D ^XMD I $D(XMZ) S DA=XMZ,DIE=3.9,DR="1.7///P;" D ^DIE
|
---|
56 | ;
|
---|
57 | DONE ;
|
---|
58 | K PSJ,PSJOC,XMDUZ,XMSUB,XMTEXT,PSJLINE,^TMP("PSJUNDC",$J),^TMP("PSJNOTUNDC",$J),PSJENTO($J)
|
---|
59 | Q
|
---|