HBHCRP14 ; VAMC(IRMS)/MJT-HBHC report locates records in ^HBHC(631, ^HBHC(632 files with pseudo SSNs, populates ^HBHC(634.5 (pseudo SSN error(s)) file, report includes: patient name & SSN for pseudo SSN records ;9403
 ;;1.0;HOSPITAL BASED HOME CARE;**2,5,6**;NOV 1, 1993
 S %ZIS="Q",HBHCCC=0 K IOP,ZTIO,ZTSAVE D ^%ZIS G:POP EXIT
 I $D(IO("Q")) S ZTRTN="DQ^HBHCRP14",ZTSAVE("HBHC*")="",ZTDESC="HBPC Pseudo SSN Report" D ^%ZTLOAD G EXIT
DQ ; De-queue
 U IO
 L +^HBHC(634.5,0):0 I '$T W *7,!!,"Another user has the pseudo SSN file locked.",!! H 3 G EXIT
 K ^HBHC(634.5) S ^HBHC(634.5,0)="HBHC PSEUDO SSN ERROR(S)^634.5P^"
 ; Max length for HBHCHEAD = 50
 S $P(HBHCY,"-",81)="",HBHCPAGE=0,HBHCHEAD="Pseudo SSN",HBHCHDR="W ""Patient Name"",?40,""SSN""",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
 F HBHCFILE=631,632 S HBHCDFN=0 F  S HBHCDFN=$O(^HBHC(HBHCFILE,HBHCDFN)) Q:HBHCDFN'>0  S HBHCDPT=$P(^HBHC(HBHCFILE,HBHCDFN,0),U) D:$P(^DPT(HBHCDPT,0),U,9)'?9N FILE
 D PRINT,ENDRPT^HBHCUTL1
EXIT ; Exit module
 L -^HBHC(634.5,0)
 D ^%ZISC
 K DD,DIC,DINUM,DO,HBHCCC,HBHCCOLM,HBHCDFN,HBHCDPT,HBHCDPT0,HBHCFILE,HBHCHDR,HBHCHEAD,HBHCPAGE,HBHCTDY,HBHCY,HBHCZ,X
 Q
FILE ; File entry
 ; Quit if cancelled appointment
 Q:((HBHCFILE=632)&($P(^HBHC(HBHCFILE,HBHCDFN,0),U,7)]""))
 K DD,DO S DIC="^HBHC(634.5,",DIC(0)="MN",(X,DINUM)=HBHCDPT D FILE^DICN
 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 HBHCDFN=0 F  S HBHCDFN=$O(^HBHC(634.5,HBHCDFN)) Q:HBHCDFN'>0  S HBHCDPT0=^DPT(HBHCDFN,0) W !,$P(HBHCDPT0,U),?40,$E($P(HBHCDPT0,U,9),1,3)_"-"_$E($P(HBHCDPT0,U,9),4,5)_"-"_$E($P(HBHCDPT0,U,9),6,10)
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HHBHCRP14   1835     printed  Sep 23, 2025@19:34:22                                                                                                                                                                                                    Page 2
HBHCRP14  ; VAMC(IRMS)/MJT-HBHC report locates records in ^HBHC(631, ^HBHC(632 files with pseudo SSNs, populates ^HBHC(634.5 (pseudo SSN error(s)) file, report includes: patient name & SSN for pseudo SSN records ;9403
 +1       ;;1.0;HOSPITAL BASED HOME CARE;**2,5,6**;NOV 1, 1993
 +2        SET %ZIS="Q"
           SET HBHCCC=0
           KILL IOP,ZTIO,ZTSAVE
           DO ^%ZIS
           if POP
               GOTO EXIT
 +3        IF $DATA(IO("Q"))
               SET ZTRTN="DQ^HBHCRP14"
               SET ZTSAVE("HBHC*")=""
               SET ZTDESC="HBPC Pseudo SSN Report"
               DO ^%ZTLOAD
               GOTO EXIT
DQ        ; De-queue
 +1        USE IO
 +2        LOCK +^HBHC(634.5,0):0
           IF '$TEST
               WRITE *7,!!,"Another user has the pseudo SSN file locked.",!!
               HANG 3
               GOTO EXIT
 +3        KILL ^HBHC(634.5)
           SET ^HBHC(634.5,0)="HBHC PSEUDO SSN ERROR(S)^634.5P^"
 +4       ; Max length for HBHCHEAD = 50
 +5        SET $PIECE(HBHCY,"-",81)=""
           SET HBHCPAGE=0
           SET HBHCHEAD="Pseudo SSN"
           SET HBHCHDR="W ""Patient Name"",?40,""SSN"""
           SET HBHCCOLM=(80-(30+$LENGTH(HBHCHEAD))\2)
           if HBHCCOLM'>0
               SET HBHCCOLM=1
           DO TODAY^HBHCUTL
 +6        if IO'=IO(0)!($DATA(IO("S")))
               DO HDRPAGE^HBHCUTL
 +7        IF '$DATA(IO("S"))
               IF (IO=IO(0))
                   SET HBHCCC=HBHCCC+1
                   WRITE @IOF
                   DO HDRPAGE^HBHCUTL
 +8        FOR HBHCFILE=631,632
               SET HBHCDFN=0
               FOR 
                   SET HBHCDFN=$ORDER(^HBHC(HBHCFILE,HBHCDFN))
                   if HBHCDFN'>0
                       QUIT 
                   SET HBHCDPT=$PIECE(^HBHC(HBHCFILE,HBHCDFN,0),U)
                   if $PIECE(^DPT(HBHCDPT,0),U,9)'?9N
                       DO FILE
 +9        DO PRINT
           DO ENDRPT^HBHCUTL1
EXIT      ; Exit module
 +1        LOCK -^HBHC(634.5,0)
 +2        DO ^%ZISC
 +3        KILL DD,DIC,DINUM,DO,HBHCCC,HBHCCOLM,HBHCDFN,HBHCDPT,HBHCDPT0,HBHCFILE,HBHCHDR,HBHCHEAD,HBHCPAGE,HBHCTDY,HBHCY,HBHCZ,X
 +4        QUIT 
FILE      ; File entry
 +1       ; Quit if cancelled appointment
 +2        if ((HBHCFILE=632)&($PIECE(^HBHC(HBHCFILE,HBHCDFN,0),U,7)]""))
               QUIT 
 +3        KILL DD,DO
           SET DIC="^HBHC(634.5,"
           SET DIC(0)="MN"
           SET (X,DINUM)=HBHCDPT
           DO FILE^DICN
 +4        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 HBHCDFN=0
           FOR 
               SET HBHCDFN=$ORDER(^HBHC(634.5,HBHCDFN))
               if HBHCDFN'>0
                   QUIT 
               SET HBHCDPT0=^DPT(HBHCDFN,0)
               WRITE !,$PIECE(HBHCDPT0,U),?40,$EXTRACT($PIECE(HBHCDPT0,U,9),1,3)_"-"_$EXTRACT($PIECE(HBHCDPT0,U,9),4,5)_"-"_$EXTRACT($PIECE(HBHCDPT0,U,9),6,10)
 +4        QUIT