Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: LRGP2

LRGP2.m

Go to the documentation of this file.
  1. LRGP2 ;DALOI/STAFF - COMMON PARTS TO INSTRUMENT GROUP VERIFY/CHECK ;05/08/15 16:54
  1. ;;5.2;LAB SERVICE;**153,221,263,290,350,446,458**;Sep 27, 1994;Build 10
  1. ;
  1. Q
  1. ;
  1. ;
  1. EXPLODE ; from LRGP1, LRVR, LRVRARU, LRVRPOCU
  1. ; LRORDR="P" indicates background POC interface, order type=POC
  1. ; LRAUTORELEASE indicates background Auto Release of Lab UI results.
  1. ;
  1. N %,C,DIC,DIR,DIROUT,DIRUT,DUOUT,LREND,LRI,LRTEST,LRX,I,X,X1,Y
  1. I $G(LRORDR)'="P" K ^TMP("LR",$J)
  1. S LRCFL="",LRI=0 S:'$D(LRNX) LRNX=0
  1. F S LRI=$O(^LRO(68.2,LRLL,10,LRPROF,1,LRI)) Q:LRI<1 I $D(^(LRI,0))#2 D
  1. . S LRI(0)=$G(^LRO(68.2,LRLL,10,LRPROF,1,LRI,0))
  1. . S LRX=$P(LRI(0),"^") K LRTEST
  1. . I '$P(LRI(0),U,3) D EX6(LRX)
  1. . S:'$D(^TMP("LR",$J,"VTO",LRX))#2 ^(LRX)=""
  1. K LRVTS S LRVTS=11,LRI=0
  1. F S LRI=+$O(^TMP("LR",$J,"T",LRI)) Q:LRI<1 D
  1. . S X=$P(^TMP("LR",$J,"T",LRI),"^",5)
  1. . I $P(X,";",2)<1 Q ; Invalid data name number
  1. . S LRVTS($P(X,";",2))=LRI,LRVTS=LRVTS+1
  1. . S ^TMP("LR",$J,"VTO",LRI)=$P(X,";",2)
  1. ;
  1. I $G(LRORDR)="P"!$G(LRAUTORELEASE) Q
  1. ;
  1. EX3 ;
  1. G:$G(LREND) STOP
  1. ;
  1. K DIR,DIROUT,DIRUT,DUOUT,X,Y
  1. S DIR(0)="YO",DIR("A")="Would you like to see the test list",DIR("B")="No"
  1. D ^DIR
  1. I $S($G(DIRUT):1,$G(LREND):1,1:0) K ^TMP("LR",$J),LRVTS Q
  1. I Y=1 D
  1. . W @IOF,!,"The ("_$P(^LRO(68.2,LRLL,0),U)_") ["_$P(^LRO(68.2,LRLL,10,LRPROF,0),U)_"] Profile has"
  1. . D LIST
  1. ;
  1. K DIR,DIROUT,DIRUT,DUOUT,X,Y
  1. S DIR("A",1)=" "
  1. S DIR("A")="Do you wish to modify the test list"
  1. S DIR("?")="i.e. would you like to add or subtract ATOMIC tests?"
  1. S DIR("B")="NO"
  1. S DIR(0)="Y" D ^DIR
  1. I $D(DIRUT) S LREND=1 G STOP
  1. I Y=1 D EX1 G:'$G(LREND) EX3
  1. ;
  1. STOP ;
  1. I $G(LREND) K ^TMP("LR",$J),LRVTS S LREND=0 Q
  1. ;
  1. EX2 ;
  1. K LRVTS,DIC
  1. S LRVTS=11,LRI=0,C=0
  1. F S LRI=$O(^TMP("LR",$J,"T",LRI)) Q:LRI<1 D
  1. . S X=$P(^TMP("LR",$J,"T",LRI),U,5),LRVTS($P(X,";",2))=LRI
  1. . S LRVTS=LRVTS+1
  1. . S ^TMP("LR",$J,"VTO",LRI)=$P(X,";",2)
  1. . S C=C+1
  1. . I $P($G(^LAB(60,LRI,4)),U,2) S LRCFL=LRCFL_$P(^(4),U,2)_U
  1. S (X,X1)=0 F S X=$O(^TMP("LR",$J,"VTO",X)) Q:X<1 S X1=X1+1
  1. I C>0 W !,"You have selected ",X1," tests to work with."
  1. I C<1 D
  1. . W !,$C(7),">> Please check the PROFILE you have selected."
  1. . W !,">> At least one should be build name only = no "
  1. K ^TMP("LR",$J,"T")
  1. Q
  1. ;
  1. ;
  1. EX1 ;
  1. N DIC,DIR,DIRUT,DIROUT,DTOUT,X,X1,Y
  1. ;
  1. S DIR("A")="Do you want to add ATOMIC test(s) to this panel",DIR("B")="NO",DIR(0)="YO"
  1. D ^DIR
  1. I $D(DIRUT) S LREND=1 Q
  1. I Y=1 D
  1. . K LRVTS,DIC
  1. . S DIC("A")="Select ATOMIC test(s) you wish to add: ",DIC="^LAB(60,",DIC(0)="AEMOQZ" ; ,DIC("S")="I $G(^(.2))"
  1. . F D ^DIC Q:Y<1 K LRTEST D EX6(+Y)
  1. . W @IOF,!?5,"The List now has" D LIST
  1. ;
  1. EX4 ;
  1. K DIR
  1. S DIR("A",1)=" "
  1. S DIR("A")="Do you wish to exclude ATOMIC tests in this panel"
  1. S DIR("B")="NO",DIR(0)="YO"
  1. D ^DIR
  1. I $D(DIRUT) S LREND=1 Q
  1. I Y=1 D
  1. . N LREXCL,%
  1. . W !!,$$CJ^XLFSTR("Tests removed from this panel will not be included for review or editing.",IOM),!!
  1. . K DIC
  1. . S LREXCL="",DIC("A")="Select ATOMIC test(s) you wish to exclude: ",DIC="^LAB(60,",DIC(0)="AEMOQ"
  1. . S DIC("S")="I $D(^TMP(""LR"",$J,""T"",Y))"
  1. . F D ^DIC Q:Y<1 D
  1. . . S X1=$P($P(^TMP("LR",$J,"T",+Y),U,5),";",2)
  1. . . I X1 K LRVTS(X1)
  1. . . K ^TMP("LR",$J,"VTO",+Y),^TMP("LR",$J,"T",+Y) S LREXCL(+Y)=$P(Y,U,2) D
  1. . . .N I,X
  1. . . .S I=0 F S I=$O(^LAB(60,+Y,2,0)) Q:I<1 I $D(^(I,0)) S X=+^(0) D
  1. . . . . I X K ^TMP("LR",$J,"VTO",X),^TMP("LR",$J,"T",X) S LREXCL(X)=$P($G(^LAB(60,X,0)),U)
  1. . I $O(LREXCL(0)) D
  1. . . N I
  1. . . W @IOF,!,"Excluding" S I=0 F S I=$O(LREXCL(I)) Q:I<1 W !,LREXCL(I) K LRVTS(I) H 2
  1. Q
  1. ;
  1. ;
  1. LIST ;
  1. N LRI,DIR,DIRUT,DTOUT,DUOUT,X
  1. W " the following tests: "
  1. S LRI=0,DIR(0)="E"
  1. F S LRI=$O(^TMP("LR",$J,"VTO",LRI)) Q:LRI<1!($D(DUOUT)) D
  1. . W !,?10,$P($G(^LAB(60,LRI,0)),U)
  1. . I $Y>(IOSL-4) W ! D ^DIR W @IOF I $D(DIRUT) S LREND=1
  1. Q
  1. ;
  1. ;
  1. YESNO ;
  1. W !
  1. N DIR,DIRUT,DTOUT,DUOUT,X,Y
  1. S DIR("B")=$S($G(%)=1:"Yes",$G(%)=2:"No",1:"")
  1. S DIR(0)="Y" D ^DIR S %=Y
  1. Q
  1. ;
  1. ;
  1. EX6(LRX) ; Expand test list
  1. ;
  1. N T1
  1. ;
  1. S (T1,LRTEST)=LRX,LRTEST(T1)=LRX_U_$G(^LAB(60,T1,0))
  1. S LRTEST(T1,"P")=LRTEST
  1. D ^LREXPD
  1. S:'$D(^TMP("LR",$J,"VTO",LRX))#2 ^(LRX)=""
  1. Q