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

DGBTOA6.m

Go to the documentation of this file.
  1. DGBTOA6 ;ALB/SCK - DGBT BENE TRAVEL PAYABLE CLAIMS REPORT ; 6/29/93 7/16/93
  1. ;;5.3;Registration;**13,51,1015**;Aug 13, 1993;Build 21
  1. ACCTS ;
  1. U IO
  1. N Y
  1. K ^TMP("BT",$J)
  1. F ACTCDE=4,5 D
  1. . S Y=$$GETACT(ACTCDE)
  1. D KVAR^VADPT
  1. D REPORT
  1. K DGBTBEG,DGBTBG,DGBTEND,CDATE,CURACT,ACTCDE,DIV,ERR,^TMP("BT",$J)
  1. ACCTSQ Q
  1. ;
  1. GETACT(ACTNUM) ;
  1. N Y S Y=1
  1. S CDATE=DGBTBG F S CDATE=$O(^DGBT(392,"ACTP",ACTNUM,CDATE)) Q:'CDATE!(CDATE>DGBTEND) D
  1. . N BTCLAIM
  1. . Q:'$D(^DGBT(392,CDATE,0))
  1. . S BTCLAIM=^DGBT(392,CDATE,0)
  1. . S BTCLAIM("M")=$G(^DGBT(392,CDATE,"M")) ; reference node "M" of bene travel claim file (#392)
  1. . S BTCLAIM("R")=$G(^DGBT(392,CDATE,"R")) ; reference node "R" of bene travel claim file ( #392)
  1. . S DIV=$P($G(BTCLAIM),U,11)
  1. . S DFN=$P($G(BTCLAIM),U,2)
  1. . D PID^VADPT6 Q:VAERR
  1. . S ^TMP("BT",$J,ACTNUM,DIV,$P($G(^DPT(DFN,0)),U),VA("PID"),CDATE)=$P(BTCLAIM("M"),U,3)_"^"_$P(BTCLAIM,U,9)_"^"_$P(BTCLAIM,U,10)_"^"_$P(BTCLAIM("R"),U)
  1. Q (Y)
  1. ;
  1. REPORT ;
  1. N BTFIN,PDIV,NDIV
  1. I '$D(^TMP("BT",$J)) D NOREP Q
  1. S ERR=$$SETVAR()
  1. S CURACT="",CURACT=$O(^TMP("BT",$J,CURACT)),PRVACT=CURACT
  1. Q:$$HEADR()
  1. S CURACT="" F S CURACT=$O(^TMP("BT",$J,CURACT)) Q:CURACT="" D Q:BTFIN
  1. . I CURACT'=PRVACT D SUBS S BTFIN=$$HEADR,PRVACT=CURACT I PDIV]"" S ERR=$$DIVSN(NDIV)
  1. . S NDIV="" F S NDIV=$O(^TMP("BT",$J,CURACT,NDIV)) Q:NDIV']"" S:PDIV'=NDIV PDIV=$$DIVSN(NDIV) D Q:BTFIN
  1. .. S CURNAME="" F S CURNAME=$O(^TMP("BT",$J,CURACT,NDIV,CURNAME)) Q:CURNAME="" D Q:BTFIN
  1. ... S CURID="" F S CURID=$O(^TMP("BT",$J,CURACT,NDIV,CURNAME,CURID)) Q:CURID="" D Q:BTFIN
  1. .... S CDATE="" F S CDATE=$O(^TMP("BT",$J,CURACT,NDIV,CURNAME,CURID,CDATE)) Q:CDATE="" S BTFIN=$$PRTOUT() Q:BTFIN
  1. D TOTL
  1. Q
  1. ;
  1. PRTOUT() ;
  1. N Y
  1. S BTCLAIM=^TMP("BT",$J,CURACT,NDIV,CURNAME,CURID,CDATE)
  1. I $Y+5>IOSL S Y=$$HEADR() G:Y PRTOUTQ
  1. W !,$E(CURNAME,1,21),?23,CURID,?37,$$EXDATE(CDATE),?61,$FN($P(BTCLAIM,U,1),"",2),?70,$FN($P(BTCLAIM,U,2),"",2),?78,$FN($P(BTCLAIM,U,3),"",2),?86,$E($P(BTCLAIM,U,4),1,50)
  1. S COUNT=COUNT+1,MILES=MILES+$P(BTCLAIM,U,1),DEDCT=DEDCT+$P(BTCLAIM,U,2),PAY=PAY+$P(BTCLAIM,U,3)
  1. PRTOUTQ Q (Y)
  1. ;
  1. EXDATE(CDOUT) ;
  1. S Y=CDOUT D DD^%DT
  1. Q (Y)
  1. ;
  1. DIVSN(NDIV) ;
  1. I $G(NDIV)]"" D
  1. . W !!,"Division: ",$P($G(^DG(40.8,NDIV,0)),"^")
  1. . W !,"========="
  1. Q (NDIV)
  1. ;
  1. NOREP ;
  1. S CURACT=4,PAGE=0
  1. I $$HEADR() G NOREPQ
  1. W !!,"No data found for accounts 'ALL OTHER' or 'C&P'"
  1. NOREPQ Q
  1. ;
  1. HEADR() ;
  1. N QFLAG S QFLAG=0
  1. I $E(IOST,1,2)="C-" K DIR S DIR(0)="E" D ^DIR S QFLAG='Y G:QFLAG HEADRQ W @IOF
  1. S PAGE=PAGE+1
  1. I $E(IOST,1,2)'="C-" W @IOF
  1. W !,"Payable Claims Report"
  1. W ?(IOM-40),"Report Date: ",$P($$NOW^VALM1,"@"),?(IOM-10),"Page: ",PAGE
  1. W !,"Inclusion Dates: ",$P($$FMTE^XLFDT(DGBTBEG,1),"@")," to ",$P($$FMTE^XLFDT(DGBTEND,1),"@")
  1. W !,"For ACCOUNT TYPE: ",$S(CURACT=4:"ALL OTHER",CURACT=5:"C&P EXAMINATIONS")
  1. W !!?61,"Mileage",?70,"Amount",?78,"Amount"
  1. W !,"Patient Name",?23,"Patient ID",?37,"Claim DATE/TME",?61,"Amount",?70,"Deduct",?78,"Payable",?86,"Remarks"
  1. W !,"----------------",?23,"------------",?37,"------------------",?61,"------",?70,"------",?78,"-------",?86,"-----------------"
  1. HEADRQ Q (QFLAG)
  1. ;
  1. TOTL ;
  1. D SUBS
  1. W !!?61,"------",?70,"------",?78,"-------"
  1. W !,"TOTALS",?61,$FN(TMILES,"",2),?70,$FN(TDEDCT,"",2),?78,$FN(TPAY,"",2)
  1. W !,"TOTAL CLAIMS: ",TCOUNT
  1. Q
  1. ;
  1. SUBS ;
  1. N Y
  1. W !!?61,"------",?70,"------",?78,"-------"
  1. W !,"Subtotals",?61,$FN(MILES,"",2),?70,$FN(DEDCT,"",2),?78,$FN(PAY,"",2)
  1. W !,"Subtotal Count of Claims: ",COUNT
  1. S TCOUNT=TCOUNT+COUNT,TMILES=TMILES+MILES,TDEDCT=TDEDCT+DEDCT,TPAY=TPAY+PAY
  1. S (MILES,DEDCT,PAY,COUNT)=0
  1. Q
  1. ;
  1. SETVAR() ;
  1. N Y S Y=0
  1. S (PAGE,COUNT,MILES,DEDCT,PAY,TCOUNT,TPAY,TDEDCT,TMILES,BTFIN)=0
  1. S PDIV=""
  1. ;
  1. Q (Y)