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

ABMM2PV1.m

Go to the documentation of this file.
  1. ABMM2PV1 ;IHS/SD/SDR - MU Patient Volume EP Report ; 20 Feb 2014 6:04 AM
  1. ;;2.6;IHS 3P BILLING SYSTEM;**11,12,15**;NOV 12, 2009;Build 251
  1. ;IHS/SD/SDR - 2.6*15 - HEAT161159 - Removed DEMO,PATIENT from report. Also added record indicator.
  1. ;IHS/SD/SDR - 2.6*15 - HEAT156874 - fix for programming error <SUBSCR>OTHERVST+23^ABMM2PV7. Flag wasn't getting reset from previous visit where it was looking for
  1. ; other visits on the same DOS.
  1. ;IHS/SD/SDR - 2.6*15 - HEAT171490 - Added code to put visit location NPI and TIN on patient list. Also added record indicator to label visits on pt list
  1. ; as to what grouping they were counted in.
  1. ;IHS/SD/SDR - 2.6*15 - HEAT174501 - Added primary provider NPI to group report.
  1. ;
  1. COMPUTE ;EP - gather data
  1. ;spec. 90-day
  1. I ABMY("90")="B" D Q
  1. .S X1=ABMY("SDT")
  1. .S X2=89
  1. .D C^%DTC
  1. .S (ABMY("EDT"),ABMP("EDT"))=X
  1. .D VISITS
  1. .D BILLS
  1. .D ENROLL
  1. .D CALC^ABMM2PV2
  1. .D PRINT^ABMM2PV3
  1. ;
  1. I ABMY("90")="E" D Q
  1. .S X1=ABMY("SDT")
  1. .S X2=89
  1. .D C^%DTC
  1. .S (ABMY("EDT"),ABMP("EDT"))=X
  1. .D VISITS
  1. .D BILLS
  1. .D ENROLL
  1. .D CALC^ABMM2PV2
  1. .D PRINT^ABMM2PV3
  1. ;
  1. ;User specified
  1. I ABMY("90")="C" D VISITS,BILLS,ENROLL,CALC^ABMM2PV2,PRINT^ABMM2PV3 Q
  1. ;
  1. ;auto
  1. S (ABMY("SDT"),ABMP("SDT"))=(ABMY("QYR")-1700)_"0101"
  1. S ABMP("EDT")=(ABMY("QYR")-1700)_"1231"
  1. I +$G(ABMY("ADT"))'=0 D
  1. .S ABMP("EDT")=ABMY("ADT")
  1. .S X1=ABMY("ADT")
  1. .S X2=-365
  1. .D C^%DTC
  1. .S (ABMY("SDT"),ABMP("SDT"))=X
  1. D VISITS
  1. D BILLS
  1. D ENROLL
  1. D CALC^ABMM2PV2
  1. I ABMY("RTYP")="SEL",'$D(ABMPRVDR) Q
  1. I ABMY("RTYP")="GRP",(+$G(^XTMP("ABM-PVP2",$J,"PRV TOP"))>29.99)
  1. D PRINT^ABMM2PV3
  1. K ABMY("EDT")
  1. Q
  1. VISITS ;
  1. K ABMRIND ;make sure there is no record indicator for visits ;abm*2.6*15
  1. S ABMSDT=ABMP("SDT")
  1. S ABMEDT=ABMP("EDT")+.999999
  1. S ABMINS=0,ABMOINS="NO BILL"
  1. S ABMITYP="X"
  1. F S ABMSDT=$O(^AUPNVSIT("B",ABMSDT)) Q:'ABMSDT!(ABMSDT>ABMEDT) D
  1. .S ABMVDFN=0
  1. .F S ABMVDFN=$O(^AUPNVSIT("B",ABMSDT,ABMVDFN)) Q:'ABMVDFN D
  1. ..Q:$$GET1^DIQ(9000010,ABMVDFN,".05","E")["DEMO,PATIENT" ;abm*2.6*15 HEAT161159 remove demo patients from list
  1. ..S ABMSCAT=$$GET1^DIQ(9000010,ABMVDFN,.07,"I") ;serv cat
  1. ..S ABMCLNC=$$GET1^DIQ(9000010,ABMVDFN,.08,"I") ;clinic
  1. ..S ABMP("VDT")=$P($$GET1^DIQ(9000010,ABMVDFN,.01,"I"),".") ;vst dt
  1. ..;Q:"^39^D1^D2^76^63^51^52^72^22^42^54^57^66^71^77^B5^C6^"[("^"_$$GET1^DIQ(40.7,$$GET1^DIQ(9000010,ABMVDFN,.08,"I"),1,"E")_"^")&(ABMY("RTYP")="SEL") ;exclude clinics ;abm*2.6*15 HEAT203662
  1. ..Q:"^39^D1^D2^76^63^51^52^72^22^42^54^57^66^71^77^B5^C6^"[("^"_$$GET1^DIQ(40.7,$$GET1^DIQ(9000010,ABMVDFN,.08,"I"),1,"I")_"^")&(ABMY("RTYP")="SEL") ;exclude clinics ;abm*2.6*15 HEAT203662
  1. ..S ABMPT=$$GET1^DIQ(9000010,ABMVDFN,.05,"I") ;pt
  1. ..;if SEL rpt type, serv cat MUST be S,O,R, or (A w/clinic'=30)
  1. ..I "^H^I^C^T^N^E^D^X^R^"[("^"_ABMSCAT_"^") Q
  1. ..I (ABMSCAT="A")&(ABMCLNC=30) Q
  1. ..S ABMVLOC=$$GET1^DIQ(9000010,ABMVDFN,.06,"I")
  1. ..Q:ABMVLOC=""
  1. ..I ($$GET1^DIQ(9000010,ABMVDFN,.12)'="")&(ABMSDT>$$GET1^DIQ(9000010,ABMVDFN,.12,"I")&($$GET1^DIQ(9000010,ABMVDFN,1111,"I")'="R")) Q
  1. ..Q:'$D(ABMF(ABMVLOC)) ;not a selected loc
  1. ..S ABMNPI=$S($P($$NPI^XUSNPI("Organization_ID",ABMVLOC),U)>0:$P($$NPI^XUSNPI("Organization_ID",ABMVLOC),U),1:"") ;abm*2.6*15 added
  1. ..S ABMTIN=$$GET1^DIQ(9999999.06,ABMVLOC,".21","E") ;abm*2.6*15 added
  1. ..I ABMY("RTYP")="GRP" D GRPVST Q
  1. ..S ABMPIEN=0
  1. ..K ABMPRVC
  1. ..F S ABMPIEN=$O(^AUPNVPRV("AD",ABMVDFN,ABMPIEN)) Q:'ABMPIEN D
  1. ...S ABMPRV=$$GET1^DIQ(9000010.06,ABMPIEN,.01,"I")
  1. ...Q:'$D(ABMPRVDR(ABMPRV))
  1. ...;skip prv if on vst >1
  1. ...Q:$D(ABMPRVC(ABMPRV))
  1. ...S ABMPRVC(ABMPRV)=1
  1. ...D CALCDTS
  1. ...S ABMDTFLG=0
  1. ...S ABMP("BDT")=ABMP("BSDT")
  1. ...;Q:$D(^XTMP("ABM-PVP2",$J,"PT VSTS",ABMPT,ABMSDT)) ;abm*2.6*15
  1. ...Q:$D(^XTMP("ABM-PVP2",$J,"PT VSTS",ABMPT,ABMSDT,ABMVDFN)) ;make sure it hasn't counted this specific visit already ;abm*2.6*15
  1. ...F D Q:ABMDTFLG=1
  1. ....I ABMP("VDT")<ABMP("BSDT") Q ;vst is before 90-day
  1. ....S ^XTMP("ABM-PVP2",$J,"PRV-DENOM",ABMP("BDT"),ABMPRV)=+$G(^XTMP("ABM-PVP2",$J,"PRV-DENOM",ABMP("BDT"),ABMPRV))+1
  1. ....S ^XTMP("ABM-PVP2",$J,"PRV-DENOM",ABMP("BDT"),ABMPRV,ABMVLOC)=+$G(^XTMP("ABM-PVP2",$J,"PRV-DENOM",ABMP("BDT"),ABMPRV,ABMVLOC))+1
  1. ....S ^XTMP("ABM-PVP2",$J,"PT VSTS",ABMPT,ABMSDT,ABMVDFN)="" ;list of vsts by pt,DOS
  1. ....S ^XTMP("ABM-PVP2",$J,"VISITS",ABMVDFN)="" ;list of vsts to chk for pymt
  1. ....S ^XTMP("ABM-PVP2",$J,"VISIT CNT",ABMP("BDT"))=+$G(^XTMP("ABM-PVP2",$J,"VISIT CNT",ABMP("BDT")))+1 ;cnt vsts
  1. ....S ^XTMP("ABM-PVP2",$J,"ALL VISITS",ABMP("BDT"),ABMVDFN)="" ;list of all vsts looked at
  1. ....I (^XTMP("ABM-PVP2",$J,"VISIT CNT",ABMP("BDT"))#1000&(IOST["C")) W "." U 0 W "."
  1. ....K ABMITYP
  1. ....D PTDATA
  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. ;
  1. Q
  1. GRPVST ;EP
  1. S ABMPIEN=0
  1. K ABMPRVC
  1. K ABMPNPI,ABMPRVN ;IHS/SD/SDR 9/5/14 HEAT174501
  1. F S ABMPIEN=$O(^AUPNVPRV("AD",ABMVDFN,ABMPIEN)) Q:'ABMPIEN D
  1. .S ABMPRV=$$GET1^DIQ(9000010.06,ABMPIEN,.01,"I")
  1. .;start new abm*2.6*15 HEAT174501
  1. .S ABMPRVST=$$GET1^DIQ(9000010.06,ABMPIEN,".04","I")
  1. .I ABMPRVST="P" D
  1. ..S ABMPNPI=$S($P($$NPI^XUSNPI("Individual_ID",+ABMPRV),U)>0:$P($$NPI^XUSNPI("Individual_ID",+ABMPRV),U),1:"")
  1. ..S ABMPRVN=$$GET1^DIQ(9000010.06,ABMPIEN,".01","E")
  1. ..S ^XTMP("ABM-PVP2",$J,"PRVS",ABMVDFN)=ABMPNPI_U_ABMPRVN
  1. .;end new HEAT174501
  1. .;skip prv if on vst >1
  1. .Q:$D(ABMPRVC(ABMPRV))
  1. .S ABMPRVC(ABMPRV)=1
  1. .S ABMPRVCL=+$$GET1^DIQ(200,ABMPRV,53.5,"I")
  1. .I ABMPRVCL=0 S ABMPRV("O",ABMPRV)=""
  1. .I ABMPRVCL'=0 D
  1. ..I '$D(^ABMMUPRM(1,2,"B",ABMPRVCL)) S ABMPRV("O",ABMPRV)=""
  1. ..I $$GET1^DIQ(7,ABMPRVCL,9999999.01,"E")=11 D
  1. ...I '$D(^ABMMUPRM(1,1,"B",ABMVLOC)) S ABMPRV("O",ABMPRV)=""
  1. ...I $D(^ABMMUPRM(1,1,"B",ABMVLOC)) D
  1. ....S ABMVIEN=$O(^ABMMUPRM(1,1,"B",ABMVLOC,0))
  1. ....I $P($G(^ABMMUPRM(1,1,ABMVIEN,0)),U,2)=1 S ABMPRV("E",ABMPRV)=""
  1. ....I $P($G(^ABMMUPRM(1,1,ABMVIEN,0)),U,2)'=1 S ABMPRV("O",ABMPRV)=""
  1. ..I $$GET1^DIQ(7,ABMPRVCL,9999999.01,"E")'=11,$D(^ABMMUPRM(1,2,"B",ABMPRVCL)) S ABMPRV("E",ABMPRV)=""
  1. D CALCDTS
  1. S ABMDTFLG=0
  1. S ABMP("BDT")=ABMP("BSDT")
  1. Q:$D(^XTMP("ABM-PVP2",$J,"PT VSTS",ABMPT,ABMSDT))
  1. F D Q:ABMDTFLG=1
  1. .S ^XTMP("ABM-PVP2",$J,"PRV-DENOM",ABMP("BDT"))=+$G(^XTMP("ABM-PVP2",$J,"PRV-DENOM",ABMP("BDT")))+1
  1. .S ^XTMP("ABM-PVP2",$J,"PRV-DENOM",ABMP("BDT"),ABMVLOC)=+$G(^XTMP("ABM-PVP2",$J,"PRV-DENOM",ABMP("BDT"),ABMVLOC))+1
  1. .S ^XTMP("ABM-PVP2",$J,"PT VSTS",ABMPT,ABMSDT,ABMVDFN)="" ;list of vsts by pt,DOS
  1. .S ^XTMP("ABM-PVP2",$J,"VISITS",ABMVDFN)="" ;list of vsts to chk for pymt
  1. .S ^XTMP("ABM-PVP2",$J,"VISIT CNT",ABMP("BDT"))=+$G(^XTMP("ABM-PVP2",$J,"VISIT CNT",ABMP("BDT")))+1 ;cnt of vsts
  1. .I (^XTMP("ABM-PVP2",$J,"VISIT CNT",ABMP("BDT"))#1000&(IOST["C")) W "." U 0 W "."
  1. .D GPTDATA
  1. .;
  1. .S X1=ABMP("BDT")
  1. .S X2=1
  1. .D C^%DTC
  1. .I X>ABMP("VDT") S ABMDTFLG=1 Q
  1. .S ABMP("BDT")=X
  1. .K ABMITYP
  1. Q
  1. CALCDTS ;EP
  1. ;Calc 90 days
  1. S X1=$P(ABMSDT,".")
  1. S X2=$P(ABMY("SDT"),".")
  1. D ^%DTC
  1. S X1=$P(ABMSDT,".")
  1. S X2=$S(X<89:-X,1:-89)
  1. D C^%DTC
  1. S ABMP("BSDT")=X
  1. S ABMP("BEDT")=ABMP("VDT")
  1. Q
  1. BILLS ;E
  1. S ABMCNT=0
  1. S ABMDUZ2=0
  1. S ABMFOUND=0
  1. F S ABMDUZ2=$O(^ABMDBILL(ABMDUZ2)) Q:'ABMDUZ2 D
  1. .Q:'$D(^ABMDBILL(ABMDUZ2,0))
  1. .S ABMVDFN=0
  1. .F S ABMVDFN=$O(^XTMP("ABM-PVP2",$J,"VISITS",ABMVDFN)) Q:'ABMVDFN D
  1. ..S ABMBILLF=0
  1. ..S ABMFOUND=0 ;abm*2.6*15 HEAT156874
  1. ..S ABMRIND="" ;abm*2.6*15 HEAT161159 record indicator
  1. ..Q:($G(^XTMP("ABM-PVP2",$J,"VISITS",ABMVDFN))=1) ;already cnted this vst on rpt
  1. ..Q:'$D(^ABMDBILL(ABMDUZ2,"AV",ABMVDFN)) ;vst not under DUZ(2)
  1. ..K ABMBILLN,ABMSAV
  1. ..S ABMP("BDFN")=0
  1. ..F S ABMP("BDFN")=$O(^ABMDBILL(ABMDUZ2,"AV",ABMVDFN,ABMP("BDFN"))) Q:'ABMP("BDFN") D Q:ABMBILLF
  1. ...Q:($G(^XTMP("ABM-PVP2",$J,"VISITS",ABMVDFN))=1) ;already cnted this vst on rpt
  1. ...;S (ABMBILLN,ABMSAV)=$P($G(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),0)),U) ;abm*2.6*15 HEAT161159 record indicator
  1. ...S (ABMBILLN,ABMSAV,ABMBNUM)=$P($G(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),0)),U) ;abm*2.6*15 HEAT161159 record indicator
  1. ...I $P($G(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),0)),U,4)="X" Q
  1. ...S ABMSDT=$P($$GET1^DIQ(9000010,ABMVDFN,".01","I"),".")
  1. ...S ABMVLOC=$P($G(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),0)),U,3)
  1. ...S ABMP("VDT")=$P($G(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),7)),U)
  1. ...S ABMINS=$P($G(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),0)),U,8)
  1. ...;S ABMTSI=$P($G(^ABMNINS(ABMDUZ2,ABMINS,0)),U,11) ;abm*2.6*15 HEAT183289
  1. ...S ABMPT=$P($G(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),0)),U,5)
  1. ...S (ABMDOS,ABMDOSSV)=$P($G(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),7)),U)
  1. ...;start new abm*2.6*15 HEAT171490
  1. ...S ABMVTYP=$P($G(^ABMDBILL(ABMDUZ2,ABMP("BDFN"),0)),U,7)
  1. ...S ABMLNPI=$S($P($G(^ABMNINS(ABMVLOC,ABMINS,1,ABMVTYP,1)),U,8)'="":$P(^ABMNINS(ABMVLOC,ABMINS,1,ABMVTYP,1),U,8),$P($G(^ABMDPARM(ABMVLOC,1,2)),U,12)'="":$P(^ABMDPARM(ABMVLOC,1,2),U,12),1:ABMVLOC)
  1. ...S ABMNPI=$S($P($$NPI^XUSNPI("Organization_ID",ABMLNPI),U)>0:$P($$NPI^XUSNPI("Organization_ID",ABMLNPI),U),1:"")
  1. ...S ABMTIN=$$GET1^DIQ(9999999.06,ABMLNPI,".21","E")
  1. ...;end new HEAT171490
  1. ...K ABMDX
  1. ...D PRIMPOV^ABMM2PV7 ;get prim POV for bill
  1. ...D ARBILLS
  1. ...S ABMBILLN=ABMBNUM ;abm*2.6*15 HEAT161159 record indicator
  1. ...I +$G(ABMFOUND)=1 D OTHERVST ;check for other vsts on DOS to mark pd
  1. ..;
  1. ..S ABMRIND="" ;abm*2.6*15 HEAT161159 record indicator
  1. ..;look thru bills found & remove zero pays when pymt was found - GROUP PROVIDERS
  1. ..I ABMY("RTYP")="GRP" D Q
  1. ...S ABMP("BDT")=0
  1. ...F S ABMP("BDT")=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM PD BILLS",ABMP("BDT"))) Q:'ABMP("BDT") D
  1. ....S ABMGRP=""
  1. ....F S ABMGRP=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM PD BILLS",ABMP("BDT"),ABMGRP)) Q:ABMGRP="" D
  1. .....S ABMP("VDFN")=0 ;abm*2.6*12
  1. .....F S ABMP("VDFN")=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM PD BILLS",ABMP("BDT"),ABMGRP,ABMP("VDFN"))) Q:'ABMP("VDFN") D
  1. ......I $D(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS",ABMP("BDT"),ABMGRP,ABMP("VDFN"))) D
  1. .......K ^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS",ABMP("BDT"),ABMGRP,ABMP("VDFN"))
  1. ......S ^XTMP("ABM-PVP2",$J,"PRV-NUM PD",ABMP("BDT"),ABMGRP)=+$G(^XTMP("ABM-PVP2",$J,"PRV-NUM PD",ABMP("BDT"),ABMGRP))+1
  1. ......S ^XTMP("ABM-PVP2",$J,"PRV-NUM PD",ABMP("BDT"),ABMVLOC,ABMGRP)=+$G(^XTMP("ABM-PVP2",$J,"PRV-NUM PD",ABMP("BDT"),ABMVLOC,ABMGRP))+1
  1. ......;I ABMGRP="MCD"!($D(ABMI("INS",ABMINS))) S ABMRIND="PD" ;abm*2.6*15 HEAT161159 record indicator
  1. ...K ^XTMP("ABM-PVP2",$J,"PRV-NUM PD BILLS")
  1. ...S ABMP("BDT")=0
  1. ...F S ABMP("BDT")=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS",ABMP("BDT"))) Q:'ABMP("BDT") D
  1. ....S ABMGRP=""
  1. ....F S ABMGRP=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS",ABMP("BDT"),ABMGRP)) Q:ABMGRP="" D
  1. .....S ABMP("VDFN")=0 ;abm*2.6*12
  1. .....F S ABMP("VDFN")=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS",ABMP("BDT"),ABMGRP,ABMP("VDFN"))) Q:'ABMP("VDFN") D
  1. ......S ^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD",ABMP("BDT"),ABMVLOC,ABMGRP)=+$G(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD",ABMP("BDT"),ABMVLOC,ABMGRP))+1
  1. ......S ^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD",ABMP("BDT"),ABMGRP)=+$G(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD",ABMP("BDT"),ABMGRP))+1
  1. ......;I ABMGRP="MCD"!($D(ABMI("INS",ABMINS))) S ABMRIND="ZPD" ;abm*2.6*15 HEAT161159 record indicator
  1. ...K ^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS")
  1. ..;
  1. ..;look thru bills found & remove zero pays when pymt was found - INDIV PRVS
  1. ..S ABMP("BDT")=0
  1. ..F S ABMP("BDT")=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM PD BILLS",ABMP("BDT"))) Q:'ABMP("BDT") D
  1. ...S ABMPRV=0
  1. ...F S ABMPRV=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM PD BILLS",ABMP("BDT"),ABMPRV)) Q:'ABMPRV D
  1. ....S ABMGRP=""
  1. ....F S ABMGRP=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM PD BILLS",ABMP("BDT"),ABMPRV,ABMGRP)) Q:ABMGRP="" D
  1. .....S ABMP("VDFN")=0 ;abm*2.6*12
  1. .....F S ABMP("VDFN")=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM PD BILLS",ABMP("BDT"),ABMPRV,ABMGRP,ABMP("VDFN"))) Q:'ABMP("VDFN") D
  1. ......I $D(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS",ABMP("BDT"),ABMPRV,ABMGRP,ABMP("VDFN"))) D
  1. .......K ^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS",ABMP("BDT"),ABMPRV,ABMGRP,ABMP("VDFN"))
  1. ......S ^XTMP("ABM-PVP2",$J,"PRV-NUM PD",ABMP("BDT"),ABMPRV,ABMGRP)=+$G(^XTMP("ABM-PVP2",$J,"PRV-NUM PD",ABMP("BDT"),ABMPRV,ABMGRP))+1
  1. ......S ^XTMP("ABM-PVP2",$J,"PRV-NUM PD",ABMP("BDT"),ABMPRV,ABMVLOC,ABMGRP)=+$G(^XTMP("ABM-PVP2",$J,"PRV-NUM PD",ABMP("BDT"),ABMPRV,ABMVLOC,ABMGRP))+1
  1. ......S ^XTMP("ABM-PVP2",$J,"TEST","PD",ABMP("BDT"),ABMVDFN)=""
  1. ......;I ABMGRP="MCD"!($D(ABMI("INS",ABMINS))) S ABMRIND="PD" ;abm*2.6*15 HEAT161159 record indicator
  1. ..K ^XTMP("ABM-PVP2",$J,"PRV-NUM PD BILLS")
  1. ..S ABMP("BDT")=0
  1. ..F S ABMP("BDT")=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS",ABMP("BDT"))) Q:'ABMP("BDT") D
  1. ...S ABMPRV=0
  1. ...F S ABMPRV=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS",ABMP("BDT"),ABMPRV)) Q:'ABMPRV D
  1. ....S ABMGRP=""
  1. ....F S ABMGRP=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS",ABMP("BDT"),ABMPRV,ABMGRP)) Q:ABMGRP="" D
  1. .....S ABMP("VDFN")=0
  1. .....F S ABMP("VDFN")=$O(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS",ABMP("BDT"),ABMPRV,ABMGRP,ABMP("VDFN"))) Q:'ABMP("VDFN") D
  1. .....S ^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD",ABMP("BDT"),ABMPRV,ABMVLOC,ABMGRP)=+$G(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD",ABMP("BDT"),ABMPRV,ABMVLOC,ABMGRP))+1
  1. .....S ^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD",ABMP("BDT"),ABMPRV,ABMGRP)=+$G(^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD",ABMP("BDT"),ABMPRV,ABMGRP))+1
  1. .....S ^XTMP("ABM-PVP2",$J,"TEST","ZEROPD",ABMP("BDT"),ABMVDFN)=""
  1. ....;.I ABMGRP="MCD"!($D(ABMI("INS",ABMINS))) S ABMRIND="ZPD" ;abm*2.6*15 HEAT161159 record indicator
  1. ..K ^XTMP("ABM-PVP2",$J,"PRV-NUM ZEROPD BILLS")
  1. Q
  1. ARBILLS ;
  1. D ARBILLS^ABMM2P12 ;abm*2.6*15 split routine due to size
  1. Q
  1. TRANS ;
  1. D TRANS^ABMM2P12 ;abm*2.6*15 split routine due to size
  1. Q
  1. ZEROPD ;EP
  1. D ZEROPD^ABMM2PV7
  1. Q
  1. GRPBILL ;
  1. D GRPBILL^ABMM2PV7
  1. Q
  1. GRPOTHVS ;
  1. D GRPOTHVS^ABMM2PV7
  1. Q
  1. OTHERVST ;EP
  1. D OTHERVST^ABMM2PV7
  1. Q
  1. GPTDATA ;EP
  1. D GPTDATA^ABMM2PV7
  1. Q
  1. PTDATA ;EP
  1. D PTDATA^ABMM2PV7
  1. Q
  1. ENROLL ;EP
  1. D ENROLL^ABMM2PV7
  1. Q