[613] | 1 | IBAUTL7 ;AAS/ALB - RX EXEMPTION UTILITY ROUTINE (CONT.) ; 2-NOV-92
|
---|
| 2 | ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | CURREX(IBSTAT,IBDT) ;update current status if current year
|
---|
| 6 | ; input : dfn = patient file pointer
|
---|
| 7 | ; ibdt = internal form of effective date
|
---|
| 8 | ; ibstat = status = 1 if exempt, 0 if not exempt
|
---|
| 9 | ;
|
---|
| 10 | N X,Y,DIC,DIE,DR,DA
|
---|
| 11 | I $S('$D(DFN):1,'$D(IBSTAT):1,IBSTAT=0:0,IBSTAT=1:0,1:1) G CURREXQ
|
---|
| 12 | ;
|
---|
| 13 | ; -- make sure ibdt > old current date
|
---|
| 14 | S X=+$P($G(^IBA(354,DFN,0)),"^",3)
|
---|
| 15 | I '$G(IBFORCE),$G(IBOLDAUT)'?7N,X>IBDT G CURREXQ ;only if most recent (I took this out for awhile but don't know why, its needed to keep from updating old over new)
|
---|
| 16 | ;
|
---|
| 17 | ; -- not greater than today
|
---|
| 18 | ;I IBDT>DT G CURREXQ
|
---|
| 19 | ;
|
---|
| 20 | S DIE="^IBA(354,",DA=DFN,DR="[IB CURRENT STATUS]" D ^DIE ; set status in billing patient file
|
---|
| 21 | I $D(Y) S IBEXERR=6,IBWHER=14
|
---|
| 22 | ;DR=".04////"_IBSTAT_";.03////"_IBDT_";.05////"_IBEXREA
|
---|
| 23 | ;
|
---|
| 24 | CURREXQ Q
|
---|
| 25 | ;
|
---|
| 26 | INACT(IBDT) ; -- must inactivate active exemptions before creating new exemption
|
---|
| 27 | ; should only be called from addex so event driver logic works
|
---|
| 28 | ;
|
---|
| 29 | N IBX,X,Y,DA,DR,DIE,DIC
|
---|
| 30 | S IBX=0 F S IBX=$O(^IBA(354.1,"AIVDT",1,DFN,-IBDT,IBX)) Q:'IBX D
|
---|
| 31 | .S DA=IBX
|
---|
| 32 | .I $P($G(^IBA(354.1,DA,0)),"^",10)'=1 Q
|
---|
| 33 | .I '$D(ZTQUEUED),$D(IBTALK) W:IBTALK<2 !,"Deleting Active flag from current entry" S IBTALK=IBTALK+1
|
---|
| 34 | .S DA=IBX,DIE="^IBA(354.1,",DR="[IB INACTIVATE EXEMPTION]" D ^DIE K DIC,DIE,DA,DR
|
---|
| 35 | .I $D(Y) S IBEXERR=7,IBWHER=15
|
---|
| 36 | .;S IBACTION="CHG"
|
---|
| 37 | .Q
|
---|
| 38 | INACTQ Q
|
---|
| 39 | ;
|
---|
| 40 | DUPL() ; -- see if entry is a duplicate
|
---|
| 41 | N X,Y
|
---|
| 42 | S X=0
|
---|
| 43 | S Y=$$LST^IBARXEU0(DFN,IBDT)
|
---|
| 44 | I IBDT=+Y,+IBEXREA=+$P(Y,"^",5),IBTYPE=$P(Y,"^",3) S X=1
|
---|
| 45 | Q X
|
---|
| 46 | ;
|
---|
| 47 | ;
|
---|
| 48 | ALERT() ; -- use alerts or bulletins
|
---|
| 49 | ; returns 1 = use alerts
|
---|
| 50 | ; 0 = use bulletins
|
---|
| 51 | ;
|
---|
| 52 | Q $P($G(^IBE(350.9,1,0)),"^",14)
|
---|