IBRFN ;ALB/AAS - Supported functions for AR ;5-MAY-1992
Source file <IBRFN.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 |
|---|---|---|
| ERR(Y) | ; Input Y = -1^error code[;error code...]^literal message
; Output IBRERR = error message 1 ; if more than one code then ; IBRERR(n)=error code n |
|
| ERRQ | ||
| MESS(Y) | ; -input y=error code - from file 350.8 (piece 3)
; output error message |
|
| SVDT(BN,VDT) | ;returns service dates for a specific bill
; Input: BN bill number (external form) ; VDT name of array to hold outpatient visit dates, pass by value (if needed) ; Output: X function value, string, = 0 if bill not found ; = 1 (Inpt) or 2 (Outpt)^event date^stmt from date^stmt to date^LOS (I)^Number of visit dates (O) ; all are internal form, any piece may be null if not defined for the bill ; array containing outpatient visit dates as subscripts/no data, if VDT passed by value |
|
| REC(IBSTR,IBTYPE,IBDISP) | ; Find the AR for an Authorization or Rx number
; Input: IBSTR - FI Authorization Number or Rx Number ; Output: IBAR >0 => ptr to claim/AR in files 399/430 ; -1 => No receivable found ; IBTYPE (by ref) - how the IBSTR was recognized: 1-Auth,2-ECME,3-Rx#,0-Unknown ; IBDISP (by ref) - external display of number (for example to include the leading zeros on the ECME#) |
|
| RECQ | ||
| RXREC(IBRXN) | ; Search the Rx
|
|
| AREC(AUTH) | ; Find the Receivable for a TRICARE FI Authorization Number
; Input: AUTH - Fiscal Intermediary Authorization Number ; Output: IBIFN >0 => ptr to claim/AR in files 399/430 ; -1 => No receivable found |
|
| ARECQ | ;
|
|
| EREC(AUTH) | ; Find the Receivable for an ECME FI Number
; Input: AUTH - Fiscal Intermediary ECME Number ; Output: IBIFN >0 => ptr to claim/AR in files 399/430 ; -1 => No receivable found |
|
| ERECQ | ;
|
|
| DTL(IBIFN,TYPE,AUTH) | ;Details
|
|
| AUD(IBIFN) | ; Does the Accounts Receivable need to be audited?
; Input: IBIFN - ptr to claim/AR in files 399/430 ; Output: 0 => Claim does not have to be audited ; (claim was set up automatically) ; 1 => Claim must be audited ; (claim was established manually) |
|
| AUDQ | ||
| TYP(IBIFN) | ; Determine the bill type for an Accounts Receivable.
; Input: IBIFN - ptr to claim/AR in files 399/430 ; Output: I => Inpatient bill ; O => Outpatient bill ; PH => Pharmacy bill ; PR => Prosthetics bill |
|
| TYPQ | ||
| RELBILL(IBIFN) | ; given a Third Party Bill, find all related Third Party bills,
; then find all First Party bills related to any of the Third Party bills ; Input: IBIFN = internal file number of a Third Party bill ; Output: Third Party Bills (#399) ; ^TMP("IBRBT", $J, selected bill ifn) = PATIENT HAS ANY RX COVERAGE ON FROM DATE OF BILL? ; ^TMP("IBRBT", $J, selected bill ifn, matching bill ifn) = ; BILL FROM ^ BILL TO ^ CANCELLED? ^ AR BILL NUMBER ^ ; PAYER SEQUENCE ^ PAYER IS MEDICARE SUPPLEMENTAL (0/1) ^ PAYER NAME ; Output: First Party Bills (#350) ; ^TMP("IBRBF", $J , selected bill ifn ) = "" ; ^TMP("IBRBF", $J , selected bill ifn , charge ifn) = ; BILL FROM ^ BILL TO ^ CANCELLED? ^ AR BILL NUMBER ^ ; TOTAL CHARGE ^ ACTION TYPE (SHORT) ^ # DAYS ON HOLD |
|
| SEL(IBARR) | ; Select an rx bill
; Input: IBARR - Array of IBIFN ; Output: IBNUM - One of the bill iens, or -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: READ |
|
| Function Call: WRITE |
|
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DGCR(399 - [#399] | SVDT+8, SVDT+9, SVDT+10, SVDT+11, RXREC+7, RXREC+14, RXREC+21, EREC+17, EREC+18, EREC+19 , DTL+3, TYP+14, RELBILL+14, SEL+16, SEL+26 |
| ^DIC(36 - [#36] | SEL+26 |
| ^DPT - [#2] | DTL+5, SEL+17 |
| ^IB - [#350] | TYP+26 |
| ^IB("ABIL" | TYP+24 |
| ^IBA(351.5 - [#351.5] | AREC+7, AUDQ |
| ^IBA(362.4 - [#362.4] | RXREC+2, RXREC+5, RXREC+6, RXREC+10, RXREC+12, RXREC+13, DTL+6, SEL+20 |
| ^IBE(350.1 - [#350.1] | TYP+28 |
| ^IBE(350.8 - [#350.8] | ERR+6, MESS+2 |
| ^IBT(356 - [#356] | RXREC+18, RXREC+19, RXREC+20 |
| ^PRCA(430 - [#430] | TYP+20 |
| ^TMP("IBRBT" | RELBILL+16 |
| ^TMP($J | DTL+8, DTL+9! |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| AUTH | AREC~, AREC+6, AREC+7, ARECQ+1, EREC~, EREC+11, EREC+14, EREC+15, EREC+26*, EREC+30 , ERECQ+2, DTL~, DTL+1, DTL+13 |
| BN | SVDT~, SVDT+7*, SVDT+8 |
| DFN | SEL+4~, SEL+17* |
| DIC | RXREC+17*! |
| DIC(0 | RXREC+17* |
| DIR | DTL+2~, SEL+4~ |
| DTIME | SEL+30 |
| ECMELEN | EREC+9~, EREC+13*, EREC+14, EREC+15, EREC+21 |
| ECMENUM | EREC+9~, EREC+15*, EREC+16 |
| I | SEL+4~, SEL+12* |
| IB3624 | DTL+2~, DTL+6*, DTL+7, DTL+8, DTL+10, DTL+11, DTL+12 |
| IBA | EREC+9~, EREC+31 |
| IBA( | EREC+20* |
| IBA(0 | EREC+28 |
| IBAR | REC+7~, REC+9*, REC+22*, REC+25*, REC+30*, RECQ |
| IBARR | REC+7~, RXREC+1~, RXREC+27, SEL~ |
| IBARR( | RXREC+8*, RXREC+15*, RXREC+22*, RXREC+25, SEL+8, SEL+15 |
| IBARR("" | RXREC+24, SEL+6 |
| IBATYP | TYP+9~, TYP+28*, TYP+32 |
| IBATYPN | TYP+9~, TYP+32*, TYP+33 |
| IBBG | TYP+9~, TYP+28*, TYP+31, TYP+35 |
| IBBIL | RXREC+1~, RXREC+6*, RXREC+7, RXREC+8, RXREC+13*, RXREC+14, RXREC+15, RXREC+20*, RXREC+21, RXREC+22 , DTL+2~, DTL+4*, DTL+13, SEL+4~, SEL+18*, SEL+27 |
| IBC | EREC+9~, EREC+10*, EREC+20*, EREC+28, SEL+4~, SEL+14*, SEL+23*, SEL+24, SEL+27, SEL+31 |
| IBCOB | SEL+4~, SEL+25*, SEL+27 |
| IBDAT | DTL+2~, DTL+4*, DTL+14 |
| IBDISP | REC~, EREC+26* |
| IBDRUG | DTL+2~, DTL+8*, DTL+14 |
| IBDT | SEL+4~, SEL+19*, SEL+27 |
| IBE | EREC+9~, EREC+16*, EREC+17*, EREC+18 |
| IBES | EREC+9~, EREC+16*, EREC+17 |
| IBFIL | RXREC+1~, RXREC+18*, RXREC+19, DTL+2~, DTL+12*, DTL+14, SEL+4~, SEL+22*, SEL+27 |
| IBIFN | AREC+4~, AREC+5*, AREC+7*, AREC+8*, ARECQ+1, ARECQ+2, EREC+9~, EREC+10*, EREC+28*, EREC+31* , ERECQ+1*, ERECQ+2, ERECQ+3, DTL~, DTL+1, DTL+3, DTL+6, AUD~, AUDQ, TYP~ , TYP+11, TYP+14, TYP+16, TYP+20, RELBILL~, RELBILL+14, RELBILL+15, RELBILL+16, SEL+4~, SEL+6* , SEL+7, SEL+8, SEL+14*, SEL+15*, SEL+16, SEL+20, SEL+24, SEL+26, SEL+33*, SEL+34 |
| IBIFN1 | RELBILL+14~, RELBILL+16* |
| IBINS | SEL+4~, SEL+26*, SEL+27 |
| IBKEY | REC+7~ |
| IBKEYS | REC+7~ |
| IBLNK | SEL+4~ |
| IBLNK( | SEL+24*, SEL+30, SEL+33 |
| IBN | TYP+9~, TYP+24*, TYP+25, TYP+26 |
| IBND | TYP+9~, TYP+26*, TYP+27, TYP+28 |
| IBPAT | DTL+2~, DTL+4*, DTL+5 |
| IBPATN | DTL+2~, DTL+5*, DTL+14 |
| IBPREF | REC+7~, REC+15*, REC+17, REC+18, REC+19 |
| IBPT | SEL+4~, SEL+17*, SEL+27 |
| IBQTY | DTL+2~, DTL+11*, DTL+14 |
| IBR | RXREC+1~, RXREC+10*, RXREC+11, RXREC+12 |
| IBREF | REC+7~ |
| IBRERR | ERR+4!*, ERR+7*, ERRQ |
| IBRERR( | ERR+8*, ERR+9* |
| IBRX | REC+7~, RXREC+1~, RXREC+17*, RXREC+18, RXREC+19, DTL+2~, DTL+10*, DTL+14 |
| IBRXN | RXREC~, RXREC+2, RXREC+5, RXREC+10, RXREC+11, RXREC+25, RXREC+28, SEL+4~, SEL+21*, SEL+27 |
| IBSTR | REC~, REC+10, REC+14, REC+15, REC+16*, REC+22, REC+25, REC+30, RXREC+17, RXREC+26 |
| IBTRKN | RXREC+1~, RXREC+19*, RXREC+20 |
| IBTYP | TYP+9~, TYP+10*, TYP+16*, TYP+17*, TYP+33*, TYP+35*, TYPQ |
| IBTYPE | REC~, REC+8*, REC+17*, REC+18*, REC+19*, REC+22*, REC+25*, REC+27, REC+30* |
| IBX | RXREC+1~, RXREC+5*, RXREC+6, RXREC+12*, RXREC+13, EREC+9~, EREC+18*, EREC+19, EREC+20, TYP+9~ , TYP+14*, TYP+15, TYP+16, TYP+20*, TYP+21, TYP+24 |
| IBY | RXREC+1~, RXREC+24*, RXREC+25, RXREC+27*, RXREC+28, RXREC+29, SEL+4~, SEL+20*, SEL+21, SEL+22 , SEL+30*, SEL+33 |
| IBZ | DTL+2~, DTL+3*, DTL+4, SEL+4~, SEL+16*, SEL+17, SEL+18, SEL+19, SEL+25 |
| IFN | SVDT+7~, SVDT+8*, SVDT+9, SVDT+10, SVDT+11 |
| N | ERR+4~, ERR+6*, ERR+7, ERR+8, ERR+9* |
| TYPE | DTL~, DTL+13 |
| U | ERR+6, ERR+8, ERR+9, MESS+2, SVDT+9, SVDT+10, RXREC+6, RXREC+7, RXREC+13, RXREC+14 , RXREC+20, RXREC+21, AREC+7, EREC+19, DTL+4, DTL+5, DTL+7, DTL+8, DTL+10, DTL+11 , DTL+12, TYP+20, TYP+28, TYP+32, SEL+17, SEL+18, SEL+19, SEL+21, SEL+22, SEL+25 , SEL+26 |
| VDT | SVDT~ |
| VDT( | SVDT+11* |
| X | ERR+4~, ERR+6*, SVDT+7~*, SVDT+9*, SVDT+10*, SVDT+12, RXREC+17*! |
| X1 | ERR+4~, ERR+6*, ERR+7, ERR+8 |
| X2 | ERR+4~, ERR+6*, ERR+8 |
| Y | ERR~, ERR+5, ERR+6, ERR+8, ERR+9, MESS~, MESS+2, SVDT+7~, SVDT+8*, SVDT+9* , SVDT+10, SVDT+11*, RXREC+17! |
| ZLEN | EREC+9~, EREC+21*, EREC+26 |