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

BARRPSRB.m

Go to the documentation of this file.
  1. BARRPSRB ; IHS/SD/LSL - Period Summary Report Print ; 08/20/2008
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**7**;OCT 26, 2005
  1. ; MODIFIED XTMP FILE NAME TO TMP TO MEET SAC REQUIREMENTS;MRS:BAR*1.8*7 IM29892
  1. ; IHS/ASDS/LSL - 02/27/03 - V1.7 Patch 1
  1. ; Routine created. Called from BARRPSRA
  1. ; PRINT^BARRASMA - Print report
  1. ;
  1. ; IHS/SD/LSL - 08/01/03 - V1.7 Patch 2
  1. ; Add call to PSR^EISS for print of summary data
  1. Q
  1. ; *********************************************************************
  1. ;
  1. PRINT ; EP
  1. ; Print reports
  1. F I=1:1:4 K BAR(I)
  1. F I=1:1:5 K BAR("SUB"_I)
  1. S BAR("PG")=0
  1. S BARDASH=" --------------- -------------- -------------- -------------"
  1. S BAREQUAL=" =============== ============== ============== ============="
  1. S BAR("COL")="W !,BARY(""STCR"",""NM""),?25,""Billed Amt"",?43,""Payment"",?55,""Adjustment"",?72,""Refund"""
  1. I ",1,2,3,4,"[(","_BARY("STCR")_",") D STANDARD
  1. I $G(BAR("F1")) D XIT Q
  1. I $G(BARY("RTYP"))=1 D SUMMARY
  1. I $G(BAR("F1")) D XIT Q
  1. I $G(BARY("RTYP"))=2 D DETAIL
  1. I $G(BAR("F1")) D XIT Q
  1. I $G(BARY("RTYP"))=3 D BILL
  1. I $G(BAR("F1")) D XIT Q
  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
  1. I '$D(^TMP($J,"BAR-PSR")) D Q ; No data - quit
  1. . W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. . D EOP^BARUTL(0)
  1. ;
  1. S BARHOLD("SUB1")=$O(^TMP($J,"BAR-PSR",""))
  1. S BAR("SUB1")=""
  1. F S BAR("SUB1")=$O(^TMP($J,"BAR-PSR",BAR("SUB1"))) Q:BAR("SUB1")="" D STNDLOC Q:$G(BAR("F1"))
  1. D STNDTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. STNDLOC ;
  1. ; For each Visit Location (Standard Format) Do...
  1. I BAR("SUB1")'=BARHOLD("SUB1") D HD
  1. Q:$G(BAR("F1"))
  1. S BARHOLD("SUB1")=BAR("SUB1")
  1. I '$D(BARY("LOC")) W !,"*** VISIT Location: ",BAR("SUB1"),!
  1. S BAR("SUB2")=""
  1. F S BAR("SUB2")=$O(^TMP($J,"BAR-PSR",BAR("SUB1"),BAR("SUB2"))) Q:BAR("SUB2")="" D STNDDET Q:$G(BAR("F1"))
  1. D STNDLTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. STNDDET ;
  1. ; For each Clinic/Visit Type/AR Account/Dsch Svc (Standard) do...
  1. I $Y>(IOSL-5) D HD Q:$G(BAR("F1"))
  1. S BARTMP=$G(^TMP($J,"BAR-PSR",BAR("SUB1"),BAR("SUB2")))
  1. S BARNAME=BAR("SUB2")
  1. W !,$E(BARNAME,1,19) ; clinic/vis typ/A/R acct/discharge svc
  1. D STNDLINE
  1. Q
  1. ; ********************************************************************
  1. ;
  1. STNDLTOT ;
  1. ; Visit Location Totals (Standard format)
  1. Q:$G(BAR("F1"))
  1. W !,BARDASH,!
  1. S BARTMP=$G(^TMP($J,"BAR-PSR",BAR("SUB1")))
  1. W "*** VISIT Loc Total"
  1. D STNDLINE
  1. Q
  1. ; *********************************************************************
  1. ;
  1. STNDTOT ;
  1. ; Report Totals (Standard format)
  1. Q:$G(BAR("F1"))
  1. W !,BAREQUAL,!
  1. S BARTMP=$G(^TMP($J,"BAR-PSR"))
  1. W "***** REPORT TOTAL"
  1. D STNDLINE
  1. Q
  1. ; *********************************************************************
  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
  1. I '$D(^TMP($J,"BAR-PSRT")) D Q ; No data - quit
  1. . W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. . D EOP^BARUTL(0)
  1. ;
  1. S BARHOLD("SUB1")=$O(^TMP($J,"BAR-PSRT",""))
  1. S BAR("SUB1")=""
  1. F S BAR("SUB1")=$O(^TMP($J,"BAR-PSRT",BAR("SUB1"))) Q:BAR("SUB1")="" D SUMLOC Q:$G(BAR("F1"))
  1. W !
  1. D SUMTOT
  1. I BARY("STCR")=5,'$D(BARY("ALL")) D PSR^BAREISS
  1. Q
  1. ; ********************************************************************
  1. ;
  1. SUMLOC ;
  1. ; For each visit location (Summary format) do...
  1. I BAR("SUB1")'=BARHOLD("SUB1") D HD
  1. Q:$G(BAR("F1"))
  1. S BARHOLD("SUB1")=BAR("SUB1")
  1. I '$D(BARY("LOC")) W !,"*** VISIT Location: ",BAR("SUB1"),!
  1. S BAR("SUB3")=""
  1. F S BAR("SUB3")=$O(^TMP($J,"BAR-PSRT",BAR("SUB1"),BAR("SUB3"))) Q:BAR("SUB3")="" D SUMDET Q:$G(BAR("F1"))
  1. W !
  1. D SUMLTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. SUMDET ;
  1. ; For each Billing Entity/Allowance category (summary) do...
  1. I $Y>(IOSL-5) D HD Q:$G(BAR("F1"))
  1. S BARTMP=$G(^TMP($J,"BAR-PSRT",BAR("SUB1"),BAR("SUB3")))
  1. W !,$E(BAR("SUB3"),1,19)
  1. D STNDLINE
  1. Q
  1. ; ********************************************************************
  1. ; ********************************************************************
  1. ;
  1. DETAIL ;
  1. ; Print report if user selected SORT CRITERIA Billing Entity or
  1. ; Allowance Category and Report Type with payers
  1. D HDB
  1. I '$D(^TMP($J,"BAR-PSRT")) D Q ; No data - quit
  1. . W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. . D EOP^BARUTL(0)
  1. ;
  1. S BARHOLD("SUB1")=$O(^TMP($J,"BAR-PSRT",""))
  1. S BAR("SUB1")=""
  1. F S BAR("SUB1")=$O(^TMP($J,"BAR-PSRT",BAR("SUB1"))) Q:BAR("SUB1")="" D DETLOC Q:$G(BAR("F1"))
  1. W !
  1. D SUMTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. DETLOC ;
  1. ; For each visit location (Detail format) do...
  1. I BAR("SUB1")'=BARHOLD("SUB1") D HD
  1. Q:$G(BAR("F1"))
  1. S BARHOLD("SUB1")=BAR("SUB1")
  1. I '$D(BARY("LOC")) W !,"*** VISIT Location: ",BAR("SUB1"),!
  1. S BAR("SUB3")=""
  1. F S BAR("SUB3")=$O(^TMP($J,"BAR-PSRT",BAR("SUB1"),BAR("SUB3"))) Q:BAR("SUB3")="" D DETBEAL Q:$G(BAR("F1"))
  1. D SUMLTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. DETBEAL ;
  1. ; For each Billing Entity/Allowance category (Detail format) do...
  1. W !,BAR("SUB3")
  1. S BAR("SUB4")=""
  1. F S BAR("SUB4")=$O(^TMP($J,"BAR-PSRT",BAR("SUB1"),BAR("SUB3"),BAR("SUB4"))) Q:BAR("SUB4")="" D DETDET Q:$G(BAR("F1"))
  1. W !
  1. D BEALTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. DETDET ;
  1. ; For each A/R Account (Detail Format) do...
  1. I $Y>(IOSL-5) D HD Q:$G(BAR("F1"))
  1. S BARTMP=$G(^TMP($J,"BAR-PSRT",BAR("SUB1"),BAR("SUB3"),BAR("SUB4")))
  1. W !?3,$E(BAR("SUB4"),1,15)
  1. D STNDLINE
  1. Q
  1. ; ********************************************************************
  1. ; ********************************************************************
  1. ;
  1. BILL ;
  1. ; Summary / by payer / By Bill
  1. ; Print report if user selected SORT CRITERIA Billing Entity or
  1. ; Allowance Category and Report Type with payers AND bills
  1. D HDB
  1. I '$D(^TMP($J,"BAR-PSRT")) D Q ; No data - quit
  1. . W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. . D EOP^BARUTL(0)
  1. ;
  1. S BARHOLD("SUB1")=$O(^TMP($J,"BAR-PSRT",""))
  1. S BAR("SUB1")=""
  1. F S BAR("SUB1")=$O(^TMP($J,"BAR-PSRT",BAR("SUB1"))) Q:BAR("SUB1")="" D BILLLOC Q:$G(BAR("F1"))
  1. W !
  1. D SUMTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. BILLLOC ;
  1. ; For each visit location (Detail format) do...
  1. I BAR("SUB1")'=BARHOLD("SUB1") D HD
  1. Q:$G(BAR("F1"))
  1. S BARHOLD("SUB1")=BAR("SUB1")
  1. I '$D(BARY("LOC")) W !,"*** VISIT Location: ",BAR("SUB1"),!
  1. S BAR("SUB3")=""
  1. F S BAR("SUB3")=$O(^TMP($J,"BAR-PSRT",BAR("SUB1"),BAR("SUB3"))) Q:BAR("SUB3")="" D BILLBEAL Q:$G(BAR("F1"))
  1. W !
  1. D SUMLTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. BILLBEAL ;
  1. ; For each Billing Entity/Allowance category (Detail format) do...
  1. W $$EN^BARVDF("HIN")
  1. W !,$$CJ^XLFSTR(BAR("SUB3"),IOM),!
  1. W $$EN^BARVDF("HIF")
  1. S BAR("SUB4")=""
  1. F S BAR("SUB4")=$O(^TMP($J,"BAR-PSRT",BAR("SUB1"),BAR("SUB3"),BAR("SUB4"))) Q:BAR("SUB4")="" D BILLACCT Q:$G(BAR("F1"))
  1. D BEALTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. BILLACCT ;
  1. ; For each A/R Account (Bill detail) do ...
  1. W !?3,BAR("SUB4")
  1. S BAR("SUB5")=""
  1. F S BAR("SUB5")=$O(^TMP($J,"BAR-PSRT",BAR("SUB1"),BAR("SUB3"),BAR("SUB4"),BAR("SUB5"))) Q:BAR("SUB5")="" D BILLDET Q:$G(BAR("F1"))
  1. D ACCTTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. BILLDET ;
  1. ; For each Bill (Bill Format) do...
  1. I $Y>(IOSL-5) D HD Q:$G(BAR("F1"))
  1. S BARTMP=$G(^TMP($J,"BAR-PSRT",BAR("SUB1"),BAR("SUB3"),BAR("SUB4"),BAR("SUB5")))
  1. W !?6,$E(BAR("SUB5"),1,15)
  1. D STNDLINE
  1. Q
  1. ; ********************************************************************
  1. ;
  1. SUMTOT ;
  1. ; Report totals (summary, detail, bill)
  1. Q:$G(BAR("F1"))
  1. S BARTMP=$G(^TMP($J,"BAR-PSRT"))
  1. W BAREQUAL,!
  1. W "***** REPORT Total"
  1. D STNDLINE
  1. Q
  1. ; ********************************************************************
  1. ;
  1. SUMLTOT ;
  1. ; Visit Location totals (summary, detail, bill)
  1. Q:$G(BAR("F1"))
  1. S BARTMP=$G(^TMP($J,"BAR-PSRT",BAR("SUB1")))
  1. W BARDASH,!
  1. W "*** VISIT Loc Total"
  1. D STNDLINE
  1. Q
  1. ; ********************************************************************
  1. ;
  1. BEALTOT ;
  1. ; Billing Entity / Allowance Category totals (detail, bill)
  1. Q:$G(BAR("F1"))
  1. S BARTMP=$G(^TMP($J,"BAR-PSRT",BAR("SUB1"),BAR("SUB3")))
  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 STNDLINE
  1. Q
  1. ; ********************************************************************
  1. ;
  1. ACCTTOT ;
  1. ; A/R Account totals (bill)
  1. Q:$G(BAR("F1"))
  1. S BARTMP=$G(^TMP($J,"BAR-PSRT",BAR("SUB1"),BAR("SUB3"),BAR("SUB4")))
  1. W !,BARDASH,!
  1. W " * A/R Acct Total"
  1. D STNDLINE
  1. W !
  1. Q
  1. ; ********************************************************************
  1. ;
  1. STNDLINE ;
  1. W ?20,$J($FN($P(BARTMP,U),",",2),15) ; Amount billed
  1. W ?36,$J($FN($P(BARTMP,U,2),",",2),14) ; Payments
  1. W ?51,$J($FN($P(BARTMP,U,3),",",2),14) ; Adjustments
  1. W ?66,$J($FN($P(BARTMP,U,4),",",2),13) ; Refunds
  1. Q
  1. ; ********************************************************************
  1. ; ********************************************************************
  1. ;
  1. HD ; EP
  1. D PAZ^BARRUTL
  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(133)):132,1:81))=""
  1. W !,BAR("DASH"),!
  1. Q
  1. ; ********************************************************************
  1. ;
  1. XIT ;
  1. K ^TMP($J,"BAR-PSR")
  1. K ^TMP($J,"BAR-PSRT")
  1. Q