| 1 | IBARXEX1 ;ALB/AAS - RX COPAY INCOME EXEMPTION ROUTINE - MANUAL UPDATE OPTION, CONT. ; 16-NOV-92
 | 
|---|
| 2 |  ;;Version 2.0 ; INTEGRATED BILLING ;**34**; 21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | AUTO ; -- auto update of exemption reason file and billing pat file.
 | 
|---|
| 7 |  ; -- if computes to pending but status is adjudicated quit
 | 
|---|
| 8 |  N IBOLDAUT,IBFORCE
 | 
|---|
| 9 |  I $$NETW^IBARXEU1,$P(IBSTAT,"^",5)=130 S X=$$LST^IBARXEU0(DFN,DT),Y=$P($G(^IBE(354.2,$P(X,"^",5),0)),"^",5) I Y=140!(Y=150) Q
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  ; -- ask if sure
 | 
|---|
| 12 |  S DIR(0)="Y",DIR("A")="Update Patient Billing Status",DIR("B")="NO" D ^DIR K DIR I $D(DIRUT)!(Y<1) S IBQUIT=1 G AUTOQ
 | 
|---|
| 13 |  D SELCY^IBARXEX G:IBQUIT AUTOQ
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 |  L +^IBA(354,DFN):5 I '$T W !,"Another User accessing Record, Try Again Later." G AUTOQ
 | 
|---|
| 16 |  S IBCHANGE=1
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 |  S (IBEVT,X)=$$STATUS^IBARXEU1(DFN,IBDT)
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 |  ; -- not currently autoexempt, see if most recent is auto
 | 
|---|
| 21 |  S IBOLDAUT=""
 | 
|---|
| 22 |  I $L($P(^IBE(354.2,+IBEVT,0),"^",5))>2 D OLDAUT(IBEVT)
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  ; -- first inactivate all entries for day
 | 
|---|
| 25 |  S IBFORCE=$P(X,"^",2)
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  ; -- for income, inactivate most recent
 | 
|---|
| 28 |  D MOSTR^IBARXEU5($P(X,"^",2),+X)
 | 
|---|
| 29 |  D ADDEX^IBAUTL6(+X,$P(X,"^",2),1,1,$G(IBOLDAUT))
 | 
|---|
| 30 |  L -^IBA(354,DFN)
 | 
|---|
| 31 |  ;W !!,"Entry Updated!"
 | 
|---|
| 32 | AUTOQ K IBFORCE D PAUSE^IBOUTL
 | 
|---|
| 33 |  Q
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 | OLDAUT(X1) ; -- not currently autoexempt, most current is auto exempt delete
 | 
|---|
| 36 |  ;    inactivate autoexempt
 | 
|---|
| 37 |  N X
 | 
|---|
| 38 |  S X=$$LSTAC^IBARXEU0(DFN) I $L(+X)'=3,$P(X,"^",2)'<$P(X1,"^",2) S IBOLDAUT=$P(X,"^",2)
 | 
|---|
| 39 |  Q
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 | MANUAL ; -- allow user to do manual change
 | 
|---|
| 42 |  S DIR(0)="Y",DIR("A")="Do you wish to manually assign a Hardship Copay Exemption",DIR("B")="NO" D ^DIR K DIR I $D(DIRUT)!(Y<1) S IBQUIT=1 G MANUALQ
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 |  D SELCY^IBARXEX G:IBQUIT MANUALQ
 | 
|---|
| 45 |  S IBEXREA=$O(^IBE(354.2,"ACODE",2010,0)) ;only hardships
 | 
|---|
| 46 |  S IBCODA=2010
 | 
|---|
| 47 |  ;
 | 
|---|
| 48 |  ; -- if current exemption is exempt can't give hardship
 | 
|---|
| 49 |  S X=$$LST^IBARXEU0(DFN,IBDT)
 | 
|---|
| 50 |  I +X'<(DT-100000),$P(X,"^",4) K IBEXREA W !!,"You can only give a hardship to a Non-Exempt patient",!,*7 G MANUALQ
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 |  L +^IBA(354,DFN):5 I '$T W !,"Another User accessing record, Try Again Later." G MANUALQ
 | 
|---|
| 53 |  S IBCHANGE=1
 | 
|---|
| 54 |  S DIR(0)="Y",DIR("A")="Are You Sure" D ^DIR K DIR G:$D(DIRUT)!(Y<1) MANUALQ
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 |  ; -- get electronic signature code
 | 
|---|
| 57 |  D SIG^XUSESIG
 | 
|---|
| 58 |  I X1=""!(X'=X1) W !,"Not your electronic signature" G MANUALQ
 | 
|---|
| 59 |  S IBASIG=X1
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 |  ; -- add new exemption
 | 
|---|
| 62 |  D ADDEX^IBAUTL6(IBEXREA,IBDT,2,1)
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 | MANUALQ L -^IBA(354,DFN)
 | 
|---|
| 65 |  D PAUSE^IBOUTL
 | 
|---|
| 66 |  Q
 | 
|---|