LRLLP5 ;SLC/RWA/MILW/JMC- EXPANDED TRAY LIST PRINT ;2/5/91 14:39 ;
;;5.2;LAB SERVICE;**116,153**;Sep 27, 1994
S:'LRTYPE LRTRAY=LRST S (LREXIT,LREND,LRPROF)=0,X=$O(^LRO(68.2,LRINST,1,LRTRAY)) I X S Y=$O(^(X,1,0)) I Y S LRPROF=+$P(^(Y,0),U,4)
S LRFSTP=1
D LOOP,END Q
Q
LOOP F S LRTRAY=$O(^LRO(68.2,LRINST,1,LRTRAY)) Q:LRTRAY<1!(LRTRAY>LRLLT)!(LREND) S LRDC=1 D CUP Q:LREND!($G(LREXIT)) S LRCUP=0
Q
CUP F II=0:0 S LRCUP=$O(^LRO(68.2,LRINST,1,LRTRAY,1,LRCUP)) Q:LRCUP=""!($G(LREXIT)) D LP2 S LREND=$S('LRTYPE&(LRCUP>LRLLT):1,'LRTYPE&(LRCUP=LRLLT):1,1:0) Q:LREND
Q
LP2 S LRLL=$S($D(^LRO(68.2,LRINST,1,LRTRAY,1,LRCUP,0)):^(0),1:""),LRTEST="" I LRPROF'=+$P(LRLL,U,4) S LRPROF=+$P(LRLL,U,4) K:LRDC'=LRPROF PNM S LRDC=LRPROF
Q:LRLL="" D HED:$Y+8>IOSL!(LRDC) Q:$G(LREXIT)
I LRTYPE W ! W:'LRALTH "TRAY:",$J(LRTRAY,3)," CUP:",$J(LRCUP,3) D LRLINE Q
I 'LRTYPE W ! W:'LRALTH "SEQ: ",$J(LRCUP,4) D LRLINE Q
W ! W:'LRALTH "TRAY:",$J(LRTRAY,3)," CUP:",$J(LRCUP,3) D LRLINE Q
LRLINE S LRAA=+LRLL,LRAD=+$P(LRLL,U,2),LRAN=+$P(LRLL,U,3) D MOVE^LRLLP4:$D(^TMP($J,LRPROF))=0
S LRDFN=$S($D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)):+^(0),1:"")
I LRDFN="" K ^LRO(68.2,LRINST,1,LRTRAY,1,LRCUP) D DASH^LRX Q ; IF NOTHING THERE, GET RID OF IT
K ^TMP("LR",$J,"T"),LRTSTS S LRTEST="",LRURG=99 G BLANK:LRLL=""
S J=0 F S J=$O(^LRO(68.2,LRINST,1,LRTRAY,1,LRCUP,1,J)) Q:J<1 S X=$P(^(J,0),U,2),^TMP("LR",$J,"T",J)="",LRTEST=LRTEST_J_U S:X<LRURG LRURG=+X
I LRXPD K ^TMP("LR",$J,"T"),LRTSTS,LRORD D ^LREXPD
K LRTEST,LRORD F I=0:0 S I=$O(^TMP("LR",$J,"T",I)) Q:I'>0 S LRORD($S($D(^TMP($J,LRPROF,I)):^(I),1:I+999))=I
LP4 S LRACC=^LRO(68,LRAA,1,LRAD,1,LRAN,.2) W:$X=0 LRACC
I $L(LRDFN) S LRLLOC=$P(^LRO(68,LRAA,1,LRAD,1,LRAN,0),U,7),LRDOC=$P(^(0),U,8),LRCDT=$P(^(3),U,1),LRIDT=$S($D(^(3)):9999999-^(3),1:0)
S LRSPEC=$S($D(^LRO(68,LRAA,1,LRAD,1,LRAN,5,1,0)):+^(0),1:0),LRSISPEC=+$P(^(0),U,2),LRSPEC=$S($D(^LAB(61,LRSPEC,0)):$P(^(0),U,1),1:"")
S LRSISPEC=$S($D(^LAB(62,LRSISPEC,0)):$P(^(0),U),1:"")
S X=LRDOC,LRLLOC=LRLLOC_" "_$S($D(LRURG(LRURG)):LRURG(LRURG),1:"") D DOC^LRX
S DFN=+$P(^LR(LRDFN,0),U,3),LRDPF=+$P(^(0),U,2),LRV=0,LRV=$S($D(^LR(LRDFN,"CH",LRIDT,0)):$P(^(0),U,3),1:0) D PT^LRX
W ?20 W:LRDPF=2 $E(PNM,1,30),?50,SSN W:LRDPF'=2 $E(PNM_" "_SSN(2),1,60) W ?64,LRACC W:LRV ?76,"Ver" W ?86,$E(LRDOC,1,20) S Y=LRCDT D ADD^LRX W ?110,Y D LEDI
LP3 ;
I 'LRSHORT F J=0:0 S J=$O(LRORD(J)) Q:J<1 D:($Y+5)>IOSL HED,SH Q:$G(LREXIT) S I=LRORD(J) W !,?18,$E(LRLINE,1,31) W:LRLLOC]"" ?56,LRLLOC S LRLLOC="" W !,?18,$P(^LAB(60,I,0),"^",1),?50,LRSPEC D LRSPEC
Q:$G(LREXIT)
I LRSHORT W !?18,$E(LRLINE,1,31),?56,LRSPEC D LRSPEC W !?18 F J=0:0 S J=$O(LRORD(J)) Q:J<1 D:($Y+5)>IOSL HED,SH Q:$G(LREXIT) S I=LRORD(J) W:$X>19 ", " W $P(^LAB(60,I,0),"^",1) I $X>50 W !?18
Q:$G(LREXIT)
I $D(LRAA),$D(^LRO(68,+LRAA,0)),$P(^(0),U,2)="MI" W:$D(^LR(LRDFN,"MI",LRIDT,99)) !?20,^(99)
D DASH^LRX Q
LP5 S L=$P(^TMP("LR",$J,"T",I),U,5),L=$P(L,";",2) I LRIDT,$D(^LR(LRDFN,"CH",LRIDT,L)) W ?37,$J(^(L),8)
W:LRV ?45,"Ver" Q
Q
BLANK D DASH^LRX Q
HED ;
D:$E(IOST,1,2)="C-" TERM
Q:$G(LREXIT)
W:LRDC!(IOSL\2<$Y) @IOF
;W:LRDC!($Y>(IOSL-$S($E(IOST,1,2)="C-":4,1:8))) @IOF
W !!,$S(LRTYPE>0:"LOAD",1:"WORK"),"-LIST FOR ",$P(^LRO(68.2,LRINST,0),U,1),$S($D(^LRO(68.2,LRINST,10,LRPROF,0)):" (Profile: "_$P(^(0),U,1)_")",1:""),?112,LRNOW
W !,?18,"Name",?50,"ID#",?64,"Acc #",?86,"Requested By",?110,"Coll. Date/Time"
D DASH^LRX I '$D(PNM) S LRDC=0 Q
W !,"Cont'd"
S LRDC=0
Q
SH Q:$G(LREXIT)
W ?20 W:LRDPF=2 $E(PNM,1,30),?50,SSN W:LRDPF'=2 $E(PNM_" "_SSN(2),1,60) W ?64,LRACC W:LRV ?76,"Ver" W ?86,$E(LRDOC,1,20) S Y=LRCDT D ADD^LRX W ?110,Y,!
W:LRSHORT !,?18
Q
TERM I $G(LRFSTP) K LRFSTP Q
S DIR(0)="E" D ^DIR S:$D(DIRUT) LREXIT=1 K DIR,DIRUT,Y,X
Q
END K LRFSTP,II,LREND W !
I $E(IOST,1,2)="C-",'$G(LREXIT) D TERM
W:$E(IOST,1,2)'="C-" @IOF
D ^%ZISC Q
LRSPEC ;
I $D(LRAA),$D(^LRO(68,+LRAA,0)),$P(^(0),U,2)="MI",$D(LRSISPEC),$L(LRSISPEC) S TAB=$S(LRSHORT:56,1:50) W !,?TAB,LRSISPEC K TAB
Q
LEDI ; print UID and LEDI information
N LRUIDX S LRUIDX=$G(^LRO(68,LRAA,1,LRAD,1,LRAN,.3)) W !,?64,"UID: ",$P(LRUIDX,"^")
S Y=$P(LRUIDX,"^",2) I Y S C=$P(^DD(68.02,16.1,0),"^",2) D Y^DIQ W ?86,"Ordering Site: "_$E(Y,1,20),!
S X=$P(LRUIDX,"^",5) I X'="" W ?86,"Ordering Site UID: "_X,!
S Y=$P(LRUIDX,"^",3) I Y,Y'=$P(LRUIDX,"^",2) S C=$P(^DD(68.02,16.2,0),"^",2) D Y^DIQ W ?86,"Collecting Site: "_$E(Y,1,20),!
S X=$P(LRUIDX,"^",4) I X'="",X'=$P(LRUIDX,"^") W ?86,"Host UID: "_X
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRLLP5 4519 printed Oct 16, 2024@18:17:07 Page 2
LRLLP5 ;SLC/RWA/MILW/JMC- EXPANDED TRAY LIST PRINT ;2/5/91 14:39 ;
+1 ;;5.2;LAB SERVICE;**116,153**;Sep 27, 1994
+2 if 'LRTYPE
SET LRTRAY=LRST
SET (LREXIT,LREND,LRPROF)=0
SET X=$ORDER(^LRO(68.2,LRINST,1,LRTRAY))
IF X
SET Y=$ORDER(^(X,1,0))
IF Y
SET LRPROF=+$PIECE(^(Y,0),U,4)
+3 SET LRFSTP=1
+4 DO LOOP
DO END
QUIT
+5 QUIT
LOOP FOR
SET LRTRAY=$ORDER(^LRO(68.2,LRINST,1,LRTRAY))
if LRTRAY<1!(LRTRAY>LRLLT)!(LREND)
QUIT
SET LRDC=1
DO CUP
if LREND!($GET(LREXIT))
QUIT
SET LRCUP=0
+1 QUIT
CUP FOR II=0:0
SET LRCUP=$ORDER(^LRO(68.2,LRINST,1,LRTRAY,1,LRCUP))
if LRCUP=""!($GET(LREXIT))
QUIT
DO LP2
SET LREND=$SELECT('LRTYPE&(LRCUP>LRLLT):1,'LRTYPE&(LRCUP=LRLLT):1,1:0)
if LREND
QUIT
+1 QUIT
LP2 SET LRLL=$SELECT($DATA(^LRO(68.2,LRINST,1,LRTRAY,1,LRCUP,0)):^(0),1:"")
SET LRTEST=""
IF LRPROF'=+$PIECE(LRLL,U,4)
SET LRPROF=+$PIECE(LRLL,U,4)
if LRDC'=LRPROF
KILL PNM
SET LRDC=LRPROF
+1 if LRLL=""
QUIT
if $Y+8>IOSL!(LRDC)
DO HED
if $GET(LREXIT)
QUIT
+2 IF LRTYPE
WRITE !
if 'LRALTH
WRITE "TRAY:",$JUSTIFY(LRTRAY,3)," CUP:",$JUSTIFY(LRCUP,3)
DO LRLINE
QUIT
+3 IF 'LRTYPE
WRITE !
if 'LRALTH
WRITE "SEQ: ",$JUSTIFY(LRCUP,4)
DO LRLINE
QUIT
+4 WRITE !
if 'LRALTH
WRITE "TRAY:",$JUSTIFY(LRTRAY,3)," CUP:",$JUSTIFY(LRCUP,3)
DO LRLINE
QUIT
LRLINE SET LRAA=+LRLL
SET LRAD=+$PIECE(LRLL,U,2)
SET LRAN=+$PIECE(LRLL,U,3)
if $DATA(^TMP($JOB,LRPROF))=0
DO MOVE^LRLLP4
+1 SET LRDFN=$SELECT($DATA(^LRO(68,LRAA,1,LRAD,1,LRAN,0)):+^(0),1:"")
+2 ; IF NOTHING THERE, GET RID OF IT
IF LRDFN=""
KILL ^LRO(68.2,LRINST,1,LRTRAY,1,LRCUP)
DO DASH^LRX
QUIT
+3 KILL ^TMP("LR",$JOB,"T"),LRTSTS
SET LRTEST=""
SET LRURG=99
if LRLL=""
GOTO BLANK
+4 SET J=0
FOR
SET J=$ORDER(^LRO(68.2,LRINST,1,LRTRAY,1,LRCUP,1,J))
if J<1
QUIT
SET X=$PIECE(^(J,0),U,2)
SET ^TMP("LR",$JOB,"T",J)=""
SET LRTEST=LRTEST_J_U
if X<LRURG
SET LRURG=+X
+5 IF LRXPD
KILL ^TMP("LR",$JOB,"T"),LRTSTS,LRORD
DO ^LREXPD
+6 KILL LRTEST,LRORD
FOR I=0:0
SET I=$ORDER(^TMP("LR",$JOB,"T",I))
if I'>0
QUIT
SET LRORD($SELECT($DATA(^TMP($JOB,LRPROF,I)):^(I),1:I+999))=I
LP4 SET LRACC=^LRO(68,LRAA,1,LRAD,1,LRAN,.2)
if $X=0
WRITE LRACC
+1 IF $LENGTH(LRDFN)
SET LRLLOC=$PIECE(^LRO(68,LRAA,1,LRAD,1,LRAN,0),U,7)
SET LRDOC=$PIECE(^(0),U,8)
SET LRCDT=$PIECE(^(3),U,1)
SET LRIDT=$SELECT($DATA(^(3)):9999999-^(3),1:0)
+2 SET LRSPEC=$SELECT($DATA(^LRO(68,LRAA,1,LRAD,1,LRAN,5,1,0)):+^(0),1:0)
SET LRSISPEC=+$PIECE(^(0),U,2)
SET LRSPEC=$SELECT($DATA(^LAB(61,LRSPEC,0)):$PIECE(^(0),U,1),1:"")
+3 SET LRSISPEC=$SELECT($DATA(^LAB(62,LRSISPEC,0)):$PIECE(^(0),U),1:"")
+4 SET X=LRDOC
SET LRLLOC=LRLLOC_" "_$SELECT($DATA(LRURG(LRURG)):LRURG(LRURG),1:"")
DO DOC^LRX
+5 SET DFN=+$PIECE(^LR(LRDFN,0),U,3)
SET LRDPF=+$PIECE(^(0),U,2)
SET LRV=0
SET LRV=$SELECT($DATA(^LR(LRDFN,"CH",LRIDT,0)):$PIECE(^(0),U,3),1:0)
DO PT^LRX
+6 WRITE ?20
if LRDPF=2
WRITE $EXTRACT(PNM,1,30),?50,SSN
if LRDPF'=2
WRITE $EXTRACT(PNM_" "_SSN(2),1,60)
WRITE ?64,LRACC
if LRV
WRITE ?76,"Ver"
WRITE ?86,$EXTRACT(LRDOC,1,20)
SET Y=LRCDT
DO ADD^LRX
WRITE ?110,Y
DO LEDI
LP3 ;
+1 IF 'LRSHORT
FOR J=0:0
SET J=$ORDER(LRORD(J))
if J<1
QUIT
if ($Y+5)>IOSL
DO HED
DO SH
if $GET(LREXIT)
QUIT
SET I=LRORD(J)
WRITE !,?18,$EXTRACT(LRLINE,1,31)
if LRLLOC]""
WRITE ?56,LRLLOC
SET LRLLOC=""
WRITE !,?18,$PIECE(^LAB(60,I,0),"^",1),?50,LRSPEC
DO LRSPEC
+2 if $GET(LREXIT)
QUIT
+3 IF LRSHORT
WRITE !?18,$EXTRACT(LRLINE,1,31),?56,LRSPEC
DO LRSPEC
WRITE !?18
FOR J=0:0
SET J=$ORDER(LRORD(J))
if J<1
QUIT
if ($Y+5)>IOSL
DO HED
DO SH
if $GET(LREXIT)
QUIT
SET I=LRORD(J)
if $X>19
WRITE ", "
WRITE $PIECE(^LAB(60,I,0),"^",1)
IF $X>50
WRITE !?18
+4 if $GET(LREXIT)
QUIT
+5 IF $DATA(LRAA)
IF $DATA(^LRO(68,+LRAA,0))
IF $PIECE(^(0),U,2)="MI"
if $DATA(^LR(LRDFN,"MI",LRIDT,99))
WRITE !?20,^(99)
+6 DO DASH^LRX
QUIT
LP5 SET L=$PIECE(^TMP("LR",$JOB,"T",I),U,5)
SET L=$PIECE(L,";",2)
IF LRIDT
IF $DATA(^LR(LRDFN,"CH",LRIDT,L))
WRITE ?37,$JUSTIFY(^(L),8)
+1 if LRV
WRITE ?45,"Ver"
QUIT
+2 QUIT
BLANK DO DASH^LRX
QUIT
HED ;
+1 if $EXTRACT(IOST,1,2)="C-"
DO TERM
+2 if $GET(LREXIT)
QUIT
+3 if LRDC!(IOSL\2<$Y)
WRITE @IOF
+4 ;W:LRDC!($Y>(IOSL-$S($E(IOST,1,2)="C-":4,1:8))) @IOF
+5 WRITE !!,$SELECT(LRTYPE>0:"LOAD",1:"WORK"),"-LIST FOR ",$PIECE(^LRO(68.2,LRINST,0),U,1),$SELECT($DATA(^LRO(68.2,LRINST,10,LRPROF,0)):" (Profile: "_$PIECE(^(0),U,1)_")",1:""),?112,LRNOW
+6 WRITE !,?18,"Name",?50,"ID#",?64,"Acc #",?86,"Requested By",?110,"Coll. Date/Time"
+7 DO DASH^LRX
IF '$DATA(PNM)
SET LRDC=0
QUIT
+8 WRITE !,"Cont'd"
+9 SET LRDC=0
+10 QUIT
SH if $GET(LREXIT)
QUIT
+1 WRITE ?20
if LRDPF=2
WRITE $EXTRACT(PNM,1,30),?50,SSN
if LRDPF'=2
WRITE $EXTRACT(PNM_" "_SSN(2),1,60)
WRITE ?64,LRACC
if LRV
WRITE ?76,"Ver"
WRITE ?86,$EXTRACT(LRDOC,1,20)
SET Y=LRCDT
DO ADD^LRX
WRITE ?110,Y,!
+2 if LRSHORT
WRITE !,?18
+3 QUIT
TERM IF $GET(LRFSTP)
KILL LRFSTP
QUIT
+1 SET DIR(0)="E"
DO ^DIR
if $DATA(DIRUT)
SET LREXIT=1
KILL DIR,DIRUT,Y,X
+2 QUIT
END KILL LRFSTP,II,LREND
WRITE !
+1 IF $EXTRACT(IOST,1,2)="C-"
IF '$GET(LREXIT)
DO TERM
+2 if $EXTRACT(IOST,1,2)'="C-"
WRITE @IOF
+3 DO ^%ZISC
QUIT
LRSPEC ;
+1 IF $DATA(LRAA)
IF $DATA(^LRO(68,+LRAA,0))
IF $PIECE(^(0),U,2)="MI"
IF $DATA(LRSISPEC)
IF $LENGTH(LRSISPEC)
SET TAB=$SELECT(LRSHORT:56,1:50)
WRITE !,?TAB,LRSISPEC
KILL TAB
+2 QUIT
LEDI ; print UID and LEDI information
+1 NEW LRUIDX
SET LRUIDX=$GET(^LRO(68,LRAA,1,LRAD,1,LRAN,.3))
WRITE !,?64,"UID: ",$PIECE(LRUIDX,"^")
+2 SET Y=$PIECE(LRUIDX,"^",2)
IF Y
SET C=$PIECE(^DD(68.02,16.1,0),"^",2)
DO Y^DIQ
WRITE ?86,"Ordering Site: "_$EXTRACT(Y,1,20),!
+3 SET X=$PIECE(LRUIDX,"^",5)
IF X'=""
WRITE ?86,"Ordering Site UID: "_X,!
+4 SET Y=$PIECE(LRUIDX,"^",3)
IF Y
IF Y'=$PIECE(LRUIDX,"^",2)
SET C=$PIECE(^DD(68.02,16.2,0),"^",2)
DO Y^DIQ
WRITE ?86,"Collecting Site: "_$EXTRACT(Y,1,20),!
+5 SET X=$PIECE(LRUIDX,"^",4)
IF X'=""
IF X'=$PIECE(LRUIDX,"^")
WRITE ?86,"Host UID: "_X
+6 QUIT