| 1 | IBAMTED2 ;ALB/GN - RX COPAY TEST EVENT DRIVER - Z06 EXEMPTION PROCESSING ; 6/5/04 2:32pm
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**269**;21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ;IB*2*269 add this new API to handle updating IVM converted RX Copay
 | 
|---|
| 6 |  ;         Tests via Z06 transmissions.
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 | EN N IBAD,IBADDE,IBADD,IBDT,IBEXREA,IBAUTO,IBAX,IBAX1,IBOLDAUT,IBWHER
 | 
|---|
| 10 |  N IBEXERR,IBJOB,IBON,IBAFY,IBATYP,IBBDT,IBCANDT,IBCHRG,IBCODA,IBCODP
 | 
|---|
| 11 |  N IBCRES,IBDEPEN,IBFAC,IBIL,IBL,IBAST,IBLDT,IBN,IBND,IBNN,IBNOW
 | 
|---|
| 12 |  N IBPARNT,IBPARNT1,IBSEQNO,IBSITE,IBUNIT
 | 
|---|
| 13 |  N DA,DR,DIC,DIE,I,J,X,Y,X1
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  ;check if add and/or delete of a Z06 was performed by ^EASPREC7
 | 
|---|
| 17 |  I DGMTACT="UPL",+DGMTA,'$G(EASZ06D) D ADD
 | 
|---|
| 18 |  I DGMTACT="DEL",+DGMTP,$G(EASZ06D) D DEL
 | 
|---|
| 19 |  Q
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 | ADD ;quit if before start date
 | 
|---|
| 22 |  Q:+$$PLUS^IBARXEU0(+DGMTA)<$$STDATE^IBARXEU
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  ;if no patient add patient
 | 
|---|
| 25 |  I '+$G(^IBA(354,DFN,0)) D ADDP^IBAUTL6 I $G(IBEXERR) D ^IBAERR  Q
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  ;see if last reason is auto type and save date, used by ADDEX tag
 | 
|---|
| 28 |  N IB0 S IB0=$$LSTAC^IBARXEU0(DFN)
 | 
|---|
| 29 |  I $L(+IB0)=2,$P(IB0,"^",2)>+DGMTA S IBOLDAUT=$P(IB0,"^",2)
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  ;set IVM converted case to reason: Income>Threshold (Not Exempt)
 | 
|---|
| 32 |  S IBEXREA=$O(^IBE(354.2,"ACODE",110,0))
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 |  ;inactivate most recent exemption test
 | 
|---|
| 35 |  D MOSTR^IBARXEU5(+DGMTA,+IBEXREA)
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 |  ;add new IVM converted test
 | 
|---|
| 38 |  D ADDEX^IBAUTL6(+IBEXREA,+DGMTA,1,1,$G(IBOLDAUT))
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 |  Q
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 | DEL ; Converted Copay test deleted.  Now inactivate that exemption for
 | 
|---|
| 43 |  ; that date & update current exemption status for this date
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 |  ;force inactivate entries for deleted date
 | 
|---|
| 46 |  N IBFORCE
 | 
|---|
| 47 |  Q:'$D(^IBA(354.1,"AIVDT",1,DFN,-DGMTP))
 | 
|---|
| 48 |  S IBFORCE=+DGMTP
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 |  ;test in DGMT(408.31) has been deleted at this point, now get
 | 
|---|
| 51 |  ;the last test that remains on file in order to activate it
 | 
|---|
| 52 |  S IBEXREA=$$STATUS^IBARXEU1(DFN,+DGMTP)
 | 
|---|
| 53 |  S IBSTAT=$P($G(^IBE(354.2,+IBEXREA,0)),"^",4)
 | 
|---|
| 54 |  ;
 | 
|---|
| 55 |  ;if last date is older than 1 year, then cancel prior exemption
 | 
|---|
| 56 |  ;cancel prior exemption with a no exemption
 | 
|---|
| 57 |  I $$PLUS^IBARXEU0($P(IBEXREA,"^",2))<DT D  Q
 | 
|---|
| 58 |  . D ADDEX^IBAUTL6(+$O(^IBE(354.2,"ACODE",210,0)),+DGMTP)
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  ;else, add correct exemption and update current status
 | 
|---|
| 61 |  D ADDEX^IBAUTL6(+IBEXREA,+$P(IBEXREA,"^",2))
 | 
|---|
| 62 |  Q
 | 
|---|