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 |