1 | IBTRCD1 ;ALB/AAS/BGA - CLAIMS TRACKING INS ACTION EDIT ; 11/8/06 9:34am
|
---|
2 | ;;2.0;INTEGRATED BILLING;**10,359**;21-MAR-94;Build 9
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | % G ^IBTRC
|
---|
6 | ;
|
---|
7 | QE ; -- Quick edit
|
---|
8 | N IBXX,VALMY,DA,DR,DIC,DIE
|
---|
9 | D QE1^IBTRC1
|
---|
10 | D BLD^IBTRCD
|
---|
11 | S VALMBCK="R"
|
---|
12 | Q
|
---|
13 | ;
|
---|
14 | NX(IBTMPNM,BLD) ; -- edit next template
|
---|
15 | N IBXX,VALMY
|
---|
16 | D EN^VALM(IBTMPNM)
|
---|
17 | I '$D(IBFASTXT) D:'$G(BLD) BLD^IBTRCD
|
---|
18 | I IBTMPNM="IBCNS VIEW PAT INS" D:$G(BLD)=1 BLD^IBTRE ;REBUILD LIST
|
---|
19 | S VALMBCK="R"
|
---|
20 | Q
|
---|
21 | ;
|
---|
22 | EDIT(DR,BLD) ; -- edit entry point for claims tracking reviews
|
---|
23 | ; -- Input IBTEMP = template name or dr string
|
---|
24 | ; BLD = any non-zero value if calling routine is doing own
|
---|
25 | ; rebuild
|
---|
26 | ;
|
---|
27 | N IBDIF,DA,DIC,DIE,DIR,X,Y,IBTLST
|
---|
28 | D FULL^VALM1 W !
|
---|
29 | D SAVE
|
---|
30 | S DIE="^IBT(356.2,",DA=IBTRC
|
---|
31 | L +^IBT(356.2,+IBTRC):5 I '$T D LOCKED G EDITQ
|
---|
32 | D ^DIE K DA,DR,DIC,DIE
|
---|
33 | I '$D(IBCON) D CON K IBCON
|
---|
34 | D COMP
|
---|
35 | I IBDIF=1 D UPDATE
|
---|
36 | L -^IBT(356.2,+IBTRC)
|
---|
37 | D BLD^IBTRCD:'$G(BLD)
|
---|
38 | EDITQ K ^TMP($J,"IBT")
|
---|
39 | S VALMBCK="R"
|
---|
40 | Q
|
---|
41 | ;
|
---|
42 | SAVE ; -- Save the global before editing
|
---|
43 | K ^TMP($J,"IBT")
|
---|
44 | S ^TMP($J,"IBT",356.2,IBTRC,0)=$G(^IBT(356.2,IBTRC,0))
|
---|
45 | S ^TMP($J,"IBT",356.2,IBTRC,1)=$G(^IBT(356.2,IBTRC,1))
|
---|
46 | S ^TMP($J,"IBT",356.2,IBTRC,11,0)=$G(^IBT(356.2,IBTRC,11,0))
|
---|
47 | S ^TMP($J,"IBT",356.2,IBTRC,12,0)=$G(^IBT(356.2,IBTRC,12,0))
|
---|
48 | S ^TMP($J,"IBT",356.2,IBTRC,13,0)=$G(^IBT(356.2,IBTRC,13,0))
|
---|
49 | Q
|
---|
50 | ;
|
---|
51 | COMP ; -- Compare before editing with globals
|
---|
52 | S IBDIF=0
|
---|
53 | I $G(^IBT(356.2,IBTRC,0))'=$G(^TMP($J,"IBT",356.2,IBTRC,0)) S IBDIF=1 Q
|
---|
54 | I $G(^IBT(356.2,IBTRC,1))'=$G(^TMP($J,"IBT",356.2,IBTRC,1)) S IBDIF=1 Q
|
---|
55 | I $G(^IBT(356.2,IBTRC,11,0))'=$G(^TMP($J,"IBT",356.2,IBTRC,11,0)) S IBDIF=1 Q
|
---|
56 | I $G(^IBT(356.2,IBTRC,12,0))'=$G(^TMP($J,"IBT",356.2,IBTRC,12,0)) S IBDIF=1 Q
|
---|
57 | I $G(^IBT(356.2,IBTRC,13,0))'=$G(^TMP($J,"IBT",356.2,IBTRC,13,0)) S IBDIF=1 Q
|
---|
58 | Q
|
---|
59 | ;
|
---|
60 | UPDATE ; -- enter date and user if editing has taken place
|
---|
61 | ; entry locked during edit lock not needed here
|
---|
62 | S DIE="^IBT(356.2,",DA=IBTRC
|
---|
63 | S DR="1.03///NOW;1.04////"_DUZ
|
---|
64 | D ^DIE K DA,DR,DIC,DIE
|
---|
65 | Q
|
---|
66 | ;
|
---|
67 | LOCKED ; -- write locked message
|
---|
68 | Q:$D(ZTQUEUED)
|
---|
69 | W !!,"Sorry, another user currently editing this entry."
|
---|
70 | W !,"Try again later."
|
---|
71 | D PAUSE^VALM1
|
---|
72 | Q
|
---|
73 | ;
|
---|
74 | CON ; -- consistency checker for insurance reviews
|
---|
75 | N I,J,X,Y,DA,DR,DIC,DIE,IBI,IBDEL,IBACTION
|
---|
76 | S IBCON=1 Q:'$D(^IBT(356.2,IBTRC,0))
|
---|
77 | S IBACTION=$P($G(^IBE(356.7,+$P(^IBT(356.2,IBTRC,0),"^",11),0)),"^",3)
|
---|
78 | I $G(IBACTION)="" S IBACTION=99
|
---|
79 | ;
|
---|
80 | ; -- if action and type the same okay, check nxt rv. dates
|
---|
81 | I $P($G(^IBT(356.2,IBTRC,0)),"^",4)=$P($G(^TMP($J,"IBT",356.2,IBTRC,0)),"^",4),$P($G(^IBT(356.2,IBTRC,0)),"^",11)=$P($G(^TMP($J,"IBT",356.2,IBTRC,0)),"^",11) G NXRV
|
---|
82 | ;
|
---|
83 | ; -- if action different
|
---|
84 | I $P($G(^TMP($J,"IBT",356.2,IBTRC,0)),"^",11)="" Q ; no previous action
|
---|
85 | I $P($G(^IBT(356.2,IBTRC,0)),"^",11)'=$P($G(^TMP($J,"IBT",356.2,IBTRC,0)),"^",11) D
|
---|
86 | .S DR=$P($T(@(IBACTION)),";;",2,99)
|
---|
87 | .I DR'="" D EDIT(DR,1)
|
---|
88 | .I IBACTION'=10 S $P(^IBT(356.2,IBTRC,0),"^",12,13)="^"
|
---|
89 | .I IBACTION'=20 S $P(^IBT(356.2,IBTRC,0),"^",15,16)="^"
|
---|
90 | .W !,"WARNING: I detected you changed the Action on this review and deleted",!,"data associated with the previous action." H 3
|
---|
91 | .Q
|
---|
92 | ; -- if not denial and denial reasons delete
|
---|
93 | I $O(^IBT(356.2,IBTRC,12,0)),$G(IBACTION)'=20 D
|
---|
94 | .S IBI=0 F S IBI=$O(^IBT(356.2,IBTRC,12,IBI)) Q:'IBI S DA=IBI,DA(1)=IBTRC,DIK="^IBT(356.2,"_IBTRC_",12," D ^DIK
|
---|
95 | ;
|
---|
96 | ; -- if not penalty and penalty reasons delete
|
---|
97 | I $O(^IBT(356.2,IBTRC,13,0)),$G(IBACTION)'=30 D
|
---|
98 | .S IBI=0 F S IBI=$O(^IBT(356.2,IBTRC,13,IBI)) Q:'IBI S DA=IBI,DA(1)=IBTRC,DIK="^IBT(356.2,"_IBTRC_",13," D ^DIK
|
---|
99 | .Q
|
---|
100 | ;
|
---|
101 | NXRV ; -- check Next Review Dates
|
---|
102 | N IBI0,IBIX
|
---|
103 | I '$D(IBTRN) N IBTRN S IBTRN=$P($G(^IBT(356.2,+$G(IBTRC),0)),"^",2)
|
---|
104 | Q:'$G(IBTRN)
|
---|
105 | S IBI=0 F S IBI=$O(^IBT(356.2,"C",IBTRN,IBI)) Q:'IBI D
|
---|
106 | .I $P($G(^IBT(356.2,IBI,0)),"^",24) D
|
---|
107 | ..S IBI0=$G(^(0))
|
---|
108 | ..S IBI(IBI)=$$DAT1^IBOUTL($P(IBI0,U,24))_"^"_$P($G(^DIC(36,+$P(IBI0,U,8),0)),U,1)_"^"_$P($G(^IBE(356.11,+$P(IBI0,U,4),0)),U,3)
|
---|
109 | ..Q
|
---|
110 | .Q
|
---|
111 | I $O(IBI(0)) D ASKDEL I IBDEL D
|
---|
112 | .I $P(^IBT(356.2,IBTRC,0),U,24)!$O(IBI(+$O(IBI(0)))) D
|
---|
113 | ..W !!,?3,"WARNING: This patient has the following multiple Next Review Dates: "
|
---|
114 | ..W !!!,?5,"REVIEW",?18,"INSURANCE COMPANY",?45,"TYPE OF CONTACT",?65,"NEXT REV. DATE"
|
---|
115 | ..W !,?5,$TR($J(" ",IOM-5)," ","=")
|
---|
116 | ..S IBIX=0 F S IBIX=$O(IBI(IBIX)) Q:'IBIX D
|
---|
117 | ...W !,?5,$$DAT1^IBOUTL(+^IBT(356.2,IBIX,0)),?18,$E($P(IBI(IBIX),U,2),1,23),?45,$P(IBI(IBIX),U,3),?65,$P(IBI(IBIX),U,1)
|
---|
118 | ...Q
|
---|
119 | ..W !,?5,$TR($J(" ",IOM-5)," ","=") S DIR("A")="Press RETURN to continue" D PAUSE^IBOUTL Q
|
---|
120 | Q
|
---|
121 | ;
|
---|
122 | ASKDEL ; -- ask if okay to delete next review dates
|
---|
123 | S IBDEL=1
|
---|
124 | Q
|
---|
125 | ;
|
---|
126 | 10 ;;1.07///@;.2///@;.21///@
|
---|
127 | 20 ;;.14///@;1.08///@;.2///@;21///@;.28///@
|
---|
128 | 30 ;;.14///@;1.07///@;1.08///@;.2///@;21///@;.28///@
|
---|
129 | 40 ;;.14///@;1.07///@;1.08///@;21///@;.28///@
|
---|
130 | 50 ;;.14///@;1.07///@;1.08///@;.2///@;.28///@
|
---|
131 | 99 ;;.14///@;1.07///@;1.08///@;.2///@;21///@;.28///@
|
---|