198 lines
6.6 KiB
Mathematica
198 lines
6.6 KiB
Mathematica
LRAPBR5 ;DALOI/WTY;AUTOPSY BROWSER DISPLAY/TIU STORAGE;6/5/2001
|
|
;;5.2;LAB SERVICE;**259**;Sep 27, 1994
|
|
;
|
|
;This routine was copied from ^LRAPT2. It was updated with FileMan
|
|
;DBS calls and modified to be used for browser display and storage
|
|
;of the SF515 in TIU.
|
|
;
|
|
MAIN ;
|
|
N LRLLOC,LRDTDIED,LRTMP,LRNUM,LRINC,LRINC1
|
|
S LRQUIT=0
|
|
S:'$D(LRIENS) LRIENS=LRDFN_","
|
|
D HEADER
|
|
Q:LRQUIT
|
|
D WEIGHTS
|
|
D SPCSTD
|
|
D JRNLREF
|
|
D:'LRAU DIAGS
|
|
Q
|
|
HEADER ;
|
|
D GLENTRY("","",1)
|
|
D GLENTRY(LRP,"",1)
|
|
D GLENTRY(SSN,32)
|
|
D GLENTRY("DOB: "_DOB,52)
|
|
S LR("F")=1
|
|
I 'LRTIU,'+$$GET1^DIQ(63,LRIENS,14.7,"I") D Q
|
|
.D GLENTRY("","",1)
|
|
.D GLENTRY("Autopsy protocol report not verified.","",1)
|
|
.S LRQUIT=1
|
|
S LRLLOC=$$GET1^DIQ(63,LRIENS,14.5,"E")
|
|
S DA=LRDFN D D^LRAUAW S Y=LR(63,12) D D^LRU S LRDTDIED=Y
|
|
D GLENTRY("Acc: "_$$GET1^DIQ(63,LRIENS,14),"",1)
|
|
D GLENTRY("AUTOPSY DATA",32)
|
|
D GLENTRY("Age: "_$J($$GET1^DIQ(63,LRIENS,12.5),3),52)
|
|
D GLENTRY("Date/time Died","",1)
|
|
D GLENTRY("Date/time of Autopsy",52)
|
|
D GLENTRY(LRDTDIED,"",1)
|
|
D GLENTRY($E($$GET1^DIQ(63,LRIENS,13.7,"E"),1,18),32)
|
|
D GLENTRY($$GET1^DIQ(63,LRIENS,11,"E"),52)
|
|
D GLENTRY("Resident: "_$$GET1^DIQ(63,LRIENS,13.5,"E"),"",1)
|
|
D GLENTRY("Senior: "_$E($$GET1^DIQ(63,LRIENS,13.6,"E"),1,19),52)
|
|
Q
|
|
WEIGHTS ;Display/Store Weights & Measures
|
|
D GLENTRY("","",1)
|
|
I $D(^LR(LRDFN,"AW")) D
|
|
.S LRTMP="Rt--Lung--Lt Liver Spleen Rt--Kidney--Lt Brain Body "
|
|
.S LRTMP=LRTMP_"Wt(lb) Ht(in)"
|
|
.D GLENTRY(LRTMP,"",1)
|
|
.D GLENTRY($J($$GET1^DIQ(63,LRIENS,18),4),"",1)
|
|
.D GLENTRY($J($$GET1^DIQ(63,LRIENS,19),4),8)
|
|
.D GLENTRY($J($$GET1^DIQ(63,LRIENS,20),5),14)
|
|
.D GLENTRY($J($$GET1^DIQ(63,LRIENS,21),5),21)
|
|
.D GLENTRY($J($$GET1^DIQ(63,LRIENS,22),4),28)
|
|
.D GLENTRY($J($$GET1^DIQ(63,LRIENS,23),4),38)
|
|
.D GLENTRY($J($$GET1^DIQ(63,LRIENS,25),4),45)
|
|
.D GLENTRY($$GET1^DIQ(63,LRIENS,17),55)
|
|
.D GLENTRY($$GET1^DIQ(63,LRIENS,16),68)
|
|
F LRINC=1:1:2 D GLENTRY("","",1)
|
|
D:$D(^LR(LRDFN,"AW")) GLENTRY("Heart(gm)",BTAB)
|
|
I $D(^LR(LRDFN,"AV")) D
|
|
.D GLENTRY("TV(cm) PV(cm) MV(cm) AV(cm) RV(cm) LV(cm)",12)
|
|
D GLENTRY("","",1)
|
|
D GLENTRY($J($$GET1^DIQ(63,LRIENS,24),5),BTAB)
|
|
I $D(^LR(LRDFN,"AV")) D
|
|
.S LRNUM=12
|
|
.F LRINC=26:1:31 D
|
|
..D GLENTRY($J($$GET1^DIQ(63,LRIENS,LRINC),4),LRNUM)
|
|
..S LRNUM=LRNUM+8
|
|
.D GLENTRY("","",1)
|
|
.S LRTMP="Cavities(ml): Rt--Pleural--Lt Pericardial Peritoneal"
|
|
.D GLENTRY(LRTMP,"",1)
|
|
.D GLENTRY($J($$GET1^DIQ(63,LRIENS,31.2),4),14,1)
|
|
.D GLENTRY($J($$GET1^DIQ(63,LRIENS,31.1),4),25)
|
|
.D GLENTRY($J($$GET1^DIQ(63,LRIENS,31.3),4),33)
|
|
.D GLENTRY($J($$GET1^DIQ(63,LRIENS,31.4),4),45)
|
|
I $D(^LR(LRDFN,"AW")) D
|
|
.D GLENTRY("","",1)
|
|
.F LRINC=1:1:8 D
|
|
..S LRTMP=$$GET1^DIQ(63,LRIENS,"25."_LRINC)
|
|
..Q:LRTMP=""
|
|
..D GLENTRY($$GET1^DID(63,"25."_LRINC,"","LABEL")_": "_LRTMP,"",1)
|
|
I $D(^LR(LRDFN,"AWI")) D
|
|
.D GLENTRY("","",1)
|
|
.F LRINC=1:1:5 D
|
|
..S LRNUM=$S(LRINC=1:25.9,1:25.9_(LRINC-1))
|
|
..S LRTMP=$$GET1^DIQ(63,LRIENS,LRNUM)
|
|
..Q:LRTMP=""
|
|
..D GLENTRY($$GET1^DID(63,LRNUM,"","LABEL")_": "_LRTMP,"",1)
|
|
Q
|
|
SPCSTD ;Display/store special studies
|
|
N LRARR,LRSPC,LRORGTS,LRIENS1,LRFLG,LRTEXT,LRCNT
|
|
D GLENTRY("","",1)
|
|
S (LRFLG,LRINC)=0
|
|
F S LRINC=$O(^LR(LRDFN,"AY",LRINC)) Q:'LRINC D
|
|
.S LRORGTS=$$GET1^DIQ(63.2,LRINC_","_LRIENS,".01:.01")
|
|
.S LRINC1=0
|
|
.F S LRINC1=$O(^LR(LRDFN,"AY",LRINC,5,LRINC1)) Q:'LRINC1 D
|
|
..S LRIENS1=LRINC1_","_LRINC_","_LRIENS
|
|
..D GETS^DIQ(63.26,LRIENS1,".01;.03","","LRARR")
|
|
..M LRSPC=LRARR(63.26,LRIENS1)
|
|
..S LRSPC(.02)=$$GET1^DIQ(63.26,LRIENS1,.02,"E")
|
|
..I 'LRFLG D
|
|
...D GLENTRY("","",1)
|
|
...D GLENTRY(LRORGTS,BTAB)
|
|
...S LRFLG=1
|
|
..S LRTEXT=LRSPC(.01)_" "_LRSPC(.03)_" Date: "_LRSPC(.02)
|
|
..D GLENTRY(LRTEXT,"",1)
|
|
..K ^UTILITY($J,"W"),LRTMP
|
|
..S X=$$GET1^DIQ(63.26,LRIENS1,1,"","LRTMP")
|
|
..S DIWR=IOM-10,DIWL=10,DIWF=""
|
|
..S X=+$$GET1^DID(63.27,1,"","SPECIFIER","LRDBERR")
|
|
..I $$GET1^DID(X,.01,"","SPECIFIER")["L" S DIWF="N"
|
|
..S LRCNT=0 F S LRCNT=$O(LRTMP(LRCNT)) Q:'LRCNT D
|
|
...S X=LRTMP(LRCNT) D ^DIWP
|
|
..S LRCNT=0 F S LRCNT=$O(^UTILITY($J,"W",DIWL,LRCNT)) Q:'LRCNT D
|
|
...D GLENTRY(^UTILITY($J,"W",DIWL,LRCNT,0),DIWL,1)
|
|
..K ^UTILITY($J,"W")
|
|
..D GLENTRY("","",1)
|
|
Q
|
|
JRNLREF ;Print journal references
|
|
N LRFL,LRM,LRN,LRTP,LRIENS1,LRIENS2,LRIENS3,LRFILE1,LRFILE3,LRFILE4
|
|
D GLENTRY(,,1)
|
|
S LRINC1=0,LRFILE=63.2
|
|
F S LRINC1=$O(^LR(LRDFN,"AY",LRINC1)) Q:'LRINC1 D
|
|
.S LRIENS1=LRINC1_","_LRIENS
|
|
.S LRTP=$$GET1^DIQ(LRFILE,LRIENS1,.01,"I")
|
|
.;Topography
|
|
.N LRN
|
|
.S LRFL=LRTP,LRFILE1=61 D JREFPRT
|
|
.;Morphology
|
|
.S LRFILE1=61.1,LRFILE3=+$$GET1^DID(LRFILE,4,"","SPECIFIER")
|
|
.S LRM=0 F S LRM=$O(^LR(LRDFN,"AY",LRINC1,2,LRM)) Q:'LRM D
|
|
..S LRIENS2=LRM_","_LRIENS1
|
|
..S LRFL=$$GET1^DIQ(LRFILE3,LRIENS2,.01,"I")
|
|
..D JREFPRT
|
|
..;Etiology
|
|
..S LRFILE1=61.2,LRFILE4=+$$GET1^DID(LRFILE3,1,"","SPECIFIER")
|
|
..S LRN=0 F S LRN=$O(^LR(LRDFN,"AY",LRINC1,2,LRM,1,LRN)) Q:'LRN D
|
|
...S LRIENS3=LRN_","_LRIENS2
|
|
...S LRFL=$$GET1^DIQ(LRFILE4,LRIENS3,.01,"I")
|
|
...D JREFPRT
|
|
.;Disease
|
|
.S LRFILE1=61.4,LRFILE3=+$$GET1^DID(LRFILE,3,"","SPECIFIER")
|
|
.S LRM=0 F S LRM=$O(^LR(LRDFN,"AY",LRINC1,1,LRM)) Q:'LRM D
|
|
..S LRIENS2=LRM_","_LRIENS1
|
|
..S LRFL=$$GET1^DIQ(LRFILE3,LRIENS2,.01,"I")
|
|
..D JREFPRT
|
|
.;Function
|
|
.S LRFILE1=61.3,LRFILE3=+$$GET1^DID(LRFILE,1,"","SPECIFIER")
|
|
.S LRM=0 F S LRM=$O(^LR(LRDFN,"AY",LRINC1,3,LRM)) Q:'LRM D
|
|
..S LRIENS2=LRM_","_LRIENS1
|
|
..S LRFL=$$GET1^DIQ(LRFILE3,LRIENS2,.01,"I")
|
|
..D JREFPRT
|
|
.S LRFILE1=61.5,LRFILE3=+$$GET1^DID(LRFILE,1.5,"","SPECIFIER")
|
|
.S LRM=0 F S LRM=$O(^LR(LRDFN,"AY",LRINC1,4,LRM)) Q:'LRM D
|
|
..S LRIENS2=LRM_","_LRIENS1
|
|
..S LRFL=$$GET1^DIQ(LRFILE3,LRIENS2,.01,"I")
|
|
..D JREFPRT
|
|
Q
|
|
JREFPRT ;
|
|
; Print journal reference on the patient report if the
|
|
; reference is flagged for printing.
|
|
N LRJR,LRINC
|
|
S LRFILE2=+$$GET1^DID(LRFILE1,5,"","SPECIFIER")
|
|
S LRJR=0 F S LRJR=$O(^LAB(LRFILE1,LRFL,"JR",LRJR)) Q:'LRJR D
|
|
.S LRJR(.01)=$$GET1^DIQ(LRFILE2,LRJR_","_LRFL_",",.01)
|
|
.F LRINC=1:1:5 D
|
|
..S LRJR(LRINC)=$$GET1^DIQ(LRFILE2,LRJR_","_LRFL_",",LRINC)
|
|
.S LRJR(6)=$$GET1^DIQ(LRFILE2,LRJR_","_LRFL_",",6,"I")
|
|
.Q:'LRJR(6)
|
|
.D GLENTRY(,,1),GLENTRY("Reference: ",,1)
|
|
.D GLENTRY(LRJR(.01),,1)
|
|
.D GLENTRY(LRJR(1),,1),GLENTRY(,,1)
|
|
.I LRJR(2)'="" D
|
|
..D GLENTRY(LRJR(2)_" vol."_LRJR(3),BTAB)
|
|
..D GLENTRY(" pg."_LRJR(4),BTAB)
|
|
.D GLENTRY(" Date: "_LRJR(5),BTAB)
|
|
Q
|
|
DIAGS ;
|
|
N LRV
|
|
D GLENTRY("","",1)
|
|
F LRV=81,82 D
|
|
.D GLENTRY("","",1)
|
|
.D:LRV=81 GLENTRY(LRAU(1),BTAB)
|
|
.D:LRV=82 GLENTRY(LRAU(2),BTAB)
|
|
.S LRFILE=63
|
|
.S LRFIELD=$S(LRV=81:32.2,1:32.3)
|
|
.D WP^LRAPBR4
|
|
.D GLENTRY("","",1)
|
|
Q
|
|
GLENTRY(LRPR1,LRPR2,LRPR3) ;Write to global
|
|
;LRPR1 = Text to be written to global
|
|
;LRPR2 = Tab position
|
|
;LRPR3 = 1 means start a new line. Othewise, write an current line.
|
|
S LRPR1=$G(LRPR1),LRPR2=+$G(LRPR2),LRPR3=+$G(LRPR3)
|
|
D:LRPR3 NEWLN^LRAPUTL(LRPR1,LRPR2)
|
|
D:'LRPR3 GLBWRT^LRAPUTL(LRPR1,LRPR2)
|
|
Q
|