1 | ORWRP1 ; ALB/MJK,dcm Report Calls ;9/18/96 15:02
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**10,85,109,160,262**;Dec 17, 1997;Build 3
|
---|
3 | ;
|
---|
4 | AHS(ROOT,ORDFN,ORHS,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ; - get adhoc health summary report
|
---|
5 | D START^ORWRP(80,"AHSB^ORWRP1(.ROOT,.ORDFN,.ORHS,.ALPHA,.OMEGA,.DTRANGE,.REMOTE,.ORMAX,.ORFHIE)")
|
---|
6 | Q
|
---|
7 | AHSB(ROOT,ORDFN,ORHS,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ; -build adhoc health summary
|
---|
8 | N ORVP,GMTYP,Y
|
---|
9 | S ORVP=ORDFN_";DPT(",Y=$P($G(^GMT(142,+ORHS,0)),U),GMTSTYP=+ORHS
|
---|
10 | D ADHOC^ORPRS13
|
---|
11 | Q
|
---|
12 | HS(ROOT,ORDFN,ORHS,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ; - get health summary report
|
---|
13 | D START^ORWRP(80,"HSB^ORWRP1(.ROOT,.ORDFN,.ORHS,.ALPHA,.OMEGA,.DTRANGE,.REMOTE,.ORMAX,.ORFHIE)")
|
---|
14 | Q
|
---|
15 | HSB(ROOT,ORDFN,ORHS,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ; - build health summary report
|
---|
16 | N I,ICN,ORVP,GMTYP,Y,GMARXN,GMTSDLM,GMTSDTC,GMTSE,GMTSEGH,GMTSEGL,GMTSEGN,GMTSEGR,GMSEQ,GMTSHDR,GMTSLCMP,GMTSNDM,GMTSNPK,GMTSPG,GMTSPHDR,X
|
---|
17 | I $G(REMOTE) D Q:'ORHS
|
---|
18 | . S Y=$O(^GMT(142,"E",$P(ORHS,";",2),0))
|
---|
19 | . I 'Y S Y=$O(^GMT(142,"E",$P($$UPPER^ORU(ORHS),";",2),0))
|
---|
20 | . I 'Y S I=0 F S I=$O(^GMT(142,I)) Q:'I I $L($P($G(^GMT(142,I,"T")),"^")),$P($$UPPER^ORU(ORHS),";",2)=$$UPPER^ORU(^("T")) S Y=I Q
|
---|
21 | . I 'Y S Y=$O(^GMT(142,"B",$P(ORHS,";",2),0))
|
---|
22 | . I 'Y S Y=$O(^GMT(142,"B",$P($$UPPER^ORU(ORHS),";",2),0))
|
---|
23 | . I 'Y S I=0 F S I=$O(^GMT(142,I)) Q:'I S X=$P(^(I,0),"^") I $P($$UPPER^ORU(ORHS),";",2)=$$UPPER^ORU(X) S Y=I Q
|
---|
24 | . I 'Y U IO W !,ORHS_" not found on remote system",! S ORHS=Y Q
|
---|
25 | . S ORHS=Y
|
---|
26 | I +$G(ORHS)<1 W !,"Report not Available" Q
|
---|
27 | S ORVP=ORDFN_";DPT(",Y=$P($G(^GMT(142,+ORHS,0)),U),GMTYP(0)=1,GMTYP(1)=+ORHS_U_Y_U_Y_U_Y
|
---|
28 | D PQ^ORPRS13
|
---|
29 | Q
|
---|
30 | HSTYPE(ROOT,ORDFN,ORHS,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ; - Get HS type report
|
---|
31 | D START^ORWRP(80,"HSTYPEB^ORWRP1(.ROOT,.ORDFN,.ORHS,.ALPHA,.OMEGA,.DTRANGE,.REMOTE,.ORMAX,.ORFHIE)")
|
---|
32 | Q
|
---|
33 | HSTYPEB(ROOT,ORDFN,ORHS,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ; - Build HS type report
|
---|
34 | N GMTSQIT,GMTSPRM,GMTSTITL,GMTSPX2,GMTSPX1
|
---|
35 | I $L($G(DTRANGE)),'$G(ALPHA) S ALPHA=$$FMADD^XLFDT(DT,-DTRANGE),OMEGA=$$NOW^XLFDT
|
---|
36 | Q:'$G(ALPHA) Q:'$G(OMEGA)
|
---|
37 | I +$G(ORHS)<1 W !,"Report not Available" Q
|
---|
38 | S GMTSQIT=1,GMTSPRM=$P($G(^GMT(142.1,+ORHS,0)),"^",4),GMTSTITL="",GMTSPX2=ALPHA,GMTSPX1=OMEGA,DFN=ORDFN
|
---|
39 | D ENCWA^GMTS
|
---|
40 | Q
|
---|
41 | HSGUI(DFN,GMTSTYP) ; - Call ENX^GMTSDVR to print HS Type for Patient
|
---|
42 | D ENX^GMTSDVR(DFN,GMTSTYP)
|
---|
43 | Q
|
---|
44 | BLR(ROOT,ORDFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ; -- get 'enhanced' blood bank report
|
---|
45 | N DFN,ORY,ORSBHEAD
|
---|
46 | S DFN=ORDFN
|
---|
47 | I $L($T(EN^ORWLR1)),$L($T(CPRS^VBECA3B)) D Q ;Transition to VBEC's interface
|
---|
48 | . K ^TMP("ORLRC",$J)
|
---|
49 | . D EN^ORWLR1(DFN)
|
---|
50 | . I '$O(^TMP("ORLRC",$J,0)) S ^TMP("ORLRC",$J,1,0)="",^TMP("ORLRC",$J,2,0)="No Blood Bank report available..."
|
---|
51 | . S ROOT=$NA(^TMP("ORLRC",$J))
|
---|
52 | K ^TMP("LRC",$J)
|
---|
53 | S ORSBHEAD("BLOOD BANK")=""
|
---|
54 | D EN^LR7OSUM(.ORY,DFN,,,,,.ORSBHEAD)
|
---|
55 | I '$O(^TMP("LRC",$J,0)) S ^TMP("LRC",$J,1,0)="",^TMP("LRC",$J,2,0)="No Blood Bank report available..."
|
---|
56 | S ROOT=$NA(^TMP("LRC",$J))
|
---|
57 | Q
|
---|
58 | AP(ROOT,ORDFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ; -- get Anatomic path report
|
---|
59 | N I,C,LINES,X
|
---|
60 | K ^TMP("LRC",$J),^TMP("LRH",$J)
|
---|
61 | D AP^LR7OSUM(ORDFN)
|
---|
62 | I '$O(^TMP("LRC",$J,0)) S ^TMP("LRC",$J,1,0)="",^TMP("LRC",$J,2,0)="No Anatomic Pathology reports available..."
|
---|
63 | S I=0
|
---|
64 | I $L($O(^TMP("LRH",$J,0))) S I=.001,^TMP("LRC",$J,I)="[HIDDEN TEXT]^" D
|
---|
65 | . S X="",C=2 F S X=$O(^TMP("LRH",$J,X)) Q:X="" S LINES(^(X))=X,C=C+1
|
---|
66 | . S $P(^TMP("LRC",$J,.001),"^",2)=C
|
---|
67 | . S X="" F S X=$O(LINES(X)) Q:X="" D
|
---|
68 | .. S I=I+.001,^TMP("LRC",$J,I)=X_"^"_LINES(X)
|
---|
69 | . S I=I+.001,^TMP("LRC",$J,I)="[REPORT TEXT]"
|
---|
70 | S ROOT=$NA(^TMP("LRC",$J))
|
---|
71 | K ^TMP("LRH",$J)
|
---|
72 | Q
|
---|
73 | DIET(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ; -- get dietetics profile
|
---|
74 | N LCNT,ORVP
|
---|
75 | S LCNT=0,ORVP=DFN_";DPT("
|
---|
76 | D FHP^ORCXPNDR
|
---|
77 | S ROOT=$NA(^TMP("ORXPND",$J))
|
---|
78 | Q
|
---|
79 | LISTNUTR(ROOT,DFN) ; -- list nutritional assessments
|
---|
80 | N OK,I,X
|
---|
81 | K ^TMP($J,"FHADT")
|
---|
82 | S OK=$$FHWORADT^FHWORA(DFN)
|
---|
83 | S I=0,SITE=$$SITE^VASITE,SITE=$P(SITE,"^",2)_";"_$P(SITE,"^",3)
|
---|
84 | F S I=$O(^TMP($J,"FHADT",DFN,I)) Q:'I S X=SITE_U_I_U_^(I),^(I)=X
|
---|
85 | S ROOT=$NA(^TMP($J,"FHADT",DFN))
|
---|
86 | Q
|
---|
87 | NUTR(ROOT,DFN,ID,ALPHA,OMEGA,ORDTRNG,REMOTE,ORMAX,ORFHIE) ; -- get nutritional assessment
|
---|
88 | N LCNT,ORVP
|
---|
89 | K ^TMP("ORXPND",$J)
|
---|
90 | S LCNT=0,ORVP=DFN_";DPT(",ID=DFN_";"_ID
|
---|
91 | D FHA^ORCXPNDR
|
---|
92 | S ROOT=$NA(^TMP("ORXPND",$J))
|
---|
93 | Q
|
---|
94 | VITALS(ROOT,ORDFN,ID,ALPHA,OMEGA,ORDTRNG,REMOTE,ORMAX,ORFHIE) ; -- get vitals report
|
---|
95 | D START^ORWRP(132,"VITALSB^ORWRP1(.ROOT,.ORDFN,.ID,.ALPHA,.OMEGA,.ORDTRNG,.REMOTE,.ORMAX,.ORFHIE)")
|
---|
96 | Q
|
---|
97 | VITALSB(ROOT,ORDFN,ID,ALPHA,OMEGA,ORDTRNG,REMOTE,ORMAX,ORFHIE) ; -- build vitals report
|
---|
98 | N ORVP,XQORNOD,ORSSTRT,ORSSTOP
|
---|
99 | Q:'$G(ORDFN)
|
---|
100 | I $L(ORDTRNG),'$G(ALPHA) S ALPHA=$$FMADD^XLFDT(DT,-ORDTRNG),OMEGA=$$NOW^XLFDT
|
---|
101 | Q:'$G(ALPHA) Q:'$G(OMEGA)
|
---|
102 | I '$P(OMEGA,".",2) S OMEGA=OMEGA_".2359"
|
---|
103 | S ORVP=ORDFN_";DPT(",XQORNOD=1,ORSSTRT(XQORNOD)=ALPHA,ORSSTOP(XQORNOD)=OMEGA
|
---|
104 | D VITCUM^ORPRS14
|
---|
105 | Q
|
---|
106 | STAT(ROOT,ORDFN,ID,ORALPHA,OROMEGA,ORDTRNG,REMOTE,ORMAX,ORFHIE) ;Lab Order Status
|
---|
107 | N ORVP
|
---|
108 | K ^TMP("ORDATA",$J)
|
---|
109 | S ORVP=ORDFN_";DPT("
|
---|
110 | D EN1^LR7OSOS1(.ORY,ORVP,.ORALPHA,.OROMEGA,.ORDTRNG)
|
---|
111 | I '$O(^TMP("ORDATA",$J,1,0)) S ^TMP("ORDATA",$J,1,1,0)="",^TMP("ORDATA",$J,1,2,0)="No Orders found..."
|
---|
112 | S ROOT=ORY
|
---|
113 | Q
|
---|
114 | INTERIM(ROOT,ORDFN,ID,ORALPHA,OROMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Lab Interim
|
---|
115 | D START^ORWRP(80,"INTERIMB^ORWRP1(.ROOT,.ORDFN,.ID,.ORALPHA,.OROMEGA,.DTRANGE,.REMOTE,.ORMAX,.ORFHIE)")
|
---|
116 | Q
|
---|
117 | INTERIMB(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Build Interim
|
---|
118 | Q:'$G(DFN) Q:'$G(ALPHA) Q:'$G(OMEGA)
|
---|
119 | N ORVP,XQORNOD,ORSSTRT,ORSSTOP,LRACC,LRAD,LRAN,LRRT,LRPG,LRSB,LREDT,LRIDT
|
---|
120 | S ORVP=DFN_";DPT(",XQORNOD=1,(ORSSTRT(XQORNOD),LREDT)=(9999999-ALPHA),(ORSSTOP(XQORNOD),LRIDT)=(9999999-OMEGA)
|
---|
121 | D OERR^LRRP4,CLEAN^LRRP4
|
---|
122 | Q
|
---|
123 | LRGEN(ROOT,ORDFN,ID,ORALPHA,OROMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Lab results by test
|
---|
124 | D START^ORWRP(80,"LRGENB^ORWRP1(.ROOT,.ORDFN,.ID,.ORALPHA,.OROMEGA,.DTRANGE,.REMOTE,.ORMAX,.ORFHIE)")
|
---|
125 | Q
|
---|
126 | LRGENB(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Build Results
|
---|
127 | Q:'$G(DFN) Q:'$G(ALPHA) Q:'$G(OMEGA)
|
---|
128 | N ORVP,ORSSTRT,ORSSTOP,LREDT,LRSDT,XQORNOD
|
---|
129 | S ORVP=DFN_";DPT(",XQORNOD=1,(ORSSTRT(XQORNOD),LREDT)=(9999999-ALPHA),(ORSSTOP(XQORNOD),LRSDT)=(9999999-OMEGA)
|
---|
130 | D SET1^LRGEN,CLEAN^LRRP4
|
---|
131 | K LRPR
|
---|
132 | Q
|
---|
133 | GRAPH(ROOT,ORDFN,ID,ORALPHA,OROMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Graph labs
|
---|
134 | D START^ORWRP(80,"GRAPHB^ORWRP1(.ROOT,.ORDFN,.ID,.ORALPHA,.OROMEGA,.DTRANGE,.REMOTE,.ORMAX,.ORFHIE)")
|
---|
135 | Q
|
---|
136 | GRAPHB(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Graph labs
|
---|
137 | Q:'$G(DFN) Q:'$G(ALPHA) Q:'$G(OMEGA)
|
---|
138 | N ORVP,XQORNOD,ORSSTRT,ORSSTOP,LREDT,LRSDT
|
---|
139 | S ORVP=DFN_";DPT(",XQORNOD=1,(ORSSTRT(XQORNOD),LREDT)=ALPHA,(ORSSTOP(XQORNOD),LRSDT)=OMEGA
|
---|
140 | D OERR^LRDIST4,CLEAN^LRDIST4
|
---|
141 | Q
|
---|
142 | ORS(ROOT,ORDFN,ID,ALPHA,OMEGA,ORDTRNG,REMOTE,ORMAX,ORFHIE) ;Daily order summary
|
---|
143 | D START^ORWRP(80,"ORSB^ORWRP1(.ROOT,.ORDFN,.ID,.ALPHA,.OMEGA,.ORDTRNG,.REMOTE,.ORMAX,.ORFHIE)")
|
---|
144 | Q
|
---|
145 | ORSB(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Daily order summary
|
---|
146 | N ORVP,XQORNOD,ORSSTRT,ORSSTOP
|
---|
147 | S ORVP=DFN_";DPT(",XQORNOD=1,X1=DT,X2=-$S(DTRANGE:DTRANGE-1,1:0)
|
---|
148 | D C^%DTC
|
---|
149 | S ORSSTRT=X-.7641,ORSSTOP=DT+.2359
|
---|
150 | D DAY^ORPRS02
|
---|
151 | Q
|
---|
152 | ORD(ROOT,ORDFN,ID,ORALPHA,OROMEGA,ORDTRNG,REMOTE,ORMAX,ORFHIE) ;Order Summary for Date Range
|
---|
153 | D START^ORWRP(80,"ORDB^ORWRP1(.ROOT,.ORDFN,.ID,.ORALPHA,.OROMEGA,.ORDTRNG,.REMOTE,.ORMAX,.ORFHIE)")
|
---|
154 | Q
|
---|
155 | ORDB(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Order Summary for Date Range
|
---|
156 | Q:'$G(DFN)
|
---|
157 | I $L($G(DTRANGE)),'$G(ALPHA) S ALPHA=$$FMADD^XLFDT(DT,-DTRANGE),OMEGA=$$NOW^XLFDT
|
---|
158 | Q:'$G(ALPHA) Q:'$G(OMEGA)
|
---|
159 | N ORVP,XQORNOD,ORSSTRT,ORSSTOP
|
---|
160 | S ORVP=DFN_";DPT(",XQORNOD=1,ORSSTRT=ALPHA,ORSSTOP=OMEGA
|
---|
161 | D RANGE^ORPRS02
|
---|
162 | Q
|
---|
163 | ORC(ROOT,ORDFN,ID,ORALPHA,OROMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Custom order summary
|
---|
164 | D START^ORWRP(80,"ORCB^ORWRP1(.ROOT,.ORDFN,.ID,.ORALPHA,.OROMEGA,.DTRANGE,.REMOTE,.ORMAX,.ORFHIE)")
|
---|
165 | Q
|
---|
166 | ORCB(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Custom order summary build
|
---|
167 | Q:'$G(DFN) Q:'$G(ALPHA) Q:'$G(OMEGA)
|
---|
168 | N ORVP,XQORNOD,ORSSTRT,ORSSTOP
|
---|
169 | S ORVP=DFN_";DPT(",XQORNOD=1,ORSSTRT=ALPHA,ORSSTOP=OMEGA
|
---|
170 | D CUSTOM^ORPRS02
|
---|
171 | Q
|
---|
172 | ORP(ROOT,ORDFN,ID,ORALPHA,OROMEGA,ORDTRNG,REMOTE,ORMAX,ORFHIE) ;Chart copy summary
|
---|
173 | D START^ORWRP(80,"ORPB^ORWRP1(.ROOT,.ORDFN,.ID,.ORALPHA,.OROMEGA,.ORDTRNG,.REMOTE,.ORFHIE)")
|
---|
174 | Q
|
---|
175 | ORPB(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Chart copy summary
|
---|
176 | Q:'$G(DFN)
|
---|
177 | I $L($G(DTRANGE)),'$G(ALPHA) S ALPHA=$$FMADD^XLFDT(DT,-DTRANGE),OMEGA=$$NOW^XLFDT
|
---|
178 | Q:'$G(ALPHA) Q:'$G(OMEGA)
|
---|
179 | N ORVP,XQORNOD,ORSSTRT,ORSSTOP
|
---|
180 | S ORVP=DFN_";DPT(",XQORNOD=1,ORSSTRT=ALPHA,ORSSTOP=OMEGA
|
---|
181 | D CHART^ORPRS02
|
---|
182 | Q
|
---|
183 | PSO(ROOT,ORDFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Outpatient RX Profile
|
---|
184 | D START^ORWRP(80,"PSOB^ORWRP1(.ROOT,.ORDFN,.ID,.ALPHA,.OMEGA,.DTRANGE,.REMOTE,.ORFHIE)")
|
---|
185 | Q
|
---|
186 | PSOB(ROOT,DFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Outpatient RX Action Profile
|
---|
187 | N ORVP,PSTYPE,PSONOPG
|
---|
188 | S ORVP=DFN_";DPT(",PSTYPE=1,PSONOPG=2
|
---|
189 | D DFN^PSOSD1
|
---|
190 | Q
|
---|
191 | MED(ROOT,ORDFN,IID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Medicine Summary of Procedures
|
---|
192 | D START^ORWRP(80,"MEDB^ORWRP1(.ROOT,.ORDFN,.IID,.ALPHA,.OMEGA,.DTRANGE,.REMOTE,.ORMAX,.ORFHIE)")
|
---|
193 | Q
|
---|
194 | MEDB(ROOT,DFN,IID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Medicine Summary of Procedures
|
---|
195 | Q:'$L($G(IID))
|
---|
196 | N ORVP,XQY0,OT,MCARPPS,MCPRO,MCARGRTN,DXS,SSN,I,J,L,DA,MCARGDA
|
---|
197 | S ORVP=DFN_";DPT(",XQY0="",OT=$G(^TMP("OR",$J,"MCAR","OT",IID))
|
---|
198 | Q:'$L(OT)
|
---|
199 | S (DA,MCARGDA)=$P(OT,U,2),MCARPPS=$P(OT,U,3,4),MCPRO=$P(OT,U,11)
|
---|
200 | D MCPPROC^MCARP
|
---|
201 | S MCARGRTN=$P(OT,U,5)
|
---|
202 | D @MCARPPS
|
---|
203 | Q
|
---|
204 | PROB(ROOT,ORDFN,IID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ; Problem List (Problem Tab)
|
---|
205 | D START^ORWRP(80,"PROBB^ORWRP1(.ROOT,.ORDFN,.IID,.ALPHA,.OMEGA,.DTRANGE,.REMOTE,.ORMAX,.ORFHIE)")
|
---|
206 | Q
|
---|
207 | PROBB(ROOT,DFN,IID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ;Problem List
|
---|
208 | N ORSILENT S ORSILENT=1
|
---|
209 | D VAF^GMPLUTL2(DFN,ORSILENT)
|
---|
210 | Q
|
---|