LRMIVER1 ;DALOI/STAFF - MICRO CHART COPY APPROVAL CONT. ;12/19/12 10:41
;;5.2;LAB SERVICE;**295,350,427**;Sep 27, 1994;Build 33
;
;from LRMIVER
;
APPROVE I '$O(^LRO(68,"AVS",LRAA,0)) W !,"No data." Q
F I=0:0 W !!,"Do you wish to review the data as the (W)ards will see it, as the (L)ab",!,"will see it, or (N)ot review the data? N// " R X:DTIME S:'$T X=U S:'$L(X) X="N" Q:X[U!("WLN"[X&($L(X)=1)) D INFO^LRMINEW
Q:X[U I X="N" D ACCEPT Q
S:X="W" LRWRDVEW="" F I=0:0 W !,"Do you want to queue the data to print and approve it later" S %=1 D YN^DICN Q:% W !,"Answer 'Y'es or 'N'o"
Q:%<1 S ZTRTN="DQ^LRMIVER1" I %=1 S %ZIS="QM",%ZIS("B")="",IOP="Q"
D IO^LRWU
Q
;
DQ ;
N LRMLTRPT ;multi report flag for RPT^LRMIPSZ1
S LRMLTRPT=1
S:$D(ZTQUEUED) ZTREQ="@" U IO
S LREND=0,LRSB=0 K ^TMP($J) S LRAD=0 F I=0:0 S LRAD=+$O(^LRO(68,"AVS",LRAA,LRAD)) Q:LRAD<1 D SORT Q:LREND
S LRONESPC="",LRONETST="" D PRINT
Q
;
SORT S LRAN=0 F S LRAN=+$O(^LRO(68,"AVS",LRAA,LRAD,LRAN)) Q:LRAN<1 D S1
Q
;
S1 S LRDFN=+^LRO(68,"AVS",LRAA,LRAD,LRAN),LRIDT=$P(^(LRAN),U,2)
I $D(^LR(LRDFN,"MI",LRIDT,0)) S LRVLOC=$S($L($P(^(0),U,8)):$P(^(0),U,8),1:0),^TMP($J,LRVLOC,LRDFN,LRIDT)=^(0)
S ^TMP($J,LRVLOC,LRDFN,LRIDT,1)=LRAD
Q
;
PRINT S LRVLOC="" F LRLCNT=0:0 S LRVLOC=$O(^TMP($J,LRVLOC)) Q:LRVLOC="" S LRLTR=$E(LRVLOC,1,4) W @IOF D ^LRLTR:$E(IOST,1,2)'="C-",P1 Q:LREND
Q
;
P1 S LRDFN=0 F S LRDFN=+$O(^TMP($J,LRVLOC,LRDFN)) Q:LRDFN<1 D P2 Q:LREND
Q
;
P2 S LRIDT=0 F S LRIDT=+$O(^TMP($J,LRVLOC,LRDFN,LRIDT)) Q:LRIDT<1 D P3 Q:LREND
Q
;
P3 S LRWLSAVE=LRAA,LRLLT=^TMP($J,LRVLOC,LRDFN,LRIDT),LRACC=$P(LRLLT,U,6),LRAD=$E(LRLLT)_$P(LRACC," ",2)_"0000",X=$P(LRACC," "),DIC=68,DIC(0)="M"
D ^DIC S LRAA=+Y,LRAN=$P(LRACC," ",3),LRCMNT=$S($D(^LR(LRDFN,"MI",LRIDT,99)):^(99),1:""),LRPG=0 D EN^LRMIPSZ1 S LRAA=LRWLSAVE Q:LREND
Q
;
ACCEPT W !!,"Indicate those you wish to exclude from verification." D LRAN^LRMIUT
S LRAN=0 F S LRAN=+$O(LRAN(LRAN)) Q:LRAN<1 S LRAD=0 F S LRAD=+$O(^LRO(68,"AVS",LRAA,LRAD)) Q:LRAD<1 K ^LRO(68,"AVS",LRAA,LRAD,LRAN)
F W !,"Ready to approve" S %=2 D YN^DICN Q:% W !,"Answer 'Y'es or 'N'o"
Q:%'=1 W !
S LRAD=0 F S LRAD=+$O(^LRO(68,"AVS",LRAA,LRAD)) Q:LRAD<1 D LRAD
K LRWRDVEW,LRAD,LRAN,LRTK,Z
Q
;
LRAD S LRAN=0 F S LRAN=+$O(^LRO(68,"AVS",LRAA,LRAD,LRAN)) Q:LRAN<1 D STUFF
Q
;
STUFF ;
S LRDFN=+^LRO(68,"AVS",LRAA,LRAD,LRAN),LRIDT=$P(^(LRAN),U,2)
D UPDATE^LRPXRM(LRDFN,"MI",LRIDT)
I $D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)) D
. S LRODT=$P(^LRO(68,LRAA,1,LRAD,1,LRAN,0),U,4),LRSN=$P(^(0),U,5),LRLLOC=$P(^(0),U,7)
. S DFN=$P(^LR(LRDFN,0),U,3),LRDPF=$P(^(0),U,2),LRCDT=9999999-LRIDT
. D PT^LRX S Y=DT D VT^LRMIUT1
S ^LR(LRDFN,"MI",LRIDT,0)=$P(^LR(LRDFN,"MI",LRIDT,0),U,1,2)_U_LRNT_U_DUZ_U_$P(^(0),U,5,99)
S LRSET=1,II=0
F S II=+$O(^LRO(68,LRAA,1,LRAD,1,LRAN,4,II)) Q:'II I $P(^(II,0),U,5)="" S LRSET=0,LRTS=II
;F S II=+$O(^LRO(68,LRAA,1,LRAD,1,LRAN,4,II)) Q:I<1 I '$L($P(^(II,0),U,5)) S LRSET=0,LRTS=II
S:LRSET $P(^LRO(68,LRAA,1,LRAD,1,LRAN,3),U,4)=LRNT W "."
F II=1,5,8,11,16 I $D(^LR(LRDFN,"MI",LRIDT,II)),$P(^(II),U) D
. K ^LRO(68,LRAA,1,LRAD,"AC",II,LRAN)
. S LRSB=II
;
I $G(LRSS)="" S LRSS="MI"
D SETRL^LRVERA(LRDFN,LRSS,LRIDT,DUZ(2))
;
; If this accession originated via a LEDI order then return results to the collecting site.
D LEDI^LRVR0
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRMIVER1 3377 printed Nov 22, 2024@17:27:53 Page 2
LRMIVER1 ;DALOI/STAFF - MICRO CHART COPY APPROVAL CONT. ;12/19/12 10:41
+1 ;;5.2;LAB SERVICE;**295,350,427**;Sep 27, 1994;Build 33
+2 ;
+3 ;from LRMIVER
+4 ;
APPROVE IF '$ORDER(^LRO(68,"AVS",LRAA,0))
WRITE !,"No data."
QUIT
+1 FOR I=0:0
WRITE !!,"Do you wish to review the data as the (W)ards will see it, as the (L)ab",!,"will see it, or (N)ot review the data? N// "
READ X:DTIME
if '$TEST
SET X=U
if '$LENGTH(X)
SET X="N"
if X[U!("WLN"[X&($LENGTH(X)=1))
QUIT
DO INFO^LRMINEW
+2 if X[U
QUIT
IF X="N"
DO ACCEPT
QUIT
+3 if X="W"
SET LRWRDVEW=""
FOR I=0:0
WRITE !,"Do you want to queue the data to print and approve it later"
SET %=1
DO YN^DICN
if %
QUIT
WRITE !,"Answer 'Y'es or 'N'o"
+4 if %<1
QUIT
SET ZTRTN="DQ^LRMIVER1"
IF %=1
SET %ZIS="QM"
SET %ZIS("B")=""
SET IOP="Q"
+5 DO IO^LRWU
+6 QUIT
+7 ;
DQ ;
+1 ;multi report flag for RPT^LRMIPSZ1
NEW LRMLTRPT
+2 SET LRMLTRPT=1
+3 if $DATA(ZTQUEUED)
SET ZTREQ="@"
USE IO
+4 SET LREND=0
SET LRSB=0
KILL ^TMP($JOB)
SET LRAD=0
FOR I=0:0
SET LRAD=+$ORDER(^LRO(68,"AVS",LRAA,LRAD))
if LRAD<1
QUIT
DO SORT
if LREND
QUIT
+5 SET LRONESPC=""
SET LRONETST=""
DO PRINT
+6 QUIT
+7 ;
SORT SET LRAN=0
FOR
SET LRAN=+$ORDER(^LRO(68,"AVS",LRAA,LRAD,LRAN))
if LRAN<1
QUIT
DO S1
+1 QUIT
+2 ;
S1 SET LRDFN=+^LRO(68,"AVS",LRAA,LRAD,LRAN)
SET LRIDT=$PIECE(^(LRAN),U,2)
+1 IF $DATA(^LR(LRDFN,"MI",LRIDT,0))
SET LRVLOC=$SELECT($LENGTH($PIECE(^(0),U,8)):$PIECE(^(0),U,8),1:0)
SET ^TMP($JOB,LRVLOC,LRDFN,LRIDT)=^(0)
+2 SET ^TMP($JOB,LRVLOC,LRDFN,LRIDT,1)=LRAD
+3 QUIT
+4 ;
PRINT SET LRVLOC=""
FOR LRLCNT=0:0
SET LRVLOC=$ORDER(^TMP($JOB,LRVLOC))
if LRVLOC=""
QUIT
SET LRLTR=$EXTRACT(LRVLOC,1,4)
WRITE @IOF
if $EXTRACT(IOST,1,2)'="C-"
DO ^LRLTR
DO P1
if LREND
QUIT
+1 QUIT
+2 ;
P1 SET LRDFN=0
FOR
SET LRDFN=+$ORDER(^TMP($JOB,LRVLOC,LRDFN))
if LRDFN<1
QUIT
DO P2
if LREND
QUIT
+1 QUIT
+2 ;
P2 SET LRIDT=0
FOR
SET LRIDT=+$ORDER(^TMP($JOB,LRVLOC,LRDFN,LRIDT))
if LRIDT<1
QUIT
DO P3
if LREND
QUIT
+1 QUIT
+2 ;
P3 SET LRWLSAVE=LRAA
SET LRLLT=^TMP($JOB,LRVLOC,LRDFN,LRIDT)
SET LRACC=$PIECE(LRLLT,U,6)
SET LRAD=$EXTRACT(LRLLT)_$PIECE(LRACC," ",2)_"0000"
SET X=$PIECE(LRACC," ")
SET DIC=68
SET DIC(0)="M"
+1 DO ^DIC
SET LRAA=+Y
SET LRAN=$PIECE(LRACC," ",3)
SET LRCMNT=$SELECT($DATA(^LR(LRDFN,"MI",LRIDT,99)):^(99),1:"")
SET LRPG=0
DO EN^LRMIPSZ1
SET LRAA=LRWLSAVE
if LREND
QUIT
+2 QUIT
+3 ;
ACCEPT WRITE !!,"Indicate those you wish to exclude from verification."
DO LRAN^LRMIUT
+1 SET LRAN=0
FOR
SET LRAN=+$ORDER(LRAN(LRAN))
if LRAN<1
QUIT
SET LRAD=0
FOR
SET LRAD=+$ORDER(^LRO(68,"AVS",LRAA,LRAD))
if LRAD<1
QUIT
KILL ^LRO(68,"AVS",LRAA,LRAD,LRAN)
+2 FOR
WRITE !,"Ready to approve"
SET %=2
DO YN^DICN
if %
QUIT
WRITE !,"Answer 'Y'es or 'N'o"
+3 if %'=1
QUIT
WRITE !
+4 SET LRAD=0
FOR
SET LRAD=+$ORDER(^LRO(68,"AVS",LRAA,LRAD))
if LRAD<1
QUIT
DO LRAD
+5 KILL LRWRDVEW,LRAD,LRAN,LRTK,Z
+6 QUIT
+7 ;
LRAD SET LRAN=0
FOR
SET LRAN=+$ORDER(^LRO(68,"AVS",LRAA,LRAD,LRAN))
if LRAN<1
QUIT
DO STUFF
+1 QUIT
+2 ;
STUFF ;
+1 SET LRDFN=+^LRO(68,"AVS",LRAA,LRAD,LRAN)
SET LRIDT=$PIECE(^(LRAN),U,2)
+2 DO UPDATE^LRPXRM(LRDFN,"MI",LRIDT)
+3 IF $DATA(^LRO(68,LRAA,1,LRAD,1,LRAN,0))
Begin DoDot:1
+4 SET LRODT=$PIECE(^LRO(68,LRAA,1,LRAD,1,LRAN,0),U,4)
SET LRSN=$PIECE(^(0),U,5)
SET LRLLOC=$PIECE(^(0),U,7)
+5 SET DFN=$PIECE(^LR(LRDFN,0),U,3)
SET LRDPF=$PIECE(^(0),U,2)
SET LRCDT=9999999-LRIDT
+6 DO PT^LRX
SET Y=DT
DO VT^LRMIUT1
End DoDot:1
+7 SET ^LR(LRDFN,"MI",LRIDT,0)=$PIECE(^LR(LRDFN,"MI",LRIDT,0),U,1,2)_U_LRNT_U_DUZ_U_$PIECE(^(0),U,5,99)
+8 SET LRSET=1
SET II=0
+9 FOR
SET II=+$ORDER(^LRO(68,LRAA,1,LRAD,1,LRAN,4,II))
if 'II
QUIT
IF $PIECE(^(II,0),U,5)=""
SET LRSET=0
SET LRTS=II
+10 ;F S II=+$O(^LRO(68,LRAA,1,LRAD,1,LRAN,4,II)) Q:I<1 I '$L($P(^(II,0),U,5)) S LRSET=0,LRTS=II
+11 if LRSET
SET $PIECE(^LRO(68,LRAA,1,LRAD,1,LRAN,3),U,4)=LRNT
WRITE "."
+12 FOR II=1,5,8,11,16
IF $DATA(^LR(LRDFN,"MI",LRIDT,II))
IF $PIECE(^(II),U)
Begin DoDot:1
+13 KILL ^LRO(68,LRAA,1,LRAD,"AC",II,LRAN)
+14 SET LRSB=II
End DoDot:1
+15 ;
+16 IF $GET(LRSS)=""
SET LRSS="MI"
+17 DO SETRL^LRVERA(LRDFN,LRSS,LRIDT,DUZ(2))
+18 ;
+19 ; If this accession originated via a LEDI order then return results to the collecting site.
+20 DO LEDI^LRVR0
+21 QUIT