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

BARRCXL.m

Go to the documentation of this file.
  1. BARRCXL ; IHS/SD/LSL - Cancelled Bills Report - Driver ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**19**;OCT 26, 2005
  1. ;
  1. ; IHS/SD/PKD - 05/07/10 - BAR*1.8.19
  1. ; Mirror questions asked in 3rd Party Billing CXL report
  1. ; IHS/SD/LSL - 03/06/03 - Routine created
  1. ;
  1. Q
  1. ; *********************************************************************
  1. ;
  1. EN ; EP
  1. K BARY,BAR,BARP
  1. S BARP("RTN")="BARRCXL" ; Default to Visit
  1. S BAR("PRIVACY")=1 ; Privacy act applies
  1. D:'$D(BARUSR) INIT^BARUTL ; Set A/R basic variable
  1. S BAR("LOC")="VISIT" ; Location always VISIT
  1. ; BEGIN BAR*1.8*19 - chgs to questions asked in Cancellation rpt. PKD 5/07/10
  1. ;D ASKQUES ; Ask user questions
  1. D ASKAGAIN^BARRSEL
  1. Q:$D(DTOUT)!$D(DUOUT)
  1. ; date range no longer required for ALL bills BAR*1.8*19
  1. ; I '+BARY("OBAL"),'$D(BARY("DT",1)) Q
  1. D PROCEED ; Ask proceed
  1. Q:'+BAROK ; User chose not to continue
  1. D SETHDR
  1. S BARQ("RC")="COMPUTE^BARRCXL1" ; Compute routine
  1. S BARQ("RP")="PRINT^BARRCXL2" ; 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. I $G(X)'="^" D PAZ^BARRUTL ; pause if not ^
  1. Q
  1. ; ********************************************************************
  1. ;
  1. ;ASKQUES ; No longer in use: BAR/SD/PKD 1.8*19 5/10/10
  1. ; Ask user questions
  1. D MSG^BARRSEL ; Message about BILL/VIS loc
  1. D LOC^BARRSL1 ; Ask loc - return BARY("LOC")
  1. Q:$D(DTOUT)!($D(DUOUT)) ; Q if time or "^" out
  1. W:'$D(BARY("LOC")) "ALL"
  1. D OBAL ; Ask open balance only
  1. Q:($D(DUOUT)!$D(DTOUT))
  1. I '+BARY("OBAL") D ASKDATE Q:'$D(BARY("DT",1))
  1. D RTYPE
  1. Q
  1. ; ********************************************************************
  1. ;
  1. OBAL ;
  1. ; Ask bills w/open balance only
  1. W !
  1. K DIR
  1. S DIR("A")="Include ONLY bills with an open balance"
  1. S DIR("B")="YES"
  1. S DIR(0)="Y"
  1. D ^DIR
  1. K DIR
  1. Q:($D(DUOUT)!$D(DTOUT))
  1. S BARY("OBAL")=Y ; 1=YES ; 0=NO
  1. I +BARY("OBAL") D
  1. . W ?51,"ONLY BILLS W/OPEN BALANCE",!
  1. . S BARY("STCR")=1 ; Needed to loop OBAL x-ref in BARRUTL
  1. E W ?51,"ALL BILLS"
  1. Q
  1. ; ********************************************************************
  1. ;
  1. ;ASKDATE ;No longer in use: BAR/SD/PKD 1.8*19 5/10/10
  1. ; Ask type of date and date range
  1. K DIR
  1. S DIR(0)="SO^1:Approval Date;2:Visit Date"
  1. S DIR("A")="Select TYPE of DATE Desired"
  1. S DIR("B")=1
  1. D ^DIR
  1. Q:$D(DUOUT)!$D(DTOUT)
  1. S BARTYP=Y
  1. ;
  1. BEGDATE ; EP
  1. ; Ask date range
  1. W !
  1. K BARY("DT")
  1. K DIR
  1. S BARY("DT")=$S(BARTYP=1:"A",1:"V")
  1. S BARDTYP=$S(BARTYP=1:"APPROVAL",1:"VISIT")_" Date"
  1. S DIR(0)="DOE"
  1. S DIR("A")="Enter beginning "_BARDTYP
  1. D ^DIR
  1. G ASKDATE:$D(DIRUT)
  1. S BARY("DT",1)=Y
  1. W ?45,$$SDT^BARDUTL(BARY("DT",1))
  1. ;
  1. W !
  1. K DIR
  1. S DIR(0)="DOE"
  1. S DIR("A")=" Enter ending "_BARDTYP
  1. D ^DIR
  1. K DIR
  1. G BEGDATE:$D(DIRUT)
  1. S BARY("DT",2)=Y
  1. W ?45,$$SDT^BARDUTL(BARY("DT",2))
  1. I BARY("DT",1)>BARY("DT",2) D G BEGDATE
  1. . W !!,*7,$$EN^BARVDF("RVN")
  1. . W "INPUT ERROR:"
  1. . W $$EN^BARVDF("RVF")
  1. . W " Start Date is Greater than the End Date, TRY AGAIN!"
  1. Q
  1. ; ********************************************************************
  1. ;
  1. RTYPE ;
  1. ; Ask Report Type
  1. K DIR,BARY("RTYP")
  1. S DIR(0)="SO^1:Detail;2:Summary"
  1. S DIR("A")="Select TYPE of REPORT desired"
  1. S DIR("B")=1
  1. D ^DIR
  1. K DIR
  1. Q:$D(DUOUT)!$D(DTOUT)
  1. S BARY("RTYP")=Y
  1. S BARY("RTYP","NM")=Y(0)
  1. Q
  1. ; ********************************************************************
  1. ;
  1. PROCEED ;
  1. ; Tell user what they selected and ask proceed
  1. K DIR,BARHDR1,BARHDR2
  1. S BARHDR1="For "_$S('$D(BARY("LOC")):"ALL",1:BARY("LOC","NM"))_" Visit Locations"
  1. I +BARY("OBAL") D
  1. . S BARHDR2="containing ONLY bills with an Open Balance."
  1. E S BARHDR2="" I $D(BARY("DT")) D
  1. . S BARHDR2="containing ALL bills within " ;_BARDTYP_"s of "
  1. . S BARHDR2=BARHDR2_$$SDT^BARDUTL(BARY("DT",1))_" to "_$$SDT^BARDUTL(BARY("DT",2))
  1. W !!,$$EN^BARVDF("RVN"),"NOTE:",$$EN^BARVDF("RVF")
  1. W ?7,"You have selected to produce a "_BARY("RTYP","NM")_" Cancelled Bills Report"
  1. W !?7,BARHDR1
  1. W !?7,BARHDR2,!
  1. S DIR(0)="Y"
  1. S DIR("A")="Proceed"
  1. S DIR("B")="YES"
  1. D ^DIR
  1. I '+Y S BAROK=0
  1. E S BAROK=1
  1. Q
  1. ; ********************************************************************
  1. ;
  1. SETHDR ;
  1. ; Set header Array
  1. S BAR("HD",0)=""
  1. S BAR("TXT")=BARY("RTYP","NM")_" Cancelled Bills Report"
  1. S BAR("LVL")=0
  1. S BAR("CONJ")=""
  1. D CHK^BARRHD ; Line 1 of Report header
  1. F I=1:1:2 D
  1. . S BAR("LVL")=BAR("LVL")+1
  1. . S BAR("HD",BAR("LVL"))=""
  1. . S BAR("TXT")=@("BARHDR"_I)
  1. . D CHK^BARRHD ; Line 2 and 3 of Report header
  1. Q