Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Local Variables  | All
Print Page as PDF
Routine: IBCEF2

Package: Integrated Billing

Routine: IBCEF2


Information

IBCEF2 ;ALB/TMP - FORMATTER SPECIFIC BILL FUNCTIONS ;8/6/03 10:54am

Source Information

Source file <IBCEF2.m>

Call Graph

Call Graph

Call Graph Total: 13

Package Total Call Graph
Integrated Billing 10 $$ICD9VER^IBACSV  ($$COB,$$COBN,$$FT)^IBCEF  ($$FINDINS,$$REQ)^IBCEF1  ($$RECVR,ID)^IBCEF2  ($$COID,$$ESGHPNL,$$ESGHPST,ADMDT,DISDT)^IBCEF21  (HOS,VC80I)^IBCEF22  ($$MRASEC,$$TXMT)^IBCEF4  SETGBL^IBCEFG  
$$DOLLAR^IBCEFG1  ($$MCRONBIL,$$MCRWNR,$$WNRBILL)^IBEFUNC  
Kernel 1 $$UP^XLFSTR  
Registration 1 INP^VADPT  
VA FileMan 1 $$GET1^DIQ  

Caller Graph

Caller Graph Total: 35

Package Total Caller Graph
Integrated Billing 35 IBCB11  IBCBB  IBCBB1  IBCBB8  IBCCCB  IBCE837A  IBCE837I  IBCECSA1  
IBCEF11  IBCEF12  IBCEF2  IBCEF21  IBCEF7  IBCEF71  IBCEF72  IBCEF76  
IBCEF78  IBCEMCA3  IBCEMCL  IBCEMSR6  IBCEOB2  IBCEPTC0  IBCERP2  IBCERP6  
IBCEU1  IBCEXTR1  IBCRBC  IBCRBC1  IBCRBC11  IBCRBG  IBCSC3  IBCU41  
IBJTLA1  IBJTLB1  IBRFN4  

Entry Points

