Ignore:
Timestamp:
Dec 4, 2009, 8:26:01 PM (14 years ago)
Author:
George Lilly
Message:

WorldVistAEHR overlayed on FOIAVistA

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  
    11IBCRCC ;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 5
     2 ;;2.0;INTEGRATED BILLING;**52,80,106,138,245,223,309,347**;21-MAR-94;Build 24
    33 ;;Per VHA Directive 2004-038, this routine should not be modified.
    44 ;
     
    9191 Q IBX_IBPDTY
    9292 ;
    93 MODCHG(CS,CHG,MODS) ; return adjusted amount due to RC modifier adjustment
    94  ; straight adjustment for RC Physician charges by modifier, if no modifier adjustment returns original amount
    95  ; Input:  Charge Set, Procedure Charge, Modifiers - list with modifier IEN's separated by ','
    96  ; Output: discounted amount ^ comment (if discounted) ^ percent discount
    97  ;
    98  N IBCS0,IBBR0,IBMOD,IBMODS,IBMODE,IBDSCNT,IBPDTY,IBI,IBX,IBY
    99  S CHG=+$G(CHG),MODS=$G(MODS),(IBBR0,IBPDTY,IBMODS)="",IBDSCNT=1,IBX=+CHG
    100  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 only
    102  I $P(IBBR0,U,4)'=2 S MODS="" ; CPT item only
    103  I 'CHG S MODS=""
    104  ;
    105  I +MODS F IBI=1:1 S IBMOD=$P(MODS,",",IBI) Q:'IBMOD  S IBY=0 D
    106  . I IBMOD=3 S IBMODE=22,IBY=1.2,IBX=IBX*IBY ; modifier 22 at 120% adjustment
    107  . I IBMOD=10 S IBMODE=50,IBY=1.54,IBX=IBX*IBY ; modifier 50 at 154% adjustment
    108  . I +IBY S IBMODS=IBMODS_$S(IBMODS="":"",1:",")_IBMODE,IBDSCNT=IBDSCNT*IBY ; allow for multiple discounts
    109  I IBMODS'="" S IBPDTY=U_"Modifier "_IBMODS_" Adjustment "_(IBDSCNT*100)_"% of "_$J(CHG,0,2)_U_+IBDSCNT
    110  Q IBX_IBPDTY
    111  ;
    11293HRUNIT(HRS) ; returns Hour Units based on the Hours passed in
    11394 ; Hour Units are the hours rounded to the nearest whole hour (less than 30 minutes is 0 units)
     
    121102 ;
    122103MNUNIT(MNS) ; return Minute Units based on the Minutes passed in
    123  ; Minute Units are 15 minute intervals, rounded up after any minutes
    124  N IBX S IBX=0 I +$G(MNS) S IBX=(MNS\15) S:+(MNS#15) IBX=IBX+1 I 'IBX S IBX=1
     104 ; 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
    125106 Q IBX
Note: See TracChangeset for help on using the changeset viewer.