RCDPRU ;ALB/TJB - CARC REPORT ON PAYER OR CARC CODE ;9/15/14 3:00pm
Source file <RCDPRU.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 |
|---|---|---|
| DISPTY() | ; function, ask display/output type
|
|
| INFO | ; Useful Info for Excel capture
|
|
| ASK(RCSTOP) | ; User if you want to quit or continue
|
|
| UP(TEXT) | ; Translate text to upper case
|
|
| DATE(X,F) | ; date in external format
|
|
| NOW(F) | ; Date/Time of right now in external format
|
|
| VAL(XF,CODE) | ; Validate a range or list of CARC (345), RARC (346) or PLB (345.1) Codes
; If invalid code is found VAILD = 0 and CODE will contain the offending codes |
|
| ACT(XF,CODE,DATE) | ; Is the code active on Date
; If code is active return 1. If no date use today, date should be in fileman format. |
|
| PUSH(VAR,VALUE) | ;
|
|
| RNG(TYPE,ITEM,ARRAY) | ; EP
; Collect data in a list or range to an array ; Input: TYPE - Type of data being collected ; CARC - Carc codes ; PAYER - Payer names ; PLB - Provider Level Balance Codes ; TIN - Payer IDs ; ITEM - Comma delimitted list of codes and/or ranges to parse ; Output: ARRAY - Array containing all of the data parsed from ITEM |
|
| RNGIT(TYPE,ITEM,DELIM,ZAR) | ; Process ranges for CARC/PLB/PAYER/TIN
; Input: TYPE - Type of data being collected ; CARC - Carc codes ; PAYER - Payer names ; PLB - Provider Level Balance Codes ; TIN - Payer IDs ; ITEM - Code or Code range being processed ; DELIM - Range delimitter to use ; Output: ZAR - Array containing all of the data parsed from ITEM |
|
| AFTER(ZZ1,ZZ2) | ; Is ZZ1 after (or collates after) ZZ2
|
|
| GLIST(FILE,IDX,GLARR) | ;Build list for this file
; Build list of available payers |
|
| GETPAY(RCPAY) | ; EP
; Get selected payers using file 344.6 ; Note: Similar to GETPAY^RCDPEM9 except that method uses 344.4 or 344.31 ; Input: None ; Output: RCPAY - ALL if all payers selected ; RCPAY(DATA) - 'ALL' - all payers selected ; Returns: 1 - Payer selection made, 0 otherwise |
|
| GETTIN(RCTIN) | ; EP
; Get selected Payer TINs ; Input: None ; Output: RCTIN - ALL if all payer TINs selected ; RCPAY(DATA) - 'ALL' - all payer TINs selected ; Returns: 1 - Payer selection made, 0 otherwise |
|
| GETRNG(RTNARR,TYPE) | ; Allows the user to specify a payer name or TIN range
; Input: TYPE - 'P' - Payer Name range selection ; 'T' - Payer TIN range selection ; Output: RTNARR - 'ERROR' - Invalid TYPE of range selected ; RTNARR(DATA) - A1~:~A2 Where: ; A1 - External Payer Name or TIN of selected ; 344.6 Payer for range start ; A2 - External Payer Name or TIN of selected ; 344.6 Payer for range end ; RTNARR(START) - Starting Range Value A1^A2^A3^A4 Where: ; A1 - Internal IEN of selected 344.6 Payer for ; range start ; A2 - External Payer Name or TIN for range start ; A3 - Internal IEN of selected 344.6 Payer for ; range start ; A4 - External Payer Name or TIN for range end ; RTNARR(END) - Ending Range Value A1^A2^A3^A4 Where: ; A1 - Internal IEN of selected 344.6 Payer for ; range end ; A2 - External Payer Name or TIN for range end ; A3 - Internal IEN of selected 344.6 for range end ; A4 - External Payer Name or TIN for range end |
|
| CHECKDT(GSTART,GSTOP,GFILE) | ; See if we have any possible data to report
|
|
| SUMIT(RARR,SUBS,ZSORT) | ; Summarize data in the array reference for PLB Report
|
|
| TAMT(ZIEN,XGBL,ZCODE) | ; Get Adjustment Amounts
|
|
| TCD(ZIEN,XGBL,ZCODE) | ; Get PLB Description for Code & IEN given
|
|
| UPDERA(DA,RECEPT,FOUND) | ;Mark ERA as posted to paper EOB
|
|
| RCDATE(RECEPT) | ;
|
|
| AMT(RECEPT) | ;Total Receipt amount
|
|
| ML0() | ;
|
|
| ML0A | ||
| MLQ |
| Name | Field # of Occurrence |
|---|---|
| NOW^%DTC | UPDERA+2 |
| $$FIND1^DIC | ACT+6 |
| IX^DIC | GETRNG+30, GETRNG+40 |
| ^DIE | UPDERA+8 |
| $$ROOT^DILFD | RNGIT+16 |
| $$GET1^DIQ | ACT+8 |
| GETS^DIQ | CHECKDT+10 |
| ^DIR | DISPTY+5, ASK+4, GETPAY+12, GETTIN+11, UPDERA+13, ML0A+7, ML0A+13, ML0A+18 |
| $$SEL^RCDPEWL7 | ML0A |
| WAIT^VALM1 | ML0A+6 |
| $$DT^XLFDT | ACT+5 |
| $$FMTE^XLFDT | DATE+2, NOW+2, ML0A+17 |
| $$NOW^XLFDT | NOW+2 |
| $$UP^XLFSTR | UP+1 |
| Name | Line Occurrences |
|---|---|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Routine Call |
|
| Routine Call |
|
| Routine Call |
|
| Routine Call |
|
| FileNo | Call Tags |
|---|---|
| ^RCY(344.4 - [#344.4] | Classic Fileman Calls, GETS^DIQ |
| ^RCY(344.6 - [#344.6] | Classic Fileman Calls |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^IBM(361.1 - [#361.1] | CHECKDT+5 |
| ^RC( | VAL+10, VAL+11, VAL+16 |
| ^RCY( | GLIST+3 |
| ^RCY(344 - [#344] | RCDATE+3, RCDATE+5, AMT+3, AMT+6, AMT+7 |
| ^RCY(344.4 - [#344.4] | CHECKDT+8, CHECKDT+9, ML0A+3 |
| ^RCY(344.6 - [#344.6] | GETRNG+32, GETRNG+42 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| % | UPDERA+1~, UPDERA+7 |
| AA | TAMT+1~, TAMT+5*, TAMT+6, TAMT+8, TCD+1~, TCD+3*, TCD+4, TCD+5 |
| ARRAY | RNG~, RNG+24 |
| ARRAY( | RNG+9*, RNG+23* |
| CNT | GLIST+2~*, GLIST+4*, GLIST+5, GLIST+6 |
| CODE | VAL~, VAL+3, VAL+19*, VAL+20*, ACT~, ACT+4, ACT+6 |
| COUNT | CHECKDT+1~, CHECKDT+2*, CHECKDT+5*, CHECKDT+8, CHECKDT+11*, CHECKDT+12 |
| D | GETRNG+22~, GETRNG+26*, GETRNG+36* |
| DA | UPDERA~ |
| DATE | ACT~, ACT+5*, ACT+10 |
| DELIM | RNG+10~, RNG+15*, RNG+18*, RNG+23, RNG+24, RNGIT~, RNGIT+20 |
| DIC | GETRNG+22~, GETRNG+25!, GETRNG+26*, GETRNG+35!, GETRNG+36* |
| DIC("A" | GETRNG+27*, GETRNG+37* |
| DIC("W" | GETRNG+28*, GETRNG+29*, GETRNG+38*, GETRNG+39* |
| DIC(0 | GETRNG+26*, GETRNG+36* |
| DIE | UPDERA+1~, UPDERA+3* |
| DIR | DISPTY+3~, ASK+3~, GETPAY+7~, GETPAY+13!, GETTIN+6~, GETTIN+11!, UPDERA+10!, UPDERA+13!, ML0A+7!, ML0A+11! , ML0A+13!, ML0A+15!, ML0A+18! |
| DIR("?" | ML0A+11*, ML0A+16* |
| DIR("A" | DISPTY+4*, GETPAY+9*, GETTIN+8*, UPDERA+12*, UPDERA+13*, ML0A+7*, ML0A+13*, ML0A+17* |
| DIR("B" | DISPTY+4*, GETPAY+11*, GETTIN+10*, ML0A+7*, ML0A+17* |
| DIR(0 | DISPTY+4*, ASK+4*, GETPAY+10*, GETTIN+9*, UPDERA+11*, ML0A+7*, ML0A+13*, ML0A+17* |
| DIROUT | ASK+3~, GETPAY+7~, GETTIN+6~, GETRNG+22~ |
| DIRUT | DISPTY+3~, DISPTY+6, ASK+3~, ASK+5, GETPAY+7~, GETTIN+6~, GETRNG+22~ |
| DR | UPDERA+1~, UPDERA+5*, UPDERA+7* |
| DT | ML0A+13, ML0A+17 |
| DTOUT | ASK+3~, GETPAY+7~, GETPAY+14, GETTIN+6~, GETTIN+12, GETRNG+22~, GETRNG+31, GETRNG+41, ML0A+8, ML0A+14 , ML0A+19 |
| >> DTRNG | ML0A+10* |
| DUOUT | DISPTY+3~, DISPTY+6, ASK+3~, ASK+5, GETPAY+7~, GETPAY+14, GETTIN+6~, GETTIN+12, GETRNG+22~, GETRNG+31 , GETRNG+41, ML0A+8, ML0A+14, ML0A+19 |
| DUZ | UPDERA+7 |
| ELEM | VAL+2~, VAL+4*, VAL+6, VAL+7, VAL+8, VAL+16, VAL+17, RNG+10~, RNG+21*, RNG+23 , RNG+24, RNGIT+9~ |
| >> END | ML0A+20* |
| EX | GETPAY+7~, GETPAY+8*, GETPAY+14*, GETPAY+16, GETPAY+19*, GETPAY+20, GETTIN+6~, GETTIN+7*, GETTIN+12*, GETTIN+14 , GETTIN+17*, GETTIN+18 |
| F | DATE~, DATE+1*, DATE+2, NOW~, NOW+1*, NOW+2 |
| FILE | RNGIT+9~, RNGIT+12*, RNGIT+16, GLIST~, GLIST+3 |
| FOUND | UPDERA~, UPDERA+3*, UPDERA+14*, UPDERA+16 |
| GFILE | CHECKDT~, CHECKDT+3, CHECKDT+6 |
| GLARR | GLIST~, GLIST+5, GLIST+6 |
| GSTART | CHECKDT~, CHECKDT+4, CHECKDT+7 |
| GSTOP | CHECKDT~, CHECKDT+5, CHECKDT+8 |
| I | VAL+2~, VAL+4*, RNG+10~, RNG+21* |
| IDX | RNGIT+9~, RNGIT+13*, RNGIT+21, RNGIT+22, GLIST~, GLIST+3, GLIST+6, GETRNG+22~, GETRNG+24*, GETRNG+26 , GETRNG+32, GETRNG+36, GETRNG+42 |
| IEN | CHECKDT+1~, CHECKDT+9*, CHECKDT+10 |
| IOST | ASK+2 |
| ITEM | RNG~, RNG+9, RNG+15, RNG+17, RNGIT~, RNGIT+20 |
| LVL2 | SUMIT+1~, SUMIT+24*, SUMIT+25, SUMIT+27 |
| NW | RNG+10~, RNG+15*, RNG+17*, RNG+21 |
| NWCD | VAL+2~, VAL+3*, VAL+4, VAL+19 |
| O1 | VAL+2~, VAL+10*, VAL+12, VAL+16*, VAL+17, RNGIT+9~, RNGIT+21*, RNGIT+22* |
| O2 | VAL+2~, VAL+11*, VAL+13 |
| OLD | SUMIT+1~, SUMIT+2*, SUMIT+30!, SUMIT+37! |
| OLD( | SUMIT+18, SUMIT+23* |
| PTR | CHECKDT+1~ |
| QPD | SUMIT+16~*, SUMIT+17*, SUMIT+18, SUMIT+19, SUMIT+21 |
| QPD("ADJ" | SUMIT+16*, SUMIT+21 |
| QPD("COUNT" | SUMIT+18*, SUMIT+19*, SUMIT+21 |
| QPD("PAID" | SUMIT+18*, SUMIT+19*, SUMIT+21 |
| QPD("TBILLED" | SUMIT+18*, SUMIT+19*, SUMIT+21 |
| SUMIT+1~, SUMIT+30*, SUMIT+31*, SUMIT+33, SUMIT+37*, SUMIT+38*, SUMIT+40, SUMIT+44* | |
| RARR | SUMIT~, SUMIT+6, SUMIT+9, SUMIT+11, SUMIT+13, SUMIT+14, SUMIT+16, SUMIT+17, SUMIT+22, SUMIT+25 , SUMIT+27, SUMIT+30, SUMIT+31, SUMIT+33, SUMIT+34, SUMIT+37, SUMIT+38, SUMIT+40, SUMIT+41, SUMIT+44 , SUMIT+45, SUMIT+46, SUMIT+47, SUMIT+48 |
| RCDN | GETRNG+22~, GETRNG+32*, GETRNG+33, GETRNG+42*, GETRNG+43 |
| RCDTN | GETRNG+22~ |
| >> RCERA | ML0A*, ML0A+2, ML0A+3 |
| >> RCERA(0 | ML0A+3*, ML0A+4 |
| RCGX | CHECKDT+1~, CHECKDT+10! |
| RCLPAY | GETPAY+7~, GETPAY+15*, GETPAY+19 |
| >> RCMBG | ML0A+1* |
| RCPAY | GLIST+2~*, GLIST+3*, GLIST+5, GLIST+6, GETPAY~, GETPAY+16*, GETPAY+19* |
| RCPAY("DATA" | GETPAY+16* |
| RCPT | GETRNG+22~ |
| RCRECTDA | RCDATE+1~, RCDATE+3*, RCDATE+5, AMT+1~, AMT+3*, AMT+6, AMT+7 |
| RCSTOP | ASK~, ASK+1*, ASK+5* |
| RCTIN | GETTIN~, GETTIN+14*, GETTIN+17* |
| RCTIN("DATA" | GETTIN+14* |
| RCTLIST | GETTIN+6~, GETTIN+13*, GETTIN+17 |
| RCTOT | AMT+1~, AMT+5*, AMT+7*, AMT+8 |
| RCTRAN | AMT+1~, AMT+5*, AMT+6*, AMT+7 |
| RECEPT | UPDERA~, UPDERA+5, UPDERA+15, RCDATE~, RCDATE+3, AMT~, AMT+3 |
| RET | VAL+2~*, VAL+6*, VAL+12*, VAL+13*, VAL+17*, VAL+20, TCD+1~*, TCD+3, TCD+5*, TCD+6 |
| RNG1 | VAL+2~, VAL+8*, VAL+10, VAL+12 |
| RNG2 | VAL+2~, VAL+8*, VAL+11, VAL+13 |
| RTNARR | GETRNG~, GETRNG+23* |
| RTNARR("DATA" | GETRNG+33*, GETRNG+44*, GETRNG+45* |
| RTNARR("END" | GETRNG+43*, GETRNG+44, GETRNG+45 |
| RTNARR("START" | GETRNG+33*, GETRNG+44, GETRNG+45 |
| SDT | CHECKDT+1~, CHECKDT+4*, CHECKDT+5*, CHECKDT+7*, CHECKDT+8*, CHECKDT+9 |
| SP | INFO+1~*, INFO+2, INFO+3, INFO+4, INFO+5, INFO+6, INFO+7, INFO+8, INFO+9, INFO+10 |
| >> START | ML0A+15*, ML0A+17 |
| SUBS | SUMIT~, SUMIT+3, SUMIT+6, SUMIT+9, SUMIT+44, SUMIT+45, SUMIT+46 |
| TADJ | SUMIT+1~, SUMIT+46*, SUMIT+48 |
| TEXT | UP~, UP+1 |
| TYPE | RNG~, RNG+9, RNG+14, RNG+23, RNG+24, RNGIT~, RNGIT+12, RNGIT+13, RNGIT+22, GETRNG~ , GETRNG+23, GETRNG+24, GETRNG+27, GETRNG+28, GETRNG+37, GETRNG+38, GETRNG+44, GETRNG+45 |
| U | PUSH+2, GETRNG+33, GETRNG+43, GETRNG+44, GETRNG+45, SUMIT+9, SUMIT+10, SUMIT+16, SUMIT+18, SUMIT+19 , SUMIT+21, SUMIT+22, SUMIT+25, SUMIT+27, SUMIT+33, SUMIT+34, SUMIT+40, SUMIT+41, SUMIT+48, TAMT+6 , TAMT+8, TCD+4, TCD+5, RCDATE+5, AMT+7, ML0A+4 |
| VALID | VAL+2~, VAL+3*, VAL+6*, VAL+12*, VAL+13*, VAL+17*, VAL+19, VAL+20, VAL+21, ACT+2~* , ACT+3, ACT+4, ACT+7, ACT+9*, ACT+10*, ACT+11 |
| >> VALMBG | ML0A+1 |
| VALUE | PUSH~, PUSH+1, PUSH+2 |
| VAR | PUSH~, PUSH+1, PUSH+2 |
| X | DISPTY+3~, ASK+3~, DATE~, DATE+2, GETTIN+6~, GETRNG+22~, GETRNG+32, GETRNG+33, GETRNG+42, GETRNG+43 , UPDERA+1~, ML0A+15! |
| X1 | RNG+10~, RNGIT+9~, RNGIT+20*, RNGIT+21 |
| X2 | RNG+10~, RNGIT+9~, RNGIT+20*, RNGIT+22 |
| XDN | TAMT+1~ |
| XDT | ACT+2~, ACT+8*, ACT+9, ACT+10 |
| XF | VAL~, VAL+10, VAL+11, VAL+16, ACT~, ACT+3, ACT+6, ACT+8 |
| XGBL | TAMT~, TAMT+5, TAMT+6, TAMT+8, TCD~, TCD+3, TCD+4, TCD+5 |
| XIEN | ACT+2~, ACT+6*, ACT+7, ACT+8 |
| XX | SUMIT+1~, SUMIT+7*, SUMIT+9*, SUMIT+11, SUMIT+13, SUMIT+14, SUMIT+16, SUMIT+18, SUMIT+23, SUMIT+24 , SUMIT+45*, SUMIT+46, SUMIT+47 |
| XZ1 | AFTER+1~, AFTER+2*, AFTER+3, AFTER+4, AFTER+5 |
| XZ2 | AFTER+1~, AFTER+2*, AFTER+3, AFTER+4, AFTER+5 |
| Y | DISPTY+3~, DISPTY+6*, DISPTY+7, ASK+3~, GETPAY+7~, GETPAY+14, GETPAY+15, GETPAY+16, GETTIN+6~, GETTIN+12 , GETTIN+13, GETTIN+14, GETRNG+22~, GETRNG+31, GETRNG+33, GETRNG+41, GETRNG+43, UPDERA+1~, UPDERA+9, ML0A+9 , ML0A+10, ML0A+14, ML0A+15!, ML0A+19, ML0A+20 |
| YY | SUMIT+1~, SUMIT+14*, SUMIT+16 |
| ZAD | SUMIT+1~, SUMIT+2*, SUMIT+4*, SUMIT+7*, SUMIT+13*, SUMIT+21*, SUMIT+22, SUMIT+25*, SUMIT+27, SUMIT+31* , SUMIT+33*, SUMIT+34, SUMIT+38*, SUMIT+40*, SUMIT+41 |
| ZAMT | TAMT+1~*, TAMT+8*, TAMT+9 |
| ZAR | RNGIT~ |
| ZAR( | RNGIT+22* |
| ZC | SUMIT+1~, SUMIT+2* |
| ZCO | SUMIT+1~, SUMIT+2*, SUMIT+16*, SUMIT+17, SUMIT+18, SUMIT+22, SUMIT+23, SUMIT+24 |
| ZCODE | TAMT~, TAMT+6, TCD~, TCD+2, TCD+4 |
| ZCT | SUMIT+1~, SUMIT+4*, SUMIT+7!*, SUMIT+10*, SUMIT+21*, SUMIT+22, SUMIT+31*, SUMIT+32*, SUMIT+34, SUMIT+38* , SUMIT+39*, SUMIT+41 |
| ZCT( | SUMIT+10*, SUMIT+27 |
| ZDC | SUMIT+1~, SUMIT+7*, SUMIT+13*, SUMIT+16*, SUMIT+22, SUMIT+33*, SUMIT+34 |
| ZGBL | RNGIT+9~, RNGIT+16*, RNGIT+17, RNGIT+21, RNGIT+22 |
| ZIDX | SUMIT+1~ |
| ZIEN | TAMT~, TAMT+5, TAMT+6, TAMT+8, TCD~, TCD+3, TCD+4, TCD+5 |
| ZN | SUMIT+1~, SUMIT+9*, SUMIT+10, SUMIT+18, SUMIT+46*, SUMIT+48 |
| ZN("TBILLED" | SUMIT+46*, SUMIT+48 |
| ZPAT | SUMIT+1~, SUMIT+9*, SUMIT+10, SUMIT+24, SUMIT+27 |
| ZPD | SUMIT+1~, SUMIT+7*, SUMIT+9*, SUMIT+21*, SUMIT+22, SUMIT+31*, SUMIT+33*, SUMIT+34, SUMIT+38*, SUMIT+40* , SUMIT+41 |
| ZPD( | SUMIT+10*, SUMIT+27 |
| ZS | SUMIT+1~, SUMIT+45* |
| ZSORT | SUMIT~, SUMIT+10, SUMIT+13, SUMIT+14, SUMIT+24, SUMIT+25, SUMIT+27, SUMIT+30, SUMIT+37 |
| ZT | SUMIT+1~, SUMIT+2*, SUMIT+45*, SUMIT+48 |
| ZTOT | SUMIT+1~, SUMIT+2*, SUMIT+7*, SUMIT+11*, SUMIT+18, SUMIT+21*, SUMIT+22, SUMIT+25*, SUMIT+27, SUMIT+31* , SUMIT+33*, SUMIT+34, SUMIT+38*, SUMIT+40*, SUMIT+41 |
| ZZ | SUMIT+1~, SUMIT+4*, SUMIT+6*, SUMIT+9, SUMIT+10, SUMIT+13, SUMIT+17, SUMIT+18, SUMIT+22, SUMIT+23 , SUMIT+25, SUMIT+27, SUMIT+30*, SUMIT+31, SUMIT+33, SUMIT+34, SUMIT+37*, SUMIT+38, SUMIT+40, SUMIT+41 , SUMIT+44*, SUMIT+45, SUMIT+46 |
| ZZ1 | AFTER~, AFTER+2, AFTER+5 |
| ZZ2 | AFTER~, AFTER+2, AFTER+5 |