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