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

ABMTALL2.m

Go to the documentation of this file.
  1. ABMTALL2 ; IHS/SD/SDR - Monthly tally report - 8/19/2005 1:28:34 PM
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;
  1. TRANS ;EP
  1. ; for checking Transaction File data parameters
  1. Q:'$D(^BARTR(DUZ(2),ABMTRIEN,0)) ; No data
  1. K ABMTR
  1. S ABMTR(0)=$G(^BARTR(DUZ(2),ABMTRIEN,0)) ; A/R Transaction 0 node
  1. S ABMTR(1)=$G(^BARTR(DUZ(2),ABMTRIEN,1)) ; A/R Transaction 1 node
  1. S ABMTR("T")=$P(ABMTR(1),U) ; Transaction type
  1. S ABMTR("DT")=$P(ABMTR(0),U) ; Transaction date/time
  1. S ABMTR("B")=$P(ABMTR(0),U,14) ; A/R Collection batch IEN
  1. S:ABMTR("B")="" ABMTR("B")="No Collection Batch"
  1. S ABMTR("IT")=$P(ABMTR(0),U,15) ; A/R Collection batch item
  1. S:ABMTR("IT")="" ABMTR("IT")="No Collection Batch Item"
  1. S ABMTR("AR")=$P(ABMTR(0),U,13) ; Entry by (AR Clerk)
  1. S:ABMTR("AR")="" ABMTR("AR")=9999999
  1. S:'$D(ABMY("AR")) ABMTR("AR")=0
  1. S ABMTR("CR-DB")=$$GET1^DIQ(90050.03,ABMTRIEN,3.5)
  1. S ABM=$P(ABMTR(0),U,4) ; A/R Bill IEN
  1. I $D(ABMY("BATCH")),ABMTR("T")=100 S ABM("UN-ALLOCATED",ABMTR("IT"))=$G(ABM("UN-ALLOCATED",ABMTR("IT")))+ABMTR("CR-DB")_U_DUZ(2)
  1. Q:'+ABM ; No bill for transaction
  1. Q:'$D(^BARBL(DUZ(2),ABM)) ; Trans points to non-existent bill
  1. S ABM(0)=$G(^BARBL(DUZ(2),ABM,0)) ; A/R Bill 0 node
  1. S ABM(10)=$G(^BARBL(DUZ(2),ABM,1)) ; A/R Bill 1 node
  1. S ABMTR("I")=$P(ABM(0),U,3) ; A/R Account
  1. S ABMTR("L")=$P(ABM(10),U,8) ; Visit location
  1. S ABM("PV")=$P(ABM(10),U,13) ; Provider (New Person)
  1. S ABM("V")=$P(ABM(10),U,14) ; Visit type (3P Visit Type)
  1. S ABM("C")=$P(ABM(10),U,12) ; Clinic (Clinic Stop File)
  1. S ABM("DS")=$$GET1^DIQ(90050.01,ABM,23) ; Discharge Service (#)
  1. I ABMTR("I")]"" D
  1. . S D0=ABMTR("I")
  1. . S ABMTR("BI")=$$VALI^BARVPM(8) ; Insurer Type
  1. I $G(ABMTR("BI"))="" S ABMTR("BI")="No Billing Entity"
  1. I ABMTR("BI")'="No Billing Entity" D
  1. . S ABMTR("ALL")="O" ; Other Allow Cat
  1. . I ABMTR("BI")="R" S ABMTR("ALL")="R" Q ; Medicare Allow Cat
  1. . I ABMTR("BI")="D" S ABMTR("ALL")="D" Q ; Medicaid Allow Cat
  1. . I ABMTR("BI")="K" S ABMTR("ALL")="K" Q ; CHIPS Allow Cat
  1. . I ",F,M,H,P,"[(","_ABMTR("BI")_",") S ABMTR("ALL")="P" Q ; Private
  1. I $G(ABMTR("ALL"))="" S ABMTR("ALL")="No Allowance Category"
  1. Q:ABMTR("L")=""!(ABMTR("I")="")!(ABMTR("DT")="")
  1. Q
  1. OUTPUT ; EP
  1. S ABMCATS=$P($G(^DD(9000010,.07,0)),U,3) ;GET THE SERVICE CATEGORIES
  1. S ABMTAB=";"
  1. F ABMPKG="PCC","TPB","BAR" D
  1. .I ABMPKG="PCC" D VHDB
  1. .I ABMPKG="TPB" D THDB
  1. .I ABMPKG="BAR" D BHDB
  1. .S (ABMVLS,ABMCLNS,ABMSTDTS,ABMCLMSS,ABMVTYPS)=""
  1. .S ABMVL=0
  1. .F S ABMVL=$O(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL)) Q:+ABMVL=0 D
  1. ..S ABMCLN=0
  1. ..F S ABMCLN=$O(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN)) Q:+ABMCLN=0 D
  1. ...S ABMVTYP=0
  1. ...F S ABMVTYP=$O(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN,ABMVTYP)) Q:ABMVTYP="" D
  1. ....S ABMSTODT=0
  1. ....F S ABMSTODT=$O(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN,ABMVTYP,ABMSTODT)) Q:+ABMSTODT=0 D
  1. .....I ABMPKG="PCC" D PCCOUT
  1. .....I ABMPKG="TPB" D TPBOUT
  1. .....I ABMPKG="BAR" D BAROUT
  1. .I ABMPKG="PCC" W !,ABMTAB_ABMTAB_ABMTAB_ABMTAB_ABMTAB_"TOTAL VISITS "_+$G(^TMP("ABM-TALLY",$J,"VTOT")),!
  1. .I ABMPKG="TPB" W !,ABMTAB_ABMTAB_ABMTAB_ABMTAB_ABMTAB_ABMTAB_ABMTAB_"TOTAL CLAIMS "_+$G(^TMP("ABM-TALLY",$J,"CTOT")),!
  1. .I ABMPKG="BAR" D
  1. ..W !,ABMTAB_ABMTAB_ABMTAB_ABMTAB_ABMTAB_ABMTAB_ABMTAB_"TOTAL BILLS "_+$G(^TMP("ABM-TALLY",$J,"BTOT"))_ABMTAB
  1. ..W $J($G(^TMP("ABM-TALLY",$J,"TBILLED")),15,2)_ABMTAB
  1. ..W $J($G(^TMP("ABM-TALLY",$J,"TCBILLED")),15,2)_ABMTAB
  1. ..W $J($G(^TMP("ABM-TALLY",$J,"TPAY")),15,2)_ABMTAB
  1. ..W $J($G(^TMP("ABM-TALLY",$J,"TADJ")),15,2)_ABMTAB
  1. ..W $J($G(^TMP("ABM-TALLY",$J,"TREF")),15,2)
  1. Q
  1. PCCOUT ;
  1. S ABMCLMS=""
  1. F S ABMCLMS=$O(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMCLMS)) Q:ABMCLMS="" D
  1. .W !,$S(ABMVL'=ABMVLS:$P($G(^DIC(4,ABMVL,0)),U),1:"")_ABMTAB
  1. .S ABMVLS=ABMVL
  1. .W $S(ABMCLNS'=ABMCLN:$P($G(^DIC(40.7,ABMCLN,0)),U),ABMCLN=99999:"NO CLINIC ENTERED IN PCC",1:"")_ABMTAB
  1. .S ABMCLNS=ABMCLN
  1. .W $S(ABMVTYPS'=ABMVTYP:$$GETSVCAT^ABMTALLY(ABMVTYP),1:"")_ABMTAB
  1. .S ABMVTYPS=ABMVTYP
  1. .W $TR($TR($P($$MDT^ABMDUTL(ABMSTODT),"-",2,3)," "),"-"," ")_ABMTAB
  1. .W $S(ABMCLMS="NOCLM":"VISITS THAT DIDN'T GENERATE A CLAIM",1:"VISITS THAT GENERATED A CLAIM")_ABMTAB
  1. .W $G(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMCLMS))
  1. Q
  1. TPBOUT ;
  1. S ABMCLMS=""
  1. F S ABMCLMS=$O(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMCLMS)) Q:ABMCLMS="" D
  1. .S ABMITYP=""
  1. .F S ABMITYP=$O(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMCLMS,ABMITYP)) Q:ABMITYP="" D
  1. ..S ABMINS=""
  1. ..F S ABMINS=$O(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMCLMS,ABMITYP,ABMINS)) Q:ABMINS="" D
  1. ...W !,$S(ABMVL'=ABMVLS:$P($G(^DIC(4,ABMVL,0)),U),1:"")_ABMTAB
  1. ...S ABMVLS=ABMVL
  1. ...W $S(ABMCLNS'=ABMCLN:$P($G(^DIC(40.7,ABMCLN,0)),U),1:"")_ABMTAB
  1. ...S ABMCLNS=ABMCLN
  1. ...W $S(ABMVTYPS'=ABMVTYP:$P($G(^ABMDVTYP(ABMVTYP,0)),U),1:"")_ABMTAB
  1. ...S ABMVTYPS=ABMVTYP
  1. ...W $TR($TR($P($$MDT^ABMDUTL(ABMSTODT),"-",2,3)," "),"-"," ")_ABMTAB
  1. ...W $S(ABMCLMS="E":"EDIT Mode",ABMCLMS="R":"Claim Rejected",ABMCLMS="U":"Billed",ABMCLMS="C":"Claim Completed",ABMCLMS="F":"Flagged as Billable",ABMCLMS="X":"Cancelled",1:"Pending")_ABMTAB
  1. ...W $P($P($P(^DD(9999999.18,.21,0),U,3),";"_ABMITYP_":",2),";")_ABMTAB
  1. ...W ABMINS_ABMTAB
  1. ...W $G(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMCLMS,ABMITYP,ABMINS))
  1. Q
  1. BAROUT ;
  1. S ABMBLST=""
  1. F S ABMBLST=$O(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMBLST)) Q:ABMBLST="" D
  1. .S ABMITYP=""
  1. .F S ABMITYP=$O(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMBLST,ABMITYP)) Q:ABMITYP="" D
  1. ..S ABMINS=""
  1. ..F S ABMINS=$O(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMBLST,ABMITYP,ABMINS)) Q:ABMINS="" D
  1. ...W !,$S(ABMVL'=ABMVLS:$P($G(^DIC(4,ABMVL,0)),U),1:"")_ABMTAB
  1. ...S ABMVLS=ABMVL
  1. ...W $S(ABMCLNS'=ABMCLN:$P($G(^DIC(40.7,ABMCLN,0)),U),1:"")_ABMTAB
  1. ...S ABMCLNS=ABMCLN
  1. ...W $S(ABMVTYPS'=ABMVTYP:$P($G(^ABMDVTYP(ABMVTYP,0)),U),1:"")_ABMTAB
  1. ...S ABMVTYPS=ABMVTYP
  1. ...W $TR($TR($P($$MDT^ABMDUTL(ABMSTODT),"-",2,3)," "),"-"," ")_ABMTAB
  1. ...W ABMBLST_ABMTAB
  1. ...W ABMITYP_ABMTAB
  1. ...W ABMINS_ABMTAB
  1. ...W $G(^TMP("ABM-TALLY",$J,ABMPKG,ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMBLST,ABMITYP,ABMINS))_ABMTAB
  1. ...W $J($G(^TMP("ABM-TALLY",$J,"BAR-BILLED",ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMBLST,ABMITYP,ABMINS)),15,2)_ABMTAB
  1. ...W $J($G(^TMP("ABM-TALLY",$J,"BAR-CBILLED",ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMBLST,ABMITYP,ABMINS)),15,2)_ABMTAB
  1. ...W $J($G(^TMP("ABM-TALLY",$J,"PAYMENT",ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMBLST,ABMITYP,ABMINS)),15,2)_ABMTAB
  1. ...W $J($G(^TMP("ABM-TALLY",$J,"ADJUST",ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMBLST,ABMITYP,ABMINS)),15,2)_ABMTAB
  1. ...W $J($G(^TMP("ABM-TALLY",$J,"REFUND",ABMVL,ABMCLN,ABMVTYP,ABMSTODT,ABMBLST,ABMITYP,ABMINS)),15,2)
  1. Q
  1. HD D PAZ^ABMDRUTL Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
  1. VHDB ;
  1. W !,"PCC data from Visit file"
  1. W !,"Visit Location"_ABMTAB_"Clinic"_ABMTAB_"Service Cat"_ABMTAB_"Date"_ABMTAB_"with/without claim"_ABMTAB_"Total"
  1. Q
  1. THDB ;
  1. W !,"Third Party Billing data from the 3P Claim Data file"
  1. W !,"Visit Location"_ABMTAB_"Clinic"_ABMTAB_"Visit Type"_ABMTAB_"Date"_ABMTAB_"Claim Status"_ABMTAB_"Insurer Type"_ABMTAB_"Insurer"_ABMTAB_"Total"
  1. Q
  1. BHDB ;
  1. W !,"Accounts Receivable data from the A/R Bill/IHS file"
  1. W !,"Visit Location"_ABMTAB_"Clinic"_ABMTAB_"Visit Type"_ABMTAB_"Date"_ABMTAB_"Bill Status"_ABMTAB
  1. W "Insurer Type"_ABMTAB_"Insurer"_ABMTAB_"Total"_ABMTAB_"Billed"_ABMTAB_"Outstanding"_ABMTAB
  1. W "Payments"_ABMTAB_"Adjustments"_ABMTAB_"Refunds"
  1. Q