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

BAR50P07.m

Go to the documentation of this file.
  1. BAR50P07 ; IHS/SD/LSL - IMPORT CLAIM REPORTS ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**21**;OCT 26, 2005
  1. ;;
  1. EN ; EP
  1. K IMP
  1. D ENP^XBDIQ1(90056.02,IMPDA,".01;.05","IMP(")
  1. W !,@IOF,!,"Reports for : ",?20,IMP(.01)
  1. W !,?20,IMP(.05)
  1. W !!,"Enter the list of Claim Status(s) you desire to print,"
  1. W !,"and in the sequence to be printed out.",!
  1. W !,"C - Claim Unmatched",?25,"R - Reason Unmatched",?50,"N - Not to Post"
  1. W !,"M - Matched",?25,"P - Posted",?50,"X - Claim & Reason Unmatched"
  1. W !,"A - All Categories",!,?5,"Example: CRXN",!
  1. K DIR
  1. S DIR(0)="FO^0:6"
  1. D ^DIR
  1. K DIR
  1. I $L(Y)'>0 W !!,"NONE SELECTED - EXITING",! H 2 Q
  1. I Y="^" Q
  1. S Z="CRNMPX"
  1. I Y="A" S Y=Z
  1. S Z="CRNMPX"
  1. F I=1:1:$L(Y) I Z'[$E(Y,I) W !!,">>>BAD ENTRY<<<>>> ",Y H 2 G EN
  1. S BARINDX=Y
  1. S BARZ("C")="Claim Unmatched"
  1. S BARZ("P")="Posted"
  1. S BARZ("M")="Matched"
  1. S BARZ("N")="Not to Post"
  1. S BARZ("X")="Claim & Reason Unmatched"
  1. S BARZ("R")="Reason Unmatched"
  1. W !
  1. K DIR
  1. S DIR(0)="SOB^D:Detailed;B:Brief - One Line;S:Summary - Totals Only"
  1. S DIR("A")="Select the type of report: "
  1. D ^DIR
  1. K DIR
  1. Q:Y="^"
  1. S BARTYP=Y
  1. ; -------------------------------
  1. ;
  1. PRT ; EP
  1. ;
  1. ; GET DEVICE (QUEUEING ALLOWED)
  1. S Y=$$DIR^XBDIR("S^P:PRINT Output;B:BROWSE Output on Screen","Do you wish to ","P","","","",1)
  1. K DA
  1. Q:$D(DIRUT)
  1. I Y="B" D Q
  1. . S XBFLD("BROWSE")=1
  1. . S BARIOSL=IOSL
  1. . S IOSL=600
  1. . D VIEWR^XBLM("LOOP^BAR50P07")
  1. . D FULL^VALM1
  1. . W $$EN^BARVDF("IOF")
  1. . D CLEAR^VALM1 ;clears out all list man stuff
  1. . K XQORNEST,VALMKEY,VALM,VALMAR,VALMBCK,VALMBG,VALMCAP,VALMCNT,VALMOFF
  1. . K VALMCON,VALMDN,VALMEVL,VALMIOXY,VALMLFT,VALMLST,VALMMENU,VALMSGR,VALMUP
  1. . K VALMY,XQORS,XQORSPEW,VALMCOFF
  1. . ;
  1. DEVE . ;
  1. . S IOSL=BARIOSL
  1. . K BARIOSL
  1. S XBRP="LOOP^BAREDP07"
  1. S XBNS="BAR;IMP*"
  1. S XBRX="EXIT^BAREDP07"
  1. D ^XBDBQUE
  1. K DIR
  1. S DIR(0)="E"
  1. S DIR("A")="<CR> - Continue"
  1. D ^DIR
  1. K DIR
  1. G EN
  1. ; *********************************************************************
  1. ;
  1. ENDJOB ;
  1. Q
  1. ; *********************************************************************
  1. ;
  1. LOOP ;EP CLAIMS
  1. S BARPG("HDR")=IMP(.01)_" "_IMP(.05)_" CLAIM REPORT"
  1. D BARHDR
  1. S TOT=0,CNT=0
  1. K INDTOT,INDCNT,ADJTOT
  1. F XI=1:1:$L(BARINDX) S IND=$E(BARINDX,XI) D INDEX Q:BARQUIT
  1. G:BARQUIT EXIT
  1. D FINISH
  1. G EXIT
  1. ; *********************************************************************
  1. ;
  1. FINISH ; EP
  1. W !!,?3,"Grand Totals",?50,$J(CNT,6,0),?65,"$ ",$J(TOT,9,2)," <P>"
  1. I BARTYP'="S" Q
  1. W !!,?10,"ADJUSTMENT totals: "
  1. S ADJ="",TOT=0
  1. F S ADJ=$O(ADJTOT(ADJ)) Q:ADJ="" D
  1. . W !,?15,ADJ,?65,"$ ",$J(ADJTOT(ADJ),9,2)
  1. . S TOT=TOT+ADJTOT(ADJ)
  1. W !,?67,"=========="
  1. W !,?65,"$ ",$J(TOT,9,2),!
  1. Q
  1. ; *********************************************************************
  1. ;
  1. EXIT ; EP
  1. K CNT,TOT,IND,ADJ,INDTOT,INDCNT
  1. Q
  1. ; *********************************************************************
  1. ;
  1. Q:"S"=BARTYP
  1. W !,"E-Claim",?20,"Pat",?50,"DOSB",?65,"<P>ay"
  1. W:BARTYP="D" !,?20,"HRN | HIC",?50,"DOSE",?65,"<B>ILL",!,?65,"<O>utstanding"
  1. W !
  1. Q
  1. ; *********************************************************************
  1. ;
  1. INDEX ; EP
  1. I BARTYP'="S" W !!,?3,BARZ(IND)
  1. S INDTOT(IND)=0,INDCNT(IND)=0,BARQUIT=0
  1. S CLMDA=0
  1. F S CLMDA=$O(^BAREDI("I",DUZ(2),IMPDA,30,"AC",IND,CLMDA)) Q:CLMDA'>0 D CLAIM Q:$G(BARQUIT)
  1. Q:$G(BARQUIT)
  1. W !,?3,BARZ(IND),?35,"TOTALS",?50,$J(INDCNT(IND),6,0),?65,"$ ",$J(INDTOT(IND),9,2)," <P>"
  1. S TOT=TOT+INDTOT(IND)
  1. S CNT=CNT+INDCNT(IND)
  1. Q
  1. ; *********************************************************************
  1. ;
  1. CLAIM ;EP
  1. ; WORK THE CLAIM
  1. K CLM,ADJ
  1. D ENP^XBDIQ1(90056.0205,"IMPDA,CLMDA",".01:.09","CLM(")
  1. S INDTOT(IND)=INDTOT(IND)+CLM(.04),INDCNT(IND)=INDCNT(IND)+1
  1. D PRINT
  1. W:"BS"'[BARTYP !
  1. I BARTYP="S" D TOTADJ
  1. Q
  1. ; *********************************************************************
  1. ;
  1. TOTADJ ;EP
  1. ; for summary gather adj type totals
  1. K ADJ
  1. D ENPM^XBDIQ1(90056.0208,"IMPDA,CLMDA,0",".02;.04","ADJ(")
  1. N X,Y
  1. S I=0
  1. F S I=$O(ADJ(I)) Q:I'>0 D
  1. . S X=ADJ(I,.02)
  1. . S Y=ADJ(I,.04)
  1. . S:Y="" Y="?"
  1. . S ADJTOT(Y)=$G(ADJTOT(Y))+X
  1. Q
  1. ; *********************************************************************
  1. ;
  1. PRINT ; EP
  1. ; print Claim info
  1. I BARTYP="S" Q
  1. D BARPG
  1. Q:$G(BARQUIT)
  1. W !,CLM(.01),?20,$E(CLM(.06),1,25),?50,$E(CLM(.08),1,12),?65,"$ ",$J(CLM(.04),9,2)," <P>"
  1. I BARTYP="B" Q
  1. W !,?20,CLM(.07),?50,CLM(.09),?63,?65,"$ ",$J(CLM(.05),9,2)," <B>"
  1. K ADJ
  1. D BARPG Q:$G(BARQUIT)
  1. D ENPM^XBDIQ1(90056.0208,"IMPDA,CLMDA,0",".01:.05","ADJ(")
  1. F ADJ=1:1 Q:'$D(ADJ(ADJ)) D
  1. . W !,?9,"$",$J(ADJ(ADJ,.02),8,2),?20,ADJ(ADJ,.03)
  1. . I "RX"[BARTYP Q
  1. . W !,?20,ADJ(ADJ,.04),?50,ADJ(ADJ,.05)
  1. I "MPN"[IND D ARINFO
  1. Q
  1. ; *********************************************************************
  1. ;
  1. ARINFO ; EP
  1. ; PRINT A/R INFO
  1. S DFN=$$VALI^XBDIQ1(90056.0205,"IMPDA,CLMDA",1.01)
  1. Q:'DFN
  1. D ENP^XBDIQ1(90056.0205,"IMPDA,CLMDA","1.01:1.07","CLM(")
  1. W !,?15,"AR",?20,$E(CLM(1.03),1,25),?50,$E(CLM(1.05),1,12),?65,"$ ",$J(CLM(1.07),9,2)," <O>"
  1. W !,?20,CLM(1.04),?50,$E(CLM(1.06),1,12),?65,"$ ",$J(CLM(1.02),9,2)," <B>"
  1. ;
  1. END ;
  1. Q
  1. ; *********************************************************************
  1. ;
  1. BARPG ;EP
  1. ; PAGE CONTROLLER
  1. ; this utility uses variables BARPG("HDR"),BARPG("DT"),BARPG("LINE"),BARPG("PG")
  1. ; kill variables by D EBARPG
  1. ;
  1. Q:($Y<(IOSL-5))!($G(DOUT)!$G(DFOUT))
  1. S:'$D(BARPG("PG")) BARPG("PG")=0
  1. S BARPG("PG")=BARPG("PG")+1
  1. I $E(IOST)="C",IOT["TRM" D EOP^BARUTL(0)
  1. I ($G(DIROUT)!$G(DUOUT)!$G(DTOUT)!$G(DROUT)) S BARQUIT=1
  1. ;
  1. Q ;
  1. Q:($G(DIROUT)!$G(DUOUT)!$G(DTOUT)!$G(DROUT))
  1. ;
  1. BARHDR ; EP
  1. ; write page header
  1. W:$Y @IOF
  1. W !
  1. Q:'$D(BARPG("HDR"))
  1. S:'$D(BARPG("LINE")) $P(BARPG("LINE"),"-",IOM-2)=""
  1. S:'$D(BARPG("PG")) BARPG("PG")=1
  1. I '$D(BARPG("DT")) D
  1. . S %H=$H
  1. . D YX^%DTC
  1. . S BARPG("DT")=Y
  1. U IO
  1. W ?(IOM-40-$L(BARPG("HDR"))/2),BARPG("HDR")
  1. W ?(IOM-40),BARPG("DT")
  1. W ?(IOM-10),"PAGE: ",BARPG("PG")
  1. W !,BARPG("LINE")
  1. ;
  1. BARHD ; EP
  1. ; Write column header / message
  1. Q:"S"=BARTYP
  1. W !,"E-Claim",?20,"Pat",?50,"DOSB",?65,"$ <P>ay"
  1. W:BARTYP="D" !,?20,"HRN | HIC",?50,"DOSE",?65,"$ <B>ill",!,?65,"$ <O>ut"
  1. Q
  1. ; *********************************************************************
  1. ;
  1. I ($G(DIROUT)!$G(DUOUT)!$G(DTOUT)!$G(DROUT)) S BARQUIT=1
  1. Q
  1. ; *********************************************************************
  1. ;
  1. EBARPG ;
  1. K BARPG("LINE"),BARPG("PG"),BARPG("HDR"),BARPG("DT")
  1. Q