BAR50PA1 ; IHS/SD/LSL - VARIABLE PROCESSING ROUTINE ; 12/12/2007
Source file <BAR50PA1.m>
Package | Total | Call Graph |
---|---|---|
VA Fileman | 3 | ^DIC FILE^DICN ^DIE |
IHS Accounts Receivable | 2 | UPDCHECK^BAR50P09 EOP^BARUTL |
IHS VA Utilities | 1 | $$DIC^XBDIQ1 |
Kernel | 1 | ($$STATUS,CLOSE,OPEN)^%ZISH |
Package | Total | Caller Graph |
---|---|---|
IHS Accounts Receivable | 4 | BAR50BPR BAR50P00 BAREDBPR BAREDP00 |
Name | Comments | DBIA/ICR reference |
---|---|---|
VPRCNTCT | ; EP
; Create Payer Contact multiple in A/R EDI Check File |
|
VIC | ;EP - SET 'IDENTIFICATION CODE QUALIFIER' AND 'INDENTIFICATION CODE' INTO A/R EDI CHECK file
|
|
PATIENT | ; EP
; Capture patient data per claim, not dependent on Claim Date |
|
STREAM | ;
|
|
RMKCD | ; EP
; Populate remark codes to impda,clmda |
|
CLMDATE | ; EP
; Based on Segment and Identifier, Set CLAIM FROM and TO DATE |
|
PAY | ; EP
; Set payer address AND payee name in A/R EDI CHECK file |
|
STRIP | ;
|
|
VREFB | ; EP
|
|
READTST | ;
; Test file type |
|
BILNUM | ;EP -
; process a new bill |
|
READ(BARPATH,BARFILE) | ; EP
; Read host file into ^TMP($J,"ERA") |
|
HIPAACHK | ; EP
; Create entry in A/R EDI CHECK file |
|
PAYEEADD | ;EP - SAVE PAYEE ADDRESS
|
|
LQ | ; EP
; Populate remark codes/NCPDP codes to impda,clmda |
|
ADJAMT | ;EP
; Process reason and amount into claim impda,clmda |
|
CLMDOSE | ;EP
; Process the claim at the VCLMDOSE variable |
|
SEP(IMPDA) | ; EP
; find seperators according to standards for transport ; E - Element seperator ; S - Segment seperator ; SE - Sub Element seperator ; The following is specific to the MEDICARE 835 3051.4a and HIPAA 835 |
|
CHECK | ;EP
; Enter Check mumber into Import |
|
CRLF | ;
|
Name | Field # of Occurrence |
---|---|
$$STATUS^%ZISH | STREAM+3, CRLF+3 |
CLOSE^%ZISH | READ+13, READ+18 |
OPEN^%ZISH | READ+7, READ+15 |
UPDCHECK^BAR50P09 | HIPAACHK+6 |
EOP^BARUTL | READ+11 |
^DIC | RMKCD+8, RMKCD+23, LQ+12, LQ+27, ADJAMT+14, VREFB+8 |
FILE^DICN | BILNUM+13, VPRCNTCT+23 |
^DIE | BILNUM+27, BILNUM+32, CLMDOSE+12, CHECK+6, PAY+15, VIC+11, PAYEEADD+14, VREFB+15, PATIENT+12, CLMDATE+16 , CLMDATE+22, CLMDATE+29, CLMDATE+35, CLMDATE+50 |
$$DIC^XBDIQ1 | BILNUM+6, RMKCD+17, LQ+21, CLMDOSE+3, ADJAMT+8, CHECK+3, VPRCNTCT+8, PAY+5, VIC+5, PAYEEADD+6 , PATIENT+5, CLMDATE+6, CLMDATE+41 |
Name | Line Occurrences |
---|---|
Function Call: WRITE |
|
Function Call: READ |
|
Function Call: READ |
|
Routine Call |
|
Routine Call |
|
FileNo | Call Tags |
---|---|
^ABSPF(9002313.93 - [#9002313.93] | Classic Fileman Calls |
^BARMKCD - [#90056.23] | Classic Fileman Calls |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^BAREDI("1T" - [#90056.01] | PATIENT+2, CLMDATE+4, CLMDATE+39 |
^BAREDI("I" | SEP+12, RMKCD+10, LQ+14, CLMDATE+14*, CLMDATE+20*, CLMDATE+27*, CLMDATE+33*, CLMDATE+48* |
^DD(90056.0205 | RMKCD+18, LQ+22 |
^DD(90056.22 | VPRCNTCT+10 |
^TMP($J | READ+4!, STREAM+5*, STREAM+9*, CRLF+5* |
Name | Line Occurrences |
---|---|
CRLF | READ+17 |
READTST | READ+12 |
RMKCD | LQ+5 |
STREAM | READ+16 |
STRIP | SEP+13 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
A | SEP+10! |
A( | SEP+12*, STRIP+2* |
A(1 | SEP+14 |
A(2 | SEP+14 |
A(3 | SEP+14 |
>> ADJDA | BILNUM+29*, ADJAMT+3*, ADJAMT+7 |
BARBATCH | HIPAACHK+2!, HIPAACHK+5*, HIPAACHK+7! |
BARCHECK | HIPAACHK+2!, HIPAACHK+4*, HIPAACHK+7! |
BARCHKN | HIPAACHK+3!* |
>> BARCKIEN | VPRCNTCT+3, VPRCNTCT+6, PAY+3, PAY+4, VIC+3, VIC+4, PAYEEADD+2, PAYEEADD+3, VREFB+3, VREFB+4 , VREFB+11 |
BARCNT | READ+5~, READ+6*, STREAM+4*, STREAM+5, STREAM+8*, STREAM+9, CRLF+4*, CRLF+5 |
BARDONE | READ+5~, READ+6*, READ+10*, READ+16, READ+17, STREAM+7*, CRLF+3* |
BARFILE | READ~, READ+3, READ+7, READ+15 |
>> BARFTYP | READ+16, READ+17, READTST+4*, READTST+5* |
BARITEM | HIPAACHK+2!, HIPAACHK+5*, HIPAACHK+7! |
BARPATH | READ~, READ+2, READ+7, READ+15 |
BARTXT | READ+5~, READTST+3*, READTST+4, STREAM+2*, STREAM+5, STREAM+6*, STREAM+7, STREAM+9, CRLF+2*, CRLF+3 , CRLF+5 |
>> CLMDA | BILNUM+14*, RMKCD+10, RMKCD+14, LQ+14, LQ+18, CLMDOSE+4, ADJAMT+6, PATIENT+6, CLMDATE+7, CLMDATE+42 |
>> COUNT | BILNUM+2, BILNUM+3, BILNUM+4* |
DA | BILNUM+5!, BILNUM+15*, RMKCD+3!, RMKCD+12!, LQ+7!, LQ+16!, CLMDOSE+2!, CLMDOSE+4*, ADJAMT+4!, CHECK+2! , CHECK+4*, VPRCNTCT+5!, PAY+4*, VIC+4*, PAYEEADD+3*, VREFB+10!, VREFB+12*, PATIENT+4!, PATIENT+6*, CLMDATE+5! , CLMDATE+7*, CLMDATE+40!, CLMDATE+42* |
DA(1 | BILNUM+12*, RMKCD+14*, LQ+18*, CLMDOSE+5*, ADJAMT+6*, VPRCNTCT+6*, VREFB+4*, VREFB+5, VREFB+11*, VREFB+13 , PATIENT+7*, CLMDATE+8*, CLMDATE+43* |
DA(2 | RMKCD+13*, LQ+17*, ADJAMT+5* |
DD | BILNUM+13!, RMKCD+7!, RMKCD+22!, LQ+11!, LQ+26!, ADJAMT+13!, VPRCNTCT+23! |
DIC | BILNUM+5!, BILNUM+6*, BILNUM+16, BILNUM+17!, RMKCD+3!, RMKCD+5*, RMKCD+12!, RMKCD+17*, LQ+7!, LQ+9* , LQ+16!, LQ+21*, ADJAMT+4!, ADJAMT+8*, VPRCNTCT+5!, VPRCNTCT+8*, PAY+2!, VIC+1!, PAYEEADD+1!, VREFB+2! , VREFB+5*, VREFB+10! |
DIC("DR" | BILNUM+9*, RMKCD+20*, RMKCD+21*, LQ+24*, LQ+25*, ADJAMT+11*, ADJAMT+12*, VPRCNTCT+19*, VPRCNTCT+20*, VPRCNTCT+21* |
DIC("P" | BILNUM+8*, RMKCD+18*, LQ+22*, ADJAMT+9*, VPRCNTCT+10* |
DIC(0 | BILNUM+7*, RMKCD+6*, RMKCD+19*, LQ+10*, LQ+23*, ADJAMT+10*, VPRCNTCT+9*, VREFB+7* |
DIE | BILNUM+16*, RMKCD+12!, LQ+16!, CLMDOSE+2!, CLMDOSE+3*, ADJAMT+4!, CHECK+2!, CHECK+3*, PAY+2!, PAY+5* , VIC+1!, VIC+5*, PAYEEADD+1!, PAYEEADD+6*, VREFB+2!, VREFB+10!, VREFB+13*, PATIENT+4!, PATIENT+5*, CLMDATE+5! , CLMDATE+6*, CLMDATE+40!, CLMDATE+41* |
>> DLAYGO | RMKCD+16*, LQ+20*, VPRCNTCT+7* |
DO | BILNUM+13!, RMKCD+7!, RMKCD+22!, LQ+11!, LQ+26!, ADJAMT+13!, VPRCNTCT+23! |
DR | BILNUM+5!, BILNUM+18!, BILNUM+19*, BILNUM+20*, BILNUM+21*, BILNUM+23*, BILNUM+25*, BILNUM+31*, RMKCD+3!, RMKCD+12! , LQ+7!, LQ+16!, CLMDOSE+2!, CLMDOSE+8*, CLMDOSE+9*, CLMDOSE+10*, CLMDOSE+11*, ADJAMT+4!, CHECK+2!, CHECK+5* , VPRCNTCT+5!, PAY+2!, PAY+6*, PAY+7*, PAY+8*, PAY+9*, PAY+10*, PAY+11*, PAY+12*, PAY+13* , PAY+14*, VIC+1!, VIC+7*, VIC+8*, VIC+9*, VIC+10*, PAYEEADD+1!, PAYEEADD+7*, PAYEEADD+8*, PAYEEADD+9* , PAYEEADD+10*, PAYEEADD+11*, PAYEEADD+12*, PAYEEADD+13*, VREFB+2!, VREFB+10!, VREFB+14*, PATIENT+4!, PATIENT+10*, PATIENT+11* , CLMDATE+5!, CLMDATE+15*, CLMDATE+21*, CLMDATE+28*, CLMDATE+34*, CLMDATE+40!, CLMDATE+49* |
DTIME | READTST+3, STREAM+2, CRLF+2 |
DUZ(2 | SEP+12, RMKCD+10, LQ+14, CLMDATE+14, CLMDATE+20, CLMDATE+27, CLMDATE+33, CLMDATE+48 |
>> E | SEP+15*, SEP+16, LQ+3, LQ+6, PATIENT+3, CLMDATE+11, CLMDATE+17, CLMDATE+24, CLMDATE+30, CLMDATE+45 |
I | SEP+11~, SEP+12*, STRIP+1*, STRIP+2, VPRCNTCT+13*, VPRCNTCT+14, VPRCNTCT+15 |
>> IMGDA | CLMDATE+13*, CLMDATE+14, CLMDATE+19*, CLMDATE+20, CLMDATE+26*, CLMDATE+27, CLMDATE+32*, CLMDATE+33, CLMDATE+47*, CLMDATE+48 |
IMPDA | SEP~, SEP+12, BILNUM+12, RMKCD+10, RMKCD+13, LQ+14, LQ+17, CLMDOSE+5, ADJAMT+5, CHECK+4 , PATIENT+7, CLMDATE+8, CLMDATE+14, CLMDATE+20, CLMDATE+27, CLMDATE+33, CLMDATE+43, CLMDATE+48 |
IO | READTST+2, STREAM+1, CRLF+1 |
>> L | STRIP+2* |
>> LQDA | BILNUM+34*, LQ+15*, LQ+19 |
>> PAT | CLMDOSE+6*, PATIENT+8* |
>> PATID | CLMDOSE+7*, PATIENT+9* |
>> POP | READ+8 |
>> RMKDA | BILNUM+33*, RMKCD+11*, RMKCD+15 |
>> RS | SEP+20* |
>> S | SEP+18* |
>> SE | SEP+17* |
>> SEGDA | PATIENT+2, CLMDATE+4, CLMDATE+39 |
>> TRDA | PATIENT+2, CLMDATE+4, CLMDATE+39 |
U | RMKCD+18, LQ+22, VPRCNTCT+10, PATIENT+2, CLMDATE+4, CLMDATE+39 |
>> VADJAMT | ADJAMT+2 |
>> VADJREA | ADJAMT+2 |
>> VAR1 | VPRCNTCT+14*, VPRCNTCT+22 |
>> VAR2 | VPRCNTCT+15* |
>> VCHECK | HIPAACHK+3, HIPAACHK+4 |
>> VCLDOSB | CLMDATE+39 |
>> VCLMDATE | CLMDATE+46 |
>> VCLMDOSB | CLMDATE+46*, CLMDATE+48 |
VCLMDT | CLMDATE+12, CLMDATE+18, CLMDATE+25, CLMDATE+31, CLMDATE+53! |
>> VCLMEXP | CLMDATE+25*, CLMDATE+27 |
>> VCLMFR | CLMDATE+12*, CLMDATE+14 |
VCLMQLF | CLMDATE+9*, CLMDATE+53! |
>> VCLMREC | CLMDATE+31*, CLMDATE+33 |
>> VCLMTO | CLMDATE+18*, CLMDATE+20 |
>> VIC | VIC+2 |
>> VICQ | VIC+2, VIC+6*, VIC+8, VIC+9, VIC+10 |
>> VLQCD | LQ+2, LQ+4, LQ+8 |
>> VLQCDP | LQ+13*, LQ+14, LQ+25 |
>> VNEWBILL | BILNUM+10 |
>> VPATFN | CLMDOSE+6, PATIENT+8 |
>> VPATHIC | CLMDOSE+7, PATIENT+9 |
>> VPATHRN | CLMDOSE+7, PATIENT+9 |
>> VPATLN | CLMDOSE+6, PATIENT+8 |
>> VPATMID | CLMDOSE+6, PATIENT+8 |
>> VPEEADR1 | PAYEEADD+4* |
>> VPEEADR2 | PAYEEADD+5* |
>> VPRFCD | VPRCNTCT+4, VPRCNTCT+12* |
>> VREFBID | VREFB+1 |
>> VREFBIQ | VREFB+6 |
>> VRMKCD | RMKCD+2, RMKCD+4, LQ+4* |
>> VRMKCDP | RMKCD+9*, RMKCD+10, RMKCD+21 |
X | SEP+14*, SEP+15, SEP+16, SEP+20*, BILNUM+10*, BILNUM+11, RMKCD+3!, RMKCD+4*, RMKCD+12!, RMKCD+15* , LQ+7!, LQ+8*, LQ+16!, LQ+19*, ADJAMT+4!, ADJAMT+7*, VPRCNTCT+5!, VPRCNTCT+22*, PAY+2!, VIC+1! , PAYEEADD+1!, VREFB+2!, VREFB+6* |
>> XREC( | LQ+3, LQ+6, PATIENT+3, CLMDATE+11, CLMDATE+17, CLMDATE+24, CLMDATE+30, CLMDATE+45 |
>> XREC(".03" | VPRCNTCT+2 |
Y | SEP+16*, SEP+17, SEP+18, BILNUM+14, BILNUM+15, RMKCD+3!, RMKCD+9, LQ+7!, LQ+13, VPRCNTCT+5! , PAY+2!, VIC+1!, PAYEEADD+1!, VREFB+2!, VREFB+9, VREFB+12 |