| 1 | LRMITSPC ;SLC/STAFF - MICRO TREND PROCESS COUNT ;10/17/92  23:16
 | 
|---|
| 2 |  ;;5.2;LAB SERVICE;;Sep 27, 1994
 | 
|---|
| 3 |  ; from LRMITSPE
 | 
|---|
| 4 |  ; returns counts of isolates and susceptibilities in ^TMP($J,n1,"C"
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 |  S LRTYPE="" F   S LRTYPE=$O(^TMP($J,"PAT",LRTYPE)) Q:LRTYPE=""  D
 | 
|---|
| 7 |  .S (LRCNT,LRPATN)=0 F  S LRPATN=$O(^TMP($J,"PAT",LRTYPE,LRPATN)) Q:LRPATN<1  S LRCNT=LRCNT+1
 | 
|---|
| 8 |  .S ^TMP($J,LRTYPE)=LRCNT
 | 
|---|
| 9 |  S LRN1=0 F  S LRN1=$O(^TMP($J,"M",LRN1)) Q:LRN1<1  D  Q:LREND
 | 
|---|
| 10 |  .I LRN1#10=0,$$S^%ZTLOAD S (LREND,ZTSTOP)=1 Q
 | 
|---|
| 11 |  .S (LROCNTC,LROCNTM,LROCNTN)=0
 | 
|---|
| 12 |  .S LRMCAT="" F  S LRMCAT=$O(^TMP($J,"M",LRN1,LRMCAT)) Q:LRMCAT=""  D
 | 
|---|
| 13 |  ..K ^TMP($J,"MP")
 | 
|---|
| 14 |  ..S LRCNT=0,LRNN3="" F  S LRNN3=$O(^TMP($J,"M",LRN1,LRMCAT,LRNN3)) Q:LRNN3=""  S LRX=^(LRNN3),LRN3=-LRNN3 D
 | 
|---|
| 15 |  ...S LRN2=+LRX,LRCDATE=$P(LRX,U,2),LRSUBN=$P(LRX,U,3),LRCNT=LRCNT+1
 | 
|---|
| 16 |  ...; setup non tested data
 | 
|---|
| 17 |  ...I '$D(^TMP($J,LRN3)) S $P(^TMP($J,LRN2,LRCDATE,LRSUBN),U,5)="N",LROCNTN=LROCNTN+1 Q
 | 
|---|
| 18 |  ...I '$D(^TMP($J,"MP")) D SETUP Q
 | 
|---|
| 19 |  ...I LRMERGE="N" D SETUP Q
 | 
|---|
| 20 |  ...D CHECK
 | 
|---|
| 21 |  .S ^TMP($J,LRN1,"C")=LROCNTC_U_LROCNTM_U_LROCNTN
 | 
|---|
| 22 |  K ^TMP($J,"MP"),^("PAT"),LRANTIN,LRANTINM,LRANTIV,LRCDATE,LRCNT,LRMARRAY,LRMCAT,LRMCNT,LRMDONE,LRN1,LRN2,LRN3,LRNN3,LROCNTC,LROCNTM,LROCNTN,LROK,LRPATN,LRSUBN,LRTYPE,LRX
 | 
|---|
| 23 |  Q
 | 
|---|
| 24 | CHECK ; check data for merges
 | 
|---|
| 25 |  S (LRMDONE,LRMCNT)=0 F  S LRMCNT=$O(^TMP($J,"MP",LRMCNT)) Q:LRMCNT<1  D  Q:LRMDONE
 | 
|---|
| 26 |  .K LRMARRAY S LROK=1,LRANTINM="" F  S LRANTINM=$O(^TMP($J,LRN3,"A",LRANTINM)) Q:LRANTINM=""  S LRANTIV=$P(^(LRANTINM),U) D  Q:'LROK
 | 
|---|
| 27 |  ..I '$D(^TMP($J,"MP",LRMCNT,LRANTINM)) S LRMARRAY(LRANTINM)=LRANTIV Q
 | 
|---|
| 28 |  ..I LRANTIV'=^TMP($J,"MP",LRMCNT,LRANTINM) S LROK=0 Q
 | 
|---|
| 29 |  .I LROK S LRMDONE=1 D  Q
 | 
|---|
| 30 |  ..S LRANTINM=0 F  S LRANTINM=$O(LRMARRAY(LRANTINM)) Q:LRANTINM<1  D ABCOUNT(LRN1,LRMCNT,LRANTINM,LRMARRAY(LRANTINM))
 | 
|---|
| 31 |  ; setup merged data
 | 
|---|
| 32 |  I LRMDONE S $P(^TMP($J,LRN2,LRCDATE,LRSUBN),U,5)="M",LROCNTM=LROCNTM+1 Q
 | 
|---|
| 33 |  I 'LRMDONE D SETUP
 | 
|---|
| 34 |  Q
 | 
|---|
| 35 | SETUP ; setup tested data
 | 
|---|
| 36 |  S $P(^TMP($J,LRN2,LRCDATE,LRSUBN),U,5)="T",LROCNTC=LROCNTC+1
 | 
|---|
| 37 |  S LRANTINM="" F  S LRANTINM=$O(^TMP($J,LRN3,"A",LRANTINM)) Q:LRANTINM=""  S LRANTIV=$P(^(LRANTINM),U) D
 | 
|---|
| 38 |  .D ABCOUNT(LRN1,LRCNT,LRANTINM,LRANTIV)
 | 
|---|
| 39 |  Q
 | 
|---|
| 40 | ABCOUNT(N1,CNT,ABREV,AVALUE) ; count data, setup merge pattern
 | 
|---|
| 41 |  N LRX
 | 
|---|
| 42 |  S LRX=$G(^TMP($J,N1,"C",ABREV)),^(ABREV)=($P(LRX,U)+1)_U_($P(LRX,U,2)+$S(AVALUE["S":1,1:0))
 | 
|---|
| 43 |  S ^TMP($J,"MP",CNT,ABREV)=AVALUE
 | 
|---|
| 44 |  Q
 | 
|---|