1 | LRMITSPO ;SLC/STAFF - MICRO TREND PROCESS ORGANISMS ;3/4/93 14:54
|
---|
2 | ;;5.2;LAB SERVICE;**96,116**;Sep 27, 1994
|
---|
3 | ; from LRMITSPE
|
---|
4 | ;
|
---|
5 | ; bacteria
|
---|
6 | I $D(LROTYPE("B")),+$G(^LR(LRDFN,"MI",LRIDT,1)),$O(^(3,0)) S LROTYPE="B" D
|
---|
7 | .S LRSUBN=0 F S LRSUBN=$O(^LR(LRDFN,"MI",LRIDT,3,LRSUBN)) Q:LRSUBN="" S LRORGN=+^(LRSUBN,0) D
|
---|
8 | ..; if specific organisms required and not valid quit
|
---|
9 | ..I $D(LRSORG),'$D(LRSORG(LROTYPE,LRORGN)) Q
|
---|
10 | ..S LRORGNM=$E($P($G(^LAB(61.2,+LRORGN,0)),U),1,30) I '$L(LRORGNM) S LRORGNM=LRUNK
|
---|
11 | ..; if antibiotic pattern required and not valid quit
|
---|
12 | ..I $D(LRAP) S LROK=1 D Q:'LROK
|
---|
13 | ...S LRDN=0 F S LRDN=$O(LRAP(LRDN)) Q:LRDN="" S LRX=$G(^LR(LRDFN,"MI",LRIDT,3,LRSUBN,LRDN)) D Q:'LROK
|
---|
14 | ....S LRX=$$SENS(LRDN,LRX)
|
---|
15 | ....I '$L(LRX) S LROK=0 Q
|
---|
16 | ....I LRX=LRAP(LRDN) Q
|
---|
17 | ....I LRX'=LRAP(LRDN) S LROK=0
|
---|
18 | ..K LRANTIM S LRDN=0 F S LRDN=$O(^LR(LRDFN,"MI",LRIDT,3,LRSUBN,LRDN)) Q:LRDN="" S LRX=$G(^(LRDN)) I $L(LRX) D
|
---|
19 | ...S LRINTERP=$$SENS(LRDN,LRX) I $L(LRINTERP) S LRANTIM(LRDN)=LRINTERP_U_LRX
|
---|
20 | ..S LRORGNM="("_LROTYPE_") "_LRORGNM D ^LRMITSPS
|
---|
21 | K LRANTIM
|
---|
22 | ; fungus
|
---|
23 | I $D(LROTYPE("F")),+$G(^LR(LRDFN,"MI",LRIDT,8)),$O(^(9,0)) S LROTYPE="F" D
|
---|
24 | .S LRSUBN=0 F S LRSUBN=$O(^LR(LRDFN,"MI",LRIDT,9,LRSUBN)) Q:LRSUBN<1 S LRORGN=+^(LRSUBN,0) D SETUP
|
---|
25 | ; mycobacteria
|
---|
26 | I $D(LROTYPE("M")),+$G(^LR(LRDFN,"MI",LRIDT,11)),$O(^(12,0)) S LROTYPE="M" D
|
---|
27 | .S LRSUBN=0 F S LRSUBN=$O(^LR(LRDFN,"MI",LRIDT,12,LRSUBN)) Q:LRSUBN<1 S LRORGN=+^(LRSUBN,0) D
|
---|
28 | ..K LRTB S LRDN=2 F S LRDN=$O(^LR(LRDFN,"MI",LRIDT,12,LRSUBN,LRDN)) Q:LRDN="" S LRTB(LRDN)=$P(^(LRDN),U)
|
---|
29 | ..D SETUP
|
---|
30 | K LRTB
|
---|
31 | ; parasite
|
---|
32 | I $D(LROTYPE("P")),+$G(^LR(LRDFN,"MI",LRIDT,5)),$O(^(6,0)) S LROTYPE="P" D
|
---|
33 | .S LRSUBN=0 F S LRSUBN=$O(^LR(LRDFN,"MI",LRIDT,6,LRSUBN)) Q:LRSUBN<1 S LRORGN=+^(LRSUBN,0) D SETUP
|
---|
34 | ; virus
|
---|
35 | I $D(LROTYPE("V")),+$G(^LR(LRDFN,"MI",LRIDT,16)),$O(^(17,0)) S LROTYPE="V" D
|
---|
36 | .S LRSUBN=0 F S LRSUBN=$O(^LR(LRDFN,"MI",LRIDT,17,LRSUBN)) Q:LRSUBN<1 S LRORGN=+^(LRSUBN,0) D SETUP
|
---|
37 | ; Expanded Search
|
---|
38 | I '$D(LROTYPE("B")),+$G(^LR(LRDFN,"MI",LRIDT,0)),$O(^(3,0)) D
|
---|
39 | .S LROTYPE=$S($D(LROTYPE("V")):"V",$D(LROTYPE("P")):"P",$D(LROTYPE("F")):"F",$D(LROTYPE("M")):"M",1:"")
|
---|
40 | .Q:LROTYPE=""
|
---|
41 | .S LRSUBN=0 F S LRSUBN=$O(^LR(LRDFN,"MI",LRIDT,3,LRSUBN)) Q:LRSUBN<1 S LRORGN=+^(LRSUBN,0) D:LROTYPE=$P(^LAB(61.2,+LRORGN,0),U,5) SETUP
|
---|
42 | Q
|
---|
43 | SETUP ; if specific organisms are required, do not setup unless valid organism
|
---|
44 | I $D(LRSORG),'$D(LRSORG(LROTYPE,LRORGN)) Q
|
---|
45 | S LRORGNM=$E($P($G(^LAB(61.2,+LRORGN,0)),U),1,30) I '$L(LRORGNM) S LRORGNM=LRUNK
|
---|
46 | S LRORGNM="("_LROTYPE_") "_LRORGNM
|
---|
47 | ; setup data on isolate
|
---|
48 | D ^LRMITSPS
|
---|
49 | Q
|
---|
50 | SENS(DRUGNODE,VALUES) ; $$(antibiotic,susceptibility) -> "S","R" or ""
|
---|
51 | N INTERP,RESULT
|
---|
52 | S INTERP=$P(VALUES,U,2),RESULT=$P(VALUES,U)
|
---|
53 | I '$L(INTERP),$L(RESULT) S INTERP=$G(^LAB(62.06,"AI",DRUGNODE,RESULT))
|
---|
54 | I '$L(INTERP) S INTERP=RESULT
|
---|
55 | I '$L(INTERP) Q ""
|
---|
56 | I $D(LRSUSS(INTERP)) Q "S"
|
---|
57 | I $D(LRSUSR(INTERP)) Q "R"
|
---|
58 | I INTERP["S" Q "S"
|
---|
59 | Q ""
|
---|