HBHCR15B ;LR VAMC(IRMS)/MJT-HBHC rpt using file 634.6, called from HBHCR15A, entry points: PROMPT1 & END, & from HBHCXMT, entry point: PROMPT2 ;9804
;;1.0;HOSPITAL BASED HOME CARE;**6,8,9,10,13,15,24**;NOV 01, 1993;Build 201
PROMPT1 ; Prompt user for which transmit date from last 12 batchs to include, default is Most Recent; uses transmit date cross-ref to obtain batch dates
S HBHCDATE="" F S HBHCDATE=$O(^HBHC(634.6,"C",HBHCDATE)) Q:HBHCDATE="" S HBHC(-HBHCDATE)=""
S HBHCDATE="" F HBHCI=1:1 S HBHCDATE=$O(HBHC(HBHCDATE)) Q:(HBHCDATE="")!(HBHCI>12) S Y=$E(HBHCDATE,2,9) D DD^%DT S TMP(HBHCI)=$E(HBHCDATE,2,9) W !,$J(HBHCI,2),".",?6,Y
W !
K DIR,DIRUT
S DIR(0)="N^",DIR("A")="Select Transmit Date",DIR("B")=1,DIR("?")="Select transmit date by number. Press return for 'Most Recent' transmit date"
D ^DIR Q:$D(DIRUT)
I '$D(TMP(Y)) W $C(7),!!,"Please select number from list.",! H 1 G PROMPT1
S HBHCXMDT=TMP(Y)
PROMPT2 ; Prompt user for which forms to include, default is Summary
S HBHCCC=0
D TODAY^HBHCUTL
S:'$D(HBHCXMDT) HBHCXMDT=DT
S:$P(^HBHC(631.9,1,0),U,7)]"" HBHCIOP=$P(^%ZIS(1,$P(^HBHC(631.9,1,0),U,7),0),U)
; Check if MFH Site
D MFHS^HBHCUTL3
K DIR,DIRUT
I '$D(HBHCMFHS) S DIR(0)="S^3:Admission;4:Visit;5:Discharge;6:Correction;A:All;S:Summary;"
I $D(HBHCMFHS) S DIR(0)="S^3:Admission;4:Visit;5:Discharge;6:Correction;7:Medical Foster Home;A:All;S:Summary;"
S DIR("A")="Select Forms to Include",DIR("B")="Summary",DIR("?")="Select form type to be included in report. Press return for 'Summary'." D ^DIR Q:$D(DIRUT)
S HBHCDIR=Y,HBHCY0=Y(0)
S Y=HBHCXMDT D DD^%DT S HBHCHEAD=$S(HBHCDIR="S":Y_" Transmit, "_HBHCY0,1:Y_" Transmit, "_HBHCY0_" Forms,")
Q
END ; End of report processing
; Count number of visits
S HBHCCNT=0,HBHCNAME="" F S HBHCNAME=$O(^TMP($J,HBHCNAME)) Q:HBHCNAME="" S HBHCLST4=0 F S HBHCLST4=$O(^TMP($J,HBHCNAME,HBHCLST4)) Q:HBHCLST4'>0 S HBHCDATE=0 F S HBHCDATE=$O(^TMP($J,HBHCNAME,HBHCLST4,HBHCDATE)) Q:HBHCDATE'>0 D CONT
; Reset HBHCHDR when MFH Form 7 only, or All, selected & MFH recs are all that exist
S:((HBHCCNTA+HBHCCNTR+HBHCCNT4+HBHCCNT5+HBHCCNT6)=0)!(HBHCDIR=7) HBHCHDR="W !?4,""#"",?8,""Medical Foster Home Name"",?38,""Opened Date"""
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
D:HBHCDIR'="S" PRTLOOP
I HBHCDIR="A" S HBHCHDR="W ?36,""Summary""" W @IOF D HDRPAGE^HBHCUTL
W:(HBHCDIR'="A")&(HBHCDIR'="S") !
W:(HBHCDIR=3)!(HBHCDIR="A")!(HBHCDIR="S") !,"Admit Eval/Adm Form 3 Total:",?35,$J(HBHCCNTA,5),!,"Reject Eval/Adm Form 3 Total:",?35,$J(HBHCCNTR,5)
W:HBHCDIR=3 !?35,"-----",!,"All Eval/Adm Forms Total:",?34,$J(HBHCCNTA+HBHCCNTR,6),!
W:(HBHCDIR=4)!(HBHCDIR="A")!(HBHCDIR="S") !,"Visit Form 4 Total:",?35,$J(HBHCCNT4,5)
W:(HBHCDIR=5)!(HBHCDIR="A")!(HBHCDIR="S") !,"Discharge Form 5 Total:",?35,$J(HBHCCNT5,5)
W:(HBHCDIR=6)!(HBHCDIR="A")!(HBHCDIR="S") !,"Correction Form 6 Total:",?35,$J(HBHCCNT6,5)
I $D(HBHCMFHS) W:(HBHCDIR=7)!(HBHCDIR="A")!(HBHCDIR="S") !,"Medical Foster Home Form 7 Total:",?35,$J(HBHCCNT7,5)
I '$D(HBHCMFHS) W:(HBHCDIR="A")!(HBHCDIR="S") !?35,"-----",!,"All Forms Total:",?34,$J(HBHCCNTA+HBHCCNTR+HBHCCNT4+HBHCCNT5+HBHCCNT6,6)
I $D(HBHCMFHS) W:(HBHCDIR="A")!(HBHCDIR="S") !?35,"-----",!,"All Forms Total:",?34,$J(HBHCCNTA+HBHCCNTR+HBHCCNT4+HBHCCNT5+HBHCCNT6+HBHCCNT7,6)
W:(HBHCDIR=4)!(HBHCDIR="A")!(HBHCDIR="S") !!,"Number of Visits Total:",?35,$J(HBHCCNT,5)
D ENDRPT^HBHCUTL1
Q
CONT ; Continue count of visits loop
S HBHCPRV="" F S HBHCPRV=$O(^TMP($J,HBHCNAME,HBHCLST4,HBHCDATE,HBHCPRV)) Q:HBHCPRV="" S HBHCCNT=HBHCCNT+1
Q
PRTLOOP ; Print loop
S HBHCFORM="" F S HBHCFORM=$O(^TMP("HBHC",$J,HBHCFORM)) Q:HBHCFORM="" D HEADER,PRTLOOP2,SUB
Q
PRTLOOP2 ; Print loop continued
S HBHCACTN="" F S HBHCACTN=$O(^TMP("HBHC",$J,HBHCFORM,HBHCACTN)) Q:HBHCACTN="" S HBHCNAME="" F S HBHCNAME=$O(^TMP("HBHC",$J,HBHCFORM,HBHCACTN,HBHCNAME)) Q:HBHCNAME="" D PRTLOOP3
Q
PRTLOOP3 ; Print loop continued (again)
S HBHCLST4=0 F S HBHCLST4=$O(^TMP("HBHC",$J,HBHCFORM,HBHCACTN,HBHCNAME,HBHCLST4)) Q:HBHCLST4'>0 S HBHCDATE="" F S HBHCDATE=$O(^TMP("HBHC",$J,HBHCFORM,HBHCACTN,HBHCNAME,HBHCLST4,HBHCDATE)) Q:HBHCDATE="" D PRTLOOP4
Q
PRTLOOP4 ; Print loop continued (again & again)
S HBHCPRV="" F S HBHCPRV=$O(^TMP("HBHC",$J,HBHCFORM,HBHCACTN,HBHCNAME,HBHCLST4,HBHCDATE,HBHCPRV)) Q:HBHCPRV="" S HBHCIEN="" F S HBHCIEN=$O(^TMP("HBHC",$J,HBHCFORM,HBHCACTN,HBHCNAME,HBHCLST4,HBHCDATE,HBHCPRV,HBHCIEN)) Q:HBHCIEN="" D PRINT
Q
PRINT ; Print report
S HBHCINFO=^TMP("HBHC",$J,HBHCFORM,HBHCACTN,HBHCNAME,HBHCLST4,HBHCDATE,HBHCPRV,HBHCIEN)
I ($D(ZTRTN)!(HBHCCC=0))&((IOSL-$Y)<10) W:HBHCPAGE>0 @IOF D HDRPAGE^HBHCUTL,HEADER
W !?4,$S(HBHCFORM="A":3,HBHCFORM="V":4,HBHCFORM="D":5,HBHCFORM="Z":7,1:6),?8,HBHCNAME W:HBHCFORM'="Z" ?31,HBHCLST4 W ?38,$E(HBHCDATE,1,2),"-",$E(HBHCDATE,3,4),"-",$E(HBHCDATE,7,8) W:$P(HBHCINFO,U,3)]"" ?46,"@"_$P(HBHCINFO,U,3)
W ?55,$S(HBHCFORM=6:$P(HBHCINFO,U,2),HBHCFORM="A":HBHCACTN,HBHCFORM="V":$P(HBHCINFO,U),1:"") W:HBHCFORM="V" ?60,HBHCPRV
Q
W !,$S(HBHCFORM=6:"Correction Form 6",HBHCFORM="A":"Evaluation/Admission Form 3",HBHCFORM="D":"Discharge Form 5",HBHCFORM="Z":"Medical Foster Home Form 7",1:"Visit Form 4")_" Records"
W ?55,$S(HBHCFORM=6:"Type",HBHCFORM="A":"Action",HBHCFORM="V":"Provider",1:""),!
Q
SUB ; Sub-total module
W:(HBHCDIR="A")&(HBHCFORM=6) !!?4,"Correction Form 6 Total:",?37,$J(HBHCCNT6,5),!,HBHCY
W:(HBHCDIR="A")&(HBHCFORM="A") !!?4,"Admit Eval/Adm Form 3 Total:",?37,$J(HBHCCNTA,5),!?4,"Reject Eval/Adm Form 3 Total:",?37,$J(HBHCCNTR,5),!?37,"-----",!?4,"All Eval/Adm Forms Total:",?39,$J(HBHCCNTA+HBHCCNTR,6),!,HBHCY
W:(HBHCDIR="A")&(HBHCFORM="D") !!?4,"Discharge Form 5 Total:",?37,$J(HBHCCNT5,5),!,HBHCY
W:(HBHCDIR="A")&(HBHCFORM="V") !!?4,"Visit Form 4 Total:",?30,$J(HBHCCNT4,5)
W:(HBHCDIR="A")&(HBHCFORM="V") !!?4,"Number of Visits Total:",?30,$J(HBHCCNT,5),!,HBHCY
W:(HBHCDIR="A")&(HBHCFORM="Z") !!?4,"Medical Foster Home Form 7 Total:",?37,$J(HBHCCNT7,5),!,HBHCY
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HHBHCR15B 6111 printed Oct 16, 2024@17:59 Page 2
HBHCR15B ;LR VAMC(IRMS)/MJT-HBHC rpt using file 634.6, called from HBHCR15A, entry points: PROMPT1 & END, & from HBHCXMT, entry point: PROMPT2 ;9804
+1 ;;1.0;HOSPITAL BASED HOME CARE;**6,8,9,10,13,15,24**;NOV 01, 1993;Build 201
PROMPT1 ; Prompt user for which transmit date from last 12 batchs to include, default is Most Recent; uses transmit date cross-ref to obtain batch dates
+1 SET HBHCDATE=""
FOR
SET HBHCDATE=$ORDER(^HBHC(634.6,"C",HBHCDATE))
if HBHCDATE=""
QUIT
SET HBHC(-HBHCDATE)=""
+2 SET HBHCDATE=""
FOR HBHCI=1:1
SET HBHCDATE=$ORDER(HBHC(HBHCDATE))
if (HBHCDATE="")!(HBHCI>12)
QUIT
SET Y=$EXTRACT(HBHCDATE,2,9)
DO DD^%DT
SET TMP(HBHCI)=$EXTRACT(HBHCDATE,2,9)
WRITE !,$JUSTIFY(HBHCI,2),".",?6,Y
+3 WRITE !
+4 KILL DIR,DIRUT
+5 SET DIR(0)="N^"
SET DIR("A")="Select Transmit Date"
SET DIR("B")=1
SET DIR("?")="Select transmit date by number. Press return for 'Most Recent' transmit date"
+6 DO ^DIR
if $DATA(DIRUT)
QUIT
+7 IF '$DATA(TMP(Y))
WRITE $CHAR(7),!!,"Please select number from list.",!
HANG 1
GOTO PROMPT1
+8 SET HBHCXMDT=TMP(Y)
PROMPT2 ; Prompt user for which forms to include, default is Summary
+1 SET HBHCCC=0
+2 DO TODAY^HBHCUTL
+3 if '$DATA(HBHCXMDT)
SET HBHCXMDT=DT
+4 if $PIECE(^HBHC(631.9,1,0),U,7)]""
SET HBHCIOP=$PIECE(^%ZIS(1,$PIECE(^HBHC(631.9,1,0),U,7),0),U)
+5 ; Check if MFH Site
+6 DO MFHS^HBHCUTL3
+7 KILL DIR,DIRUT
+8 IF '$DATA(HBHCMFHS)
SET DIR(0)="S^3:Admission;4:Visit;5:Discharge;6:Correction;A:All;S:Summary;"
+9 IF $DATA(HBHCMFHS)
SET DIR(0)="S^3:Admission;4:Visit;5:Discharge;6:Correction;7:Medical Foster Home;A:All;S:Summary;"
+10 SET DIR("A")="Select Forms to Include"
SET DIR("B")="Summary"
SET DIR("?")="Select form type to be included in report. Press return for 'Summary'."
DO ^DIR
if $DATA(DIRUT)
QUIT
+11 SET HBHCDIR=Y
SET HBHCY0=Y(0)
+12 SET Y=HBHCXMDT
DO DD^%DT
SET HBHCHEAD=$SELECT(HBHCDIR="S":Y_" Transmit, "_HBHCY0,1:Y_" Transmit, "_HBHCY0_" Forms,")
+13 QUIT
END ; End of report processing
+1 ; Count number of visits
+2 SET HBHCCNT=0
SET HBHCNAME=""
FOR
SET HBHCNAME=$ORDER(^TMP($JOB,HBHCNAME))
if HBHCNAME=""
QUIT
SET HBHCLST4=0
FOR
SET HBHCLST4=$ORDER(^TMP($JOB,HBHCNAME,HBHCLST4))
if HBHCLST4'>0
QUIT
SET HBHCDATE=0
FOR
SET HBHCDATE=$ORDER(^TMP($JOB,HBHCNAME,HBHCLST4,HBHCDATE))
if HBHCDATE'>0
QUIT
DO CONT
+3 ; Reset HBHCHDR when MFH Form 7 only, or All, selected & MFH recs are all that exist
+4 if ((HBHCCNTA+HBHCCNTR+HBHCCNT4+HBHCCNT5+HBHCCNT6)=0)!(HBHCDIR=7)
SET HBHCHDR="W !?4,""#"",?8,""Medical Foster Home Name"",?38,""Opened Date"""
+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 if HBHCDIR'="S"
DO PRTLOOP
+8 IF HBHCDIR="A"
SET HBHCHDR="W ?36,""Summary"""
WRITE @IOF
DO HDRPAGE^HBHCUTL
+9 if (HBHCDIR'="A")&(HBHCDIR'="S")
WRITE !
+10 if (HBHCDIR=3)!(HBHCDIR="A")!(HBHCDIR="S")
WRITE !,"Admit Eval/Adm Form 3 Total:",?35,$JUSTIFY(HBHCCNTA,5),!,"Reject Eval/Adm Form 3 Total:",?35,$JUSTIFY(HBHCCNTR,5)
+11 if HBHCDIR=3
WRITE !?35,"-----",!,"All Eval/Adm Forms Total:",?34,$JUSTIFY(HBHCCNTA+HBHCCNTR,6),!
+12 if (HBHCDIR=4)!(HBHCDIR="A")!(HBHCDIR="S")
WRITE !,"Visit Form 4 Total:",?35,$JUSTIFY(HBHCCNT4,5)
+13 if (HBHCDIR=5)!(HBHCDIR="A")!(HBHCDIR="S")
WRITE !,"Discharge Form 5 Total:",?35,$JUSTIFY(HBHCCNT5,5)
+14 if (HBHCDIR=6)!(HBHCDIR="A")!(HBHCDIR="S")
WRITE !,"Correction Form 6 Total:",?35,$JUSTIFY(HBHCCNT6,5)
+15 IF $DATA(HBHCMFHS)
if (HBHCDIR=7)!(HBHCDIR="A")!(HBHCDIR="S")
WRITE !,"Medical Foster Home Form 7 Total:",?35,$JUSTIFY(HBHCCNT7,5)
+16 IF '$DATA(HBHCMFHS)
if (HBHCDIR="A")!(HBHCDIR="S")
WRITE !?35,"-----",!,"All Forms Total:",?34,$JUSTIFY(HBHCCNTA+HBHCCNTR+HBHCCNT4+HBHCCNT5+HBHCCNT6,6)
+17 IF $DATA(HBHCMFHS)
if (HBHCDIR="A")!(HBHCDIR="S")
WRITE !?35,"-----",!,"All Forms Total:",?34,$JUSTIFY(HBHCCNTA+HBHCCNTR+HBHCCNT4+HBHCCNT5+HBHCCNT6+HBHCCNT7,6)
+18 if (HBHCDIR=4)!(HBHCDIR="A")!(HBHCDIR="S")
WRITE !!,"Number of Visits Total:",?35,$JUSTIFY(HBHCCNT,5)
+19 DO ENDRPT^HBHCUTL1
+20 QUIT
CONT ; Continue count of visits loop
+1 SET HBHCPRV=""
FOR
SET HBHCPRV=$ORDER(^TMP($JOB,HBHCNAME,HBHCLST4,HBHCDATE,HBHCPRV))
if HBHCPRV=""
QUIT
SET HBHCCNT=HBHCCNT+1
+2 QUIT
PRTLOOP ; Print loop
+1 SET HBHCFORM=""
FOR
SET HBHCFORM=$ORDER(^TMP("HBHC",$JOB,HBHCFORM))
if HBHCFORM=""
QUIT
DO HEADER
DO PRTLOOP2
DO SUB
+2 QUIT
PRTLOOP2 ; Print loop continued
+1 SET HBHCACTN=""
FOR
SET HBHCACTN=$ORDER(^TMP("HBHC",$JOB,HBHCFORM,HBHCACTN))
if HBHCACTN=""
QUIT
SET HBHCNAME=""
FOR
SET HBHCNAME=$ORDER(^TMP("HBHC",$JOB,HBHCFORM,HBHCACTN,HBHCNAME))
if HBHCNAME=""
QUIT
DO PRTLOOP3
+2 QUIT
PRTLOOP3 ; Print loop continued (again)
+1 SET HBHCLST4=0
FOR
SET HBHCLST4=$ORDER(^TMP("HBHC",$JOB,HBHCFORM,HBHCACTN,HBHCNAME,HBHCLST4))
if HBHCLST4'>0
QUIT
SET HBHCDATE=""
FOR
SET HBHCDATE=$ORDER(^TMP("HBHC",$JOB,HBHCFORM,HBHCACTN,HBHCNAME,HBHCLST4,HBHCDATE))
if HBHCDATE=""
QUIT
DO PRTLOOP4
+2 QUIT
PRTLOOP4 ; Print loop continued (again & again)
+1 SET HBHCPRV=""
FOR
SET HBHCPRV=$ORDER(^TMP("HBHC",$JOB,HBHCFORM,HBHCACTN,HBHCNAME,HBHCLST4,HBHCDATE,HBHCPRV))
if HBHCPRV=""
QUIT
SET HBHCIEN=""
FOR
SET HBHCIEN=$ORDER(^TMP("HBHC",$JOB,HBHCFORM,HBHCACTN,HBHCNAME,HBHCLST4,HBHCDATE,HBHCPRV,HBHCIEN))
if HBHCIEN=""
QUIT
DO PRINT
+2 QUIT
PRINT ; Print report
+1 SET HBHCINFO=^TMP("HBHC",$JOB,HBHCFORM,HBHCACTN,HBHCNAME,HBHCLST4,HBHCDATE,HBHCPRV,HBHCIEN)
+2 IF ($DATA(ZTRTN)!(HBHCCC=0))&((IOSL-$Y)<10)
if HBHCPAGE>0
WRITE @IOF
DO HDRPAGE^HBHCUTL
DO HEADER
+3 WRITE !?4,$SELECT(HBHCFORM="A":3,HBHCFORM="V":4,HBHCFORM="D":5,HBHCFORM="Z":7,1:6),?8,HBHCNAME
if HBHCFORM'="Z"
WRITE ?31,HBHCLST4
WRITE ?38,$EXTRACT(HBHCDATE,1,2),"-",$EXTRACT(HBHCDATE,3,4),"-",$EXTRACT(HBHCDATE,7,8)
if $PIECE(HBHCINFO,U,3)]""
WRITE ?46,"@"_$PIECE(HBHCINFO,U,3)
+4 WRITE ?55,$SELECT(HBHCFORM=6:$PIECE(HBHCINFO,U,2),HBHCFORM="A":HBHCACTN,HBHCFORM="V":$PIECE(HBHCINFO,U),1:"")
if HBHCFORM="V"
WRITE ?60,HBHCPRV
+5 QUIT
+1 WRITE !,$SELECT(HBHCFORM=6:"Correction Form 6",HBHCFORM="A":"Evaluation/Admission Form 3",HBHCFORM="D":"Discharge Form 5",HBHCFORM="Z":"Medical Foster Home Form 7",1:"Visit Form 4")_" Records"
+2 WRITE ?55,$SELECT(HBHCFORM=6:"Type",HBHCFORM="A":"Action",HBHCFORM="V":"Provider",1:""),!
+3 QUIT
SUB ; Sub-total module
+1 if (HBHCDIR="A")&(HBHCFORM=6)
WRITE !!?4,"Correction Form 6 Total:",?37,$JUSTIFY(HBHCCNT6,5),!,HBHCY
+2 if (HBHCDIR="A")&(HBHCFORM="A")
WRITE !!?4,"Admit Eval/Adm Form 3 Total:",?37,$JUSTIFY(HBHCCNTA,5),!?4,"Reject Eval/Adm Form 3 Total:",?37,$JUSTIFY(HBHCCNTR,5),!?37,"-----",!?4,"All Eval/Adm Forms Total:",?39,$JUSTIFY(HBHCCNTA+HBHCCNTR,6),!,HBHCY
+3 if (HBHCDIR="A")&(HBHCFORM="D")
WRITE !!?4,"Discharge Form 5 Total:",?37,$JUSTIFY(HBHCCNT5,5),!,HBHCY
+4 if (HBHCDIR="A")&(HBHCFORM="V")
WRITE !!?4,"Visit Form 4 Total:",?30,$JUSTIFY(HBHCCNT4,5)
+5 if (HBHCDIR="A")&(HBHCFORM="V")
WRITE !!?4,"Number of Visits Total:",?30,$JUSTIFY(HBHCCNT,5),!,HBHCY
+6 if (HBHCDIR="A")&(HBHCFORM="Z")
WRITE !!?4,"Medical Foster Home Form 7 Total:",?37,$JUSTIFY(HBHCCNT7,5),!,HBHCY
+7 QUIT