1 | GMTSLRMB ; SLC/JER,KER - Microbiology Component Dvr ; 09/21/2001
|
---|
2 | ;;2.7;Health Summary;**25,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 ; Microbioloby Brief
|
---|
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 | S MAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:999)
|
---|
13 | S IX=GMTS1 F IX0=1:1:MAX S IX=$O(^LR(LRDFN,"MI",IX)) Q:+IX'>0!(IX>GMTS2) D CKP^GMTSUP Q:$D(GMTSQIT) D Q:$D(GMTSQIT)
|
---|
14 | . D ^GMTSLRME I $D(^TMP("LRM",$J)) D
|
---|
15 | . . D:IX0>1 CKP^GMTSUP Q:$D(GMTSQIT) W:IX0>1&'GMTSNPG ! D INTRP
|
---|
16 | . K ^TMP("LRM",$J)
|
---|
17 | Q
|
---|
18 | INTRP ; Interprets ^TMP("LRM",$J
|
---|
19 | N GMTSJ,GMK,GMW,SMEAR,GMABX
|
---|
20 | S (GMTSJ,GMK)=""
|
---|
21 | F S GMTSJ=$O(^TMP("LRM",$J,GMTSJ)) Q:GMTSJ=""!$D(GMTSQIT) D RDNODE
|
---|
22 | Q
|
---|
23 | RDNODE ; Reads current node of ^TMP("LRM",$J
|
---|
24 | Q:GMTSJ="BSTER"
|
---|
25 | I GMTSJ=0 D Q
|
---|
26 | . D CKP^GMTSUP Q:$D(GMTSQIT) W $P($P(^TMP("LRM",$J,GMTSJ),U)," "),?12,$P(^TMP("LRM",$J,GMTSJ),U,3),!
|
---|
27 | . D WRTTEST
|
---|
28 | S GMK=""
|
---|
29 | F S GMK=$O(^TMP("LRM",$J,GMTSJ,GMK)) Q:GMK=""!$D(GMTSQIT) D WRTNODE
|
---|
30 | I GMTSJ="TB" D Q:$D(GMTSQIT)
|
---|
31 | . I $P(^TMP("LRM",$J,GMTSJ,0),U,2)]"" D
|
---|
32 | . . D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
33 | . . W "AFB Sme:",?12,$E($P(^TMP("LRM",$J,GMTSJ,0),U,2),1,20),!
|
---|
34 | . . I $P(^TMP("LRM",$J,GMTSJ,0),U,3)]"" D
|
---|
35 | . . . D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
36 | . . . W ?12,$P(^TMP("LRM",$J,GMTSJ,0),U,3),!
|
---|
37 | I $D(^TMP("LRM",$J,GMTSJ,"SMEAR")) D
|
---|
38 | . D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
39 | . W ?2,"Smear:"
|
---|
40 | . S SMEAR=0
|
---|
41 | . F S SMEAR=$O(^TMP("LRM",$J,GMTSJ,"SMEAR",SMEAR)) Q:SMEAR'>0 W ?12,^(SMEAR),! I +$O(^TMP("LRM",$J,"SMEAR",SMEAR)) D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
42 | Q
|
---|
43 | WRTNODE ; Writes current node of ^TMP("LRM",$J
|
---|
44 | N GML,QTY
|
---|
45 | I GMK=0 D CKP^GMTSUP Q:$D(GMTSQIT) W ?1,"Report:",?12,$P(^TMP("LRM",$J,GMTSJ,GMK),U),! Q
|
---|
46 | I GMTSJ="GRAM" D WRTGRM Q
|
---|
47 | Q:GMK="SMEAR"
|
---|
48 | I GMK="R" D REMARKS Q
|
---|
49 | I GMTSJ'="CABXL" D Q:$D(GMTSQIT)
|
---|
50 | . D CKP^GMTSUP Q:$D(GMTSQIT) W "Organsm:",?12,$P(^TMP("LRM",$J,GMTSJ,GMK),U),!
|
---|
51 | . I $P(^TMP("LRM",$J,GMTSJ,GMK),U,2)]"" D CKP^GMTSUP Q:$D(GMTSQIT) W ?4,"QTY:",?12,$P(^TMP("LRM",$J,GMTSJ,GMK),U,2),!
|
---|
52 | I GMTSJ="CABXL" D
|
---|
53 | . D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
54 | . W:GMK=1 "Ser Abx:"
|
---|
55 | . W ?12,$E($P(^TMP("LRM",$J,GMTSJ,GMK),U),1,18),?30,$$DRAW^GMTSLRM($P(^TMP("LRM",$J,GMTSJ,GMK),U,2)),?38,$P(^(GMK),U,3)," ug/ml",!
|
---|
56 | I GMTSJ="BACT",$D(^TMP("LRM",$J,GMTSJ,GMK,"SUSC")) D ANTIBX Q
|
---|
57 | I GMTSJ="PARA",$D(^TMP("LRM",$J,GMTSJ,GMK))=11 D
|
---|
58 | . S GML=""
|
---|
59 | . F S GML=$O(^TMP("LRM",$J,GMTSJ,GMK,GML)) Q:GML'>0 D Q:$D(GMTSQIT)
|
---|
60 | . . D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
61 | . . W ?12,$P(^TMP("LRM",$J,GMTSJ,GMK,GML),U)
|
---|
62 | . . S QTY=$P(^TMP("LRM",$J,GMTSJ,GMK,GML),U,2)
|
---|
63 | . . I $L(QTY)>46 S QTY=$$WRAP^GMTSORC(QTY,46)
|
---|
64 | . . W ?35,$P(QTY,"|"),!
|
---|
65 | . . I $L($P(QTY,"|",2)) D CKP^GMTSUP Q:$D(GMTSQIT) W ?35,$P(QTY,"|",2),!
|
---|
66 | Q
|
---|
67 | REMARKS ; Write remarks
|
---|
68 | N NUM,FIRST
|
---|
69 | S NUM="",FIRST=1
|
---|
70 | F S NUM=$O(^TMP("LRM",$J,GMTSJ,GMK,NUM)) Q:+NUM'>0 D Q:$D(GMTSQIT)
|
---|
71 | . D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
72 | . W:$X>0 !
|
---|
73 | . I FIRST W "Remarks:" S FIRST=0
|
---|
74 | . W ?12,^TMP("LRM",$J,GMTSJ,GMK,NUM),!
|
---|
75 | Q
|
---|
76 | WRTGRM ; Writes Gram Stain Results
|
---|
77 | D CKP^GMTSUP Q:$D(GMTSQIT) W:$X>0 ! W:GMK=1 ?3,"Gram:" W ?12,$E(^TMP("LRM",$J,GMTSJ,GMK),1,69),!
|
---|
78 | Q
|
---|
79 | ANTIBX ; Writes Antibiotic susceptability data
|
---|
80 | N GML,GMCNT,ANAM,ANLEN,ANEXT,GMSUB
|
---|
81 | S GMABX=1
|
---|
82 | F GMSUB="S","I","R","O" D Q:$D(GMTSQIT)
|
---|
83 | . Q:+$D(^TMP("LRM",$J,GMTSJ,GMK,"SUSC",GMSUB))'>0
|
---|
84 | . D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
85 | . W:GMSUB="S" "Susc to: "
|
---|
86 | . W:GMSUB="I" "Interme: "
|
---|
87 | . W:GMSUB="R" "Resista: "
|
---|
88 | . W:GMSUB="O" " Other: "
|
---|
89 | . S ANLEN=10,GML=""
|
---|
90 | . F S GML=$O(^TMP("LRM",$J,GMTSJ,GMK,"SUSC",GMSUB,GML)) Q:GML="" S ANAM=$P($P(^(GML),U),";",2)_$S(GMSUB="O":"("_$P(^(GML),U,2)_"/"_$P(^(GML),U,3)_")",1:""),ANEXT=$O(^(GML)) D Q:$D(GMTSQIT)
|
---|
91 | . . I $L(ANAM)+ANLEN>79 D CKP^GMTSUP Q:$D(GMTSQIT) W:'GMTSNPG ! W ?12 S ANLEN=10
|
---|
92 | . . W ANAM,$S(ANEXT]"":", ",1:"") S ANLEN=ANLEN+$L(ANAM)+2
|
---|
93 | . W !
|
---|
94 | Q
|
---|
95 | WRTTEST ; Writes Lab Test for Accession
|
---|
96 | N GML,GMCNT,TNAM,TLEN,TNEXT
|
---|
97 | Q:'$D(^TMP("LRM",$J,GMTSJ,"TEST"))
|
---|
98 | D CKP^GMTSUP Q:$D(GMTSQIT) W "Test(s): "
|
---|
99 | S TLEN=10,GML=""
|
---|
100 | F S GML=$O(^TMP("LRM",$J,GMTSJ,"TEST",GML)) Q:GML="" S TNAM=$P($G(^(GML)),U),TNEXT=$O(^(GML)) D Q:$D(GMTSQIT)
|
---|
101 | . I $L(TNAM)+TLEN>79 D CKP^GMTSUP Q:$D(GMTSQIT) W:'GMTSNPG ! W ?12 S TLEN=10
|
---|
102 | . W TNAM,$S(TNEXT]"":", ",1:"") S TLEN=TLEN+$L(TNAM)+2
|
---|
103 | W !
|
---|
104 | Q
|
---|