| 1 | GMTSLRM ; SLC/JER,KER - Microbiology Component Driver ; 09/21/2001
 | 
|---|
| 2 |  ;;2.7;Health Summary;**28,47**;Oct 20, 1995
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; External References
 | 
|---|
| 5 |  ;    DBIA   525  ^LR( all fields
 | 
|---|
| 6 |  ;    DBIA 10035  ^DPT( field 63 Read w/Fileman
 | 
|---|
| 7 |  ;    DBIA  2056  $$GET1^DIQ (file 2)
 | 
|---|
| 8 |  ;                         
 | 
|---|
| 9 | MAIN ; Microbiology
 | 
|---|
| 10 |  N IX0,IX,LRDFN,MAX,D1,D2,D3
 | 
|---|
| 11 |  S LRDFN=+($$GET1^DIQ(2,(+($G(DFN))_","),63,"I")) Q:+LRDFN=0  Q:'$D(^LR(LRDFN))
 | 
|---|
| 12 |  Q:+($S('$D(^LR(LRDFN,"MI",0)):1,'$O(^LR(LRDFN,"MI",GMTS1)):1,$O(^(GMTS1))>GMTS2:1,1:0))
 | 
|---|
| 13 |  S MAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:999),IX=GMTS1
 | 
|---|
| 14 |  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)
 | 
|---|
| 15 |  . D ^GMTSLRME I $D(^TMP("LRM",$J)) D:IX0>1 CKP^GMTSUP Q:$D(GMTSQIT)  W:IX0>1 ! D INTRP
 | 
|---|
| 16 |  . K ^TMP("LRM",$J)
 | 
|---|
| 17 |  Q
 | 
|---|
| 18 | INTRP ; Interprets ^TMP("LRM",$J
 | 
|---|
| 19 |  N GMZ,GMK S (GMZ,GMK)=""
 | 
|---|
| 20 |  F  S GMZ=$O(^TMP("LRM",$J,GMZ)) Q:GMZ=""  D RDNODE  Q:$D(GMTSQIT)
 | 
|---|
| 21 |  Q
 | 
|---|
| 22 | RDNODE ; Reads current node of ^TMP("LRM",$J
 | 
|---|
| 23 |  N GMABX,COM S GMABX=0 I GMZ=0 D  Q
 | 
|---|
| 24 |  . 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),!
 | 
|---|
| 25 |  . I $P(^TMP("LRM",$J,GMZ),U,6)'=$P(^(GMZ),U,3) D
 | 
|---|
| 26 |  . . D CKP^GMTSUP Q:$D(GMTSQIT)  W ?2,"Collection Sample:",?21,$P(^TMP("LRM",$J,GMZ),U,6),!
 | 
|---|
| 27 |  . D CKP^GMTSUP Q:$D(GMTSQIT)  W ?6,"Site/Specimen:",?21,$TR($P(^TMP("LRM",$J,GMZ),U,3),"|"," "),!
 | 
|---|
| 28 |  . S COM=$P(^TMP("LRM",$J,GMZ),U,7)
 | 
|---|
| 29 |  . I COM]"" D
 | 
|---|
| 30 |  . . D CKP^GMTSUP Q:$D(GMTSQIT)
 | 
|---|
| 31 |  . . W "Comment on Specimen:"
 | 
|---|
| 32 |  . . I $L(COM)>58 S COM=$$WRAP^GMTSORC(COM,58)
 | 
|---|
| 33 |  . . W ?21,$P(COM,"|"),!
 | 
|---|
| 34 |  . . I $L($P(COM,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT)  W ?22,$P(COM,"|",2),!
 | 
|---|
| 35 |  . D WRTTEST^GMTSLRM1
 | 
|---|
| 36 |  S GMK="" F  S GMK=$O(^TMP("LRM",$J,GMZ,GMK)) Q:GMK=""  D WRTNODE Q:$D(GMTSQIT)
 | 
|---|
| 37 |  Q
 | 
|---|
| 38 | WRTNODE ; Writes current node of ^TMP("LRM",$J
 | 
|---|
| 39 |  N GML,SMEAR,QTY,ORG,GMN,RSMEAR
 | 
|---|
| 40 |  I GMZ="BSTER" D  Q
 | 
|---|
| 41 |  . I GMK=0 D  Q
 | 
|---|
| 42 |  . . Q:$P(^TMP("LRM",$J,"BSTER",GMK),U)']""
 | 
|---|
| 43 |  . . D CKP^GMTSUP Q:$D(GMTSQIT)
 | 
|---|
| 44 |  . .  W ?2,"Sterility Control:",?21,$P(^TMP("LRM",$J,"BSTER",GMK),U),! Q
 | 
|---|
| 45 |  . D CKP^GMTSUP I $D(GMTSQIT)
 | 
|---|
| 46 |  . W ?13,"Number:",?21,GMK,?34,"Sterility Results: ",$P(^TMP("LRM",$J,GMZ,GMK),U),!
 | 
|---|
| 47 |  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
 | 
|---|
| 48 |  . I GMZ="BACT" D  Q:$D(GMTSQIT)
 | 
|---|
| 49 |  . . I $P(GMN,U,3)]"" D CKP^GMTSUP Q:$D(GMTSQIT)  W ?7,"Urine Screen: ",$P(GMN,U,3),!
 | 
|---|
| 50 |  . . I $P(GMN,U,2)]"" D CKP^GMTSUP Q:$D(GMTSQIT)  W ?6,"Sputum Screen: ",$P(GMN,U,2),!
 | 
