1 | IBCNSA2 ;ALB/NLR - ANNUAL BENEFITS EDIT, DIE CALLS ; 28-MAY-1993
|
---|
2 | ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | ED(IBT) ;
|
---|
6 | D FULL^VALM1 W !!
|
---|
7 | D SAVEAB
|
---|
8 | L +^IBA(355.4,+IBCAB):5 I '$T D LOCKED^IBTRCD1 G EDQ
|
---|
9 | S DIE="^IBA(355.4,",DA=IBCAB
|
---|
10 | S DR=IBT
|
---|
11 | D ^DIE K DIE,DIC,DA,DR
|
---|
12 | D COMP
|
---|
13 | I IBDIF=1 D EDUP
|
---|
14 | D EXIT
|
---|
15 | L -^IBA(355.4,+IBCAB)
|
---|
16 | EDQ Q
|
---|
17 | ;
|
---|
18 | SAVEAB ;
|
---|
19 | K ^TMP($J,"IBAB")
|
---|
20 | S ^TMP($J,"IBAB",355.4,IBCAB,0)=$G(^IBA(355.4,IBCAB,0))
|
---|
21 | S ^TMP($J,"IBAB",355.4,IBCAB,1)=$G(^IBA(355.4,IBCAB,1))
|
---|
22 | S ^TMP($J,"IBAB",355.4,IBCAB,2)=$G(^IBA(355.4,IBCAB,2))
|
---|
23 | S ^TMP($J,"IBAB",355.4,IBCAB,3)=$G(^IBA(355.4,IBCAB,3))
|
---|
24 | S ^TMP($J,"IBAB",355.4,IBCAB,4)=$G(^IBA(355.4,IBCAB,4))
|
---|
25 | S ^TMP($J,"IBAB",355.4,IBCAB,5)=$G(^IBA(355.4,IBCAB,5))
|
---|
26 | Q
|
---|
27 | COMP ;
|
---|
28 | S IBDIF=0
|
---|
29 | I $G(^IBA(355.4,IBCAB,0))'=^TMP($J,"IBAB",355.4,IBCAB,0) S IBDIF=1 Q
|
---|
30 | I $G(^IBA(355.4,IBCAB,1))'=^TMP($J,"IBAB",355.4,IBCAB,1) S IBDIF=1 Q
|
---|
31 | I $G(^IBA(355.4,IBCAB,2))'=^TMP($J,"IBAB",355.4,IBCAB,2) S IBDIF=1 Q
|
---|
32 | I $G(^IBA(355.4,IBCAB,3))'=^TMP($J,"IBAB",355.4,IBCAB,3) S IBDIF=1 Q
|
---|
33 | I $G(^IBA(355.4,IBCAB,4))'=^TMP($J,"IBAB",355.4,IBCAB,4) S IBDIF=1 Q
|
---|
34 | I $G(^IBA(355.4,IBCAB,5))'=^TMP($J,"IBAB",355.4,IBCAB,5) S IBDIF=1 Q
|
---|
35 | Q
|
---|
36 | EDUP ; -- enter date and user if editing has taken place
|
---|
37 | S DIE="^IBA(355.4,",DA=IBCAB
|
---|
38 | S DR="1.05///NOW;1.06////"_DUZ
|
---|
39 | D ^DIE K DIE,DIC,DA,DR
|
---|
40 | Q
|
---|
41 | CY ;
|
---|
42 | D FULL^VALM1 W !!
|
---|
43 | S IBYR1=IBYR K IBYR D INIT^IBCNSA
|
---|
44 | I $D(VALMQUIT) S IBYR=IBYR1 K VALMQUIT D EXITRP
|
---|
45 | I IBYR=IBYR1 D
|
---|
46 | .K IBYR1,VALMQUIT D EXITRP
|
---|
47 | E D EXIT
|
---|
48 | Q
|
---|
49 | ;
|
---|
50 | ;
|
---|
51 | EXIT D HDR^IBCNSA("Annual Benefits"),BLD^IBCNSA
|
---|
52 | EXITRP K VALMQUIT S VALMBCK="R"
|
---|
53 | Q
|
---|
54 | ;
|
---|
55 | DATECHK ; -- called from input transform from annual benefits (355.4,.01)
|
---|
56 | ; make sure benefit years do not overlap
|
---|
57 | ; kills x if not okay
|
---|
58 | ;
|
---|
59 | Q:'$D(X)
|
---|
60 | N BEFORE,AFTER,MINUS,PLUS,ZZ
|
---|
61 | S MINUS=X-10000
|
---|
62 | S PLUS=X+10000
|
---|
63 | I '$G(IBCPOL) S IBCPOL=$P($G(^IBA(355.4,$G(DA),0)),"^",2)
|
---|
64 | Q:'IBCPOL
|
---|
65 | ;
|
---|
66 | ; -- find most recent entry
|
---|
67 | S ZZ=-$O(^IBA(355.4,"APY",IBCPOL,""))
|
---|
68 | I 'ZZ Q ;if not prior entires quit.
|
---|
69 | ;
|
---|
70 | ; -- if x>most recent entry
|
---|
71 | I X>ZZ K:X<(ZZ+10000) X Q
|
---|
72 | ;
|
---|
73 | Q:'$D(X)
|
---|
74 | ;
|
---|
75 | ; -- find policy date prior to (before or less than) x
|
---|
76 | S BEFORE=-$O(^IBA(355.4,"APY",+IBCPOL,-X))
|
---|
77 | S AFTER=-$O(^IBA(355.4,"APY",+IBCPOL,-PLUS))
|
---|
78 | ;
|
---|
79 | I 'BEFORE D Q
|
---|
80 | .I AFTER=X Q
|
---|
81 | .I AFTER,AFTER>X K X
|
---|
82 | .Q
|
---|
83 | ;
|
---|
84 | ; -- if it exists,not exactly one year,if within one year of prior year
|
---|
85 | I BEFORE D Q
|
---|
86 | .I BEFORE=MINUS Q
|
---|
87 | .I BEFORE>MINUS K X Q
|
---|
88 | .I X=AFTER Q
|
---|
89 | .I AFTER>X K X
|
---|
90 | .Q
|
---|
91 | ;
|
---|
92 | Q
|
---|