HBHXMNT3 ;VAMC(IRMS)/MJT-HBHC maintenance routine prints report of patients with pseudo SSN, includes: patient name, SSN, form & corresponding date, called from HBHXMNT2 ;9403
;;1.0;HOSPITAL BASED HOME CARE;**2**;NOV 01,1993
K ^TMP("HBHC",$J)
; Max length for HBHCHEAD = 50
S HBHCCC=0,$P(HBHCY,"-",81)="",HBHCPAGE=0,HBHCHEAD="Pseudo SSN Patch Related",HBHCHDR="W ""Patient Name"",?35,""SSN"",?51,""Form"",?62,""Date""",HBHCCOLM=(80-(30+$L(HBHCHEAD))\2) S:HBHCCOLM'>0 HBHCCOLM=1 D TODAY^HBHCUTL
D:IO'=IO(0)!($D(IO("S"))) HDRPAGE^HBHCUTL
I '$D(IO("S")),(IO=IO(0)) S HBHCCC=HBHCCC+1 W @IOF D HDRPAGE^HBHCUTL
S HBHCDPT=0
F S HBHCDPT=$O(^HBHC(634.5,"B",HBHCDPT)) Q:HBHCDPT'>0 F HBHCFILE=631,632 S HBHCDFN=0 F S HBHCDFN=$O(^HBHC(HBHCFILE,"B",HBHCDFN)) Q:HBHCDFN'>0 S HBHCIEN=0 F S HBHCIEN=$O(^HBHC(HBHCFILE,"B",HBHCDFN,HBHCIEN)) Q:HBHCIEN'>0 D PROCESS
D PRTLOOP,ENDRPT^HBHCUTL1
EXIT ; Exit module
D ^%ZISC
K HBHCCC,HBHCCOLM,HBHCDATE,HBHCDFN,HBHCDPT,HBHCDPT0,HBHCFILE,HBHCFORM,HBHCHEAD,HBHCHDR,HBHCIEN,HBHCINFO,HBHCNAME,HBHCPAGE,HBHCSSN,HBHCTDY,HBHCY,HBHCZ,Y,^TMP("HBHC",$J)
Q
PROCESS ; Process records
S HBHCINFO=^HBHC(HBHCFILE,HBHCIEN,0),HBHCDPT0=^DPT($P(HBHCINFO,U),0),HBHCSSN=$P(HBHCDPT0,U,9)
Q:HBHCSSN?9N
I HBHCFILE=631 S:$D(^HBHC(HBHCFILE,"AE","F",HBHCIEN)) ^TMP("HBHC",$J,3,$P(HBHCDPT0,U),$P(HBHCINFO,U,2))=$E(HBHCSSN,1,3)_"-"_$E(HBHCSSN,4,5)_"-"_$E(HBHCSSN,6,10)
I HBHCFILE=631 S:($D(^HBHC(HBHCFILE,"AF","F",HBHCIEN)))&('$D(^HBHC(HBHCFILE,"AE","F",HBHCIEN))) ^TMP("HBHC",$J,5,$P(HBHCDPT0,U),$P(HBHCINFO,U,40))=$E(HBHCSSN,1,3)_"-"_$E(HBHCSSN,4,5)_"-"_$E(HBHCSSN,6,10)
I HBHCFILE=632 S:$D(^HBHC(HBHCFILE,"AC","F",HBHCIEN)) ^TMP("HBHC",$J,4,$P(HBHCDPT0,U),$P(HBHCINFO,U,2))=$E(HBHCSSN,1,3)_"-"_$E(HBHCSSN,4,5)_"-"_$E(HBHCSSN,6,10)
Q
PRTLOOP ; Print loop
S HBHCFORM=0
F S HBHCFORM=$O(^TMP("HBHC",$J,HBHCFORM)) Q:HBHCFORM'>0 S HBHCNAME="" F S HBHCNAME=$O(^TMP("HBHC",$J,HBHCFORM,HBHCNAME)) Q:HBHCNAME="" S HBHCDATE=0 F S HBHCDATE=$O(^TMP("HBHC",$J,HBHCFORM,HBHCNAME,HBHCDATE)) Q:HBHCDATE'>0 D PRINT
Q
PRINT ; Print report
I ($D(ZTRTN)!(HBHCCC=0))&((IOSL-$Y)<5) W @IOF D HDRPAGE^HBHCUTL
I (IOSL-$Y)<5 W @IOF D HDRPAGE^HBHCUTL
S Y=HBHCDATE D DD^%DT
W !,HBHCNAME,?35,^TMP("HBHC",$J,HBHCFORM,HBHCNAME,HBHCDATE),?51,HBHCFORM,?62,Y,!,HBHCY
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HHBHXMNT3 2302 printed Sep 15, 2024@21:23:15 Page 2
HBHXMNT3 ;VAMC(IRMS)/MJT-HBHC maintenance routine prints report of patients with pseudo SSN, includes: patient name, SSN, form & corresponding date, called from HBHXMNT2 ;9403
+1 ;;1.0;HOSPITAL BASED HOME CARE;**2**;NOV 01,1993
+2 KILL ^TMP("HBHC",$JOB)
+3 ; Max length for HBHCHEAD = 50
+4 SET HBHCCC=0
SET $PIECE(HBHCY,"-",81)=""
SET HBHCPAGE=0
SET HBHCHEAD="Pseudo SSN Patch Related"
SET HBHCHDR="W ""Patient Name"",?35,""SSN"",?51,""Form"",?62,""Date"""
SET HBHCCOLM=(80-(30+$LENGTH(HBHCHEAD))\2)
if HBHCCOLM'>0
SET HBHCCOLM=1
DO TODAY^HBHCUTL
+5 if IO'=IO(0)!($DATA(IO("S")))
DO HDRPAGE^HBHCUTL
+6 IF '$DATA(IO("S"))
IF (IO=IO(0))
SET HBHCCC=HBHCCC+1
WRITE @IOF
DO HDRPAGE^HBHCUTL
+7 SET HBHCDPT=0
+8 FOR
SET HBHCDPT=$ORDER(^HBHC(634.5,"B",HBHCDPT))
if HBHCDPT'>0
QUIT
FOR HBHCFILE=631,632
SET HBHCDFN=0
FOR
SET HBHCDFN=$ORDER(^HBHC(HBHCFILE,"B",HBHCDFN))
if HBHCDFN'>0
QUIT
SET HBHCIEN=0
FOR
SET HBHCIEN=$ORDER(^HBHC(HBHCFILE,"B",HBHCDFN,HBHCIEN))
if HBHCIEN'>0
QUIT
DO PROCESS
+9 DO PRTLOOP
DO ENDRPT^HBHCUTL1
EXIT ; Exit module
+1 DO ^%ZISC
+2 KILL HBHCCC,HBHCCOLM,HBHCDATE,HBHCDFN,HBHCDPT,HBHCDPT0,HBHCFILE,HBHCFORM,HBHCHEAD,HBHCHDR,HBHCIEN,HBHCINFO,HBHCNAME,HBHCPAGE,HBHCSSN,HBHCTDY,HBHCY,HBHCZ,Y,^TMP("HBHC",$JOB)
+3 QUIT
PROCESS ; Process records
+1 SET HBHCINFO=^HBHC(HBHCFILE,HBHCIEN,0)
SET HBHCDPT0=^DPT($PIECE(HBHCINFO,U),0)
SET HBHCSSN=$PIECE(HBHCDPT0,U,9)
+2 if HBHCSSN?9N
QUIT
+3 IF HBHCFILE=631
if $DATA(^HBHC(HBHCFILE,"AE","F",HBHCIEN))
SET ^TMP("HBHC",$JOB,3,$PIECE(HBHCDPT0,U),$PIECE(HBHCINFO,U,2))=$EXTRACT(HBHCSSN,1,3)_"-"_$EXTRACT(HBHCSSN,4,5)_"-"_$EXTRACT(HBHCSSN,6,10)
+4 IF HBHCFILE=631
if ($DATA(^HBHC(HBHCFILE,"AF","F",HBHCIEN)))&('$DATA(^HBHC(HBHCFILE,"AE","F",HBHCIEN)))
SET ^TMP("HBHC",$JOB,5,$PIECE(HBHCDPT0,U),$PIECE(HBHCINFO,U,40))=$EXTRACT(HBHCSSN,1,3)_"-"_$EXTRACT(HBHCSSN,4,5)_"-"_$EXTRACT(HBHCSSN,6,10)
+5 IF HBHCFILE=632
if $DATA(^HBHC(HBHCFILE,"AC","F",HBHCIEN))
SET ^TMP("HBHC",$JOB,4,$PIECE(HBHCDPT0,U),$PIECE(HBHCINFO,U,2))=$EXTRACT(HBHCSSN,1,3)_"-"_$EXTRACT(HBHCSSN,4,5)_"-"_$EXTRACT(HBHCSSN,6,10)
+6 QUIT
PRTLOOP ; Print loop
+1 SET HBHCFORM=0
+2 FOR
SET HBHCFORM=$ORDER(^TMP("HBHC",$JOB,HBHCFORM))
if HBHCFORM'>0
QUIT
SET HBHCNAME=""
FOR
SET HBHCNAME=$ORDER(^TMP("HBHC",$JOB,HBHCFORM,HBHCNAME))
if HBHCNAME=""
QUIT
SET HBHCDATE=0
FOR
SET HBHCDATE=$ORDER(^TMP("HBHC",$JOB,HBHCFORM,HBHCNAME,HBHCDATE))
if HBHCDATE'>0
QUIT
DO PRINT
+3 QUIT
PRINT ; Print report
+1 IF ($DATA(ZTRTN)!(HBHCCC=0))&((IOSL-$Y)<5)
WRITE @IOF
DO HDRPAGE^HBHCUTL
+2 IF (IOSL-$Y)<5
WRITE @IOF
DO HDRPAGE^HBHCUTL
+3 SET Y=HBHCDATE
DO DD^%DT
+4 WRITE !,HBHCNAME,?35,^TMP("HBHC",$JOB,HBHCFORM,HBHCNAME,HBHCDATE),?51,HBHCFORM,?62,Y,!,HBHCY
+5 QUIT