IBCRCC ;ALB/ARH - RATES: CALCULATION OF ITEM CHARGE ;22-MAY-1996
Source file <IBCRCC.m>
| action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| ITMCHG(CS,ITEM,EVDT,MOD,ARR) | ; get the base unit charges for a specific item, given a charge set, item and date
; this is the primary function to get an item charge and works for all Charge Methods, given an Item ; returns ARR = count of items in array ^ total charge for item ^ total base charge ; ARR(x) = charge item IFN (if any) ^ rev code (if any) ^ $ charge ^ $ base charge ; checks Item effective and inactive dates, modifier match, and only sets array if the charge is non-zero ; each item will be passed back separately in the array, no combination of charges |
|
| SETARR(CI,RVCD,CHRG,ARR,CHRGB) | ; set charges into an array, does not allow zero charge, a new entry is created each time,
; no attempt to combine like items, the new item charge is added to any that may already be in the array ; returns ARR = count of items in array ^ total charge for item ; ARR(x) = charge item IFN (if any) ^ item rev code (if any) ^ $ charge |
|
| PICOST(PI) | ; returns (PI=ptr 362.5): total VA cost of an item (660,14) ^ quantity (660,5) from prosthetics ^ bill IFN
|
|
| RATECHG(RS,CHG,EVDT,FEE) | ; returns modifed item charge based on rate schedule: check effective dates, apply adjustment
; adjusted amount ^ comment (if there is an adjustment) ; if FEE passed by reference, returns disp fee^admin fee |
|
| RXIBCNR(IBD,IBITEM) | ; returns the unit cost for the drug
; input: IBD array, RX# ; output: unit cost (.304/366.141) ^ bill's IEN in (.02/362.4) |
|
| RXCOST(RX) | ; returns (RX=ptr 362.4): VA Cost of an Rx - Per Unit Cost ^ bill IFN
; w/ Per Unit Cost = Refill (Current Unit Price of Drug - 52.1,1.2) or RX (Unit Price of Drug - 52,17) or Drug (Price Per Dispense Unit - 50,16) |
|
| DRGCT(IBDGP) | ;Penny drug cost calculation
; Input - IEN ; Output - true value of unit price (50-13/15) |
|
| DRGCTQ | ||
| PRVCHG(CS,CHG,PRV,EVDT,ITEM) | ; return discounted amount, based on total charge for a the care, the provider and Charge Set (BR)
; if no discount record found for the Charge Set or the provider then returns original amount ; no provider discount for Lab charges (80000-89999) ; discounted amount ^ comment (if discounted) ^ percent discount |
|
| MODCHG(CS,CHG,MODS) | ; return adjusted amount due to RC modifier adjustment
; straight adjustment for RC Physician charges by modifier, if no modifier adjustment returns original amount ; Input: Charge Set, Procedure Charge, Modifiers - list with modifier IEN's separated by ',' ; Output: discounted amount ^ comment (if discounted) ^ percent discount |
|
| HRUNIT(HRS) | ; returns Hour Units based on the Hours passed in
; Hour Units are the hours rounded to the nearest whole hour (less than 30 minutes is 0 units) |
|
| MLUNIT(MLS) | ; returns Miles Units based on the Miles passed in
; Mile Units are the miles rounded to the nearest whole mile |
|
| MNUNIT(MNS) | ; return Minute Units based on the Minutes passed in
; Minute Units are 15 minute intervals, rounded up after any minutes |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^IBA(362.4 - [#362.4] | RXIBCNR+6, RXCOST+6 |
| ^IBA(362.5 - [#362.5] | PICOST+3 |
| ^IBA(363.2 - [#363.2] | ITMCHG+20, ITMCHG+21, ITMCHG+22 |
| ^IBCNR(366.14 - [#366.14] | RXIBCNR+9, RXIBCNR+10, RXIBCNR+11, RXIBCNR+13, RXIBCNR+16, RXIBCNR+17 |
| ^IBE(363 - [#363] | RATECHG+5, RATECHG+9 |
| ^IBE(363.1 - [#363.1] | MODCHG+7 |
| ^IBE(363.3 - [#363.3] | MODCHG+7 |
| ^IBE(363.34 - [#363.34] | PRVCHG+11, PRVCHG+12, PRVCHG+13 |
| ^RMPR(660 - [#660] | PICOST+4 |
| ^TMP($J | RXCOST+11, RXCOST+15!, DRGCT+5, DRGCT+6, DRGCT+7 |
| ^VA(200 - [#200] | PRVCHG+15 |
| Name | Line Occurrences |
|---|---|
| $$DRGCT | RXCOST+14 |
| $$PICOST | ITMCHG+13 |
| $$RXCOST | ITMCHG+14 |
| $$RXIBCNR | ITMCHG+14 |
| DRGCTQ | DRGCT+4 |
| SETARR | ITMCHG+13, ITMCHG+14, ITMCHG+28 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| ARR | ITMCHG~, ITMCHG+7!*, ITMCHG+13, ITMCHG+14, ITMCHG+28, SETARR~, SETARR+6, SETARR+9* |
| ARR( | SETARR+9* |
| CHG | RATECHG~, RATECHG+5, RATECHG+8, PRVCHG~, PRVCHG+5, PRVCHG+15, MODCHG~, MODCHG+6*, MODCHG+10, MODCHG+16 |
| CHRG | SETARR~, SETARR+6, SETARR+9 |
| CHRGB | SETARR~, SETARR+6 |
| CI | SETARR~, SETARR+9 |
| CNT | SETARR+5~, SETARR+6*, SETARR+9 |
| CS | ITMCHG~, ITMCHG+8*, ITMCHG+9, ITMCHG+19, PRVCHG~, PRVCHG+6*, PRVCHG+7, MODCHG~, MODCHG+7 |
| DT | ITMCHG+8, RATECHG+6, PRVCHG+5 |
| EVDT | ITMCHG~, ITMCHG+8, RATECHG~, RATECHG+6*, RATECHG+7, PRVCHG~, PRVCHG+5*, PRVCHG+8 |
| FEE | RATECHG~, RATECHG+9* |
| HRS | HRUNIT~, HRUNIT+2 |
| IBBR0 | MODCHG+5~, MODCHG+6*, MODCHG+7*, MODCHG+8, MODCHG+9 |
| IBCHRG | ITMCHG+7~, ITMCHG+13*, ITMCHG+14* |
| IBCS0 | MODCHG+5~, MODCHG+7* |
| IBCSBR | ITMCHG+7~, ITMCHG+9*, ITMCHG+12, ITMCHG+13, ITMCHG+14 |
| IBCUT | DRGCT+3~*, DRGCT+8*, DRGCTQ |
| IBD | ITMCHG+14, RXIBCNR~ |
| IBD("CLAIMID" | RXIBCNR+8 |
| IBD("FILL NUM | BER" , RXIBCNR+15 |
| IBD("NDC" | RXIBCNR+14 |
| IBD("PRESCRIPTION" | RXIBCNR+7 |
| IBD("RXCOB" | RXIBCNR+16 |
| IBDA | ITMCHG+7~, ITMCHG+21*, ITMCHG+22, ITMCHG+28, RXIBCNR+4~, RXIBCNR+6*, RXIBCNR+9*, RXIBCNR+10, RXIBCNR+11, RXIBCNR+13 , RXIBCNR+16, RXIBCNR+17, RXIBCNR+19*, RXIBCNR+20, RXIBCNR+22*, RXIBCNR+23 |
| IBDAR | RXIBCNR+4~ |
| IBDAR( | RXIBCNR+17*, RXIBCNR+20 |
| IBDAR("" | RXIBCNR+19 |
| IBDB | RXIBCNR+4~, RXIBCNR+10*, RXIBCNR+11, RXIBCNR+13, RXIBCNR+16, RXIBCNR+17, RXIBCNR+20* |
| IBDCT | RXIBCNR+4~, RXIBCNR+5*, RXIBCNR+20*, RXIBCNR+22 |
| IBDGP | RXCOST+3~, RXCOST+4*, RXCOST+6*, RXCOST+11, RXCOST+14, DRGCT~, DRGCT+4, DRGCT+5, DRGCT+6, DRGCT+7 |
| IBDRC | RXIBCNR+4~, RXIBCNR+11*, RXIBCNR+14, RXIBCNR+15 |
| IBDRX | RXIBCNR+4~, RXIBCNR+5*, RXIBCNR+6*, RXIBCNR+7*, RXIBCNR+8*, RXIBCNR+9, RXIBCNR+10 |
| IBDSCNT | MODCHG+5~, MODCHG+6*, MODCHG+15*, MODCHG+16 |
| IBDT | RXCOST+3~, RXCOST+4*, RXCOST+6*, RXCOST+7 |
| IBEFDT | ITMCHG+7~, ITMCHG+20*, ITMCHG+21, RATECHG+4~, RATECHG+6*, RATECHG+7 |
| IBEVDT | ITMCHG+7~, ITMCHG+8*, ITMCHG+20, ITMCHG+25 |
| IBI | PRVCHG+5~, PRVCHG+10*, MODCHG+5~, MODCHG+12* |
| IBIFN | PICOST+2~, PICOST+3*, PICOST+4, RXIBCNR+4~, RXIBCNR+5*, RXIBCNR+6*, RXIBCNR+22, RXCOST+3~, RXCOST+4*, RXCOST+6* , RXCOST+9, RXCOST+10, RXCOST+11, RXCOST+14 |
| IBINADT | RATECHG+4~, RATECHG+6*, RATECHG+7 |
| IBITEM | ITMCHG+7~, ITMCHG+8*, ITMCHG+13, ITMCHG+14, ITMCHG+20, ITMCHG+21, RXIBCNR~, RXIBCNR+6 |
| IBITMFND | ITMCHG+7~, ITMCHG+19*, ITMCHG+20, ITMCHG+24* |
| IBLN | ITMCHG+7~, ITMCHG+22*, ITMCHG+23, ITMCHG+25, ITMCHG+28, PICOST+2~, PICOST+3*, PICOST+4*, RXCOST+3~, RXCOST+6* , RXCOST+11* |
| IBMOD | MODCHG+5~, MODCHG+12*, MODCHG+13, MODCHG+14 |
| IBMODE | MODCHG+5~, MODCHG+13*, MODCHG+14*, MODCHG+15 |
| IBMODS | MODCHG+5~, MODCHG+6*, MODCHG+15*, MODCHG+16 |
| IBPC | PRVCHG+5~, PRVCHG+8*, PRVCHG+12 |
| IBPD0 | PRVCHG+5~, PRVCHG+13*, PRVCHG+15 |
| IBPDFN | PRVCHG+5~, PRVCHG+11*, PRVCHG+12, PRVCHG+13 |
| IBPDTY | PRVCHG+5~*, PRVCHG+11, PRVCHG+15*, PRVCHG+16, MODCHG+5~, MODCHG+6*, MODCHG+16*, MODCHG+17 |
| IBPIP | PICOST+2~*, PICOST+3*, PICOST+4 |
| IBRS0 | RATECHG+4~, RATECHG+5*, RATECHG+6 |
| IBRS10 | RATECHG+4~, RATECHG+5*, RATECHG+8 |
| IBRTY | RATECHG+4~*, RATECHG+8*, RATECHG+10 |
| IBRXP | RXCOST+3~, RXCOST+4*, RXCOST+6*, RXCOST+7, RXCOST+9, RXCOST+10, RXCOST+11 |
| IBSG | PRVCHG+5~, PRVCHG+7 |
| IBSG( | PRVCHG+10 |
| IBSGFN | PRVCHG+5~*, PRVCHG+7*, PRVCHG+8, PRVCHG+10*, PRVCHG+11 |
| IBX | PICOST+2~*, PICOST+4*, PICOST+5, RATECHG+4~, RATECHG+5*, RATECHG+7*, RATECHG+8*, RATECHG+10, RXCOST+3~, RXCOST+4* , RXCOST+9*, RXCOST+10*, RXCOST+11*, RXCOST+14*, RXCOST+16, DRGCT+3~, DRGCT+6*, DRGCT+8, PRVCHG+5~*, PRVCHG+14* , PRVCHG+16, MODCHG+5~, MODCHG+6*, MODCHG+13*, MODCHG+14*, MODCHG+17, HRUNIT+2~*, HRUNIT+3, MLUNIT+2~*, MLUNIT+3 , MNUNIT+2~*, MNUNIT+3 |
| IBXREF | ITMCHG+7~, ITMCHG+19*, ITMCHG+20, ITMCHG+21 |
| IBY | RXCOST+3~, RXCOST+4*, RXCOST+6*, RXCOST+7*, RXCOST+9, DRGCT+3~, DRGCT+7*, DRGCT+8, PRVCHG+5~, PRVCHG+13* , PRVCHG+14*, PRVCHG+15, MODCHG+5~, MODCHG+12*, MODCHG+13*, MODCHG+14*, MODCHG+15 |
| ITEM | ITMCHG~, ITMCHG+8, PRVCHG~, PRVCHG+6 |
| MLS | MLUNIT~, MLUNIT+2 |
| MNS | MNUNIT~, MNUNIT+2 |
| MOD | ITMCHG~, ITMCHG+8*, ITMCHG+23 |
| MODS | MODCHG~, MODCHG+6*, MODCHG+8*, MODCHG+9*, MODCHG+10*, MODCHG+12 |
| PI | PICOST~, PICOST+3 |
| PRV | PRVCHG~, PRVCHG+6*, PRVCHG+8, PRVCHG+15 |
| RS | RATECHG~, RATECHG+5, RATECHG+9 |
| RVCD | SETARR~, SETARR+9 |
| RX | RXCOST~, RXCOST+6 |
| TCHRG | SETARR+5~, SETARR+6*, SETARR+9 |
| TCHRGB | SETARR+5~, SETARR+6*, SETARR+9 |
| U | ITMCHG+12, ITMCHG+13, ITMCHG+14, ITMCHG+23, ITMCHG+25, ITMCHG+28, SETARR+6, SETARR+9, PICOST+3, PICOST+4 , RATECHG+6, RXIBCNR+6, RXIBCNR+14, RXIBCNR+15, RXIBCNR+17, RXIBCNR+22, RXCOST+6, RXCOST+9, RXCOST+10, RXCOST+11 , RXCOST+14, PRVCHG+13, PRVCHG+15, MODCHG+7, MODCHG+8, MODCHG+9, MODCHG+16 |
| X | RATECHG+4~, RATECHG+8* |