1 | ALPBSWRD ;OIFO-DALLAS MW,SED,KC - display BCBU records for patients on a selected ward ;01/01/03
|
---|
2 | ;;3.0;BAR CODE MED ADMIN;**8**;Mar 2004
|
---|
3 | ;
|
---|
4 | F D Q:$D(DIRUT)
|
---|
5 | .W !!,"Inpatient Pharmacy Orders for a selected ward"
|
---|
6 | .S DIR(0)="FAO^2:10"
|
---|
7 | .S DIR("A")="Select WARD: "
|
---|
8 | .S DIR("?")="^D WARDLIST^ALPBUTL(""C"")"
|
---|
9 | .D ^DIR K DIR
|
---|
10 | .I $D(DIRUT) Q
|
---|
11 | .D WARDSEL^ALPBUTL(Y,.ALPBSEL)
|
---|
12 | .I +$G(ALPBSEL(0))=0 D Q
|
---|
13 | ..W $C(7)
|
---|
14 | ..W " ??"
|
---|
15 | ..D WARDLIST^ALPBUTL("C")
|
---|
16 | ..K ALPBSEL
|
---|
17 | .I +$G(ALPBSEL(0))=1 D
|
---|
18 | ..S ALPBWARD=ALPBSEL(1)
|
---|
19 | ..W " ",ALPBWARD
|
---|
20 | ..K ALPBSEL
|
---|
21 | .I +$G(ALPBSEL(0))>1 D I $D(DIRUT) K DIRUT,DTOUT,X,Y Q
|
---|
22 | ..S ALPBX=0
|
---|
23 | ..F S ALPBX=$O(ALPBSEL(ALPBX)) Q:'ALPBX W !?2,$J(ALPBX,2)," ",ALPBSEL(ALPBX)
|
---|
24 | ..K ALPBX
|
---|
25 | ..S DIR(0)="NA^1:"_ALPBSEL(0)
|
---|
26 | ..S DIR("A")="Select Ward from the list (1-"_ALPBSEL(0)_"): "
|
---|
27 | ..W ! D ^DIR K DIR
|
---|
28 | ..I $D(DIRUT) K ALPBSEL Q
|
---|
29 | ..S ALPBWARD=ALPBSEL(+Y)
|
---|
30 | .;
|
---|
31 | .; all or just current orders?...
|
---|
32 | .S DIR(0)="SA^A:ALL;C:CURRENT"
|
---|
33 | .S DIR("A")="[A]LL or [C]URRENT orders? "
|
---|
34 | .S DIR("B")="CURRENT"
|
---|
35 | .S DIR("?")="ALL=all orders, CURRENT=all orders not expired or inactive"
|
---|
36 | .W ! D ^DIR K DIR
|
---|
37 | .I $D(DIRUT) K ALPBWARD,DIRUT,DTOUT,X,Y Q
|
---|
38 | .S ALPBOTYP=Y
|
---|
39 | .;
|
---|
40 | .; BCMA Med Log info for how many days?...
|
---|
41 | .S X1=$$DT^XLFDT()
|
---|
42 | .S X2=-3
|
---|
43 | .D C^%DTC
|
---|
44 | .S DIR(0)="DA^::EXP"
|
---|
45 | .S DIR("B")=$$FMTE^XLFDT(X)
|
---|
46 | .S DIR("A")="Select beginning date for BCMA Medication Log history: "
|
---|
47 | .S DIR("A",1)=" "
|
---|
48 | .S DIR("?")="want only current day's entries, enter 'T' for today."
|
---|
49 | .S DIR("?",1)="Select a date (in the past) from which you wish to see"
|
---|
50 | .S DIR("?",2)="any BCMA Medication Log entries for each of this patient's"
|
---|
51 | .S DIR("?",3)="orders. The default date shown is 3 days ago. If you"
|
---|
52 | .D ^DIR K DIR
|
---|
53 | .I $D(DIRUT) K ALPBOTYP,DIRUT,DTOUT,X,Y Q
|
---|
54 | .S ALPBMLOG=Y
|
---|
55 | .;
|
---|
56 | .S %ZIS="Q"
|
---|
57 | .W ! D ^%ZIS K %ZIS
|
---|
58 | .I POP D Q
|
---|
59 | ..W $C(7)
|
---|
60 | ..K ALPBWARD,POP
|
---|
61 | .;
|
---|
62 | .; output not queued...
|
---|
63 | .I '$D(IO("Q")) D
|
---|
64 | ..U IO
|
---|
65 | ..D DISP
|
---|
66 | ..I IO'=IO(0) D ^%ZISC
|
---|
67 | .;
|
---|
68 | .; set up the Task...
|
---|
69 | .I $D(IO("Q")) D
|
---|
70 | ..S ZTRTN="DISP^ALPBHL3"
|
---|
71 | ..S ZTDESC="PSB INPT PHARM ORDERS FOR WARD "_ALPBWARD
|
---|
72 | ..S ZTSAVE("ALPBWARD")=""
|
---|
73 | ..S ZTSAVE("ALPBOTYP")=""
|
---|
74 | ..S ZTSAVE("ALPBMLOG")=""
|
---|
75 | ..S ZTIO=ION
|
---|
76 | ..D ^%ZTLOAD
|
---|
77 | ..D HOME^%ZIS
|
---|
78 | ..W !,$S($G(ZTSK):"Task number "_ZTSK_" queued.",1:"ERROR -- NOT QUEUED!")
|
---|
79 | ..K IO("Q"),ZTSK
|
---|
80 | .K ALPBOTYP,ALPBWARD
|
---|
81 | K DIRUT,DTOUT,X,Y
|
---|
82 | Q
|
---|
83 | ;
|
---|
84 | DISP ; output entry point...
|
---|
85 | I $E(IOST)="C" W @IOF
|
---|
86 | ;
|
---|
87 | ; set report date...
|
---|
88 | S ALPBRDAT=$S($G(ALPBOTYP)="C":$$NOW^XLFDT(),1:"")
|
---|
89 | ;
|
---|
90 | ; loop through ward cross reference in 53.7...
|
---|
91 | S ALPBPTN=""
|
---|
92 | F S ALPBPTN=$O(^ALPB(53.7,"AW",ALPBWARD,ALPBPTN)) Q:ALPBPTN=""!($D(DIRUT)) D
|
---|
93 | .S (ALPBIEN,ALPBPG)=0
|
---|
94 | .F S ALPBIEN=$O(^ALPB(53.7,"AW",ALPBWARD,ALPBPTN,ALPBIEN)) Q:'ALPBIEN!($D(DIRUT)) D
|
---|
95 | ..S ALPBPT(0)=^ALPB(53.7,ALPBIEN,0)
|
---|
96 | ..M ALPBPT(1)=^ALPB(53.7,ALPBIEN,1)
|
---|
97 | ..I ALPBPG=0 D PAGE
|
---|
98 | ..D ORDS^ALPBUTL(ALPBIEN,ALPBRDAT,.ALPBORDS)
|
---|
99 | ..I +ALPBORDS(0)=0 D Q
|
---|
100 | ...W !!,">> NO ORDERS FOUND <<"
|
---|
101 | ...K ALPBORDS,ALPBPT
|
---|
102 | ..S ALPBOIEN=0
|
---|
103 | ..F S ALPBOIEN=$O(ALPBORDS(ALPBOIEN)) Q:'ALPBOIEN!($D(DIRUT)) D
|
---|
104 | ...M ALPBDATA=^ALPB(53.7,ALPBIEN,2,ALPBOIEN)
|
---|
105 | ...;
|
---|
106 | ...D F80^ALPBFRM2(.ALPBDATA,ALPBMLOG,.ALPBFORM)
|
---|
107 | ...I $Y+ALPBFORM(0)=IOSL!($Y+ALPBFORM(0)>IOSL) D Q:$D(DIRUT)
|
---|
108 | ....S DIR(0)="E"
|
---|
109 | ....D ^DIR K DIR
|
---|
110 | ....I $D(DIRUT) K ALPBDATA,ALPBFORM,ALPBPT Q
|
---|
111 | ....D PAGE
|
---|
112 | ...;
|
---|
113 | ...S ALPBX=0
|
---|
114 | ...F S ALPBX=$O(ALPBFORM(ALPBX)) Q:'ALPBX W !,ALPBFORM(ALPBX)
|
---|
115 | ...K ALPBDATA,ALPBFORM,ALPBX
|
---|
116 | ...I +$O(ALPBORDS(ALPBOIEN))=0 D
|
---|
117 | ....S ALPBX="END OF "_$S(ALPBOTYP="A":"ALL",1:"CURRENT")_" ORDERS FOR "_ALPBPTN
|
---|
118 | ....S ALPBX=$$CJ^XLFSTR(ALPBX,80,"-")
|
---|
119 | ....W !,ALPBX
|
---|
120 | ....K ALPBX
|
---|
121 | ....S DIR(0)="E"
|
---|
122 | ....D ^DIR K DIR
|
---|
123 | ..K ALPBOIEN,ALPBORDS,ALPBPT
|
---|
124 | .K ALPBIEN,ALPBPG
|
---|
125 | I $E(IOST)="C" W @IOF
|
---|
126 | K ALPBMLOG,ALPBOTYP,ALPBPTN,ALPBRDAT,DIRUT,DTOUT,X,Y
|
---|
127 | I $D(ZTQUEUED) S ZTREQ="@"
|
---|
128 | Q
|
---|
129 | ;
|
---|
130 | PAGE ; screen header for patient...
|
---|
131 | W @IOF
|
---|
132 | S ALPBPG=ALPBPG+1
|
---|
133 | D HDR^ALPBFRM2(.ALPBPT,ALPBOTYP,ALPBPG,.ALPBHDR)
|
---|
134 | F I=1:1:ALPBHDR(0) W !,ALPBHDR(I)
|
---|
135 | K ALPBHDR
|
---|
136 | Q
|
---|
137 | ;
|
---|
138 | CONT ; continue?...
|
---|
139 | I $E(IOST)="C" D
|
---|
140 | .S DIR(0)="E"
|
---|
141 | .D ^DIR K DIR
|
---|
142 | I '$D(DIRUT) D
|
---|
143 | .S ALPBPG=ALPBPG+1
|
---|
144 | .D PAGE
|
---|
145 | Q
|
---|