| 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
 | 
|---|