[613] | 1 | LRGP2 ;SLC/CJS/RWF/DALOI/FHS-COMMON PARTS TO INSTRUMENT GROUP VERIFY/CHECK ;2/5/91 13:23
|
---|
| 2 | ;;5.2;LAB SERVICE;**153,221,263,290**;Sep 27, 1994
|
---|
| 3 | Q
|
---|
| 4 | ;
|
---|
| 5 | ;
|
---|
| 6 | EXPLODE ; from LRGP1, LRVR
|
---|
| 7 | N %,C,DIC,DIR,DIRUT,DIROUT,DUOUT,LREND,LRI,LRTEST,LRX,I,X,Y
|
---|
| 8 | I $G(LRORDR)'="P" K ^TMP("LR",$J)
|
---|
| 9 | S LRCFL="",LRI=0 S:'$D(LRNX) LRNX=0
|
---|
| 10 | F S LRI=$O(^LRO(68.2,LRLL,10,LRPROF,1,LRI)) Q:LRI<1 I $D(^(LRI,0))#2 D
|
---|
| 11 | . S LRI(0)=$G(^LRO(68.2,LRLL,10,LRPROF,1,LRI,0))
|
---|
| 12 | . S LRX=$P(LRI(0),"^") K LRTEST
|
---|
| 13 | . I '$P(LRI(0),U,3) D EX6(LRX)
|
---|
| 14 | . S:'$D(^TMP("LR",$J,"VTO",LRX))#2 ^(LRX)=""
|
---|
| 15 | K LRVTS S LRVTS=11,LRI=0 D
|
---|
| 16 | . F S LRI=+$O(^TMP("LR",$J,"T",LRI)) Q:LRI<1 S X=^(LRI) D
|
---|
| 17 | . . S LRVTS($P(X,";",2))=LRI,LRVTS=LRVTS+1
|
---|
| 18 | . . S ^TMP("LR",$J,"VTO",LRI)=$P(X,";",2)
|
---|
| 19 | Q:$G(LRORDR)="P"
|
---|
| 20 | EX3 ;
|
---|
| 21 | G:$G(LREND) STOP
|
---|
| 22 | ;
|
---|
| 23 | K DIR,DIRUT,DIROUT,DUOUT,X,Y
|
---|
| 24 | S DIR(0)="YO",DIR("A")="Would you like to see the test list",DIR("B")="No"
|
---|
| 25 | D ^DIR
|
---|
| 26 | I $S($G(DIRUT):1,$G(LREND):1,1:0) K ^TMP("LR",$J),LRVTS Q
|
---|
| 27 | I Y=1 D
|
---|
| 28 | . W @IOF,!,"The ("_$P(^LRO(68.2,LRLL,0),U)_") ["_$P(^LRO(68.2,LRLL,10,LRPROF,0),U)_"] Profile has"
|
---|
| 29 | . D LIST
|
---|
| 30 | ;
|
---|
| 31 | K DIR
|
---|
| 32 | S DIR("A",1)=" "
|
---|
| 33 | S DIR("A")="Do you wish to modify the test list"
|
---|
| 34 | S DIR("?")="i.e. would you like to add or subtract ATOMIC tests?"
|
---|
| 35 | S DIR("B")="NO"
|
---|
| 36 | S DIR(0)="Y" D ^DIR
|
---|
| 37 | I $D(DIRUT) S LREND=1 G STOP
|
---|
| 38 | I Y=1 D EX1 G:'$G(LREND) EX3
|
---|
| 39 | STOP I $G(LREND) K ^TMP("LR",$J),LRVTS S LREND=0 Q
|
---|
| 40 | EX2 ;
|
---|
| 41 | K LRVTS,DIC
|
---|
| 42 | S LRVTS=11,LRI=0,C=0
|
---|
| 43 | F S LRI=$O(^TMP("LR",$J,"T",LRI)) Q:LRI<1 D
|
---|
| 44 | . S X=^TMP("LR",$J,"T",LRI),LRVTS($P(X,";",2))=LRI
|
---|
| 45 | . S LRVTS=LRVTS+1
|
---|
| 46 | . S ^TMP("LR",$J,"VTO",LRI)=$P(X,";",2)
|
---|
| 47 | . S C=C+1
|
---|
| 48 | . I $P($G(^LAB(60,LRI,4)),U,2) S LRCFL=LRCFL_$P(^(4),U,2)_U
|
---|
| 49 | S (X,X1)=0 F S X=$O(^TMP("LR",$J,"VTO",X)) Q:X<1 S X1=X1+1
|
---|
| 50 | I C>0 W !,"You have selected ",X1," tests to work with."
|
---|
| 51 | I C<1 D
|
---|
| 52 | . W !,$C(7),">> Please check the PROFILE you have selected."
|
---|
| 53 | . W !,">> At least one should be build name only = no "
|
---|
| 54 | K ^TMP("LR",$J,"T")
|
---|
| 55 | Q
|
---|
| 56 | ;
|
---|
| 57 | EX1 ;
|
---|
| 58 | K DIR
|
---|
| 59 | S DIR("A")="Do you want to add ATOMIC test(s) to this panel",DIR("B")="NO"
|
---|
| 60 | D ^DIR
|
---|
| 61 | I $D(DIRUT) S LREND=1 Q
|
---|
| 62 | I Y=1 D
|
---|
| 63 | . K LRVTS,DIC
|
---|
| 64 | . S DIC("A")="Select ATOMIC test(s) you wish to add: ",DIC="^LAB(60,",DIC(0)="AEMOQZ" ; ,DIC("S")="I $G(^(.2))"
|
---|
| 65 | . F D ^DIC Q:Y<1 K LRTEST D EX6(+Y)
|
---|
| 66 | . W @IOF,!?5,"The List now has" D LIST
|
---|
| 67 | EX4 ;
|
---|
| 68 | K DIR
|
---|
| 69 | S DIR("A",1)=" "
|
---|
| 70 | S DIR("A")="Do you wish to exclude ATOMIC tests in this panel"
|
---|
| 71 | S DIR("B")="NO",DIR(0)="YO"
|
---|
| 72 | D ^DIR
|
---|
| 73 | I $D(DIRUT) S LREND=1 Q
|
---|
| 74 | I Y=1 D
|
---|
| 75 | . N LREXCL,%
|
---|
| 76 | . W !!,$$CJ^XLFSTR("Tests removed from this panel will not be included for review or editing.",IOM),!!
|
---|
| 77 | . K DIC
|
---|
| 78 | . S LREXCL="",DIC("A")="Select ATOMIC test(s) you wish to exclude: ",DIC="^LAB(60,",DIC(0)="AEMOQ"
|
---|
| 79 | . S DIC("S")="I $D(^TMP(""LR"",$J,""T"",Y))"
|
---|
| 80 | . F D ^DIC Q:Y<1 D
|
---|
| 81 | . . S X1=$P(^TMP("LR",$J,"T",+Y),";",2)
|
---|
| 82 | . . I X1 K LRVTS(X1)
|
---|
| 83 | . . K ^TMP("LR",$J,"VTO",+Y),^TMP("LR",$J,"T",+Y) S LREXCL(+Y)=$P(Y,U,2) D
|
---|
| 84 | . . .N I,X
|
---|
| 85 | . . .S I=0 F S I=$O(^LAB(60,+Y,2,0)) Q:I<1 I $D(^(I,0)) S X=+^(0) D
|
---|
| 86 | . . . . I X K ^TMP("LR",$J,"VTO",X),^TMP("LR",$J,"T",X) S LREXCL(X)=$P($G(^LAB(60,X,0)),U)
|
---|
| 87 | . I $O(LREXCL(0)) D
|
---|
| 88 | . . N I
|
---|
| 89 | . . W @IOF,!,"Excluding" S I=0 F S I=$O(LREXCL(I)) Q:I<1 W !,LREXCL(I) K LRVTS(I) H 2
|
---|
| 90 | Q
|
---|
| 91 | ;
|
---|
| 92 | LIST ;
|
---|
| 93 | N LRI,DIR,DUOUT,X
|
---|
| 94 | W " the following tests: "
|
---|
| 95 | S LRI=0,DIR(0)="E"
|
---|
| 96 | F S LRI=$O(^TMP("LR",$J,"VTO",LRI)) Q:LRI<1!($D(DUOUT)) D
|
---|
| 97 | . W !,?10,$P($G(^LAB(60,LRI,0)),U)
|
---|
| 98 | . I $Y>(IOSL-4) W ! D ^DIR W @IOF I $D(DIRUT) S LREND=1
|
---|
| 99 | Q
|
---|
| 100 | ;
|
---|
| 101 | ;
|
---|
| 102 | YESNO ;
|
---|
| 103 | W !
|
---|
| 104 | N DIR
|
---|
| 105 | S DIR("B")=$S($G(%)=1:"Yes",$G(%)=2:"No",1:"")
|
---|
| 106 | S DIR(0)="Y" D ^DIR S %=Y
|
---|
| 107 | Q
|
---|
| 108 | ;
|
---|
| 109 | ;
|
---|
| 110 | EX6(LRX) ;Expand test list
|
---|
| 111 | S (T1,LRTEST)=LRX,LRTEST(T1)=LRX_U_$G(^LAB(60,T1,0))
|
---|
| 112 | S LRTEST(T1,"P")=LRTEST
|
---|
| 113 | D ^LREXPD
|
---|
| 114 | S:'$D(^TMP("LR",$J,"VTO",LRX))#2 ^(LRX)=""
|
---|
| 115 | Q
|
---|