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