Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BLRMLTL

BLRMLTL.m

Go to the documentation of this file.
  1. BLRMLTL ; IHS/DIR/FJE - SET IHS LAB TRANSACTION LOG - MICRO ; [ 11/18/2002 2:03 PM ]
  1. ;;5.2;BLR;**1001,1014,1015**;NOV 18, 2002
  1. ;
  1. ;S BLRIDT=LRIDT,(BLRTEST,BLRCULT)=$S($D(LRTS):LRTS,1:LRTEST),(BLRRES,BLRTESTN,BLRANTI,BLRANTN,BLRANTP,BLRSTGN,BLRORG,BLRSTG,BLRCMTS)=""
  1. S BLRIDT=LRIDT,(BLRTEST,BLRCULT)=$S($D(LRTS):LRTS,1:LRTEST),(BLRCMPD,BLRCOLSP,BLRRES,BLRTESTN,BLRANTI,BLRANTN,BLRANTP,BLRSTGN,BLRORG,BLRSTG,BLRCMTS)="" ;IHS/DIR TUC/AAB 04/08/98
  1. S BLREXEC=$P(^LAB(60,BLRTEST,0),U,14),BLRGBL=$P($P($P(^LAB(62.07,BLREXEC,.1),"/"),"=",2),"""",2),BLRGBL=$P($P(^DD(63.05,BLRGBL,0),U,4),";",1)
  1. S BLRVAL=$G(^LR(LRDFN,"MI",BLRIDT,BLRGBL))
  1. Q:(BLRVAL=""!($P(BLRVAL,U,2)'="F"))
  1. ;S BLRACCN=$P(^LR(LRDFN,"MI",BLRIDT,0),U,6),BLR60F=1,BLRSETP=0,BLRERFS=""
  1. S BLRACCN=^LR(LRDFN,"MI",BLRIDT,0),BLRCOLSP=$P(BLRACCN,U,11),BLRACCN=$P(BLRACCN,U,6),BLR60F=1,BLRSETP=0,BLRERFS="" ;IHS/DIR TUC/AAB 04/09/98
  1. S:+BLRTEST BLRCMPD=$P($G(^LRO(68,LRAA,1,LRAD,1,LRAN,4,BLRTEST,0)),U,5) ;IHS/DIR TUC/AAB 04/09/98
  1. ;D
  1. I BLRTEST'="",$D(^BLRTXLOG("AAT",BLRACCN,BLRTEST)) D ;IHS/DIR TUC/AAB 04/09/98
  1. .I BLRGBL=1 D BACT Q
  1. .I BLRGBL=5 D PARAS Q
  1. .I BLRGBL=8 D MYCOL Q
  1. .I BLRGBL=11 D TB Q
  1. .I BLRGBL=16 D VIROL Q
  1. D KILL
  1. Q
  1. ;
  1. BACT ;
  1. S BLRRES="NEGATIVE"
  1. I $D(^LR(LRDFN,"MI",BLRIDT,25)) D GETRES(25) D BLDMSTR Q
  1. I $D(^LR(LRDFN,"MI",BLRIDT,2)) D GETRES(2) S BLRTESTN="GRAM STAIN",BLRTEST=$$GETTEST(BLRTESTN) D:BLRCULT=BLRTEST BLDMSTR Q:BLRCULT=BLRTEST D LOOKTST
  1. S BLRTESTN="",BLRRES="NEGATIVE",BLRTEST=BLRCULT
  1. I '$D(^LR(LRDFN,"MI",BLRIDT,3)) D BLDMSTR Q
  1. I $D(^LR(LRDFN,"MI",BLRIDT,3)),$P(^LR(LRDFN,"MI",BLRIDT,3,0),U,3)="" D BLDMSTR Q
  1. I $D(^LR(LRDFN,"MI",BLRIDT,3)),$P(^LR(LRDFN,"MI",BLRIDT,3,0),U,4)=0 D BLDMSTR Q ;organism deleted
  1. S BLRRES="POSITIVE",BLRTEST=LRTS D BLDMSTR S BLRSPT=3 D ORG Q
  1. Q
  1. ;
  1. PARAS ;
  1. S BLRRES="NEGATIVE"
  1. I $D(^LR(LRDFN,"MI",BLRIDT,24)) D GETRES(24),BLDMSTR Q
  1. I '$D(^LR(LRDFN,"MI",BLRIDT,6)) D BLDMSTR Q
  1. I $D(^LR(LRDFN,"MI",BLRIDT,6)),$P(^LR(LRDFN,"MI",BLRIDT,6,0),U,3)="" D BLDMSTR Q
  1. S BLRRES="POSITIVE" D BLDMSTR S BLRSPT=6 D PARAS1 Q
  1. Q
  1. ;
  1. PARAS1 ;
  1. S (BLRORGX,BLR60F)=0 F S BLRORGX=$O(^LR(LRDFN,"MI",BLRIDT,BLRSPT,BLRORGX)) Q:(BLRORGX'?.N!(BLRORGX="")) S BLRORG=^LR(LRDFN,"MI",BLRIDT,BLRSPT,BLRORGX,0),BLRRES="",BLRORG=+BLRORG D LOOKORG,PARAS2
  1. Q
  1. PARAS2 ;
  1. S BLRPAR=$O(^BLRTXLOG("AOG",BLRACCN,BLRORG,""))
  1. S BLRSTG=0 F S BLRSTG=$O(^LR(LRDFN,"MI",BLRIDT,BLRSPT,BLRORGX,1,BLRSTG)) Q:(BLRSTG=""!(BLRSTG'?.N)) D
  1. .S BLRSTGN=^LR(LRDFN,"MI",BLRIDT,BLRSPT,BLRORGX,1,BLRSTG,0)
  1. .S BLRRES=$P(BLRSTGN,U,2),BLRSTGN=$P(BLRSTGN,U,1)
  1. .D LOOKSTG S BLRSTGN="" Q
  1. S BLRSTG=""
  1. Q
  1. ;
  1. MYCOL ;
  1. S BLRRES="NEGATIVE"
  1. I $D(^LR(LRDFN,"MI",BLRIDT,15)) D GETRES(15) D BLDMSTR Q
  1. I '$D(^LR(LRDFN,"MI",BLRIDT,9)) D BLDMSTR Q
  1. I $D(^LR(LRDFN,"MI",BLRIDT,9)),$P(^LR(LRDFN,"MI",BLRIDT,9,0),U,3)="" D BLDMSTR Q
  1. S BLRRES="POSITIVE" D BLDMSTR S BLRSPT=9 D ORG Q
  1. Q
  1. ;
  1. TB ;
  1. I ($P(BLRVAL,U,3)'=""!($P(BLRVAL,U,4)'="")) D GETFSTAI
  1. I BLRCULT=BLRTEST,BLRRES'="" Q
  1. S BLRTEST=BLRCULT,BLRTESTN=""
  1. I '$D(^LR(LRDFN,"MI",BLRIDT,12)) S BLRRES="NEGATIVE" D BLDMSTR Q
  1. D:'$D(^UTILITY("TB",$J)) BLDTB
  1. S BLRRES="POSITIVE" D BLDMSTR S BLRSPT=12 D ORG Q
  1. Q
  1. ;
  1. BLDTB ;
  1. S BLRPX=1 F S BLRPX=$O(^DD(63.39,"GL",BLRPX)) Q:BLRPX="" S BLRFLD=$O(^DD(63.39,"GL",BLRPX,1,"")),^UTILITY("TB",$J,BLRPX)=$P(^DD(63.39,BLRFLD,0),U,1)
  1. K BLRFLD,BLRPX
  1. Q
  1. GETFSTAI ;
  1. S BLRTESTN="ACID FAST STAIN" S BLRTEST=$$GETTEST(BLRTESTN) I BLRTEST="" S BLRTESTN="AFB SMEAR" S BLRTEST=$$GETTEST(BLRTESTN)
  1. S BLRRES=$P(BLRVAL,U,3) I BLRRES'="",$P(BLRVAL,U,4)'="" S BLRRES=BLRRES_";"_$P(BLRVAL,U,4)
  1. S:BLRRES="" BLRRES=$P(BLRVAL,U,4)
  1. D LOOKTST
  1. Q
  1. VIROL ;
  1. S BLRRES="NEGATIVE"
  1. I '$D(^LR(LRDFN,"MI",BLRIDT,17)) D BLDMSTR Q
  1. I $D(^LR(LRDFN,"MI",BLRIDT,17)),$P(^LR(LRDFN,"MI",BLRIDT,17,0),U,3)="" D BLDMSTR Q
  1. S BLRRES="POSITIVE" D BLDMSTR S BLRSPT=17 D ORG Q
  1. Q
  1. ;
  1. ORG ;
  1. S (BLRORGX,BLR60F)=0 F S BLRORGX=$O(^LR(LRDFN,"MI",BLRIDT,BLRSPT,BLRORGX)) Q:(BLRORGX'?.N!(BLRORGX="")) S BLRORG=^LR(LRDFN,"MI",BLRIDT,BLRSPT,BLRORGX,0) S BLRRES=$P(BLRORG,U,2),BLRORG=+BLRORG D LOOKORG D:BLRSPT'=17 ANTIB
  1. Q
  1. ;
  1. ANTIB ;
  1. S BLRPAR=$O(^BLRTXLOG("AOG",BLRACCN,BLRORG,""))
  1. S BLRANTI=1 F S BLRANTI=$O(^LR(LRDFN,"MI",BLRIDT,BLRSPT,BLRORGX,BLRANTI)) Q:(BLRANTI=""!($L(BLRANTI)=1)) S BLRRES=$P(^(BLRANTI),U,1) S:BLRGBL'=11 BLRANTP=$O(^LAB(62.06,"AD",BLRANTI,"")) D:BLRGBL=11 GETANAME D LOOKDRG S BLRERFS="" K BLRERF
  1. S (BLRANTI,BLRANTP)=""
  1. Q
  1. GETANAME ;
  1. S BLRANTP=BLRANTI
  1. S BLRANTN=^UTILITY("TB",$J,BLRANTP)
  1. S X=BLRANTN,DIC=62.06,DIC(0)="MX" D ^DIC
  1. I Y'=-1 S BLRANTP=$P(Y,U,1) Q
  1. S BLRERFS="Field 1302 of file 9009022 not a valid antibiotic ien",BLRERF=1
  1. Q
  1. ;
  1. LOOKTST ;
  1. S BLRSETP=1
  1. I '$D(^BLRTXLOG("AAT",BLRACCN,BLRTEST)) S BLRPAR=$O(^BLRTXLOG("AAT",BLRACCN,BLRCULT,"")) D ^BLRMLTL1 Q
  1. D BLDMSTR
  1. Q
  1. LOOKORG ;
  1. I '$D(^BLRTXLOG("AOG",BLRACCN,BLRORG)) S BLRPAR=$O(^BLRTXLOG("AAT",BLRACCN,BLRCULT,"")) D ^BLRMLTL1 Q
  1. D BLDMSTR
  1. Q
  1. ;
  1. LOOKDRG ;
  1. I '$D(^BLRTXLOG("AOD",BLRACCN,BLRORG,BLRANTP)) D ^BLRMLTL1 Q
  1. D BLDMSTR
  1. Q
  1. ;
  1. LOOKSTG ;
  1. I '$D(^BLRTXLOG("AOS",BLRACCN,BLRORG,BLRSTG)) D ^BLRMLTL1 Q
  1. D BLDMSTR
  1. Q
  1. BLDMSTR ;
  1. S:BLR60F BLRSTR="SEQUENCE NUMBER_$$GETIEN(BLRACCN,BLRTEST)~STATUS FLAG_BLRPHASE~PANEL/TEST POINTER_BLRTEST~PANEL/TEST NAME_BLRTESTN~RESULT_BLRRES" S:BLRCMTS'="" BLRSTR=BLRSTR_"~COMMENTS_BLRCMTS"
  1. I 'BLR60F D
  1. .I BLRSPT'=6 S BLRSTR="SEQUENCE NUMBER_$$GETOGIEN(BLRACCN,BLRORG"_$S(BLRANTI="":")",1:",BLRANTP)~ANTIBIOTIC_BLRANTP")_"~STATUS FLAG_BLRPHASE~RESULT_BLRRES~ORGANISM_BLRORG~ANTIBIOTIC NAME_BLRANTN~PCC ERROR FLAG_BLRERFS" Q
  1. .S BLRSTR="SEQUENCE NUMBER_$$GETOSIEN(BLRACCN,BLRORG"_$S(BLRSTG="":")",1:",BLRSTG)~STAGE COUNTER_BLRSTG")_"~STATUS FLAG_BLRPHASE~RESULT_BLRRES~ORGANISM_BLRORG" S:BLRSTGN'="" BLRSTR=BLRSTR_"~STAGE NAME_BLRSTGN" Q
  1. S BLRSTR=BLRSTR_"~COLLECTION SAMPLE POINTER_BLRCOLSP" S:+BLRCMPD BLRSTR=BLRSTR_"~COMPLETE DATE_BLRCMPD" ;IHS/DIR TUC/AAB 04/08/98
  1. D ^BLRFLTL("M",BLRSTR)
  1. S BLRCMTS=""
  1. Q
  1. ;
  1. GETTEST(BLRTESTN) ;
  1. Q $O(^LAB(60,"B",BLRTESTN,""))
  1. ;
  1. GETRES(BLRRSUB) ;
  1. ;
  1. S BLRYY=0 F BLRI=1:1 S BLRYY=$O(^LR(LRDFN,"MI",BLRIDT,BLRRSUB,BLRYY)) Q:BLRYY="" S:BLRI>1 BLRCMTS=BLRCMTS_$C(20) S BLRCMTS=BLRCMTS_^LR(LRDFN,"MI",BLRIDT,BLRRSUB,BLRYY,0)
  1. I BLRCMTS'="" S BLRRES="POSITIVE"
  1. K BLRI
  1. Q
  1. ;
  1. KILL ;
  1. K BLR60F,BLRACCN,BLRANTI,BLRANTP,BLRATOM,BLRCAT,BLRCLNC,BLRCMTS,BLRCPTC,BLRCPTF,BLRCPTP,BLRCPTS,BLRCST,BLRCULT,BLRDFN,BLRDTC,BLRDUZ,BLRDUZ2,BLRDUZN,BLRENT,BLREXEC,BLRFID,BLRFILE,BLRFOUND,BLRANTN,BLRERFS,BLRERF
  1. K BLRGBL,BLRIDT,BLRL60,BLRLOC,BLRLOCN,BLRLOGDA,BLRLRDFN,BLRODT,BLRODTM,BLRORG,BLRORGX,BLRPAR,BLRPROV,BLRPROVN,BLRQUIET,BLRRES,BLRSEQ,BLRSETP,BLRSPEC,BLRSPT,BLRSTG,BLRSTGN,BLRSTR,BLRSTR1,BLRTEST
  1. ;K BLRTEST1,BLRTESTN,BLRUNITS,BLRVAL,BLRXII,BLRYY,BLRZ
  1. K BLRTEST1,BLRTESTN,BLRUNITS,BLRVAL,BLRXII,BLRYY,BLRZ,BLRCMPD,BLRCOLSP ;IHS/DIR TUC/AAB 04/08/98
  1. Q