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

BARRLBL3.m

Go to the documentation of this file.
  1. BARRLBL3 ; IHS/SD/LSL - Print Small Balance Report ;08/20/2008
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**7**;OCT 26, 2005
  1. ;
  1. ; IHS/SD/LSL - 04/04/2003 - Version 1.8
  1. ; Routine created. New reports
  1. ; MODIFIED XTMP FILE NAME TO TMP TO MEET SAC REQUIREMENTS;MRS:BAR*1.8*7 IM29892
  1. ; ********************************************************************
  1. Q
  1. ;
  1. SMALL ;EP
  1. ; Print Small Balance Report
  1. ;
  1. S BAR("PG")=0
  1. S BAR("COL")="W !,""BILL NUMBER"",?23,""DOS"",?32,""DATE BILLED"""
  1. S BAR("COL")=BAR("COL")_",?48,""BILLED AMT"",?66,""BALANCE"",?75,""AGE"""
  1. S BARDASH="W ?45,""------------- ------------- ----"""
  1. S BAREQUAL="W ?45,""============= ============= ===="""
  1. ;
  1. D HDB^BARRPSRB
  1. I '$D(^TMP($J,"BAR-LBL")) D Q
  1. . W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. . D EOP^BARUTL(0)
  1. ;
  1. S BARL=""
  1. F S BARL=$O(^TMP($J,"BAR-LBL",BARL)) Q:BARL="" D LOC Q:$G(BAR("F1"))
  1. D TOTAL
  1. Q
  1. ; ********************************************************************
  1. ;
  1. LOC ;
  1. ; For each visit location
  1. W !,"VISIT LOCATION: ",BARL
  1. I $D(BARY("SORT")) D CLINVIS
  1. I '$D(BARY("SORT")) D STND
  1. D LOCTOT
  1. Q
  1. ; ********************************************************************
  1. ; ********************************************************************
  1. ;
  1. CLINVIS ;
  1. ; For Clinic / Visit Type Sort
  1. S BAR2=""
  1. F S BAR2=$O(^TMP($J,"BAR-LBL",BARL,BAR2)) Q:BAR2="" D CVLOOP Q:$G(BAR("F1"))
  1. Q
  1. ; ********************************************************************
  1. ;
  1. CVLOOP ;
  1. ; For Each Clinic / Visit type
  1. I BARY("SORT")="C" W !?3,"CLINIC: ",BAR2
  1. E W !?3,"VISIT TYPE: ",BAR2
  1. S BARACT=""
  1. F S BARACT=$O(^TMP($J,"BAR-LBL",BARL,BAR2,BARACT)) Q:BARACT="" D CVACCT Q:$G(BAR("F1"))
  1. D CVTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. CVACCT ;
  1. ; For Each CV AR Account
  1. W !?6,"A/R ACCOUNT: ",BARACT,!
  1. S BAR3P=0
  1. F S BAR3P=$O(^TMP($J,"BAR-LBL",BARL,BAR2,BARACT,BAR3P)) Q:'+BAR3P D CVAPPR Q:$G(BAR("F1"))
  1. D CVACTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. CVAPPR ;
  1. ; For each CV 3P Approval Date
  1. S BARBL=""
  1. F S BARBL=$O(^TMP($J,"BAR-LBL",BARL,BAR2,BARACT,BAR3P,BARBL)) Q:BARBL="" D Q:$G(BAR("F1"))
  1. . I $Y>(IOSL-5) D HD^BARRPSRB Q:$G(BAR("F1"))
  1. . S BARHOLD=$G(^TMP($J,"BAR-LBL",BARL,BAR2,BARACT,BAR3P,BARBL))
  1. . D STNDLINE
  1. Q
  1. ; ********************************************************************
  1. ;
  1. CVACTOT ;
  1. ; CV AR Account Total
  1. W !
  1. X BARDASH
  1. W !?6,"AR Account Subotal ($) and Average (#):"
  1. S BARHOLD=$G(^TMP($J,"BAR-LBL",BARL,BAR2,BARACT))
  1. D STNDTOT
  1. W !
  1. Q
  1. ; ********************************************************************
  1. ;
  1. CVTOT ;
  1. ; Clinic / Visit type total
  1. X BARDASH
  1. I BARY("SORT")="C" W !?9,"Clinic Subtotal ($) and Average (#):"
  1. E W !?5,"Visit Type Subtotal ($) and Average (#):"
  1. S BARHOLD=$G(^TMP($J,"BAR-LBL",BARL,BAR2))
  1. D STNDTOT
  1. W !
  1. Q
  1. ; ********************************************************************
  1. ; ********************************************************************
  1. STND ;
  1. ; For not Clinic / Visit Type Sort
  1. S BARACT=""
  1. F S BARACT=$O(^TMP($J,"BAR-LBL",BARL,BARACT)) Q:BARACT="" D ACCT Q:$G(BAR("F1"))
  1. Q
  1. ; ********************************************************************
  1. ;
  1. ACCT ;
  1. ; For each AR Account
  1. W !?3,"A/R ACCOUNT: ",BARACT,!
  1. S BAR3P=0
  1. F S BAR3P=$O(^TMP($J,"BAR-LBL",BARL,BARACT,BAR3P)) Q:'+BAR3P D APPR Q:$G(BAR("F1"))
  1. D ACTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. APPR ;
  1. ; For each 3P Approval Date
  1. S BARBL=""
  1. F S BARBL=$O(^TMP($J,"BAR-LBL",BARL,BARACT,BAR3P,BARBL)) Q:BARBL="" D Q:$G(BAR("F1"))
  1. . I $Y>(IOSL-5) D HD^BARRPSRB Q:$G(BAR("F1"))
  1. . S BARHOLD=$G(^TMP($J,"BAR-LBL",BARL,BARACT,BAR3P,BARBL))
  1. . D STNDLINE
  1. Q
  1. ; ********************************************************************
  1. ;
  1. STNDLINE ;
  1. ; Write Data line
  1. W !,$E(BARBL,1,18) ; AR Bill
  1. W ?20,$$SDT^BARDUTL($P(BARHOLD,U)) ; DOS Begin
  1. W ?33,$$SDT^BARDUTL(BAR3P) ; 3P Approval Date
  1. W ?45,$J($FN($P(BARHOLD,U,3),",",2),13) ; Billed Amount
  1. W ?60,$J($FN($P(BARHOLD,U,4),",",2),13) ; Balance on Bill
  1. W ?75,$J($P(BARHOLD,U,5),4) ; Days since 3P Approved
  1. Q
  1. ; ********************************************************************
  1. ;
  1. ACTOT ;
  1. ; AR Account Total
  1. W !
  1. X BARDASH
  1. W !?6,"AR Account Subotal ($) and Average (#):"
  1. S BARHOLD=$G(^TMP($J,"BAR-LBL",BARL,BARACT))
  1. D STNDTOT
  1. W !
  1. Q
  1. ; ********************************************************************
  1. ;
  1. LOCTOT ;
  1. ; Visit Location total
  1. X BARDASH
  1. W !?7,"Visit Loc Subotal ($) and Average (#):"
  1. S BARHOLD=$G(^TMP($J,"BAR-LBL",BARL))
  1. D STNDTOT
  1. W !
  1. Q
  1. ; ********************************************************************
  1. ;
  1. TOTAL ;
  1. ; Report total
  1. X BAREQUAL
  1. W !?12,"Report Total ($) and Average (#):"
  1. S BARHOLD=$G(^TMP($J,"BAR-LBL"))
  1. D STNDTOT
  1. Q
  1. ; ********************************************************************
  1. ;
  1. STNDTOT ;
  1. ; Write total lines
  1. W ?45,$J($FN($P(BARHOLD,U,2),",",2),13) ; Billed Amount
  1. W ?60,$J($FN($P(BARHOLD,U,3),",",2),13) ; Balance on Bill
  1. W ?75,$J(($P(BARHOLD,U,4)/$P(BARHOLD,U,5)),4,0) ; Days since 3P Approve
  1. Q