| [613] | 1 | IBECEA32 ;ALB/CPM-Cancel/Edit/Add... Add Utilities; 02-APR-93 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING ;**57,188**; 21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | CLUPD ; Handle the updating of the billing clock when adding a charge. | 
|---|
|  | 6 | I IBXA=5!(IBCLDA&(IBXA=4)) G CLOCKQ | 
|---|
|  | 7 | ; | 
|---|
|  | 8 | ; - charge not covered by a clock | 
|---|
|  | 9 | I 'IBCLDA D ADD G CLOCKQ | 
|---|
|  | 10 | ; | 
|---|
|  | 11 | ; - update existing clock | 
|---|
|  | 12 | S IBCLST=^IBE(351,IBCLDA,0) | 
|---|
|  | 13 | D CLOCK^IBECEAU(IBCHG,+$P(IBCLST,"^",9),IBUNIT) | 
|---|
|  | 14 | CLOCKQ K IBCLST | 
|---|
|  | 15 | Q | 
|---|
|  | 16 | ; | 
|---|
|  | 17 | CHMPVA ; Process the CHAMPVA inpatient subsistence charge. | 
|---|
|  | 18 | I '$$ON^IBACVA2() W !!,"Sorry!  The CHAMPVA billing module is not yet fully installed.  You will need",!,"to generate a claim to bill this patient the inpatient subsistence charge." G CHMPVAQ | 
|---|
|  | 19 | CHMPEN S IBPM=$$ADSEL^IBECEA31(DFN) I IBPM=-1 G CHMPVAQ | 
|---|
|  | 20 | I 'IBPM W !!,"This patient has no admissions on file!",!,"You cannot bill the CHAMPVA inpatient subsistence charge at this time." G CHMPVAQ | 
|---|
|  | 21 | S IBSL=+IBPM,IBCVA=$P(IBPM,"^",2),IBPMD=$P(IBPM,"^",3) | 
|---|
|  | 22 | I 'IBPMD W !!,"You can only bill admissions which have been discharged!" G CHMPEN | 
|---|
|  | 23 | I $$PREV^IBACVA1(DFN,IBCVA,IBSL) W !!,"This admission has already been billed the CHAMPVA inpatient subsistence charge."  G CHMPEN | 
|---|
|  | 24 | ; | 
|---|
|  | 25 | ; - set input parameters and automatically calculate the charge | 
|---|
|  | 26 | S IBBDT=$$FMTH^XLFDT(IBCVA,1),IBEDT=$$FMTH^XLFDT(+$G(^DGPM(IBPMD,0))\1,1) | 
|---|
|  | 27 | D BILL^IBACVA1 | 
|---|
|  | 28 | CHMPVAQ K IBPM,IBSL,IBCVA | 
|---|
|  | 29 | Q | 
|---|
|  | 30 | ; | 
|---|
|  | 31 | ADD ; Prompt user to add a new billing clock. | 
|---|
|  | 32 | N DIE,DA,DR,DIR,DIRUT,DUOUT,DTOUT,X,Y | 
|---|
|  | 33 | W !!,"Since this patient has no active clock to cover this charge, I would like to",!,"set up an active clock as follows:" | 
|---|
|  | 34 | W !!?5,"Clock Begin Date: ",$$DAT1^IBOUTL(IBFR),! W:IBXA=1!(IBXA=2) ?4,"1st 90 days copay: $",IBCHG,! W:IBXA=3 ?5,"# Inpatient days: ",IBUNIT,! | 
|---|
|  | 35 | S DIR(0)="Y",DIR("A")="Is it okay to set up a new clock with "_$S(IBXA=4:"this",1:"these")_" value"_$E("s",IBXA'=4),DIR("?")="Enter 'Y' or 'YES' to create a new clock, or 'N', 'NO', or '^' to quit." | 
|---|
|  | 36 | D ^DIR I 'Y!($D(DIRUT))!($D(DUOUT)) W !,"A new clock will not be established.  Be sure this patient's clock is correct." Q | 
|---|
|  | 37 | W !!,"Creating a new, active billing clock...  " | 
|---|
|  | 38 | S IBCLDT=IBFR D CLADD^IBAUTL3 Q:IBY<0 | 
|---|
|  | 39 | I IBXA'=4 S DIE="^IBE(351,",DA=IBCLDA,DR=$S(IBXA=3:.09,1:.05)_"////"_$S(IBXA=3:IBUNIT,1:IBCHG)_";13////"_DUZ_";14///NOW" D ^DIE | 
|---|
|  | 40 | W "done." | 
|---|
|  | 41 | Q | 
|---|
|  | 42 | ; | 
|---|
|  | 43 | FEPR ; Issue prompts for Inpatient Fee Services | 
|---|
|  | 44 | N DIR,DIRUT,DUOUT,DTOUT,IBCLDT,X,Y | 
|---|
|  | 45 | S IBDESC=$S(IBXA=1:"FEE SERVICE (INPT)",1:$P($G(^IBE(350.1,+$G(IBATYP),0)),"^",8)) | 
|---|
|  | 46 | D FEE^IBECEAU2(0) I IBY>0 D CTBB^IBECEAU3 | 
|---|
|  | 47 | Q | 
|---|
|  | 48 | ; | 
|---|
|  | 49 | HFEV ; Help for Fee Event Date | 
|---|
|  | 50 | W !!,"Please enter the Event Date for this Fee Service (which should be the" | 
|---|
|  | 51 | W !,"admission date, and not exceed the Bill From date [",$$DAT1^IBOUTL(IBFR),"]), or '^' to quit." | 
|---|
|  | 52 | Q | 
|---|
|  | 53 | ; | 
|---|
|  | 54 | SPEC(X,Y) ; Display messages for special inpatient billing cases. | 
|---|
|  | 55 | ;  Input:  X -- has two values: | 
|---|
|  | 56 | ;                1 --> entering after selecting an admission | 
|---|
|  | 57 | ;                      (will need to set IBSIBC) | 
|---|
|  | 58 | ;                0 --> billing event record exists | 
|---|
|  | 59 | ;          Y -- Pointer to special inpatient billing case in | 
|---|
|  | 60 | ;               file #351.2 (quit if not positive) | 
|---|
|  | 61 | Q:'$G(Y) | 
|---|
|  | 62 | I $G(X),'$P($G(^IBE(351.2,Y,0)),"^",8) D  Q | 
|---|
|  | 63 | .S IBSIBC=+IBDG | 
|---|
|  | 64 | .W !,"This is a special inpatient billing case!  The case will be dispositioned." | 
|---|
|  | 65 | W !,*7,"Please note that you are creating a charge for a special inpatient case!!" | 
|---|
|  | 66 | S IBSIBC1=Y D DSPL^IBAMTI1(Y) | 
|---|
|  | 67 | Q | 
|---|