LRULEN ;AVAMC/REG - BYTE COUNT FOR ACCESSIONS ;5/9/91 18:19 ;
;;5.2;LAB SERVICE;;Sep 27, 1994
W !!?20,"Byte count for accessions"
S DIC=68,DIC(0)="AEMOQZ",DIC("S")="I ""SPCYEM""[$P(^(0),U,2)&($P(^(0),U,2)]"""")" D ^DIC K DIC G:Y<1 END S LRAA(1)=$P(Y,U,2),LRAA=+Y,LRSS=$P(Y(0),U,2) D XR^LRU
D B^LRU G:Y<0 END
S ZTRTN="QUE^LRULEN" D BEG^LRUTL G:POP!($D(ZTSK)) END
QUE U IO S (C,S)=0,LRSDT=LRSDT-.0001,LRLDT=LRLDT+.9
F LRSDT=LRSDT:0 S LRSDT=$O(^LR(LRXR,LRSDT)) Q:'LRSDT!(LRSDT>LRLDT) F LRDFN=0:0 S LRDFN=$O(^LR(LRXR,LRSDT,LRDFN)) Q:'LRDFN F A=0:0 S A=$O(^LR(LRXR,LRSDT,LRDFN,A)) Q:'A D A
W !!,"ACCESSIONS: ",S," BYTES: ",C," AVERAGE BYTES/ACCESSION: ",$S(C:C\S,1:0),!,"From ",LRSTR," to ",LRLST
D END^LRUTL,END Q
A S S=S+1,C=C+$L(^LR(LRDFN,LRSS,A,0))
I $D(^LR(LRDFN,LRSS,A,2,0)) S C=C+$L(^(0)) F T=0:0 S T=$O(^LR(LRDFN,LRSS,A,2,T)) Q:'T S C=C+$L(^(T,0)) D M
Q
M I $D(^LR(LRDFN,LRSS,A,2,T,2,0)) S C=C+$L(^(0)) F M=0:0 S M=$O(^LR(LRDFN,LRSS,A,2,T,2,M)) Q:'M S C=C+$L(^(M,0)) D E
F B=1,3,4 I $D(^LR(LRDFN,LRSS,A,2,T,B,0)) S C=C+$L(^(0)) F M=0:0 S M=$O(^LR(LRDFN,LRSS,A,2,T,B,M)) Q:'M S C=C+$L(^(M,0))
I $D(^LR(LRDFN,LRSS,A,2,T,5,0)) S C=C+$L(^(0)) F M=0:0 S M=$O(^LR(LRDFN,LRSS,A,2,T,5,M)) Q:'M S C=C+$L(^(M,0)) I $D(^LR(LRDFN,LRSS,A,2,T,5,M,1,0)) S C=C+$L(^(0)) D N
Q
E I $D(^LR(LRDFN,LRSS,A,2,T,2,M,1,0)) S C=C+$L(^(0)) F E=0:0 S E=$O(^LR(LRDFN,LRSS,A,2,T,2,M,1,E)) Q:'E S C=C+$L(^(E,0))
Q
N F N=0:0 S N=$O(^LR(LRDFN,LRSS,A,2,T,5,M,1,N)) Q:'N S C=C+$L(^(0))
Q
;
END D V^LRU Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRULEN 1522 printed Dec 13, 2024@02:21:38 Page 2
LRULEN ;AVAMC/REG - BYTE COUNT FOR ACCESSIONS ;5/9/91 18:19 ;
+1 ;;5.2;LAB SERVICE;;Sep 27, 1994
+2 WRITE !!?20,"Byte count for accessions"
+3 SET DIC=68
SET DIC(0)="AEMOQZ"
SET DIC("S")="I ""SPCYEM""[$P(^(0),U,2)&($P(^(0),U,2)]"""")"
DO ^DIC
KILL DIC
if Y<1
GOTO END
SET LRAA(1)=$PIECE(Y,U,2)
SET LRAA=+Y
SET LRSS=$PIECE(Y(0),U,2)
DO XR^LRU
+4 DO B^LRU
if Y<0
GOTO END
+5 SET ZTRTN="QUE^LRULEN"
DO BEG^LRUTL
if POP!($DATA(ZTSK))
GOTO END
QUE USE IO
SET (C,S)=0
SET LRSDT=LRSDT-.0001
SET LRLDT=LRLDT+.9
+1 FOR LRSDT=LRSDT:0
SET LRSDT=$ORDER(^LR(LRXR,LRSDT))
if 'LRSDT!(LRSDT>LRLDT)
QUIT
FOR LRDFN=0:0
SET LRDFN=$ORDER(^LR(LRXR,LRSDT,LRDFN))
if 'LRDFN
QUIT
FOR A=0:0
SET A=$ORDER(^LR(LRXR,LRSDT,LRDFN,A))
if 'A
QUIT
DO A
+2 WRITE !!,"ACCESSIONS: ",S," BYTES: ",C," AVERAGE BYTES/ACCESSION: ",$SELECT(C:C\S,1:0),!,"From ",LRSTR," to ",LRLST
+3 DO END^LRUTL
DO END
QUIT
A SET S=S+1
SET C=C+$LENGTH(^LR(LRDFN,LRSS,A,0))
+1 IF $DATA(^LR(LRDFN,LRSS,A,2,0))
SET C=C+$LENGTH(^(0))
FOR T=0:0
SET T=$ORDER(^LR(LRDFN,LRSS,A,2,T))
if 'T
QUIT
SET C=C+$LENGTH(^(T,0))
DO M
+2 QUIT
M IF $DATA(^LR(LRDFN,LRSS,A,2,T,2,0))
SET C=C+$LENGTH(^(0))
FOR M=0:0
SET M=$ORDER(^LR(LRDFN,LRSS,A,2,T,2,M))
if 'M
QUIT
SET C=C+$LENGTH(^(M,0))
DO E
+1 FOR B=1,3,4
IF $DATA(^LR(LRDFN,LRSS,A,2,T,B,0))
SET C=C+$LENGTH(^(0))
FOR M=0:0
SET M=$ORDER(^LR(LRDFN,LRSS,A,2,T,B,M))
if 'M
QUIT
SET C=C+$LENGTH(^(M,0))
+2 IF $DATA(^LR(LRDFN,LRSS,A,2,T,5,0))
SET C=C+$LENGTH(^(0))
FOR M=0:0
SET M=$ORDER(^LR(LRDFN,LRSS,A,2,T,5,M))
if 'M
QUIT
SET C=C+$LENGTH(^(M,0))
IF $DATA(^LR(LRDFN,LRSS,A,2,T,5,M,1,0))
SET C=C+$LENGTH(^(0))
DO N
+3 QUIT
E IF $DATA(^LR(LRDFN,LRSS,A,2,T,2,M,1,0))
SET C=C+$LENGTH(^(0))
FOR E=0:0
SET E=$ORDER(^LR(LRDFN,LRSS,A,2,T,2,M,1,E))
if 'E
QUIT
SET C=C+$LENGTH(^(E,0))
+1 QUIT
N FOR N=0:0
SET N=$ORDER(^LR(LRDFN,LRSS,A,2,T,5,M,1,N))
if 'N
QUIT
SET C=C+$LENGTH(^(0))
+1 QUIT
+2 ;
END DO V^LRU
QUIT