| 1 | IBYPSA ;ALB/ARH - IB*2.0*245 POST INIT: REASONABLE CHARGES V2.0 ; 10-OCT-2003
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**245**;21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 |  Q
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 | POST ;
 | 
|---|
| 9 |  N IBA
 | 
|---|
| 10 |  S IBA(1)="",IBA(2)="    Reasonable Charges v2.0 Post-Install .....",IBA(3)="" D MES^XPDUTL(.IBA) K IBA
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 |  D RSINDT ; add Rate Schedule Inactive dates (363, .06)
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  D UPDBR ; update Billing Rate Names for v2.0 (363.3)
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  D ADDRB^IBYPSA1 ; add Billable Service  (399.1, .2)
 | 
|---|
| 17 |  D ADDBS^IBYPSA1 ; add Bedsections  (399.1,.12)
 | 
|---|
| 18 |  D ADDBI^IBYPSA1 ; add Billable Items   (363.21)
 | 
|---|
| 19 |  D ADDRS^IBYPSA1 ; add Rate Schedule   (363)
 | 
|---|
| 20 |  D ADDBR^IBYPSA1 ; add Billing Rates   (363.3)
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 |  D SGBR ; add Billing Rates to Special Groups  (363.32,11,.01)
 | 
|---|
| 23 |  D RVACT ; activate 3 Revenue Codes (399.2,2)
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 |  D CHGINA^IBYPSA2("") ; inactivate all RC charges in #363.2
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  S IBA(1)="",IBA(2)="    Reasonable Charges v2.0 Post-Install Complete",IBA(3)="" D MES^XPDUTL(.IBA) K IBA
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 |  Q
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 | RSINDT ; add an inactive date to rate schedules if this is the first time the load is completed (363, .06)
 | 
|---|
| 33 |  ; Reimbursable Ins, No Fault, and Workers Comp only
 | 
|---|
| 34 |  ; if test account use 9/30/98, if production account use 8/31/99
 | 
|---|
| 35 |  N IBA,IBRSFN,IBRS0,IBRSN,IBCNT,IBSTDT,DD,DO,DIC,DIE,DA,DR,X,Y S IBSTDT="",IBCNT=0
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 |  I $O(^IBE(363.3,"B","RC PHYSICIAN MN",0)) G RSINQ
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  S IBSTDT=$$VERSEDT^IBCRHBRV(1.4) ;I '$$PROD^IBCORC S IBSTDT=2980930
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 |  S IBRSFN=0 F  S IBRSFN=$O(^IBE(363,IBRSFN)) Q:'IBRSFN  D
 | 
|---|
| 42 |  . S IBRS0=$G(^IBE(363,IBRSFN,0)),IBRSN=$E(IBRS0,1,3)
 | 
|---|
| 43 |  . I IBRSN'="RI-",IBRSN'="NF-",IBRSN'="WC-" Q
 | 
|---|
| 44 |  . I $P(IBRS0,U,5)'<IBSTDT Q
 | 
|---|
| 45 |  . I $P(IBRS0,U,6)'="" Q
 | 
|---|
| 46 |  . ;
 | 
|---|
| 47 |  . S IBCNT=IBCNT+1,DR=".06////"_IBSTDT,DIE="^IBE(363,",DA=+IBRSFN D ^DIE K DIE,DA,DR,X,Y
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | RSINQ S IBA(1)="      >> "_IBCNT_" Rate Schedules inactivated on "_$E(IBSTDT,4,5)_"/"_$E(IBSTDT,6,7)_"/"_$E(IBSTDT,2,3)_" (363)..."
 | 
|---|
| 50 |  D MES^XPDUTL(.IBA)
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 |  ;
 | 
|---|
| 53 | UPDBR ; Update Billing Rate Names
 | 
|---|
| 54 |  N IBA,IBDA,IBCNT,DD,DO,DINUM,DLAYGO,DIC,DIE,DA,DR,X,Y S IBCNT=0
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 |  S DA=$O(^IBE(363.3,"B","RC OUTPATIENT FACILITY","")) I +DA D
 | 
|---|
| 57 |  . S DR=".01///RC FACILITY PR;.02///RC F/PR" S DIE="^IBE(363.3," D ^DIE K DIE,DA,DR,X,Y
 | 
|---|
| 58 |  . D MSG("             RC OUTPATIENT FACILITY to RC FACILITY PR") S IBCNT=IBCNT+1
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  S DA=$O(^IBE(363.3,"B","RC PHYSICIAN","")) I +DA D
 | 
|---|
| 61 |  . S DR=".01///RC PHYSICIAN PR;.02///RC P/PR" S DIE="^IBE(363.3," D ^DIE K DIE,DA,DR,X,Y
 | 
|---|
| 62 |  . D MSG("             RC PHYSICIAN to RC PHYSICIAN PR") S IBCNT=IBCNT+1
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 |  S IBA(1)="      >> "_IBCNT_" Billing Rate Names Updated (363.3)..."
 | 
|---|
| 65 |  D MES^XPDUTL(.IBA)
 | 
|---|
| 66 |  Q
 | 
|---|
| 67 |  ;
 | 
|---|
| 68 | SGBR ; add new Billing Rates to the Special Groups (363.32,11,.01)
 | 
