LRLLP4 ;SLC/RWF - SET UP DISPLAY ORDER FOR PRINT ;2/5/91  14:38 ;
 ;;5.2;LAB SERVICE;;Sep 27, 1994
BUILD K ^TMP("LR",$J),S1,J1 S S1=0,J=0,S2=0
 F I=0:0 S I=$O(^LRO(68.2,LRINST,10,LRPROF,1,I)) Q:I'>0  S X=+^(I,0) I '$P(^(0),"^",3) D TREE
 F I=0:0 S I=$O(^LRO(68.2,LRINST,10,LRPROF,1,I)) Q:I'>0  S X=+^(I,0) I $P(^(0),"^",3),'$D(^TMP("LR",$J,X)) D TREE
 K S1,S2,J1,^TMP("LR",$J) Q
TREE I '$D(^LAB(60,X,0)) Q  ;BAD LRTEST NUMBER
 S Z=^(0) Q:$D(^TMP("LR",$J,X))  S S2=S2+1,^LRO(68.2,LRINST,10,LRPROF,1,"AO",X)=S2,^TMP("LR",$J,X)="" ;ADD TO LIST
 Q:'$D(^LAB(60,X,2,0))  Q:$O(^(0))<1  ;NOT A PANEL
 S S1=S1+1,S1(S1)=X,J1(S1)=J
 S J=0 F  S J=$O(^LAB(60,S1(S1),2,J)) Q:J<1  S X=+^(J,0) D TREE
 S J=J1(S1),X=S1(S1),S1=S1-1
 Q
DIC S LRINST=DA(2),LRPROF=DA(1),DIC("X")=X D BUILD S X=DIC("X") K DIC("X") Q
MOVE ;from LRLLP2
 I $O(^LRO(68.2,LRINST,10,LRPROF,1,"AO",0))="" D BUILD
 F I=0:0 S I=$O(^LRO(68.2,LRINST,10,LRPROF,1,"AO",I)) Q:I<1  S X=^(I),^TMP($J,LRPROF,I)=X
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRLLP4   978     printed  Sep 23, 2025@19:52:01                                                                                                                                                                                                       Page 2
LRLLP4    ;SLC/RWF - SET UP DISPLAY ORDER FOR PRINT ;2/5/91  14:38 ;
 +1       ;;5.2;LAB SERVICE;;Sep 27, 1994
BUILD      KILL ^TMP("LR",$JOB),S1,J1
           SET S1=0
           SET J=0
           SET S2=0
 +1        FOR I=0:0
               SET I=$ORDER(^LRO(68.2,LRINST,10,LRPROF,1,I))
               if I'>0
                   QUIT 
               SET X=+^(I,0)
               IF '$PIECE(^(0),"^",3)
                   DO TREE
 +2        FOR I=0:0
               SET I=$ORDER(^LRO(68.2,LRINST,10,LRPROF,1,I))
               if I'>0
                   QUIT 
               SET X=+^(I,0)
               IF $PIECE(^(0),"^",3)
                   IF '$DATA(^TMP("LR",$JOB,X))
                       DO TREE
 +3        KILL S1,S2,J1,^TMP("LR",$JOB)
           QUIT 
TREE      ;BAD LRTEST NUMBER
           IF '$DATA(^LAB(60,X,0))
               QUIT 
 +1       ;ADD TO LIST
           SET Z=^(0)
           if $DATA(^TMP("LR",$JOB,X))
               QUIT 
           SET S2=S2+1
           SET ^LRO(68.2,LRINST,10,LRPROF,1,"AO",X)=S2
           SET ^TMP("LR",$JOB,X)=""
 +2       ;NOT A PANEL
           if '$DATA(^LAB(60,X,2,0))
               QUIT 
           if $ORDER(^(0))<1
               QUIT 
 +3        SET S1=S1+1
           SET S1(S1)=X
           SET J1(S1)=J
 +4        SET J=0
           FOR 
               SET J=$ORDER(^LAB(60,S1(S1),2,J))
               if J<1
                   QUIT 
               SET X=+^(J,0)
               DO TREE
 +5        SET J=J1(S1)
           SET X=S1(S1)
           SET S1=S1-1
 +6        QUIT 
DIC        SET LRINST=DA(2)
           SET LRPROF=DA(1)
           SET DIC("X")=X
           DO BUILD
           SET X=DIC("X")
           KILL DIC("X")
           QUIT 
MOVE      ;from LRLLP2
 +1        IF $ORDER(^LRO(68.2,LRINST,10,LRPROF,1,"AO",0))=""
               DO BUILD
 +2        FOR I=0:0
               SET I=$ORDER(^LRO(68.2,LRINST,10,LRPROF,1,"AO",I))
               if I<1
                   QUIT 
               SET X=^(I)
               SET ^TMP($JOB,LRPROF,I)=X
 +3        QUIT