IBCU7A1 ;ALB/ARH - BILL PROCEDURE MANIPULATIONS (BUNDLED) ; 10-OCT-03
Source file <IBCU7A1.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 |
|---|---|---|
| BNDL(IBIFN) | ; manipulate a bill's CPT codes, replace bundled codes
; on facility and profesional bills global codes should be billed using their components ; on freestanding bills component codes should be billed as global ; - on facility bill, if a global code is found in the clinical data and on the bill then ; replace it on the bill with the institutional components ; - on professional bill, if the global code is found in the clinical data and the institutional components ; are found on the bill then replace the institutional components with the professional components ; - on a freestanding bill if all institutional and professional components are found then ; replace them with the global code ; maximum of 10 is insurance against infinite loops |
|
| RPL(IBIFN,NEWCPTS,OLDLIST) | ; replace procedures on the bill
; Input: NEWCPTS - list of CPT codes to add to the bill ; OLDLIST - list of procedure ifn's on the bill to be replaced ; Output: returns true if changes made ; the list of new and replaced may not be the same length ; - if more CPT's to be added than exist then the first existing procedure is copied for the new CPT ; - if fewer CPT's to be added than exist then the extra entries on the bill are deleted |
|
| IB029A(IBGLB,IBLN) | ; return ien of cpt code
; input: IBGLB = 0295T ; IBLN = 0295T:0296T^0297T:0298T |
|
| IB029B(IBIFN,OLDDA,NEWCPT) | ; replace cpt with another
; input: OLDDA = ien of cpt in bill cpt multiple to be replaced ; NEWCPT = ien of cpt code to be added |
|
| IB029C(IBMCPT) | ; return cpt code(s) for display
; input: IBMCPT = ien of cpt to be replaced ; output: IBTCPT = cpt code(s) separated by '^' |
|
| FND(IBIFN,LIST) | ; find first set of the procedures on the bill to be replaced
; if all found then returns procedure date followed by 'CP' ifn list ; Input: list of CPT's to be replaced separated by '^', internal format ; Output: procedure date ^ ifn of procedures in bill CP multiple |
|
| FNDQ | ||
| CHKIPB(CPT,TYPE) | ; return procedures that may replace procedure passed in
; Input: TYPE - 1 for institutional, 2 for professional, 3 for Non-Provider Based ; Output: Procedures to be replaced ':' Procedures they are replaced with |
|
| IPB(LINE,TYPE) | ; return procedures to be replaced and those they are replaced by for the type of bill
; Input: LINE - line of bundled procedures from IPBI ; TYPE - 1 for institutional, 2 for professional, 3 for Non-Provider Based ; Output: Procedures to be replaced ':' Procedures they are replaced with ; - institutional type the global is replaced by the technical componentes ; - professional type: the institutional components are replaced by the professional components ; - non-provider based: the institutional and professional components are preplaced by the global |
|
| IPBI | ; Facility Provider Based Replace Global by Technical Component: global:technical:professional
|
| Name | Line Occurrences |
|---|---|
| Function Call: WRITE |
|
| Routine Call |
|
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DGCR(399 - [#399] | BNDL+11, BNDL+15, IB029B+4, FND+8, FND+9, FND+14, FND+15 |
| ^UTILITY($J | BNDL+29, BNDL+34 |
| Name | Line Occurrences |
|---|---|
| $$FND | BNDL+32 |
| $$IB029A | BNDL+25 |
| $$IB029B | RPL+16 |
| $$IB029C | BNDL+39 |
| $$IPB | BNDL+27, CHKIPB+5 |
| $$RPL | BNDL+37 |
| FNDQ | FND+4 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| CPT | CHKIPB~, CHKIPB+3*, CHKIPB+4, CHKIPB+5 |
| DA | IB029B+3~*, IB029B+4 |
| DA(1 | IB029B+3*, IB029B+4 |
| DIE | IB029B+3~ |
| IB0 | BNDL+10~, BNDL+11*, BNDL+12 |
| IB029 | BNDL+10~, BNDL+24*, BNDL+25*, BNDL+39, RPL+15 |
| >> IBAUTO | BNDL+42 |
| IBC1 | FND+4~, FND+7*, FND+8 |
| IBC1D | FND+4~, FND+9*, FND+10, FND+15 |
| IBC1N | FND+4~, FND+8*, FND+9, FND+10 |
| IBC2 | FND+4~, FND+13*, FND+14 |
| IBC2D | FND+4~, FND+15* |
| IBC2N | FND+4~, FND+14*, FND+15, FND+16 |
| IBCHANGE | BNDL+10~*, BNDL+21*, BNDL+37*, BNDL+39, BNDL+40 |
| IBCT | BNDL+10~, BNDL+12*, BNDL+13 |
| IBDEL | BNDL+10~, BNDL+27*, BNDL+32, BNDL+35, BNDL+39*, BNDL+40, IPB+8~*, IPB+9*, IPB+10*, IPB+11* , IPB+12 |
| IBDVTY | BNDL+10~, BNDL+12*, BNDL+13, BNDL+17, BNDL+29, BNDL+34 |
| IBFFN | RPL+7~, RPL+9*, RPL+13 |
| IBFND | RPL+7~*, RPL+11, RPL+12*, RPL+13*, RPL+15*, RPL+16*, RPL+17, IB029B+3~*, IB029B+4*, IB029B+5 , FND+4~*, FND+8, FND+10*, FND+13*, FND+14, FND+15*, FND+16*, FND+18 |
| IBGLB | BNDL+10~, BNDL+21*, BNDL+25*, BNDL+29, BNDL+34, IB029A~, IB029A+5 |
| IBI | BNDL+10~, BNDL+20*, BNDL+40, BNDL+42*, CHKIPB+3~, CHKIPB+4* |
| IBIFN | BNDL~, BNDL+11, BNDL+15, BNDL+17, BNDL+32, BNDL+37, RPL~, RPL+12, RPL+13, RPL+15 , RPL+16, IB029B~, IB029B+3, FND~, FND+8, FND+9, FND+14, FND+15 |
| IBJ | BNDL+10~, BNDL+32*, RPL+7~, RPL+11*, FND+4~, FND+13* |
| IBLN | BNDL+10~, BNDL+20*, BNDL+21, BNDL+25*, BNDL+27, IB029A~, IB029A+4, IB029A+5, CHKIPB+3~, CHKIPB+4* , CHKIPB+5 |
| IBMCPT | BNDL+10~, IB029C~, IB029C+4, IB029C+5 |
| IBMSG | BNDL+10~ |
| IBMSG( | BNDL+40*, BNDL+42 |
| IBMSG(0 | BNDL+42 |
| IBNCPT | RPL+7~, RPL+11*, RPL+12, RPL+13, RPL+14, RPL+15, RPL+16 |
| IBNEW | BNDL+10~, BNDL+27*, BNDL+37, BNDL+39*, BNDL+40, IPB+8~*, IPB+9*, IPB+10*, IPB+11*, IPB+12 |
| IBNLIST | FND+4~*, FND+10*, FND+16*, FND+18*, FNDQ |
| IBNLN | BNDL+10~, BNDL+27* |
| IBRFN | RPL+7~, RPL+11*, RPL+12, RPL+13, RPL+14, RPL+15, RPL+16 |
| IBRPL | BNDL+10~, BNDL+32*, BNDL+34, BNDL+35*, BNDL+37, CHKIPB+3~, CHKIPB+5* |
| IBTCPT | IB029A+3~*, IB029A+5*, IB029A+6, IB029B+3~*, IB029B+4, IB029C+3~*, IB029C+4*, IB029C+5*, IB029C+6 |
| IBTXT | IB029A+3~, IB029A+4*, IB029A+5, IB029C+3~, IB029C+4*, IB029C+5* |
| IBTYPE | BNDL+10~, BNDL+13*, BNDL+27 |
| IBX | BNDL+10~, CHKIPB+3~*, CHKIPB+4, CHKIPB+5*, CHKIPB+6, IPB+8~*, IPB+12*, IPB+13 |
| IBZ | IB029B+3~, IB029C+3~, IB029C+5* |
| LINE | IPB~, IPB+8*, IPB+9, IPB+10, IPB+11 |
| LIST | FND~, FND+4, FND+7, FND+13 |
| NEWCPT | IB029B~, IB029B+3*, IB029B+4 |
| NEWCPTS | RPL~, RPL+9*, RPL+11 |
| OLDDA | IB029B~, IB029B+3 |
| OLDLIST | RPL~, RPL+9*, RPL+11 |
| TYPE | CHKIPB~, CHKIPB+3*, CHKIPB+4, CHKIPB+5, IPB~, IPB+8*, IPB+9, IPB+10, IPB+11 |
| U | BNDL+12, BNDL+35, RPL+11, IB029A+5, IB029C+4, IB029C+5, FND+7, FND+9, FND+10, FND+13 , FND+15, FND+16, IPB+11 |
| X | IB029B+3~ |
| Y | IB029B+3~ |
| >> ZTQUEUED | BNDL+42 |
| Name | Field # of Occurrence |
|---|---|
| $T(IPBI+IBI | BNDL+20, CHKIPB+4 |