| [623] | 1 | LRAPBR1 ;DALOI/WTY/KLL;AP Browser Print Cont.;11/08/01 | 
|---|
|  | 2 | ;;5.2;LAB SERVICE;**259,317**;Sep 27, 1994 | 
|---|
|  | 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 | .I $P($G(^LR(LRDFN,LRSS,LRI,LRV,0)),U,4) D | 
|---|
|  | 104 | ..D GLENTRY("","",1),GLENTRY(LR(69.2,LRV1),"",1) | 
|---|
|  | 105 | ..S LRFILE=LRSF,LRIENS=LRI_","_LRDFN_",",LRFLD=LRV | 
|---|
|  | 106 | ..I $P($G(^LR(LRDFN,LRSS,LRI,LRV2,0)),U,4) D | 
|---|
|  | 107 | ...S LRFILE1=+$$GET1^DID(LRSF,LRV2,"","SPECIFIER") | 
|---|
|  | 108 | ...D GLENTRY("*+* MODIFIED REPORT *+*",28,1) | 
|---|
|  | 109 | ...D GLENTRY("(Last modified: ","",1) | 
|---|
|  | 110 | ...S (LRA1,LRB1)=0 | 
|---|
|  | 111 | ...F  S LRA1=$O(^LR(LRDFN,LRSS,LRI,LRV2,LRA1)) Q:'LRA1  S LRB1=LRA1 | 
|---|
|  | 112 | ...Q:'$D(^LR(LRDFN,LRSS,LRI,LRV2,LRB1,0)) | 
|---|
|  | 113 | ...S LRSR1=$$GET1^DIQ(LRFILE1,LRB1_","_LRIENS,.01) | 
|---|
|  | 114 | ...S LRSR2=$$GET1^DIQ(LRFILE1,LRB1_","_LRIENS,.02) | 
|---|
|  | 115 | ...S LRTEXT=LRSR1_" typed by "_LRSR2_")" | 
|---|
|  | 116 | ...D GLENTRY(LRTEXT,BTAB) | 
|---|
|  | 117 | ..D WP | 
|---|
|  | 118 | Q | 
|---|
|  | 119 | SUPRPT ;Supplementary Report | 
|---|
|  | 120 | I $P($G(^LR(LRDFN,LRSS,LRI,1.2,0)),U,4) D | 
|---|
|  | 121 | .S LRFILE=+$$GET1^DID(LRSF,1.2,"","SPECIFIER") | 
|---|
|  | 122 | .S LRIENS1=LRI_","_LRDFN_"," | 
|---|
|  | 123 | .D GLENTRY("","",1),GLENTRY("SUPPLEMENTARY REPORT(S):","",1) | 
|---|
|  | 124 | .S LRV=0 F  S LRV=$O(^LR(LRDFN,LRSS,LRI,1.2,LRV)) Q:'LRV  D | 
|---|
|  | 125 | ..S LRIENS=LRV_","_LRIENS1 | 
|---|
|  | 126 | ..S LRSR1=$$GET1^DIQ(LRFILE,LRIENS,.01) | 
|---|
|  | 127 | ..S LRSR2=+$$GET1^DIQ(LRFILE,LRIENS,.02) | 
|---|
|  | 128 | ..D GLENTRY("Supplementary Report Date: "_LRSR1,3,1) | 
|---|
|  | 129 | ..I $D(LR("R")),'LRSR2 D GLENTRY(" not verified",BTAB) Q | 
|---|
|  | 130 | ..I $P($G(^LR(LRDFN,LRSS,LRI,1.2,LRV,2,0)),U,4) D | 
|---|
|  | 131 | ...S LRTEXT="*+* SUPPLEMENTARY REPORT HAS BEEN ADDED/MODIFIED *+*" | 
|---|
|  | 132 | ...D GLENTRY($$CJ^XLFSTR(LRTEXT,IOM),"",1) | 
|---|
|  | 133 | ...D GLENTRY("(Added/Last","",1) | 
|---|
|  | 134 | ...S (LRA1,LRB1)=0 | 
|---|
|  | 135 | ...F  S LRA1=$O(^LR(LRDFN,LRSS,LRI,1.2,LRV,2,LRA1)) Q:'LRA1  D | 
|---|
|  | 136 | ....S LRB1=LRA1 | 
|---|
|  | 137 | ...Q:'$D(^LR(LRDFN,LRSS,LRI,1.2,LRV,2,LRB1,0)) | 
|---|
|  | 138 | ...S LRA2=^(0),Y=+LRA2,LRA2A=$P(LRA2,"^",2),LRSGN=" Typed by ",LRDSC=" modified: " | 
|---|
|  | 139 | ...I $P(LRA2,"^",3) S LRSGN=" Signed by ",LRDSC=" released: ",LRA2A=$P(LRA2,"^",3),Y=$P(LRA2,"^",4) | 
|---|
|  | 140 | ...S LRA2A=$S($D(^VA(200,LRA2A,0)):$P(^(0),"^"),1:LRA2A) | 
|---|
|  | 141 | ...D D^LRU | 
|---|
|  | 142 | ...D GLENTRY(LRDSC_Y_LRSGN_LRA2A_")",BTAB) | 
|---|
|  | 143 | ..S LRFLD=1 D WP | 
|---|
|  | 144 | ..D GLENTRY("","",1) | 
|---|
|  | 145 | Q | 
|---|
|  | 146 | SSJR ;Print special studies/journal references | 
|---|
|  | 147 | D ^LRAPBR3 | 
|---|
|  | 148 | S LREFLG=1 | 
|---|
|  | 149 | Q | 
|---|
|  | 150 | WP ;Display word procesing fields | 
|---|
|  | 151 | K LRTMP,^UTILITY($J,"W") | 
|---|
|  | 152 | N X,DIWR,DIWL,LRINC | 
|---|
|  | 153 | S X=$$GET1^DIQ(LRFILE,LRIENS,LRFLD,"","LRTMP",) | 
|---|
|  | 154 | S DIWR=IOM-5,DIWL=5,DIWF="" | 
|---|
|  | 155 | S X=+$$GET1^DID(LRFILE,LRFLD,"","SPECIFIER") | 
|---|
|  | 156 | I $$GET1^DID(X,.01,"","SPECIFIER")["L" S DIWF="N" | 
|---|
|  | 157 | S LRINC=0 | 
|---|
|  | 158 | F  S LRINC=$O(LRTMP(LRINC)) Q:'LRINC  S X=LRTMP(LRINC) D ^DIWP | 
|---|
|  | 159 | S LRINC=0 | 
|---|
|  | 160 | F  S LRINC=$O(^UTILITY($J,"W",DIWL,LRINC)) Q:'LRINC  D | 
|---|
|  | 161 | .D GLENTRY(^UTILITY($J,"W",DIWL,LRINC,0),DIWL,1) | 
|---|
|  | 162 | K ^UTILITY($J,"W") | 
|---|
|  | 163 | Q | 
|---|
|  | 164 | HEADER ; | 
|---|
|  | 165 | D:LRTIU GLENTRY("$APHDR",,1) | 
|---|
|  | 166 | D GLENTRY("","",1) | 
|---|
|  | 167 | D DASH | 
|---|
|  | 168 | D GLENTRY("MEDICAL RECORD |",5,1) | 
|---|
|  | 169 | D GLENTRY(LRAA1,40) | 
|---|
|  | 170 | D DASH | 
|---|
|  | 171 | HEADER2 ; | 
|---|
|  | 172 | S LRADESC="Accession No. "_$S(LRQ(8)]"":LRQ(8)_LRW(1)_" "_LRAC,1:LRAC) | 
|---|
|  | 173 | S LRLENG1=$L(LRQ(1)),LRLENG2=$L(LRADESC),LRSPCE=IOM-LRLENG2-14 | 
|---|
|  | 174 | S:LRLENG1>LRSPCE LRQ(1)=$E(LRQ(1),1,LRSPCE) | 
|---|
|  | 175 | D GLENTRY("PATHOLOGY REPORT",30,1) | 
|---|
|  | 176 | D GLENTRY("Laboratory: "_LRQ(1),"",1) | 
|---|
|  | 177 | D GLENTRY(LRADESC,IOM-LRLENG2-1) | 
|---|
|  | 178 | Q | 
|---|
|  | 179 | FOOTER ;Footer-called from ^LRAPBR | 
|---|
|  | 180 | D:LRTIU GLENTRY("$FTR",,1) | 
|---|
|  | 181 | D DASH | 
|---|
|  | 182 | S LRTEXT=$S('$D(LR("W")):"",1:"See signed copy in chart") | 
|---|
|  | 183 | D GLENTRY(LRTEXT,"",1) | 
|---|
|  | 184 | S LRTEXT="("_$S($D(LREFLG):"End of report",1:"See next page")_")" | 
|---|
|  | 185 | D GLENTRY(LRTEXT,57) | 
|---|
|  | 186 | D GLENTRY(LRPMD,"",1),GLENTRY(LRW(9),52),GLENTRY("| Date "_LRRC,55) | 
|---|
|  | 187 | D DASH | 
|---|
|  | 188 | D GLENTRY(LRP,"",1) | 
|---|
|  | 189 | S LRTEXT=$S('$D(LR("W")):"STANDARD FORM 515",1:"WORK COPY ONLY !!") | 
|---|
|  | 190 | D GLENTRY(LRTEXT,50) | 
|---|
|  | 191 | D GLENTRY("ID:"_SSN,"",1) | 
|---|
|  | 192 | D GLENTRY("SEX:"_SEX,16),GLENTRY(" DOB:"_DOB,BTAB) | 
|---|
|  | 193 | I AGE D | 
|---|
|  | 194 | .S LRTEXT=$S($G(VADM(6))]"":" AGE AT DEATH: ",1:" AGE: ")_AGE | 
|---|
|  | 195 | .D GLENTRY(LRTEXT,BTAB) | 
|---|
|  | 196 | D GLENTRY(" LOC:"_LRLLOC,BTAB) | 
|---|
|  | 197 | D GLENTRY("","",1) | 
|---|
|  | 198 | D:$L(LRADM) GLENTRY("ADM:"_$P(LRADM,"@"),BTAB) | 
|---|
|  | 199 | D:$L(LRADX) GLENTRY("DX:"_$E(LRADX,1,26),17) | 
|---|
|  | 200 | D GLENTRY("PCP:",46) | 
|---|
|  | 201 | D:$L(LRPRAC) GLENTRY($E(LRPRAC(1),1,28),51) | 
|---|
|  | 202 | Q | 
|---|
|  | 203 | ESIGLN ;Write signature block name, title, and date of signature | 
|---|
|  | 204 | D GLENTRY(,,1) | 
|---|
|  | 205 | I $D(^VA(200,DUZ,0)) D | 
|---|
|  | 206 | .S LRFILE=200,LRFLD=20.2,LRFLD2=20.3 | 
|---|
|  | 207 | .S X=$$GET1^DIQ(LRFILE,DUZ,LRFLD) | 
|---|
|  | 208 | ;Compare DUZ to pathologist, if different, use proxy signature | 
|---|
|  | 209 | S:LRSS="AU" LRPATH=$$GET1^DIQ(63,LRDFN,13.6,"I") | 
|---|
|  | 210 | I LRSS'="AU" D | 
|---|
|  | 211 | .S LRFL2=$S(LRSS="EM":63.02,LRSS="CY":63.09,LRSS="SP":63.08,1:0) | 
|---|
|  | 212 | .S LRIENS=LRI_","_LRDFN_"," | 
|---|
|  | 213 | .S LRPATH=$$GET1^DIQ(LRFL2,LRIENS,.02,"I") | 
|---|
|  | 214 | S LRPATH2="" | 
|---|
|  | 215 | S:LRPATH'=DUZ LRPATH2=" FOR "_$$GET1^DIQ(LRFILE,LRPATH,LRFLD) | 
|---|
|  | 216 | S LRTEXT="/es/ "_X_LRPATH2 | 
|---|
|  | 217 | ;S LRTEXT="/es/ "_X | 
|---|
|  | 218 | D GLENTRY(LRTEXT,,1) | 
|---|
|  | 219 | S X=$$GET1^DIQ(LRFILE,DUZ,LRFLD2) | 
|---|
|  | 220 | S LRTEXT=X | 
|---|
|  | 221 | D GLENTRY(LRTEXT,,1) | 
|---|
|  | 222 | S Y=LRNTIME D DD^%DT | 
|---|
|  | 223 | S LRTEXT="Signed "_Y | 
|---|
|  | 224 | D GLENTRY(LRTEXT,,1) | 
|---|
|  | 225 | Q | 
|---|
|  | 226 | DASH ;Display a line of dashes | 
|---|
|  | 227 | D GLENTRY(LR("%"),"",1) | 
|---|
|  | 228 | Q | 
|---|
|  | 229 | GLENTRY(LRPR1,LRPR2,LRPR3) ;Write to global | 
|---|
|  | 230 | ;LRPR1 = Text to be written to global | 
|---|
|  | 231 | ;LRPR2 = Tab position | 
|---|
|  | 232 | ;LRPR3 = 1 means start a new line.  Othewise, write an current line. | 
|---|
|  | 233 | S LRPR1=$G(LRPR1) | 
|---|
|  | 234 | S LRPR2=+$G(LRPR2) | 
|---|
|  | 235 | S LRPR3=+$G(LRPR3) | 
|---|
|  | 236 | D:LRPR3 NEWLN^LRAPUTL(LRPR1,LRPR2) | 
|---|
|  | 237 | D:'LRPR3 GLBWRT^LRAPUTL(LRPR1,LRPR2) | 
|---|
|  | 238 | Q | 
|---|
|  | 239 | TEXT1 ;Text for top of report | 
|---|
|  | 240 | ;BRIEF CLINICAL HISTORY: | 
|---|
|  | 241 | ;PREOPERATIVE DIAGNOSIS: | 
|---|
|  | 242 | ;OPERATIVE FINDINGS: | 
|---|
|  | 243 | ;POSTOPERATIVE DIAGNOSIS: | 
|---|
|  | 244 | TEXT2 ;Descriptive text based on section | 
|---|
|  | 245 | ;SP;Pathology Resident: | 
|---|
|  | 246 | ;CY;Screened by: | 
|---|
|  | 247 | ;EM;Prepared by: | 
|---|
|  | 248 | FIELDS ;Field numbers for word processing fields | 
|---|
|  | 249 | ;1.3;.13;6 | 
|---|
|  | 250 | ;1;.03;7 | 
|---|
|  | 251 | ;1.1;.04;4 | 
|---|
|  | 252 | ;1.4;.14;5 | 
|---|