1 | ORCXPND1 ; SLC/MKB - Expanded Display cont ; 02/20/2003
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**26,67,75,89,92,94,148,159,188,172,215**;Dec 17, 1997
|
---|
3 | ;
|
---|
4 | ; External References
|
---|
5 | ; DBIA 2387 ^LAB(60
|
---|
6 | ; DBIA 3420 ^DPT( file #2
|
---|
7 | ; DBIA 10035 ^DPT( file #2
|
---|
8 | ; DBIA 10037 EN^DGRPD
|
---|
9 | ; DBIA 700 DIS^DGRPDB
|
---|
10 | ; DBIA 2926 RT^GMRCGUIA
|
---|
11 | ; DBIA 2925 DT^GMRCSLM2 ^TMP("GMRCR"
|
---|
12 | ; DBIA 10146 DISP^IBCNS
|
---|
13 | ; DBIA 2503 RR^LR7OR1 ^TMP("LRRR"
|
---|
14 | ; DBIA 2951 EN1^LR7OSBR ^TMP("LRC"
|
---|
15 | ; DBIA 2952 EN^LR7OSMZ0
|
---|
16 | ; DBIA 2400 OEL^PSOORRL ^TMP("PS"
|
---|
17 | ; DBIA 2877 EN3^RAO7PC3
|
---|
18 | ; DBIA 2877 EN30^RAO7PC3
|
---|
19 | ; DBIA 1252 $$OUTPTPR^SDUTL3
|
---|
20 | ; DBIA 1252 $$OUTPTTM^SDUTL3
|
---|
21 | ; DBIA 2832 RPC^TIUSRV
|
---|
22 | ; DBIA 10061 DEM^VADPT
|
---|
23 | ; DBIA 10061 KVAR^VADPT
|
---|
24 | ; DBIA 10061 OAD^VADPT
|
---|
25 | ; DBIA 10103 $$FMTE^XLFDT
|
---|
26 | ; DBIA 4408 DISP^DGIBDSP
|
---|
27 | ;
|
---|
28 | COVER ; -- Cover Sheet
|
---|
29 | N PKG S PKG=$P($G(^TMP("OR",$J,ORTAB,"IDX",NUM)),U,4)
|
---|
30 | D ALLERGY^ORCXPND2:PKG="GMRA",NOTES:PKG="TIU"
|
---|
31 | Q
|
---|
32 | NOTES ; -- Progress Notes
|
---|
33 | N I,ORY,DATE,AUTHOR,PTLOC,SUBJ K ^TMP("TIUAUDIT",$J)
|
---|
34 | D RPC^TIUSRV(.ORY,ID)
|
---|
35 | S I=0 F S I=$O(@ORY@(I)) Q:I'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=$G(@ORY@(I,0))
|
---|
36 | K @ORY
|
---|
37 | Q
|
---|
38 | PROBLEMS ; -- Problem List
|
---|
39 | D PL^ORCXPND4
|
---|
40 | Q
|
---|
41 | MEDS ; -- Pharmacy
|
---|
42 | ;N NODE,ORIFN
|
---|
43 | D OEL^PSOORRL(+ORVP,ID) ;S NODE=$G(^TMP("PS",$J,0)),ORIFN=+$P(NODE,U,11)
|
---|
44 | S ID=+$P($G(^TMP("PS",$J,0)),U,11) D ORDERS ;DBIA 2400
|
---|
45 | ;D @($S($P($G(^OR(100,ORIFN,0)),U,11)=$O(^ORD(100.98,"B","IV RX",0)):"IV",1:"DRUG")_"^ORCXPND2")
|
---|
46 | K ^TMP("PS",$J)
|
---|
47 | Q
|
---|
48 | LABS ; -- Laboratory [RESULTS ONLY for ID=OE order #]
|
---|
49 | N ORIFN,X,SUB,TEST,NAME,SS,IDE,IVDT,TST,CCNT,ORCY,IG,TCNT
|
---|
50 | K ^TMP("LRRR",$J) ;DBIA 2503
|
---|
51 | S ORIFN=+ID,IDE=$G(^OR(100,+ID,4)) Q:'$L(IDE) ; OE# -> Lab#
|
---|
52 | I +IDE D RR^LR7OR1(+ORVP,IDE) I '$D(^TMP("LRRR",$J,+ORVP)) S $P(IDE,";",1,3)=";;" ;Order possibly purged, reset to lookup on file 63
|
---|
53 | I '+IDE,$P(IDE,";",5) D RR^LR7OR1(+ORVP,,9999999-$P(IDE,";",5),9999999-$P(IDE,";",5),$P(IDE,";",4))
|
---|
54 | K ORCY D TEXT^ORQ12(.ORCY,ORIFN,80)
|
---|
55 | S IG=0 F S IG=$O(ORCY(IG)) Q:IG<1 S X=ORCY(IG) D ITEM^ORCXPND(X)
|
---|
56 | D BLANK^ORCXPND I '$D(^TMP("LRRR",$J,+ORVP)) S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)="No data available." Q
|
---|
57 | M TEST=^TMP("LRRR",$J,+ORVP) S CCNT=0,SS=""
|
---|
58 | F S SS=$O(TEST(SS)) Q:SS="" S IVDT=0 F S IVDT=$O(TEST(SS,IVDT)) Q:'IVDT D
|
---|
59 | . I SS="BB" D
|
---|
60 | .. I $L($T(EN^ORWLR1)),$L($T(CPRS^VBECA3B)) D Q ;Transition to VBEC's interface
|
---|
61 | ... K ^TMP("ORLRC",$J)
|
---|
62 | ... D EN^ORWLR1(DFN)
|
---|
63 | ... I '$O(^TMP("ORLRC",$J,0)) S ^TMP("ORLRC",$J,1,0)="",^TMP("ORLRC",$J,2,0)="No Blood Bank report available..."
|
---|
64 | ... N I S I=0 F S I=$O(^TMP("ORLRC",$J,I)) Q:I<1 S X=^(I,0),LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X
|
---|
65 | ... K ^TMP("ORLRC",$J)
|
---|
66 | .. K ^TMP("LRC",$J) D EN1^LR7OSBR(+ORVP) Q:'$D(^TMP("LRC",$J)) D Q ;DBIA 2951
|
---|
67 | ... N I S I=0 F S I=$O(^TMP("LRC",$J,I)) Q:I<1 S X=^(I,0),LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X
|
---|
68 | ... K ^TMP("LRC",$J)
|
---|
69 | . I SS="MI" K ^TMP("LRC",$J) D EN^LR7OSMZ0(+ORVP) Q:'$D(^TMP("LRC",$J)) D Q
|
---|
70 | .. N I S I=0 F S I=$O(^TMP("LRC",$J,I)) Q:I<1 S X=^(I,0),LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X
|
---|
71 | .. K ^TMP("LRC",$J)
|
---|
72 | . I SS="CH" D Q
|
---|
73 | .. S (TCNT,TST)=0 F S TST=$O(TEST(SS,IVDT,TST)) Q:TST="" S CCNT=0,TCNT=TCNT+1 D
|
---|
74 | ... I TCNT=1 D
|
---|
75 | .... S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=" Collection time: "_$$FMTE^XLFDT(9999999-IVDT,1)
|
---|
76 | .... S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=$$S(1,CCNT," ")_$$S(3,CCNT,"Test Name")_$$S(29,CCNT,"Result")_$$S(39,CCNT,"Units")_$$S(55,CCNT,"Range") D:$D(IOUON) SETVIDEO^ORCXPND(LCNT,1,70,IOUON,IOUOFF)
|
---|
77 | ... I TST S X=TEST(SS,IVDT,TST),CCNT=0 I +X D
|
---|
78 | .... S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=$$S(1,CCNT,$P(^LAB(60,+X,0),U))_$$S(26,CCNT,$J($P(X,U,2),7))_$$S(34,CCNT,$S($L($P(X,U,3)):$P(X,U,3),1:""))_$$S(39,CCNT,$P(X,U,4))_$$S(45,CCNT,$J($P(X,U,5),15))
|
---|
79 | .... I $L($P(X,U,3)),$D(IOINHI) D SETVIDEO^ORCXPND(LCNT,26,8,IOINHI,IOINORM)
|
---|
80 | .... I $P(X,U,3)["*",$D(IOBON),$D(IOINHI) D SETVIDEO^ORCXPND(LCNT,26,8,IOBON_IOINHI,IOBOFF_IOINORM)
|
---|
81 | ... I TST="N" S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=" Comments: " D
|
---|
82 | .... N CMT S CMT=0 F S CMT=$O(TEST(SS,IVDT,"N",CMT)) Q:'CMT S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=" "_TEST(SS,IVDT,"N",CMT)
|
---|
83 | K ^TMP("LRRR",$J)
|
---|
84 | Q
|
---|
85 | ;
|
---|
86 | DELAY ; -- Delayed Orders
|
---|
87 | NEW ; -- New Orders
|
---|
88 | ORDERS ; -- Orders
|
---|
89 | I '$G(ORESULTS) D ORDERS^ORCXPND2 Q
|
---|
90 | ; -- Results Display (Add more packages as available)
|
---|
91 | N PKG,TAB,ORIFN
|
---|
92 | S PKG=+$P($G(^OR(100,+ID,0)),"^",14),PKG=$$NMSP^ORCD(PKG)
|
---|
93 | S TAB=$S(PKG="LR":"LABS",PKG="GMRC":"CONSULTS",PKG="RA":"XRAYS",1:"")
|
---|
94 | I '$L(TAB)!(ID'>0) D Q ; no display available
|
---|
95 | . N ORY,I D TEXT^ORQ12(.ORY,+ID,80)
|
---|
96 | . S I=0 F S I=$O(ORY(I)) Q:I'>0 D ITEM^ORCXPND(ORY(I))
|
---|
97 | . D BLANK^ORCXPND
|
---|
98 | . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)="There are no results to report."
|
---|
99 | I $O(^OR(100,+ID,2,0)) S ORIFN=+ID,ID=0 F S ID=$O(^OR(100,ORIFN,2,ID)) Q:ID<1 I $D(^OR(100,ID,0)) D @TAB
|
---|
100 | I '$O(^OR(100,+ID,2,0)) D @TAB
|
---|
101 | Q
|
---|
102 | REPORTS ; -- Patient Profiles
|
---|
103 | D EN^ORCXPNDR ; Reports
|
---|
104 | Q
|
---|
105 | CONSULTS ; -- Consults
|
---|
106 | N I,X,SUB,ORTX ;,VALMAR
|
---|
107 | I $G(ORTAB)="CONSULTS" S X=$P($G(^TMP("OR",$J,ORTAB,"IDX",NUM)),U,4)
|
---|
108 | E D TEXT^ORQ12(.ORTX,+ID) S X=ORTX(1),ID=+$G(^OR(100,+ID,4)) ; OE->GMRC order#
|
---|
109 | D ITEM^ORCXPND(X),BLANK^ORCXPND
|
---|
110 | I ID'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)="No data available." Q
|
---|
111 | I '$G(ORESULTS) D ;DT action
|
---|
112 | . S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)="Consult No.: "_ID
|
---|
113 | . N GMRCOER S GMRCOER=2 D DT^GMRCSLM2(ID) S SUB="DT" ;DBIA 2925
|
---|
114 | I $G(ORESULTS) D RT^GMRCGUIA(ID,"^TMP(""GMRCR"",$J,""RT"")") S SUB="RT"
|
---|
115 | S I=0 F S I=$O(^TMP("GMRCR",$J,SUB,I)) Q:I'>0 S X=$G(^(I,0)),LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X ;DBIA 2925
|
---|
116 | K ^TMP("GMRCR",$J)
|
---|
117 | Q
|
---|
118 | XRAYS ; -- Radiology
|
---|
119 | I '$G(ORESULTS) S ID=+ORVP_U_$TR(ID,"-","^") D EN3^RAO7PC3(ID)
|
---|
120 | I $G(ORESULTS) S ID=+$G(^OR(100,+ID,4)) D EN30^RAO7PC3(ID)
|
---|
121 | N CASE,PROC,PSET S PSET=$D(^TMP($J,"RAE3",+ORVP,"PRINT_SET"))
|
---|
122 | S CASE=0 F S CASE=$O(^TMP($J,"RAE3",+ORVP,CASE)) Q:CASE'>0 D
|
---|
123 | . I PSET S PROC=$O(^TMP($J,"RAE3",+ORVP,CASE,"")) D ITEM^ORCXPND(PROC) Q
|
---|
124 | . S PROC="" F S PROC=$O(^TMP($J,"RAE3",+ORVP,CASE,PROC)) Q:PROC="" D ITEM^ORCXPND(PROC),BLANK^ORCXPND,XRPT,BLANK^ORCXPND
|
---|
125 | I PSET S CASE=$O(^TMP($J,"RAE3",+ORVP,0)),PROC=$O(^(CASE,"")) D BLANK^ORCXPND,XRPT,BLANK^ORCXPND ;printset=list all procs, then one report
|
---|
126 | K ^TMP($J,"RAE3",+ORVP),^UTILITY($J,"W")
|
---|
127 | S VALM("RM")=81
|
---|
128 | Q
|
---|
129 | ;
|
---|
130 | XRPT ; -- Body of Report for CASE, PROC
|
---|
131 | N ORD,X,I
|
---|
132 | S ORD=$S($L($G(^TMP($J,"RAE3",+ORVP,"ORD"))):^("ORD"),$L($G(^("ORD",CASE))):^(CASE),1:"") I $L(ORD),ORD'=PROC S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)="Proc Ord: "_ORD
|
---|
133 | S I=1 F S I=$O(^TMP($J,"RAE3",+ORVP,CASE,PROC,I)) Q:I'>0 S X=^(I),LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=X ;Skip pt ID on line 1
|
---|
134 | Q
|
---|
135 | ;
|
---|
136 | SUMMRIES ; -- Discharge Summaries
|
---|
137 | N I,ORY,DATE,AUTHOR,PTLOC,SUBJ K ^TMP("TIUAUDIT",$J)
|
---|
138 | D RPC^TIUSRV(.ORY,ID)
|
---|
139 | S I=0 F S I=$O(@ORY@(I)) Q:I'>0 S LCNT=LCNT+1,^TMP("ORXPND",$J,LCNT,0)=$G(@ORY@(I,0))
|
---|
140 | K @ORY
|
---|
141 | Q
|
---|
142 | PTINQ ; Print Patient Inquiry in List Manager
|
---|
143 | N DFN,ORI,X
|
---|
144 | S DFN=+ORVP
|
---|
145 | D DGINQ(DFN)
|
---|
146 | S ORI=4,LCNT=0
|
---|
147 | F S ORI=$O(^TMP("ORDATA",$J,1,ORI)) Q:'ORI S X=^(ORI) D
|
---|
148 | . S LCNT=LCNT+1
|
---|
149 | . S ^TMP("ORXPND",$J,LCNT,0)=X
|
---|
150 | K ^TMP("ORDATA",$J,1)
|
---|
151 | Q
|
---|
152 | ;
|
---|
153 | DGINQ(DFN) ; Patient Inquiry
|
---|
154 | D START^ORWRP(80,"DGINQB^ORCXPND1(DFN)")
|
---|
155 | Q
|
---|
156 | DGINQB(DFN) ; Build Patient Inquiry
|
---|
157 | N ORDOC,ORTEAM,ORVP,XQORNOD,ORSSTRT,ORSSTOP,X,VAOA
|
---|
158 | S ORVP=DFN_";DPT(",XQORNOD=1
|
---|
159 | D EN^DGRPD ; MAS Patient Inquiry
|
---|
160 | ;
|
---|
161 | S ORDOC=$$OUTPTPR^SDUTL3(DFN)
|
---|
162 | S ORTEAM=$$OUTPTTM^SDUTL3(DFN)
|
---|
163 | I ORDOC!ORTEAM D
|
---|
164 | . W !!,"Primary Care Information:"
|
---|
165 | . I ORDOC W !,"Primary Practitioner: ",$P(ORDOC,"^",2)
|
---|
166 | . I ORTEAM W !,"Primary Care Team: ",$P(ORTEAM,"^",2)
|
---|
167 | W !!,"Health Insurance Information:"
|
---|
168 | I $L($T(DISP^DGIBDSP)) D DISP^DGIBDSP ;DBIA #4408
|
---|
169 | E D DISP^IBCNS
|
---|
170 | W !!,"Service Connection/Rated Disabilities:"
|
---|
171 | D DIS^DGRPDB
|
---|
172 | D OAD^VADPT ; Get NOK Information
|
---|
173 | I VAOA(9)]"" D
|
---|
174 | . W !!,"Next of Kin Information:"
|
---|
175 | . W !,"Name: ",VAOA(9) ; NOK Name
|
---|
176 | . I VAOA(10)]"" W " (",VAOA(10),")" ; Relationship
|
---|
177 | . I VAOA(1)]"" W !?7,VAOA(1) ; Address Line 1
|
---|
178 | . I VAOA(2)]"" W !?7,VAOA(2) ; Line 2
|
---|
179 | . I VAOA(3)]"" W !?7,VAOA(3) ; Line 3
|
---|
180 | . I VAOA(4)]"" D
|
---|
181 | . . W !?7,VAOA(4) ; City
|
---|
182 | . . I VAOA(5)]"" W ", "_$P(VAOA(5),"^",2) ; State
|
---|
183 | . . W " ",$P(VAOA(11),"^",2) ; Zip+4
|
---|
184 | . I VAOA(8)]"" W !!?7,"Phone number: ",VAOA(8) ; Phone
|
---|
185 | . I $P($G(^DPT(DFN,.21)),U,11)]"" W !?7,"Work phone number: ",$P(^DPT(DFN,.21),U,11)
|
---|
186 | D KVAR^VADPT
|
---|
187 | Q
|
---|
188 | TRIM(X) ; Trim Spaces
|
---|
189 | S X=$G(X) F Q:$E(X,1)'=" " S X=$E(X,2,$L(X))
|
---|
190 | F Q:$E(X,$L(X))'=" " S X=$E(X,1,($L(X)-1))
|
---|
191 | Q X
|
---|
192 | S(X,Y,Z) ; Pad Over
|
---|
193 | ; X=Column #
|
---|
194 | ; Y=Current Length
|
---|
195 | ; Z=Text
|
---|
196 | ; SP=Text Sent
|
---|
197 | ; CCNT=Line Position After Input Text
|
---|
198 | I '$D(Z) Q ""
|
---|
199 | N SP S SP=Z I X,Y,X>Y S SP=$E(" ",1,X-Y)_Z
|
---|
200 | S CCNT=$$INC(CCNT,SP)
|
---|
201 | Q SP
|
---|
202 | INC(X,Y) ; Character Position Count
|
---|
203 | ; X=Current Count
|
---|
204 | ; Y=Text
|
---|
205 | N INC S INC=X+$L(Y)
|
---|
206 | Q INC
|
---|