LRACSUM4 ;SLC/DCM - PRINT INDIVIDUAL PATIENT SUMMARY ; 2/11/88 12:06 ;
;;5.2;LAB SERVICE;**201**;Sep 27, 1994
BS ;from LRACSUM3
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(^TMP($J,LRDFN,LRMH,LRSH,LRFDT)) Q:LRFDT<1 S Z=^(LRFDT,0),^TMP($J,"TY",K,"L")=$P(Z,U,1),LRTT=LRTT+1 S:LRFDT>LRLFDT LRLFDT=LRFDT D UDT^LRACSUM3 D BS1
S:LRTT>(LRTY-1)&(LRMULT=1) LRFULL=1 S:LRTT>(LRTY-1)&(LRMU=(LRMULT-1)) LRFULL=1 F I=1:1:LRSHD D LRLO^LRACSUM5 S:$L(LRLOHI) ^TMP($J,"TY",(LRTT+1),I)=LRLOHI S:$L(P7) ^TMP($J,"TY",LRTT,I)=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(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)
;W !?11 F I=1:1:(LRTT+1) W ^TMP($J,"TY",I,"T")_" "
D DASH^LRX
F I=1:1:LRSHD 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^LRACSUM5 S LROFDT=LRFDT I $D(LRTX) S LRTX="" F I=1:1 S LRTX=$O(LRTX(LRTX)) Q:LRTX="" S LRFDT=LRTX(LRTX) W !,$C(96+I),". " D TXT^LRACSUM5
S LRFDT=LROFDT K LRTY,LRTX,^TMP($J,"TY") I 'LRFDT G LRSH^LRACSUM3
I $O(^TMP($J,LRDFN,LRMH,LRSH,LRFDT))="" G LRSH^LRACSUM3
S LRFDT=LRLFDT I LRFULL D HEAD^LRACSUM6,LRNP^LRACSUM3 S LRFULL=0,LRMU=0
G BS
BS1 S ^TMP($J,"TY",K,0)=$P(LRUDT," ",1),^TMP($J,"TY",K,"T")=$P(LRUDT," ",2) S ^TMP($J,"TY",K,0)=$P(LRUDT," ",1),^TMP($J,"TY",K,"T")=$P(LRUDT," ",2) S ^TMP($J,"Y2K",K)=$E($P($P($$Y2K^LRX(LRFDT),"."),"/",3),1,4)
F J=1:1:LRSHD S:$D(^TMP($J,LRDFN,LRMH,LRSH,LRFDT,I(J))) ^TMP($J,"TY",K,J)=^(I(J)) S:$D(^TMP($J,LRDFN,LRMH,LRSH,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(^TMP($J,"TY",J,I),U,2),1:""),LRDP=$S($D(^TMP($J,"TY",I,"D")):^("D"),1:""),LRCL=LRCL+10
K T1,T3 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^LRACSUM5 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
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRACSUM4 2789 printed Dec 13, 2024@02:06:38 Page 2
LRACSUM4 ;SLC/DCM - PRINT INDIVIDUAL PATIENT SUMMARY ; 2/11/88 12:06 ;
+1 ;;5.2;LAB SERVICE;**201**;Sep 27, 1994
BS ;from LRACSUM3
+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(^TMP($JOB,LRDFN,LRMH,LRSH,LRFDT))
if LRFDT<1
QUIT
SET Z=^(LRFDT,0)
SET ^TMP($JOB,"TY",K,"L")=$PIECE(Z,U,1)
SET LRTT=LRTT+1
if LRFDT>LRLFDT
SET LRLFDT=LRFDT
DO UDT^LRACSUM3
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
DO LRLO^LRACSUM5
if $LENGTH(LRLOHI)
SET ^TMP($JOB,"TY",(LRTT+1),I)=LRLOHI
if $LENGTH(P7)
SET ^TMP($JOB,"TY",LRTT,I)=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 !
+8 IF $DATA(LRCALE(LRMH,LRSH))
WRITE !,"Locale "
FOR I=1:1:(LRTT-1)
WRITE $JUSTIFY(^TMP($JOB,"TY",I,"L"),10)
+9 ;
+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)
+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
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^LRACSUM5
SET LROFDT=LRFDT
IF $DATA(LRTX)
SET LRTX=""
FOR I=1:1
SET LRTX=$ORDER(LRTX(LRTX))
if LRTX=""
QUIT
SET LRFDT=LRTX(LRTX)
WRITE !,$CHAR(96+I),". "
DO TXT^LRACSUM5
+12 SET LRFDT=LROFDT
KILL LRTY,LRTX,^TMP($JOB,"TY")
IF 'LRFDT
GOTO LRSH^LRACSUM3
+13 IF $ORDER(^TMP($JOB,LRDFN,LRMH,LRSH,LRFDT))=""
GOTO LRSH^LRACSUM3
+14 SET LRFDT=LRLFDT
IF LRFULL
DO HEAD^LRACSUM6
DO LRNP^LRACSUM3
SET LRFULL=0
SET LRMU=0
+15 GOTO BS
BS1 SET ^TMP($JOB,"TY",K,0)=$PIECE(LRUDT," ",1)
SET ^TMP($JOB,"TY",K,"T")=$PIECE(LRUDT," ",2)
SET ^TMP($JOB,"TY",K,0)=$PIECE(LRUDT," ",1)
SET ^TMP($JOB,"TY",K,"T")=$PIECE(LRUDT," ",2)
SET ^TMP($JOB,"Y2K",K)=$EXTRACT($PIECE($PIECE($$Y2K^LRX(LRFDT),"."),"/",3),1,4)
+1 FOR J=1:1:LRSHD
if $DATA(^TMP($JOB,LRDFN,LRMH,LRSH,LRFDT,I(J)))
SET ^TMP($JOB,"TY",K,J)=^(I(J))
if $DATA(^TMP($JOB,LRDFN,LRMH,LRSH,LRFDT,"TX"))&'$DATA(LRTX(LRTT))
SET LRTX(LRTT)=LRFDT
+2 QUIT
BS2 SET X=$SELECT($DATA(^TMP($JOB,"TY",J,I)):$PIECE(^(I),U,1),1:"")
SET X1=$SELECT($LENGTH(X):$PIECE(^TMP($JOB,"TY",J,I),U,2),1:"")
SET LRDP=$SELECT($DATA(^TMP($JOB,"TY",I,"D")):^("D"),1:"")
SET LRCL=LRCL+10
+1 KILL T1,T3
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^LRACSUM5
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