LRUMDU ;AVAMC/REG - MD SELECTED TEST UTILITY ;1/21/94 08:17 ;
;;5.2;LAB SERVICE;;Sep 27, 1994
D L^LRUMD Q:Y=-1 D LR^LRUMD2,F
G:'C N D Z
ASK W !,"(E)nter/edit a test (D)elete a test list (R)emove all test lists",!,"(P)rint test lists",! R "Enter E, D, R, P or <CR> to accept lists: ",X:DTIME Q:X=""!(X[U)
G R:$A(X)=82,D:$A(X)=68,E:$A(X)=69,P:$A(X)=80 W $C(7) G ASK
;
L W !?6,"Test order#:",?21,1,?29,2,?37,3,?45,4,?53,5,?61,6,?69,7 D Z Q
;
Z Q:LR("Q") W !,"-----------------|-------|-------|-------|-------|-------|-------|-------|" Q
;
R W !!,"SURE YOU WANT TO DELETE ALL THE LISTS " S %=2 D YN^LRU Q:%'=1 K ^LRO(69.2,LRAA,7,DUZ,60) S ^(60,0)="^69.35A^0^0" Q
;
D R !,"Select list number to delete: ",X:DTIME G:X=""!(X[U) LRUMDU I '$D(N(X)) W $C(7),!,"Enter the test list number",! G D
K ^LRO(69.2,LRAA,7,DUZ,60,X) S X(1)=$O(^LRO(69.2,LRAA,7,DUZ,60,0)) S:'X(1) X(1)=0 S X=^LRO(69.2,LRAA,7,DUZ,60,0),^(0)=$P(X,"^",1,2)_"^"_X(1)_"^"_$S(X(1)=0:X(1),1:($P(X,"^",4)-1)) G LRUMDU
;
E D A Q:X=""!(X[U) I $D(N(L,O)) W " ",N(L,O),"// " R X:DTIME G:X=""!(X[U) E D C G E
S DIC(0)="AEQM" D H Q:X<1 S T=X D G,K^LRU,F,Z G E
;
C I X="@" W !?3,"SURE YOU WANT TO DELETE ? " S %=0 D RX^LRU G:%=1 K W " <NOTHING DELETED>" Q
S DIC(0)="EQM" D H Q:X<1 S T=X D G,K^LRU,F,Z Q
;
P S ZTRTN="QUE^LRUMDU" D BEG^LRUTL G:POP!($D(ZTSK)) END
QUE U IO S (LR("Q"),LRQ)=0,LRQ(1)=^DD("SITE") D L^LRU,HDR S LR("F")=1
D F1 W !,LR("%") D END^LRUTL,OUT Q
;
N W !,"You have no test lists. Instead of creating your own",!,"would you prefer to copy another user's lists " S %=2 D YN^LRU I %=1 D I G END
T S DIC(0)="AEQM" D H G:X<1 END S T=X D B G T
B D A Q:X=""!(X[U)
G I '$D(^LRO(69.2,LRAA,7,DUZ,60,L,0)) S ^(0)=L,Z=^LRO(69.2,LRAA,7,DUZ,60,0),^(0)=$P(Z,"^",1,2)_"^"_L_"^"_($P(Z,"^",4)+1)
I $D(^LRO(69.2,LRAA,7,DUZ,60,L,1,O,0)) S ^(0)=T Q
S:'$D(^LRO(69.2,LRAA,7,DUZ,60,L,1,0)) ^(0)="^69.36PA^0^0" S Z=^(0),^(0)=$P(Z,"^",1,2)_"^"_O_"^"_($P(Z,"^",4)+1),^LRO(69.2,LRAA,7,DUZ,60,L,1,O,0)=T Q
;
H W ! S DIC=60,DIC("S")="I $P(^(0),U,5)?1""CH;""1N.N.E" D ^DIC K DIC Q:X=""!(X[U) S X=+Y Q
A R !,"Enter list#,order# : ",X:DTIME Q:X=""!(X[U) S L=+X,O=+$P(X,",",2) I L>99!(L<1)!(O>7)!(O<1) D W G A
Q
W W !!?3,"Enter test list number (1-99) then a ',' then test order number (1-7)",!,"[Entering 2,3 would put the test selected in test list 2 and test order 3]",! Q
;
END S Z=0 F X=0:0 S X=$O(^LRO(69.2,LRAA,7,DUZ,60,X)) Q:'X!(Z=1) F Y=0:0 S Y=$O(^LRO(69.2,LRAA,7,DUZ,60,X,1,Y)) Q:'Y S Z=1 Q
G:Z LRUMDU Q
K K ^LRO(69.2,LRAA,7,DUZ,60,L,1,O) S X(1)=$O(^LRO(69.2,LRAA,7,DUZ,60,L,1,0)) S:'X(1) X(1)=0 S X=^LRO(69.2,LRAA,7,DUZ,60,L,1,0),^(0)=$P(X,"^",1,2)_"^"_X(1)_"^"_$S(X(1)=0:X(1),1:($P(X,"^",4)-1)) D K^LRU,F,Z Q
F W @IOF
F1 F A=0:0 S A=$O(^LRO(69.2,LRAA,7,DUZ,60,A)) Q:'A F B=0:0 S B=$O(^LRO(69.2,LRAA,7,DUZ,60,A,1,B)) Q:'B S C=^(B,0),N(A,B)=$P(^LAB(60,C,.1),"^"),L(A,B)=$P($P(^(0),U,5),";",2)
S (LR("Q"),A)=0 F C=0:1 S A=$O(N(A)) Q:'A!(LR("Q")) D:'C L D:C Z D:$Y>(IOSL-4) HDR Q:LR("Q") W !,"Test list#: ",$J(A,2),?17,"|" F B=0:0 S B=$O(N(A,B)) Q:'B W ?10+(B*8),N(A,B),$E(" ",1,7-$L(N(A,B))),"|"
Q
I W ! S DIC=200,DIC(0)="AEQM" D ^DIC K DIC Q:Y<1 S X=+Y I '$O(^LRO(69.2,LRAA,7,X,60,0)) W $C(7),!,$P(Y,"^",2)," has no test lists." G I
S %X="^LRO(69.2,LRAA,7,X,60,",%Y="^LRO(69.2,LRAA,7,DUZ,60," D %XY^%RCR Q
HDR I IOST?1"C".E D M^LRU Q:LR("Q") W @IOF Q
D F^LRU W !,"Test list for ",$P(^VA(200,DUZ,0),U),!,LR("%") Q
OUT D V^LRU Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRUMDU 3474 printed Nov 22, 2024@17:31:49 Page 2
LRUMDU ;AVAMC/REG - MD SELECTED TEST UTILITY ;1/21/94 08:17 ;
+1 ;;5.2;LAB SERVICE;;Sep 27, 1994
+2 DO L^LRUMD
if Y=-1
QUIT
DO LR^LRUMD2
DO F
+3 if 'C
GOTO N
DO Z
ASK WRITE !,"(E)nter/edit a test (D)elete a test list (R)emove all test lists",!,"(P)rint test lists",!
READ "Enter E, D, R, P or <CR> to accept lists: ",X:DTIME
if X=""!(X[U)
QUIT
+1 if $ASCII(X)=82
GOTO R
if $ASCII(X)=68
GOTO D
if $ASCII(X)=69
GOTO E
if $ASCII(X)=80
GOTO P
WRITE $CHAR(7)
GOTO ASK
+2 ;
L WRITE !?6,"Test order#:",?21,1,?29,2,?37,3,?45,4,?53,5,?61,6,?69,7
DO Z
QUIT
+1 ;
Z if LR("Q")
QUIT
WRITE !,"-----------------|-------|-------|-------|-------|-------|-------|-------|"
QUIT
+1 ;
R WRITE !!,"SURE YOU WANT TO DELETE ALL THE LISTS "
SET %=2
DO YN^LRU
if %'=1
QUIT
KILL ^LRO(69.2,LRAA,7,DUZ,60)
SET ^(60,0)="^69.35A^0^0"
QUIT
+1 ;
D READ !,"Select list number to delete: ",X:DTIME
if X=""!(X[U)
GOTO LRUMDU
IF '$DATA(N(X))
WRITE $CHAR(7),!,"Enter the test list number",!
GOTO D
+1 KILL ^LRO(69.2,LRAA,7,DUZ,60,X)
SET X(1)=$ORDER(^LRO(69.2,LRAA,7,DUZ,60,0))
if 'X(1)
SET X(1)=0
SET X=^LRO(69.2,LRAA,7,DUZ,60,0)
SET ^(0)=$PIECE(X,"^",1,2)_"^"_X(1)_"^"_$SELECT(X(1)=0:X(1),1:($PIECE(X,"^",4)-1))
GOTO LRUMDU
+2 ;
E DO A
if X=""!(X[U)
QUIT
IF $DATA(N(L,O))
WRITE " ",N(L,O),"// "
READ X:DTIME
if X=""!(X[U)
GOTO E
DO C
GOTO E
+1 SET DIC(0)="AEQM"
DO H
if X<1
QUIT
SET T=X
DO G
DO K^LRU
DO F
DO Z
GOTO E
+2 ;
C IF X="@"
WRITE !?3,"SURE YOU WANT TO DELETE ? "
SET %=0
DO RX^LRU
if %=1
GOTO K
WRITE " <NOTHING DELETED>"
QUIT
+1 SET DIC(0)="EQM"
DO H
if X<1
QUIT
SET T=X
DO G
DO K^LRU
DO F
DO Z
QUIT
+2 ;
P SET ZTRTN="QUE^LRUMDU"
DO BEG^LRUTL
if POP!($DATA(ZTSK))
GOTO END
QUE USE IO
SET (LR("Q"),LRQ)=0
SET LRQ(1)=^DD("SITE")
DO L^LRU
DO HDR
SET LR("F")=1
+1 DO F1
WRITE !,LR("%")
DO END^LRUTL
DO OUT
QUIT
+2 ;
N WRITE !,"You have no test lists. Instead of creating your own",!,"would you prefer to copy another user's lists "
SET %=2
DO YN^LRU
IF %=1
DO I
GOTO END
T SET DIC(0)="AEQM"
DO H
if X<1
GOTO END
SET T=X
DO B
GOTO T
B DO A
if X=""!(X[U)
QUIT
G IF '$DATA(^LRO(69.2,LRAA,7,DUZ,60,L,0))
SET ^(0)=L
SET Z=^LRO(69.2,LRAA,7,DUZ,60,0)
SET ^(0)=$PIECE(Z,"^",1,2)_"^"_L_"^"_($PIECE(Z,"^",4)+1)
+1 IF $DATA(^LRO(69.2,LRAA,7,DUZ,60,L,1,O,0))
SET ^(0)=T
QUIT
+2 if '$DATA(^LRO(69.2,LRAA,7,DUZ,60,L,1,0))
SET ^(0)="^69.36PA^0^0"
SET Z=^(0)
SET ^(0)=$PIECE(Z,"^",1,2)_"^"_O_"^"_($PIECE(Z,"^",4)+1)
SET ^LRO(69.2,LRAA,7,DUZ,60,L,1,O,0)=T
QUIT
+3 ;
H WRITE !
SET DIC=60
SET DIC("S")="I $P(^(0),U,5)?1""CH;""1N.N.E"
DO ^DIC
KILL DIC
if X=""!(X[U)
QUIT
SET X=+Y
QUIT
A READ !,"Enter list#,order# : ",X:DTIME
if X=""!(X[U)
QUIT
SET L=+X
SET O=+$PIECE(X,",",2)
IF L>99!(L<1)!(O>7)!(O<1)
DO W
GOTO A
+1 QUIT
W WRITE !!?3,"Enter test list number (1-99) then a ',' then test order number (1-7)",!,"[Entering 2,3 would put the test selected in test list 2 and test order 3]",!
QUIT
+1 ;
END SET Z=0
FOR X=0:0
SET X=$ORDER(^LRO(69.2,LRAA,7,DUZ,60,X))
if 'X!(Z=1)
QUIT
FOR Y=0:0
SET Y=$ORDER(^LRO(69.2,LRAA,7,DUZ,60,X,1,Y))
if 'Y
QUIT
SET Z=1
QUIT
+1 if Z
GOTO LRUMDU
QUIT
K KILL ^LRO(69.2,LRAA,7,DUZ,60,L,1,O)
SET X(1)=$ORDER(^LRO(69.2,LRAA,7,DUZ,60,L,1,0))
if 'X(1)
SET X(1)=0
SET X=^LRO(69.2,LRAA,7,DUZ,60,L,1,0)
SET ^(0)=$PIECE(X,"^",1,2)_"^"_X(1)_"^"_$SELECT(X(1)=0:X(1),1:($PIECE(X,"^",4)-1))
DO K^LRU
DO F
DO Z
QUIT
F WRITE @IOF
F1 FOR A=0:0
SET A=$ORDER(^LRO(69.2,LRAA,7,DUZ,60,A))
if 'A
QUIT
FOR B=0:0
SET B=$ORDER(^LRO(69.2,LRAA,7,DUZ,60,A,1,B))
if 'B
QUIT
SET C=^(B,0)
SET N(A,B)=$PIECE(^LAB(60,C,.1),"^")
SET L(A,B)=$PIECE($PIECE(^(0),U,5),";",2)
+1 SET (LR("Q"),A)=0
FOR C=0:1
SET A=$ORDER(N(A))
if 'A!(LR("Q"))
QUIT
if 'C
DO L
if C
DO Z
if $Y>(IOSL-4)
DO HDR
if LR("Q")
QUIT
WRITE !,"Test list#: ",$JUSTIFY(A,2),?17,"|"
FOR B=0:0
SET B=$ORDER(N(A,B))
if 'B
QUIT
WRITE ?10+(B*8),N(A,B),$EXTRACT(" ",1,7-$LENGTH(N(A,B))),"|"
+2 QUIT
I WRITE !
SET DIC=200
SET DIC(0)="AEQM"
DO ^DIC
KILL DIC
if Y<1
QUIT
SET X=+Y
IF '$ORDER(^LRO(69.2,LRAA,7,X,60,0))
WRITE $CHAR(7),!,$PIECE(Y,"^",2)," has no test lists."
GOTO I
+1 SET %X="^LRO(69.2,LRAA,7,X,60,"
SET %Y="^LRO(69.2,LRAA,7,DUZ,60,"
DO %XY^%RCR
QUIT
HDR IF IOST?1"C".E
DO M^LRU
if LR("Q")
QUIT
WRITE @IOF
QUIT
+1 DO F^LRU
WRITE !,"Test list for ",$PIECE(^VA(200,DUZ,0),U),!,LR("%")
QUIT
OUT DO V^LRU
QUIT