1 | LRAPBR4 ;DALOI/WTY/KLL - Autopsy Browser Display;7/27/01
|
---|
2 | ;;5.2;LAB SERVICE;**259,317**;Sep 27, 1994
|
---|
3 | ;
|
---|
4 | ;Reference to ^DPT supported by IA #918
|
---|
5 | ;
|
---|
6 | Q
|
---|
7 | ENTER ;Entry point
|
---|
8 | N LRTEXT,LRFILE,LRFIELD,LRTMP,LRFLG
|
---|
9 | D INIT
|
---|
10 | Q:'$D(^LR(LRDFN,LRSS))
|
---|
11 | D HEADER
|
---|
12 | D BODY
|
---|
13 | D:'LRTIU POW
|
---|
14 | D:LRTIU ESIGLN^LRAPBR1
|
---|
15 | D FOOTER
|
---|
16 | Q
|
---|
17 | INIT ;Initialize variables
|
---|
18 | S X=^LR(LRDFN,0) D ^LRUP
|
---|
19 | Q:'$D(^LR(LRDFN,LRSS))
|
---|
20 | F LRTMP=1:1 D Q:LRFIELD="Q"
|
---|
21 | .S X=$T(VART1+LRTMP)
|
---|
22 | .S LRFIELD=$P(X,";",2),VAR=$P(X,";",3),LRFLG=$P(X,";",4)
|
---|
23 | .Q:LRFIELD="Q"
|
---|
24 | .S @VAR=$$GET1^DIQ(63,LRDFN_",",LRFIELD,LRFLG)
|
---|
25 | .I VAR["LRM",@VAR S X=@VAR D D^LRUA S @VAR=X
|
---|
26 | S LRH(2)=$E(LRH(2),2,3)
|
---|
27 | ;Get date of death (LRH)
|
---|
28 | S DA=LRDFN D D^LRAUAW
|
---|
29 | S Y=LR(63,12) D D^LRU S LRH=Y
|
---|
30 | S LCT=0
|
---|
31 | S:'LRTIU GROOT="^TMP(""LRAPBR"",$J,"
|
---|
32 | S:LRTIU GROOT="^TMP(""TIUP"",$J,"
|
---|
33 | K ^TMP("LRAPBR",$J)
|
---|
34 | Q
|
---|
35 | BODY ;Report body
|
---|
36 | D:LRTIU GLENTRY("$TEXT",,1)
|
---|
37 | S LR("F")=1
|
---|
38 | I LRH(1)="" D
|
---|
39 | .D GLENTRY("+*+* REPORT INCOMPLETE *+*+",20,1)
|
---|
40 | .D GLENTRY(,,1)
|
---|
41 | D MODAUCK
|
---|
42 | ;Display supplementary report header if one or more has been added
|
---|
43 | I $P($G(^LR(LRDFN,84,0)),U,4) D
|
---|
44 | .S LRTEXT="*+* SUPPLEMENTARY REPORT HAS BEEN ADDED *+*"
|
---|
45 | .S LRTEXT=$$CJ^XLFSTR(LRTEXT,IOM)
|
---|
46 | .D GLENTRY(LRTEXT,,1)
|
---|
47 | .S LRTEXT="*+* REFER TO BOTTOM OF REPORT *+*"
|
---|
48 | .S LRTEXT=$$CJ^XLFSTR(LRTEXT,IOM)
|
---|
49 | .D GLENTRY(LRTEXT,,1)
|
---|
50 | D GLENTRY(,,1)
|
---|
51 | F LRV=81,82,84 D
|
---|
52 | .D:LRV'=84 GLENTRY(,,1)
|
---|
53 | .D:LRV=81 GLENTRY(LRAU(1),0)
|
---|
54 | .D:LRV=82 GLENTRY(LRAU(2),0)
|
---|
55 | .I LRV'=84 D
|
---|
56 | ..D GLENTRY(,,1)
|
---|
57 | ..S LRFILE=63,LRIENS=LRDFN_","
|
---|
58 | ..S LRFIELD=$S(LRV=81:32.2,1:32.3)
|
---|
59 | ..D WP
|
---|
60 | .I LRV=84 D
|
---|
61 | ..N LRIENS1,LRIENS
|
---|
62 | ..S LRFILE=63.324
|
---|
63 | ..S LRA=0 F S LRA=$O(^LR(LRDFN,84,LRA)) Q:'LRA D
|
---|
64 | ...S LRIENS1=LRA_","_LRDFN_","
|
---|
65 | ...D GLENTRY("SUPPLEMENTARY REPORT DATE: ",0,1)
|
---|
66 | ...S LRB=$$GET1^DIQ(LRFILE,LRIENS1,.01)
|
---|
67 | ...D GLENTRY(LRB,BTAB)
|
---|
68 | ...D:$P($G(^LR(LRDFN,84,LRA,2,0)),U,4) SUPA
|
---|
69 | ...S LRFIELD=1,LRIENS=LRIENS1 D WP
|
---|
70 | ...D GLENTRY(,,1)
|
---|
71 | .I LRV'=84 D DASH,GLENTRY(,,1)
|
---|
72 | D ^LRAPBR5
|
---|
73 | Q
|
---|
74 | WP ;Display word procesing fields
|
---|
75 | K LRTMP,^UTILITY($J,"W")
|
---|
76 | N LRX,DIWR,DIWL,LRA1
|
---|
77 | S LRX=$$GET1^DIQ(LRFILE,LRIENS,LRFIELD,"","LRTMP","LRERR(1)")
|
---|
78 | S DIWR=IOM-5,DIWL=5,DIWF=""
|
---|
79 | S LRX=+$$GET1^DID(LRFILE,LRFIELD,"","SPECIFIER","LRERR(2)")
|
---|
80 | I $$GET1^DID(LRX,.01,"","SPECIFIER","LRERR(2)")["L" S DIWF="N"
|
---|
81 | S LRA1=0 F S LRA1=$O(LRTMP(LRA1)) Q:'LRA1 S X=LRTMP(LRA1) D ^DIWP
|
---|
82 | S LRA1=0 F S LRA1=$O(^UTILITY($J,"W",DIWL,LRA1)) Q:'LRA1 D
|
---|
83 | .D GLENTRY(^UTILITY($J,"W",DIWL,LRA1,0),DIWL,1)
|
---|
84 | K ^UTILITY($J,"W")
|
---|
85 | Q
|
---|
86 | SUPA ;Print supplementary report audit information
|
---|
87 | N LRFILE,LRIENS1,LRWP
|
---|
88 | S LRTEXT="*+* SUPPLEMENTARY REPORT HAS BEEN ADDED/MODIFIED *+*"
|
---|
89 | S LRTEXT=$$CJ^XLFSTR(LRTEXT,IOM)
|
---|
90 | D GLENTRY(LRTEXT,,1)
|
---|
91 | S LRTEXT="(Added/Last" D GLENTRY(LRTEXT,0,1)
|
---|
92 | S (A,B)=0 F S A=$O(^LR(LRDFN,84,LRA,2,A)) Q:'A D
|
---|
93 | .S B=A
|
---|
94 | Q:'$D(^LR(LRDFN,84,LRA,2,B,0))
|
---|
95 | S A=^(0),Y=+A,LRSGN=" typed by ",LRDSC=" modified: ",A2=$P(A,"^",2)
|
---|
96 | ;If supp rpt is released, display 'signed by' instead of 'typed by'
|
---|
97 | I $P(A,"^",3) S LRSGN=" signed by ",LRDSC=" released: ",A2=$P(A,"^",3),Y=$P(A,"^",4)
|
---|
98 | S A2=$S($D(^VA(200,A2,0)):$P(^(0),"^"),1:A2)
|
---|
99 | ;S LRFILE=63.3242,LRIENS1=B_","_LRA_","_LRDFN_","
|
---|
100 | ;D GETS^DIQ(LRFILE,LRIENS1,"*","","LRWP")
|
---|
101 | ;S Y=LRWP(LRFILE,LRIENS1,.01)
|
---|
102 | ;S A=LRWP(LRFILE,LRIENS1,.02)
|
---|
103 | D D^LRU
|
---|
104 | S LRTEXT=LRDSC_Y_LRSGN_A2_")" D GLENTRY(LRTEXT,BTAB)
|
---|
105 | Q
|
---|
106 | HEADER ;
|
---|
107 | S LRQ=LRQ+1
|
---|
108 | D:LRTIU GLENTRY("$APHDR",,1)
|
---|
109 | F I=1:1:2 D GLENTRY(,,1)
|
---|
110 | D DASH
|
---|
111 | S LRTEXT="CLINICAL RECORD |" D GLENTRY(LRTEXT,5,1)
|
---|
112 | S LRTEXT="AUTOPSY PROTOCOL" D GLENTRY(LRTEXT,40)
|
---|
113 | D DASH
|
---|
114 | S LRTEXT="Date died: "_LRH D GLENTRY(LRTEXT,0,1)
|
---|
115 | S LRTEXT="| Autopsy date: "_LRH(1) D GLENTRY(LRTEXT,40)
|
---|
116 | S LRTEXT="Resident: "_LRM(2) D GLENTRY(LRTEXT,0,1)
|
---|
117 | S LRTEXT="| "_$E(LRS(3),1,13) D GLENTRY(LRTEXT,40)
|
---|
118 | S LRTEXT="Autopsy No. "_$S(LRQ(8)'="":LRQ(8)_LRH(2)_" "_LRAC,1:LRAC)
|
---|
119 | D GLENTRY(LRTEXT,56)
|
---|
120 | D DASH
|
---|
121 | Q
|
---|
122 | MODAUCK ;Display modified banner if required
|
---|
123 | S LRAPMR=$$GET1^DIQ(63,LRDFN,102,"I")
|
---|
124 | Q:'LRAPMR
|
---|
125 | S LRAPMD=$$GET1^DIQ(63,LRDFN,102.2,"I")
|
---|
126 | D GLENTRY("","",1)
|
---|
127 | S LRTEXT=""
|
---|
128 | F LRCNT=1:1:$S(LRAPMD:29,1:31) D
|
---|
129 | .S LRTEXT=LRTEXT_"*"
|
---|
130 | S LRTEXT=LRTEXT_" MODIFIED "
|
---|
131 | S LRTEXT=LRTEXT_$S(LRAPMD:"DIAGNOSIS ",1:"REPORT ")
|
---|
132 | F LRCNT=1:1:$S(LRAPMD:29,1:31) D
|
---|
133 | .S LRTEXT=LRTEXT_"*"
|
---|
134 | D GLENTRY(LRTEXT,"",1)
|
---|
135 | D GLENTRY("","",1)
|
---|
136 | Q
|
---|
137 | POW ;Determine POW or Persian Gulf status
|
---|
138 | I $P($G(^LR(LRDFN,0)),"^",2)=2 D
|
---|
139 | .S LRPOW=0
|
---|
140 | .I $D(^DPT(DFN,.52)) S:$P(^(.52),U,5)="Y" LRPOW=1
|
---|
141 | .I $D(^DPT(DFN,.322)) S:$P($G(^(.322)),"^",10)="Y" LRPOW=1
|
---|
142 | .D ^LRAPBRPW
|
---|
143 | .K LRPOW
|
---|
144 | Q
|
---|
145 | FOOTER ;Report footer
|
---|
146 | D:LRTIU GLENTRY("$FTR",,1)
|
---|
147 | D DASH
|
---|
148 | D GLENTRY(,,1)
|
---|
149 | I LRH(3)=""&(LRH(17)'="") D
|
---|
150 | .S LRTEXT="| Provisional Anatomic Dx"
|
---|
151 | .D GLENTRY(LRTEXT,55)
|
---|
152 | S LRTEXT="Pathologist: "_LRM(3) D GLENTRY(LRTEXT,0,1)
|
---|
153 | D GLENTRY(LRW(9),52)
|
---|
154 | S LRTEXT="| Date " D GLENTRY(LRTEXT,55)
|
---|
155 | S LRTEXT=$E($S(LRH(3)'="":LRH(3),1:LRH(17)),1,12) D GLENTRY(LRTEXT,BTAB)
|
---|
156 | D DASH
|
---|
157 | S LRTEXT=LRQ(1) D GLENTRY(LRTEXT,0,1)
|
---|
158 | S LRTEXT="AUTOPSY PROTOCOL" D GLENTRY(LRTEXT,IOM-17)
|
---|
159 | S LRTEXT="Patient: "_$E(LRP,1,30) D GLENTRY(LRTEXT,0,1)
|
---|
160 | D GLENTRY(SSN,43),GLENTRY("SEX:"_SEX,56),GLENTRY("DOB:"_DOB,63)
|
---|
161 | D GLENTRY($E(LRLLOC,1,22),0,1)
|
---|
162 | S LRTEXT="Physician: "_$E(LRM(1),1,28) D GLENTRY(LRTEXT,23)
|
---|
163 | S LRTEXT="AGE AT DEATH:"_$J(AGE,3) D GLENTRY(LRTEXT,63)
|
---|
164 | Q
|
---|
165 | DASH ;
|
---|
166 | D GLENTRY(LR("%"),0,1)
|
---|
167 | Q
|
---|
168 | GLENTRY(LRPR1,LRPR2,LRPR3) ;Write to global
|
---|
169 | ;LRPR1 = Text to be written to global
|
---|
170 | ;LRPR2 = Tab position
|
---|
171 | ;LRPR3 = 1 means start a new line. Othewise, write on current line.
|
---|
172 | S LRPR1=$G(LRPR1),LRPR2=+$G(LRPR2),LRPR3=+$G(LRPR3)
|
---|
173 | D:LRPR3 NEWLN^LRAPUTL(LRPR1,LRPR2)
|
---|
174 | D:'LRPR3 GLBWRT^LRAPUTL(LRPR1,LRPR2)
|
---|
175 | Q
|
---|
176 | VART1 ;Setup variables
|
---|
177 | ;14;LRAC;I;AUTOPSY ACCESSION #
|
---|
178 | ;13.5;LRM(2);I;RESIDENT PATHOLOGIST
|
---|
179 | ;12.1;LRM(1);I;PHYSICIAN
|
---|
180 | ;13.01;LRW(9);I;AUTOPSY TYPIST
|
---|
181 | ;13.6;LRM(3);I;SENIOR PATHOLOGIST
|
---|
182 | ;11;LRH(1);;AUTOPSY DATE/TIME
|
---|
183 | ;11;LRH(2);I;AUTOPSY DATE/TIME 2 DIGIT YEAR
|
---|
184 | ;13;LRH(3);;DATE AUTOPSY REPORT COMPLETED
|
---|
185 | ;14.9;LRH(17);;PROVISIONAL ANAT DX DATE
|
---|
186 | ;14.1;LRLLOC;I;LOCATION
|
---|
187 | ;12.5;AGE;I;AGE AT DEATH
|
---|
188 | ;14.5;LRSVC;;SERVICE
|
---|
189 | ;13.7;LRS(3);;AUTOPSY TYPE
|
---|
190 | ;Q
|
---|