LRACSUM6 ;SLC/DCM - PRINT INDIVIDUAL PATIENT SUMMARY (MISC.) ; 3/9/88 10:23 ;
;;5.2;LAB SERVICE;**47,201,225**;Sep 27, 1994
LRUDT S LRTIM=$E(LRFDT,9,12) F I=0:0 Q:$L(LRTIM)=4 S LRTIM=LRTIM_0
;
S LRTIM=$S(LRTIM?4"0":" ",1:$E(LRTIM,1,2)_":"_$E(LRTIM,3,4))
Y2K1 ;
;Q:$L(LRTIM)'>6
S LRUDT=$$Y2K^LRX($P(LRFDT,"."))_" "_$J(LRTIM,5)_" "
Q
HEAD ;from LRACSUM3, LRACSUM4, LRACSUM5
D LRBOT D TOP Q
LRBOT ;from LRACSUM3
W !
Y I $Y'>(IOSL-6) W ! G Y
W $E($P(^TMP($J,LRDFN,0),U,1),1,20),?21,$P(^(0),U,2),?(IOM-40),"ROUTING: ",LRLLOC W !?10,$S('LRDIS:"** SUMMARY REPORT ** DO NOT FILE **",1:"** DISCHARGE SUMMARY **")
; Y2K
I LRDIS S Y=9999999-LROUT S Y=$$Y2K^LRX(Y) W " From: ",Y," To: " S X1=9999999-$P(LRIN,"."),X2=-1 D C^%DTC S Y=X S Y=$$Y2K^LRX(Y) W Y ; NOIS DES-0495-40180 DRH
W:LRBOT="B" !,$S($D(^LAB(64.5,1,1,LRMH,0)):$P(^(0),U,2),1:"") W:LRBOT'="B" ! W ?(IOM-13)," PAGE: ",$S($D(LRMISC):"MISC",1:LRMH),":",LRPG ;Y2K
S LRTAB=(LRMH-1)*5#80 W !?LRTAB,$E(LRMHN,1,IOM-LRTAB) S LRPG=LRPG+1
Q
TOP ;from LRACSUM3
W @IOF,!
S X=^TMP($J,LRDFN,0) W $P(X,U,1),?20,$P(X,U,2),?33,"AGE: ",$P(X,U,3)
I $P(X,U,4)=2,$D(^DPT(+$P(X,U,5),.1)) W ?(IOM-42)," LOC: ",^(.1)
W ?(IOM-22),LRCDT,?(IOM-12)," PAGE: ",$S($D(LRMISC):"MISC",1:LRMH),":",LRPG W:LRBOT="T" !,"VAMC ",$S($D(^LAB(64.5,1,1,LRMH,0)):$P(^(0),U,2),1:"") ;Y2K
S LRAG=0 Q
KILL D HEAD Q
Q
LRMISC S LRFDT=0,LRPG=1 D TOP
MHI S LRMHN=$P(^TMP($J,LRDFN,LRMH),U,1),LRCNT=12 D WR
MDT S LRFDT=$O(^TMP($J,LRDFN,"MISC",LRFDT)) G:LRFDT<1 END D LRUDT,LRCNT D:$Y>(IOSL-LRCNT) WR S LRMIT=0
LRMIT S LRMIT=$O(^TMP($J,LRDFN,"MISC",LRFDT,LRMIT)) G:LRMIT="TX" TXT G:LRMIT="" MDT S X=^(LRMIT) G:LRMIT=.1 MSG
S LRLO="",LRHI="",LRVAL=$P(X,U,1),LRSPE=$P(X,U,2),LRTEST=$P(X,U,3),X1=$P(X,U,4) S LRSPEM=$S($L(LRSPE):$P(^LAB(61,LRSPE,0),U,1),1:"")
G:'LRTEST COMM S LRUNT="",LRNAME=$P(^LAB(60,LRTEST,.1),U,1) S:$L(LRSPE)&($D(^LAB(60,LRTEST,1,LRSPE,0))) X=^(0),@("LRLO="_$S($L($P(X,U,2)):$P(X,U,2),1:"""""")),@("LRHI="_$S($L($P(X,U,3)):$P(X,U,3),1:"""""")),LRUNT=$P(X,U,7)
WR1 W !!,LRUDT,?15,LRSPEM,?36,LRNAME,":",?50,LRVAL," ",X1," ",LRUNT,?67 W:$L(LRLO) LRLO,"-",LRHI
G LRMIT
MSG W !! X X G LRMIT
COMM W !,"COMMENT: ",LRVAL G LRMIT
WR I $Y>(IOSL-LRCNT) D EQUALS^LRX
I D HEAD
S LRCL=21-$L(LRMHN) W !!!?LRCL F I=1:1:8 W "* "
F I=1:1:$L(LRMHN) W " ",$E(LRMHN,I)
W " " F I=1:1:8 W " *"
W !!," DATE TIME SPECIMEN",?37,"TEST",?50,"VALUE",?64,"Ref ranges" D DASH^LRX
Q
TXT S I=0 F S I=$O(^TMP($J,LRDFN,"MISC",LRFDT,"TX",I)) Q:'I W !,^(I,0)
G LRMIT
END D EQUALS^LRX
D LRBOT S LRLO="" K LRSB,LRMISC Q
PRE ;from LRACSUM3
Q:$D(^TMP($J,LRDFN,"MISC"))'=11 S LRMISC=1,LRPG=0,LRMH="MISC" G LRMISC
LRCNT S LRCNT=0,I=0 F S I=$O(^TMP($J,LRDFN,LRMH,LRFDT,I)) Q:'I S LRCNT=LRCNT+1
S LRCTN=0 I $D(^(LRFDT,"TX")) S J=0 F S J=$O(^TMP($J,LRDFN,LRMH,LRFDT,"TX",J)) Q:'J S LRCTN=LRCTN+1
S LRCNT=LRCNT*2+5+LRCTN
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRACSUM6 2911 printed Oct 16, 2024@18:07:25 Page 2
LRACSUM6 ;SLC/DCM - PRINT INDIVIDUAL PATIENT SUMMARY (MISC.) ; 3/9/88 10:23 ;
+1 ;;5.2;LAB SERVICE;**47,201,225**;Sep 27, 1994
LRUDT SET LRTIM=$EXTRACT(LRFDT,9,12)
FOR I=0:0
if $LENGTH(LRTIM)=4
QUIT
SET LRTIM=LRTIM_0
+1 ;
+2 SET LRTIM=$SELECT(LRTIM?4"0":" ",1:$EXTRACT(LRTIM,1,2)_":"_$EXTRACT(LRTIM,3,4))
Y2K1 ;
+1 ;Q:$L(LRTIM)'>6
+2 SET LRUDT=$$Y2K^LRX($PIECE(LRFDT,"."))_" "_$JUSTIFY(LRTIM,5)_" "
+3 QUIT
HEAD ;from LRACSUM3, LRACSUM4, LRACSUM5
+1 DO LRBOT
DO TOP
QUIT
LRBOT ;from LRACSUM3
+1 WRITE !
Y IF $Y'>(IOSL-6)
WRITE !
GOTO Y
+1 WRITE $EXTRACT($PIECE(^TMP($JOB,LRDFN,0),U,1),1,20),?21,$PIECE(^(0),U,2),?(IOM-40),"ROUTING: ",LRLLOC
WRITE !?10,$SELECT('LRDIS:"** SUMMARY REPORT ** DO NOT FILE **",1:"** DISCHARGE SUMMARY **")
+2 ; Y2K
+3 ; NOIS DES-0495-40180 DRH
IF LRDIS
SET Y=9999999-LROUT
SET Y=$$Y2K^LRX(Y)
WRITE " From: ",Y," To: "
SET X1=9999999-$PIECE(LRIN,".")
SET X2=-1
DO C^%DTC
SET Y=X
SET Y=$$Y2K^LRX(Y)
WRITE Y
+4 ;Y2K
if LRBOT="B"
WRITE !,$SELECT($DATA(^LAB(64.5,1,1,LRMH,0)):$PIECE(^(0),U,2),1:"")
if LRBOT'="B"
WRITE !
WRITE ?(IOM-13)," PAGE: ",$SELECT($DATA(LRMISC):"MISC",1:LRMH),":",LRPG
+5 SET LRTAB=(LRMH-1)*5#80
WRITE !?LRTAB,$EXTRACT(LRMHN,1,IOM-LRTAB)
SET LRPG=LRPG+1
+6 QUIT
TOP ;from LRACSUM3
+1 WRITE @IOF,!
+2 SET X=^TMP($JOB,LRDFN,0)
WRITE $PIECE(X,U,1),?20,$PIECE(X,U,2),?33,"AGE: ",$PIECE(X,U,3)
+3 IF $PIECE(X,U,4)=2
IF $DATA(^DPT(+$PIECE(X,U,5),.1))
WRITE ?(IOM-42)," LOC: ",^(.1)
+4 ;Y2K
WRITE ?(IOM-22),LRCDT,?(IOM-12)," PAGE: ",$SELECT($DATA(LRMISC):"MISC",1:LRMH),":",LRPG
if LRBOT="T"
WRITE !,"VAMC ",$SELECT($DATA(^LAB(64.5,1,1,LRMH,0)):$PIECE(^(0),U,2),1:"")
+5 SET LRAG=0
QUIT
KILL DO HEAD
QUIT
+1 QUIT
LRMISC SET LRFDT=0
SET LRPG=1
DO TOP
MHI SET LRMHN=$PIECE(^TMP($JOB,LRDFN,LRMH),U,1)
SET LRCNT=12
DO WR
MDT SET LRFDT=$ORDER(^TMP($JOB,LRDFN,"MISC",LRFDT))
if LRFDT<1
GOTO END
DO LRUDT
DO LRCNT
if $Y>(IOSL-LRCNT)
DO WR
SET LRMIT=0
LRMIT SET LRMIT=$ORDER(^TMP($JOB,LRDFN,"MISC",LRFDT,LRMIT))
if LRMIT="TX"
GOTO TXT
if LRMIT=""
GOTO MDT
SET X=^(LRMIT)
if LRMIT=.1
GOTO MSG
+1 SET LRLO=""
SET LRHI=""
SET LRVAL=$PIECE(X,U,1)
SET LRSPE=$PIECE(X,U,2)
SET LRTEST=$PIECE(X,U,3)
SET X1=$PIECE(X,U,4)
SET LRSPEM=$SELECT($LENGTH(LRSPE):$PIECE(^LAB(61,LRSPE,0),U,1),1:"")
+2 if 'LRTEST
GOTO COMM
SET LRUNT=""
SET LRNAME=$PIECE(^LAB(60,LRTEST,.1),U,1)
if $LENGTH(LRSPE)&($DATA(^LAB(60,LRTEST,1,LRSPE,0)))
SET X=^(0)
SET @("LRLO="_$SELECT($LENGTH($PIECE(X,U,2)):$PIECE(X,U,2),1:""""""))
SET @("LRHI="_$SELECT($LENGTH($PIECE(X,U,3)):$PIECE(X,U,3),1:""""""))
SET LRUNT=$PIECE(X,U,7)
WR1 WRITE !!,LRUDT,?15,LRSPEM,?36,LRNAME,":",?50,LRVAL," ",X1," ",LRUNT,?67
if $LENGTH(LRLO)
WRITE LRLO,"-",LRHI
+1 GOTO LRMIT
MSG WRITE !!
XECUTE X
GOTO LRMIT
COMM WRITE !,"COMMENT: ",LRVAL
GOTO LRMIT
WR IF $Y>(IOSL-LRCNT)
DO EQUALS^LRX
+1 IF $TEST
DO HEAD
+2 SET LRCL=21-$LENGTH(LRMHN)
WRITE !!!?LRCL
FOR I=1:1:8
WRITE "* "
+3 FOR I=1:1:$LENGTH(LRMHN)
WRITE " ",$EXTRACT(LRMHN,I)
+4 WRITE " "
FOR I=1:1:8
WRITE " *"
+5 WRITE !!," DATE TIME SPECIMEN",?37,"TEST",?50,"VALUE",?64,"Ref ranges"
DO DASH^LRX
+6 QUIT
TXT SET I=0
FOR
SET I=$ORDER(^TMP($JOB,LRDFN,"MISC",LRFDT,"TX",I))
if 'I
QUIT
WRITE !,^(I,0)
+1 GOTO LRMIT
END DO EQUALS^LRX
+1 DO LRBOT
SET LRLO=""
KILL LRSB,LRMISC
QUIT
PRE ;from LRACSUM3
+1 if $DATA(^TMP($JOB,LRDFN,"MISC"))'=11
QUIT
SET LRMISC=1
SET LRPG=0
SET LRMH="MISC"
GOTO LRMISC
LRCNT SET LRCNT=0
SET I=0
FOR
SET I=$ORDER(^TMP($JOB,LRDFN,LRMH,LRFDT,I))
if 'I
QUIT
SET LRCNT=LRCNT+1
+1 SET LRCTN=0
IF $DATA(^(LRFDT,"TX"))
SET J=0
FOR
SET J=$ORDER(^TMP($JOB,LRDFN,LRMH,LRFDT,"TX",J))
if 'J
QUIT
SET LRCTN=LRCTN+1
+2 SET LRCNT=LRCNT*2+5+LRCTN
+3 QUIT