| [613] | 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 | 
|---|