| 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") | 
|---|