| 1 | IBAUTL1 ;ALB/AAS - IB UTILITY ROUTINE FOR MEDICARE RATES ; 30-AUG-91
 | 
|---|
| 2 |  ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | RATE ;  - Calculates the Medicare rate for a CPT code.
 | 
|---|
| 6 |  ;  - Input  X = visit date ^ division ^ ifn of cpt code
 | 
|---|
| 7 |  ;  - Output Y = charge
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  S IBX=X N X S X=IBX
 | 
|---|
| 10 |  S IBRG=$O(^IBE(350.4,"AIVDT",+$P(X,"^",3),-($P(X,"^")+1))) I IBRG S IBRG=$O(^(+IBRG,0)) ;determine current ib action type for code
 | 
|---|
| 11 |  I $S('IBRG:1,'$D(^IBE(350.4,+IBRG,0)):1,'$P(^(0),"^",3):1,1:0) S Y=-1 G RATEQ
 | 
|---|
| 12 |  S IBRG=+$P(^IBE(350.4,IBRG,0),"^",3)
 | 
|---|
| 13 |  S DA=$O(^IBE(350.2,"AIVDT",IBRG,-($P(X,"^")+1))) I DA S DA=$O(^(+DA,0)) ; determine current ib action charge for rate group
 | 
|---|
| 14 |  I $S('DA:1,'$D(^IBE(350.2,DA,10)):1,1:0) S Y=-1 G RATEQ
 | 
|---|
| 15 |  X ^IBE(350.2,DA,10)
 | 
|---|
| 16 | RATEQ K IBRG,IBX
 | 
|---|
| 17 |  Q
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 | VAR ;  -Called by entries in 350.2 to get variables
 | 
|---|
| 20 |  ;  -input x=visit date^division ifn
 | 
|---|
| 21 |  ;        da=internal number from 350.2
 | 
|---|
| 22 |  ;  -output y=wage%^non-wage%^locality multiplier
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  S IBLOC=$O(^IBE(350.5,"AIVDT",+$P(X,"^",2),-($P(X,"^")+1))) I IBLOC S IBLOC=$O(^(+IBLOC,0))
 | 
|---|
| 25 |  I $S('IBLOC:1,'$D(^IBE(350.5,+IBLOC,0)):1,'$P(^(0),"^",7):1,1:0) S Y=-1 G VARQ
 | 
|---|
| 26 |  S Y=$P(^IBE(350.5,IBLOC,0),"^",5,7)
 | 
|---|
| 27 | VARQ K IBLOC,IBWAG Q
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 | TEST S DA=14,X=DT_"^1^10141" D RATE ;X ^IBE(350.2,DA,10) W X," ",Y
 | 
|---|