1 | PSBOHDR ;BIRMINGHAM/EFC-REPORT HEADERS ;Mar 2004
|
---|
2 | ;;3.0;BAR CODE MED ADMIN;**5,13**;Mar 2004
|
---|
3 | ;
|
---|
4 | ; Reference/IA
|
---|
5 | ; EN6^GMRVUTL/1120
|
---|
6 | ; WARD^NURSUT5/3052
|
---|
7 | ; IN5^VADPT/10061
|
---|
8 | ; DEM^VADPT/10061
|
---|
9 | ;
|
---|
10 | PT(DFN,PSBHDR,PSBCONT,PSBDT) ;
|
---|
11 | ; DFN: Patient File IEN
|
---|
12 | ; PSBCONT: True if this is a continuation page
|
---|
13 | ; PSBDT: Date of Pt Information (Default to DT)
|
---|
14 | W:$Y>1 @IOF
|
---|
15 | W:$X>1 !
|
---|
16 | S:'$G(PSBDT) PSBDT=DT
|
---|
17 | ; BUILD PSBHDR WITH ALL HEADER STUFF
|
---|
18 | D:'$D(PSBHDR("NAME"))
|
---|
19 | .S VAIP("D")="LAST"
|
---|
20 | .D DEM^VADPT,IN5^VADPT
|
---|
21 | .S PSBHDR("NAME")=VADM(1)
|
---|
22 | .S PSBHDR("SSN")=$P(VADM(2),U,2)
|
---|
23 | .S PSBHDR("DOB")=$P(VADM(3),U,2)
|
---|
24 | .S PSBHDR("AGE")=VADM(4)
|
---|
25 | .S PSBHDR("SEX")=$P(VADM(5),U,2)
|
---|
26 | .S PSBHDR("MVMTTYPE")=$P(VAIP(2),U,2)
|
---|
27 | .S PSBHDR("MVMTLAST")=$P(VAIP(3),U,2)
|
---|
28 | .S PSBHDR("WARD")=$P(VAIP(5),U,2)
|
---|
29 | .S PSBHDR("ROOM")=$P(VAIP(6),U,2)
|
---|
30 | .S PSBHDR("DX")=VAIP(9)
|
---|
31 | .K VAIP,VADM
|
---|
32 | .S GMRVSTR="HT" D EN6^GMRVUTL
|
---|
33 | .S X=+$P(X,U,8) S:X X=X*2.54\1 S PSBHDR("HEIGHT")=$S(X:X_"cm",1:"*")
|
---|
34 | .S GMRVSTR="WT" D EN6^GMRVUTL
|
---|
35 | .S X=+$P(X,U,8) S:X X=X*.45\1 S PSBHDR("WEIGHT")=$S(X:X_"kg",1:"*")
|
---|
36 | .N PSBADRX D ALLR^PSBALL(.PSBADRX,DFN) S X=0,Y=""
|
---|
37 | .F S X=$O(PSBADRX(X)) Q:'X D
|
---|
38 | ..Q:$P(PSBADRX(X),U,1)'="ADR" S Z=$P(PSBADRX(X),U,2) Q:Z=""
|
---|
39 | ..I $L(Y_Z)>(IOM-22) S PSBHDR("REAC",$O(PSBHDR("REAC",""),-1)+1)=Y,Y=""
|
---|
40 | ..S Y=Y_$S(Y]"":", ",1:"")_$P(PSBADRX(X),U,2)
|
---|
41 | .S:Y]"" PSBHDR("REAC",$O(PSBHDR("REAC",""),-1)+1)=Y
|
---|
42 | .I '$D(PSBHDR("REAC")) S PSBHDR("REAC",1)="No ADRs on file."
|
---|
43 | .D PSBALG
|
---|
44 | .K GMRAL,GMRVSTR,GMRA,PSBARX
|
---|
45 | .D NOW^%DTC S Y=+$E(%,1,12) D D^DIQ S PSBHDR("DATE")="Run Date: "_Y
|
---|
46 | .S PSBHDR("PAGE")=0
|
---|
47 | W $C(13),$TR($J("",IOM)," ","=")
|
---|
48 | W !,$G(PSBHDR(0))
|
---|
49 | W !,$G(PSBHDR(1)),?(IOM-$L(PSBHDR("DATE"))),PSBHDR("DATE")
|
---|
50 | S PSBHDR("PAGE")=PSBHDR("PAGE")+1
|
---|
51 | W !,$G(PSBHDR(2)),?(IOM-10),$J("Page: "_PSBHDR("PAGE"),10)
|
---|
52 | F X=3:1 Q:'$D(PSBHDR(X)) W !,PSBHDR(X) ; More Lines If Needed
|
---|
53 | I $G(PSBCONT) W !?(IOM-35\2),"*** CONTINUED FROM PREVIOUS PAGE ***"
|
---|
54 | W !!,"Patient:",?10,PSBHDR("NAME")
|
---|
55 | W ?40,"SSN: ",PSBHDR("SSN")
|
---|
56 | W ?75,"DOB:",?82,PSBHDR("DOB")," (",PSBHDR("AGE"),")"
|
---|
57 | D:'$G(PSBCONT)
|
---|
58 | .W !,"Sex: ",?10,PSBHDR("SEX"),?40,"Ht/Wt: ",PSBHDR("HEIGHT"),"/",PSBHDR("WEIGHT"),?75,"Ward: ",?82,PSBHDR("WARD")," Rm ",PSBHDR("ROOM")
|
---|
59 | .W !,"Dx:",?10,PSBHDR("DX"),?40,"Last Mvmt: ",PSBHDR("MVMTLAST"),?75,"Type: ",PSBHDR("MVMTTYPE")
|
---|
60 | .; Reactions/Allergies
|
---|
61 | .W !!,"ADRs:"
|
---|
62 | .F X=0:0 S X=$O(PSBHDR("REAC",X)) Q:'X W:$X>12 ! W ?12,PSBHDR("REAC",X)
|
---|
63 | .W !!,"Allergies:"
|
---|
64 | .F X=0:0 S X=$O(PSBHDR("ALERGY",X)) Q:'X W:$X>12 ! W ?12,PSBHDR("ALERGY",X)
|
---|
65 | .; Local Mods Allowed Here and showup only on First Page
|
---|
66 | .; Immunizations
|
---|
67 | .;D SHOT80^ASFSHOTF
|
---|
68 | W !,$TR($J("",IOM)," ","=")
|
---|
69 | Q
|
---|
70 | ;
|
---|
71 | WARD(PSBWP,PSBHDR,PSBCONT,PSBDT) ;
|
---|
72 | ; WARD: Nurse Location File IEN
|
---|
73 | ; PSBCONT: True if this is a continuation page
|
---|
74 | ; PSBDT: Date of Pt Information (Default to DT)
|
---|
75 | N PSBWRDA
|
---|
76 | S:'$G(PSBDT) PSBDT=DT
|
---|
77 | I '$D(PSBHDR("DATE")) D NOW^%DTC S Y=+$E(%,1,12) D D^DIQ S PSBHDR("DATE")="Run Date: "_Y
|
---|
78 | S:'$D(PSBHDR("PAGE")) PSBHDR("PAGE")=0
|
---|
79 | W:$Y>1 @IOF
|
---|
80 | W:$X>0 !
|
---|
81 | W $TR($J("",IOM)," ","="),!,$G(PSBHDR(0)),!,$G(PSBHDR(1)),?(IOM-$L(PSBHDR("DATE"))),PSBHDR("DATE")
|
---|
82 | S PSBHDR("PAGE")=PSBHDR("PAGE")+1
|
---|
83 | W !,$G(PSBHDR(2)),?(IOM-10),$J("Page: "_PSBHDR("PAGE"),10)
|
---|
84 | F X=3:1 Q:'$D(PSBHDR(X)) W !,PSBHDR(X) ; More Lines If Needed
|
---|
85 | I $G(PSBCONT) W !?(IOM-35\2),"*** CONTINUED FROM PREVIOUS PAGE ***"
|
---|
86 | D WARD^NURSUT5("L^"_PSBWP,.PSBWRDA)
|
---|
87 | W !!,"Ward Location: "_$P(PSBWRDA(PSBWP,.01),U,2)
|
---|
88 | S X="Division: "_$P(PSBWRDA(PSBWP,.02),U,2)
|
---|
89 | W ?(IOM-$L(X)),X,!,$TR($J("",IOM)," ","=")
|
---|
90 | Q
|
---|
91 | ;
|
---|
92 | PSBALG ;
|
---|
93 | S YA=""
|
---|
94 | K PSBAL,GMRALA
|
---|
95 | S PSBLIST=""
|
---|
96 | D ALLR^PSBALL(.GMRALA,DFN)
|
---|
97 | S X="" F S X=$O(GMRALA(X)) Q:X="" D
|
---|
98 | .I $P(GMRALA(X),U,1)["ALL" D
|
---|
99 | ..S PSBAL($P(GMRALA(X),U,2))=""
|
---|
100 | S XAB="" F S XAB=$O(PSBAL(XAB)) Q:XAB="" D
|
---|
101 | .S Z=XAB
|
---|
102 | .I $L(YA_Z)>(IOM-22) S PSBHDR("ALERGY",$O(PSBHDR("ALERGY",""),-1)+1)=YA,YA=""
|
---|
103 | .S YA=YA_$S(YA]"":", ",1:"")_XAB
|
---|
104 | S:YA]"" PSBHDR("ALERGY",$O(PSBHDR("ALERGY",""),-1)+1)=YA
|
---|
105 | I '$D(PSBHDR("ALERGY")) S PSBHDR("ALERGY",1)="No Allergies on file."
|
---|
106 | Q
|
---|
107 | ;
|
---|
108 | PTFTR() ; [Extrinsic] Patient Page footer
|
---|
109 | ;
|
---|
110 | I (IOSL<100) F Q:$Y>(IOSL-6) W !
|
---|
111 | W !,$TR($J("",IOM)," ","=")
|
---|
112 | S X="Ward: "_PSBHDR("WARD")_" Room-Bed: "_PSBHDR("ROOM")
|
---|
113 | W !,PSBHDR("NAME"),?(IOM-11\2),PSBHDR("SSN"),?(IOM-$L(X)),X
|
---|
114 | I $G(PSBUNK) S X="Note: ?? Indicates an administration with an *UNKNOWN* Action Status" W !!,X
|
---|
115 | Q ""
|
---|
116 | ;
|
---|