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

IBCEMSRP.m

Go to the documentation of this file.
  1. IBCEMSRP ;ALB/VAD - IB PRINTED CLAIMS REPORT ;09-SEP-2015
  1. ;;2.0;INTEGRATED BILLING;**547**;21-MAR-94;Build 119
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. ; access to ^DG(40.8 allowed with DBIA#417
  1. ;
  1. EN ;
  1. N IBQ,IBCOT,IBDIVS,IBBDT,IBEDT,IBSORT
  1. S IBQ=0 ; quit flag
  1. ; Prompts to the user:
  1. D COT Q:IBQ ; (C)PAC or (T)RICARE/CHAMPVA
  1. D DIVS Q:IBQ ; Division(s)
  1. D DTR Q:IBQ ; From-To date range
  1. D SORTBY Q:IBQ ; Sort By?
  1. W !!,"Report requires 132 Columns"
  1. D DEVICE Q:IBQ
  1. D RUN
  1. Q
  1. ;
  1. COT N DIR,DIRUT,Y
  1. W ! S DIR(0)="SAO^C:(C)PAC;T:(T)RICARE/CHAMPVA"
  1. S DIR("A")="RUN for (C)PAC or (T)RICARE/CHAMPVA: ",DIR("B")="C" D ^DIR
  1. I $D(DIRUT) S IBQ=1 Q
  1. S IBCOT=Y
  1. Q
  1. ;
  1. DIVS N DIC,DIR,DIRUT,Y,X,IBDIV,IBDVN
  1. W ! S DIR("B")="ALL",DIR("A")="Run this report for All divisions or Selected Divisions: "
  1. S DIR(0)="SA^ALL:All divisions;S:Selected divisions" D ^DIR
  1. I $D(DIRUT) S IBQ=1 Q
  1. ; if user selects all divisions, gather names and iens (DBIA#417)
  1. I X="ALL" S IBDIVS("ALL")=1 D Q
  1. .S IBDIVS(0)="UNKNOWN" ; older claims may not have a division
  1. .S IBDIV="" F S IBDIV=$O(^DG(40.8,"B",IBDIV)) Q:IBDIV="" D
  1. ..S IBDVN="" F S IBDVN=$O(^DG(40.8,"B",IBDIV,IBDVN)) Q:'IBDVN D
  1. ...S IBDIVS(+IBDVN)=IBDIV
  1. ; Collect divisions
  1. F D Q:Y'>0
  1. . W ! S DIC("A")="Division: ",DIC=40.8,DIC(0)="AEQM" D ^DIC
  1. . I $D(DIRUT) S IBQ=1 Q
  1. . I Y'>0 Q
  1. . S IBDIVS(+Y)=$P(Y,U,2)
  1. I '$D(IBDIVS) S IBQ=1 Q ; None selected
  1. Q
  1. ;
  1. DTR ;date range
  1. N %DT,Y
  1. S IBBDT=DT-7,IBEDT=DT
  1. S %DT="AEX"
  1. S %DT("A")="Earliest Printed Date: ",%DT("B")="T-7"
  1. W ! D ^%DT K %DT
  1. I Y<0 S IBQ=1 Q
  1. S IBBDT=+Y
  1. S %DT="AEX"
  1. S %DT("A")="Latest Printed Date: ",%DT("B")="T"
  1. D ^%DT K %DT
  1. I Y<0 S IBQ=1 Q
  1. S IBEDT=+Y
  1. Q
  1. ;
  1. SORTBY ;
  1. N DIR,DTOUT,DUOUT
  1. S DIR(0)="SBMA^I:Insurance Company;B:Authorizing Biller;R:Rate Type;F:Form Type;P:Type of Plan"
  1. S DIR("A")="Sort Report By: ",DIR("B")="Authorizing Biller"
  1. S DIR("?")=" ",DIR("?",1)="This determines the criteria by which the claims will"
  1. S DIR("?",2)="be displayed." D ^DIR K DIR
  1. Q:$D(DTOUT)!($D(DUOUT))
  1. S IBSORT=Y_U_$G(Y(0))
  1. Q
  1. ;
  1. DEVICE ; Get the Output Device.
  1. N %ZIS,ZTRTN,ZTDESC,ZTSAVE,POP
  1. K IO("Q")
  1. S %ZIS="QM" W ! D ^%ZIS I POP S IBQ=1 Q
  1. ;
  1. I $D(IO("Q")) D S IBQ=1 Q
  1. . S ZTRTN="RUN^IBCEMSRP",ZTDESC="IB PRINTED CLAIMS REPORT"
  1. . S ZTSAVE("IBBDT")="",ZTSAVE("IBEDT")="",ZTSAVE("IBCOT")="",ZTSAVE("IBSORT")="",ZTSAVE("IBDIVS(")=""
  1. . D ^%ZTLOAD
  1. . D HOME^%ZIS
  1. Q
  1. ;
  1. RUN ; Begin the execution of the report.
  1. D SRCH^IBCEMSR6 ; Search, Sort and Store the data based upon the criteria that was entered by the user.
  1. U IO
  1. D REPORT^IBCEMSR7 ; Print the report from the formatted array.
  1. Q
  1. ;