1 | IBCREE2 ;ALB/ARH - RATES: CM ENTER/EDIT (SG,RL,PD,DV) ; 10-OCT-1998
|
---|
2 | ;;2.0;INTEGRATED BILLING;**106,138,148**;21-MAR-94
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | EDITSG ; enter/edit special groups (363.32)
|
---|
6 | N DIC,DIE,DA,DR,X,Y,DINUM,DLAYGO,IBX,IBSGFN
|
---|
7 | W !!,"Enter/Edit a Special Group: ",!
|
---|
8 | ;
|
---|
9 | S DINUM=$O(^IBE(363.32,"A"),-1),DINUM=$S(DINUM<1000:1001,1:DINUM+1) I 'DINUM!($D(^IBE(363.32,DINUM,0))) Q
|
---|
10 | S DLAYGO=363.32,DIC="^IBE(363.32,",DIC(0)="AELNQ" D ^DIC K DIC,DINUM,DLAYGO I Y<1 K X,Y Q
|
---|
11 | ;
|
---|
12 | S IBSGFN=+Y
|
---|
13 | ;
|
---|
14 | S DR=".01;.02;11",DIE("NO^")="BACK"
|
---|
15 | ;
|
---|
16 | S IBX=$$CHKSG^IBCREU1(+Y) I +IBX S DR="11" W ! D W !!
|
---|
17 | . I +$P(IBX,U,2) W !,"This was exported Nationally, only the assigned Billing Rates may be edited."
|
---|
18 | . I +$P(IBX,U,3) W !,"This group has associated Revenue Code Links, can not edit Type."
|
---|
19 | . I +$P(IBX,U,4) W !,"This group has associated Provider Discount Links, can not edit Type."
|
---|
20 | . I '$P(IBX,U,2) S DR=".01;"_DR
|
---|
21 | ;
|
---|
22 | S DIDEL=363.32,DIE="^IBE(363.32,",DA=+IBSGFN D ^DIE K DIE,DA,DR,X,Y,DIDEL
|
---|
23 | Q
|
---|
24 | ;
|
---|
25 | EDITRL ; enter/edit revenue code links (363.33)
|
---|
26 | N DIC,DIE,DA,DR,X,Y,DINUM,DLAYGO,IBX,IBRLFN
|
---|
27 | W !!,"Enter/Edit a Revenue Code Link: " I +$G(IBSGFN) W " (for "_$P(IBSGFN,U,2)_" group)",!
|
---|
28 | ;
|
---|
29 | I '$G(IBSGFN) N IBSGFN S IBSGFN=$$GETSG^IBCRU1(1) Q:IBSGFN'>0 W !!
|
---|
30 | ;
|
---|
31 | I IBSGFN<1000 W !,"This is a Nationally exported set of revenue code links.",!,"This should be modified only if the revenue code links added or changed",!,"fit the specific group definition: ",$P(IBSGFN,U,2),".",!!
|
---|
32 | ;
|
---|
33 | S DIC("S")="I $P(^(0),U,2)="_+IBSGFN,DIC("DR")=".02////"_+IBSGFN,DIC("A")="Select REVENUE CODE: "
|
---|
34 | S DLAYGO=363.33,DIC="^IBE(363.33,",DIC(0)="AELNQ" D ^DIC K DIC,DINUM,DLAYGO I Y<1 K X,Y Q
|
---|
35 | ;
|
---|
36 | S IBRLFN=+Y
|
---|
37 | ;
|
---|
38 | S DR=".01;.03;.04"
|
---|
39 | S DIDEL=363.33,DIE="^IBE(363.33,",DA=+IBRLFN D ^DIE K DIE,DA,DR,X,Y,DIDEL
|
---|
40 | ;
|
---|
41 | S IBX=$G(^IBE(363.33,+IBRLFN,0)) S IBCPT=$P(IBX,U,3) ; reset cpt being displayed
|
---|
42 | Q
|
---|
43 | ;
|
---|
44 | EDITPD ; enter/edit provider discount (363.34)
|
---|
45 | N DIC,DIE,DA,DR,X,Y,DINUM,DLAYGO,IBX,IBPDFN
|
---|
46 | W !!,"Enter/Edit Provider Discount: " I +$G(IBSGFN) W " (for "_$P(IBSGFN,U,2)_" group)",!
|
---|
47 | ;
|
---|
48 | I '$G(IBSGFN) S IBSGFN=$$GETSG^IBCRU1(2) Q:IBSGFN'>0
|
---|
49 | ;
|
---|
50 | I IBSGFN<1000 W !!,"This is a Nationally exported set of Provider Discounts.",!,"This should be modified only if the provider discount added or changed",!,"fits the specific group definition: ",$P(IBSGFN,U,2),".",!!
|
---|
51 | ;
|
---|
52 | S DIC("S")="I $P(^(0),U,2)="_+IBSGFN,DIC("DR")=".02////"_+IBSGFN
|
---|
53 | S DLAYGO=363.34,DIC="^IBE(363.34,",DIC(0)="AELNQ" D ^DIC K DIC,DINUM,DLAYGO I Y<1 K X,Y Q
|
---|
54 | ;
|
---|
55 | S IBPDFN=+Y I $D(IBPDFNX) S IBPDFNX=+Y
|
---|
56 | ;
|
---|
57 | S DR=".01;.03;11"
|
---|
58 | S DIDEL=363.34,DIE="^IBE(363.34,",DA=+IBPDFN D ^DIE K DIE,DA,DR,X,Y,DIDEL
|
---|
59 | Q
|
---|
60 | ;
|
---|
61 | RESETDV(NAME) ; Reset Division numbers in both Charge Sets and Billing Regions (input CS or RG name)
|
---|
62 | ; not all division numbers were known when the Reasonable Charges files were released,
|
---|
63 | ; if the division number was not known then nnnXn or 9nnnn was used as a place holder in CS and RG names
|
---|
64 | ; this option allows the user to change these fake division numbers to the correct division number, when known
|
---|
65 | ;
|
---|
66 | N IBDIV,IBNDIV,IBFN,IBNM,IBNEW,IBI,IBX,DIC,DIE,DIR,DA,DR,DIRUT,DUOUT,DTOUT,X,Y,IBNDIVN,IBCT,IBST S IBNEW=""
|
---|
67 | Q:$G(NAME)="" I $E(NAME,1,3)'="RC ",$E(NAME,1,3)'="RC-" Q
|
---|
68 | ;
|
---|
69 | S IBDIV="" F IBI=1:1 S IBX=$P(NAME," ",IBI) Q:IBX="" I (IBX?3N1"X"1.3N)!(IBX>899.9) S IBDIV=IBX Q
|
---|
70 | I IBDIV=""!(IBDIV=999) Q
|
---|
71 | ;
|
---|
72 | W !!,">>> "_IBDIV," is an invalid site number.",!
|
---|
73 | S DIR("?")=IBDIV_" is not a valid site number, if you know the correct number for this division you may change it now for all Billing Region and Charge Set names."
|
---|
74 | RESET1 S DIR(0)="FO^3:7^I X'?3N,X'?3N1.4UN,'$O(^DG(40.8,""C"",X,0)) K X",DIR("A")="Enter the correct Division number for this site if available" D ^DIR Q:$D(DIRUT) I Y="" Q
|
---|
75 | ;
|
---|
76 | S IBNDIV=Y,IBNDIVN=$O(^DG(40.8,"C",IBNDIV,0))
|
---|
77 | I 'IBNDIVN W !!,?5,IBNDIV," is not a valid Medical Center division on your system.",!!
|
---|
78 | ;
|
---|
79 | S IBI="RC "_IBNDIV,IBX=$O(^IBE(363.31,"B",IBI)) I IBI=$P(IBX," ",1,2) W !!,IBX," already exists.",! G RESET1
|
---|
80 | S IBI="RC-PHYSICIAN "_IBNDIV,IBX=$O(^IBE(363.1,"B",IBI,0)) I +IBX W !!,IBI," already exists.",! G RESET1
|
---|
81 | ;
|
---|
82 | S DIR(0)="YO",DIR("A")="Replace "_IBDIV_" with "_IBNDIV D ^DIR K DIR Q:$D(DIRUT) I Y'=1 Q
|
---|
83 | ;
|
---|
84 | ; change Billing Region Names
|
---|
85 | S IBFN=0 F S IBFN=$O(^IBE(363.31,IBFN)) Q:'IBFN D
|
---|
86 | . S IBNM=$P($G(^IBE(363.31,IBFN,0)),U,1) I IBNM'[IBDIV Q
|
---|
87 | . I ($E(IBNM,1,3)'="RC ")!($P(IBNM," ",2)'=IBDIV) Q
|
---|
88 | . ;
|
---|
89 | . S IBNEW=$P(IBNM,IBDIV,1)_IBNDIV_$P(IBNM,IBDIV,2)
|
---|
90 | . ;
|
---|
91 | . S DIE="^IBE(363.31,",DA=+IBFN,DR=".01///"_$E(IBNEW,1,30) D ^DIE K DIE,DR,X,Y
|
---|
92 | . ;
|
---|
93 | . ; check location of Billing Region, allow it to be updated if it does not appear to be standard
|
---|
94 | . I $P($P(IBNEW," - ",2),", ",2)'?2U D
|
---|
95 | .. W !!,">>> New Billing Region Name: ",IBNEW
|
---|
96 | .. W !,">>> The Billing Region location is not in the standard 'CITY, ST' format."
|
---|
97 | .. W !,">>> If you know the correct City, State for this division you may change it now.",!
|
---|
98 | .. S DIR(0)="PO^5:AEQMZ",DIR("A")="Enter the STATE where the Division is located"
|
---|
99 | .. D ^DIR Q:$D(DIRUT) S IBST=$P(Y(0),U,2)
|
---|
100 | .. S DIR(0)="FO^1:"_(30-$L($P(IBNEW," - ",1))-7),DIR("A")="Enter the CITY where the Division is located"
|
---|
101 | .. D ^DIR Q:$D(DIRUT) S IBCT=$$UP^XLFSTR(Y)
|
---|
102 | .. S IBNEW=$P(IBNEW," - ",1)_" - "_IBCT_", "_IBST W !!,IBNM," replaced with ",IBNEW
|
---|
103 | .. S DIE="^IBE(363.31,",DA=+IBFN,DR=".01///"_$E(IBNEW,1,30) D ^DIE K DIE,DR,X,Y
|
---|
104 | . ;
|
---|
105 | . ; add division to Billing Region, if not already there
|
---|
106 | . I +IBNDIVN,'$O(^IBE(363.31,+IBFN,11,"B",IBNDIVN,0)) D
|
---|
107 | .. S DLAYGO=363.31,DA(1)=+IBFN,DIC="^IBE(363.31,"_DA(1)_",11,",DIC(0)="L",X=+IBNDIVN,DIC("P")="363.3111P" D ^DIC K DIC,DIE,DLAYGO
|
---|
108 | ;
|
---|
109 | ; change Charge Set Names
|
---|
110 | S IBFN=0 F S IBFN=$O(^IBE(363.1,IBFN)) Q:'IBFN Q:IBFN'<1000 D
|
---|
111 | . S IBNM=$P($G(^IBE(363.1,IBFN,0)),U,1) I IBNM'[IBDIV Q
|
---|
112 | . I ($E(IBNM,1,3)'="RC-")!($E(IBNM,($L(IBNM)-$L(IBDIV)+1),999)'=IBDIV) Q
|
---|
113 | . ;
|
---|
114 | . S IBNEW=$P(IBNM,IBDIV,1)_IBNDIV_$P(IBNM,IBDIV,2)
|
---|
115 | . ;
|
---|
116 | . S DIE="^IBE(363.1,",DA=+IBFN,DR=".01///"_$E(IBNEW,1,30) D ^DIE K DIE,DR,X,Y
|
---|
117 | ;
|
---|
118 | W " ... Done.",!
|
---|
119 | Q
|
---|