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

BARRAMR2.m

Go to the documentation of this file.
  1. BARRAMR2 ; IHS/SD/LSL - Aging management report ;08/20/2008
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**7,23,24**;OCT 26, 2005;Build 69
  1. ; MODIFIED XTMP FILE NAME TO TMP TO MEET SAC REQUIREMENTS;MRS:BAR*1.8*7 IM29892
  1. ; IHS/ASDS/LSL - 09/26/00 - Routine created
  1. ; Detail print of Aging management report
  1. ;
  1. ; IHS/SD/LSL - 07/08/02 - V1.6 Patch 2
  1. ; Modified to print missing clinics and visit types
  1. ;
  1. ; IHS/SD/POTT HEAT102270 IGNORE LINE ITEMS WITH BALANCES=0 - BAR1.8*23
  1. ; IHS/SD/POTT HEAT151319 APPLY HEAT 102270 CHANGE ONLY TO AGING REPORT [2/10/2014] - BAR1.8*24
  1. Q
  1. ; *********************************************************************
  1. ;
  1. DETAIL ; EP
  1. ; Print Detail
  1. S BAR("COL")="W !,""Patient"",?22,""Bill Number"",?42,""DOS"",?51,""Amount Billed"",?68,""Balance"""
  1. S:BAR("HD",0)["Bills" BAR("HD",0)="DETAIL Bills"_$P(BAR("HD",0),"Bills",2,99)
  1. S:BAR("HD",0)["Aging" BAR("HD",0)="DETAIL Aging"_$P(BAR("HD",0),"Aging",2,99)
  1. D HDB ; Page and column header
  1. S (BAR("CNT1"),BAR("CNT2"),BAR("CNT3"),BAR("CNT"))=0
  1. S (BAR("BTOT1"),BAR("BTOT2"),BAR("BTOT3"),BAR("BTOT"))=0
  1. S (BAR("ATOT1"),BAR("ATOT2"),BAR("ATOT3"),BAR("ATOT"))=0
  1. S BAR("ACCT")="" ; Initialize account (3)
  1. S BAR("L")="" ; Initialize location (1)
  1. S BAR("SORT")="" ; Initialize sort (2)
  1. S BAR("Z")="TMP("_$J_",""BAR-AMR"""
  1. S BAR="^"_BAR("Z")_")"
  1. I '$D(@BAR) D Q ; No data, message, quit
  1. . W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. . D EOP^BARUTL(0)
  1. ; traverse the temp global...
  1. F S BAR=$Q(@BAR) Q:BAR'[BAR("Z") D Q:$G(BAR("F1"))
  1. . I $Y>(IOSL-5) D HD Q:$G(BAR("F1"))
  1. . S BAR("TXT")=$P($P(BAR,",",3,99),"""",2)
  1. . S BAR("B")=$G(^BARBL(DUZ(2),$P(BAR("TXT"),U,5),0))
  1. . Q:BAR("B")=""
  1. . S BAR("B1")=$G(^BARBL(DUZ(2),$P(BAR("TXT"),U,5),1))
  1. . S BAR("AMT")=$P(BAR("B"),U,13) ; Bill amount
  1. . S BAR("BAL")=$P(BAR("B"),U,15) ; Remaining balance
  1. . S BAR("DOS")=$P(BAR("B1"),U,2) ; DOS begin
  1. . S Y=BAR("DOS") D DD^%DT ; External format
  1. . S BAR("DOS")=Y
  1. . ;;;I +BAR("BAL")=0 QUIT ; - BAR1.8*23
  1. . I $G(BAR("HD",0))["Aging" I +BAR("BAL")=0 QUIT ;P.OTT HEAT151319 - BAR1.8*24
  1. . I BAR("L")'=$P(BAR("TXT"),U) D
  1. . . Q:$G(BAR("F1"))
  1. . . I BAR("L")]"" D
  1. . . . Q:$G(BAR("F1"))
  1. . . . D SUB3,SUB2,SUB
  1. . . . W !
  1. . . W !?5,"Visit Location: ",$P(BAR("TXT"),U)
  1. . . S (BAR("SORT"),BAR("ACCT"))=""
  1. . S BAR("L")=$P(BAR("TXT"),U)
  1. . I BAR("SORT")'=$P(BAR("TXT"),U,2) D
  1. . . I BAR("SORT")]"" D
  1. . . . Q:$G(BAR("F1"))
  1. . . . D SUB3,SUB2
  1. . . . W !
  1. . . I BARY("SORT")="C" D
  1. . . . W !?10," Clinic: "
  1. . . . I $P(BAR("TXT"),U,2)=99999 W "NO CLINIC"
  1. . . . E W $P(^DIC(40.7,$P(BAR("TXT"),U,2),0),U)
  1. . . E D
  1. . . . W !?10,"Visit Type: "
  1. . . . I $P(BAR("TXT"),U,2)=99999 W "NO VISIT TYPE"
  1. . . . E W $P(^ABMDVTYP($P(BAR("TXT"),U,2),0),U)
  1. . . S BAR("ACCT")=""
  1. . S BAR("SORT")=$P(BAR("TXT"),U,2)
  1. . I BAR("ACCT")'=$P(BAR("TXT"),U,3) D
  1. . . I BAR("ACCT")]"" D
  1. . . . Q:$G(BAR("F1"))
  1. . . . D SUB3
  1. . . . W !
  1. . . W !?15,"A/R Account: ",$P(BAR("TXT"),U,3),!
  1. . S BAR("ACCT")=$P(BAR("TXT"),U,3)
  1. . W !,$E($P(BAR("TXT"),U,4),1,18) ; Patient name
  1. . W ?20,$P(BAR("B"),U) ; A/R Bill
  1. . W ?38,BAR("DOS") ; DOS Begin
  1. . W ?51,$J($FN($P(BAR("B"),U,13),",",2),13) ; Bill Amount
  1. . W ?65,$J($FN($P(BAR("B"),U,15),",",2),13) ; Remaining Balance
  1. . S BAR("CNT")=$G(BAR("CNT"))+1 ; Total count
  1. . S BAR("CNT1")=$G(BAR("CNT1"))+1 ; Count per location
  1. . S BAR("CNT2")=$G(BAR("CNT2"))+1 ; Count per sort
  1. . S BAR("CNT3")=$G(BAR("CNT3"))+1 ; Count per acct
  1. . S BAR("ATOT")=$G(BAR("ATOT"))+$P(BAR("B"),U,13) ; Amount tot
  1. . S BAR("ATOT1")=$G(BAR("ATOT1"))+$P(BAR("B"),U,13) ; Amount per loc
  1. . S BAR("ATOT2")=$G(BAR("ATOT2"))+$P(BAR("B"),U,13) ; Amount per sort
  1. . S BAR("ATOT3")=$G(BAR("ATOT3"))+$P(BAR("B"),U,13) ; Amount per acct
  1. . S BAR("BTOT")=$G(BAR("BTOT"))+$P(BAR("B"),U,15) ; Amount tot
  1. . S BAR("BTOT1")=$G(BAR("BTOT1"))+$P(BAR("B"),U,15) ; Amount per loc
  1. . S BAR("BTOT2")=$G(BAR("BTOT2"))+$P(BAR("B"),U,15) ; Amount per sort
  1. . S BAR("BTOT3")=$G(BAR("BTOT3"))+$P(BAR("B"),U,15) ; Amount per acct
  1. Q:$G(BAR("F1"))
  1. D SUB3,SUB2,SUB,TOT
  1. Q
  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(132)):132,1:80))=""
  1. W !,BAR("DASH")
  1. Q
  1. ; *********************************************************************
  1. ;
  1. SUB ;
  1. Q:'BAR("CNT1")
  1. W !?51,"-------------",?65,"-------------"
  1. W !,"Visit location"
  1. W ?20,"Count: ",$J(BAR("CNT1"),4)
  1. W ?40,"Total:"
  1. W ?51,$J($FN(BAR("ATOT1"),",",2),13)
  1. W ?65,$J($FN(BAR("BTOT1"),",",2),13)
  1. S (BAR("CNT1"),BAR("ATOT1"),BAR("BTOT1"))=0
  1. Q
  1. ; *********************************************************************
  1. ;
  1. SUB2 ;
  1. Q:'BAR("CNT2")
  1. W !?51,"-------------",?65,"-------------"
  1. I BARY("SORT")="C" W !,"Clinic Type"
  1. E W !,"Visit Type"
  1. W ?20,"Count: ",$J(BAR("CNT2"),4)
  1. W ?40,"Total:"
  1. W ?51,$J($FN(BAR("ATOT2"),",",2),13)
  1. W ?65,$J($FN(BAR("BTOT2"),",",2),13)
  1. S (BAR("CNT2"),BAR("ATOT2"),BAR("BTOT2"))=0
  1. Q
  1. ; *********************************************************************
  1. ;
  1. SUB3 ;
  1. Q:'BAR("CNT3")
  1. W !?51,"-------------",?65,"-------------"
  1. W !,"A/R Account"
  1. W ?20,"Count: ",$J(BAR("CNT3"),4)
  1. W ?40,"Total:"
  1. W ?51,$J($FN(BAR("ATOT3"),",",2),13)
  1. W ?65,$J($FN(BAR("BTOT3"),",",2),13)
  1. S (BAR("CNT3"),BAR("ATOT3"),BAR("BTOT3"))=0
  1. Q
  1. ; *********************************************************************
  1. ;
  1. TOT ;
  1. Q:'BAR("CNT")
  1. W !?51,"=============",?65,"============="
  1. W !,"Report Totals"
  1. W ?20,"Count: ",$J(BAR("CNT"),4)
  1. W ?40,"Total:"
  1. W ?51,$J($FN(BAR("ATOT"),",",2),13)
  1. W ?65,$J($FN(BAR("BTOT"),",",2),13)
  1. S (BAR("CNT"),BAR("ATOT"),BAR("BTOT"))=0
  1. Q