1 | LREXPD ;SLC/RWF-EXPLODE A LRTEST LIST ;2/5/91 13:15
|
---|
2 | ;;5.2;LAB SERVICE;**153,201,221**;Sep 27, 1994
|
---|
3 | ;LRTEST IS LIST OF TEST's, LREXPD IS EXECUTE CODE TO SET OTHER VAR.
|
---|
4 | S S1=0,J=0 S:'$D(LRTSTS)#2 LRTSTS=0
|
---|
5 | F I=1:1 S X=$P(LRTEST,U,I) Q:X<1 D TREE
|
---|
6 | K LREXPD,S1,J1 Q
|
---|
7 | TREE I '$D(^LAB(60,X,0)) Q ;BAD LRTEST NUMBER
|
---|
8 | I $P(^LAB(60,X,0),U,5)]"" Q:$D(^TMP("LR",$J,"T",X)) S LRTSTS=LRTSTS+1,LRORD(LRTSTS)=X,^TMP("LR",$J,"T",X)=^LAB(60,X,0) X:$D(LREXPD) LREXPD Q ;ADD TO LIST
|
---|
9 | Q:'$D(^LAB(60,X,2,0)) Q:$O(^(0))<1 Q:$D(S1("A",X)) ;NOT A PANEL
|
---|
10 | S S1=S1+1,S1(S1)=X,J1(S1)=J,S1("A",X)=""
|
---|
11 | S J=0 F S J=$O(^LAB(60,S1(S1),2,J)) Q:J<1 S X=+^(J,0) D TREE
|
---|
12 | S J=J1(S1),X=S1(S1),S1=S1-1
|
---|
13 | Q
|
---|
14 | EXP ;Get the list of tests for this ACC. from LRGVG1
|
---|
15 | N I,N,IX
|
---|
16 | K LRTEST,LRNAME,LRSM60 S LRALERT=$S($G(LROUTINE):LROUTINE,1:9),N=0,I=0,IX=+$G(^LRO(68,LRAA,1,LRAD,1,LRAN,5,1,0))
|
---|
17 | F S I=$O(^LRO(68,LRAA,1,LRAD,1,LRAN,4,I)) Q:I<.5 I $G(^(I,0)) S X=^(0) D
|
---|
18 | . S N=N+1,LRTEST(N)=I,LRTEST(N,"P")=$P(X,U,9)_U_$$NLT^LRVER1(I)_"!"
|
---|
19 | . S LRAL=$P($G(^(0)),U,2) I LRAL,LRAL<LRALERT S LRALERT=LRAL
|
---|
20 | K LRAL S LRNTN=N F I=1:1:N S:$D(^LAB(60,+LRTEST(I),0)) LRTEST(I)=LRTEST(I)_U_^(0),LRNAME(I)=$P(LRTEST(I),U,2),LRNAME(I,+LRTEST(I))="" S:$G(^(1,IX,3)) LRSM60(+$P(LRTEST(I),";",2))=^(3)
|
---|
21 | K IX N X1,X S X=$P($H,","),X(1)=$P($H,",",2),I=0 F S I=$O(LRSM60(I)) Q:'I S X1=X-LRSM60(I)_","_X(1),LRSM60(I)=9999999-$$HTFM^XLFDT(X1)
|
---|
22 | Q
|
---|
23 | EX1 ;;Expand the list of tests to edit.
|
---|
24 | Q:'$D(LRTEST(T1)) S X=LRTEST(T1),^TMP("LR",$J,"VTO",+X)=$P($P(X,U,6),";",2)
|
---|
25 | S ^TMP("LR",$J,"VTO",+X,"P")=$G(LRTEST(T1,"P")),S1=0,J=0 D EX2 K S1,J
|
---|
26 | Q
|
---|
27 | EX2 ;from LRDIST
|
---|
28 | S LRSUB=$P(X,U,6) I $D(^LAB(60,+X,4)),$P(^(4),"^",2) S LRCFL=LRCFL_$P(^(4),"^",2)_U
|
---|
29 | I $L(LRSUB) S S2=$P(LRSUB,";",2) D:'$D(^TMP("LR",$J,"TMP",S2)) ORD Q
|
---|
30 | S S1=S1+1,S1(S1)=X,S1(S1,1)=J
|
---|
31 | S J=0 F S J=$O(^LAB(60,+S1(S1),2,J)) Q:J<1 S Y=+^(J,0),X=Y_U_^LAB(60,Y,0) D EX2
|
---|
32 | S X=S1(S1),J=S1(S1,1),S1=S1-1
|
---|
33 | Q
|
---|
34 | ORD S LRNX=LRNX+1,LRORD(LRNX)=S2,^TMP("LR",$J,"TMP",S2)=+X
|
---|
35 | S ^TMP("LR",$J,"TMP",S2,"P")=$G(LRTEST(T1))_U_$$RNLT^LRVER1(+X)
|
---|
36 | S:$P(X,U,18) LRM(S2)=+X,LRMX(+X)="" Q
|
---|
37 | ;LRNX is set by caller
|
---|
38 | Q
|
---|