LRAC4 ;SLC/DCM - PRINT CUMULATIVE REPORT ; 5/16/88 10:49 ;
;;5.2;LAB SERVICE;**201**;Sep 27, 1994
BS1 S ^TMP($J,"TY",K,"L")=$P(Z,U,2),^TMP($J,"K",LRSH,LRFDT,0)=LRSH_U_$P(Z,U,1)_U_$P(Z,U,5),LRTT=LRTT+1 S ^TMP($J,"Y2K",K)=$E($P($P($$Y2K^LRX(LRFDT),"."),"/",3),1,4)
S:LRFDT>LRLFDT LRLFDT=LRFDT D IA,UDT^LRAC3 S ^TMP($J,"TY",K,0)=$P(LRUDT," ",1),^TMP($J,"TY",K,"T")=$P(LRUDT," ",2)
;
;
;
;
F J=1:1:LRSHD I $D(I(J)) S:$D(^LAC(LRXLR,LRDFN,1,LRMH,1,LRSH,1,LRFDT,1,I(J),0)) T1=$P(^(0),U,1,2),T3=$P(^(0),U,3),^TMP($J,"TY",K,J)=T1,^TMP($J,"K",LRSH,LRFDT,LRKL)=T3,LRKL=LRKL+1 D BS3
K T1,T3 Q
BS3 S:$D(^LAC(LRXLR,LRDFN,1,LRMH,1,LRSH,1,LRFDT,"TX"))&'$D(LRTX(LRTT)) LRTX(LRTT)=LRFDT
Q
BS2 S X=$S($D(^TMP($J,"TY",J,I)):$P(^(I),U,1),1:""),X1=$S($L(X):$P(^(I),U,2),1:""),LRDP=$S($D(^TMP($J,"TY",I,"D")):^("D"),1:""),LRCL=LRCL+10
Q
BS4 F J=0:1:(LRTT+1) W:J=0 ^TMP($J,"TY",J,I) W ?LRCL I J>0 D BS2 I $L(X) S LRCW=10 D:J<LRTT C1^LRAC9 W:$L($P(LRG,U,4))&(J<LRTT) @$P(LRG,U,4),X1 W:'$L($P(LRG,U,4))!(J'<LRTT) $J(X,LRCW)
Q
BS ;from LRAC3
K I,^TMP($J,"TY") S LRCW=10,LRHI="",LRLO="",LRTT=1,I=0,LRTY=IOM-20\10,LRMU=LRMU+1
S LRII=0 F S LRII=$O(^LAB(64.5,1,1,LRMH,1,LRSH,1,LRII)) Q:LRII<1 S Z=^(LRII,0),P3=$P(Z,U,3),P6=$P(Z,U,6),I=I+1,I(I)=LRII,^TMP($J,"TY",0,I)=P3 S:P6 ^TMP($J,"TY",I,"D")=P6
K P3,P6
F K=1:1:(LRTY-1) S LRFDT=$O(^LAC(LRXLR,LRDFN,1,LRMH,1,LRSH,1,LRFDT)) Q:LRFDT<1 S Z=^(LRFDT,0) D BS1
S:LRTT>(LRTY-1)&(LRMULT=1) LRFULL=1 S:LRTT>(LRTY-1)&(LRMU=(LRMULT-1)) LRFULL=1 F I=1:1:LRSHD I $D(I(I)) D LRLO^LRAC9 S:$L(LRLOHI) ^TMP($J,"TY",(LRTT+1),I)=LRLOHI S:$L(P7) ^TMP($J,"TY",LRTT,I)=P7 K P7
S ^TMP($J,"TY",LRTT,"T")="Units",^TMP($J,"TY",(LRTT+1),"T")="Ranges",^TMP($J,"TY",(LRTT+1),0)=$S($L($P(^LAB(64.5,"A",1,LRMH,LRSH,I(1)),U,11)):"Therapeutic",1:"Reference"),^TMP($J,"TY",LRTT,0)=""
W ! I $D(IA(0)) W IA(0) F I=1:1:(LRTT+1) W $S($D(IA(I)):$J(IA(I),10),1:$J("",10))
K IA,IAX,IARNO,IADA
I $D(LRCALE(LRMH,LRSH)) W !,"Locale " F I=1:1:(LRTT-1) W $J(^TMP($J,"TY",I,"L"),10)
;
Y2K ;
W !,$E(LRTOPP,1,7),?6 F I=1:1:(LRTT+1) W $J(^TMP($J,"TY",I,0),10)
YEAR ;
W !?5 F I=1:1:(LRTT-1) W $J(^TMP($J,"Y2K",I),10)
W !?6 F I=1:1:(LRTT+1) W $J(^TMP($J,"TY",I,"T"),10)
;W !,$E(LRTOPP,1,7),?7 F I=1:1:(LRTT+1) W $J(^TMP($J,"TY",I,0),6)," "
;W !,$E(LRTOPP,1,7),?7 F I=1:1:(LRTT+1) W ^TMP($J,"TY",I,0)_" "
;
;W !?6 F I=1:1:(LRTT+1) W $J(^TMP($J,"TY",I,"T"),10) F LRC19=1:1:I W " "
;W !?11 F I=1:1:(LRTT+1) W ^TMP($J,"TY",I,"T")_" "
D DASH^LRX
F I=1:1:LRSHD I $D(I(I)) S LRCL=8,LRG=^LAB(64.5,1,1,LRMH,1,LRSH,1,I(I),0) W ! D BS4
I $D(LRTX) S LRTX="" W !,"Comments: " F I=1:1 S LRTX=$O(LRTX(LRTX)) Q:LRTX="" W ?(10*LRTX-6),$C(96+I)
D TXT1^LRAC9 S LROFDT=LRFDT I $D(LRTX) S LRTX="" F I=1:1 S LRTX=$O(LRTX(LRTX)) Q:LRTX="" S LRFDT=LRTX(LRTX) D:$Y>(IOSL-8) OVFL^LRAC7 W !,$C(96+I),". " D TXT^LRAC9
S LRFDT=LROFDT K LRTY,LRTX,^TMP($J,"TY") I 'LRFDT D HEAD1^LRAC6 G LRSH^LRAC3
I $O(^LAC(LRXLR,LRDFN,1,LRMH,1,LRSH,1,LRFDT))<1 D HEAD1^LRAC6 G LRSH^LRAC3
S LRFDT=LRLFDT I LRFULL D HEAD1^LRAC6,HEAD^LRAC6,LRNP^LRAC3 S LRFULL=0,LRMU=0
G BS
IA I $D(DUZ("AG")),$L(DUZ("AG")),"ARMYAFN"[DUZ("AG"),LRDPF=2 S IADA=$P(^LR(LRDFN,0),U,3) I IADA'="",$D(^DPT(IADA,0)) S IAX=LRFDT D ^LRAIRNUM I IARNO'="" S:'$D(IA(0)) IA(0)="INPAT #" S IA(K)=IARNO
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRAC4 3286 printed Dec 13, 2024@02:06:09 Page 2
LRAC4 ;SLC/DCM - PRINT CUMULATIVE REPORT ; 5/16/88 10:49 ;
+1 ;;5.2;LAB SERVICE;**201**;Sep 27, 1994
BS1 SET ^TMP($JOB,"TY",K,"L")=$PIECE(Z,U,2)
SET ^TMP($JOB,"K",LRSH,LRFDT,0)=LRSH_U_$PIECE(Z,U,1)_U_$PIECE(Z,U,5)
SET LRTT=LRTT+1
SET ^TMP($JOB,"Y2K",K)=$EXTRACT($PIECE($PIECE($$Y2K^LRX(LRFDT),"."),"/",3),1,4)
+1 if LRFDT>LRLFDT
SET LRLFDT=LRFDT
DO IA
DO UDT^LRAC3
SET ^TMP($JOB,"TY",K,0)=$PIECE(LRUDT," ",1)
SET ^TMP($JOB,"TY",K,"T")=$PIECE(LRUDT," ",2)
+2 ;
+3 ;
+4 ;
+5 ;
+6 FOR J=1:1:LRSHD
IF $DATA(I(J))
if $DATA(^LAC(LRXLR,LRDFN,1,LRMH,1,LRSH,1,LRFDT,1,I(J),0))
SET T1=$PIECE(^(0),U,1,2)
SET T3=$PIECE(^(0),U,3)
SET ^TMP($JOB,"TY",K,J)=T1
SET ^TMP($JOB,"K",LRSH,LRFDT,LRKL)=T3
SET LRKL=LRKL+1
DO BS3
+7 KILL T1,T3
QUIT
BS3 if $DATA(^LAC(LRXLR,LRDFN,1,LRMH,1,LRSH,1,LRFDT,"TX"))&'$DATA(LRTX(LRTT))
SET LRTX(LRTT)=LRFDT
+1 QUIT
BS2 SET X=$SELECT($DATA(^TMP($JOB,"TY",J,I)):$PIECE(^(I),U,1),1:"")
SET X1=$SELECT($LENGTH(X):$PIECE(^(I),U,2),1:"")
SET LRDP=$SELECT($DATA(^TMP($JOB,"TY",I,"D")):^("D"),1:"")
SET LRCL=LRCL+10
+1 QUIT
BS4 FOR J=0:1:(LRTT+1)
if J=0
WRITE ^TMP($JOB,"TY",J,I)
WRITE ?LRCL
IF J>0
DO BS2
IF $LENGTH(X)
SET LRCW=10
if J<LRTT
DO C1^LRAC9
if $LENGTH($PIECE(LRG,U,4))&(J<LRTT)
WRITE @$PIECE(LRG,U,4),X1
if '$LENGTH($PIECE(LRG,U,4))!(J'<LRTT)
WRITE $JUSTIFY(X,LRCW)
+1 QUIT
BS ;from LRAC3
+1 KILL I,^TMP($JOB,"TY")
SET LRCW=10
SET LRHI=""
SET LRLO=""
SET LRTT=1
SET I=0
SET LRTY=IOM-20\10
SET LRMU=LRMU+1
+2 SET LRII=0
FOR
SET LRII=$ORDER(^LAB(64.5,1,1,LRMH,1,LRSH,1,LRII))
if LRII<1
QUIT
SET Z=^(LRII,0)
SET P3=$PIECE(Z,U,3)
SET P6=$PIECE(Z,U,6)
SET I=I+1
SET I(I)=LRII
SET ^TMP($JOB,"TY",0,I)=P3
if P6
SET ^TMP($JOB,"TY",I,"D")=P6
+3 KILL P3,P6
+4 FOR K=1:1:(LRTY-1)
SET LRFDT=$ORDER(^LAC(LRXLR,LRDFN,1,LRMH,1,LRSH,1,LRFDT))
if LRFDT<1
QUIT
SET Z=^(LRFDT,0)
DO BS1
+5 if LRTT>(LRTY-1)&(LRMULT=1)
SET LRFULL=1
if LRTT>(LRTY-1)&(LRMU=(LRMULT-1))
SET LRFULL=1
FOR I=1:1:LRSHD
IF $DATA(I(I))
DO LRLO^LRAC9
if $LENGTH(LRLOHI)
SET ^TMP($JOB,"TY",(LRTT+1),I)=LRLOHI
if $LENGTH(P7)
SET ^TMP($JOB,"TY",LRTT,I)=P7
KILL P7
+6 SET ^TMP($JOB,"TY",LRTT,"T")="Units"
SET ^TMP($JOB,"TY",(LRTT+1),"T")="Ranges"
SET ^TMP($JOB,"TY",(LRTT+1),0)=$SELECT($LENGTH($PIECE(^LAB(64.5,"A",1,LRMH,LRSH,I(1)),U,11)):"Therapeutic",1:"Reference")
SET ^TMP($JOB,"TY",LRTT,0)=""
+7 WRITE !
IF $DATA(IA(0))
WRITE IA(0)
FOR I=1:1:(LRTT+1)
WRITE $SELECT($DATA(IA(I)):$JUSTIFY(IA(I),10),1:$JUSTIFY("",10))
+8 KILL IA,IAX,IARNO,IADA
+9 IF $DATA(LRCALE(LRMH,LRSH))
WRITE !,"Locale "
FOR I=1:1:(LRTT-1)
WRITE $JUSTIFY(^TMP($JOB,"TY",I,"L"),10)
+10 ;
Y2K ;
+1 WRITE !,$EXTRACT(LRTOPP,1,7),?6
FOR I=1:1:(LRTT+1)
WRITE $JUSTIFY(^TMP($JOB,"TY",I,0),10)
YEAR ;
+1 WRITE !?5
FOR I=1:1:(LRTT-1)
WRITE $JUSTIFY(^TMP($JOB,"Y2K",I),10)
+2 WRITE !?6
FOR I=1:1:(LRTT+1)
WRITE $JUSTIFY(^TMP($JOB,"TY",I,"T"),10)
+3 ;W !,$E(LRTOPP,1,7),?7 F I=1:1:(LRTT+1) W $J(^TMP($J,"TY",I,0),6)," "
+4 ;W !,$E(LRTOPP,1,7),?7 F I=1:1:(LRTT+1) W ^TMP($J,"TY",I,0)_" "
+5 ;
+6 ;W !?6 F I=1:1:(LRTT+1) W $J(^TMP($J,"TY",I,"T"),10) F LRC19=1:1:I W " "
+7 ;W !?11 F I=1:1:(LRTT+1) W ^TMP($J,"TY",I,"T")_" "
+8 DO DASH^LRX
+9 FOR I=1:1:LRSHD
IF $DATA(I(I))
SET LRCL=8
SET LRG=^LAB(64.5,1,1,LRMH,1,LRSH,1,I(I),0)
WRITE !
DO BS4
+10 IF $DATA(LRTX)
SET LRTX=""
WRITE !,"Comments: "
FOR I=1:1
SET LRTX=$ORDER(LRTX(LRTX))
if LRTX=""
QUIT
WRITE ?(10*LRTX-6),$CHAR(96+I)
+11 DO TXT1^LRAC9
SET LROFDT=LRFDT
IF $DATA(LRTX)
SET LRTX=""
FOR I=1:1
SET LRTX=$ORDER(LRTX(LRTX))
if LRTX=""
QUIT
SET LRFDT=LRTX(LRTX)
if $Y>(IOSL-8)
DO OVFL^LRAC7
WRITE !,$CHAR(96+I),". "
DO TXT^LRAC9
+12 SET LRFDT=LROFDT
KILL LRTY,LRTX,^TMP($JOB,"TY")
IF 'LRFDT
DO HEAD1^LRAC6
GOTO LRSH^LRAC3
+13 IF $ORDER(^LAC(LRXLR,LRDFN,1,LRMH,1,LRSH,1,LRFDT))<1
DO HEAD1^LRAC6
GOTO LRSH^LRAC3
+14 SET LRFDT=LRLFDT
IF LRFULL
DO HEAD1^LRAC6
DO HEAD^LRAC6
DO LRNP^LRAC3
SET LRFULL=0
SET LRMU=0
+15 GOTO BS
IA IF $DATA(DUZ("AG"))
IF $LENGTH(DUZ("AG"))
IF "ARMYAFN"[DUZ("AG")
IF LRDPF=2
SET IADA=$PIECE(^LR(LRDFN,0),U,3)
IF IADA'=""
IF $DATA(^DPT(IADA,0))
SET IAX=LRFDT
DO ^LRAIRNUM
IF IARNO'=""
if '$DATA(IA(0))
SET IA(0)="INPAT #"
SET IA(K)=IARNO
+1 QUIT