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

ABMM2PH2.m

Go to the documentation of this file.
  1. ABMM2PH2 ;IHS/SD/SDR - MU Patient Volume Hospital Report ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;**11,12**;NOV 12, 2009;Build 187
  1. ;IHS/SD/SDR - 2.6*12 - HEAT142398 - Made change for auto dt range, and end of fiscal year
  1. ; to work correctly.
  1. ;
  1. CALC ;EP
  1. S ABMCFLG=0
  1. S ABMSDT=0
  1. F S ABMSDT=$O(^XTMP("ABM-PVH2",$J,"LOC-DENOM",ABMSDT)) Q:'ABMSDT D Q:ABMCFLG
  1. .;I ABMY("90")'="A"&(ABMY("SDT")'=ABMSDT) Q ;only calculate whole year for automated ;abm*2.6*12 HEAT142398
  1. .I "^A^D^"'[("^"_ABMY("90")_"^")&(ABMY("SDT")'=ABMSDT) Q ;only whole year for automated ;abm*2.6*12 HEAT142398
  1. .;I (ABMY("90")="A")&($E(ABMSDT,4,7)>0703) Q ;after 7/3 it won't be 90 days anymore ;abm*2.6*12 HEAT142398
  1. .;start new abm*2.6*12 HEAT142398
  1. .S X1=ABMY("SDT")
  1. .S X2=275
  1. .D C^%DTC
  1. .I "^A^D^"[("^"_ABMY("90")_"^")&(ABMSDT>X) Q ;275 days after start won't contain 90 days anymore ;abm*2.6*12 HEAT134048
  1. .;end new HEAT142398
  1. .S ABMPD=+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM PD",ABMSDT,"MCD"))+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM PD",ABMSDT,"CHIP"))
  1. .S ABMZPD=+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM ZEROPD",ABMSDT,"MCD"))+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM ZEROPD",ABMSDT,"CHIP"))
  1. .S ABMENR=+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM ENR",ABMSDT,"MCD"))+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM ENR",ABMSDT,"CHIP"))
  1. .S ^XTMP("ABM-PVH2",$J,"LOC-NUM",ABMSDT)=+ABMPD+ABMZPD+ABMENR
  1. .S ABMTPRCT=$J((+ABMPD+ABMZPD+ABMENR)/(+$G(^XTMP("ABM-PVH2",$J,"LOC-DENOM",ABMSDT)))*100,0,1)
  1. .S ^XTMP("ABM-PVH2",$J,"LOC PERCENT",ABMSDT)=ABMTPRCT
  1. .I '$D(^XTMP("ABM-PVH2",$J,"LOC TOP")) S ^XTMP("ABM-PVH2",$J,"LOC TOP")=ABMTPRCT_"^"_ABMSDT
  1. .I +$P($G(^XTMP("ABM-PVH2",$J,"LOC TOP")),U)<ABMTPRCT S ^XTMP("ABM-PVH2",$J,"LOC TOP")=ABMTPRCT_"^"_ABMSDT
  1. .;
  1. .S ABMLOC=0
  1. .F S ABMLOC=$O(^XTMP("ABM-PVH2",$J,"LOC-DENOM",ABMSDT,ABMLOC)) Q:'ABMLOC D Q:ABMCFLG
  1. ..S ABMPD=+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM PD",ABMSDT,ABMLOC,"MCD"))+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM PD",ABMSDT,ABMLOC,"CHIP"))
  1. ..S ABMZPD=+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM ZEROPD",ABMSDT,ABMLOC,"MCD"))+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM ZEROPD",ABMSDT,ABMLOC,"CHIP"))
  1. ..S ABMENR=+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM ENR",ABMSDT,ABMLOC,"MCD"))+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM ENR",ABMSDT,ABMLOC,"CHIP"))
  1. ..S ^XTMP("ABM-PVH2",$J,"LOC-NUM",ABMSDT,ABMLOC)=+ABMPD+ABMZPD+ABMENR
  1. ..I (ABMPD+ABMZPD+ABMENR)=0 S ^XTMP("ABM-PVH2",$J,"LOC PERCENT",ABMSDT,ABMLOC)=0 Q
  1. ..S ABMPERCT=$J((+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM",ABMSDT,ABMLOC))/(+$G(^XTMP("ABM-PVH2",$J,"LOC-DENOM",ABMSDT,ABMLOC))))*100,0,1)
  1. ..S ^XTMP("ABM-PVH2",$J,"LOC PERCENT",ABMSDT,ABMLOC)=ABMPERCT
  1. ..I '$D(^XTMP("ABM-PVH2",$J,"LOC TOP",ABMLOC)) S ^XTMP("ABM-PVH2",$J,"LOC TOP",ABMLOC)=ABMPERCT_"^"_ABMSDT
  1. ..I +$P($G(^XTMP("ABM-PVH2",$J,"LOC TOP",ABMLOC)),U)<ABMPERCT S ^XTMP("ABM-PVH2",$J,"LOC TOP",ABMLOC)=ABMPERCT_"^"_ABMSDT
  1. ..I ABMPERCT>9.99,$G(ABMY("A90"))="F" S ABMCFLG=1
  1. Q
  1. ENROLL ;EP
  1. K ABMBILLN,ABMTRAMT,ABMDX,ABMTRIEN
  1. S ABMEFLG=1
  1. S ABMVDFN=0
  1. F S ABMVDFN=$O(^XTMP("ABM-PVH2",$J,"VISITS",ABMVDFN)) Q:'ABMVDFN D
  1. .Q:(+$G(^XTMP("ABM-PVH2",$J,"VISITS",ABMVDFN))=1) ;bill was found for visit
  1. .S ABMPT=$$GET1^DIQ(9000010,ABMVDFN,".05","I")
  1. .I $D(^AUPNVINP("AD",ABMVDFN)) D ;this Visit is linked to V Hosp entry
  1. ..S ABMVIEN=$O(^AUPNVINP("AD",ABMVDFN,0))
  1. ..S (ABMP("VDT"),ABMVDT,ABMSDT)=$P($$GET1^DIQ(9000010.02,ABMVIEN,".01","I"),".")
  1. .I '$D(^AUPNVINP("AD",ABMVDFN)) D
  1. ..S (ABMP("VDT"),ABMVDT,ABMSDT)=$P($$GET1^DIQ(9000010,ABMVDFN,".01","I"),".")
  1. .S ABMVLOC=$$GET1^DIQ(9000010,ABMVDFN,".06","I")
  1. .S ABML=""
  1. .D ELIG^ABMM2PV8
  1. .K ABMINS,ABMOINS,ABMARACT,ABMARIEN
  1. .K ABMITYP
  1. .D CALCDTS^ABMM2PV1
  1. .S ABMDTFLG=0
  1. .S ABMP("BDT")=ABMP("BSDT")
  1. .F D Q:ABMDTFLG=1
  1. ..I ABMP("VDT")<ABMP("BSDT") S ABMDTFLG=1 Q ;visit is before 90-day window
  1. ..I (+$G(ABML("MCD"))=1!(+$G(ABML("CHIP"))=1)) D
  1. ...F ABMGRP="MCD","CHIP" D
  1. ....I +$G(ABML(ABMGRP))'=1 Q
  1. ....I ABMGRP="MCD",((+$G(ABML("MCD"))=1)&(+$G(ABML("CHIP"))=1)) Q
  1. ....S ^XTMP("ABM-PVH2",$J,"LOC ENC CNT",ABMP("BDT"),ABMVLOC,ABMGRP)=+$G(^XTMP("ABM-PVH2",$J,"LOC ENC CNT",ABMP("BDT"),ABMVLOC,ABMGRP))+1
  1. ....S ^XTMP("ABM-PVH2",$J,"LOC ENC CNT",ABMP("BDT"),ABMGRP)=+$G(^XTMP("ABM-PVH2",$J,"LOC ENC CNT",ABMP("BDT"),ABMGRP))+1
  1. ....;
  1. ....S ^XTMP("ABM-PVH2",$J,"LOC-NUM ENR",ABMP("BDT"),ABMGRP)=+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM ENR",ABMP("BDT"),ABMGRP))+1
  1. ....S ^XTMP("ABM-PVH2",$J,"LOC-NUM ENR",ABMP("BDT"),ABMVLOC,ABMGRP)=+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM ENR",ABMP("BDT"),ABMVLOC,ABMGRP))+1
  1. ....S ^XTMP("ABM-PVH2",$J,"LOC-NUM ENR",ABMP("BDT"),ABMGRP,ABMVLOC)=+$G(^XTMP("ABM-PVH2",$J,"LOC-NUM ENR",ABMP("BDT"),ABMGRP,ABMVLOC))+1
  1. ....I +$G(^XTMP("ABM-PVH2",$J,"VISITS",ABMVDFN))'=2 D PTDATA^ABMM2PVH
  1. ....S ^XTMP("ABM-PVH2",$J,"VISITS",ABMVDFN)=1
  1. ..S X1=ABMP("BDT")
  1. ..S X2=1
  1. ..D C^%DTC
  1. ..I X>ABMP("BEDT") S ABMDTFLG=1 Q
  1. ..S ABMP("BDT")=X
  1. Q