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

BARUFRP3.m

Go to the documentation of this file.
  1. BARUFRP3 ; IHS/SD/TPF - UFMS REPORTS SECONDARY CALLS ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**6,13,20,22,23**;OCT 26, 2005;Build 38
  1. ; FEB 2013 P.OTT CHANGED PTR TO INSURER TYPE
  1. Q
  1. GRNTOT ;EP;
  1. K PAGE
  1. D NOW^%DTC S Y=% X ^DD("DD") S DATE=Y
  1. S Y=START X ^DD("DD") S EXSTART=Y
  1. S Y=END X ^DD("DD") S EXEND=Y
  1. S ESC=0
  1. S RPTTYP="G"
  1. D BATHDR^BARUFRPT(DATE,RPTTYP)
  1. S:END'[(".") END=END_".999999"
  1. D SUMINIT^BARUFRPT
  1. W !,"TRANSMISSIONS:"
  1. S BATCH=START-.000001
  1. F S BATCH=$O(^BARSESS(DUZ(2),"F",BATCH)) Q:'BATCH!(ESC)!(BATCH>END) D
  1. .W !?2,$$TDT^BARDUTL(BATCH)
  1. .S UDUZ=""
  1. .F S UDUZ=$O(^BARSESS(DUZ(2),"F",BATCH,UDUZ)) Q:'UDUZ!(ESC) D
  1. ..S SESSID=""
  1. ..F S SESSID=$O(^BARSESS(DUZ(2),"F",BATCH,UDUZ,SESSID)) Q:'SESSID!(ESC) D
  1. ...S TRDATE=0
  1. ...F S TRDATE=$O(^BARSESS(DUZ(2),UDUZ,11,SESSID,2,TRDATE)) Q:'TRDATE!(ESC) D
  1. .... ;IHS/SD/PKD 11/30/10 1.8*20 HEAT P/U TRX ONLY IF IN EXPORT DATE RANGE
  1. .... N TRQUIT S TRQUIT=^BARSESS(DUZ(2),UDUZ,11,SESSID,2,TRDATE,0)
  1. .... Q:$P(TRQUIT,U,2)'=1 ; Not Transmitted
  1. .... S TRQUIT=$P(TRQUIT,U,4) ; Date this TRX went to UFMS
  1. .... Q:TRQUIT<(START-.000001)!(TRQUIT>END)
  1. .... ; END 1.8*20
  1. ....S IENS=TRDATE_","
  1. ....D GETDATA
  1. ....Q:'BILL
  1. ....I $Y>(IOSL-4) W ! D:$D(IO("S")) BATHDR^BARUFRPT(DATE,RPTTYP) Q:$D(IO("S")) K DIR S DIR(0)="E" D:'$D(ZTQUEUED)&(IO=IO(0)) ^DIR S ESC=X=U Q:ESC D BATHDR^BARUFRPT(DATE,RPTTYP)
  1. ....D COUNT^BARUFRPT(.TOTALS)
  1. ;start old code bar*1.8*22 HEAT51432 (IHS/SD/NKD) DS were doubling on GTOT
  1. ;S TRDATE=0
  1. ;F S TRDATE=$O(^BARSESS(DUZ(2),"DS",TRDATE)) Q:'TRDATE!(ESC)!(TRDATE>END) D
  1. ;.S SESSID=""
  1. ;.F S SESSID=$O(^BARSESS(DUZ(2),"DS",TRDATE,SESSID)) Q:'SESSID!(ESC) D
  1. ;..S UDUZ=""
  1. ;..F S UDUZ=$O(^BARSESS(DUZ(2),"DS",TRDATE,SESSID,UDUZ)) Q:'UDUZ!(ESC) D
  1. ;...I $P($G(^BARSESS(DUZ(2),UDUZ,11,SESSID,2,TRDATE,0)),U,8)="" Q
  1. ;...I '$D(BARFLST($P($G(^BARSESS(DUZ(2),UDUZ,11,SESSID,2,TRDATE,0)),U,8))) Q
  1. ;...S IENS=TRDATE_","
  1. ;...D GETDATA
  1. ;...Q:'BILL
  1. ;...I $Y>(IOSL-4) W ! D:$D(IO("S")) BATHDR^BARUFRPT(DATE,RPTTYP) Q:$D(IO("S")) K DIR S DIR(0)="E" D:'$D(ZTQUEUED)&(IO=IO(0)) ^DIR S ESC=X=U Q:ESC D BATHDR^BARUFRPT(DATE,RPTTYP)
  1. ;...D COUNT^BARUFRPT(.TOTALS)
  1. ;end old code HEAT51432
  1. W !,DASH,!,?10,"SESSION TOTALS",?30,"DS TOTALS",?46,"NS TOTALS",?63,"TRANS. TOTALS",!,DASH
  1. D LIST^BARUFRPT(.TOTALS)
  1. I $D(IO("S")) W @IOF ;flush buffer
  1. Q
  1. ;
  1. GETDATA ;
  1. S CREDIT=$$GET1^DIQ(90050.03,IENS,2)
  1. S DEBIT=$$GET1^DIQ(90050.03,IENS,3)
  1. S (CREDDEBT,AMT)=$$GET1^DIQ(90050.03,IENS,3.5,"E")
  1. S BILL=$$GET1^DIQ(90050.03,IENS,4)
  1. Q:'BILL
  1. S BLLIEN=$$GET1^DIQ(90050.03,IENS,4,"I")
  1. S ENTRYBY=$$GET1^DIQ(90050.03,IENS,13,"E")
  1. S TPBIEN=$$GET1^DIQ(90050.01,BLLIEN_",",17,"I")
  1. S TRANTYP=$$GET1^DIQ(90050.03,IENS,101,"E")
  1. S ADJCAT=$$GET1^DIQ(90050.03,IENS,102,"E")
  1. S BARIIEN=$$INSIEN^BARUTL("BILL",BLLIEN,DUZ(2))
  1. I BARIIEN'="" D
  1. . S BARALLC=$$GET1^DIQ(9999999.18,BARIIEN,.211,"I") ;RETURNS NUM PTR (I.E. 21) P.OTT GET INS TYP
  1. . ;W !,"ABARALLC(1)=",BARALLC ;P.OTT
  1. . S BARALLC=$P($G(^AUTTINTY(BARALLC,0)),U,2) ;NUMBER-->"INDIAN PATIENT^I"
  1. . ;W !,"ABARALLC(2)=",BARALLC
  1. . S BARALLC=$P($T(@BARALLC^BARRNEGB),";;",2) ;ALL CAT
  1. . ;W " ABARALLC(3)=",BARALLC
  1. I $G(BARALLC)="" S BARALLC="OTHER" ;default, just in case ;IHS/SD/TPF BAR*1.8*13 4/21/2009
  1. ;W " ABARALLC(FINAL)=",BARALLC R ASD
  1. Q
  1. SETVAR ;EP;
  1. S (ADJACNT,ADJAAMT,REFACNT,REFAAMT)=0
  1. S (BARAPCNT,BARAPAMT)=0
  1. S (BARRCCNT,BARRCAMT)=0
  1. S (BARNPCNT,BARNPAMT,BARTPCNT,BARTPAMT)=0
  1. S (REFTCNT,REFTAMT,REFNCNT,REFNAMT)=0
  1. S (ADJTCNT,ADJTAMT,ADJNCNT,ADJNAMT)=0
  1. S (BARCACNT,BARCAAMT,BARCNCNT,BARCNAMT,BARCTCNT,BARCTAMT)=0
  1. S (BARDPCNT,BARDPAMT,BARDACNT,BARDAAMT,BARDRCNT,BARDRAMT,BARDCCNT,BARDCAMT)=0
  1. S (BARZPCNT,BARZPAMT,BARZDCNT,BARZDAMT,BARZNCNT,BARZNAMT)=0
  1. S (BARZACNT,BARZAAMT,BARZDCNT,BARZDAMT,BARZNAMT)=0
  1. Q
  1. TOT ;EP;
  1. I $P($G(^BARSESS(DUZ(2),UDUZ,11,SESSID,2,TRDATE,0)),U,8)="" D
  1. .S TOTALS(CAT,BARALLC,"ALL")=$G(TOTALS(CAT,BARALLC,"ALL"))+AMT
  1. .S TOTALS(CAT,BARALLC,"ALL","CNT")=$G(TOTALS(CAT,BARALLC,"ALL","CNT"))+1
  1. I CAT="AAZERO" D
  1. .S TOTALS(CAT,BARALLC,"ZP")=$G(TOTALS(CAT,BARALLC,"ZP"))+AMT
  1. .S TOTALS(CAT,BARALLC,"ZP","CNT")=$G(TOTALS(CAT,BARALLC,"ZP","CNT"))+1
  1. I CAT="ADJZERO" D
  1. .S TOTALS(CAT,BARALLC,"ZA")=$G(TOTALS(CAT,BARALLC,"ZA"))+AMT
  1. .S TOTALS(CAT,BARALLC,"ZA","CNT")=$G(TOTALS(CAT,BARALLC,"ZA","CNT"))+1
  1. I $P($G(^BARSESS(DUZ(2),UDUZ,11,SESSID,2,TRDATE,0)),U,8)'="" D
  1. .S TOTALS(CAT,BARALLC,"DS","CNT")=$G(TOTALS(CAT,BARALLC,"DS","CNT"))+1
  1. .S TOTALS(CAT,BARALLC,"DS")=$G(TOTALS(CAT,BARALLC,"DS"))+AMT
  1. I $P($G(^BARSESS(DUZ(2),UDUZ,11,SESSID,2,TRDATE,0)),U,6)=1!(TRANTYP="REMARK CODE") D
  1. .S TOTALS(CAT,BARALLC,"NS","CNT")=$G(TOTALS(CAT,BARALLC,"NS","CNT"))+1
  1. .S TOTALS(CAT,BARALLC,"NS")=$G(TOTALS(CAT,BARALLC,"NS"))+AMT
  1. I $P($G(^BARSESS(DUZ(2),UDUZ,11,SESSID,2,TRDATE,0)),U,6)'=1,((TRANTYP'="REMARK CODE")!(CAT'="ZERO")) D
  1. .S TOTALS(CAT,BARALLC,"TR","CNT")=$G(TOTALS(CAT,BARALLC,"TR","CNT"))+1
  1. .S TOTALS(CAT,BARALLC,"TR")=$G(TOTALS(CAT,BARALLC,"TR"))+AMT
  1. Q
  1. WRITEDET ;EP;
  1. W !?2,$S(BARALLC["VETERAN":"VET",BARALLC["PRIVATE":"PVT",BARALLC["MEDICARE":"MCR",BARALLC["MEDICAID":"MCD",1:"OTH") ;P.OTT
  1. W ?7,$J(TOTALS(CATEGORY,BARALLC,"ALL","CNT"),6)
  1. W ?14,"$"_$J(TOTALS(CATEGORY,BARALLC,"ALL"),10,2)
  1. W ?27,$J(TOTALS(CATEGORY,BARALLC,"DS","CNT"),4)
  1. W ?32,"$"_$J(TOTALS(CATEGORY,BARALLC,"DS"),8,2)
  1. W ?43,$J($S(CATEGORY="AAZERO":BARZPCNT,CATEGORY="ADJZERO":BARZACNT,1:TOTALS(CATEGORY,BARALLC,"NS","CNT")),4)
  1. W ?48,"$"_$J($S(CATEGORY="AAZERO":BARZPAMT,CATEGORY="ADJZERO":BARZAAMT,1:TOTALS(CATEGORY,BARALLC,"NS")),8,2)
  1. W ?59,$J(TOTALS(CATEGORY,BARALLC,"TR","CNT"),6)
  1. W ?66,"$"_$J(TOTALS(CATEGORY,BARALLC,"TR"),10,2)
  1. Q
  1. WRITETOT ;EP;
  1. W !,?7,"------------------"
  1. W ?27,"--------------"
  1. W ?43,"--------------"
  1. W ?59,"------------------"
  1. W !?2,"TOTAL"
  1. I $P(CATEGORY," ")="AAA" D
  1. .W ?7,$J(BARAPCNT,6)
  1. .W ?14,"$"_$J(BARAPAMT,10,2)
  1. .W ?27,$J(BARDPCNT,4)
  1. .W ?32,"$"_$J(BARDPAMT,8,2)
  1. .W ?43,$J(BARNPCNT,4)
  1. .W ?48,"$"_$J(BARNPAMT,8,2)
  1. .W ?59,$J(BARTPCNT,6)
  1. .W ?66,"$"_$J(BARTPAMT,10,2)
  1. ;
  1. I CATEGORY="AAZERO" D
  1. .W ?7,$J(BARZPCNT,6)
  1. .W ?14,"$"_$J(BARZPAMT,10,2)
  1. .W ?27,$J(BARZDCNT,4)
  1. .W ?32,"$"_$J(BARZDAMT,8,2)
  1. .W ?43,$J(BARZNCNT,4)
  1. .W ?48,"$"_$J(BARZNAMT,8,2)
  1. .W ?59,$J(BARZPCNT,6)
  1. .W ?66,"$"_$J(BARZPAMT,10,2)
  1. ;
  1. I CATEGORY="ADJZERO" D
  1. .W ?7,$J(BARZACNT,6)
  1. .W ?14,"$"_$J(BARZAAMT,10,2)
  1. .W ?27,$J(BARZDCNT,4)
  1. .W ?32,"$"_$J(BARZDAMT,8,2)
  1. .W ?43,$J(BARZNCNT,4)
  1. .W ?48,"$"_$J(BARZNAMT,8,2)
  1. .W ?59,$J(BARZACNT,6)
  1. .W ?66,"$"_$J(BARZAAMT,10,2)
  1. ;
  1. I $P(CATEGORY," ")="ADJ" D
  1. .W ?7,$J(ADJACNT,6)
  1. .W ?14,"$"_$J(ADJAAMT,10,2)
  1. .W ?27,$J(BARDACNT,4)
  1. .W ?32,"$"_$J(BARDAAMT,8,2)
  1. .W ?43,$J(ADJNCNT,4)
  1. .W ?48,"$"_$J(ADJNAMT,8,2)
  1. .W ?59,$J(ADJTCNT,6)
  1. .W ?66,"$"_$J(ADJTAMT,10,2)
  1. ;
  1. I $P(CATEGORY," ")="ZZZ" D
  1. .W ?7,$J(REFACNT,6)
  1. .W ?14,"$"_$J(REFAAMT,10,2)
  1. .W ?27,$J(BARDRCNT,4)
  1. .W ?32,"$"_$J(BARDRAMT,8,2)
  1. .W ?43,$J(REFNCNT,4)
  1. .W ?48,"$"_$J(REFNAMT,8,2)
  1. .W ?59,$J(REFTCNT,6)
  1. .W ?66,"$"_$J(REFTAMT,10,2)
  1. ;
  1. I $P(CATEGORY," ")="RRR" D
  1. .W ?7,$J(BARRCCNT,6)
  1. .W ?14,"$"_$J(BARRCAMT,10,2)
  1. .W ?27,$J(BARDCCNT,4)
  1. .W ?32,"$"_$J(BARDCAMT,8,2)
  1. .W ?43,$J(BARCNCNT,4)
  1. .W ?48,"$"_$J(BARCNAMT,8,2)
  1. .W ?59,$J(BARCTCNT,6)
  1. .W ?66,"$"_$J(BARCTAMT,10,2)
  1. Q