Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BARRASMB

BARRASMB.m

Go to the documentation of this file.
  1. BARRASMB ; IHS/SD/LSL - Age Summary Report Print Logic ;08/20/2008
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**7,28**;OCT 26, 2005;Build 92
  1. ; MODIFIED XTMP FILE NAME TO TMP TO MEET SAC REQUIREMENTS;MRS:BAR*1.8*7 IM29892
  1. ;IHS/ASDS/LSL - 11/24/03 - Routine created
  1. ; Called from BARRASM
  1. ; PRINT^BARRASMA - Print report
  1. ; Split from BARRASMA in V1.7 Patch 4 as BARRASMA became too large
  1. ;
  1. ;IHS/SD/LSL - 02/20/03 - V1.7 Patch 1 - Added DISCHARGE SERVICE sort and report. Add time run to report
  1. ; headers. (While still BARRASMA)
  1. ;IHS/SD/LSL - 08/01/03 - V1.7 Patch 2 - Add call to ASM^BAREISS to print of summary data (While still BARRASMA)
  1. ;IHS/SD/LSL - 11/24/03 - V1.7 Patch 4 - Add Visit Location Sort level to accomodate EISS
  1. ;
  1. ;IHS/SD/SDR 1.8*28 CR8350 HEAT295594 - Made call for EISS report conditional on BARA. BARA is set when running the USM report.
  1. ; we don't want the EISS run if running the USM report.
  1. Q
  1. ; *********************************************************************
  1. PRINT ; EP
  1. ; Print reports
  1. F I=1:1:6 K BAR(I)
  1. K BAR("SUB0")
  1. K BAR("SUB1"),BAR("SUB2"),BAR("SUB3"),BARTMP,BARTMPS,BARTMPS2,BARNAME
  1. S BAR("PG")=0
  1. S BARDASH=" --------- --------- --------- --------- --------- ----------"
  1. S BAREQUAL=" ========= ========= ========= ========= ========= =========="
  1. S BAR("COL")="W !,BARY(""STCR"",""NM""),?22,""CURRENT"",?34,""31-60"",?44,""61-90"",?53,""91-120"",?65,""120+"",?73,""BALANCE"""
  1. I ",1,2,3,4,"[(","_BARY("STCR")_",") D STANDARD
  1. Q:$G(BAR("F1"))
  1. I $G(BARY("RTYP"))=1 D SUMMARY
  1. Q:$G(BAR("F1"))
  1. I $G(BARY("RTYP"))=2 D DETAIL
  1. Q:$G(BAR("F1"))
  1. I $G(BARY("RTYP"))=3 D BILL
  1. Q:$G(BAR("F1"))
  1. Q
  1. ; *********************************************************************
  1. ;
  1. STANDARD ;
  1. ; Print report if user selected SORT CRITERIA a/r account, visit, or
  1. ; clinic
  1. ;
  1. D HDB ; Page and column header
  1. I '$D(^TMP($J,"BAR-ASM")) D Q ; No data - quit
  1. .W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. .;D EOP^BARUTL(0) ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594 -NOW WANT PAUSE IHS/DIT/CPC - 20180502 CR8350
  1. .I '$D(BARA),(XQY0'["UFMS") D EOP^BARUTL(0) ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594 -NOW WANT PAUSE IHS/DIT/CPC - 20180502 CR8350
  1. S BARHOLD("SUB0")=$O(^TMP($J,"BAR-ASM",""))
  1. S BAR("SUB0")=""
  1. F S BAR("SUB0")=$O(^TMP($J,"BAR-ASM",BAR("SUB0"))) Q:BAR("SUB0")="" D Q:$G(BAR("F1"))
  1. .I BARHOLD("SUB0")'=BAR("SUB0") D HD
  1. .Q:$G(BAR("F1"))
  1. .S BARHOLD("SUB0")=BAR("SUB0")
  1. .I '$D(BARY("LOC")) W !,"*** VISIT Location: ",BAR("SUB0"),!
  1. .S BAR("SUB1")=""
  1. .F S BAR("SUB1")=$O(^TMP($J,"BAR-ASM",BAR("SUB0"),BAR("SUB1"))) Q:BAR("SUB1")="" D Q:$G(BAR("F1"))
  1. ..I $Y>(IOSL-5),'$D(BARA),(XQY0'["UFMS") D EOP^BARUTL(0) D HD Q:$G(BAR("F1")) ;-NO PAUSE IHS/DIT/CPC - 20180502 CR8350
  1. ..S BARTMP=$G(^TMP($J,"BAR-ASM",BAR("SUB0"),BAR("SUB1")))
  1. ..S BARNAME=BAR("SUB1")
  1. ..W !,$E(BARNAME,1,19) ; clinic/vis typ/A/R acct/discharge svc
  1. ..W ?20,$J($P(BARTMP,U),9,2) ; CURRENT
  1. ..W ?30,$J($P(BARTMP,U,2),9,2) ; 31-60
  1. ..W ?40,$J($P(BARTMP,U,3),9,2) ; 61-90
  1. ..W ?50,$J($P(BARTMP,U,4),9,2) ; 90-120
  1. ..W ?60,$J($P(BARTMP,U,5),9,2) ; 120+
  1. ..W ?70,$J($P(BARTMP,U,6),10,2) ; BALANCE
  1. .;
  1. .; Visit Location Totals
  1. .Q:$G(BAR("F1"))
  1. .W !,BARDASH
  1. .S BARTMP=$G(^TMP($J,"BAR-ASM",BAR("SUB0")))
  1. .W !,"*** VISIT loc Total"
  1. .W ?20,$J($P(BARTMP,U),9,2) ; CURRENT
  1. .W ?30,$J($P(BARTMP,U,2),9,2) ; 31-60
  1. .W ?40,$J($P(BARTMP,U,3),9,2) ; 61-90
  1. .W ?50,$J($P(BARTMP,U,4),9,2) ; 90-120
  1. .W ?60,$J($P(BARTMP,U,5),9,2) ; 120+
  1. .W ?70,$J($P(BARTMP,U,6),10,2) ; BALANCE
  1. Q:$G(BAR("F1"))
  1. ;
  1. ; Report Totals
  1. W !,BAREQUAL
  1. S BARTMP=$G(^TMP($J,"BAR-ASM"))
  1. W !?20,$J($P(BARTMP,U),9,2) ; CURRENT
  1. W ?30,$J($P(BARTMP,U,2),9,2) ; 31-60
  1. W ?40,$J($P(BARTMP,U,3),9,2) ; 61-90
  1. W ?50,$J($P(BARTMP,U,4),9,2) ; 90-120
  1. W ?60,$J($P(BARTMP,U,5),9,2) ; 120+
  1. W ?70,$J($P(BARTMP,U,6),10,2) ; BALANCE
  1. ;D EOP^BARUTL(0) ;-NOW WANT PAUSE IHS/DIT/CPC - 20180502 CR8350
  1. I '$D(BARA),(XQY0'["UFMS") D EOP^BARUTL(0) ;If not USM Pause IHS/DIT/CPC - 20180502 BAR*1.8*28 CR8350
  1. Q
  1. ; *********************************************************************
  1. ;
  1. SUMMARY ;
  1. ; Print report if user selected SORT CRITERIA Billing Entity or
  1. ; Allowance Category and Report Type w/o payers
  1. ;
  1. D HDB ; Page and column header
  1. I '$D(^TMP($J,"BAR-ASMT")) D Q ; No data - quit
  1. .W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. .;D EOP^BARUTL(0) ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594 -NOW WANT PAUSE IHS/DIT/CPC - 20180502 CR8350
  1. .I '$D(BARA),(XQY0'["UFMS") D EOP^BARUTL(0) ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594 -NOW WANT PAUSE IHS/DIT/CPC - 20180502 CR8350
  1. S BARHOLD("SUB0")=$O(^TMP($J,"BAR-ASMT",""))
  1. S BAR("SUB0")=""
  1. F S BAR("SUB0")=$O(^TMP($J,"BAR-ASMT",BAR("SUB0"))) Q:BAR("SUB0")="" D Q:$G(BAR("F1"))
  1. .I BAR("SUB0")'=BARHOLD("SUB0") D HD
  1. .Q:$G(BAR("F1"))
  1. .S BARHOLD("SUB0")=BAR("SUB0")
  1. .I '$D(BARY("LOC")) W !,"*** VISIT Location: ",BAR("SUB0"),!
  1. .S BAR("SUB1")=""
  1. .F S BAR("SUB1")=$O(^TMP($J,"BAR-ASMT",BAR("SUB0"),BAR("SUB1"))) Q:BAR("SUB1")="" D Q:$G(BAR("F1"))
  1. ..I $Y>(IOSL-5) D HD Q:$G(BAR("F1"))
  1. ..S BARTMP=$G(^TMP($J,"BAR-ASMT",BAR("SUB0"),BAR("SUB1")))
  1. ..W !,$E(BAR("SUB1"),1,19) ; Billing Entity/Allowance Category/Insurer Type
  1. ..D SUM2
  1. .Q:$G(BAR("F1"))
  1. .S BARTMP=$G(^TMP($J,"BAR-ASMT",BAR("SUB0")))
  1. .W !,BARDASH,!,"*** VISIT Loc Total"
  1. .D SUM2
  1. Q:$G(BAR("F1"))
  1. W !
  1. D TOTAL ; Report Totals
  1. ;I BARY("STCR")=5,'$D(BARY("ALL")) D ASM^BAREISS ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594
  1. I BARY("STCR")=5,'$D(BARY("ALL")),'$D(BARA) D ASM^BAREISS ;BARA is defined in the USM report; if started there, it shouldn't run the EISS report ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594
  1. ;D EOP^BARUTL(0) ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594 -NOW WANT PAUSE IHS/DIT/CPC - 20180502 CR8350
  1. I '$D(BARA),(XQY0'["UFMS") D EOP^BARUTL(0) ;If not USM Pause IHS/DIT/CPC - 20180502 BAR*1.8*28 CR8350
  1. Q
  1. ; *********************************************************************
  1. ;
  1. DETAIL ;
  1. ; Print report if user selected SORT CRITERIA Billing Entity or
  1. ; Allowance Category and Report Type with payers
  1. ;
  1. D HDB ; Page and column header
  1. I '$D(^TMP($J,"BAR-ASMT")) D Q ; No data - quit
  1. .W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. .;D EOP^BARUTL(0) ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594 -NOW WANT PAUSE IHS/DIT/CPC - 20180502 CR8350
  1. .I '$D(BARA),(XQY0'["UFMS") D EOP^BARUTL(0) D EOP^BARUTL(0) ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594 -NOW WANT PAUSE IHS/DIT/CPC - 20180502 CR8350
  1. ;
  1. S BARHOLD("SUB0")=$O(^TMP($J,"BAR-ASMT",""))
  1. S BAR("SUB0")=""
  1. F S BAR("SUB0")=$O(^TMP($J,"BAR-ASMT",BAR("SUB0"))) Q:BAR("SUB0")="" D Q:$G(BAR("F1"))
  1. .I BAR("SUB0")'=BARHOLD("SUB0") D HD
  1. .Q:$G(BAR("F1"))
  1. .S BARHOLD("SUB0")=BAR("SUB0")
  1. .I '$D(BARY("LOC")) W !,"*** VISIT Location: ",BAR("SUB0"),!
  1. .S BAR("SUB1")=""
  1. .F S BAR("SUB1")=$O(^TMP($J,"BAR-ASMT",BAR("SUB0"),BAR("SUB1"))) Q:BAR("SUB1")="" D Q:$G(BAR("F1"))
  1. ..S BARTMP=$G(^TMP($J,"BAR-ASMT",BAR("SUB0"),BAR("SUB1")))
  1. ..W !,$E(BAR("SUB1"),1,19) ; Billing Entity/Allowance Category
  1. ..S BAR("SUB2")=""
  1. ..F S BAR("SUB2")=$O(^TMP($J,"BAR-ASMT",BAR("SUB0"),BAR("SUB1"),BAR("SUB2"))) Q:BAR("SUB2")="" D Q:$G(BAR("F1"))
  1. ...I $Y>(IOSL-5) D HD Q:$G(BAR("F1"))
  1. ...S BARTMPS=$G(^TMP($J,"BAR-ASMT",BAR("SUB0"),BAR("SUB1"),BAR("SUB2")))
  1. ...W !?1,$E(BAR("SUB2"),1,18) ; A/R Account
  1. ...D ACCOUNT
  1. ...Q:$G(BAR("F1"))
  1. ..Q:$G(BAR("F1"))
  1. ..W !,BARDASH,!
  1. ..I BARY("STCR")=5 W "ALLOW CAT TOTAL"
  1. ..I BARY("STCR")=6 W "BILL ENTITY TOTAL"
  1. ..I BARY("STCR")=7 W "INS TYPE TOTAL"
  1. ..D SUM2 ; Subtotals by Billing Entity/Allowance Category
  1. .Q:$G(BAR("F1"))
  1. .S BARTMP=$G(^TMP($J,"BAR-ASMT",BAR("SUB0")))
  1. .W !,BARDASH,!,"*** VISIT Loc Total"
  1. .D SUM2
  1. Q:$G(BAR("F1"))
  1. W !
  1. D TOTAL ; Report Totals
  1. ;D EOP^BARUTL(0) ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594 -NOW WANT PAUSE IHS/DIT/CPC - 20180502 CR8350
  1. I '$D(BARA),(XQY0'["UFMS") D EOP^BARUTL(0) ;If not USM Pause IHS/DIT/CPC - 20180502 BAR*1.8*28 CR8350
  1. Q
  1. ; ********************************************************************
  1. ;
  1. BILL ;
  1. ; Print report if user selected SORT CRITERIA Billing Entity or
  1. ; Allowance Category and Report Type with payers AND bills
  1. ;
  1. D HDB ; Page and column header
  1. I '$D(^TMP($J,"BAR-ASMT")) D Q ; No data - quit
  1. .W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. .;D EOP^BARUTL(0) ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594
  1. .I '$D(BARA),(XQY0'["UFMS") D EOP^BARUTL(0) ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594 - NO USM PAGE BREAKS IHS/DIT/CPC - 20180502
  1. ;
  1. S BARHOLD("SUB0")=$O(^TMP($J,"BAR-ASMT",""))
  1. S BAR("SUB0")=""
  1. F S BAR("SUB0")=$O(^TMP($J,"BAR-ASMT",BAR("SUB0"))) Q:BAR("SUB0")="" D Q:$G(BAR("F1"))
  1. .I BAR("SUB0")'=BARHOLD("SUB0") D HD
  1. .Q:$G(BAR("F1"))
  1. .S BARHOLD("SUB0")=BAR("SUB0")
  1. .I '$D(BARY("LOC")) W !,"*** VISIT Location: ",BAR("SUB0"),!
  1. .S BAR("SUB1")=""
  1. .F S BAR("SUB1")=$O(^TMP($J,"BAR-ASMT",BAR("SUB0"),BAR("SUB1"))) Q:BAR("SUB1")="" D Q:$G(BAR("F1"))
  1. ..S BARTMP=$G(^TMP($J,"BAR-ASMT",BAR("SUB0"),BAR("SUB1")))
  1. ..W $$EN^BARVDF("HIN")
  1. ..W !!,$$CJ^XLFSTR(BAR("SUB1"),IOM),! ; Billing Entity/Allowance Category
  1. ..W $$EN^BARVDF("HIF")
  1. ..S BAR("SUB2")=""
  1. ..F S BAR("SUB2")=$O(^TMP($J,"BAR-ASMT",BAR("SUB0"),BAR("SUB1"),BAR("SUB2"))) Q:BAR("SUB2")="" D Q:$G(BAR("F1"))
  1. ...S BARTMPS=$G(^TMP($J,"BAR-ASMT",BAR("SUB0"),BAR("SUB1"),BAR("SUB2")))
  1. ...W !?1,BAR("SUB2") ; A/R Account
  1. ...S BAR("SUB3")=""
  1. ...F S BAR("SUB3")=$O(^TMP($J,"BAR-ASMT",BAR("SUB0"),BAR("SUB1"),BAR("SUB2"),BAR("SUB3"))) Q:BAR("SUB3")="" D Q:$G(BAR("F1"))
  1. ....I $Y>(IOSL-5) D HD Q:$G(BAR("F1"))
  1. ....S BARTMPS2=$G(^TMP($J,"BAR-ASMT",BAR("SUB0"),BAR("SUB1"),BAR("SUB2"),BAR("SUB3")))
  1. ....W !?2,$E(BAR("SUB3"),1,17)
  1. ....W ?20,$J($P(BARTMPS2,U),9,2) ; CURRENT
  1. ....W ?30,$J($P(BARTMPS2,U,2),9,2) ; 31-60
  1. ....W ?40,$J($P(BARTMPS2,U,3),9,2) ; 61-90
  1. ....W ?50,$J($P(BARTMPS2,U,4),9,2) ; 90-120
  1. ....W ?60,$J($P(BARTMPS2,U,5),9,2) ; 120+
  1. ....W ?70,$J($P(BARTMPS2,U,6),10,2) ; BALANCE
  1. ...Q:$G(BAR("F1"))
  1. ...W !,BARDASH,!
  1. ...W "A/R ACCOUNT TOTAL"
  1. ...D ACCOUNT
  1. ...W !
  1. ..Q:$G(BAR("F1"))
  1. ..W BARDASH,!
  1. ..I BARY("STCR")=5 W "ALLOW CAT TOTAL"
  1. ..I BARY("STCR")=6 W "BILL ENTITY TOTAL"
  1. ..I BARY("STCR")=7 W "INS TYPE TOTAL"
  1. ..D SUM2 ; Subtotals by Billing Entity/Allowance Category
  1. .Q:$G(BAR("F1"))
  1. .S BARTMP=$G(^TMP($J,"BAR-ASMT",BAR("SUB0")))
  1. .W !,BARDASH,!,"*** VISIT Loc Total"
  1. .D SUM2
  1. Q:$G(BAR("F1"))
  1. W !
  1. D TOTAL ; Report Totals
  1. I '$D(BARA),(XQY0'["UFMS") D EOP^BARUTL(0) ;If not USM Pause IHS/DIT/CPC - 20180502 BAR*1.8*28 CR8350
  1. Q
  1. ; ********************************************************************
  1. ;
  1. ACCOUNT ;
  1. ; Account line on Summary reports
  1. W ?20,$J($P(BARTMPS,U),9,2) ; CURRENT
  1. W ?30,$J($P(BARTMPS,U,2),9,2) ; 31-60
  1. W ?40,$J($P(BARTMPS,U,3),9,2) ; 61-90
  1. W ?50,$J($P(BARTMPS,U,4),9,2) ; 90-120
  1. W ?60,$J($P(BARTMPS,U,5),9,2) ; 120+
  1. W ?70,$J($P(BARTMPS,U,6),10,2) ; BALANCE
  1. Q
  1. ; ********************************************************************
  1. ;
  1. SUM2 ;
  1. ; Billing Entity/Allowance Category Summary line
  1. W ?20,$J($P(BARTMP,U),9,2) ; CURRENT
  1. W ?30,$J($P(BARTMP,U,2),9,2) ; 31-60
  1. W ?40,$J($P(BARTMP,U,3),9,2) ; 61-90
  1. W ?50,$J($P(BARTMP,U,4),9,2) ; 90-120
  1. W ?60,$J($P(BARTMP,U,5),9,2) ; 120+
  1. W ?70,$J($P(BARTMP,U,6),10,2) ; BALANCE
  1. Q
  1. ; ********************************************************************
  1. ;
  1. TOTAL ;
  1. ; Report totals for Billing Entity/Allowance Category Reports
  1. W BAREQUAL
  1. S BARTMP=$G(^TMP($J,"BAR-ASMT"))
  1. W !?20,$J($P(BARTMP,U),9,2) ; CURRENT
  1. W ?30,$J($P(BARTMP,U,2),9,2) ; 31-60
  1. W ?40,$J($P(BARTMP,U,3),9,2) ; 61-90
  1. W ?50,$J($P(BARTMP,U,4),9,2) ; 90-120
  1. W ?60,$J($P(BARTMP,U,5),9,2) ; 120+
  1. W ?70,$J($P(BARTMP,U,6),10,2) ; BALANCE
  1. Q
  1. ; ********************************************************************
  1. ;
  1. HD ; EP
  1. ;D PAZ^BARRUTL ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594 IHS/DIT/CPC CR8350 BAR*1.8*28 20180502 Now they want the pause.
  1. I XQY0'["UFMS" D PAZ^BARRUTL ;only do pause for ASM, not USM ;bar*1.8*28 IHS/SD/SDR CR8350 HEAT295594
  1. I $D(DTOUT)!$D(DUOUT)!$D(DIROUT) S BAR("F1")=1 Q
  1. ; -------------------------------
  1. ;
  1. HDB ; EP
  1. ; Page and column header
  1. S BAR("PG")=BAR("PG")+1
  1. S BAR("I")=""
  1. D WHD^BARRHD ; Report header
  1. X BAR("COL")
  1. S $P(BAR("DASH"),"=",$S($D(BAR(132)):132,1:80))=""
  1. W !,BAR("DASH"),!
  1. Q