LA7UTL1C ;VA/HOIFO/BH - Microbiology Query Utility ;JUL 06, 2010 3:14 PM
;;5.2;AUTOMATED LAB INSTRUMENTS;**69,1027**;NOV 01, 1997
;
;
MI(LRDFN,LRIDT,LAARRAY) ; Get Microbiology data
; Get top node data
;
N LACOMIEN,LAGETIEN,LAGSIEN,LAIEN,LAORGIEN,LAPARIEN,LAPRIEN,LAREMIEN,LASCCOM,LASCIEN,LAFIXANT,LAFCOM,LAFUNIEN,LAMBIEN,LAMBCOM,LAFIXMB,LAMBFLD,LAMBFLD1,LACNT1,LAMBRES,LAVIEN
N LAGETS,LAGETIEN,LAMFLD,LAANTIEN,LACMANTI,LABSPIEN,LAPSPIEN,LAMSPIEN,LAVRRIEN
;
S LAIEN=LRIDT_","_LRDFN
K LARET,LAERR
D GETS^DIQ(63.05,LAIEN,".01;.05;.055;.06;11.51;11.57;11.58;22:23;24;25;.99","IE","LARET","LAERR")
I $D(LAERR("DIERR")) K LAERR Q
M @LAARRAY=LARET
K LARET,LAERR
;
; Get Bact RPT Remark
S LAREMIEN=0
F S LAREMIEN=$O(^LR(LRDFN,"MI",LRIDT,4,LAREMIEN)) Q:'LAREMIEN D
. S LAGETIEN=LAREMIEN_","_LRIDT_","_LRDFN
. K LARET,LAERR
. D GETS^DIQ(63.33,LAGETIEN,".01","IE","LARET","LAERR")
. I $D(LAERR("DIERR")) K LAERR Q
. M @LAARRAY=LARET
. K LARET,LAERR
;
; Get Gram Stain
S LAGSIEN=0
F S LAGSIEN=$O(^LR(LRDFN,"MI",LRIDT,2,LAGSIEN)) Q:'LAGSIEN D
. S LAGETIEN=LAGSIEN_","_LRIDT_","_LRDFN
. K LARET,LAERR
. D GETS^DIQ(63.29,LAGETIEN,".01","IE","LARET","LAERR")
. I $D(LAERR("DIERR")) K LAERR Q
. M @LAARRAY=LARET
. K LARET,LAERR
;
; Get Organism data
S LAORGIEN=0
F S LAORGIEN=$O(^LR(LRDFN,"MI",LRIDT,3,LAORGIEN)) Q:'LAORGIEN D
. S LAGETIEN=LAORGIEN_","_LRIDT_","_LRDFN
. K LARET,LAERR
. D GETS^DIQ(63.3,LAGETIEN,".01;1","IE","LARET","LAERR")
. I $D(LAERR("DIERR")) K LAERR Q
. M @LAARRAY=LARET
. K LARET,LAERR
. S LACOMIEN=0
. F S LACOMIEN=$O(^LR(LRDFN,"MI",LRIDT,3,LAORGIEN,1,LACOMIEN)) Q:'LACOMIEN D
. . S LAGETIEN=LACOMIEN_","_LAORGIEN_","_LRIDT_","_LRDFN
. . K LARET,LAERR
. . D GETS^DIQ(63.31,LAGETIEN,".01","IE","LARET","LAERR")
. . I $D(LAERR("DIERR")) K LAERR Q
. . M @LAARRAY=LARET
. . K LARET,LAERR
. ;
. ;
. S LAFIXANT=2
. F S LAFIXANT=$O(^LR(LRDFN,"MI",LRIDT,3,LAORGIEN,LAFIXANT)) Q:'LAFIXANT!(LAFIXANT'<3) D
. . Q:$E(LAFIXANT,1,4)'="2.00"
. . S LAGETIEN=LAORGIEN_","_LRIDT_","_LRDFN
. . I $L(LAFIXANT)<7 D
. . . S LAMFLD=$$DECODE^LA7UTL1B(LAFIXANT)
. . . I LAMFLD="" Q
. . . N LACNT1,LACNT,LAVAL,LA7ARR1,LAMFLD2,LAIN,LAMFLD3,LAMFLD4
. . . F LACNT=2,3,4 D
. . . . S LAVAL=$P(LAMFLD,U,LACNT)
. . . . S LAIN="LAMFLD"_LACNT
. . . . S @LAIN=$P(LAVAL,"~")
. . . . S LA7ARR1(@LAIN)=$P(LAVAL,"~",2)
. . . . ;
. . . K LARET,LAERR
. . . D GETS^DIQ(63.3,LAGETIEN,LAMFLD2_";"_LAMFLD3_";"_LAMFLD4,"IE","LARET","LAERR")
. . . I $D(LAERR("DIERR")) K LAERR Q
. . . S LACNT1=0
. . . S LAGETIEN=LAGETIEN_","
. . . F S LACNT1=$O(LA7ARR1(LACNT1)) Q:'LACNT1 D
. . . . N LARES
. . . . S LARES=$G(LARET(63.3,LAGETIEN,LACNT1,"I"))
. . . . I LARES="" K LARET(63.3,LAGETIEN,LACNT1) Q
. . . . S LARET(63.3,LAGETIEN,LACNT1,"I")=LA7ARR1(LACNT1)_U_LARES
. . . M @LAARRAY=LARET
. . . ;
. . . ;
. . I $L(LAFIXANT)>6 D
. . . N LACNT2,LANAME,LATEST,LARET,LAERR,LARES
. . . D FIELD^DID(63.3,LAFIXANT,"","LABEL","LATEST")
. . . I '$D(LATEST("LABEL")) Q
. . . S LANAME=LATEST("LABEL")
. . . ;
. . . D GETS^DIQ(63.3,LAGETIEN,LAFIXANT_";"_LAFIXANT_"1;"_LAFIXANT_"2","IE","LARET","LAERR")
. . . I $D(LAERR("DIERR")) K LAERR Q
. . . S LAGETIEN=LAGETIEN_","
. . . S LARES=$G(LARET(63.3,LAGETIEN,LAFIXANT,"I"))
. . . S:LARES'="" LARET(63.3,LAGETIEN,LAFIXANT,"I")=LANAME_U_LARES
. . . I LARES="" K LARET(63.3,LAGETIEN,LAFIXANT)
. . . F LACNT2=1,2 D
. . . . K LATEST
. . . . D FIELD^DID(63.3,LAFIXANT_LACNT2,"","LABEL","LATEST")
. . . . I '$D(LATEST("LABEL")) Q
. . . . S LANAME=LATEST("LABEL")
. . . . S LARES=$G(LARET(63.3,LAGETIEN,LAFIXANT_LACNT2,"I"))
. . . . I LARES="" K LARET(63.3,LAGETIEN,LAFIXANT_LACNT2) Q
. . . . S LARET(63.3,LAGETIEN,LAFIXANT_LACNT2,"I")=LANAME_U_LARES
. . . M @LAARRAY=LARET
. ;
. S LACMANTI=0
. F S LACMANTI=$O(^LR(LRDFN,"MI",LRIDT,3,LAORGIEN,3,LACMANTI)) Q:'LACMANTI D
. . S LAANTIEN=LACMANTI_","_LAORGIEN_","_LRIDT_","_LRDFN
. . K LARET,LAERR
. . D GETS^DIQ(63.32,LAANTIEN,".01;1;2","IE","LARET","LAERR")
. . I $D(LAERR("DIERR")) K LAERR Q
. . M @LAARRAY=LARET
. . K LARET,LAERR
;
;
; Get Parasite data
S LAPARIEN=0
F S LAPARIEN=$O(^LR(LRDFN,"MI",LRIDT,6,LAPARIEN)) Q:'LAPARIEN D
. S LAGETIEN=LAPARIEN_","_LRIDT_","_LRDFN
. K LARET,LAERR
. D GETS^DIQ(63.34,LAGETIEN,".01","IE","LARET","LAERR")
. I $D(LAERR("DIERR")) K LAERR Q
. M @LAARRAY=LARET
. K LARET,LAERR
. ; - Get stage code data
. S LASCIEN=0
. F S LASCIEN=$O(^LR(LRDFN,"MI",LRIDT,6,LAPARIEN,1,LASCIEN)) Q:'LASCIEN D
. . S LAGETIEN=LASCIEN_","_LAPARIEN_","_LRIDT_","_LRDFN
. . K LARET,LAERR
. . D GETS^DIQ(63.35,LAGETIEN,".01;1","IE","LARET","LAERR")
. . I $D(LAERR("DIERR")) K LAERR Q
. . M @LAARRAY=LARET
. . K LARET,LAERR
. . ; - Get stage code comments
. . S LASCCOM=0
. . F S LASCCOM=$O(^LR(LRDFN,"MI",LRIDT,6,LAPARIEN,1,LASCIEN,1,LASCCOM)) Q:'LASCCOM D
. . . S LAGETIEN=LASCCOM_","_LASCIEN_","_LAPARIEN_","_LRIDT_","_LRDFN
. . . K LARET,LAERR
. . . D GETS^DIQ(63.351,LAGETIEN,".01","IE","LARET","LAERR")
. . . I $D(LAERR("DIERR")) K LAERR Q
. . . M @LAARRAY=LARET
. . . K LARET,LAERR
;
; - Get Parasite Remarks
S LAPRIEN=0
F S LAPRIEN=$O(^LR(LRDFN,"MI",LRIDT,7,LAPRIEN)) Q:'LAPRIEN D
. S LAGETIEN=LAPRIEN_","_LRIDT_","_LRDFN
. K LARET,LAERR
. D GETS^DIQ(63.36,LAGETIEN,".01","IE","LARET","LAERR")
. I $D(LAERR("DIERR")) K LAERR Q
. M @LAARRAY=LARET
. K LARET,LAERR
;
; ---Fungus Yeast
S LAFUNIEN=0
F S LAFUNIEN=$O(^LR(LRDFN,"MI",LRIDT,9,LAFUNIEN)) Q:'LAFUNIEN D
. S LAGETIEN=LAFUNIEN_","_LRIDT_","_LRDFN
. K LARET,LAERR
. D GETS^DIQ(63.37,LAGETIEN,".01;1","IE","LARET","LAERR")
. I $D(LAERR("DIERR")) K LAERR Q
. M @LAARRAY=LARET
. K LARET,LAERR
. S LAFCOM=0
. F S LAFCOM=$O(^LR(LRDFN,"MI",LRIDT,9,LAFUNIEN,1,LAFCOM)) Q:'LAFCOM D
. . S LAGETIEN=LAFCOM_","_LAFUNIEN_","_LRIDT_","_LRDFN
. . K LARET,LAERR
. . D GETS^DIQ(63.372,LAGETIEN,".01","IE","LARET","LAERR")
. . I $D(LAERR("DIERR")) K LAERR Q
. . M @LAARRAY=LARET
. . K LARET,LAERR
;
; ---Mycobacteruim
;
S LAMBIEN=0
F S LAMBIEN=$O(^LR(LRDFN,"MI",LRIDT,12,LAMBIEN)) Q:'LAMBIEN D
. S LAGETIEN=LAMBIEN_","_LRIDT_","_LRDFN
. K LARET,LAERR
. D GETS^DIQ(63.39,LAGETIEN,".01;1","IE","LARET","LAERR")
. I $D(LAERR("DIERR")) K LAERR Q
. M @LAARRAY=LARET
. K LARET,LAERR
. S LAMBCOM=0
. F S LAMBCOM=$O(^LR(LRDFN,"MI",LRIDT,12,LAMBIEN,1,LAMBCOM)) Q:'LAMBCOM D
. . S LAGETIEN=LAMBCOM_","_LAMBIEN_","_LRIDT_","_LRDFN
. . K LARET,LAERR
. . D GETS^DIQ(63.4,LAGETIEN,".01","IE","LARET","LAERR")
. . I $D(LAERR("DIERR")) K LAERR Q
. . M @LAARRAY=LARET
. K LARET,LAERR
. S LAFIXMB=2
. S LAGETIEN=LAMBIEN_","_LRIDT_","_LRDFN
. F S LAFIXMB=$O(^LR(LRDFN,"MI",LRIDT,12,LAMBIEN,LAFIXMB)) Q:'LAFIXMB!(LAFIXMB'<3) D
. . Q:$E(LAFIXMB,1,4)'="2.00"
. . I $L(LAFIXMB)<7 D
. . . S LAMBFLD=$P($$DECODEMB^LA7UTL1B(LAFIXMB),U,2)
. . . I LAMBFLD="" Q
. . . S LAMBFLD1=$P(LAMBFLD,"~",2)
. . . S LAMBFLD=$P(LAMBFLD,"~",1)
. . . K LARET,LAERR
. . . D GETS^DIQ(63.39,LAGETIEN,LAMBFLD,"IE","LARET","LAERR")
. . . ;
. . . I $D(LAERR("DIERR"))!('$D(LARET)) K LARET,LAERR Q
. . . ;
. . . S LAGETS=LAGETIEN_","
. . . S LAMBRES=$G(LARET(63.39,LAGETS,LAMBFLD,"I"))
. . . I LAMBRES="" K LARET(63.39,LAGETS,LAMBFLD) Q
. . . S LARET(63.39,LAGETS,LAMBFLD,"I")=LAMBFLD1_U_LAMBRES
. . . M @LAARRAY=LARET
. . . ;
. . . ;
. . I $L(LAFIXMB)>6 D
. . . N LANAME,LATEST,LARET,LAERR,LAMBRES
. . . D FIELD^DID(63.39,LAFIXMB,"","LABEL","LATEST")
. . . I '$D(LATEST("LABEL")) Q
. . . S LANAME=LATEST("LABEL")
. . . K LARET,LAERR
. . . D GETS^DIQ(63.39,LAGETIEN,LAFIXMB,"IE","LARET","LAERR")
. . . ;
. . . I $D(LAERR("DIERR"))!('$D(LARET)) K LAERR Q
. . . S LAGETS=LAGETIEN_","
. . . S LAMBRES=$G(LARET(63.39,LAGETS,LAFIXMB,"I"))
. . . I LAMBRES="" K LARET(63.39,LAGETS,LAFIXMB) Q
. . . S:LAMBRES'="" LARET(63.39,LAGETS,LAFIXMB,"I")=LANAME_U_LAMBRES
. . . M @LAARRAY=LARET
;
; ---Virus
;
S LAVIEN=0
F S LAVIEN=$O(^LR(LRDFN,"MI",LRIDT,17,LAVIEN)) Q:'LAVIEN D
. S LAGETIEN=LAVIEN_","_LRIDT_","_LRDFN
. K LARET,LAERR
. D GETS^DIQ(63.43,LAGETIEN,".01","IE","LARET","LAERR")
. I $D(LAERR("DIERR")) K LAERR Q
. M @LAARRAY=LARET
. K LARET,LAERR
;
; ---Parasitology Smear/Prep
;
S LAPSPIEN=0
F S LAPSPIEN=$O(^LR(LRDFN,"MI",LRIDT,24,LAPSPIEN)) Q:'LAPSPIEN D
. S LAGETIEN=LAPSPIEN_","_LRIDT_","_LRDFN
. K LARET,LAERR
. D GETS^DIQ(63.341,LAGETIEN,".01","IE","LARET","LAERR")
. I $D(LAERR("DIERR")) K LAERR Q
. M @LAARRAY=LARET
. K LARET,LAERR
;
; ---Bacteriology Smear/Prep
;
S LABSPIEN=0
F S LABSPIEN=$O(^LR(LRDFN,"MI",LRIDT,25,LABSPIEN)) Q:'LABSPIEN D
. S LAGETIEN=LABSPIEN_","_LRIDT_","_LRDFN
. K LARET,LAERR
. D GETS^DIQ(63.291,LAGETIEN,".01","IE","LARET","LAERR")
. I $D(LAERR("DIERR")) K LAERR Q
. M @LAARRAY=LARET
. K LARET,LAERR
;
; ---Mycology Smear/Prep
;
S LAMSPIEN=0
F S LAMSPIEN=$O(^LR(LRDFN,"MI",LRIDT,15,LAMSPIEN)) Q:'LAMSPIEN D
. S LAGETIEN=LAMSPIEN_","_LRIDT_","_LRDFN
. K LARET,LAERR
. D GETS^DIQ(63.371,LAGETIEN,".01","IE","LARET","LAERR")
. I $D(LAERR("DIERR")) K LAERR Q
. M @LAARRAY=LARET
. K LARET,LAERR
;
; ---Virology RPT
;
S LAVRRIEN=0
F S LAVRRIEN=$O(^LR(LRDFN,"MI",LRIDT,18,LAVRRIEN)) Q:'LAVRRIEN D
. S LAGETIEN=LAVRRIEN_","_LRIDT_","_LRDFN
. K LARET,LAERR
. D GETS^DIQ(63.44,LAGETIEN,".01","IE","LARET","LAERR")
. I $D(LAERR("DIERR")) K LAERR Q
. M @LAARRAY=LARET
. K LARET,LAERR
;
Q
;
LA7UTL1C ;VA/HOIFO/BH - Microbiology Query Utility ;JUL 06, 2010 3:14 PM
+1 ;;5.2;AUTOMATED LAB INSTRUMENTS;**69,1027**;NOV 01, 1997
+2 ;
+3 ;
MI(LRDFN,LRIDT,LAARRAY) ; Get Microbiology data
+1 ; Get top node data
+2 ;
+3 NEW LACOMIEN,LAGETIEN,LAGSIEN,LAIEN,LAORGIEN,LAPARIEN,LAPRIEN,LAREMIEN,LASCCOM,LASCIEN,LAFIXANT,LAFCOM,LAFUNIEN,LAMBIEN,LAMBCOM,LAFIXMB,LAMBFLD,LAMBFLD1,LACNT1,LAMBRES,LAVIEN
+4 NEW LAGETS,LAGETIEN,LAMFLD,LAANTIEN,LACMANTI,LABSPIEN,LAPSPIEN,LAMSPIEN,LAVRRIEN
+5 ;
+6 SET LAIEN=LRIDT_","_LRDFN
+7 KILL LARET,LAERR
+8 DO GETS^DIQ(63.05,LAIEN,".01;.05;.055;.06;11.51;11.57;11.58;22:23;24;25;.99","IE","LARET","LAERR")
+9 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+10 MERGE @LAARRAY=LARET
+11 KILL LARET,LAERR
+12 ;
+13 ; Get Bact RPT Remark
+14 SET LAREMIEN=0
+15 FOR
SET LAREMIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,4,LAREMIEN))
IF 'LAREMIEN
QUIT
Begin DoDot:1
+16 SET LAGETIEN=LAREMIEN_","_LRIDT_","_LRDFN
+17 KILL LARET,LAERR
+18 DO GETS^DIQ(63.33,LAGETIEN,".01","IE","LARET","LAERR")
+19 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+20 MERGE @LAARRAY=LARET
+21 KILL LARET,LAERR
End DoDot:1
+22 ;
+23 ; Get Gram Stain
+24 SET LAGSIEN=0
+25 FOR
SET LAGSIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,2,LAGSIEN))
IF 'LAGSIEN
QUIT
Begin DoDot:1
+26 SET LAGETIEN=LAGSIEN_","_LRIDT_","_LRDFN
+27 KILL LARET,LAERR
+28 DO GETS^DIQ(63.29,LAGETIEN,".01","IE","LARET","LAERR")
+29 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+30 MERGE @LAARRAY=LARET
+31 KILL LARET,LAERR
End DoDot:1
+32 ;
+33 ; Get Organism data
+34 SET LAORGIEN=0
+35 FOR
SET LAORGIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,3,LAORGIEN))
IF 'LAORGIEN
QUIT
Begin DoDot:1
+36 SET LAGETIEN=LAORGIEN_","_LRIDT_","_LRDFN
+37 KILL LARET,LAERR
+38 DO GETS^DIQ(63.3,LAGETIEN,".01;1","IE","LARET","LAERR")
+39 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+40 MERGE @LAARRAY=LARET
+41 KILL LARET,LAERR
+42 SET LACOMIEN=0
+43 FOR
SET LACOMIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,3,LAORGIEN,1,LACOMIEN))
IF 'LACOMIEN
QUIT
Begin DoDot:2
+44 SET LAGETIEN=LACOMIEN_","_LAORGIEN_","_LRIDT_","_LRDFN
+45 KILL LARET,LAERR
+46 DO GETS^DIQ(63.31,LAGETIEN,".01","IE","LARET","LAERR")
+47 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+48 MERGE @LAARRAY=LARET
+49 KILL LARET,LAERR
End DoDot:2
+50 ;
+51 ;
+52 SET LAFIXANT=2
+53 FOR
SET LAFIXANT=$ORDER(^LR(LRDFN,"MI",LRIDT,3,LAORGIEN,LAFIXANT))
IF 'LAFIXANT!(LAFIXANT'<3)
QUIT
Begin DoDot:2
+54 IF $EXTRACT(LAFIXANT,1,4)'="2.00"
QUIT
+55 SET LAGETIEN=LAORGIEN_","_LRIDT_","_LRDFN
+56 IF $LENGTH(LAFIXANT)<7
Begin DoDot:3
+57 SET LAMFLD=$$DECODE^LA7UTL1B(LAFIXANT)
+58 IF LAMFLD=""
QUIT
+59 NEW LACNT1,LACNT,LAVAL,LA7ARR1,LAMFLD2,LAIN,LAMFLD3,LAMFLD4
+60 FOR LACNT=2,3,4
Begin DoDot:4
+61 SET LAVAL=$PIECE(LAMFLD,U,LACNT)
+62 SET LAIN="LAMFLD"_LACNT
+63 SET @LAIN=$PIECE(LAVAL,"~")
+64 SET LA7ARR1(@LAIN)=$PIECE(LAVAL,"~",2)
+65 ;
End DoDot:4
+66 KILL LARET,LAERR
+67 DO GETS^DIQ(63.3,LAGETIEN,LAMFLD2_";"_LAMFLD3_";"_LAMFLD4,"IE","LARET","LAERR")
+68 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+69 SET LACNT1=0
+70 SET LAGETIEN=LAGETIEN_","
+71 FOR
SET LACNT1=$ORDER(LA7ARR1(LACNT1))
IF 'LACNT1
QUIT
Begin DoDot:4
+72 NEW LARES
+73 SET LARES=$GET(LARET(63.3,LAGETIEN,LACNT1,"I"))
+74 IF LARES=""
KILL LARET(63.3,LAGETIEN,LACNT1)
QUIT
+75 SET LARET(63.3,LAGETIEN,LACNT1,"I")=LA7ARR1(LACNT1)_U_LARES
End DoDot:4
+76 MERGE @LAARRAY=LARET
+77 ;
+78 ;
End DoDot:3
+79 IF $LENGTH(LAFIXANT)>6
Begin DoDot:3
+80 NEW LACNT2,LANAME,LATEST,LARET,LAERR,LARES
+81 DO FIELD^DID(63.3,LAFIXANT,"","LABEL","LATEST")
+82 IF '$DATA(LATEST("LABEL"))
QUIT
+83 SET LANAME=LATEST("LABEL")
+84 ;
+85 DO GETS^DIQ(63.3,LAGETIEN,LAFIXANT_";"_LAFIXANT_"1;"_LAFIXANT_"2","IE","LARET","LAERR")
+86 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+87 SET LAGETIEN=LAGETIEN_","
+88 SET LARES=$GET(LARET(63.3,LAGETIEN,LAFIXANT,"I"))
+89 IF LARES'=""
SET LARET(63.3,LAGETIEN,LAFIXANT,"I")=LANAME_U_LARES
+90 IF LARES=""
KILL LARET(63.3,LAGETIEN,LAFIXANT)
+91 FOR LACNT2=1,2
Begin DoDot:4
+92 KILL LATEST
+93 DO FIELD^DID(63.3,LAFIXANT_LACNT2,"","LABEL","LATEST")
+94 IF '$DATA(LATEST("LABEL"))
QUIT
+95 SET LANAME=LATEST("LABEL")
+96 SET LARES=$GET(LARET(63.3,LAGETIEN,LAFIXANT_LACNT2,"I"))
+97 IF LARES=""
KILL LARET(63.3,LAGETIEN,LAFIXANT_LACNT2)
QUIT
+98 SET LARET(63.3,LAGETIEN,LAFIXANT_LACNT2,"I")=LANAME_U_LARES
End DoDot:4
+99 MERGE @LAARRAY=LARET
End DoDot:3
End DoDot:2
+100 ;
+101 SET LACMANTI=0
+102 FOR
SET LACMANTI=$ORDER(^LR(LRDFN,"MI",LRIDT,3,LAORGIEN,3,LACMANTI))
IF 'LACMANTI
QUIT
Begin DoDot:2
+103 SET LAANTIEN=LACMANTI_","_LAORGIEN_","_LRIDT_","_LRDFN
+104 KILL LARET,LAERR
+105 DO GETS^DIQ(63.32,LAANTIEN,".01;1;2","IE","LARET","LAERR")
+106 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+107 MERGE @LAARRAY=LARET
+108 KILL LARET,LAERR
End DoDot:2
End DoDot:1
+109 ;
+110 ;
+111 ; Get Parasite data
+112 SET LAPARIEN=0
+113 FOR
SET LAPARIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,6,LAPARIEN))
IF 'LAPARIEN
QUIT
Begin DoDot:1
+114 SET LAGETIEN=LAPARIEN_","_LRIDT_","_LRDFN
+115 KILL LARET,LAERR
+116 DO GETS^DIQ(63.34,LAGETIEN,".01","IE","LARET","LAERR")
+117 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+118 MERGE @LAARRAY=LARET
+119 KILL LARET,LAERR
+120 ; - Get stage code data
+121 SET LASCIEN=0
+122 FOR
SET LASCIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,6,LAPARIEN,1,LASCIEN))
IF 'LASCIEN
QUIT
Begin DoDot:2
+123 SET LAGETIEN=LASCIEN_","_LAPARIEN_","_LRIDT_","_LRDFN
+124 KILL LARET,LAERR
+125 DO GETS^DIQ(63.35,LAGETIEN,".01;1","IE","LARET","LAERR")
+126 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+127 MERGE @LAARRAY=LARET
+128 KILL LARET,LAERR
+129 ; - Get stage code comments
+130 SET LASCCOM=0
+131 FOR
SET LASCCOM=$ORDER(^LR(LRDFN,"MI",LRIDT,6,LAPARIEN,1,LASCIEN,1,LASCCOM))
IF 'LASCCOM
QUIT
Begin DoDot:3
+132 SET LAGETIEN=LASCCOM_","_LASCIEN_","_LAPARIEN_","_LRIDT_","_LRDFN
+133 KILL LARET,LAERR
+134 DO GETS^DIQ(63.351,LAGETIEN,".01","IE","LARET","LAERR")
+135 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+136 MERGE @LAARRAY=LARET
+137 KILL LARET,LAERR
End DoDot:3
End DoDot:2
End DoDot:1
+138 ;
+139 ; - Get Parasite Remarks
+140 SET LAPRIEN=0
+141 FOR
SET LAPRIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,7,LAPRIEN))
IF 'LAPRIEN
QUIT
Begin DoDot:1
+142 SET LAGETIEN=LAPRIEN_","_LRIDT_","_LRDFN
+143 KILL LARET,LAERR
+144 DO GETS^DIQ(63.36,LAGETIEN,".01","IE","LARET","LAERR")
+145 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+146 MERGE @LAARRAY=LARET
+147 KILL LARET,LAERR
End DoDot:1
+148 ;
+149 ; ---Fungus Yeast
+150 SET LAFUNIEN=0
+151 FOR
SET LAFUNIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,9,LAFUNIEN))
IF 'LAFUNIEN
QUIT
Begin DoDot:1
+152 SET LAGETIEN=LAFUNIEN_","_LRIDT_","_LRDFN
+153 KILL LARET,LAERR
+154 DO GETS^DIQ(63.37,LAGETIEN,".01;1","IE","LARET","LAERR")
+155 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+156 MERGE @LAARRAY=LARET
+157 KILL LARET,LAERR
+158 SET LAFCOM=0
+159 FOR
SET LAFCOM=$ORDER(^LR(LRDFN,"MI",LRIDT,9,LAFUNIEN,1,LAFCOM))
IF 'LAFCOM
QUIT
Begin DoDot:2
+160 SET LAGETIEN=LAFCOM_","_LAFUNIEN_","_LRIDT_","_LRDFN
+161 KILL LARET,LAERR
+162 DO GETS^DIQ(63.372,LAGETIEN,".01","IE","LARET","LAERR")
+163 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+164 MERGE @LAARRAY=LARET
+165 KILL LARET,LAERR
End DoDot:2
End DoDot:1
+166 ;
+167 ; ---Mycobacteruim
+168 ;
+169 SET LAMBIEN=0
+170 FOR
SET LAMBIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,12,LAMBIEN))
IF 'LAMBIEN
QUIT
Begin DoDot:1
+171 SET LAGETIEN=LAMBIEN_","_LRIDT_","_LRDFN
+172 KILL LARET,LAERR
+173 DO GETS^DIQ(63.39,LAGETIEN,".01;1","IE","LARET","LAERR")
+174 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+175 MERGE @LAARRAY=LARET
+176 KILL LARET,LAERR
+177 SET LAMBCOM=0
+178 FOR
SET LAMBCOM=$ORDER(^LR(LRDFN,"MI",LRIDT,12,LAMBIEN,1,LAMBCOM))
IF 'LAMBCOM
QUIT
Begin DoDot:2
+179 SET LAGETIEN=LAMBCOM_","_LAMBIEN_","_LRIDT_","_LRDFN
+180 KILL LARET,LAERR
+181 DO GETS^DIQ(63.4,LAGETIEN,".01","IE","LARET","LAERR")
+182 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+183 MERGE @LAARRAY=LARET
End DoDot:2
+184 KILL LARET,LAERR
+185 SET LAFIXMB=2
+186 SET LAGETIEN=LAMBIEN_","_LRIDT_","_LRDFN
+187 FOR
SET LAFIXMB=$ORDER(^LR(LRDFN,"MI",LRIDT,12,LAMBIEN,LAFIXMB))
IF 'LAFIXMB!(LAFIXMB'<3)
QUIT
Begin DoDot:2
+188 IF $EXTRACT(LAFIXMB,1,4)'="2.00"
QUIT
+189 IF $LENGTH(LAFIXMB)<7
Begin DoDot:3
+190 SET LAMBFLD=$PIECE($$DECODEMB^LA7UTL1B(LAFIXMB),U,2)
+191 IF LAMBFLD=""
QUIT
+192 SET LAMBFLD1=$PIECE(LAMBFLD,"~",2)
+193 SET LAMBFLD=$PIECE(LAMBFLD,"~",1)
+194 KILL LARET,LAERR
+195 DO GETS^DIQ(63.39,LAGETIEN,LAMBFLD,"IE","LARET","LAERR")
+196 ;
+197 IF $DATA(LAERR("DIERR"))!('$DATA(LARET))
KILL LARET,LAERR
QUIT
+198 ;
+199 SET LAGETS=LAGETIEN_","
+200 SET LAMBRES=$GET(LARET(63.39,LAGETS,LAMBFLD,"I"))
+201 IF LAMBRES=""
KILL LARET(63.39,LAGETS,LAMBFLD)
QUIT
+202 SET LARET(63.39,LAGETS,LAMBFLD,"I")=LAMBFLD1_U_LAMBRES
+203 MERGE @LAARRAY=LARET
+204 ;
+205 ;
End DoDot:3
+206 IF $LENGTH(LAFIXMB)>6
Begin DoDot:3
+207 NEW LANAME,LATEST,LARET,LAERR,LAMBRES
+208 DO FIELD^DID(63.39,LAFIXMB,"","LABEL","LATEST")
+209 IF '$DATA(LATEST("LABEL"))
QUIT
+210 SET LANAME=LATEST("LABEL")
+211 KILL LARET,LAERR
+212 DO GETS^DIQ(63.39,LAGETIEN,LAFIXMB,"IE","LARET","LAERR")
+213 ;
+214 IF $DATA(LAERR("DIERR"))!('$DATA(LARET))
KILL LAERR
QUIT
+215 SET LAGETS=LAGETIEN_","
+216 SET LAMBRES=$GET(LARET(63.39,LAGETS,LAFIXMB,"I"))
+217 IF LAMBRES=""
KILL LARET(63.39,LAGETS,LAFIXMB)
QUIT
+218 IF LAMBRES'=""
SET LARET(63.39,LAGETS,LAFIXMB,"I")=LANAME_U_LAMBRES
+219 MERGE @LAARRAY=LARET
End DoDot:3
End DoDot:2
End DoDot:1
+220 ;
+221 ; ---Virus
+222 ;
+223 SET LAVIEN=0
+224 FOR
SET LAVIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,17,LAVIEN))
IF 'LAVIEN
QUIT
Begin DoDot:1
+225 SET LAGETIEN=LAVIEN_","_LRIDT_","_LRDFN
+226 KILL LARET,LAERR
+227 DO GETS^DIQ(63.43,LAGETIEN,".01","IE","LARET","LAERR")
+228 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+229 MERGE @LAARRAY=LARET
+230 KILL LARET,LAERR
End DoDot:1
+231 ;
+232 ; ---Parasitology Smear/Prep
+233 ;
+234 SET LAPSPIEN=0
+235 FOR
SET LAPSPIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,24,LAPSPIEN))
IF 'LAPSPIEN
QUIT
Begin DoDot:1
+236 SET LAGETIEN=LAPSPIEN_","_LRIDT_","_LRDFN
+237 KILL LARET,LAERR
+238 DO GETS^DIQ(63.341,LAGETIEN,".01","IE","LARET","LAERR")
+239 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+240 MERGE @LAARRAY=LARET
+241 KILL LARET,LAERR
End DoDot:1
+242 ;
+243 ; ---Bacteriology Smear/Prep
+244 ;
+245 SET LABSPIEN=0
+246 FOR
SET LABSPIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,25,LABSPIEN))
IF 'LABSPIEN
QUIT
Begin DoDot:1
+247 SET LAGETIEN=LABSPIEN_","_LRIDT_","_LRDFN
+248 KILL LARET,LAERR
+249 DO GETS^DIQ(63.291,LAGETIEN,".01","IE","LARET","LAERR")
+250 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+251 MERGE @LAARRAY=LARET
+252 KILL LARET,LAERR
End DoDot:1
+253 ;
+254 ; ---Mycology Smear/Prep
+255 ;
+256 SET LAMSPIEN=0
+257 FOR
SET LAMSPIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,15,LAMSPIEN))
IF 'LAMSPIEN
QUIT
Begin DoDot:1
+258 SET LAGETIEN=LAMSPIEN_","_LRIDT_","_LRDFN
+259 KILL LARET,LAERR
+260 DO GETS^DIQ(63.371,LAGETIEN,".01","IE","LARET","LAERR")
+261 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+262 MERGE @LAARRAY=LARET
+263 KILL LARET,LAERR
End DoDot:1
+264 ;
+265 ; ---Virology RPT
+266 ;
+267 SET LAVRRIEN=0
+268 FOR
SET LAVRRIEN=$ORDER(^LR(LRDFN,"MI",LRIDT,18,LAVRRIEN))
IF 'LAVRRIEN
QUIT
Begin DoDot:1
+269 SET LAGETIEN=LAVRRIEN_","_LRIDT_","_LRDFN
+270 KILL LARET,LAERR
+271 DO GETS^DIQ(63.44,LAGETIEN,".01","IE","LARET","LAERR")
+272 IF $DATA(LAERR("DIERR"))
KILL LAERR
QUIT
+273 MERGE @LAARRAY=LARET
+274 KILL LARET,LAERR
End DoDot:1
+275 ;
+276 QUIT
+277 ;