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

BARPBEN2.m

Go to the documentation of this file.
  1. BARPBEN2 ; IHS/SD/LSL - PRINT FROM AUTO POSTING ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;;OCT 26, 2005
  1. ;
  1. ; IHS/SD/LSL - 04/29/03 - V1.8
  1. ; Tweaked code for AR national release. Thanks to California Area
  1. ; for original code (AZLKAP02 - 07/10/2000)
  1. ;
  1. Q
  1. ; ********************************************************************
  1. ;
  1. PRINT ; EP
  1. ; PRINT
  1. K DUOUT,DROUT,DTOUT,DIROUT
  1. D SETHDR
  1. I BARSBY="P" D PAT
  1. I BARSBY="B" D BILL
  1. D EXIT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. SETHDR ;
  1. ; Set header Array
  1. S BAR("HD",0)=""
  1. S BAR("TXT")="Auto Post Beneficiary"
  1. S BAR("LVL")=0
  1. S BAR("CONJ")=""
  1. D CHK^BARRHD ; Line 1 of Report header
  1. S BAR("LVL")=BAR("LVL")+1
  1. S BAR("HD",BAR("LVL"))=""
  1. S BAR("TXT")="AR Account: "_BARACNM
  1. S BAR("CONJ")="For "
  1. D CHK^BARRHD ; Line 2 of Report header
  1. S BAR("LVL")=BAR("LVL")+1
  1. S BAR("HD",BAR("LVL"))=""
  1. S BAR("TXT")=$S(BARSBY="B":"Bill",1:"Patient")
  1. S BAR("CONJ")="By "
  1. D CHK^BARRHD ; Line 2 of Report header
  1. S BAR("PG")=0
  1. S BAREQUAL="W !?64,""=============="""
  1. Q
  1. ; ********************************************************************
  1. ;
  1. PAT ; EP
  1. ; sort/print by Patient
  1. S BAR("COL")="W !?3,""PATIENT"",?29,""BILL"",?51,""DOS"",?72,""AMOUNT"""
  1. D HDB^BARRPSRB
  1. I '+BARCNT D Q ; No data - quit
  1. . W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. . D EOP^BARUTL(0)
  1. ;
  1. S BARPATNM=0
  1. F S BARPATNM=$O(^XTMP("BAR-BEN",$J,BARPATNM)) Q:BARPATNM="" D PATBIL Q:$G(BAR("F1"))
  1. D TOTAL
  1. Q
  1. ; ********************************************************************
  1. ;
  1. PATBIL ;
  1. S BARBILL=""
  1. F S BARBILL=$O(^XTMP("BAR-BEN",$J,BARPATNM,BARBILL)) Q:BARBILL="" D PATPRT Q:$G(BAR("F1"))
  1. Q
  1. ; ********************************************************************
  1. ;
  1. PATPRT ; EP
  1. ; Print one line Patient Summary
  1. S BARHOLD=$G(^XTMP("BAR-BEN",$J,BARPATNM,BARBILL))
  1. I $Y>(IOSL-5) D HD^BARRPSRB Q:$G(BAR("F1"))
  1. W !,$E(BARPATNM,1,25) ; Patient Name
  1. W ?29,$E(BARBILL,1,18) ; Bill Number
  1. W ?51,$P(BARHOLD,U,2) ; DOS
  1. W ?69,$J($P(BARHOLD,U),9,2) ; Write off Amount
  1. Q
  1. ; ********************************************************************
  1. ; ********************************************************************
  1. ;
  1. BILL ;EP
  1. ; sort/print by Bill
  1. S BAR("COL")="W !?3,""BILL"",?22,""PATIENT"",?51,""DOS"",?72,""AMOUNT"""
  1. D HDB^BARRPSRB
  1. I '+BARCNT D Q ; No data - quit
  1. . W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. . D EOP^BARUTL(0)
  1. ;
  1. S BARBILL=0
  1. F S BARBILL=$O(^XTMP("BAR-BEN",$J,BARBILL)) Q:BARBILL="" D BILLPRT Q:$G(BAR("F1"))
  1. D TOTAL
  1. Q
  1. ; ********************************************************************
  1. ;
  1. BILLPRT ; EP
  1. ; Print one line Bill summary
  1. S BARHOLD=$G(^XTMP("BAR-BEN",$J,BARBILL))
  1. I $Y>(IOSL-5) D HD^BARRPSRB Q:$G(BAR("F1"))
  1. W !,$E(BARBILL,1,18) ; Bill Name
  1. W ?22,$E($P(BARHOLD,U,3),1,25) ; Patient Name
  1. W ?51,$P(BARHOLD,U,2) ; DOS
  1. W ?69,$J($P(BARHOLD,U),9,2) ; Write off amount
  1. Q
  1. ; ********************************************************************
  1. ;
  1. TOTAL ;
  1. ; Write report totals
  1. X BAREQUAL
  1. W !,?10,"TOTAL BILLS: ",BARCNT
  1. W ?40,"TOTAL AMOUNT",?64,$J(BARTOT,14,2)
  1. Q
  1. ; ********************************************************************
  1. ;
  1. EXIT ; EP
  1. ; clear variables
  1. K ^XTMP("BAR-BEN",$J)
  1. Q