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

BARRPRP2.m

Go to the documentation of this file.
  1. BARRPRP2 ; IHS/SD/LSL - Payment Summary Report by Collection Batch ;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/SD/LSL - 04/18/03 - V1.8
  1. ; Routine created
  1. Q
  1. ; *********************************************************************
  1. PRINT ;
  1. D SETHDR
  1. I '$D(^TMP($J,"BAR-PRP")) D Q ; No data - quit
  1. . D HDB^BARRPSRB
  1. . W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. D:+BARASK PRTCV
  1. D:'+BARASK PRTDET
  1. Q:$G(BAR("F1"))
  1. D PRTBATCH
  1. K ^TMP($J,"BAR-PRP")
  1. Q
  1. ; ********************************************************************
  1. ;
  1. SETHDR ;
  1. ; Build header array
  1. S BAR("PG")=0
  1. S BAR("OPT")="PRP"
  1. S BARY("DT")="T"
  1. S BAR("LVL")=0
  1. S BAR("HD",0)="PAYMENT SUMMARY REPORT"
  1. ;
  1. I $D(BARY("ITYP")) D
  1. . S BAR("LVL")=BAR("LVL")+1
  1. . S BAR("HD",BAR("LVL"))="FOR INSURER TYPE: "_BARY("ITYP","NM")
  1. I $D(BARY("COLPT")) D
  1. . S BAR("LVL")=BAR("LVL")+1
  1. . S BAR("HD",BAR("LVL"))="FOR COLLECTION POINT: "_BARY("COLPT","NM")
  1. ;
  1. S BAR("LVL")=BAR("LVL")+1
  1. S BAR("HD",BAR("LVL"))="BATCH DATES OF "
  1. S BAR("HD",BAR("LVL"))=BAR("HD",BAR("LVL"))_$$SDT^BARDUTL(BARSTART)
  1. S BAR("HD",BAR("LVL"))=BAR("HD",BAR("LVL"))_" TO "
  1. S BAR("HD",BAR("LVL"))=BAR("HD",BAR("LVL"))_$$SDT^BARDUTL(BAREND)
  1. ;
  1. S BAR("LVL")=BAR("LVL")+1
  1. S BAR("HD",BAR("LVL"))="BATCHED AMOUNT: $"_$J($FN($P($G(BARBTOT),U),",",2),15)
  1. ;
  1. S BAR("COL")="W !?2,""MONTH"",?16,""# BILLS"",?26,""BILLED AMOUNT"",?48,""PAYMENTS"""
  1. S BARDASH="W ?18,""----"",?24,""---------------"",?41,""---------------"""
  1. S BAREQUAL="W !?18,""===="",?24,""==============="",?41,""==============="""
  1. K BARTOT
  1. Q
  1. ; ********************************************************************
  1. ; ********************************************************************
  1. ;
  1. PRTCV ;
  1. ; Print Report sorted by Clinic/Visit Type
  1. D HDB^BARRPSRB
  1. S BARVIS=""
  1. F S BARVIS=$O(^TMP($J,"BAR-PRP",BARVIS)) Q:BARVIS="" D LOCCV Q:$G(BAR("F1"))
  1. D TOTAL
  1. Q
  1. ; ********************************************************************
  1. ;
  1. LOCCV ;
  1. ; For each visit location do (clinic/visit type)
  1. K BARLTOT
  1. W !,"VISIT LOCATION: ",BARVIS
  1. S BARS=""
  1. F S BARS=$O(^TMP($J,"BAR-PRP",BARVIS,BARS)) Q:BARS="" D SORTCV Q:$G(BAR("F1"))
  1. D LOCTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. SORTCV ;
  1. ; For each clinic/visit type do...
  1. K BARCVTOT
  1. W:BARY("SORT")="C" !?3,"CLINIC: ",BARS,!
  1. W:BARY("SORT")="V" !?3,"VISIT TYPE: ",BARS,!
  1. S BARDOS=0
  1. F S BARDOS=$O(^TMP($J,"BAR-PRP",BARVIS,BARS,BARDOS)) Q:'+BARDOS D Q:$G(BAR("F1"))
  1. . S BARHOLD=$G(^TMP($J,"BAR-PRP",BARVIS,BARS,BARDOS))
  1. . D DETAIL
  1. . D GETOTCV
  1. . D GETOT
  1. W !
  1. X BARDASH
  1. W:BARY("SORT")="C" !?5,"CLINIC TOTAL"
  1. W:BARY("SORT")="V" !?1,"VISIT TYPE TOTAL"
  1. W ?18,$J($P(BARCVTOT,U),4)
  1. W ?24,$J($FN($P(BARCVTOT,U,2),",",2),15)
  1. W ?41,$J($FN($P(BARCVTOT,U,3),",",2),15)
  1. W !
  1. Q
  1. ; ********************************************************************
  1. ;
  1. DETAIL ;
  1. ; Detail line
  1. I $Y>(IOSL-5) D HD^BARRPSRB Q:$G(BAR("F1"))
  1. S Y=BARDOS
  1. D DD^%DT
  1. W !?2,Y ; DOS (Month/year)
  1. W ?18,$J($P(BARHOLD,U),4) ; Bill count
  1. W ?24,$J($FN($P(BARHOLD,U,2),",",2),15) ; Billed Amount
  1. W ?41,$J($FN($P(BARHOLD,U,3),",",2),15) ; Paid Amount
  1. Q
  1. ; ********************************************************************
  1. ;
  1. GETOTCV ;
  1. ; Get clinic/visit subtotal
  1. S $P(BARCVTOT,U)=$P($G(BARCVTOT),U)+$P(BARHOLD,U)
  1. S $P(BARCVTOT,U,2)=$P($G(BARCVTOT),U,2)+$P(BARHOLD,U,2)
  1. S $P(BARCVTOT,U,3)=$P($G(BARCVTOT),U,3)+$P(BARHOLD,U,3)
  1. Q
  1. ; ********************************************************************
  1. ;
  1. GETOT ;
  1. ; Get visit location subtotal
  1. S $P(BARLTOT,U)=$P($G(BARLTOT),U)+$P(BARHOLD,U)
  1. S $P(BARLTOT,U,2)=$P($G(BARLTOT),U,2)+$P(BARHOLD,U,2)
  1. S $P(BARLTOT,U,3)=$P($G(BARLTOT),U,3)+$P(BARHOLD,U,3)
  1. ; Get report total
  1. S $P(BARTOT,U)=$P($G(BARTOT),U)+$P(BARHOLD,U)
  1. S $P(BARTOT,U,2)=$P($G(BARTOT),U,2)+$P(BARHOLD,U,2)
  1. S $P(BARTOT,U,3)=$P($G(BARTOT),U,3)+$P(BARHOLD,U,3)
  1. Q
  1. ; ********************************************************************
  1. ;
  1. LOCTOT ;
  1. I '+BARASK W !
  1. X BARDASH
  1. W !?2,"VISIT LOC TOTAL"
  1. W ?18,$J($P(BARLTOT,U),4)
  1. W ?24,$J($FN($P(BARLTOT,U,2),",",2),15)
  1. W ?41,$J($FN($P(BARLTOT,U,3),",",2),15)
  1. Q
  1. ; ********************************************************************
  1. ;
  1. TOTAL ;
  1. X BAREQUAL
  1. W !?5,"REPORT TOTAL"
  1. W ?18,$J($P(BARTOT,U),4)
  1. W ?24,$J($FN($P(BARTOT,U,2),",",2),15)
  1. W ?41,$J($FN($P(BARTOT,U,3),",",2),15)
  1. Q
  1. ; ********************************************************************
  1. ; ********************************************************************
  1. ;
  1. PRTDET ;
  1. ; Print Detail Report
  1. D HDB^BARRPSRB
  1. S BARVIS=""
  1. F S BARVIS=$O(^TMP($J,"BAR-PRP",BARVIS)) Q:BARVIS="" D LOC Q:$G(BAR("F1"))
  1. D TOTAL
  1. Q
  1. ; ********************************************************************
  1. ;
  1. LOC ;
  1. ; For each visit location do (clinic/visit type)
  1. K BARLTOT
  1. W !,"VISIT LOCATION: ",BARVIS,!
  1. S BARDOS=0
  1. F S BARDOS=$O(^TMP($J,"BAR-PRP",BARVIS,BARDOS)) Q:'+BARDOS D Q:$G(BAR("F1"))
  1. . S BARHOLD=$G(^TMP($J,"BAR-PRP",BARVIS,BARDOS))
  1. . D DETAIL
  1. . D GETOT
  1. D LOCTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. PRTBATCH ;
  1. ; Print batch listing at end of report
  1. D PAZ^BARRUTL
  1. Q:$G(BAR("F1"))
  1. S BAREQUAL="W !?31,""==============="",?47,""==============="",?63,""==============="""
  1. S BATHDR=" ** BATCH LISTING **"
  1. S BARLVL=$O(BAR("HD",99),-1)
  1. S BAR("HD",BARLVL)=BAR("HD",BARLVL)_BATHDR
  1. S BAR("COL")="W !,""COLLECTION BATCHES"",?32,""BATCHED AMOUNT"",?49,""POSTED AMOUNT"",?63,""UNPOSTED AMOUNT"""
  1. D HDB^BARRPSRB
  1. S BARBNAME=""
  1. F S BARBNAME=$O(BARB(BARBNAME)) Q:BARBNAME="" D BATCHDET Q:$G(BAR("F1"))
  1. X BAREQUAL
  1. W !?20,"TOTALS"
  1. W ?31,$J($FN($P(BARBTOT,U),",",2),15)
  1. W ?47,$J($FN($P(BARBTOT,U,2),",",2),15)
  1. W ?63,$J($FN($P(BARBTOT,U,3),",",2),15)
  1. Q
  1. ; ********************************************************************
  1. ;
  1. BATCHDET ;
  1. ; Write batch detail lines
  1. S BARHOLD=$G(BARB(BARBNAME))
  1. W !,$E(BARBNAME,1,30)
  1. W ?31,$J($FN($P(BARHOLD,U),",",2),15)
  1. W ?47,$J($FN($P(BARHOLD,U,2),",",2),15)
  1. W ?63,$J($FN($P(BARHOLD,U,3),",",2),15)
  1. Q