|---|
| 69 |  N IBA,IBSET,IBSG,IBSGFN,IBBR,IBBRFN,IBCNT,DINUM,DD,DO,DLAYGO,DIC,DIE,DA,DR,X,Y,IBBRNM S IBCNT=0
 | 
|---|
| 70 |  ;
 | 
|---|
| 71 |  F IBSET="STANDARD RVCD LINKS^RC FACILITY","STANDARD RVCD LINKS^RC PHYSICIAN","RC PROVIDER DISCOUNTS^RC PHYSICIAN" D
 | 
|---|
| 72 |  . S IBSG=$P(IBSET,U,1) Q:IBSG=""  S IBSGFN=$O(^IBE(363.32,"B",IBSG,0)) Q:'IBSGFN
 | 
|---|
| 73 |  . S IBBR=$P(IBSET,U,2) Q:IBBR=""
 | 
|---|
| 74 |  . ;
 | 
|---|
| 75 |  . S IBBRNM=IBBR F  S IBBRNM=$O(^IBE(363.3,"B",IBBRNM)) Q:IBBRNM'[IBBR  D
 | 
|---|
| 76 |  .. ;
 | 
|---|
| 77 |  .. S IBBRFN=$O(^IBE(363.3,"B",IBBRNM,0)) Q:'IBBRFN
 | 
|---|
| 78 |  .. I +$P($G(^IBE(363.3,+IBBRFN,0)),U,4)'=2 Q  ; cpt charges only
 | 
|---|
| 79 |  .. ;
 | 
|---|
| 80 |  .. I $O(^IBE(363.32,+IBSGFN,11,"B",+IBBRFN,0)) Q
 | 
|---|
| 81 |  .. ;
 | 
|---|
| 82 |  .. S DLAYGO=363.32,DA(1)=+IBSGFN,DIC="^IBE(363.32,"_DA(1)_",11,",DIC(0)="L",X=IBBRNM,DIC("P")="363.3211PA" D ^DIC K DIC,DIE S IBCNT=IBCNT+1
 | 
|---|
| 83 |  ;
 | 
|---|
| 84 | SGBRQ S IBA(1)="      >> "_IBCNT_" Billing Rates added to Special Groups (363.32)..."
 | 
|---|
| 85 |  D MES^XPDUTL(.IBA)
 | 
|---|
| 86 |  Q
 | 
|---|
| 87 |  ;
 | 
|---|
| 88 | RVACT ; activate (3) Revenue Codes exported in as defaults for new Charge Sets (399.2,2)
 | 
|---|
| 89 |  N IBA,IBLN,IBI,IBRVFN,IBACT,IBCNT,IBJ,DD,DO,DIC,DIE,DA,DR,X,Y S IBCNT=0,IBACT=""
 | 
|---|
| 90 |  ;
 | 
|---|
| 91 |  S IBLN=$P($T(RVF+1),";;",2)
 | 
|---|
| 92 |  ;
 | 
|---|
| 93 |  F IBI=1:1 S IBRVFN=$P(IBLN,",",IBI) Q:'IBRVFN  D
 | 
|---|
| 94 |  . ;
 | 
|---|
| 95 |  . I +$P($G(^DGCR(399.2,IBRVFN,0)),U,3) Q
 | 
|---|
| 96 |  . ;
 | 
|---|
| 97 |  . S IBACT=IBACT_IBRVFN_","
 | 
|---|
| 98 |  . S IBCNT=IBCNT+1,DR="2////1",DIE="^DGCR(399.2,",DA=+IBRVFN D ^DIE K DIE,DA,DR,X,Y
 | 
|---|
| 99 |  ;
 | 
|---|
| 100 |  I IBCNT>0 S IBJ=0 F IBI=1:15 S IBJ=IBJ+15 S IBLN=$P(IBACT,",",IBI,IBJ) Q:IBLN=""  D MSG("             "_IBLN)
 | 
|---|
| 101 |  ;
 | 
|---|
| 102 | RVAQ S IBA(1)="      >> "_IBCNT_" Revenue Codes activated (399.2)..."
 | 
|---|
| 103 |  D MES^XPDUTL(.IBA)
 | 
|---|
| 104 |  Q
 | 
|---|
| 105 |  ;
 | 
|---|
| 106 | MCCRUTL(X,P) ; returns IFN of item in 399.1 if Name is found and piece P is true
 | 
|---|
| 107 |  N IBX,IBY S IBY=""
 | 
|---|
| 108 |  I $G(X)'="" S IBX=0 F  S IBX=$O(^DGCR(399.1,"B",X,IBX)) Q:'IBX  I $P($G(^DGCR(399.1,IBX,0)),U,+$G(P)) S IBY=IBX
 | 
|---|
| 109 |  Q IBY
 | 
|---|
| 110 |  ;
 | 
|---|
| 111 | MSG(X) ;
 | 
|---|
| 112 |  N IBX S IBX=$O(IBA(999999),-1) S:'IBX IBX=1 S IBX=IBX+1
 | 
|---|
| 113 |  S IBA(IBX)=$G(X)
 | 
|---|
| 114 |  Q
 | 
|---|
| 115 |  ;
 | 
|---|
| 116 | RVF ;  Revenue Codes to (3) Activate (399.2,2)
 | 
|---|
| 117 |  ;;190,200,912,
 | 
|---|
| 118 |  ;;
 | 
|---|