IBCEOB1 ;ALB/TMP/PJH - 835 EDI EOB MSG PROCESSING ;Feb 09, 2018@10:11:43
Source file <IBCEOB1.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 |
|---|---|---|
| STORE(A,IB0,IBEOB,LEVEL) | ;
; A = the string of data to extract and try to store ; each ^ piece is a field to store ; within each ^ piece, there are 5 ';' pieces: ; 1 = piece to extract from the data string; ; 2 = field to update; ; 3 = flag for dollar amt (1=YES); ; 4 = flag for 4-slash stuff without transform (1=YES); ; 5 = flag for numeric/non-dollar amt (1=Yes, 0=No, ; Dn = the field is numeric with 'n' decimal places ; IB0 = the record being processed ; IBEOB = the ien of the EOB entry in file 361.1 ; LEVEL = the array that contains the DIE and DA values if stuffing at a ; level other than the top level |
|
| HDR(IB0,IBEGBL,IBEOB,HIPAA) | ; Store header data for EOB
; IB0 = the record being processed from the msg ; IBEOB = the ien of the EOB entry in file 361.1 |
|
| FINDLN(IB0,IBEOB,IBZDATA,PLREF,ERRCOD) | ; Find corresponding billed line for the adj
; IB0 = the record being processed ; NOTE: pieces 3,4,16 are already reformatted ; IBEOB = the ien of the EOB entry in file 361.1 ; IBZDATA = the array from the output formatter containing line ; items for the bill. This is passed in so this data only has ; to be extracted once for each bill (the first time in, it ; will be undefined) ; PLREF = Provider Line Reference ; OUTPUT = Line # in the original bill that this adjustment relates to ; ^ paid procedure code if different from original procedure OR ; paid rev code if different from original and no proc code ; ERRCOD = Contains any error condition that may have been encountered ; while conducting the field matching tests. |
|
| FINDLNX | ;
|
|
| GTPRCD(IBBNDL,OPROC,OREVCD,IBZREC) | ; Set up the Procedure Code/Revenue Code fields.
|
|
| MODMATCH(IB,MODLST,MOD837S) | ; Match modifiers
; IB = the list of modifiers iens from the bill, comma delimited ; MODLST = the 4 '^' pieces of the reported modifiers |
|
| MODQ |
| Name | Field # of Occurrence |
|---|---|
| ^DIE | STORE+37, HDR+13 |
| $$COBN^IBCEF | HDR+11 |
| $$FT^IBCEF | FINDLN+104, FINDLN+105 |
| $$INPAT^IBCEF | FINDLN+97 |
| F^IBCEF | FINDLN+37, FINDLN+104, FINDLN+105 |
| $$PRCD^IBCEF1 | GTPRCD+6, GTPRCD+12 |
| $$DOLLAR^IBCEFG1 | FINDLN+148 |
| $$SPLIT^IBCEMU1 | FINDLN+27, FINDLN+31 |
| $$DOLLAR^IBCEOB | STORE+32, FINDLN+19 |
| RCRU^IBCEOB00 | FINDLN+97 |
| $$MODLST^IBEFUNC2 | FINDLN+152 |
| FileNo | Call Tags |
|---|---|
| ^IBM(361.1 - [#361.1] | Classic Fileman Calls |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DGCR(399 - [#399] | FINDLN+36, GTPRCD+3 |
| ^DGCR(399.2 - [#399.2] | GTPRCD+7 |
| ^IBM(361.1 - [#361.1] | HDR+11, FINDLN+18, FINDLN+27, FINDLN+29, FINDLN+30, FINDLN+32, FINDLN+43, FINDLN+99, FINDLN+110, FINDLN+129 |
| ^ICPT("B" | GTPRCD+5, GTPRCD+11 |
| ^TMP( | HDR+15* |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| A | STORE~, STORE+26, STORE+27 |
| B | STORE+15~, STORE+26*, STORE+27 |
| CPT | GTPRCD+1~, GTPRCD+4*, GTPRCD+5*, GTPRCD+6, GTPRCD+10*, GTPRCD+11*, GTPRCD+12 |
| DA | STORE+15~, STORE+18*, STORE+24*, STORE+26, HDR+4~, HDR+12* |
| DA( | STORE+23* |
| DIE | STORE+15~, STORE+18*, STORE+22*, HDR+4~, HDR+12* |
| DR | STORE+15~, STORE+16*, STORE+34*, STORE+36*, STORE+37, HDR+4~, HDR+11* |
| EOBCHG | FINDLN+16~, FINDLN+19*, FINDLN+79, FINDLN+84, FINDLN+92, FINDLN+99 |
| ERRCOD | FINDLN~, FINDLN+18*, FINDLN+67*, FINDLN+68*, FINDLN+70*, FINDLN+71*, FINDLN+83*, FINDLN+84*, FINDLN+85*, FINDLN+91* , FINDLN+92*, FINDLN+93*, FINDLN+124*, FINDLN+147*, FINDLN+148*, FINDLN+149, FINDLN+152* |
| HIPAA | HDR~, HDR+7* |
| IB | MODMATCH~, MODMATCH+6 |
| IB0 | STORE~, STORE+28, STORE+32, HDR~, HDR+7, HDR+8, HDR+9, HDR+11, FINDLN~, FINDLN+19 , FINDLN+24, FINDLN+39, FINDLN+52, FINDLN+53, FINDLN+58, FINDLN+59, FINDLN+67, FINDLN+68, FINDLN+70, FINDLN+71 , FINDLN+83, FINDLN+85, FINDLN+91, FINDLN+93, FINDLN+97, FINDLN+106, FINDLN+117, FINDLN+124, FINDLN+140*, FINDLN+147 , FINDLN+148, FINDLN+149, FINDLN+152 |
| IBAMIN | FINDLN+16~, FINDLN+135*, FINDLN+136*, FINDLN+137, FINDLN+145, FINDLN+147 |
| IBBNDL | FINDLN+15~, FINDLN+24*, FINDLN+49, FINDLN+51, FINDLN+57, FINDLN+65, FINDLN+66, FINDLN+69, FINDLN+76, FINDLN+82 , FINDLN+90, FINDLN+116, FINDLN+117, FINDLN+123, FINDLN+124, FINDLN+152, FINDLN+153, GTPRCD~ |
| IBDT | HDR+4~, HDR+8*, HDR+11 |
| IBDTP | HDR+4~, HDR+9*, HDR+10*, HDR+11 |
| IBEGBL | HDR~, HDR+15 |
| IBEOB | STORE~, STORE+18, HDR~, HDR+11, HDR+12, FINDLN~, FINDLN+18, FINDLN+27, FINDLN+29, FINDLN+43 , FINDLN+99, FINDLN+110, FINDLN+129 |
| IBFLD | STORE+15~, STORE+27*, STORE+28, STORE+34 |
| IBIFN | FINDLN+15~, FINDLN+18*, FINDLN+29, FINDLN+36, FINDLN+37, FINDLN+97, FINDLN+104, FINDLN+105, GTPRCD+3 |
| IBLN | FINDLN+15~, FINDLN+18*, FINDLN+39*, FINDLN+86*, FINDLN+94*, FINDLN+97, FINDLN+99*, FINDLN+106*, FINDLN+153*, FINDLN+154* , FINDLNX+1 |
| IBLN1 | FINDLN+15~, FINDLN+18*, FINDLN+154 |
| IBMOD | FINDLN+16~, MODMATCH+4~ |
| IBMOD( | MODMATCH+7*, MODMATCH+18, MODMATCH+19*, MODMATCH+20! |
| IBMOD("" | MODMATCH+10, MODMATCH+13, MODMATCH+23 |
| IBPC | STORE+15~, STORE+27*, STORE+28, STORE+32, STORE+33, STORE+34 |
| IBXARRAY | FINDLN+15~ |
| IBXARRY | FINDLN+15~ |
| IBXERR | FINDLN+16~ |
| >> IBXSAVE("XTRA" | HDR+5! |
| IBZDATA | FINDLN~, FINDLN+37, FINDLN+97, FINDLN+103 |
| IBZDATA( | FINDLN+39, FINDLN+41, FINDLN+46, FINDLN+49, FINDLN+76, FINDLN+77, FINDLN+78, FINDLN+83, FINDLN+85, FINDLN+91 , FINDLN+93, FINDLN+106, FINDLN+108, FINDLN+113, FINDLN+116, FINDLN+132, FINDLN+134, FINDLN+136, FINDLN+137, FINDLN+141 , FINDLN+149, FINDLN+152 |
| IBZDATA("" | FINDLN+99 |
| IBZDATA(1 | FINDLN+64, FINDLN+65, FINDLN+122, FINDLN+123 |
| IBZREC | GTPRCD~, GTPRCD+4, GTPRCD+7, GTPRCD+10 |
| IBZSAVE | HDR+5! |
| IBZVLA | FINDLN+16~, FINDLN+32* |
| IBZVLA( | FINDLN+45, FINDLN+112, FINDLN+131 |
| IEN | FINDLN+28~*, FINDLN+29*, FINDLN+30, FINDLN+31, FINDLN+32 |
| LEVEL | STORE~, STORE+18, STORE+20 |
| LEVEL( | STORE+23 |
| LEVEL("DIE" | STORE+22 |
| LEVEL(0 | STORE+24 |
| MATCHED | FINDLN+16~, FINDLN+18*, FINDLN+41, FINDLN+54*, FINDLN+60*, FINDLN+63, FINDLN+75, FINDLN+108, FINDLN+118*, FINDLN+121 , FINDLN+127 |
| MMOD | MODMATCH+4~, MODMATCH+17*, MODMATCH+18, MODMATCH+19, MODMATCH+20 |
| MOD837S | FINDLN+16~, FINDLN+85, FINDLN+93, FINDLN+152, MODMATCH~, MODMATCH+5*, MODMATCH+8*, MODMATCH+9* |
| MODLST | MODMATCH~, MODMATCH+10, MODMATCH+13, MODMATCH+17 |
| MODOK | MODMATCH+4~, MODMATCH+5*, MODMATCH+13*, MODMATCH+23*, MODQ |
| OCHG | FINDLN+15~, FINDLN+77*, FINDLN+79*, FINDLN+84, FINDLN+92, FINDLN+99, FINDLN+134*, FINDLN+148 |
| OCHG2 | FINDLN+15~, FINDLN+78*, FINDLN+79 |
| OPROC | FINDLN+15~, FINDLN+49, FINDLN+52, FINDLN+53, FINDLN+58, FINDLN+59, FINDLN+65, FINDLN+67, FINDLN+68, FINDLN+70 , FINDLN+71, FINDLN+76, FINDLN+94, FINDLN+116, FINDLN+117, FINDLN+123, FINDLN+124, FINDLN+153, GTPRCD~, GTPRCD+6* , GTPRCD+12* |
| OREVCD | FINDLN+15~, FINDLN+49, FINDLN+52, FINDLN+58, FINDLN+65, FINDLN+67, FINDLN+70, FINDLN+76, FINDLN+94, FINDLN+99 , FINDLN+116, FINDLN+123, GTPRCD~, GTPRCD+7* |
| PLREF | FINDLN~, FINDLN+39, FINDLN+106 |
| Q | STORE+21~, STORE+23*, MODMATCH+4~, MODMATCH+6* |
| U | STORE+26, STORE+27, STORE+28, STORE+32, HDR+7, HDR+8, HDR+9, HDR+11, FINDLN+19, FINDLN+24 , FINDLN+27, FINDLN+30, FINDLN+36, FINDLN+39, FINDLN+43, FINDLN+52, FINDLN+53, FINDLN+58, FINDLN+59, FINDLN+67 , FINDLN+68, FINDLN+70, FINDLN+71, FINDLN+77, FINDLN+78, FINDLN+83, FINDLN+85, FINDLN+91, FINDLN+93, FINDLN+94 , FINDLN+99, FINDLN+106, FINDLN+110, FINDLN+117, FINDLN+124, FINDLN+129, FINDLN+134, FINDLN+136, FINDLN+137, FINDLN+140 , FINDLN+141, FINDLN+147, FINDLN+148, FINDLN+149, FINDLN+152, FINDLN+153, GTPRCD+3, GTPRCD+4, GTPRCD+7, GTPRCD+10 , MODMATCH+10, MODMATCH+13, MODMATCH+17 |
| UNITS | FINDLN+16~, FINDLN+137*, FINDLN+139*, FINDLN+147 |
| UNITS2 | FINDLN+16~, FINDLN+141*, FINDLN+147 |
| UNITS3 | FINDLN+16~, FINDLN+144*, FINDLN+145*, FINDLN+147 |
| VAL | STORE+29~, STORE+32*, STORE+33*, STORE+34 |
| X | STORE+15~, HDR+4~ |
| Y | STORE+15~, STORE+38, HDR+4~, HDR+14, HDR+16 |
| Z | FINDLN+16~, FINDLN+41*, FINDLN+43, FINDLN+45, FINDLN+46, FINDLN+49, FINDLN+54, FINDLN+60, FINDLN+75*, FINDLN+76 , FINDLN+77, FINDLN+78, FINDLN+83, FINDLN+85, FINDLN+86, FINDLN+91, FINDLN+93, FINDLN+94, FINDLN+108*, FINDLN+110 , FINDLN+112, FINDLN+113, FINDLN+116, FINDLN+118, FINDLN+127*, FINDLN+129, FINDLN+131, FINDLN+132, FINDLN+134, FINDLN+136 , FINDLN+137, FINDLN+141, FINDLN+149, FINDLN+152, FINDLN+153 |
| Z0 | FINDLN+16~, MODMATCH+4~, MODMATCH+6*, MODMATCH+7, MODMATCH+8, MODMATCH+9, MODMATCH+16*, MODMATCH+17 |