Name Comments DBIA/ICR reference
HOS(IBIFN) ; Extract rev codes for inst. episode into IBXDATA
; Moved for space
OTHINS(IBIFN) ;Determine 'other insurance' node (I1,I2)
; If primary bill, other ins is secondary
; If sec or tert bill, other ins is primary
OTHINS1(IBIFN) ; Returns the COB #'s of all 'other insurance' as a string
OTHQ
RECVR(IBIFN) ; Returns the V.A. internal routing id of the current ins
; co for 837
ALLPAYID(IBIFN,IBXDATA,SEQ) ; Returns clearinghouse id for all (SEQ="")
; or a specific (SEQ=1,2,3) ins co's for 837 in IBXDATA(n) for bill ien
; IBIFN
; EJK *296* Add IBMRA - MRA Claim type.
; EJK *296* Add IBEBI - Electronic Billing ID
PAYERID(IBIFN) ; Returns clearinghouse id for current ins co
; IBIFN = bill ien
CURR(IBIFN) ; Returns ien of the current insurance
; company for bill ien IBIFN
  • ICR #4602
    • Status: Active
    • Usage: Private
    ADMDT(IBIFN,NOOUTCK) ; Calculate admission/start of care date/time
    DISDT(IBIFN) ; Calculate discharge date
    INDTS(IBIFN) ; Function returns the admit ^ discharge date/time of admission if patient is an inpatient on bill's event date
    TXMT(IBIFN) ; Function moved - use new call in IBCEF4
    ID(LN,VAL) ; Set EXTRACT GLOBAL for multi-valued record
    ; ids for Austin
    ; LN = the line # being extracted
    ; VAL = the value of the element being extracted
    ID1(LN,DX,CT,DCT,ECT) ;Special entry point for diagnoses to 'save' the fact
    ; a dx code is an e-code.
    ; LN is last entry # output, returned as the entry # (IBXLINE) to assign to this entry
    ; DX = the actual Dx code array(RECORD ID). Pass by reference, DX returned null if
    ; dx was not output
    ; CT = the ct on the 'DC' entry. pass by reference, returned null if
    ; the end of the valid dx codes has been reached
    ; DCT= Count of regular DX codes. UB-04 can have 25 non External Cause codes.
    ; ECT= Count of External Cause codes. UB-04 can have 12 External Cause codes.
    ; External Cause of Injury codes and qualifier changed with ICD-10: E-codes in ICD-9, V,X,W,Y-codes in ICD-10
    IDX1 ;
    M(CT) ; Calculate multi-valued field for 837 extract
    ; CT = passed by reference/the record ID counter
    SVITM(IBA,LINE) ; Saves the linked items from the bill data extract into
    ; an array the formatter will use to link Rxs and prosthetics
    ; to an SV1 or SV2 line item, if possible. Kills off IBA array entries
    ; after they are 'moved'
    ; IBA = array that contains the data to be saved
    ; subscripts are (line #,item type,item pointer)=ct
    LINK(IBTYP,IBDATA) ; Link the item with a service line, if possible
    ; IBTYP = the code for the type of item
    ; returned incremented if no link is made
    ; IBDATA = the extracted data string that identifies the item.
    ; Returns the line to link to or null if no link
    LINKQ
    COID(IBIFN) ; Claim office ID - moved for space
    PPOL(IBIFN,COB) ; return IFN of patient policy on a bill defined by COB (fields 399,112-114)
    LADJ(SUB,LINE,SEQ1,GRP,IBXSAVE,PIECE) ; Extract line level adjustments
    ; SUB = 1st subscript in IBXSAVE array to use
    ; LINE = 2nd subscript
    ; SEQ1 = 4th subscript
    ; GRP = 5th subscript
    ; IBXSAVE = array that has the data for COB line level adjustments
    ; PIECE = # of the piece on the 0-node of the line level
    ; adjustment reason to be extracted
    ESGHPST(IBIFN,COB) ; return insureds employ status if bill policy defined by COB is an Employer Sponsored Group Health Plan
    ESGHPNL(IBIFN,COB) ; return employer name and location if bill policy defined by COB is an Employer Sponsored Group Health Plan
    AMTOUT(A,B,C,IBXSAVE) ; format output amount
    SNF(IBIFN) ; Check to see if the claim is a SNF (Skilled Nursing Facility) Claim.
    ; Returned Values:
    ; SNF = 0 if claim is not a SNF Claim.
    ; SNF = 1 if claim is a SNF Claim.
    VC80CK(IBIFN) ; Determine if the Claim is eligible for Value Code 80 Revenue Code Claim Lines.
    INS ; Called by the Output Formatter [#364.7, 176]
    INS05 ; Called by the Output Formatter [#364.7, 178]
    INS07 ; Called by the Output Formatter [#364.7, 181]
    INS09 ; Called by the Output Formatter [#364.7, 180]
    INS12 ; Called by the Output Formatter [#364.7, 482]
    INS13 ; Called by the Output Formatter [#364.7, 805]

    External References

    Name Field # of Occurrence
    $$GET1^DIQ SNF+6
    $$ICD9VER^IBACSV ID1+17
    $$COB^IBCEF VC80CK+5
    $$COBN^IBCEF OTHINS+5, OTHINS1+3, PAYERID+5
    $$FT^IBCEF RECVR+5, RECVR+6, RECVR+11, ALLPAYID+16, ALLPAYID+21, ALLPAYID+28, ID1+11
    $$FINDINS^IBCEF1 CURR+2
    $$REQ^IBCEF1 INS05+3
    $$RECVR^IBCEF2 VC80CK+4
    ID^IBCEF2 INS+8, INS+12
    $$COID^IBCEF21 COID+1
    $$ESGHPNL^IBCEF21 ESGHPNL+1
    $$ESGHPST^IBCEF21 ESGHPST+1
    ADMDT^IBCEF21 ADMDT+1
    DISDT^IBCEF21 DISDT+1
    HOS^IBCEF22 HOS+2
    VC80I^IBCEF22 INS+14
    $$MRASEC^IBCEF4 ALLPAYID+24, ALLPAYID+26
    $$TXMT^IBCEF4 TXMT+1
    SETGBL^IBCEFG ID+8
    $$DOLLAR^IBCEFG1 AMTOUT+2, INS09+6, INS12+6
    $$MCRONBIL^IBEFUNC ALLPAYID+25
    $$MCRWNR^IBEFUNC RECVR+9
    $$WNRBILL^IBEFUNC ALLPAYID+54
    INP^VADPT INDTS+3
    $$UP^XLFSTR ALLPAYID+22, ALLPAYID+29

    FileMan Files Accessed Via FileMan Db Call

    FileNo Call Tags
    ^DGCR(399 - [#399] GET1^DIQ

    Global Variables Directly Accessed

    Name Line Occurrences  (* Changed,  ! Killed)
    ^DGCR(399 - [#399] OTHINS1+4, OTHINS1+5, RECVR+8, ALLPAYID+10, ALLPAYID+25, INDTS+2, PPOL+2, VC80CK+7
    ^DGCR(399.3 - [#399.3] RECVR+8
    ^DGPM - [#405] INDTS+3
    ^DIC(36 - [#36] ALLPAYID+18, ALLPAYID+19, ALLPAYID+21, ALLPAYID+28
    ^IBA(362.3 - [#362.3] ID1+31
    ^TMP("DCX" ID1+23, ID1+44*, ID1+45*
    ^TMP("IBXSAVE" ID1+40*, ID1+46*
    ^TMP($J SVITM+7*, LINK+8, LINK+9*, LINK+10, LINK+11*, INS+2, INS+5*

    Label References

    Name Line Occurrences
    $$CURR RECVR+9
    $$SNF VC80CK+3
    ALLPAYID PAYERID+6, VC80CK+6
    ID ID1+46
    IDX1 ID1+25
    LINKQ LINK+8

    Local Variables

    Legend:

    >> Not killed explicitly
    * Changed
    ! Killed
    ~ Newed

    Name Field # of Occurrence
    A ALLPAYID+8~, ALLPAYID+11, ALLPAYID+12*, ALLPAYID+14*, ALLPAYID+28*, ALLPAYID+29*, ALLPAYID+45*, ALLPAYID+48*, ALLPAYID+51*, ALLPAYID+54*
    , ALLPAYID+57, ALLPAYID+58, LADJ+9~, LADJ+10*, LADJ+11*, LADJ+12, AMTOUT~, AMTOUT+2, INS+1~, INS+2*
    INS+5, INS+6*, INS+7, INS+14, INS+15*, INS+16
    B LADJ+9~, LADJ+10*, LADJ+12*, AMTOUT~, AMTOUT+2
    BLTYPX VC80CK+1~, VC80CK+8*, VC80CK+9
    C AMTOUT~, AMTOUT+2
    CNT ID1+10~, ID1+44*, ID1+45
    COB PPOL~, PPOL+2, ESGHPST~, ESGHPST+1, ESGHPNL~, ESGHPNL+1, VC80CK+1~, VC80CK+5*
    CT ID1~, ID1+12, ID1+17, ID1+29, ID1+40, ID1+42, ID1+44, ID1+45, ID1+46*, M~
    , M+2*, M+5
    DCT ID1~, ID1+14*, ID1+28*
    DFN INDTS+1~, INDTS+2*, INDTS+3
    DX ID1~, ID1+16*, ID1+18, ID1+19, ID1+25, ID1+27*, ID1+28*, ID1+40*, ID1+42, ID1+45
    DX( ID1+17, ID1+29, ID1+40, ID1+46
    DXIEN ID1+10~, ID1+29*, ID1+31
    DXQ ID1+10~, ID1+23*, ID1+32*, ID1+35*, ID1+37*, ID1+45
    ECT ID1~, ID1+14*, ID1+27*
    EDX ID1+10~, ID1+16*, ID1+18*, ID1+19*, ID1+21, ID1+23, ID1+27, ID1+28, ID1+32, ID1+35
    GRP LADJ~, LADJ+11, LADJ+12
    I ID1+10~, ID1+21*, ID1+44, ID1+45
    IB0 VC80CK+1~, VC80CK+7*, VC80CK+8
    IBA SVITM~
    IBA("OUTPT" SVITM+7!
    IBARR AMTOUT+2~*
    IBC OTHINS1+2~, OTHINS1+4*, OTHINS1+5*, OTHINS1+6*, OTHQ
    IBDATA LINK~, LINK+7
    IBEBI ALLPAYID+8~, ALLPAYID+18*, ALLPAYID+19*, ALLPAYID+21*, ALLPAYID+22*, ALLPAYID+48
    IBIFN HOS~, HOS+2, OTHINS~, OTHINS+5, OTHINS1~, OTHINS1+3, OTHINS1+4, OTHINS1+5, RECVR~, RECVR+5
    , RECVR+6, RECVR+8, RECVR+9, RECVR+11, ALLPAYID~, ALLPAYID+10, ALLPAYID+16, ALLPAYID+21, ALLPAYID+24, ALLPAYID+25
    , ALLPAYID+26, ALLPAYID+28, ALLPAYID+54, PAYERID~, PAYERID+5, PAYERID+6, CURR~, CURR+2, ADMDT~, ADMDT+1
    , DISDT~, DISDT+1, INDTS~, INDTS+2, TXMT~, TXMT+1, COID~, COID+1, PPOL~, PPOL+2
    , ESGHPST~, ESGHPST+1, ESGHPNL~, ESGHPNL+1, SNF~, SNF+6, VC80CK~, VC80CK+3, VC80CK+4, VC80CK+5
    , VC80CK+6, VC80CK+7
    IBINS ID1+10~, ID1+11*, ID1+25, ID1+35, ID1+40
    IBINST ALLPAYID+8~, ALLPAYID+16*, ALLPAYID+18, ALLPAYID+19, ALLPAYID+28, ALLPAYID+45, ALLPAYID+51, ALLPAYID+54
    IBKEY LINK+5~, LINK+7*, LINK+8, LINK+9, LINK+10*, LINK+11
    IBLN LINK+5~, LINK+6*, LINK+8, LINK+9*, LINK+11*, LINKQ
    IBM ALLPAYID+8~, ALLPAYID+10*, ALLPAYID+11
    IBM2 ALLPAYID+8~, ALLPAYID+10*, ALLPAYID+14
    IBMCR ALLPAYID+8~, ALLPAYID+25*, ALLPAYID+51
    IBMRA ALLPAYID+8~, ALLPAYID+24*, ALLPAYID+48
    IBPH RECVR+3~, RECVR+5*, RECVR+6, RECVR+8
    IBSEQ PAYERID+2~, PAYERID+5*, PAYERID+6
    IBTYP LINK~, LINK+7, LINK+8, LINK+9, LINK+10, LINK+11
    IBX ALLPAYID+8~
    IBXDATA ALLPAYID~, ALLPAYID+10*, AMTOUT+2!, INS+4!, INS05+2!, INS09+2!, INS12+2!, INS13+2!
    IBXDATA( ALLPAYID+11*, LADJ+12*, AMTOUT+2*, INS+3, INS+6, INS+7!*, INS+16*, INS05+6*, INS05+7*, INS07+4*
    INS07+5*, INS09+5*, INS09+6*, INS12+5*, INS12+6*, INS13+5*, INS13+7*!
    IBXDATA("" INS+11
    >> IBXIEN ID1+11, ID1+40, ID1+46, INS05+3
    >> IBXNOREQ INS05+3*
    >> IBXPG ID+8
    IBXSAVE LADJ~, AMTOUT~
    IBXSAVE( LADJ+11, LADJ+12
    IBXSAVE("INPT" INS+6*, INS05+5, INS05+6, INS05+7, INS07+3, INS07+4, INS07+5, INS09+4, INS09+5, INS09+6
    INS12+4, INS12+5, INS12+6, INS13+4, INS13+5, INS13+6
    IBXSAVE("PMOD" INS07+5*
    >> IBXSIZE ID+8
    IBZ AMTOUT+2~*
    ICDV ID1+10~, ID1+17*, ID1+18, ID1+19, ID1+37
    K AMTOUT+2~*
    LAST INS05+4~*, INS05+5, INS05+6*, INS07+2~*, INS07+3, INS07+4*, INS09+3~*, INS09+4, INS09+5*, INS12+3~*
    INS12+4, INS12+5*, INS13+3~*, INS13+4, INS13+5*
    LINE SVITM~, SVITM+7, LADJ~, LADJ+11, LADJ+12
    LN ID~, ID+7, ID+8, ID1~, ID1+46*
    MCR RECVR+3~, RECVR+11*, RECVR+12
    NOOUTCK ADMDT~, ADMDT+1
    NUM RECVR+3~, RECVR+6*, RECVR+8*, RECVR+9, RECVR+12*, RECVR+13, PAYERID+2~, PAYERID+6*, PAYERID+7, VC80CK+1~
    , VC80CK+6
    NUM( PAYERID+6
    NUM(1 VC80CK+6
    PIECE LADJ~, LADJ+12
    POA ID1+10~, ID1+31*, ID1+35*, ID1+45
    PPAYID VC80CK+1~, VC80CK+6*
    PPOL PPOL+1~*, PPOL+2*, PPOL+3
    RCVRID VC80CK+1~, VC80CK+4*
    SEQ ALLPAYID~, ALLPAYID+11
    SEQ1 LADJ~, LADJ+11, LADJ+12
    SNF SNF+4~, SNF+5*, SNF+6*, SNF+7
    SUB LADJ~, LADJ+11, LADJ+12
    U RECVR+5, RECVR+8, RECVR+11, ALLPAYID+11, ALLPAYID+14, ALLPAYID+18, ALLPAYID+19, ALLPAYID+21, ALLPAYID+26, ALLPAYID+28
    , ALLPAYID+45, ALLPAYID+51, INDTS+2, INDTS+3, ID1+29, ID1+31, ID1+40, ID1+45, ID1+46, LINK+7
    , PPOL+2, LADJ+12, AMTOUT+2, VC80CK+4, VC80CK+8, INS05+6, INS05+7, INS07+5, INS09+6, INS12+6
    INS13+5, INS13+6
    VAIN INDTS+1~
    VAIN(1 INDTS+3
    VAIN(7 INDTS+3
    VAINDT INDTS+1~, INDTS+2*, INDTS+3
    VAL ID~, ID+8, ID1+10~, ID1+12*, ID1+13*, ID1+46
    >> VC80 INS+10, INS05+6, INS07+4, INS09+5, INS12+5, INS13+5
    VC80SW VC80CK+1~, VC80CK+2*, VC80CK+3, VC80CK+4, VC80CK+5, VC80CK+6, VC80CK+9, VC80CK+10*, VC80CK+11
    X PPOL+1~, PPOL+2*
    Y PPOL+1~, PPOL+2*
    Z OTHINS+4~, OTHINS+5*, OTHINS+6, OTHINS1+2~, OTHINS1+3*, OTHINS1+4, OTHINS1+5, OTHINS1+6, ALLPAYID+8~, ALLPAYID+11*
    , ALLPAYID+14, ALLPAYID+48, ALLPAYID+51, ALLPAYID+54, INDTS+1~, INDTS+2*, LINK+5~, LINK+9*, LINK+11*, AMTOUT+2~*
    INS+1~, INS+2*, INS+3*, INS+4, INS+5, INS+6, INS+7, INS+8, INS+11*, INS+12
    INS+16, INS05+4~*, INS05+5*, INS05+6, INS05+7, INS07+2~*, INS07+3*, INS07+4, INS07+5, INS09+3~*
    INS09+4*, INS09+5, INS09+6, INS12+3~*, INS12+4*, INS12+5, INS12+6, INS13+3~*, INS13+4*, INS13+5
    INS13+6, INS13+7
    Z0 ALLPAYID+8~, ALLPAYID+11*, ALLPAYID+18, ALLPAYID+19, ALLPAYID+21, ALLPAYID+28, INDTS+1~*, INDTS+3*, INDTS+4, SVITM+6~
    , SVITM+7*, INS13+3~, INS13+6*, INS13+7
    Z1 ALLPAYID+8~, ALLPAYID+25*, ALLPAYID+26, ALLPAYID+28, ALLPAYID+45, ALLPAYID+51, SVITM+6~, SVITM+7*
    Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Local Variables  | All