1 | PSJMPRT ;BIR/MV-PRINT DRIVE FOR MDWS ;13 FEB 96 / 10:06 AM
|
---|
2 | ;;5.0; INPATIENT MEDICATIONS ;;16 DEC 97
|
---|
3 | ;Loop thru TMP global to print report
|
---|
4 | ;
|
---|
5 | INIT ;
|
---|
6 | Q:'$D(^TMP($J)) U IO
|
---|
7 | NEW DRG,ND,PID,PID1,PPN,PPN1,PPNO,PRB,PRB1,PRBO,QST,TM,TM1,TMO,UD0,UD2,XNAME
|
---|
8 | S PSJHL1="MEDICATIONS DUE WORKSHEET For: "
|
---|
9 | S PSJHL2="Report from: "_$$ENDTC^PSGMI(PSGPLS)_" to: "_$$ENDTC^PSGMI(PSGPLF)_" "_"Report Date: "_$E($$ENDTC^PSGMI(DT),1,8)
|
---|
10 | S XNAME="" S:PSGMTYPE[1 XNAME="ALL MEDS"
|
---|
11 | S:PSGMTYPE[2 XNAME="NON-IV MEDs"
|
---|
12 | I PSGMTYPE[3 S:XNAME]"" XNAME=XNAME_", " S XNAME=XNAME_"IVPB"
|
---|
13 | I PSGMTYPE[4 S:XNAME]"" XNAME=XNAME_", " S XNAME=XNAME_"LVPs"
|
---|
14 | I PSGMTYPE[5 S:XNAME]"" XNAME=XNAME_", " S XNAME=XNAME_"TPNs"
|
---|
15 | I PSGMTYPE[6 S:XNAME]"" XNAME=XNAME_", " S XNAME=XNAME_"CHEMO (IV)"
|
---|
16 | S PSJHL3="Continuous/One time Orders for: "_XNAME
|
---|
17 | S PSJHL62="* Projected admin. times based on order's volume, flow rate, and start time."
|
---|
18 | S (PSGPG,PSJNEED,PSJLN,PSJADTO,PSJATMEO)=0,(PPNO,PRBO,TMO)=""
|
---|
19 | S (PPN,QST,DRG,TM,PSJPRB)="",PSJTOTLN=$S($E(IOST)="C":23,1:62)
|
---|
20 | D @PSGSS
|
---|
21 | I PSGPG,$G(PSJASTR) D
|
---|
22 | . S X=$Y F X=X:1:PSJTOTLN W !
|
---|
23 | . W !,PSJHL62 S PSJASTR=0
|
---|
24 | Q
|
---|
25 | ;
|
---|
26 | P ;***Selected by Patients.
|
---|
27 | F PSJADT=0:0 S PSJADT=$O(^TMP($J,PSJADT)) Q:'PSJADT F S PPN=$O(^TMP($J,PSJADT,PPN)) Q:PPN="" D
|
---|
28 | . S PSJHL1=$P(PSJHL1,":")_": "_$P(PPN,U)
|
---|
29 | . F PSJATME=0:0 S PSJATME=$O(^TMP($J,PSJADT,PPN,PSJATME)) Q:'PSJATME F S QST=$O(^TMP($J,PSJADT,PPN,PSJATME,QST)) Q:QST="" D
|
---|
30 | . . F S DRG=$O(^TMP($J,PSJADT,PPN,PSJATME,QST,DRG)) Q:DRG="" D:'$G(PSJSTOP) PRT
|
---|
31 | Q
|
---|
32 | ;
|
---|
33 | G ;***Selected by Ward Group.
|
---|
34 | S PSJHL1=PSJHL1_PSGWGNM
|
---|
35 | ;
|
---|
36 | W ;***Selected by Ward.
|
---|
37 | S:PSGSS="W" PSJHL1=PSJHL1_PSGWN
|
---|
38 | F PSJADT=0:0 S PSJADT=$O(^TMP($J,PSJADT)) Q:'PSJADT F S TM=$O(^TMP($J,PSJADT,TM)) Q:TM="" D @("W"_PSGRBADM)
|
---|
39 | Q
|
---|
40 | ;
|
---|
41 | WA ;*** Selected by Ward and sort by Admin. time.
|
---|
42 | F PSJATME=0:0 S PSJATME=$O(^TMP($J,PSJADT,TM,PSJATME)) Q:'PSJATME F S PSJPRB=$O(^TMP($J,PSJADT,TM,PSJATME,PSJPRB)) Q:PSJPRB="" D
|
---|
43 | . F S PPN=$O(^TMP($J,PSJADT,TM,PSJATME,PSJPRB,PPN)) Q:PPN="" F S QST=$O(^TMP($J,PSJADT,TM,PSJATME,PSJPRB,PPN,QST)) Q:QST="" D
|
---|
44 | . .F S DRG=$O(^TMP($J,PSJADT,TM,PSJATME,PSJPRB,PPN,QST,DRG)) Q:DRG="" D:'$G(PSJSTOP) PRT
|
---|
45 | Q
|
---|
46 | ;
|
---|
47 | WP ;*** Selected by Ward and sort by Patients.
|
---|
48 | F S PPN=$O(^TMP($J,PSJADT,TM,PPN)) Q:PPN="" F PSJATME=0:0 S PSJATME=$O(^TMP($J,PSJADT,TM,PPN,PSJATME)) Q:'PSJATME D
|
---|
49 | . F S QST=$O(^TMP($J,PSJADT,TM,PPN,PSJATME,QST)) Q:QST="" F S DRG=$O(^TMP($J,PSJADT,TM,PPN,PSJATME,QST,DRG)) Q:DRG="" D
|
---|
50 | . . D:'$G(PSJSTOP) PRT
|
---|
51 | Q
|
---|
52 | ;
|
---|
53 | WR ;*** Selected by Ward and sort by Room-Bed.
|
---|
54 | F S PSJPRB=$O(^TMP($J,PSJADT,TM,PSJPRB)) Q:PSJPRB="" F S PPN=$O(^TMP($J,PSJADT,TM,PSJPRB,PPN)) Q:PPN="" D
|
---|
55 | . F PSJATME=0:0 S PSJATME=$O(^TMP($J,PSJADT,TM,PSJPRB,PPN,PSJATME)) Q:'PSJATME F S QST=$O(^TMP($J,PSJADT,TM,PSJPRB,PPN,PSJATME,QST)) Q:QST="" D
|
---|
56 | . . F S DRG=$O(^TMP($J,PSJADT,TM,PSJPRB,PPN,PSJATME,QST,DRG)) Q:DRG="" D:'$G(PSJSTOP) PRT
|
---|
57 | Q
|
---|
58 | ;
|
---|
59 | PRT ;
|
---|
60 | S ND=^(DRG),PSGP=+ND,ON=$P(ND,U,2),PID=$P(ND,U,3),PSGWN=$S(PSGSS="W":"",1:$P(ND,U,4)),PRB=$P(ND,U,5)
|
---|
61 | I QST["V" D PRT^PSJMIV Q
|
---|
62 | S ND=^TMP($J,QST,PSGP,ON),PSJDOS=$P(ND,U),PSJMR=$P(ND,U,2),PSJSCHE=$P(ND,U,3),PSJHOLD=$S($P(ND,U,4):1,1:0)
|
---|
63 | S PSGLOD=$E($$ENDTC^PSGMI($P(ND,U,5)),1,5)
|
---|
64 | I QST'["Z" S X=$$ENDTC^PSGMI($P(ND,U,6)),PSGLSD=$E(X,1,5)_$E(X,9,15),PSGLFD=$$ENDTC^PSGMI($P(ND,U,7))
|
---|
65 | S PSJONETM=$S(QST="O":1,1:0),PSJONCAL=$S(QST="OA":1,1:0)
|
---|
66 | S PSJSI=$$ENSET^PSGSICHK(^TMP($J,QST,PSGP,ON,1))
|
---|
67 | NEW MARX
|
---|
68 | D DRGDISP^PSJLMUT1(PSGP,+ON_$S(QST["Z":"P",1:"U"),40,0,.MARX,1)
|
---|
69 | S PSJNEED=$S($D(MARX(2)):2,1:1)
|
---|
70 | S X=$L(PSJSI)/41,X=$P(X,".")+($P(X,".",2)>0)
|
---|
71 | S PSJNEED=PSJNEED+X+5+PSJHOLD+PSJONETM+PSJONCAL
|
---|
72 | D ^PSJMPRTU,PRT^PSJMPRTU
|
---|
73 | Q
|
---|