1 | LRAPBR1 ;DALOI/WTY/KLL;AP Browser Print Cont.;11/08/01
|
---|
2 | ;;5.2;LAB SERVICE;**259,317,363**;Sep 27, 1994;Build 3
|
---|
3 | ;
|
---|
4 | ;
|
---|
5 | ENTER ;from LRAPBR
|
---|
6 | N LRCNT,LRTMP,LRA1,LRADESC,LRLENG1,LRLENG2,LRFILE,LRAPMD
|
---|
7 | N LRFLD,LRV,LRV1,LRV2,LRB1,LRTEXT,LRSPCE,LRIENS,LRAPMR
|
---|
8 | Q:'$D(^LR(LRDFN,LRSS,LRI,0))
|
---|
9 | S:'LRTIU GROOT="^TMP(""LRAPBR"",$J,"
|
---|
10 | S:LRTIU GROOT="^TMP(""TIUP"",$J,"
|
---|
11 | D INP^VADPT S LRPRAC=+VAIN(2)
|
---|
12 | S:'LRPRAC LRPRAC(1)=""
|
---|
13 | I LRPRAC S X=LRPRAC D D^LRUA S LRPRAC(1)=X
|
---|
14 | S LRQ=0 D ^LRUA,HEADER
|
---|
15 | S LR("F")=1
|
---|
16 | D DASH
|
---|
17 | D:LRTIU GLENTRY("$TEXT",,1)
|
---|
18 | D GLENTRY("Submitted by: "_LRW(5),"",1)
|
---|
19 | D GLENTRY("Date obtained: "_LRTK,44)
|
---|
20 | D:LRA DASH
|
---|
21 | MAIN ;
|
---|
22 | D SPEC
|
---|
23 | D MODCHK
|
---|
24 | D SUPBNNR
|
---|
25 | D DIAG
|
---|
26 | D DOC
|
---|
27 | D WPFLD
|
---|
28 | D SUPRPT
|
---|
29 | D SSJR
|
---|
30 | Q
|
---|
31 | SPEC ;List specimens
|
---|
32 | D GLENTRY("Specimen (Received "_LRTK(1)_"):","",1)
|
---|
33 | S LRCNT=$P(^LR(LRDFN,LRSS,LRI,.1,0),U,4)
|
---|
34 | Q:'LRCNT
|
---|
35 | S LRFILE=+$$GET1^DID(LRSF,.012,"","SPECIFIER")
|
---|
36 | S LRIENS=LRI_","_LRDFN_","
|
---|
37 | S LRCT2=0
|
---|
38 | F LRB1=1:1 D Q:LRCT2=LRCNT
|
---|
39 | .D GETS^DIQ(LRFILE,LRB1_","_LRIENS,.01,"","LRTMP("_LRB1_")")
|
---|
40 | .I $D(LRTMP(LRB1)) S LRCT2=LRCT2+1
|
---|
41 | S LRA1=0 F S LRA1=$O(LRTMP(LRA1)) Q:'LRA1 D
|
---|
42 | .S LRTEXT=LRTMP(LRA1,LRFILE,LRA1_","_LRIENS,.01)
|
---|
43 | .D GLENTRY(LRTEXT,"",1)
|
---|
44 | Q
|
---|
45 | MODCHK ;Display modified banner if required
|
---|
46 | S LRAPMR=$$GET1^DIQ(LRSF,LRIENS,.17,"I")
|
---|
47 | Q:'LRAPMR
|
---|
48 | S LRAPMD=$$GET1^DIQ(LRSF,LRIENS,.172,"I")
|
---|
49 | D GLENTRY("","",1)
|
---|
50 | S LRTEXT=""
|
---|
51 | F LRCNT=1:1:$S(LRAPMD:14,1:15) D
|
---|
52 | .S LRTEXT=LRTEXT_"*+"
|
---|
53 | S LRTEXT=LRTEXT_" MODIFIED "
|
---|
54 | S LRTEXT=LRTEXT_$S(LRAPMD:"DIAGNOSIS ",1:"REPORT ")
|
---|
55 | F LRCNT=1:1:$S(LRAPMD:14,1:15) D
|
---|
56 | .S LRTEXT=LRTEXT_"*+"
|
---|
57 | D GLENTRY(LRTEXT,"",1)
|
---|
58 | D GLENTRY("","",1)
|
---|
59 | Q
|
---|
60 | SUPBNNR ;Display supplementary report header if one or more has been added
|
---|
61 | I $P($G(^LR(LRDFN,LRSS,LRI,1.2,0)),U,4) D
|
---|
62 | .S LRTEXT="*+* SUPPLEMENTARY REPORT HAS BEEN ADDED *+*"
|
---|
63 | .D GLENTRY($$CJ^XLFSTR(LRTEXT,IOM),"",1)
|
---|
64 | .S LRTEXT="*+* REFER TO BOTTOM OF REPORT *+*"
|
---|
65 | .D GLENTRY($$CJ^XLFSTR(LRTEXT,IOM),"",1)
|
---|
66 | .D GLENTRY("","",1)
|
---|
67 | Q
|
---|
68 | DIAG ;
|
---|
69 | ;Display the Brief Clinical History, Preoperative Diagnosis,
|
---|
70 | ;Operative Findings, and Postoperative Diagnosis
|
---|
71 | S LRFILE=LRSF,LRCNT=0,LRIENS=LRI_","_LRDFN_","
|
---|
72 | F LRFLD=.013:.001:.016 D
|
---|
73 | .D:LRA DASH
|
---|
74 | .S LRCNT=LRCNT+1
|
---|
75 | .D GLENTRY($P($T(TEXT1+LRCNT),";",2),"",1)
|
---|
76 | .D WP
|
---|
77 | Q
|
---|
78 | DOC ;
|
---|
79 | ;Pathologist information
|
---|
80 | D GLENTRY("","",1)
|
---|
81 | D GLENTRY("Surgeon/physician: "_LRMD,27,1)
|
---|
82 | D:LRA GLENTRY(LR("%1"),"",1)
|
---|
83 | D DASH
|
---|
84 | D HEADER2
|
---|
85 | D:LRA DASH
|
---|
86 | I LRRC="" D
|
---|
87 | .D GLENTRY("+*+* REPORT INCOMPLETE *+*+",20,1)
|
---|
88 | .D GLENTRY("","",1)
|
---|
89 | D GLENTRY("","",1)
|
---|
90 | I LRRMD'="" D
|
---|
91 | .S LRCNT=0 F LRA1="SP","CY","EM" D
|
---|
92 | ..S LRCNT=LRCNT+1
|
---|
93 | ..S LRTMP(LRA1)=$P($T(TEXT2+LRCNT),";",3)
|
---|
94 | .S LRTMP=LRTMP(LRSS)
|
---|
95 | .D GLENTRY(LRTMP_" "_LRRMD,31)
|
---|
96 | Q
|
---|
97 | WPFLD ;
|
---|
98 | ;Display Frozen Section, Gross Description, Microscopic Description
|
---|
99 | ;and Surgical Path Diagnosis
|
---|
100 | F LRCNT=1:1:4 D
|
---|
101 | .S X=$T(FIELDS+LRCNT)
|
---|
102 | .S LRV=$P(X,";",2),LRV1=$P(X,";",3),LRV2=$P(X,";",4)
|
---|
103 | .D TEXTCHK
|
---|
104 | .I $P($G(^LR(LRDFN,LRSS,LRI,LRV,0)),U,4) D
|
---|
105 | ..D GLENTRY("","",1),GLENTRY(LR(69.2,LRV1),"",1)
|
---|
106 | ..S LRFILE=LRSF,LRIENS=LRI_","_LRDFN_",",LRFLD=LRV
|
---|
107 | ..I $P($G(^LR(LRDFN,LRSS,LRI,LRV2,0)),U,4) D
|
---|
108 | ...S LRFILE1=+$$GET1^DID(LRSF,LRV2,"","SPECIFIER")
|
---|
109 | ...D GLENTRY("*+* MODIFIED REPORT *+*",28,1)
|
---|
110 | ...D GLENTRY("(Last modified: ","",1)
|
---|
111 | ...S (LRA1,LRB1)=0
|
---|
112 | ...F S LRA1=$O(^LR(LRDFN,LRSS,LRI,LRV2,LRA1)) Q:'LRA1 S LRB1=LRA1
|
---|
113 | ...Q:'$D(^LR(LRDFN,LRSS,LRI,LRV2,LRB1,0))
|
---|
114 | ...S LRSR1=$$GET1^DIQ(LRFILE1,LRB1_","_LRIENS,.01)
|
---|
115 | ...S LRSR2=$$GET1^DIQ(LRFILE1,LRB1_","_LRIENS,.02)
|
---|
116 | ...S LRTEXT=LRSR1_" typed by "_LRSR2_")"
|
---|
117 | ...D GLENTRY(LRTEXT,BTAB)
|
---|
118 | ..D WP
|
---|
119 | Q
|
---|
120 | SUPRPT ;Supplementary Report
|
---|
121 | I $P($G(^LR(LRDFN,LRSS,LRI,1.2,0)),U,4) D
|
---|
122 | .S LRFILE=+$$GET1^DID(LRSF,1.2,"","SPECIFIER")
|
---|
123 | .S LRIENS1=LRI_","_LRDFN_","
|
---|
124 | .D GLENTRY("","",1),GLENTRY("SUPPLEMENTARY REPORT(S):","",1)
|
---|
125 | .S LRV=0 F S LRV=$O(^LR(LRDFN,LRSS,LRI,1.2,LRV)) Q:'LRV D
|
---|
126 | ..S LRIENS=LRV_","_LRIENS1
|
---|
127 | ..S LRSR1=$$GET1^DIQ(LRFILE,LRIENS,.01)
|
---|
128 | ..S LRSR2=+$$GET1^DIQ(LRFILE,LRIENS,.02)
|
---|
129 | ..D GLENTRY("Supplementary Report Date: "_LRSR1,3,1)
|
---|
130 | ..I $D(LR("R")),'LRSR2 D GLENTRY(" not verified",BTAB) Q
|
---|
131 | ..I $P($G(^LR(LRDFN,LRSS,LRI,1.2,LRV,2,0)),U,4) D
|
---|
132 | ...S LRTEXT="*+* SUPPLEMENTARY REPORT HAS BEEN ADDED/MODIFIED *+*"
|
---|
133 | ...D GLENTRY($$CJ^XLFSTR(LRTEXT,IOM),"",1)
|
---|
134 | ...D GLENTRY("(Added/Last","",1)
|
---|
135 | ...S (LRA1,LRB1)=0
|
---|
136 | ...F S LRA1=$O(^LR(LRDFN,LRSS,LRI,1.2,LRV,2,LRA1)) Q:'LRA1 D
|
---|
137 | ....S LRB1=LRA1
|
---|
138 | ...Q:'$D(^LR(LRDFN,LRSS,LRI,1.2,LRV,2,LRB1,0))
|
---|
139 | ...S LRA2=^(0),Y=+LRA2,LRA2A=$P(LRA2,"^",2),LRSGN=" Typed by ",LRDSC=" modified: "
|
---|
140 | ...I $P(LRA2,"^",3) S LRSGN=" Signed by ",LRDSC=" released: ",LRA2A=$P(LRA2,"^",3),Y=$P(LRA2,"^",4)
|
---|
141 | ...S LRA2A=$S($D(^VA(200,LRA2A,0)):$P(^(0),"^"),1:LRA2A)
|
---|
142 | ...D D^LRU
|
---|
143 | ...D GLENTRY(LRDSC_Y_LRSGN_LRA2A_")",BTAB)
|
---|
144 | ..S LRFLD=1 D WP
|
---|
145 | ..D GLENTRY("","",1)
|
---|
146 | Q
|
---|
147 | SSJR ;Print special studies/journal references
|
---|
148 | D ^LRAPBR3
|
---|
149 | S LREFLG=1
|
---|
150 | Q
|
---|
151 | WP ;Display word procesing fields
|
---|
152 | K LRTMP,^UTILITY($J,"W")
|
---|
153 | N X,DIWR,DIWL,LRINC
|
---|
154 | S X=$$GET1^DIQ(LRFILE,LRIENS,LRFLD,"","LRTMP",)
|
---|
155 | S DIWR=IOM-5,DIWL=5,DIWF=""
|
---|
156 | S X=+$$GET1^DID(LRFILE,LRFLD,"","SPECIFIER")
|
---|
157 | I $$GET1^DID(X,.01,"","SPECIFIER")["L" S DIWF="N"
|
---|
158 | S LRINC=0
|
---|
159 | F S LRINC=$O(LRTMP(LRINC)) Q:'LRINC S X=LRTMP(LRINC) D ^DIWP
|
---|
160 | S LRINC=0
|
---|
161 | F S LRINC=$O(^UTILITY($J,"W",DIWL,LRINC)) Q:'LRINC D
|
---|
162 | .D GLENTRY(^UTILITY($J,"W",DIWL,LRINC,0),DIWL,1)
|
---|
163 | K ^UTILITY($J,"W")
|
---|
164 | Q
|
---|
165 | HEADER ;
|
---|
166 | D:LRTIU GLENTRY("$APHDR",,1)
|
---|
167 | D GLENTRY("","",1)
|
---|
168 | D DASH
|
---|
169 | D GLENTRY("MEDICAL RECORD |",5,1)
|
---|
170 | D GLENTRY(LRAA1,40)
|
---|
171 | D DASH
|
---|
172 | HEADER2 ;
|
---|
173 | S LRADESC="Accession No. "_$S(LRQ(8)]"":LRQ(8)_LRW(1)_" "_LRAC,1:LRAC)
|
---|
174 | S LRLENG1=$L(LRQ(1)),LRLENG2=$L(LRADESC),LRSPCE=IOM-LRLENG2-14
|
---|
175 | S:LRLENG1>LRSPCE LRQ(1)=$E(LRQ(1),1,LRSPCE)
|
---|
176 | D GLENTRY("PATHOLOGY REPORT",30,1)
|
---|
177 | D GLENTRY("Laboratory: "_LRQ(1),"",1)
|
---|
178 | D GLENTRY(LRADESC,IOM-LRLENG2-1)
|
---|
179 | Q
|
---|
180 | FOOTER ;Footer-called from ^LRAPBR
|
---|
181 | D:LRTIU GLENTRY("$FTR",,1)
|
---|
182 | D DASH
|
---|
183 | S LRTEXT=$S('$D(LR("W")):"",1:"See signed copy in chart")
|
---|
184 | D GLENTRY(LRTEXT,"",1)
|
---|
185 | S LRTEXT="("_$S($D(LREFLG):"End of report",1:"See next page")_")"
|
---|
186 | D GLENTRY(LRTEXT,57)
|
---|
187 | D GLENTRY(LRPMD,"",1),GLENTRY(LRW(9),52),GLENTRY("| Date "_LRRC,55)
|
---|
188 | D DASH
|
---|
189 | D GLENTRY(LRP,"",1)
|
---|
190 | S LRTEXT=$S('$D(LR("W")):"STANDARD FORM 515",1:"WORK COPY ONLY !!")
|
---|
191 | D GLENTRY(LRTEXT,50)
|
---|
192 | D GLENTRY("ID:"_SSN,"",1)
|
---|
193 | D GLENTRY("SEX:"_SEX,16),GLENTRY(" DOB:"_DOB,BTAB)
|
---|
194 | I AGE D
|
---|
195 | .S LRTEXT=$S($G(VADM(6))]"":" AGE AT DEATH: ",1:" AGE: ")_AGE
|
---|
196 | .D GLENTRY(LRTEXT,BTAB)
|
---|
197 | D GLENTRY(" LOC:"_LRLLOC,BTAB)
|
---|
198 | D GLENTRY("","",1)
|
---|
199 | D:$L(LRADM) GLENTRY("ADM:"_$P(LRADM,"@"),BTAB)
|
---|
200 | D:$L(LRADX) GLENTRY("DX:"_$E(LRADX,1,26),17)
|
---|
201 | D GLENTRY("PCP:",46)
|
---|
202 | D:$L(LRPRAC) GLENTRY($E(LRPRAC(1),1,28),51)
|
---|
203 | Q
|
---|
204 | ESIGLN ;Write signature block name, title, and date of signature
|
---|
205 | D GLENTRY(,,1)
|
---|
206 | I $D(^VA(200,DUZ,0)) D
|
---|
207 | .S LRFILE=200,LRFLD=20.2,LRFLD2=20.3
|
---|
208 | .S X=$$GET1^DIQ(LRFILE,DUZ,LRFLD)
|
---|
209 | ;Compare DUZ to pathologist, if different, use proxy signature
|
---|
210 | S:LRSS="AU" LRPATH=$$GET1^DIQ(63,LRDFN,13.6,"I")
|
---|
211 | I LRSS'="AU" D
|
---|
212 | .S LRFL2=$S(LRSS="EM":63.02,LRSS="CY":63.09,LRSS="SP":63.08,1:0)
|
---|
213 | .S LRIENS=LRI_","_LRDFN_","
|
---|
214 | .S LRPATH=$$GET1^DIQ(LRFL2,LRIENS,.02,"I")
|
---|
215 | S LRPATH2=""
|
---|
216 | S:LRPATH'=DUZ LRPATH2=" FOR "_$$GET1^DIQ(LRFILE,LRPATH,LRFLD)
|
---|
217 | S LRTEXT="/es/ "_X_LRPATH2
|
---|
218 | ;S LRTEXT="/es/ "_X
|
---|
219 | D GLENTRY(LRTEXT,,1)
|
---|
220 | S X=$$GET1^DIQ(LRFILE,DUZ,LRFLD2)
|
---|
221 | S LRTEXT=X
|
---|
222 | D GLENTRY(LRTEXT,,1)
|
---|
223 | S Y=LRNTIME D DD^%DT
|
---|
224 | S LRTEXT="Signed "_Y
|
---|
225 | D GLENTRY(LRTEXT,,1)
|
---|
226 | Q
|
---|
227 | DASH ;Display a line of dashes
|
---|
228 | D GLENTRY(LR("%"),"",1)
|
---|
229 | Q
|
---|
230 | GLENTRY(LRPR1,LRPR2,LRPR3) ;Write to global
|
---|
231 | ;LRPR1 = Text to be written to global
|
---|
232 | ;LRPR2 = Tab position
|
---|
233 | ;LRPR3 = 1 means start a new line. Othewise, write an current line.
|
---|
234 | S LRPR1=$G(LRPR1)
|
---|
235 | S LRPR2=+$G(LRPR2)
|
---|
236 | S LRPR3=+$G(LRPR3)
|
---|
237 | D:LRPR3 NEWLN^LRAPUTL(LRPR1,LRPR2)
|
---|
238 | D:'LRPR3 GLBWRT^LRAPUTL(LRPR1,LRPR2)
|
---|
239 | Q
|
---|
240 | TEXT1 ;Text for top of report
|
---|
241 | ;BRIEF CLINICAL HISTORY:
|
---|
242 | ;PREOPERATIVE DIAGNOSIS:
|
---|
243 | ;OPERATIVE FINDINGS:
|
---|
244 | ;POSTOPERATIVE DIAGNOSIS:
|
---|
245 | TEXT2 ;Descriptive text based on section
|
---|
246 | ;SP;Pathology Resident:
|
---|
247 | ;CY;Screened by:
|
---|
248 | ;EM;Prepared by:
|
---|
249 | FIELDS ;Field numbers for word processing fields
|
---|
250 | ;1.3;.13;6
|
---|
251 | ;1;.03;7
|
---|
252 | ;1.1;.04;4
|
---|
253 | ;1.4;.14;5
|
---|
254 | TEXTCHK ; update text line counter if it is missing (Remedy 116253)
|
---|
255 | N I,X,DATA
|
---|
256 | S I=0
|
---|
257 | K ^TMP("WP",$J)
|
---|
258 | S X=$G(^LR(LRDFN,LRSS,LRI,LRV,0))
|
---|
259 | I X'="",$L(X,"^")=1 D
|
---|
260 | . F S I=$O(^LR(LRDFN,LRSS,LRI,LRV,I)) Q:I="" D
|
---|
261 | . . S DATA=$G(^LR(LRDFN,LRSS,LRI,LRV,I,0))
|
---|
262 | . . S ^TMP("WP",$J,I,0)=DATA
|
---|
263 | I $D(^TMP("WP",$J)) D
|
---|
264 | . D WP^DIE(63.08,LRI_","_LRDFN_",",LRV,"","^TMP(""WP"",$J)")
|
---|
265 | . K ^TMP("WP",$J)
|
---|
266 | Q
|
---|