IBCEF3 ;ALB/TMP - FORMATTER SPECIFIC BILL FLD FUNCTIONS ;17-JUNE-96
Source file <IBCEF3.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 |
Package | Total | Caller Graph |
---|---|---|
Integrated Billing | 9 | IBCEF1 IBCEF31 IBCEF75 IBCEF77 IBCEF80 IBCEU3 IBCF33 ^IBA(364.5 ^IBA(364.7 |
Name | Comments | DBIA/ICR reference |
---|---|---|
MPG(PG,FLDS,FORM) | ; Set static flds on pages after page 1
; for either 1500 or UB ; PG = page # ; FORM= 1 for UB, otherwise for 1500 ; FLDS: array passed by reference and containing lines OR ; line/column from pg 1 to repeat on subsequent pages ; Format: FLDS(LINE,COL) or FLDS(LINE) for whole line ; CMS-1500: LINES 1-5,7-43,57 from col 1 to 50, 58-63 ; UB: see CKPGUB for lines and columns |
|
NONSERV(Z,Z0) | ; Set variable if non-service/non-text data is present for box
; 24 of CMS-1500 ; Z = sequence of IBXSAVE being processed ; Z0 = sequnce within IBXDATA to indicate actual line # |
|
PG(VAL,LNCT) | ;Set next pg for CMS-1500 lines
|
|
MPGUB(PG,OFFSET,VAL,IBLN,IBCOL,NOFORM) | ; Set up pages > 1 for UB overflows
; PG = Page # to set (REQUIRED) ; OFFSET = offset from first line this should be extracted into ; 0 = first line (REQUIRED) ; VAL = value to set (REQUIRED) ; IBLN = line to set data at (if null, uses IBXLN) ; IBCOL = column to set data at (if null, uses IBXCOL) ; NOFORM = don't format, just output data as passed ; Assumes formatter IBXLN,IBXCOL variables exist |
|
CKREV(CT,VAL) | ; Check too many rev code lines to fit on page
; This procedure is only called when CT>22 (i.e. 23 or more) |
|
CKPGUB | ; Check to see if multiple UB pages are needed then populate
; static flds from page 1, add page numbers |
|
HCPC(R) | ;FORMAT HCPC fld FOR UB (returns formatted value)
; R = flag for type of fld (1/2/3) being printed in rev code block |
|
PROS(IBIFN) | ; Extract billable prosthetics for 837
|
|
PROSQ | ||
B24(IBXSV,IBIFN,IBNOSHOW) | ; Code to execute to set up IBXSV("BOX24") for
; print or IBXSAVE("OUTPT") for transmit - called by output formatter ; IBNOSHOW = 1 if not to show error/warning text lines ; Pass IBXSV by reference |
|
ALLTYP(IBIFN) | ||
INSTYP(IBIFN,SEQ) | ||
POLTYP(IBIFN,IBSEQ) | ||
ALLPTYP(IBIFN) | ||
FILL(Z) | ;
|
|
XPROC(DATA,CT) | ; Output any UB procedures after 6 on new page(s)
; DATA = output data from IBXSAVE("PROC",CT) ; CT = array sequence # of the procedure being output ; Only used for local prints |
|
XDIAG(DATA,CT) | ; Output any UB other diagnoses after 8 on new page(s)
; DATA = output data from IBXSAVE("DX",CT) ; CT = array sequence # of the diagnosis being output ; Only used for local prints |
|
XVAL(DATA,CT) | ; Output any UB value codes after 12 on new page(s)
; DATA = output data from IBXSAVE("VC",CT) ; CT = array sequence # of the value code being output |
|
XCC(DATA,CT) | ; Output any UB condition codes after 11 on new page(s)
; 11 condition codes per page, starting columns 34 thru 64 ; DATA = output data from IBXSAVE("CC",CT) ; CT = array sequence # of the condition code being output |
|
XOCC(DATA,CT,FL) | ; Output any UB occurrence codes after 8 (2 per form
; locators 31-34) on new page(s) ; DATA = data from IBXSAVE("OCC",z) to be output ; CT = array sequence # of occurrence code being output ; FL = # of form locator being populated with the occ code |
|
XOCCS(DATA,CT,FL) | ; Output any UB occurrence span codes after 4 on new page(s)
; DATA = data from IBXSAVE("OCCS",z) to be output ; CT = array sequence # of occurrence span code being output ; FL = # of form locator being populated (either FL 35 or 36) |
|
FORMAT(VAL,IBX0,IBXDA) | ;
|
|
OUTPDT(IBIFN,IBXSAVE,IBXDATA) | ; Returns outpatient service to date
; formatted CCYYMMDD for UB 837 ; IBIFN = ien of bill (file 399) ; IBXSAVE = pass by reference for IBXSAVE("INPT") and IBXSAVE("DATE") ; IBXDATA = array with formatted date or each line item - CCYYMMDD |
Name | Field # of Occurrence |
---|---|
$$ICD9^IBACSV | XDIAG+6 |
F^IBCEF | B24+8 |
$$ALLPTYP^IBCEF31 | ALLPTYP |
$$ALLTYP^IBCEF31 | ALLTYP |
$$INSTYP^IBCEF31 | INSTYP |
$$POLTYP^IBCEF31 | POLTYP |
$$DOL^IBCEF77 | MPG+24, MPG+25, CKPGUB+30, CKPGUB+32 |
$$FORMAT^IBCEFG | FORMAT+1 |
SETGBL^IBCEFG | MPG+18, MPG+19, MPG+24, MPG+25, MPG+32, MPG+33, MPG+35, MPG+36, PG+5, MPGUB+13 |
$$DT^IBCEFG1 | OUTPDT+6 |
$$FO^IBCNEUT1 | MPG+17 |
$$PINB^IBCSC5B | PROS+6 |
SET^IBCSC5B | PROS+2 |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^IBA(364.6 - [#364.6] | FORMAT+1 |
^TMP("IBTX" | B24+5 |
^TMP("IBXDATA" | MPG+15, MPG+32, MPG+33, CKPGUB+5, CKPGUB+6, CKPGUB+7!, CKPGUB+21 |
^TMP($J | CKPGUB+28 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
COL | XPROC+4~, XPROC+8*, XPROC+10, XPROC+11, XDIAG+4~, XDIAG+5*, XDIAG+7, XVAL+4~, XVAL+5*, XVAL+6 , XVAL+7, XCC+5~, XCC+6*, XCC+7, XOCC+6~, XOCC+7*, XOCC+8, XOCC+9, XOCCS+5~, XOCCS+7* , XOCCS+8, XOCCS+9, XOCCS+10 |
CT | CKREV~, CKREV+3, PROS+1~, PROS+3*, PROS+4*, PROS+5*, PROS+8, PROSQ, B24+12~, B24+13* , XPROC~, XPROC+6, XDIAG~, XDIAG+5, XVAL~, XVAL+5, XCC~, XCC+6, XOCC~, XOCC+7 , XOCCS~, XOCCS+6 |
DATA | XPROC~, XPROC+10, XPROC+11, XDIAG~, XDIAG+6*, XDIAG+7, XVAL~, XVAL+6, XVAL+7, XCC~ , XCC+7, XOCC~, XOCC+8, XOCC+9, XOCCS~, XOCCS+8, XOCCS+9, XOCCS+10 |
FL | XOCC~, XOCC+7, XOCCS~, XOCCS+7 |
FLDS | MPG~, CKPGUB+3~, CKPGUB+24 |
FLDS( | MPG+30, MPG+31, MPG+33, CKPGUB+10*, CKPGUB+12*, CKPGUB+14*, CKPGUB+15*, CKPGUB+16* |
FLDS(41 | CKPGUB+13* |
FLDS(9 | CKPGUB+11* |
FORM | MPG~, MPG+11*, MPG+14, MPG+34 |
IB | CKPGUB+20~, CKPGUB+21* |
IBARRAY | PROS+1~, PROS+2, PROS+3 |
IBARRAY( | PROS+5, PROS+6, PROS+8 |
IBCOL | MPGUB~, MPGUB+11*, MPGUB+13 |
IBIFN | PROS~, PROS+2, B24~, B24+5, B24+7*, B24+8, ALLTYP~, INSTYP~, POLTYP~, ALLPTYP~ , OUTPDT~ |
IBL | PG+3~, PG+4*, PG+5 |
IBLN | MPGUB~, MPGUB+10*, MPGUB+13 |
IBNOSHOW | B24~, B24+9 |
IBP | PG+3~, PG+4*, PG+5, CKPGUB+3~, CKPGUB+5*, CKPGUB+6*, CKPGUB+7, CKPGUB+20~ |
IBPG | CKPGUB+3~, CKPGUB+18*, CKPGUB+21, CKPGUB+22, CKPGUB+23, CKPGUB+24, CKPGUB+34, CKPGUB+35, CKPGUB+36 |
IBSEQ | POLTYP~ |
IBSUB | B24+4~, B24+5*, B24+6, B24+8, B24+9, B24+10, B24+13 |
IBX0 | FORMAT~, FORMAT+1 |
>> IBXCOL | PG+5, MPGUB+11 |
IBXDA | PG+5, MPGUB+12, FORMAT~, FORMAT+1 |
IBXDATA | B24+10, OUTPDT~ |
IBXDATA( | PG+6!, PROS+8*, B24+13, OUTPDT+6* |
>> IBXIEN | B24+7 |
>> IBXLN | PG+5, MPGUB+10 |
>> IBXLOOP("IBX0" | PG+5, MPGUB+12 |
>> IBXREC | MPG+15, MPG+32, MPG+33, CKPGUB+5, CKPGUB+6, CKPGUB+7, CKPGUB+21 |
IBXSAVE | OUTPDT~ |
IBXSAVE("BDUE" | MPG+28! |
IBXSAVE("BOX24" | NONSERV+4 |
IBXSAVE("DATE" | OUTPDT+6, OUTPDT+7! |
IBXSAVE("INPT" | OUTPDT+6 |
IBXSAVE("NON-SERV" | NONSERV+4* |
IBXSAVE("PAID" | MPG+25, MPG+28! |
IBXSAVE("PTOT" | MPG+28! |
IBXSAVE("TOT" | MPG+24, MPG+28! |
>> IBXSIZE | MPG+18, MPG+19, MPG+24, MPG+25, MPG+32, MPG+33, MPG+35, MPG+36, PG+5, MPGUB+13 |
IBXSV | B24~ |
IBXSV( | B24+6!, B24+10*, B24+13* |
LNCT | PG~, PG+4, PG+6 |
LPG | MPG+10~, MPG+15*, MPG+16, MPG+19, MPG+20, MPG+34, CKPGUB+3~, CKPGUB+5*, CKPGUB+6, CKPGUB+7* , CKPGUB+18, CKPGUB+23 |
NOFORM | MPGUB~, MPGUB+12 |
OFFSET | MPGUB~, MPGUB+13, XPROC+4~, XPROC+7*, XPROC+10, XPROC+11, XVAL+4~, XVAL+5*, XVAL+6, XVAL+7 , XOCC+6~, XOCC+7*, XOCC+8, XOCC+9, XOCCS+5~, XOCCS+6*, XOCCS+8, XOCCS+9, XOCCS+10 |
PG | MPG~, MPG+16, MPG+18, MPG+19, MPG+20, MPG+24, MPG+25, MPG+32, MPG+33, MPG+34 , MPG+35, MPG+36, MPGUB~, MPGUB+13, XPROC+4~, XPROC+8*, XPROC+10, XPROC+11, XDIAG+4~, XDIAG+5* , XDIAG+7, XVAL+4~, XVAL+5*, XVAL+6, XVAL+7, XCC+5~, XCC+6*, XCC+7, XOCC+6~, XOCC+7* , XOCC+8, XOCC+9, XOCCS+5~, XOCCS+6*, XOCCS+8, XOCCS+9, XOCCS+10 |
PRCODE | XPROC+4~ |
PROS | PROS+1~, PROS+6*, PROS+8 |
Q | XPROC+4~, XPROC+7* |
R | HCPC~, HCPC+2 |
SEQ | INSTYP~ |
TOT1 | CKPGUB+3~, CKPGUB+27*, CKPGUB+28*, CKPGUB+30*, CKPGUB+31*, CKPGUB+35 |
TOT2 | CKPGUB+3~, CKPGUB+27*, CKPGUB+28*, CKPGUB+32*, CKPGUB+33*, CKPGUB+36 |
U | NONSERV+4, CKPGUB+28, PROS+3, PROS+8, XPROC+10, XPROC+11, XDIAG+6, XVAL+6, XVAL+7, XOCC+8 , XOCC+9, XOCCS+8, XOCCS+9, XOCCS+10, FORMAT+1, OUTPDT+6 |
VAL | PG~, PG+5*, MPGUB~, MPGUB+12*, MPGUB+13, CKREV~, CKREV+3, FORMAT~, FORMAT+1*, FORMAT+2 |
XCT | XPROC+4~, XPROC+6*, XPROC+7, XPROC+8 |
Z | MPG+10~, MPG+16*, MPG+17*, MPG+18, MPG+19*, MPG+30*, MPG+31, MPG+32, MPG+33, NONSERV~ , NONSERV+4, CKPGUB+3~, CKPGUB+6*, CKPGUB+10*, CKPGUB+11*, CKPGUB+12*, CKPGUB+14*, CKPGUB+15*, CKPGUB+16*, CKPGUB+28* , PROS+1~, PROS+4*, PROS+5*, PROS+6, PROS+8, B24+12~, B24+13*, FILL~, OUTPDT+5~, OUTPDT+6* |
Z0 | MPG+10~, MPG+32*, MPG+33*, NONSERV~, NONSERV+4, CKPGUB+3~, CKPGUB+6*, CKPGUB+28*, PROS+1~, PROS+5* , PROS+6, PROS+8 |
Z1 | MPG+10~, MPG+32*, MPG+33* |