| [613] | 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 | 
|---|