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

BARRNEG2.m

Go to the documentation of this file.
  1. BARRNEG2 ; IHS/SD/LSL - Print Large Balance Report ;08/20/2008
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**6,7**;OCT 26, 2005
  1. ;
  1. ; IHS/SD/SDR - V1.8 p6 - DD 4.1.3
  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. NEGB ;EP
  1. ; Print Negative Balance Report
  1. ;
  1. S BAR("PG")=0
  1. S BAR("COL")="W !,""BILL NUMBER"",?14,""DOS"",?22,""DT BILLED"""
  1. S BAR("COL")=BAR("COL")_",?32,""BILLED AMT"",?45,""PYMTS"",?56,""ADJS"",?68,""BALANCE"""
  1. S BARDASH="W ?32,""-----------------------------------------------"""
  1. S BAREQUAL="W ?32,""==============================================="""
  1. ;
  1. D HDB^BARRPSRB
  1. I '$D(^TMP($J,"BAR-NEG")) 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-NEG",BARL)) Q:BARL="" D LOC Q:$G(BAR("F1"))
  1. D TOTAL
  1. Q
  1. ; ********************************************************************
  1. LOC ; For each visit location
  1. W !,"VISIT LOCATION: ",BARL
  1. D ALLCAT
  1. D LOCTOT
  1. Q
  1. ALLCAT ;
  1. S BARALLC=""
  1. F S BARALLC=$O(^TMP($J,"BAR-NEG",BARL,BARALLC)) Q:BARALLC="" D
  1. .W !,"ALLOWANCE CATEGORY: ",BARALLC
  1. .I $D(BARY("SORT")) D CLINVIS
  1. .I '$D(BARY("SORT")) D STND
  1. .D ALLCTOT
  1. Q
  1. ; ********************************************************************
  1. CLINVIS ; For Clinic / Visit Type Sort
  1. S BAR2=""
  1. F S BAR2=$O(^TMP($J,"BAR-NEG",BARL,BARALLC,BAR2)) Q:BAR2="" D CVLOOP Q:$G(BAR("F1"))
  1. Q
  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-NEG",BARL,BARALLC,BAR2,BARACT)) Q:BARACT="" D CVACCT Q:$G(BAR("F1"))
  1. D CVTOT
  1. Q
  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-NEG",BARL,BARALLC,BAR2,BARACT,BAR3P)) Q:'+BAR3P D CVAPPR Q:$G(BAR("F1"))
  1. D CVACTOT
  1. Q
  1. ; ********************************************************************
  1. CVAPPR ;
  1. ; For each CV 3P Approval Date
  1. S BARBL=""
  1. F S BARBL=$O(^TMP($J,"BAR-NEG",BARL,BARALLC,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-NEG",BARL,BARALLC,BAR2,BARACT,BAR3P,BARBL))
  1. . D STNDLINE
  1. Q
  1. ; ********************************************************************
  1. CVACTOT ;
  1. ; CV AR Account Total
  1. W !
  1. X BARDASH
  1. W !?1,"AR Account Subtotal ($):"
  1. S BARHOLD=$G(^TMP($J,"BAR-NEG",BARL,BARALLC,BAR2,BARACT))
  1. D STNDTOT
  1. W !
  1. Q
  1. ; ********************************************************************
  1. CVTOT ;
  1. ; Clinic / Visit type total
  1. X BARDASH
  1. I BARY("SORT")="C" W !?5,"Clinic Subtotal ($):"
  1. E W !?1,"Visit Type Subtotal ($):"
  1. S BARHOLD=$G(^TMP($J,"BAR-NEG",BARL,BARALLC,BAR2))
  1. D STNDTOT
  1. W !
  1. Q
  1. ; ********************************************************************
  1. STND ;
  1. ; For not Clinic / Visit Type Sort
  1. S BARACT=""
  1. F S BARACT=$O(^TMP($J,"BAR-NEG",BARL,BARALLC,BARACT)) Q:BARACT="" D ACCT Q:$G(BAR("F1"))
  1. Q
  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-NEG",BARL,BARALLC,BARACT,BAR3P)) Q:'+BAR3P D APPR Q:$G(BAR("F1"))
  1. D ACTOT
  1. Q
  1. ; ********************************************************************
  1. APPR ;
  1. ; For each 3P Approval Date
  1. S BARBL=""
  1. F S BARBL=$O(^TMP($J,"BAR-NEG",BARL,BARALLC,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-NEG",BARL,BARALLC,BARACT,BAR3P,BARBL))
  1. . D STNDLINE
  1. Q
  1. ; ********************************************************************
  1. STNDLINE ;
  1. ; Write Data line
  1. W !,$P(BARBL,"-") ; AR Bill
  1. W ?12,$$SHDT^BARDUTL($P(BARHOLD,U)) ; DOS Begin
  1. W ?22,$$SHDT^BARDUTL(BAR3P) ; 3P Approval Date
  1. W ?31,$J($FN($P(BARHOLD,U,2),",",2),11) ; Billed Amount
  1. W ?43,$J($FN($P(BARHOLD,U,3),",",2),10) ; Summary of payments
  1. W ?54,$J($FN($P(BARHOLD,U,4),",",2),10) ; Summary of adjustments
  1. W ?68,$J($FN($P(BARHOLD,U,5),",",2),11) ; Balance on Bill
  1. Q
  1. ; ********************************************************************
  1. ACTOT ;
  1. ; AR Account Total
  1. W !
  1. X BARDASH
  1. W !?1,"AR Account Subtotal ($):"
  1. S BARHOLD=$G(^TMP($J,"BAR-NEG",BARL,BARALLC,BARACT))
  1. D STNDTOT
  1. W !
  1. Q
  1. ; ********************************************************************
  1. ALLCTOT ;
  1. ; Allowance Category total
  1. X BARDASH
  1. W !?2,"All. Cat. Subtotal ($):"
  1. S BARHOLD=$G(^TMP($J,"BAR-NEG",BARL,BARALLC))
  1. D STNDTOT
  1. W !
  1. Q
  1. ; ********************************************************************
  1. LOCTOT ;
  1. ; Visit Location total
  1. X BARDASH
  1. W !?2,"Visit Loc Subtotal ($):"
  1. S BARHOLD=$G(^TMP($J,"BAR-NEG",BARL))
  1. D STNDTOT
  1. W !
  1. Q
  1. ; ********************************************************************
  1. TOTAL ;
  1. ; Report total
  1. X BAREQUAL
  1. W !?7,"Report Total ($):"
  1. S BARHOLD=$G(^TMP($J,"BAR-NEG"))
  1. D STNDTOT
  1. Q
  1. ; ********************************************************************
  1. STNDTOT ;
  1. ; Write total lines
  1. W ?31,$J($FN($P(BARHOLD,U,2),",",2),11) ; Billed Amount
  1. W ?43,$J($FN($P(BARHOLD,U,3),",",2),10) ; Summary of pymts
  1. W ?54,$J($FN($P(BARHOLD,U,4),",",2),10) ; Summary of adjs
  1. W ?68,$J($FN($P(BARHOLD,U,5),",",2),11) ; Balance on Bill
  1. Q