| [613] | 1 | IBECEA33 ;ALB/CPM-Cancel/Edit/Add... More Add Utilities ; 23-APR-93 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**57,52,132,153,167,176,188**;21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | NOCL ; Find the correct clock from the 'bill from' date. | 
|---|
|  | 6 | N IBCLST,IBALR S IBALR=0 | 
|---|
|  | 7 | I IBCLDA S IBALR=1 W !!,"The Bill From date is prior to the start of the active clock..." | 
|---|
|  | 8 | D CLSTR^IBECEAU1(DFN,IBFR) | 
|---|
|  | 9 | I 'IBCLDA D  G NOCLQ | 
|---|
|  | 10 | .I IBALR W !!,"This patient has no clock which would cover this date.  You should use the",!,"Clock Maintenance option to adjust this patient's clocks before proceeding." S IBY=-1 Q | 
|---|
|  | 11 | .W !!,"Please note that I cannot find an active or closed clock for this patient",!,"on this date.",! | 
|---|
|  | 12 | D CLDATA^IBAUTL3,DED^IBAUTL3 I IBY<0 D NODED^IBECEAU3 G NOCLQ | 
|---|
|  | 13 | I IBXA=2,$P($G(^IBE(350.1,IBATYP,0)),"^",8)'["NHCU",IBCLDAY>90 S IBMED=IBMED/2 | 
|---|
|  | 14 | I IBXA=1,IBCLDAY>90,$G(IBADJMED)'=1 S:$G(IBADJMED)=2 IBMED=IBMED/2 I '$G(IBADJMED) D MED^IBECEA34 G:IBY<0 NOCLQ | 
|---|
|  | 15 | S IBLIM=$S($P(IBCLST,"^",10):$P(IBCLST,"^",10),1:$$FMADD^XLFDT(IBCLDT,364)) | 
|---|
|  | 16 | W !!?5,"This charge will be billed under the following closed clock:" | 
|---|
|  | 17 | W !!?6,"Begin Date: ",$$DAT1^IBOUTL(IBCLDT),"     # Inpt Days: ",IBCLDAY | 
|---|
|  | 18 | W !?5,"Closed Date: ",$$DAT1^IBOUTL($P(IBCLST,"^",10)),"     ",$$INPT^IBECEAU(IBCLDAY)," 90 Days: $",+IBCLDOL | 
|---|
|  | 19 | I IBXA=2,IBCLDOL'<IBMED S IBY=-1 W !!?5,"This patient has been billed the full copayment under this billing clock!",!?5,"You cannot add another copay charge starting on this date." | 
|---|
|  | 20 | NOCLQ Q | 
|---|
|  | 21 | ; | 
|---|
|  | 22 | OPT ; Check for a C&P exam and determine the outpatient copay rate. | 
|---|
|  | 23 | I $$CNP^IBECEAU(DFN,IBFR) D  I IBY<0 G OPTQ | 
|---|
|  | 24 | .N DIR,DIRUT,DUOUT,DTOUT,Y | 
|---|
|  | 25 | .W !!,"This patient had a Compensation & Pension exam on this date." | 
|---|
|  | 26 | .S DIR(0)="Y",DIR("A")="Do you still want to add a charge" | 
|---|
|  | 27 | .S DIR("?")="Enter 'Y' to continue to add the charge, or 'N' or '^' to quit" | 
|---|
|  | 28 | .D ^DIR S:'Y IBY=-1 | 
|---|
|  | 29 | ; | 
|---|
|  | 30 | N IBDT,IBX,IBBS,IBTYPE | 
|---|
|  | 31 | S (IBDT,IBTO)=IBFR,IBX="O",(IBTYPE,IBUNIT)=1,IBEVDA="*" | 
|---|
|  | 32 | D:$G(IBATYP)=74 CHRG^IBECEAU5 D:$G(IBATYP)'=74 TYPE^IBAUTL2 | 
|---|
|  | 33 | D CTBB^IBECEAU3:IBY>0 | 
|---|
|  | 34 | OPTQ Q | 
|---|
|  | 35 | ; | 
|---|
|  | 36 | CHTYP ; Ask for the Charge Type | 
|---|
|  | 37 | S DIC="^IBE(350.1,",DIC(0)="AEMQZ",D="E",DIC("S")="I $P(^(0),U)'[""MEDICARE"",$P(^(0),U)'[""CHAMPVA SUB""",DIC("A")="Select CHARGE TYPE: " | 
|---|
|  | 38 | D IX^DIC K DIC S IBATYP=+Y I Y<0 S IBY=-1 W !!,"No CHARGE TYPE entered - transaction cannot be completed." G CHTYPQ | 
|---|
|  | 39 | ; | 
|---|
|  | 40 | ; - perform charge type edits | 
|---|
|  | 41 | S IBSEQNO=$P(Y(0),"^",5),IBXA=$P(Y(0),"^",11),IBNH=$S(IBXA=1:2,IBXA=9&(Y(0)["FEE"):2,1:$P(Y(0),"^",8)["NHCU") | 
|---|
|  | 42 | I 'IBSEQNO S IBY="-1^IB023" G CHTYPQ | 
|---|
|  | 43 | I IBXA=7 G CHTYPQ | 
|---|
|  | 44 | I IBXA=6 G:IBCVAEL CHTYPQ W !!,"This patient does not have a Primary Eligibility of CHAMPVA.",! G CHTYP | 
|---|
|  | 45 | I 'IBCATC,IBXA'=5,IBXA'=8,IBXA'=9 W !!,"This patient has never been Means Test billable...",!,"You may only select a Pharmacy copay charge type.",! G CHTYP | 
|---|
|  | 46 | I +IBEXSTAT,IBXA=5 W !!,"Patient is Exempt from Medication Copayment",!,$P(IBEXSTAT,"^",4),! G CHTYP | 
|---|
|  | 47 | I IBLTCST=0,IBXA>7,IBXA<10 W !!,"This patient has no LTC (1010EC) information on file.",!,"You cannot select a LTC charge type.",! G CHTYP | 
|---|
|  | 48 | I +IBLTCST=1,IBXA>7,IBXA<10 W !!,"This patient is Exempt from LTC Charges.",! G CHTYP | 
|---|
|  | 49 | S:IBXA=2 IBBS=$O(^DGCR(399.1,"AC",IBATYP,0)) | 
|---|
|  | 50 | I IBXA=3 D | 
|---|
|  | 51 | .N DIR,DIRUT,DTOUT,DUOUT,DIROUT,TYPE | 
|---|
|  | 52 | .S TYPE=$S(Y(0,0)["NHCU PER DIEM":"N",1:"H") | 
|---|
|  | 53 | .S DIR(0)="Y",DIR("A")=" Is this charge for a "_$S(TYPE="N":"CNH",1:"Contract Hospital")_" admission",DIR("B")="NO" | 
|---|
|  | 54 | .S DIR("?")="Enter '<CR>' if the charge is for a VA "_$S(TYPE="N":"NHCU",1:"Hospital")_" admission, 'Y' for a "_$S(TYPE="N":"CNH",1:"Contract Hospital")_" admission, or '^' to quit." | 
|---|
|  | 55 | .W ! D ^DIR I $D(DIRUT)!$D(DUOUT) S IBY=-1 Q | 
|---|
|  | 56 | .I Y S IBNH=2 | 
|---|
|  | 57 | I IBXA>7,IBXA<10,IBNH'=2 S IBNH=3 | 
|---|
|  | 58 | CHTYPQ Q | 
|---|
|  | 59 | ; | 
|---|
|  | 60 | CLMSG ; Check the Medicare Deductible and Billing Clock | 
|---|
|  | 61 | I 'IBMED S IBCLDT=IBFR D DED^IBAUTL3 I IBY<0 D NODED^IBECEAU3 G CLMSGQ | 
|---|
|  | 62 | I "^1^2^"[("^"_IBXA_"^"),IBCLDA,IBFR'<IBCLDT,IBCLDOL'<IBMED S IBY=-1 D | 
|---|
|  | 63 | .W !!?5,*7,"This patient has already been billed the Medicare Deductible ($",IBMED,")" | 
|---|
|  | 64 | .W !?5,"for his current 90 days of care.  If you know this not to be the case," | 
|---|
|  | 65 | .W !?5,"please adjust the billing clock before proceeding." | 
|---|
|  | 66 | CLMSGQ Q | 
|---|