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

BARRLBL.m

Go to the documentation of this file.
  1. BARRLBL ; IHS/SD/LSL - Large and Small Balance Reports ;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/04/2003 - Version 1.8
  1. ; Routine created. New reports
  1. ;
  1. ; ********************************************************************
  1. Q
  1. ;
  1. EN ; EP
  1. K BARY,BAR
  1. S BARP("RTN")="BARRLBL"
  1. S BAR("PRIVACY")=1 ; Privacy act applies
  1. D:'$D(BARUSR) INIT^BARUTL ; Set A/R basic variable
  1. S BAR("LOC")="VISIT" ; Always visit location
  1. D ^BARRSEL ; Select exclusion parameters
  1. I $D(BARY("ALL")) S BARY("ALL")=$$CONVERT^BARRSL2(BARY("ALL"))
  1. I $D(DTOUT)!$D(DUOUT)!$D(DIROUT) Q
  1. ; Use OBAL x-ref if not specific patient or account
  1. I '$D(BARY("ACCT")),'$D(BARY("PAT")) S BARY("STCR")=1
  1. S BAR("HD",0)=BARMENU
  1. I BAR("OPT")="LBL" S BAR("HD",0)=BAR("HD",0)_" over $"_$FN(BARY("LBL"),",",2)
  1. I BAR("OPT")="SBL" S BAR("HD",0)=BAR("HD",0)_" under $"_$FN(BARY("SBL"),",",2)
  1. D ^BARRHD ; Report header
  1. S BARQ("RC")="COMPUTE^BARRLBL" ; Compute routine
  1. S BARQ("RP")="PRINT^BARRLBL" ; Print routine
  1. S BARQ("NS")="BAR" ; Namespace for variables
  1. S BARQ("RX")="POUT^BARRUTL" ; Clean-up routine
  1. D ^BARDBQUE ; Double queuing
  1. D PAZ^BARRUTL
  1. Q
  1. ; ********************************************************************
  1. ;
  1. COMPUTE ;
  1. ;
  1. S BAR("SUBR")="BAR-LBL"
  1. K ^TMP($J,"BAR-LBL")
  1. S BARP("RTN")="BARRLBL" ; Routine used to get data if no parameters
  1. S BARDUZ2=DUZ(2)
  1. S DUZ(2)=0
  1. F S DUZ(2)=$O(^BARBL(DUZ(2))) Q:'DUZ(2) D LOOP^BARRUTL
  1. S DUZ(2)=BARDUZ2
  1. Q
  1. ; *********************************************************************
  1. ;
  1. DATA ;
  1. S BARBAL=$$GET1^DIQ(90050.01,BAR,15)
  1. I BAR("OPT")="SBL",BARBAL<0 Q
  1. I BAR("OPT")="SBL",BARBAL>BARY("SBL") Q
  1. I BAR("OPT")="LBL",BARBAL<BARY("LBL") Q
  1. S BARP("HIT")=0
  1. D BILL^BARRCHK
  1. Q:'BARP("HIT")
  1. S BARLOC=""
  1. S:BAR("L")]"" BARLOC=$$GET1^DIQ(4,BAR("L"),.01)
  1. S:BARLOC="" BARLOC="No Visit Location" ; Visit Location Name
  1. S BARACCT=""
  1. S:BAR("I")]"" BARACCT=$$GET1^DIQ(90050.02,BAR("I"),.01)
  1. S:BARACCT="" BARACCT="No A/R Account" ; A/R Account Name
  1. S:'+BAR("A") BAR("A")=9999999
  1. I $G(BARY("SORT"))="C" D
  1. . S BAR2=BAR("C")
  1. . I BAR2]"",BAR2'=99999 S BAR2=$$GET1^DIQ(40.7,BAR2,.01)
  1. . S:BAR2=""!(BAR2=99999) BAR2="No Clinic Type"
  1. I $G(BARY("SORT"))="V" D
  1. . S BAR2=BAR("V")
  1. . I BAR2]"",BAR2'=99999 S BAR2=$$GET1^DIQ(9002274.8,BAR2,.01)
  1. . S:BAR2=""!(BAR2=99999) BAR2="No Visit Type"
  1. S BARBILL=$P(BAR(0),U,13)
  1. S BARBL=$P(BAR(0),U)
  1. S BARAGE=$$GET1^DIQ(90050.01,BAR,7.2)
  1. S BARDTB=$$FMDIFF^XLFDT(DT,BAR("D"))
  1. ;
  1. I $D(BARY("SORT")) D CLINVIS
  1. E D ACCT
  1. ;
  1. S BARHOLD=$G(^TMP($J,"BAR-LBL",BARLOC))
  1. S $P(^TMP($J,"BAR-LBL",BARLOC),U)=$P(BARHOLD,U)+BARDTB
  1. S $P(^TMP($J,"BAR-LBL",BARLOC),U,2)=$P(BARHOLD,U,2)+BARBILL
  1. S $P(^TMP($J,"BAR-LBL",BARLOC),U,3)=$P(BARHOLD,U,3)+BARBAL
  1. S $P(^TMP($J,"BAR-LBL",BARLOC),U,4)=$P(BARHOLD,U,4)+BARAGE
  1. S $P(^TMP($J,"BAR-LBL",BARLOC),U,5)=$P(BARHOLD,U,5)+1
  1. ;
  1. S BARHOLD=$G(^TMP($J,"BAR-LBL"))
  1. S $P(^TMP($J,"BAR-LBL"),U)=$P(BARHOLD,U)+BARDTB
  1. S $P(^TMP($J,"BAR-LBL"),U,2)=$P(BARHOLD,U,2)+BARBILL
  1. S $P(^TMP($J,"BAR-LBL"),U,3)=$P(BARHOLD,U,3)+BARBAL
  1. S $P(^TMP($J,"BAR-LBL"),U,4)=$P(BARHOLD,U,4)+BARAGE
  1. S $P(^TMP($J,"BAR-LBL"),U,5)=$P(BARHOLD,U,5)+1
  1. Q
  1. ; ********************************************************************
  1. ;
  1. ACCT ;
  1. ; Store data by AR Account
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BARACCT,BAR("A"),BARBL),U)=BAR("D")
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BARACCT,BAR("A"),BARBL),U,2)=BARDTB
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BARACCT,BAR("A"),BARBL),U,3)=BARBILL
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BARACCT,BAR("A"),BARBL),U,4)=BARBAL
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BARACCT,BAR("A"),BARBL),U,5)=BARAGE
  1. ;
  1. S BARHOLD=$G(^TMP($J,"BAR-LBL",BARLOC,BARACCT))
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BARACCT),U)=$P(BARHOLD,U)+BARDTB
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BARACCT),U,2)=$P(BARHOLD,U,2)+BARBILL
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BARACCT),U,3)=$P(BARHOLD,U,3)+BARBAL
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BARACCT),U,4)=$P(BARHOLD,U,4)+BARAGE
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BARACCT),U,5)=$P(BARHOLD,U,5)+1
  1. Q
  1. ; ********************************************************************
  1. ;
  1. CLINVIS ;
  1. ; Store data by Clinic/Visit Type
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2,BARACCT,BAR("A"),BARBL),U)=BAR("D")
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2,BARACCT,BAR("A"),BARBL),U,2)=BARDTB
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2,BARACCT,BAR("A"),BARBL),U,3)=BARBILL
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2,BARACCT,BAR("A"),BARBL),U,4)=BARBAL
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2,BARACCT,BAR("A"),BARBL),U,5)=BARAGE
  1. ;
  1. S BARHOLD=$G(^TMP($J,"BAR-LBL",BARLOC,BAR2,BARACCT))
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2,BARACCT),U)=$P(BARHOLD,U)+BARDTB
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2,BARACCT),U,2)=$P(BARHOLD,U,2)+BARBILL
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2,BARACCT),U,3)=$P(BARHOLD,U,3)+BARBAL
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2,BARACCT),U,4)=$P(BARHOLD,U,4)+BARAGE
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2,BARACCT),U,5)=$P(BARHOLD,U,5)+1
  1. ;
  1. S BARHOLD=$G(^TMP($J,"BAR-LBL",BARLOC,BAR2))
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2),U)=$P(BARHOLD,U)+BARDTB
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2),U,2)=$P(BARHOLD,U,2)+BARBILL
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2),U,3)=$P(BARHOLD,U,3)+BARBAL
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2),U,4)=$P(BARHOLD,U,4)+BARAGE
  1. S $P(^TMP($J,"BAR-LBL",BARLOC,BAR2),U,5)=$P(BARHOLD,U,5)+1
  1. Q
  1. ; ********************************************************************
  1. ; ********************************************************************
  1. ;
  1. PRINT ;
  1. ; Print reports
  1. K BAR2,BARHOLD,BARBILL,BAR3P,BARACCT,BARLOC,BARDTB,BAR("D"),BAR("A")
  1. K BARBAL,BARAGE
  1. I BAR("OPT")="LBL" D LARGE^BARRLBL2 Q
  1. I BAR("OPT")="SBL" D SMALL^BARRLBL3 Q
  1. Q