1 | GMRAPHR0 ;HIRMFO/WAA-THIS PROGRAM WILL DISPLAY ALL PHARM FOR A PATIENT ;3/5/97 14:44
|
---|
2 | ;;4.0;Adverse Reaction Tracking;**7**;Mar 29, 1996
|
---|
3 | DISP ;DISPLAY ALL THE DRUGS FOR THIS PATIENT
|
---|
4 | K ^UTILITY("PSG",$J),^UTILITY("PSIV",$J)
|
---|
5 | S GMRAPHRV=+$$VERSION^XPDUTL("PSO"),GMRAPHRG=$S(GMRAPHRV<6:"^UTILITY(",1:"^TMP(")
|
---|
6 | K @(GMRAPHRG_"""PSOO"",$J)"),GMRARRAY
|
---|
7 | S GMRACT=1,GMRACH=1
|
---|
8 | S DFN=+GMRAPA(0)
|
---|
9 | D DT Q:GMRAOUT
|
---|
10 | S GMRALOOK=1,GMRADATA=0
|
---|
11 | S X="PSOHCSUM" X ^%ZOSF("TEST") S:'$T GMRADATA=GMRADATA+1 I $T S PSOBEGIN=+$P($P(GMRABGDT,U),".") D ^PSOHCSUM
|
---|
12 | S X="PSJEEU0" X ^%ZOSF("TEST") S:'$T GMRADATA=GMRADATA+100 I $T S PSJEDT=GMRABGDT D ENHS^PSJEEU0
|
---|
13 | S GMRACT=1
|
---|
14 | S GMRAY="" F GMRAX=0:0 S GMRAY=$O(@(GMRAPHRG_"""PSOO"",$J,GMRAY)")) Q:GMRAY="" D
|
---|
15 | .S GMRAZ=$G(@(GMRAPHRG_"""PSOO"",$J,GMRAY,0)"))
|
---|
16 | .I $P(GMRAZ,U)'>$P(GMRAENDT,U) D
|
---|
17 | ..S GMRADRG="OP"_U_$P($P(GMRAZ,U,3),";",2)_U_$G(@(GMRAPHRG_"""PSOO"",$J,GMRAY,1)"))_U_$P(GMRAZ,U,2)
|
---|
18 | ..S GMRARRAY("PH",GMRACT)=GMRADRG,GMRACT=GMRACT+1
|
---|
19 | ..Q
|
---|
20 | .Q
|
---|
21 | S GMRAY="" F GMRAX=0:0 S GMRAY=$O(^UTILITY("PSG",$J,GMRAY)) Q:GMRAY="" D
|
---|
22 | .S GMRAZ=$G(^UTILITY("PSG",$J,GMRAY))
|
---|
23 | .I $P(GMRAZ,U,2)'<GMRABGDT,$P(GMRAZ,U)'>GMRAENDT D
|
---|
24 | ..S GMRADRG="D"_U_$P($P(GMRAZ,U,3),";",2)_U_$P(GMRAZ,U,6)_U_$P($P(GMRAZ,U,7),";",2)_U_$P($P(GMRAZ,U,8),";",2)_U_$P(GMRAZ,U,1,2)
|
---|
25 | ..S GMRARRAY("PH",GMRACT)=GMRADRG,GMRACT=GMRACT+1
|
---|
26 | ..Q
|
---|
27 | .Q
|
---|
28 | S GMRAY="" F GMRAX=0:0 S GMRAY=$O(^UTILITY("PSIV",$J,GMRAY)) Q:GMRAY="" D
|
---|
29 | .S GMRAZ=$G(^UTILITY("PSIV",$J,GMRAY,0))
|
---|
30 | .I $P(GMRAZ,U,2)'<GMRABGDT,$P(GMRAZ,U)'>GMRAENDT D
|
---|
31 | ..S GMRADRG(1)=GMRAZ,GMRAZ=0 F S GMRAZ=$O(^UTILITY("PSIV",$J,GMRAY,"A",GMRAZ)) Q:GMRAZ<1 D
|
---|
32 | ...S GMRADRG="IV"_U_$P($P(^UTILITY("PSIV",$J,GMRAY,"A",GMRAZ),U),";",2)_U_$P(^(GMRAZ),U,2)
|
---|
33 | ...S GMRADRG=GMRADRG_U_$P(GMRADRG(1),U,5,6)_U_$P(GMRADRG(1),U,1,2)
|
---|
34 | ...S GMRARRAY("PH",GMRACT)=GMRADRG,GMRACT=GMRACT+1
|
---|
35 | ...Q
|
---|
36 | ..Q
|
---|
37 | .Q
|
---|
38 | DISP2 W @IOF,!,"PHARMACY:",?60,"Start/Last",!
|
---|
39 | W ?3,"Drug",?61,"Fill DT",?71,"Stop Date"
|
---|
40 | I '$D(GMRARRAY("PH")) W !,?5,"THERE AREN'T ANY RXS ON FILE FOR THIS PATIENT" Q
|
---|
41 | F GMRACH=GMRACH:1 Q:'$D(GMRARRAY("PH",GMRACH)) D Q:GMRAOUT
|
---|
42 | .I $Y+3>IOSL D Q:GMRAOUT
|
---|
43 | ..F W !,"Press RETURN to continue, ""^"" to exit: " R X:DTIME S:'$T X="^^" S:"^^"[X GMRAOUT=$L(X) Q:("^^"[X) W !,?4,$C(7),"PRESS RETURN TO CONTINUE OR ""^"" TO EXIT THIS LISTING"
|
---|
44 | ..Q:GMRAOUT
|
---|
45 | ..W @IOF,!,"PHARMACY:",?60,"Start/Last",!,?3,"Drug",?61,"Fill DT",?71,"Stop Date"
|
---|
46 | ..Q
|
---|
47 | .S GMRADRG=GMRARRAY("PH",GMRACH)
|
---|
48 | .I $P(GMRADRG,U)="OP" D
|
---|
49 | ..W !,GMRACH,?3,"(O) ",$E($P(GMRADRG,U,2),1,50)
|
---|
50 | ..W ?61,$$FMTE^XLFDT($P(GMRADRG,U,4),2)
|
---|
51 | ..W !,?3,$P(GMRADRG,U,3)
|
---|
52 | ..Q
|
---|
53 | .I $P(GMRADRG,U)="D" D
|
---|
54 | ..W !,GMRACH,?3,$E($P(GMRADRG,U,2),1,54)
|
---|
55 | ..W ?61,$$FMTE^XLFDT($P(GMRADRG,U,6),2)
|
---|
56 | ..W ?71,$$FMTE^XLFDT($P(GMRADRG,U,7),2)
|
---|
57 | ..W !,?3,$P(GMRADRG,U,3)," ",$P(GMRADRG,U,4)," ",$P(GMRADRG,U,5)
|
---|
58 | ..Q
|
---|
59 | .I $P(GMRADRG,U)="IV" D
|
---|
60 | ..W !,GMRACH,?3,$E($P(GMRADRG,U,2),1,54)
|
---|
61 | ..W ?61,$$FMTE^XLFDT($P(GMRADRG,U,6),2)
|
---|
62 | ..W ?71,$$FMTE^XLFDT($P(GMRADRG,U,7),2)
|
---|
63 | ..W !,?3,$P(GMRADRG,U,3)," IV ",$P(GMRADRG,U,4)," ",$P(GMRADRG,U,5)
|
---|
64 | ..Q
|
---|
65 | .Q
|
---|
66 | K ^UTILITY("PSG",$J),^UTILITY("PSIV",$J),@(GMRAPHRG_"""PSOO"",$J)")
|
---|
67 | Q
|
---|
68 | DT ;SELECT LOOKUP DATE RANGE
|
---|
69 | I GMRALOOK Q
|
---|
70 | I '$D(GMRABGDT) S (GMRABGDT,GMRAENDT)=""
|
---|
71 | W !
|
---|
72 | S X1=$S(GMRABGDT'="":+GMRABGDT,1:GMRADT),X2=0 D C^%DTC S Y=(X*10000\1/10000) D D^DIQ
|
---|
73 | S %DT("A")="View DRUG from: ",%DT("B")=Y,%DT="AETP" D ^%DT K %DT S:X="^" GMRAOUT=2 Q:+Y<1 S GMRABGDT=+Y D D^DIQ S $P(GMRABGDT,U,2)=Y
|
---|
74 | S X1=$S(GMRAENDT'="":+GMRAENDT,1:GMRADT),X2=0 D C^%DTC S Y=(X*10000\1/10000) D D^DIQ S %DT("A")="To: ",%DT("B")=Y,%DT="AETP",%DT(0)=+GMRABGDT D ^%DT K %DT S:X="^" GMRAOUT=2 Q:Y<1
|
---|
75 | S GMRAENDT=+Y S:'$P(GMRAENDT,".",2) GMRAENDT=GMRAENDT+.24 D D^DIQ S $P(GMRAENDT,U,2)=Y
|
---|
76 | Q
|
---|
77 | DTFOR ;SET THE FORMAT OF DATE TIME TO MM/DD/YY@TIME
|
---|
78 | Q:Y<1
|
---|
79 | S GMRATEMP=$$DATE^GMRAUTL1(Y)
|
---|
80 | S GMRATEMP=$E(GMRATEMP,4,5)_"/"_$E(GMRATEMP,6,7)_"/"_$E(GMRATEMP,2,3)
|
---|
81 | I $P(Y,"@",2)'="" S GMRATEMP=GMRATEMP_"@"_$P(Y,"@",2)
|
---|
82 | S Y=GMRATEMP K GMRATEMP
|
---|
83 | Q
|
---|