- Timestamp:
- Dec 4, 2009, 8:26:01 PM (14 years ago)
- Location:
- FOIAVistA/tag/r
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
FOIAVistA/tag/r/INTEGRATED_BILLING-IB-PRQ--IBD--IBQ--PRQS/IBCRCC.m
r628 r636 1 1 IBCRCC ;ALB/ARH - RATES: CALCULATION OF ITEM CHARGE ;22-MAY-1996 2 ;;2.0;INTEGRATED BILLING;**52,80,106,138,245,223,309,347 ,370**;21-MAR-94;Build 52 ;;2.0;INTEGRATED BILLING;**52,80,106,138,245,223,309,347**;21-MAR-94;Build 24 3 3 ;;Per VHA Directive 2004-038, this routine should not be modified. 4 4 ; … … 91 91 Q IBX_IBPDTY 92 92 ; 93 MODCHG(CS,CHG,MODS) ; return adjusted amount due to RC modifier adjustment94 ; straight adjustment for RC Physician charges by modifier, if no modifier adjustment returns original amount95 ; Input: Charge Set, Procedure Charge, Modifiers - list with modifier IEN's separated by ','96 ; Output: discounted amount ^ comment (if discounted) ^ percent discount97 ;98 N IBCS0,IBBR0,IBMOD,IBMODS,IBMODE,IBDSCNT,IBPDTY,IBI,IBX,IBY99 S CHG=+$G(CHG),MODS=$G(MODS),(IBBR0,IBPDTY,IBMODS)="",IBDSCNT=1,IBX=+CHG100 I +$G(CS) S IBCS0=$G(^IBE(363.1,+CS,0)),IBBR0=$G(^IBE(363.3,+$P(IBCS0,U,2),0))101 I $P(IBBR0,U,1)'["RC PHYSICIAN" S MODS="" ; professional charge only102 I $P(IBBR0,U,4)'=2 S MODS="" ; CPT item only103 I 'CHG S MODS=""104 ;105 I +MODS F IBI=1:1 S IBMOD=$P(MODS,",",IBI) Q:'IBMOD S IBY=0 D106 . I IBMOD=3 S IBMODE=22,IBY=1.2,IBX=IBX*IBY ; modifier 22 at 120% adjustment107 . I IBMOD=10 S IBMODE=50,IBY=1.54,IBX=IBX*IBY ; modifier 50 at 154% adjustment108 . I +IBY S IBMODS=IBMODS_$S(IBMODS="":"",1:",")_IBMODE,IBDSCNT=IBDSCNT*IBY ; allow for multiple discounts109 I IBMODS'="" S IBPDTY=U_"Modifier "_IBMODS_" Adjustment "_(IBDSCNT*100)_"% of "_$J(CHG,0,2)_U_+IBDSCNT110 Q IBX_IBPDTY111 ;112 93 HRUNIT(HRS) ; returns Hour Units based on the Hours passed in 113 94 ; Hour Units are the hours rounded to the nearest whole hour (less than 30 minutes is 0 units) … … 121 102 ; 122 103 MNUNIT(MNS) ; return Minute Units based on the Minutes passed in 123 ; Minute Units are 15 minute intervals, rounded up after anyminutes124 N IBX S IBX=0 I +$G(MNS) S IBX=(MNS\15) S: +(MNS#15)IBX=IBX+1 I 'IBX S IBX=1104 ; Minute Units are 15 minute intervals, rounded down for less than 5 minutes 105 N IBX S IBX=0 I +$G(MNS) S IBX=(MNS\15) S:(MNS#15)>4 IBX=IBX+1 I 'IBX S IBX=1 125 106 Q IBX
Note:
See TracChangeset
for help on using the changeset viewer.