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

ABMM2PV3.m

Go to the documentation of this file.
  1. ABMM2PV3 ;IHS/SD/SDR - MU Patient Volume EP Report ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;**11,12,15**;NOV 12, 2009;Build 251
  1. ;IHS/SD/SDR 2.6*12 - Uncomp'd should be a separate detail line and s/be incl. in pt vol total, not as separate line.
  1. ;IHS/SD/SDR 2.6*12 - Incl. numer and msgs about numer. and denom.
  1. ;IHS/SD/SDR 2.6*15 - HEAT161159 - Changed PT LST to sort differently so there won't be duplicate vsts on pt lst. Also made
  1. ; change so it will correctly rpt category for pt on pt lst, and added record indicator.
  1. ;IHS/SD/SDR 2.6*15 - HEAT171490 - Added fac NPI and TIN to pt list host file
  1. ;IHS/SD/SDR 2.6*15 - HEAT183289 - Made changes to print tribal self-insured summary line
  1. ;IHS/SD/SDR 2.6*15 - Rearranged code so all prvs would print in HFS file instead of just first one
  1. ;IHS/SD/SDR 2.6*15 - HEAT188548 - Format vst dt to 4 digits
  1. ;IHS/SD/SDR 2.6*15 - If pt has MCD and CHIP and user runs report excluding CHIP, it will flag both so it can be counted in
  1. ; MCD enrolled; if they include CHIP it flags CHIP only so it doesn't get confusing.
  1. ;
  1. PRINT ;EP
  1. I ABMY("RTYP")="GRP" D GRPPRT^ABMM2PV4 Q
  1. ;start new abm*2.6*15
  1. ;Write all providers, not just first, to HFS file
  1. I ABMY("RFMT")="P",$G(ABMFN)'="" D Q
  1. .D OPEN^%ZISH("ABM",ABMPATH,ABMFN,"W")
  1. .Q:POP
  1. .U IO
  1. .S ABMPRV=0
  1. .F S ABMPRV=$O(ABMP(ABMPRV)) Q:'ABMPRV D D PAZ^ABMDRUTL Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
  1. ..S ABMPMET=0
  1. ..D PTHSTFL
  1. .;
  1. .D CLOSE^%ZISH("ABM")
  1. ;end new abm*2.6*15
  1. ;
  1. S ABMPRV=0
  1. F S ABMPRV=$O(ABMP(ABMPRV)) Q:'ABMPRV D D PAZ^ABMDRUTL Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
  1. .S ABMPMET=0
  1. .I ABMY("RFMT")="P" D PATIENT Q
  1. .I +$G(^XTMP("ABM-PVP2",$J,"PRV TOP",ABMPRV))>29.5 S ABMPMET=1 D MET Q
  1. .I +$G(^XTMP("ABM-PVP2",$J,"PRV TOP",ABMPRV))>19.5&($$DOCLASS^ABMDVST2(ABMPRV)["PEDIAT") S ABMPMET=1 D MET Q
  1. .D NOTMET
  1. K ^XTMP("ABM-PVP2",$J)
  1. Q
  1. MET ;
  1. D MET^ABMM2PV9 ;split routine due to size
  1. Q
  1. NOTMET ;EP
  1. D NOTMET^ABMM2PV5
  1. Q
  1. PATIENT ;EP
  1. ;I ABMY("RFMT")="P",$G(ABMFN)'="" D PTHSTFL Q ;abm*2.6*15 - was only printing first provider selected this way
  1. S ABM("PG")=1
  1. S ABMSDT=$P($G(^XTMP("ABM-PVP2",$J,"PRV TOP",ABMPRV)),U,2)
  1. D HDR
  1. Q:ABMSDT=""
  1. S ABMVLOC=0
  1. F S ABMVLOC=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC)) Q:'ABMVLOC D Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. .D PTHDR
  1. .;start old abm*2.6*15 HEAT161159
  1. .;S ABMITYP=""
  1. .;F S ABMITYP=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,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-PVP2",$J,"PT LST",ABMSDT,ABMPRV,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-PVP2",$J,"PT LST",ABMSDT,ABMPRV,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-PVP2",$J,"PT LST",ABMSDT,ABMPRV,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-PVP2",$J,"PT LST",ABMSDT,ABMPRV,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=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF,ABMVDT,0))
  1. .;.....S ABMPT=$P($G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF,ABMVDT,ABMVDFN)),U,2)
  1. .;.....S ABMTRIEN=$P($G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,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)
  1. .;.....W ?18,ABMHRN
  1. .;.....W ?25,$E($$GET1^DIQ(9000010,ABMVDFN,.07,"E"),1,3)
  1. .;.....W ?29,$E($$GET1^DIQ(9000010,ABMVDFN,.08,"E"),1,8)
  1. .;.....W ?39,$S(ABMITYP="X":"",1:ABMITYP)
  1. .;.....W ?42,$S(ABMINS="NO BILL":"NOT BILLED",1:$E(ABMINS,1,10))
  1. .;.....W ?53,$$CDT^ABMDUTL(ABMVDT)
  1. .;.....W ?70,$S(+ABMTRIEN:$$SDTO^ABMDUTL(ABMTRIEN),1:"")
  1. .;.....I $P($G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF,ABMVDT,ABMVDFN)),U,4)'="" W ?79,$P(^(ABMVDFN),U,4)
  1. .;.....I $Y+5>IOSL D HD,PTHDR Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. .;end old start new HEAT161159
  1. .S ABMVDT=0
  1. .F S ABMVDT=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,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-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,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-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMVDT,ABMVDFN)),U,2)
  1. ...S ABMTRIEN=$P($G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMVDT,ABMVDFN)),U,3)
  1. ...S ABMINS=$P($G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMVDT,ABMVDFN)),U,5)
  1. ...S IENS=ABMVLOC_","_ABMPT_","
  1. ...S ABMHRN=$$GET1^DIQ(9000001.41,IENS,.02)
  1. ...S ABMPTL=$P($G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMVDT,ABMVDFN)),U,10)
  1. ...S ABMPTF=$P($G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMVDT,ABMVDFN)),U,11)
  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-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMVDT,ABMVDFN)),U,4)'="" W ?79,$P(^(ABMVDFN),U,4)
  1. ...I $Y+5>IOSL D HD,PTHDR Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
  1. ;end new HEAT161159
  1. Q
  1. PTHSTFL ;EP
  1. S ABMSDT=$P($G(^XTMP("ABM-PVP2",$J,"PRV TOP",ABMPRV)),U,2)
  1. K ABMDCNT
  1. ;start old abm*2.6*15 moved up so all providers will print in one HFS file
  1. ;D OPEN^%ZISH("ABM",ABMPATH,ABMFN,"W")
  1. ;Q:POP
  1. ;U IO
  1. ;end old abm*2.6*15
  1. S ABM("PG")=1
  1. D HDR
  1. W !,"Visit Location"_U_"Patient"_U_"Chart#"_U_"Policy Holder ID"_U_"Serv Cat"_U_"Clinic"_U_"Provider NPI"_U_"InsType"_U_"BilledTo"
  1. W U_"DateOfService"_U_"DatePaid"_U_"Medicaid/SchipPaid"_U_"Bill#"_U_"Payment"_U_"Primary POV"_U_"PRVT"_U_"MCR"_U_"MCD"_U_"CHIP"_U_"Needy Indiv."
  1. W U_"Tribal self-insured" ;abm*2.6*15 HEAT183289
  1. W U_"MCD ST" ;abm*2.6*15 HEAT164125
  1. W U_"Facility NPI"_U_"Facility TIN"_U_"Record Indicator" ;abm*2.6*15 HEAT171490 and HEAT161159
  1. Q:ABMSDT=""
  1. S ABMVLOC=0
  1. F S ABMVLOC=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC)) Q:'ABMVLOC D
  1. .;start old abm*2.6*15 HEAT161159
  1. .;S ABMITYP=""
  1. .;F S ABMITYP=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMITYP)) Q:ABMITYP="" D
  1. .;.S ABMINS=""
  1. .;.F S ABMINS=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMITYP,ABMINS)) Q:ABMINS="" D
  1. .;..S ABMPTL=""
  1. .;..F S ABMPTL=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMITYP,ABMINS,ABMPTL)) Q:ABMPTL="" D
  1. .;...S ABMPTF=""
  1. .;...F S ABMPTF=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF)) Q:ABMPTF="" D
  1. .;....S ABMVDT=0
  1. .;....F S ABMVDT=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF,ABMVDT)) Q:'ABMVDT D
  1. .;.....S ABMP("VDT")=ABMVDT
  1. .;.....S ABMVDFN=0
  1. .;.....F S ABMVDFN=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF,ABMVDT,ABMVDFN)) Q:'ABMVDFN D
  1. .;......I +$G(^XTMP("ABM-PVP2",$J,"DUPS",ABMVDFN))=1 S ABMDCNT=+$G(ABMDCNT)+1
  1. .;......S ^XTMP("ABM-PVP2",$J,"DUPS",ABMVDFN)=1
  1. .;......S ABMPT=$P($G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF,ABMVDT,ABMVDFN)),U,2)
  1. .;......S ABMTRIEN=$P($G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,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 !,$$GET1^DIQ(9999999.06,ABMVLOC,".02","E")
  1. .;......W U_ABMPTL_", "_ABMPTF
  1. .;......W U_ABMHRN
  1. .;......K ABML
  1. .;......D ELGCHK
  1. .;......S ABMMIEN=0
  1. .;......K ABMMCDN
  1. .;......I ($G(ABML("MCD"))!($G(ABML("CHIP")))) D
  1. .;.......S ABMMIEN=+$G(ABMP("SAVE"))
  1. .;.......I ABMMIEN D
  1. .;........S ABMMCDN=$P($G(^AUPNMCD(ABMMIEN,0)),U,3)
  1. .;.......I 'ABMMIEN D PRVTCHIP
  1. .;......I $G(ABMMCDN)'="" W U_ABMMCDN ;Medicaid # - policy holder ID
  1. .;......I 'ABMMIEN W U
  1. .;......W U_$$GET1^DIQ(9000010,ABMVDFN,.07,"E") ;Category
  1. .;......W U_$$GET1^DIQ(9000010,ABMVDFN,.08,"E") ;clinic
  1. .;......W U_$S($P($$NPI^XUSNPI("Individual_ID",+ABMPRV),U)>0:$P($$NPI^XUSNPI("Individual_ID",+ABMPRV),U),1:"") ;provider NPI
  1. .;......W U_$S(ABMITYP="X":"",1:ABMITYP) ;insurer type
  1. .;......W U_$S(ABMINS="NO BILL":"NOT BILLED",1:$E(ABMINS,1,10)) ;insurer
  1. .;......W U_$$CDT^ABMDUTL(ABMVDT) ;visit date
  1. .;......W U_$S(+ABMTRIEN:$$SDTO^ABMDUTL(ABMTRIEN),1:"") ;dt paid
  1. .;......S ABMREC=$G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMITYP,ABMINS,ABMPTL,ABMPTF,ABMVDT,ABMVDFN))
  1. .;......D ELGCHK
  1. .;......W U_$P($G(ABMREC),U,4)
  1. .;......W U_$P($G(ABMREC),U,5)
  1. .;......W U_$P($G(ABMREC),U,6)
  1. .;......W U_$P($G(ABMREC),U,7)
  1. .;......W U_ABMPI_U_ABMMCR_U_ABMMCD_U_ABMCHIP_U_ABMNI
  1. .;end old start new HEAT161159
  1. .S ABMVDT=0
  1. .F S ABMVDT=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMVDT)) Q:'ABMVDT D
  1. ..S ABMP("VDT")=ABMVDT
  1. ..S ABMVDFN=0
  1. ..F S ABMVDFN=$O(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMVDT,ABMVDFN)) Q:'ABMVDFN D
  1. ...I +$G(^XTMP("ABM-PVP2",$J,"DUPS",ABMVDFN))=1 S ABMDCNT=+$G(ABMDCNT)+1
  1. ...S ^XTMP("ABM-PVP2",$J,"DUPS",ABMVDFN)=1
  1. ...S ABMPT=$P($G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMVDT,ABMVDFN)),U,2)
  1. ...S ABMTRIEN=$P($G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMVDT,ABMVDFN)),U,3)
  1. ...S ABMREC=$G(^XTMP("ABM-PVP2",$J,"PT LST",ABMSDT,ABMPRV,ABMVLOC,ABMVDT,ABMVDFN))
  1. ...S ABMITYP=$P(ABMREC,U,8)
  1. ...S ABMINS=$P(ABMREC,U,9)
  1. ...S ABMPTL=$P(ABMREC,U,10)
  1. ...S ABMPTF=$P(ABMREC,U,11)
  1. ...S IENS=ABMVLOC_","_ABMPT_","
  1. ...S ABMHRN=$$GET1^DIQ(9000001.41,IENS,.02)
  1. ...W !,$$GET1^DIQ(9999999.06,ABMVLOC,".02","E")
  1. ...W U_ABMPTL_", "_ABMPTF ;pt name
  1. ...W U_ABMHRN ;HRN
  1. ...K ABML
  1. ...D ELGCHK
  1. ...S ABMMIEN=0
  1. ...K ABMMCDN
  1. ...I ($G(ABML("MCD"))!($G(ABML("CHIP")))) D
  1. ....S ABMMIEN=+$G(ABMP("SAVE"))
  1. ....I ABMMIEN D
  1. .....S ABMMCDN=$P($G(^AUPNMCD(ABMMIEN,0)),U,3)
  1. ....I 'ABMMIEN D PRVTCHIP
  1. ...I $G(ABMMCDN)'="" W U_ABMMCDN ;Medicaid # - policy holder ID
  1. ...I 'ABMMIEN W U
  1. ...W U_$$GET1^DIQ(9000010,ABMVDFN,.07,"E") ;Category
  1. ...W U_$$GET1^DIQ(9000010,ABMVDFN,.08,"E") ;clinic
  1. ...W U_$S($P($$NPI^XUSNPI("Individual_ID",+ABMPRV),U)>0:$P($$NPI^XUSNPI("Individual_ID",+ABMPRV),U),1:"") ;provider NPI
  1. ...W U_$S(ABMITYP="X":"",1:ABMITYP) ;insurer type
  1. ...W U_$S(ABMINS="NO BILL":"NOT BILLED",1:ABMINS) ;insurer
  1. ...;W U_$$CDT^ABMDUTL(ABMVDT) ;visit date ;abm*2.6*15 HEAT188548
  1. ...W U_$$BDT^ABMDUTL(ABMVDT) ;visit date ;abm*2.6*15 HEAT188548
  1. ...W U_$S(+ABMTRIEN:$$SDTO^ABMDUTL(ABMTRIEN),1:"") ;dt paid
  1. ...K ABMPI,ABMMCR,ABMMCD,ABMCHIP,ABMNI ;abm*2.6*15 HEAT161159
  1. ...D ELGCHK
  1. ...W U_$P($G(ABMREC),U,4)
  1. ...W U_$P($G(ABMREC),U,5)
  1. ...W U_$P($G(ABMREC),U,6)
  1. ...W U_$P($G(ABMREC),U,7)
  1. ...;W U_ABMPI_U_ABMMCR_U_ABMMCD_U_ABMCHIP_U_ABMNI ;abm*2.6*15 HEAT183289
  1. ...W U_ABMPI_U_ABMMCR_U_ABMMCD_U_ABMCHIP_U_ABMNI_U_$G(ABMTSI) ;abm*2.6*15 HEAT183289
  1. ...W U_$G(ABMP("STATE")) ;abm*2.6*15 HEAT164125
  1. ...W U_$P(ABMREC,U,13) ;visit location NPI abm*2.6*15 HEAT171490
  1. ...W U_$P(ABMREC,U,14) ;visit location TIN abm*2.6*15 HEAT171490
  1. ...W U_$P(ABMREC,U,15) ;record indicator abm*2.6*15 HEAT161159
  1. ...;start new abm*2.6*15 HEAT183289
  1. ...I +$G(ABMFQHC)=1 D
  1. ....I +$G(ABMICNT)=1&($G(ABMTSI)="Y") D
  1. .....W "TSI" ;write TSI if pt has TSI insurer only
  1. .....I +$P($G(ABMREC),U,6)'=0 W "-PD" ;if TSI insurer paid
  1. ....I $G(ABMNI)="Y" W "UNC" ;write UNC if pt is needy individual
  1. ...;end new HEAT183289
  1. ;end new HEAT161159
  1. I +$G(ABMDCNT)>0 W !!,"Duplicate visits for this period: "_ABMDCNT
  1. ;D CLOSE^%ZISH("ABM") ;abm*2.6*15 moved up so all providers will print in one file
  1. Q
  1. PRVTCHIP ;
  1. S ABMMIEN=0
  1. S ABMFINS=0
  1. F S ABMMIEN=$O(^AUPNPRVT(ABMPT,11,ABMMIEN)) Q:'ABMMIEN D Q:ABMFINS
  1. .Q:'$D(ABMI("INS",$P($G(^AUPNPRVT(ABMPT,11,ABMMIEN,0)),U)))
  1. .S ABMFINS=1
  1. .S IENS=ABMMIEN_","_ABMPT_","
  1. .S ABMMCDN=$$GET1^DIQ(9000006.11,IENS,21)
  1. .S:ABMMCDN="" ABMMCDN=$$GET1^DIQ(9000003.1,$P($G(^AUPNPRVT(ABMPT,11,ABMMIEN,0)),U,8),".04")
  1. Q
  1. PTHDR ;
  1. I IOST["C",(ABM("PG")=1) D HD Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT) ;start data on 2nd page of report
  1. W !,"VISIT LOCATION: ",$$GET1^DIQ(9999999.06,ABMVLOC,.02,"E"),!
  1. F ABM=1:1:80 W "="
  1. W !,?25,"Ser",?39,"I.",?42,"Billed",?53,"Date of",?70,"Date"
  1. W !,"PATIENT NAME",?18,"CHART#",?25,"Cat",?29,"Clinic",?39,"T.",?42,"To",?53,"Service",?70,"Paid",!
  1. F ABM=1:1:80 W "="
  1. Q
  1. HD D PAZ^ABMDRUTL Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
  1. S ABM("PG")=+$G(ABM("PG"))+1
  1. HDR ;EP
  1. D HDR^ABMM2PV5
  1. Q
  1. ELGCHK ;EP
  1. S ABML=""
  1. D ELIG^ABMM2PV8
  1. S (ABMMCR,ABMMCD,ABMPI,ABMCHIP,ABMNI)="N" ;abm*2.6*15
  1. ;start old abm*2.6*15 HEAT161159
  1. ;S ABMIT=""
  1. ;F S ABMIT=$O(ABMK(ABMIT)) Q:ABMIT="" D
  1. ;.I ABMIT="I"!(ABMIT="N") Q ;don't count ben and non-ben
  1. ;.I "^R^MH^MD^MC^MMC^"[("^"_ABMIT_"^") S ABMMCR="Y"
  1. ;.I ABMIT="D"!(ABMIT="FPL") S ABMMCD="Y"
  1. ;.I (ABMIT="K")!($D(ABMI("INS",ABMINS))) S ABMCHIP="Y"
  1. ;.;I (("^D^FPL^K^R^MH^MD^MC^MMC^"'[("^"_ABMIT_"^"))&('(ABMIT="P"&($D(ABMI("INS",ABMINS)))))) S ABMPI="Y"
  1. ;.I (("^D^FPL^K^R^MH^MD^MC^MMC^"'[("^"_ABMIT_"^"))&('($D(ABMI("INS",ABMINS))))) S ABMPI="Y"
  1. ;I ABMMCD="Y"&(ABMCHIP="Y") S ABMMCD="N" ;can't cnt in both
  1. ;I ABMMCR="N",ABMMCD="N",ABMPI="N",ABMCHIP="N" S ABMNI="Y"
  1. ;end old start new HEAT161159
  1. S ABMJ("INS")=0
  1. F S ABMJ("INS")=$O(ABMILST(ABMJ("INS"))) Q:'ABMJ("INS") D
  1. .S ABMIT=$G(ABMILST(ABMJ("INS")))
  1. .I ABMIT="I"!(ABMIT="N") Q ;don't count ben and non-ben
  1. .I "^R^MH^MD^MC^MMC^"[("^"_ABMIT_"^") S ABMMCR="Y"
  1. .;I ABMIT="D"!(ABMIT="FPL") S ABMMCD="Y"
  1. .I ABMIT="D" S ABMMCD="Y",ABMP("STATE")=$G(ABMILST("STATE",ABMJ("INS")))
  1. .I (ABMIT="K")!($D(ABMI("INS",ABMJ("INS")))) S ABMCHIP="Y"
  1. .I (("^D^K^R^MH^MD^MC^MMC^"'[("^"_ABMIT_"^"))&('($D(ABMI("INS",ABMJ("INS")))))) S ABMPI="Y"
  1. ;I ABMMCD="Y"&(ABMCHIP="Y") S ABMMCD="N" ;can't cnt in both ;abm*2.6*15
  1. I ABMMCD="Y"&(ABMCHIP="Y")&($D(ABMI("INS"))) S ABMMCD="N" ;can't cnt in both if counting CHIP ;abm*2.6*15
  1. I ABMMCR="N",ABMMCD="N",ABMPI="N",ABMCHIP="N" S ABMNI="Y"
  1. ;end new HEAT161159
  1. Q