|---|
| 51 |  . I GMZ="TB" D  Q:$D(GMTSQIT)
 | 
|---|
| 52 |  . . I $P(GMN,U,2)]"" D CKP^GMTSUP Q:$D(GMTSQIT)  W ?4,"Acid Fast Stain: ",$E($P(GMN,U,2),1,20) D
 | 
|---|
| 53 |  . . . S QTY=$P(GMN,U,3)
 | 
|---|
| 54 |  . . . I $L(QTY)>35 S QTY=$$WRAP^GMTSORC(QTY,35)
 | 
|---|
| 55 |  . . . W ?44,$P(QTY,"|"),!
 | 
|---|
| 56 |  . . . I $L($P(QTY,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT)  W ?44,$P(QTY,"|",2),!
 | 
|---|
| 57 |  I GMZ="GRAM" D WRTGRM^GMTSLRM1 Q
 | 
|---|
| 58 |  I GMK="SMEAR" D  Q
 | 
|---|
| 59 |  . D CKP^GMTSUP Q:$D(GMTSQIT)
 | 
|---|
| 60 |  . W ?9,"Smear/Prep:"
 | 
|---|
| 61 |  . S SMEAR=0
 | 
|---|
| 62 |  . 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)
 | 
|---|
| 63 |  . . S RSMEAR=^TMP("LRM",$J,GMZ,GMK,SMEAR)
 | 
|---|
| 64 |  . . I $L(RSMEAR)>58 S RSMEAR=$$WRAP^GMTSORC(RSMEAR,58)
 | 
|---|
| 65 |  . . W ?21,$P(RSMEAR,"|"),!
 | 
|---|
| 66 |  . . I $L($P(RSMEAR,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT)  W ?22,$P(RSMEAR,"|",2),!
 | 
|---|
| 67 |  I GMK="R" D REMARKS^GMTSLRM1 Q
 | 
|---|
| 68 |  I GMZ'="CABXL" D  Q:$D(GMTSQIT)
 | 
|---|
| 69 |  . S ORG=$P(^TMP("LRM",$J,GMZ,GMK),U),QTY=$P(^(GMK),U,2)
 | 
|---|
| 70 |  . I $L(ORG)>58 S ORG=$$WRAP^GMTSORC(ORG,58)
 | 
|---|
| 71 |  . D CKP^GMTSUP Q:$D(GMTSQIT)
 | 
|---|
| 72 |  . W ?11,"Organism:"
 | 
|---|
| 73 |  . W ?21,$P(ORG,"|",1),!
 | 
|---|
| 74 |  . I $L($P(ORG,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT)  W ?23,$P(ORG,"|",2),!
 | 
|---|
| 75 |  . I QTY]"" W ?11,"Quantity:" D
 | 
|---|
| 76 |  . . I $L(QTY)>58 S QTY=$$WRAP^GMTSORC(QTY,58)
 | 
|---|
| 77 |  . . D CKP^GMTSUP Q:$D(GMTSQIT)  W ?21,$P(QTY,"|"),!
 | 
|---|
| 78 |  . . I $L($P(QTY,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT)  W ?23,$P(QTY,"|",2),!
 | 
|---|
| 79 |  . D COMMENT^GMTSLRM1 Q:$D(GMTSQIT)
 | 
|---|
| 80 |  . I GMZ="TB" D TBSUSC^GMTSLRM1
 | 
|---|
| 81 |  I GMZ="CABXL" D
 | 
|---|
| 82 |  . I GMK=1!(GMABX=1) D CKP^GMTSUP Q:$D(GMTSQIT)  W ?8,"Ser Abx Lev:"
 | 
|---|
| 83 |  . 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)
 | 
|---|
| 84 |  I GMZ="BACT",$D(^TMP("LRM",$J,GMZ,GMK,"SUSC")) D ANTIBX^GMTSLRM1 Q
 | 
|---|
| 85 |  I GMZ="PARA",$D(^TMP("LRM",$J,GMZ,GMK))=11 D
 | 
|---|
| 86 |  . S GML=0
 | 
|---|
| 87 |  . F  S GML=$O(^TMP("LRM",$J,GMZ,GMK,GML)) Q:GML'>0  D  Q:$D(GMTSQIT)
 | 
|---|
| 88 |  . . D CKP^GMTSUP Q:$D(GMTSQIT)
 | 
|---|
| 89 |  . . W ?23,$P(^TMP("LRM",$J,GMZ,GMK,GML),U)
 | 
|---|
| 90 |  . . S QTY=$P(^TMP("LRM",$J,GMZ,GMK,GML),U,2)
 | 
|---|
| 91 |  . . I $L(QTY)>34 S QTY=$$WRAP^GMTSORC(QTY,34)
 | 
|---|
| 92 |  . . W ?45,$P(QTY,"|"),!
 | 
|---|
| 93 |  . . I $L($P(QTY,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT)  W ?45,$P(QTY,"|",2),!
 | 
|---|
| 94 |  . . D PARACOMM^GMTSLRM1
 | 
|---|
| 95 |  Q
 | 
|---|
| 96 | DRAW(CODE) ; Peak/Trough/Random Abx level
 | 
|---|
| 97 |  Q $S(CODE="P":"PEAK",CODE="T":"TROUGH",1:"RANDOM")
 | 
|---|