RCDPEAP ;ALB/PJH - AUTO POST MATCHING EFT ERA PAIR ;Oct 15, 2014@12:36:51
Source file <RCDPEAP.m>
| Package | Total | Call Graph |
|---|---|---|
| Accounts Receivable | 12 | $$LOCKDEP^RCDPDPLU ($$ISZERO,$$UNBAL,ERADET,VALID)^RCDPEAP1 POST0^RCDPEAP2 RCPTDET^RCDPEM ($$BLDRCPT,RCPTDET)^RCDPEMA $$ISTYPE^RCDPEU1 $$ADDREC^RCDPEWL ADDLINES^RCDPEWLA $$LOCKREC^RCDPRPLU PROCESS^RCDPURE1 ($$BLDRCPT,$$FMSSTAT)^RCDPUREC $$PENDPAY^RCDPURET |
| VA FileMan | 3 | (,UPDATE)^DIE ^DIK $$GET1^DIQ |
| Kernel | 1 | $$NOW^XLFDT |
| 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 |
|---|---|---|
| EN | ;Auto-post ERA Receipts
|
|
| EN1 | ;Auto-post newly matched and matched but unprocessed ERA
|
|
| AUTOPOST(RCEFTDA,RCERA,RCZERO) | ; PRCA*4.5*424 add parameter
; RCEFTDA = ien of file #344.31 ; RCERA = ien of file #344.4 ; RCZERO = 1 if this ERA is zero balance, otherwise 0 ; PRCA*4.5*424 |
|
| AUTOQ | ||
| EN2 | ;Auto-Post Previously Processed ERA
|
|
| ACTIVE(EOBIEN) | ;Verify claim is active
; EOBIEN - IEN of file 361.1 |
|
| ALLOK(RCERA,RCSCR,ZEROBAL,RCLINES) | ;Verify which scratchpad lines are able to auto-post
; RCERA - 344.4 ien ; RCSCR - 344.49 ien ; ZEROBAL - flag that represents if ERA has zero payment balance after processing ; matched positive/negative pairs, passed by reference ; RCLINES - array of ERA line references (passed in by reference) ; NOTE: ORIGINAL ERA SEQUENCES (344.491, .09) can have multiple ERA line ; references separated by commas (e.g., 3,4) ; returns 0 or 1 (ALLOK) |
|
| AUDITLOG(DA,RCNEWST,RCREASON) | ;
; Update the Auto-post Audit Log |
|
| BUILD(RCSCR,ARRAY) | ; EP from EN2^RCDPEAD - Build list of ERA lines
; RCSCR = ien of file 344.49 ; ARRAY = the array that will hold the list of ERA lines, passed by reference |
|
| CHECKPAY(ARRAY,CLAIM) | ;Check balance versus payments
; ARRAY = array of claim numbers and respective payment amounts ; e.g. ARRAY(430 ien) = 123.04 ; CLAIM = AR BILL (344.491, .07) - IEN of file 430 |
|
| CLEAR(DA) | ;Clear scratchpad
|
|
| COMPLETE(RCSCR) | ;Check for non-zero lines without a receipt
; RCSCR = ien of file 344.49 ; Returns status of check (1 or 0) |
|
| ERAREF(RCSCR,RCRCPTDA) | ; update ERA reference and EFT record IEN in file 344
; RCSCR - IEN of record in file 344.49 ; RCRCPTDA - ien of record in file 344 (receipt ien) |
|
| NOTOK(RCSCR) | ;Verify all scratchpad lines passed auto verify (V)
; RCSCR = ien of file 344.49 ; Returns status of check (1 or 0) |
|
| POSTALL(RCERA) | ; all lines in ERA get posted on first attempt of auto-post
; RCERA = ien of 344.4 |
|
| POSTERA(RCERA,RCLINES) | ; only some of the EEOB lines passed validation on first attempt (DAY 1) of auto-post
; therefore assign the receipt number and 'partial' post status to ERA summary ; RCERA = ien of 344.4 ; RCLINES = array of ERA line references ; no lines passed validation; at lease 1 EEOB line needs to pass validation before assigning a receipt to the ERA |
|
| POSTERAQ | ;
|
|
| POSTLNS(RCERA,RCRCPTDA,RCLINES) | ; this subroutine should only be called when some of the EEOB lines
; passed validation on FIRST attempt (DAY 1) of auto-post ; RCERA = ien of ERA entry in 344.4 ; RCRCPTDA = ien of receipt entry in 344 or undefined if receipt not created since none of the lines passed validation ; RCLINES = array of ERA line references |
|
| SCRPAD(RCERA,RCZERO) | ;Build Scratchpad entry in #344.49 for the ERA
; Input - RCERA - IEN for #344.4 ; RCZERO - Optional, if passed, 1 if zero balance ERA. 0 otherwise ; Output - RCSCR = Scratchpad IEN (Success) or 0 (Fail) |
|
| SCRPADX | ;Return Scratchpad IEN
|
|
| SETSTA(DA,STATUS,RCREASON) | ;Set ERA auto-post status
; Log status change |
|
| UNLOCKR | ;Unlock ERA receipt and deposit ticket
|
|
| UNLOCKE | ;Unlock ERA
|
| Name | Field # of Occurrence |
|---|---|
| ^DIE | EN2+42, EN2+46, ERAREF+5, POSTALL+30, POSTALL+35, POSTALL+44, POSTERA+27, POSTLNS+20, POSTLNS+24, SETSTA+10 |
| UPDATE^DIE | AUDITLOG+17 |
| ^DIK | CLEAR+1 |
| $$GET1^DIQ | EN2+7, AUDITLOG+7, BUILD+12, CHECKPAY+7, CHECKPAY+8, CHECKPAY+9, CHECKPAY+10, CHECKPAY+11, POSTALL+5 |
| $$LOCKDEP^RCDPDPLU | EN2+30, POSTALL+15, POSTERA+15 |
| $$ISZERO^RCDPEAP1 | EN1+5 |
| $$UNBAL^RCDPEAP1 | AUTOPOST+23 |
| ERADET^RCDPEAP1 | EN2+38 |
| VALID^RCDPEAP1 | EN2+13 |
| POST0^RCDPEAP2 | AUTOPOST+33 |
| RCPTDET^RCDPEM | POSTALL+7 |
| $$BLDRCPT^RCDPEMA | EN2+23, POSTERA+7 |
| RCPTDET^RCDPEMA | EN2+26, POSTERA+8 |
| $$ISTYPE^RCDPEU1 | EN1+6 |
| $$ADDREC^RCDPEWL | SCRPAD+20 |
| ADDLINES^RCDPEWLA | SCRPAD+22 |
| $$LOCKREC^RCDPRPLU | EN2+29, POSTALL+14, POSTERA+14 |
| PROCESS^RCDPURE1 | EN2+32, POSTALL+18, POSTERA+18 |
| $$BLDRCPT^RCDPUREC | POSTALL+6 |
| $$FMSSTAT^RCDPUREC | EN1+16 |
| $$PENDPAY^RCDPURET | CHECKPAY+19 |
| $$NOW^XLFDT | AUDITLOG+11 |
| FileNo | Call Tags |
|---|---|
| ^RCY(344 - [#344] | Classic Fileman Calls |
| ^RCY(344.4 - [#344.4] | Classic Fileman Calls, GET1^DIQ |
| ^RCY(344.49 - [#344.49] | Classic Fileman Calls |
| 344.491 | GET1^DIQ |
| ^PRCA(430 - [#430] | GET1^DIQ |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DGCR(399 - [#399] | ACTIVE+7, ACTIVE+9 |
| ^IBM(361.1 - [#361.1] | ACTIVE+6 |
| ^PRCA(430 - [#430] | ALLOK+24, ALLOK+26, ALLOK+30 |
| ^RC(341.1 - [#341.1] | POSTALL+6 |
| ^RCY(344 - [#344] | EN1+15, EN2+20, UNLOCKR+1 |
| ^RCY(344.1 - [#344.1] | UNLOCKR+2 |
| ^RCY(344.3 - [#344.3] | EN1+14, EN1+15, EN2+20 |
| ^RCY(344.31 - [#344.31] | EN1+9, EN1+14, EN1+15, EN2+18, EN2+20, ERAREF+4, SCRPAD+15 |
| ^RCY(344.4 - [#344.4] | EN1+4, AUTOPOST+6, EN2+4, COMPLETE+11, SCRPAD+5, UNLOCKE+1 |
| ^RCY(344.49 - [#344.49] | ALLOK+13, ALLOK+15, BUILD+6, BUILD+8, COMPLETE+7, COMPLETE+9, NOTOK+5, NOTOK+7, POSTALL+39, POSTALL+40 , SCRPAD+18 |
| ^TMP("RCDPE-RECEIPT-ERROR" | EN2+32, POSTALL+19, POSTERA+19 |
| ^TMP("RCDPEAP" | EN2+6, POSTLNS+6* |
| ^TMP($J | AUTOPOST+10!, AUTOPOST+19, CHECKPAY+19! |
| Name | Line Occurrences |
|---|---|
| $$ALLOK | AUTOPOST+28 |
| $$CHECKPAY | ALLOK+28 |
| $$COMPLETE | EN2+40 |
| $$SCRPAD | AUTOPOST+11 |
| AUDITLOG | EN2+44, POSTALL+28, POSTLNS+22, SETSTA+4 |
| AUTOPOST | EN1+20 |
| AUTOQ | AUTOPOST+15, AUTOPOST+21, AUTOPOST+25, AUTOPOST+36 |
| CLEAR | POSTALL+11, POSTALL+19, POSTERA+11, POSTERA+19 |
| EN1 | EN+2 |
| EN2 | EN+4 |
| ERAREF | EN2+34, POSTALL+22, POSTERA+22 |
| POSTALL | AUTOPOST+39 |
| POSTERA | AUTOPOST+43 |
| POSTERAQ | POSTERA+5 |
| POSTLNS | POSTERAQ+1 |
| SCRPADX | SCRPAD+18 |
| SETSTA | AUTOPOST+14, AUTOPOST+20, AUTOPOST+24, AUTOPOST+35, POSTALL+11, POSTALL+19, POSTERA+11, POSTERA+19 |
| UNLOCKE | AUTOQ, EN2+48 |
| UNLOCKR | EN2+30, EN2+32, EN2+36, POSTALL+15, POSTALL+19, POSTALL+25, POSTERA+15, POSTERA+19, POSTERA+25 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| ALLOK | AUTOPOST+9~, AUTOPOST+28*, AUTOPOST+39, AUTOPOST+43, ALLOK+9~, ALLOK+11*, ALLOK+17*, ALLOK+22*, ALLOK+26*, ALLOK+28* , ALLOK+30*, ALLOK+33 |
| AMT | ALLOK+9~, ALLOK+15*, ALLOK+19, CHECKPAY+14*, CHECKPAY+16, CHECKPAY+21 |
| ARRAY | BUILD~, BUILD+4!, BUILD+5*, BUILD+16*, CHECKPAY~ |
| ARRAY( | BUILD+16*, CHECKPAY+14 |
| AUTORCPT | EN2+1~, EN2+2* |
| CLAIM | EN2+1~, ALLOK+9~, ALLOK+22*, ALLOK+24, ALLOK+26, ALLOK+28, ALLOK+30, CHECKPAY~, CHECKPAY+4, CHECKPAY+7 , CHECKPAY+8, CHECKPAY+9, CHECKPAY+10, CHECKPAY+11, CHECKPAY+14, CHECKPAY+19 |
| CLARRAY | ALLOK+10!, ALLOK+28 |
| CLARRAY( | ALLOK+28* |
| COMPLETE | EN2+1~, EN2+40*, EN2+42, EN2+44, EN2+46, COMPLETE+3~, COMPLETE+5*, COMPLETE+7, COMPLETE+13*, COMPLETE+14 |
| DA | EN2+42*, EN2+46*, AUDITLOG~, AUDITLOG+2, AUDITLOG+7, AUDITLOG+13, CLEAR~, ERAREF+3~, ERAREF+5*, POSTALL+30* , POSTALL+34*, POSTALL+44~*, POSTERA+27*, POSTLNS+9~, POSTLNS+16*, POSTLNS+24*, SETSTA~, SETSTA+2, SETSTA+4 |
| DA(1 | POSTALL+44*, POSTLNS+16* |
| DIE | EN2+42*, EN2+46*, AUDITLOG+5~, ERAREF+3~, ERAREF+5*, POSTALL+30*, POSTALL+32*, POSTALL+44~*, POSTERA+27*, POSTLNS+9~ , POSTLNS+16*, POSTLNS+24*, SETSTA+6~, SETSTA+7* |
| DIK | CLEAR+1~* |
| DIRUT | AUDITLOG+5~ |
| DR | EN2+42*, EN2+46*, AUDITLOG+5~, ERAREF+3~, ERAREF+5*, POSTALL+30*, POSTALL+33*, POSTALL+44~*, POSTERA+27*, POSTLNS+9~ , POSTLNS+18*, POSTLNS+19*, POSTLNS+24*, SETSTA+6~, SETSTA+8*, SETSTA+9* |
| DROUT | AUDITLOG+5~ |
| DT | EN2+46, POSTALL+6, POSTALL+33, POSTALL+44, POSTLNS+19, POSTLNS+24 |
| DTOUT | AUDITLOG+5~ |
| DUOUT | AUDITLOG+5~ |
| DUZ | AUDITLOG+12, SETSTA+9 |
| EOBIEN | EN2+1~, ACTIVE~, ACTIVE+4, ACTIVE+6 |
| ERALINE | ALLOK+9~, ALLOK+17*, ALLOK+22, ALLOK+24, ALLOK+26, ALLOK+28, ALLOK+30, ALLOK+32, BUILD+3~, BUILD+12* , BUILD+14, BUILD+16 |
| FOUND | BUILD+3~ |
| LNUM | POSTLNS+9~, POSTLNS+15*, POSTLNS+16 |
| NOTOK | NOTOK+3~, NOTOK+4*, NOTOK+5, NOTOK+7*, NOTOK+8 |
| PENDING | CHECKPAY+19~*, CHECKPAY+21 |
| RC0 | SCRPAD+4~, SCRPAD+5*, SCRPAD+7, SCRPAD+9, SCRPAD+13 |
| RC5 | SCRPAD+4~, SCRPAD+5* |
| RCADMIN | CHECKPAY+6~, CHECKPAY+9*, CHECKPAY+12 |
| RCAUDIT | AUDITLOG+5~ |
| RCAUDIT( | AUDITLOG+11*, AUDITLOG+12*, AUDITLOG+13*, AUDITLOG+14*, AUDITLOG+15*, AUDITLOG+16* |
| RCBAL | CHECKPAY+6~, CHECKPAY+12*, CHECKPAY+16 |
| RCBILL | ACTIVE+2~, ACTIVE+7* |
| RCCOURT | CHECKPAY+6~, CHECKPAY+11*, CHECKPAY+12 |
| RCDAT | SCRPAD+4~, SCRPAD+20 |
| RCDEPTDA | EN1+11~, EN1+15*, EN2+16~, EN2+20*, EN2+30, POSTALL+15, POSTERA+15, UNLOCKR+2 |
| RCDUZ | EN2+1~, EN2+7*, EN2+23, AUDITLOG+12, POSTALL+4~, POSTALL+5*, POSTALL+6, POSTALL+7 |
| RCEFTDA | EN1+1~, EN1+9*, EN1+14, EN1+15, EN1+20, AUTOPOST~, EN2+16~, EN2+18*, EN2+20 |
| RCERA | AUTOPOST~, AUTOPOST+6, AUTOPOST+11, AUTOPOST+14, AUTOPOST+20, AUTOPOST+23, AUTOPOST+24, AUTOPOST+28, AUTOPOST+33, AUTOPOST+35 , AUTOPOST+39, AUTOPOST+43, EN2+1~, EN2+2*, EN2+4*, EN2+6, EN2+7, EN2+13, EN2+18, EN2+23 , EN2+26, EN2+34, EN2+38, EN2+40, EN2+42, EN2+44, EN2+46, ALLOK~, COMPLETE+3~, COMPLETE+5* , COMPLETE+11, POSTALL~, POSTALL+5, POSTALL+11, POSTALL+19, POSTALL+28, POSTALL+30, POSTALL+34, POSTALL+39, POSTALL+40 , POSTALL+44, POSTERA~, POSTERA+7, POSTERA+11, POSTERA+19, POSTERA+27, POSTERAQ+1, POSTLNS~, POSTLNS+6, POSTLNS+16 , POSTLNS+22, POSTLNS+24, SCRPAD~, SCRPAD+5, SCRPAD+15, SCRPAD+18, SCRPAD+20, UNLOCKE+1 |
| RCERR | AUTOPOST+9~, EN2+25!, EN2+26, POSTALL+7, POSTERA+8 |
| RCERR("" | EN2+27, POSTALL+11, POSTERA+11 |
| RCI | POSTLNS+9~, POSTLNS+15* |
| RCIFN | EN2+1~, ACTIVE+2~, ACTIVE+6*, ACTIVE+7, ACTIVE+9 |
| RCINT | CHECKPAY+6~, CHECKPAY+8*, CHECKPAY+12 |
| RCLIN | POSTLNS+9~, POSTLNS+10*, POSTLNS+12, POSTLNS+15, POSTLNS+18 |
| RCLINE | POSTALL+37~, POSTALL+42*, POSTALL+44 |
| RCLINES | AUTOPOST+9~, AUTOPOST+28, AUTOPOST+43, EN2+1~, EN2+11!, EN2+12*, EN2+13, EN2+15, EN2+26, EN2+38 , ALLOK~, ALLOK+12*, ALLOK+32*, POSTERA~, POSTERA+5, POSTERA+8, POSTERAQ+1, POSTLNS~ |
| RCLINES( | ALLOK+17*, ALLOK+22*, ALLOK+24*, ALLOK+26*, ALLOK+28*, ALLOK+30*, ALLOK+32*, POSTLNS+10, POSTLNS+12, POSTLNS+18 |
| RCMAR | CHECKPAY+6~, CHECKPAY+10*, CHECKPAY+12 |
| RCNEWST | AUDITLOG~, AUDITLOG+9*, AUDITLOG+15 |
| RCOK | EN1+11~, EN1+12*, EN1+14, EN1+17* |
| RCOLDST | AUDITLOG+5~, AUDITLOG+7*, AUDITLOG+9, AUDITLOG+14 |
| RCPRIN | CHECKPAY+6~, CHECKPAY+7*, CHECKPAY+12 |
| RCRCPTDA | AUTOPOST+9~, EN2+1~, EN2+9*, EN2+23*, EN2+24, EN2+26, EN2+29, EN2+32, EN2+34, EN2+38 , ERAREF~, ERAREF+5, POSTALL+6*, POSTALL+7, POSTALL+14, POSTALL+18, POSTALL+22, POSTALL+30, POSTALL+44, POSTERA+5* , POSTERA+7*, POSTERA+8, POSTERA+14, POSTERA+18, POSTERA+22, POSTERA+27, POSTERAQ+1, POSTLNS~, POSTLNS+7*, POSTLNS+19 , UNLOCKR+1 |
| RCREASON | AUDITLOG~, AUDITLOG+3, AUDITLOG+16, SETSTA~, SETSTA+4 |
| RCRECTDA | EN1+11~, EN1+15*, EN1+16, EN2+16~, EN2+20* |
| RCRZ | EN1+1~, EN1+2*, EN1+4*, EN1+5, EN1+6, EN1+9, EN1+20 |
| RCSCD0 | POSTALL+37~, POSTALL+40*, POSTALL+42 |
| RCSCR | AUTOPOST+9~, AUTOPOST+11*, AUTOPOST+13, AUTOPOST+28, ALLOK~, ALLOK+13, ALLOK+15, BUILD~, BUILD+6, BUILD+8 , BUILD+12, COMPLETE~, COMPLETE+5, COMPLETE+7, COMPLETE+9, ERAREF~, ERAREF+4, ERAREF+5, NOTOK~, NOTOK+5 , NOTOK+7, POSTALL+7, POSTALL+11, POSTALL+19, POSTALL+22, POSTERA+8, POSTERA+11, POSTERA+19, POSTERA+22, SCRPAD+4~ , SCRPAD+18*, SCRPAD+20*, SCRPAD+22, SCRPADX+1 |
| RCSCSUB | POSTALL+37~, POSTALL+38*, POSTALL+39*, POSTALL+40 |
| RCSTATUS | ACTIVE+2~, ACTIVE+9*, ACTIVE+10 |
| RCSUB | COMPLETE+3~, COMPLETE+11* |
| RCTRDA | AUTOPOST+9~ |
| RCZERO | EN1+1~, EN1+5*, EN1+6, EN1+9, EN1+14, EN1+20, AUTOPOST~, AUTOPOST+11, AUTOPOST+13, AUTOPOST+31 , SCRPAD~, SCRPAD+9, SCRPAD+15 |
| REJECT | POSTLNS+9~, POSTLNS+12*, POSTLNS+18 |
| SCRLINE | BUILD+3~, COMPLETE+3~, COMPLETE+9*, COMPLETE+11 |
| SCRSUB | COMPLETE+3~, COMPLETE+5*, COMPLETE+7*, COMPLETE+9 |
| STATUS | ALLOK+9~, ALLOK+26*, SETSTA~, SETSTA+3, SETSTA+4, SETSTA+8, SETSTA+9 |
| SUB | ALLOK+9~, ALLOK+12*, ALLOK+13*, ALLOK+15, BUILD+3~, BUILD+5*, BUILD+6*, BUILD+8, NOTOK+3~, NOTOK+4* , NOTOK+5*, NOTOK+7 |
| SUB1 | ALLOK+9~, ALLOK+15*, BUILD+3~, BUILD+8*, BUILD+12, BUILD+16 |
| U | EN1+14, EN1+15, EN1+16, EN2+20, ACTIVE+6, ACTIVE+7, ACTIVE+9, ALLOK+15, ALLOK+17, ALLOK+22 , ALLOK+24, ALLOK+26, ALLOK+28, ALLOK+30, ALLOK+32, COMPLETE+9, COMPLETE+11, NOTOK+7, POSTALL+42, POSTLNS+12 , POSTLNS+18, SCRPAD+7, SCRPAD+9, SCRPAD+13 |
| VERIFY | ALLOK+9~, ALLOK+17*, ALLOK+24 |
| WLINE | ALLOK+9~, ALLOK+15*, ALLOK+17, ALLOK+22, ALLOK+28, ALLOK+32 |
| X | AUDITLOG+5~, SCRPAD+4~ |
| Y | AUDITLOG+5~ |
| Z | EN1+16~*, ERAREF+3~, ERAREF+4*, ERAREF+5 |
| ZEROBAL | AUTOPOST+9~, AUTOPOST+28, AUTOPOST+32, AUTOPOST+34, ALLOK~, ALLOK+11*, ALLOK+20* |