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

GMTSLRM.m

Go to the documentation of this file.
  1. GMTSLRM ; SLC/JER,KER - Microbiology Component Driver ; 09/21/2001
  1. ;;2.7;Health Summary;**28,47**;Oct 20, 1995
  1. ;
  1. ; External References
  1. ; DBIA 525 ^LR( all fields
  1. ; DBIA 10035 ^DPT( field 63 Read w/Fileman
  1. ; DBIA 2056 $$GET1^DIQ (file 2)
  1. ;
  1. MAIN ; Microbiology
  1. N IX0,IX,LRDFN,MAX,D1,D2,D3
  1. S LRDFN=+($$GET1^DIQ(2,(+($G(DFN))_","),63,"I")) Q:+LRDFN=0 Q:'$D(^LR(LRDFN))
  1. Q:+($S('$D(^LR(LRDFN,"MI",0)):1,'$O(^LR(LRDFN,"MI",GMTS1)):1,$O(^(GMTS1))>GMTS2:1,1:0))
  1. S MAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:999),IX=GMTS1
  1. F IX0=1:1:MAX S IX=$O(^LR(LRDFN,"MI",IX)) Q:+IX'>0!(IX>GMTS2)!$D(GMTSQIT) D CKP^GMTSUP Q:$D(GMTSQIT) D Q:$D(GMTSQIT)
  1. . D ^GMTSLRME I $D(^TMP("LRM",$J)) D:IX0>1 CKP^GMTSUP Q:$D(GMTSQIT) W:IX0>1 ! D INTRP
  1. . K ^TMP("LRM",$J)
  1. Q
  1. INTRP ; Interprets ^TMP("LRM",$J
  1. N GMZ,GMK S (GMZ,GMK)=""
  1. F S GMZ=$O(^TMP("LRM",$J,GMZ)) Q:GMZ="" D RDNODE Q:$D(GMTSQIT)
  1. Q
  1. RDNODE ; Reads current node of ^TMP("LRM",$J
  1. N GMABX,COM S GMABX=0 I GMZ=0 D Q
  1. . D CKP^GMTSUP Q:$D(GMTSQIT) W ?10,"Collected:",?21,$P(^TMP("LRM",$J,GMZ),U),?43,"Acc:",?48,$P(^TMP("LRM",$J,GMZ),U,2),!
  1. . I $P(^TMP("LRM",$J,GMZ),U,6)'=$P(^(GMZ),U,3) D
  1. . . D CKP^GMTSUP Q:$D(GMTSQIT) W ?2,"Collection Sample:",?21,$P(^TMP("LRM",$J,GMZ),U,6),!
  1. . D CKP^GMTSUP Q:$D(GMTSQIT) W ?6,"Site/Specimen:",?21,$TR($P(^TMP("LRM",$J,GMZ),U,3),"|"," "),!
  1. . S COM=$P(^TMP("LRM",$J,GMZ),U,7)
  1. . I COM]"" D
  1. . . D CKP^GMTSUP Q:$D(GMTSQIT)
  1. . . W "Comment on Specimen:"
  1. . . I $L(COM)>58 S COM=$$WRAP^GMTSORC(COM,58)
  1. . . W ?21,$P(COM,"|"),!
  1. . . I $L($P(COM,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT) W ?22,$P(COM,"|",2),!
  1. . D WRTTEST^GMTSLRM1
  1. S GMK="" F S GMK=$O(^TMP("LRM",$J,GMZ,GMK)) Q:GMK="" D WRTNODE Q:$D(GMTSQIT)
  1. Q
  1. WRTNODE ; Writes current node of ^TMP("LRM",$J
  1. N GML,SMEAR,QTY,ORG,GMN,RSMEAR
  1. I GMZ="BSTER" D Q
  1. . I GMK=0 D Q
  1. . . Q:$P(^TMP("LRM",$J,"BSTER",GMK),U)']""
  1. . . D CKP^GMTSUP Q:$D(GMTSQIT)
  1. . . W ?2,"Sterility Control:",?21,$P(^TMP("LRM",$J,"BSTER",GMK),U),! Q
  1. . D CKP^GMTSUP I $D(GMTSQIT)
  1. . W ?13,"Number:",?21,GMK,?34,"Sterility Results: ",$P(^TMP("LRM",$J,GMZ,GMK),U),!
  1. I GMK=0 S GMN=$G(^TMP("LRM",$J,GMZ,GMK)) D CKP^GMTSUP Q:$D(GMTSQIT) W ?4,$S(GMZ="BACT":" Bact ",GMZ="TB":"Mycobact ",GMZ="MYCO":"Mycology ",GMZ="PARA":"Parasite ",GMZ="VIRO":"Virology ",1:" ")_"Report:",?21,$P(GMN,U),! D Q
  1. . I GMZ="BACT" D Q:$D(GMTSQIT)
  1. . . I $P(GMN,U,3)]"" D CKP^GMTSUP Q:$D(GMTSQIT) W ?7,"Urine Screen: ",$P(GMN,U,3),!
  1. . . I $P(GMN,U,2)]"" D CKP^GMTSUP Q:$D(GMTSQIT) W ?6,"Sputum Screen: ",$P(GMN,U,2),!
  1. . I GMZ="TB" D Q:$D(GMTSQIT)
  1. . . I $P(GMN,U,2)]"" D CKP^GMTSUP Q:$D(GMTSQIT) W ?4,"Acid Fast Stain: ",$E($P(GMN,U,2),1,20) D
  1. . . . S QTY=$P(GMN,U,3)
  1. . . . I $L(QTY)>35 S QTY=$$WRAP^GMTSORC(QTY,35)
  1. . . . W ?44,$P(QTY,"|"),!
  1. . . . I $L($P(QTY,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT) W ?44,$P(QTY,"|",2),!
  1. I GMZ="GRAM" D WRTGRM^GMTSLRM1 Q
  1. I GMK="SMEAR" D Q
  1. . D CKP^GMTSUP Q:$D(GMTSQIT)
  1. . W ?9,"Smear/Prep:"
  1. . S SMEAR=0
  1. . F S SMEAR=$O(^TMP("LRM",$J,GMZ,GMK,SMEAR)) Q:SMEAR'>0 D I +$O(^TMP("LRM",$J,GMK,SMEAR)) D CKP^GMTSUP Q:$D(GMTSQIT)
  1. . . S RSMEAR=^TMP("LRM",$J,GMZ,GMK,SMEAR)
  1. . . I $L(RSMEAR)>58 S RSMEAR=$$WRAP^GMTSORC(RSMEAR,58)
  1. . . W ?21,$P(RSMEAR,"|"),!
  1. . . I $L($P(RSMEAR,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT) W ?22,$P(RSMEAR,"|",2),!
  1. I GMK="R" D REMARKS^GMTSLRM1 Q
  1. I GMZ'="CABXL" D Q:$D(GMTSQIT)
  1. . S ORG=$P(^TMP("LRM",$J,GMZ,GMK),U),QTY=$P(^(GMK),U,2)
  1. . I $L(ORG)>58 S ORG=$$WRAP^GMTSORC(ORG,58)
  1. . D CKP^GMTSUP Q:$D(GMTSQIT)
  1. . W ?11,"Organism:"
  1. . W ?21,$P(ORG,"|",1),!
  1. . I $L($P(ORG,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT) W ?23,$P(ORG,"|",2),!
  1. . I QTY]"" W ?11,"Quantity:" D
  1. . . I $L(QTY)>58 S QTY=$$WRAP^GMTSORC(QTY,58)
  1. . . D CKP^GMTSUP Q:$D(GMTSQIT) W ?21,$P(QTY,"|"),!
  1. . . I $L($P(QTY,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT) W ?23,$P(QTY,"|",2),!
  1. . D COMMENT^GMTSLRM1 Q:$D(GMTSQIT)
  1. . I GMZ="TB" D TBSUSC^GMTSLRM1
  1. I GMZ="CABXL" D
  1. . I GMK=1!(GMABX=1) D CKP^GMTSUP Q:$D(GMTSQIT) W ?8,"Ser Abx Lev:"
  1. . W ?21,$E($P(^TMP("LRM",$J,GMZ,GMK),U),1,20),?45,$$DRAW($P(^TMP("LRM",$J,GMZ,GMK),U,2)),?55,$P(^TMP("LRM",$J,GMZ,GMK),U,3)," ug/ml",! D CKP^GMTSUP Q:$D(GMTSQIT)
  1. I GMZ="BACT",$D(^TMP("LRM",$J,GMZ,GMK,"SUSC")) D ANTIBX^GMTSLRM1 Q
  1. I GMZ="PARA",$D(^TMP("LRM",$J,GMZ,GMK))=11 D
  1. . S GML=0
  1. . F S GML=$O(^TMP("LRM",$J,GMZ,GMK,GML)) Q:GML'>0 D Q:$D(GMTSQIT)
  1. . . D CKP^GMTSUP Q:$D(GMTSQIT)
  1. . . W ?23,$P(^TMP("LRM",$J,GMZ,GMK,GML),U)
  1. . . S QTY=$P(^TMP("LRM",$J,GMZ,GMK,GML),U,2)
  1. . . I $L(QTY)>34 S QTY=$$WRAP^GMTSORC(QTY,34)
  1. . . W ?45,$P(QTY,"|"),!
  1. . . I $L($P(QTY,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT) W ?45,$P(QTY,"|",2),!
  1. . . D PARACOMM^GMTSLRM1
  1. Q
  1. DRAW(CODE) ; Peak/Trough/Random Abx level
  1. Q $S(CODE="P":"PEAK",CODE="T":"TROUGH",1:"RANDOM")