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 |