| [613] | 1 | IBECEA21 ;ALB/CPM-Cancel/Edit/Add... Edit Prompts;19-APR-93 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**7,57,167,183,202,312**;21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | ; Issue appropriate prompts for each charge type.  If the charge | 
|---|
|  | 6 | ; being edited has not been billed, handle that charge before | 
|---|
|  | 7 | ; returning to IBECEA2. | 
|---|
|  | 8 | ; | 
|---|
|  | 9 | N IBSTOPDA,IBTYPE,IBGMT | 
|---|
|  | 10 | N IBSWINFO S IBSWINFO=$$SWSTAT^IBBAPI()                    ;IB*2.0*312 | 
|---|
|  | 11 | S IBGMT=0 | 
|---|
|  | 12 | ; | 
|---|
|  | 13 | ; Handle Outpatient Charges | 
|---|
|  | 14 | I IBXA=4 D  G END | 
|---|
|  | 15 | .S (IBFR,IBTO,IBDT)=$P(IBND,"^",14),IBUNIT=IBUNITP | 
|---|
|  | 16 | .W !,"Re-calculating the OPT copay charge for ",$$DAT1^IBOUTL(IBFR)," ..." | 
|---|
|  | 17 | .; | 
|---|
|  | 18 | .; need to look up stop info to populate IBTYPE *167 | 
|---|
|  | 19 | .S IBSTOPDA=$S($P($P(IBND,"^",4),":")=350:$P(IBND,"^",20),1:$$GETSC^IBEMTSCU($P(IBND,"^",4),$P(IBND,"^",17))) | 
|---|
|  | 20 | .S IBTYPE=$S(IBSTOPDA>0:$P($G(^IBE(352.5,+$G(IBSTOPDA),0)),"^",3),1:1) | 
|---|
|  | 21 | .; | 
|---|
|  | 22 | .S IBX="O" D TYPE^IBAUTL2 Q:IBY<0  W "   $",IBCHG | 
|---|
|  | 23 | .I 'IBH,IBCHG=IBCHGP W !,"This equals the billed amount - this charge cannot be edited." S IBY=-1 Q | 
|---|
|  | 24 | .I IBCHG=IBCHGP W !,"This charge is ready to be billed." D PASS^IBECEA22 S IBY=-1 Q | 
|---|
|  | 25 | .I IBH D UPCHG^IBECEA22(IBCHG) S IBY=-1 Q | 
|---|
|  | 26 | .S IBCRES=$O(^IBE(350.3,"B","MT CHARGE EDITED",0)) S:'IBCRES IBCRES=19 | 
|---|
|  | 27 | .W !!,"The original charge will be cancelled and re-billed for $",IBCHG,"." | 
|---|
|  | 28 | ; | 
|---|
|  | 29 | ; Handle Pharmacy Copay Charges | 
|---|
|  | 30 | I IBXA=5 D  G END | 
|---|
|  | 31 | .D UNIT^IBECEAU2(IBUNITP) Q:IBY<0 | 
|---|
|  | 32 | .I 'IBH,IBUNIT=IBUNITP W !!,"No change was made!" S IBY=-1 Q | 
|---|
|  | 33 | .I IBH D UPCHG^IBECEA22(IBCHG,IBUNIT) S IBY=-1 Q | 
|---|
|  | 34 | .W !!,"The original charge will be cancelled and re-billed for $",$J(IBCHG,"",2),"." | 
|---|
|  | 35 | ; | 
|---|
|  | 36 | ; Handle all Inpatient Charges | 
|---|
|  | 37 | S IBFRP=+$P(IBND,"^",14),IBTOP=+$P(IBND,"^",15),IBLIM=$S(IBXA=3:DT,1:$$FMADD^XLFDT(DT,-1)) | 
|---|
|  | 38 | S IBGMT=$$ISGMTPT^IBAGMT(DFN,IBFRP) ;Check GMT Copayment Status | 
|---|
|  | 39 | D CLSTR^IBECEAU1(DFN,IBFRP) | 
|---|
|  | 40 | I 'IBCLDA W !!,"I cannot find a billing clock that was effective on ",$$DAT1^IBOUTL(IBFRP),"!",!,"Please adjust this patient's billing clocks before editing this charge." S IBY=-1 Q | 
|---|
|  | 41 | D CLDATA^IBAUTL3,DED^IBAUTL3 G:IBY<0 END | 
|---|
|  | 42 | ;For GMT Patients reduce Medicare Deductible to 20% | 
|---|
|  | 43 | I IBGMT>0 S IBMED=$$REDUCE^IBAGMT(IBMED) W !,"Medicare Deductible reduced due to GMT Copayment Status." | 
|---|
|  | 44 | S:IBXA=2 IBBS=$O(^DGCR(399.1,"AC",IBATYP,0)) | 
|---|
|  | 45 | I IBXA=2,$P($G(^IBE(350.1,IBATYP,0)),"^",8)'["NHCU",IBCLDAY>90,IBCHGP'>IBCLDOL S IBMED=IBMED/2 | 
|---|
|  | 46 | I IBXA=1,IBCLDAY>90 D MED^IBECEA34 G:IBY<0 END | 
|---|
|  | 47 | W !!,"  ** ",$S($P(IBCLST,"^",4)=1:"Active",1:"Closed")," Billing Clock **" | 
|---|
|  | 48 | W !?2,"Begin Date: ",$$DAT1^IBOUTL(IBCLDT),"   # Inpt Days: ",IBCLDAY,"   ",$$INPT^IBECEAU(IBCLDAY)," 90 days: $",IBCLDOL,! | 
|---|
|  | 49 | S:IBXA=3 IBDAYP=IBCLDAY-IBUNITP | 
|---|
|  | 50 | I IBXA=1!(IBXA=2) S IBDOLP=IBCLDOL-IBCHGP S:IBDOLP<0 IBDOLP=0 | 
|---|
|  | 51 | ; | 
|---|
|  | 52 | ; - ask for 'Bill From' date | 
|---|
|  | 53 | FR D FR^IBECEAU2(IBFRP) G:IBY<0 END | 
|---|
|  | 54 | I +IBSWINFO,(IBFR+1)>$P(IBSWINFO,"^",2) D  G FR          ;IB*2.0*312 | 
|---|
|  | 55 | .W !!,"The 'Bill From' date cannot be on or AFTER " | 
|---|
|  | 56 | .W "the PFSS Effective Date: ",$$FMTE^XLFDT($P(IBSWINFO,"^",2)) | 
|---|
|  | 57 | ; | 
|---|
|  | 58 | I IBFR<IBCLDT W !!,"The 'Bill From' date cannot preceed the Billing Clock Begin Date.",! G FR | 
|---|
|  | 59 | S IBGMTR=0,IBGMT=$$ISGMTPT^IBAGMT(DFN,IBFR) ; GMT Status may change | 
|---|
|  | 60 | I IBXA=3 S IBDT=IBFR D COST^IBAUTL2 S:IBGMT>0 IBGMTR=1,IBCHG=$$REDUCE^IBAGMT(IBCHG) I 'IBCHG W !!,"Unable to determine the per diem rate. Please check your rate table." S IBY=-1 G END | 
|---|
|  | 61 | I IBXA=2 S IBDT=IBFR D COPAY^IBAUTL2 G:IBY<0 END S:IBGMT>0 IBGMTR=1,IBCHG=$$REDUCE^IBAGMT(IBCHG) I IBCHG+IBDOLP<IBMED W *7,"   ($",IBCHG,"/day)" W:IBGMTR " GMT Rate" G TO | 
|---|
|  | 62 | I IBXA=2,IBCHG=IBCHGP D CTBB^IBECEAU3 W !!,"No change was made!" S IBY=-1 G END | 
|---|
|  | 63 | ; | 
|---|
|  | 64 | ; - ask for 'Bill To' date | 
|---|
|  | 65 | TO D TO^IBECEAU2(IBTOP) G:IBY<0 END | 
|---|
|  | 66 | I +IBSWINFO,(IBTO+1)>$P(IBSWINFO,"^",2) D  G TO          ;IB*2.0*312 | 
|---|
|  | 67 | .W !!,"The 'Bill To' date cannot be on or AFTER " | 
|---|
|  | 68 | .W "the PFSS Effective Date: ",$$FMTE^XLFDT($P(IBSWINFO,"^",2)) | 
|---|
|  | 69 | ; | 
|---|
|  | 70 | I $P(IBCLST,"^",10),IBTO>$P(IBCLST,"^",10) W !!,"The 'Bill To' date cannot exceed the Billing Clock End Date (",$$DAT1^IBOUTL($P(IBCLST,"^",10)),")." G TO | 
|---|
|  | 71 | S IBUNIT=$$FMDIFF^XLFDT(IBTO,IBFR) | 
|---|
|  | 72 | I $$FMDIFF^XLFDT(IBTOP,IBFRP)<IBUNITP!(IBFR=IBTO) S IBUNIT=IBUNIT+1 | 
|---|
|  | 73 | I IBTO'=IBFR,IBXA>0,IBXA<4,$$ISGMTPT^IBAGMT(DFN,IBTO)'=$$ISGMTPT^IBAGMT(DFN,IBFR) W !!,"The patient changed GMT Copayment status during the specified period!",! G TO | 
|---|
|  | 74 | I IBXA>1 D  G END | 
|---|
|  | 75 | . S IBCHG=IBUNIT*IBCHG S:IBXA=2 IBCHG=$S(IBDOLP+IBCHG>IBMED:IBMED-IBDOLP,1:IBCHG) | 
|---|
|  | 76 | . I IBCHG=IBCHGP D CTBB^IBECEAU3 W !!,"No change was made!" S IBY=-1 Q | 
|---|
|  | 77 | . S:IBXA=2 IBDOLA=IBDOLP+IBCHG,IBDAYA=0 S:IBXA=3 IBDAYA=IBDAYP+IBUNIT,IBDOLA=0 | 
|---|
|  | 78 | . W !!,"New charge to be billed" W:IBGMTR "(GMT Rate)" W ": $",$J(IBCHG,"",2),! | 
|---|
|  | 79 | . I IBH D CHCL^IBECEA22 | 
|---|
|  | 80 | ; | 
|---|
|  | 81 | ; - ask for 'Fee Amount' | 
|---|
|  | 82 | S IBCLDOLO=IBCLDOL,IBCLDOL=IBCLDOL-IBCHGP S:IBCLDOL<0 IBCLDOL=0 | 
|---|
|  | 83 | I IBGMT>0 S IBGMTR=1 W !,"The patient has GMT Copayment Status! GMT rate must be applied.",! | 
|---|
|  | 84 | D FEE^IBECEAU2(IBCHGP) G:IBY<0 END | 
|---|
|  | 85 | I IBCHG=IBCHGP W !!,"No change was made!" S IBY=-1 G END | 
|---|
|  | 86 | S IBCLDOL=IBCLDOLO,IBDOLA=IBDOLP+IBCHG,IBDAYA=0 | 
|---|
|  | 87 | I IBH D CHCL^IBECEA22 | 
|---|
|  | 88 | ; | 
|---|
|  | 89 | END Q | 
|---|