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

ABMMUPV4.m

Go to the documentation of this file.
  1. ABMMUPV4 ;IHS/SD/SDR - MU Patient Volume EP Report ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;**8**;NOV 12, 2009
  1. ;
  1. GRPPRT ;EP
  1. I ABMY("RFMT")="P" D PATIENT Q
  1. I +$G(^XTMP("ABM-PVP",$J,"PRV TOP"))>29.99 S ABMPMET=1 D MET Q
  1. D NOTMET
  1. K ^XTMP("ABM-PVP",$J)
  1. Q
  1. MET ;
  1. S ABM("PG")=1
  1. S ABMSDT=$P($G(^XTMP("ABM-PVP",$J,"PRV TOP")),U,2)
  1. D HDR^ABMMUPV3
  1. D MHDR^ABMMUPV3
  1. I $Y+5>IOSL D HD^ABMMUPV3 Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. S ABMVLOC=0
  1. F S ABMVLOC=$O(^XTMP("ABM-PVP",$J,"PRV-DENOM",ABMSDT,ABMVLOC)) Q:'ABMVLOC D
  1. .I $Y+5>IOSL D HD^ABMMUPV3 Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. .F ABM=1:1:80 W "-"
  1. .S ABMLOC=$$GET1^DIQ(9999999.06,ABMVLOC,.02,"E")
  1. .W !,"Patient Volume "_ABMLOC_": "_+$P($G(^XTMP("ABM-PVP",$J,"PRV PERCENT",ABMSDT,ABMVLOC)),U)_"%"
  1. .W !!,"Total Patient Encounters "_ABMLOC_": ",?60,$J(+$G(^XTMP("ABM-PVP",$J,"PRV-DENOM",ABMSDT,ABMVLOC)),8)
  1. .W !,"Total Paid Medicaid Encounters "_ABMLOC_": ",?60,$J(+$G(^XTMP("ABM-PVP",$J,"PRV ENC CNT",ABMSDT,ABMVLOC,"MCD")),8)
  1. .W !,"Total Paid Kidscare/Chip Encounters "_ABMLOC_": ",?60,$J(+$G(^XTMP("ABM-PVP",$J,"PRV ENC CNT",ABMSDT,ABMVLOC,"CHIP")),8)
  1. .W !,"Total Paid Other Encounters "_ABMLOC_": ",?60,$J(+$G(^XTMP("ABM-PVP",$J,"PRV ENC CNT",ABMSDT,ABMVLOC,"OTHR")),8),!
  1. ;
  1. W !
  1. F ABM=1:1:80 W "-"
  1. W !,"Patient Volume all calculated Facilities: ",+$P($G(^XTMP("ABM-PVP",$J,"PRV TOP")),U)_"%"
  1. W !!,"Total Patient Encounters All Facilities Total: ",?60,$J(+$G(^XTMP("ABM-PVP",$J,"PRV-DENOM",ABMSDT)),8)
  1. W !,"Total Paid Medicaid Encounters All Facilities Total: ",?60,$J(+$G(^XTMP("ABM-PVP",$J,"PRV ENC CNT",ABMSDT,"MCD")),8)
  1. W !,"Total Paid Kidscare/Chip Encounters All Facilities Total: ",?60,$J(+$G(^XTMP("ABM-PVP",$J,"PRV ENC CNT",ABMSDT,"CHIP")),8)
  1. W !,"Total Paid Other Encounters All Facilities Total: ",?60,$J(+$G(^XTMP("ABM-PVP",$J,"PRV ENC CNT",ABMSDT,"OTHR")),8)
  1. W !
  1. Q
  1. NOTMET ;EP
  1. S ABMCNT=0
  1. K ABMLN
  1. S ABMSDT=$P($G(^XTMP("ABM-PVP",$J,"PRV TOP")),U,2)
  1. ;
  1. I +$G(ABMY("TVDTS"))'=0 D
  1. .S ABMCNT=0
  1. .S ABMDT=0
  1. .F S ABMDT=$O(^XTMP("ABM-PVP",$J,"PRV PERCENT",ABMDT)) Q:'ABMDT D
  1. ..S ABMPRC($G(^XTMP("ABM-PVP",$J,"PRV PERCENT",ABMDT)),ABMCNT)=ABMDT
  1. .S ABMP=""
  1. .S ABMSAV=ABMCNT-ABMY("TVDTS")
  1. .F S ABMP=$O(ABMPRC(ABMP)) Q:ABMP="" D
  1. ..S ABMCNT=0,ABMC=0
  1. ..F S ABMCNT=$O(ABMPRC(ABMP,ABMCNT)) Q:'ABMCNT D Q:(ABMC=ABMSAV)
  1. ...K ^XTMP("ABM-PVP",$J,"PRV PERCENT",$G(ABMPRC(ABMP,ABMCNT))),ABMP("PRV")
  1. ...S ABMC=ABMC+1
  1. ;
  1. S ABM("PG")=1
  1. S ABMSDT=$P($G(^XTMP("ABM-PVP",$J,"PRV TOP")),U,2)
  1. I +ABMSDT=0 S ABMSDT=ABMY("SDT")
  1. D HDR^ABMMUPV3
  1. W !,"The Patient Volume Threshold (30% for EPs, or 20% for Pediatricians) was not"
  1. W !,"met for the MU Qualification year."
  1. W !,"Details for the volumes that were achieved are provided for your information.",!
  1. W !,"Highest Patient Volume Met: ",+$P($G(^XTMP("ABM-PVP",$J,"PRV TOP")),U)_"%"
  1. W !,"First Day Highest Patient Volume Achieved: ",$$SDT^ABMDUTL(ABMSDT)
  1. W !!,"Patient Volume for the Qualification Year was calculated using the Medicaid"
  1. W !,$S(+$G(ABMFQHC)=1:"/Needy Individual",1:"")_" calculation method."
  1. ;
  1. S ABMTHPV=0
  1. S:ABMSDT ABMTHPV=+$G(^XTMP("ABM-PVP",$J,"PRV-DENOM",ABMSDT))
  1. S ABMMHPV=0
  1. S:ABMSDT ABMMHPV=+$G(^XTMP("ABM-PVP",$J,"PRV-NUM",ABMSDT))
  1. W !!,"Total Patient Encounters of First Highest Patient Volume Period: ",ABMTHPV,!
  1. S ABMU("TXT")="Total Medicaid"_$S(+$G(ABMFQHC)=1:"/Needy Individual",1:"")
  1. S ABMU("TXT")=ABMU("TXT")_" Encounters of First Highest Patient Volume Period: "_ABMMHPV
  1. S ABMU("LM")=0,ABMU("RM")=80,ABMU("LNG")=80
  1. D ^ABMDWRAP
  1. D NMHDR^ABMMUPV3
  1. ;
  1. S ABMSDT=0,ABMCNT=0
  1. F S ABMSDT=$O(^XTMP("ABM-PVP",$J,"PRV-DENOM",ABMSDT)) Q:'ABMSDT D
  1. .;
  1. .;start old code abm*2.6*8 NOHEAT
  1. .;S X1=ABMSDT
  1. .;S X2=89
  1. .;D C^%DTC
  1. .;S ABMEDT=X
  1. .;end old code start new code
  1. .I +$G(ABMY("EDT"))=0 D
  1. ..S X1=ABMSDT
  1. ..S X2=89
  1. ..D C^%DTC
  1. ..S ABMEDT=X
  1. .I +$G(ABMY("EDT"))'=0 S ABMEDT=ABMY("EDT")
  1. .;end new code
  1. .S ABMCNT=ABMCNT+1
  1. .S ABMLN(ABMCNT)=$TR($P($$MDT^ABMDUTL(ABMSDT),"-",1,2),"-"," ")_" - "_$TR($P($$MDT^ABMDUTL(ABMEDT),"-",1,2),"-"," ") ;report period
  1. .S $P(ABMLN(ABMCNT),U,2)=$J($G(^XTMP("ABM-PVP",$J,"PRV PERCENT",ABMSDT)),3)_"%" ;rate
  1. .S $P(ABMLN(ABMCNT),U,3)=$J(+$G(^XTMP("ABM-PVP",$J,"PRV-DENOM",ABMSDT)),6) ;denominator
  1. .S $P(ABMLN(ABMCNT),U,4)=$J(+$G(^XTMP("ABM-PVP",$J,"PRV-NUM",ABMSDT)),6) ;numerator
  1. S ABMCUTOF=$S(ABMCNT#2=1:(ABMCNT+1)\2,1:ABMCNT\2)
  1. S ABMMCNT=1
  1. F ABMCUTOF=(ABMCUTOF+1):1:ABMCNT D
  1. .S ABMLN(ABMMCNT)=ABMLN(ABMMCNT)_U_ABMLN(ABMCUTOF)
  1. .K ABMLN(ABMCUTOF)
  1. .S ABMMCNT=+$G(ABMMCNT)+1
  1. S ABMCNT=0
  1. F S ABMCNT=$O(ABMLN(ABMCNT)) Q:'ABMCNT D Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. .I $Y+5>IOSL D HD^ABMMUPV3,NMHDR^ABMMUPV3 Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. .S ABMPD=$P(ABMLN(ABMCNT),U)
  1. .S ABMRT=$P(ABMLN(ABMCNT),U,2)
  1. .S ABMDEN=$P(ABMLN(ABMCNT),U,3)
  1. .S ABMNUM=$P(ABMLN(ABMCNT),U,4)
  1. .S ABMPD2=$P(ABMLN(ABMCNT),U,5)
  1. .S ABMRT2=$P(ABMLN(ABMCNT),U,6)
  1. .S ABMDEN2=$P(ABMLN(ABMCNT),U,7)
  1. .S ABMNUM2=$P(ABMLN(ABMCNT),U,8)
  1. .W !,ABMPD,?16,ABMRT,?21,ABMDEN,?29,ABMNUM,?40,ABMPD2,?56,ABMRT2,?63,ABMDEN2,?71,ABMNUM2
  1. Q
  1. PATIENT ;EP
  1. S ABM("PG")=1
  1. S ABMSDT=$P($G(^XTMP("ABM-PVP",$J,"PRV TOP")),U,2)
  1. D HDR^ABMMUPV3
  1. Q:ABMSDT=""
  1. S ABMVLOC=0
  1. F S ABMVLOC=$O(^XTMP("ABM-PVP",$J,"PT LST",ABMSDT,ABMVLOC)) Q:'ABMVLOC D Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. .D PTHDR^ABMMUPV3
  1. .S ABMITYP=""
  1. .F S ABMITYP=$O(^XTMP("ABM-PVP",$J,"PT LST",ABMSDT,ABMVLOC,ABMITYP)) Q:ABMITYP="" D Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. ..S ABMINS=""
  1. ..F S ABMINS=$O(^XTMP("ABM-PVP",$J,"PT LST",ABMSDT,ABMVLOC,ABMITYP,ABMINS)) Q:ABMINS="" D Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. ...S ABMPTL=""
  1. ...F S ABMPTL=$O(^XTMP("ABM-PVP",$J,"PT LST",ABMSDT,ABMVLOC,ABMITYP,ABMINS,ABMPTL)) Q:ABMPTL="" D Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. ....S ABMPTF=""
  1. ....F S ABMPTF=$O(^XTMP("ABM-PVP",$J,"PT LST",ABMSDT,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF)) Q:ABMPTF="" D Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. .....S ABMVDT=0
  1. .....F S ABMVDT=$O(^XTMP("ABM-PVP",$J,"PT LST",ABMSDT,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF,ABMVDT)) Q:'ABMVDT D Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. ......S ABMVDFN=0
  1. ......F S ABMVDFN=$O(^XTMP("ABM-PVP",$J,"PT LST",ABMSDT,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF,ABMVDT,ABMVDFN)) Q:'ABMVDFN D Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. .......S ABMPT=$P($G(^XTMP("ABM-PVP",$J,"PT LST",ABMSDT,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF,ABMVDT,ABMVDFN)),U,2)
  1. .......S ABMTRIEN=$P($G(^XTMP("ABM-PVP",$J,"PT LST",ABMSDT,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF,ABMVDT,ABMVDFN)),U,3)
  1. .......S IENS=ABMVLOC_","_ABMPT_","
  1. .......S ABMHRN=$$GET1^DIQ(9000001.41,IENS,.02)
  1. .......W !,$E(ABMPTL_", "_ABMPTF,1,16) ;pt name
  1. .......W ?18,ABMHRN ;HRN
  1. .......W ?25,$E($$GET1^DIQ(9000010,ABMVDFN,.07,"E"),1,3) ;Category
  1. .......W ?29,$E($$GET1^DIQ(9000010,ABMVDFN,.08,"E"),1,8) ;clinic
  1. .......W ?39,$S(ABMITYP="X":"",1:ABMITYP) ;insurer type
  1. .......W ?42,$S(ABMINS="NO BILL":"NOT BILLED",1:$E(ABMINS,1,10)) ;insurer
  1. .......W ?53,$$CDT^ABMDUTL(ABMVDT) ;visit date
  1. .......W ?70,$S(+ABMTRIEN:$$SDTO^ABMDUTL(ABMTRIEN),1:"") ;dt paid
  1. .......I $P($G(^XTMP("ABM-PVP",$J,"PT LST",ABMSDT,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF,ABMVDT,ABMVDFN)),U,4)'="" W ?79,$P(^(ABMVDFN),U,4)
  1. .......I $Y+5>IOSL D HD^ABMMUPV3,PTHDR^ABMMUPV3 Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. Q