IBEFURF ;ALB/ARH - UTILITY: FIND RELATED FIRST PARTY BILLS ;3/7/00
Source file <IBEFURF.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 | 2 | IBEFUR IBFBNP1 |
Name | Comments | DBIA/ICR reference |
---|---|---|
FPINPT(DFN,ADMDT,XRF) | ; given a patient and admission date, find any Inpatient Charges
; find the record of the Event (based on Event Date) then find all charges with that Event as the Parent Event |
|
FPINPT1(DFN,IBFROM,IBTO,XRF) | ; find inpatient charges for a given patient IB*2.0*728
|
|
FPOPV(DFN,DT1,DT2,XRF) | ; given a patient and date range, find any Outpatient Charges
; find all records where the Event Date is within the selected date range and the charge is Outpatient |
|
FPRX(RXIFN,FILLDT,XRF,IBRXFL) | ; given the prescription ifn (52) and the fill date, find any First Party charges
; get specific charge entry for an Rx from the Prescription file (52,106 and 52,52,9) |
|
FPONE(FPIFN,XRF) | ; for a FP charge entry get the one line item that defines the entire events charge(s)
; get the Parent Charge then use the last charge entry as the current record for the event |
|
DONE(FPIFN,XRF) | ; return true if item charge (last) is already included
|
|
SAVELN1(XRF,DATA) | ; set charges found into array, ^TMP("IBRBF",$J,XRF) = DATA
|
|
SAVELN2(FPIFN,DATA,XRF) | ; set charges found into array, ^TMP("IBRBF",$J,XRF,charge ifn) = DATA (from $$LN2)
|
|
LN2(FPIFN) | ; return data for a specific First Party Bill:
; BILL FROM ^ BILL TO ^ CANCELLED? (1/0)^ AR BILL NUMBER ^ TOTAL CHARGE ^ ACTION TYPE (SHORT) ^ # DAYS ON HOLD ; for rx's: FROM date is the (re)fill date in 52 and TO is the date entry added (release date) ; also set # Days On Hold only if the bill is currently in On Hold status |
|
LN2Q | ||
ATAB(AT) | ; given an Action Type (ptr to 350.1), return a shortened/abbreviated form of Action Type (350.1,.01)
|
|
ATABQ | ||
CANC(FPIFN) | ; given a First Party Charge (ptr to 350), return 1 if charge is Cancelled, "" otherwise
; is cancelled if the Action Type (350,.03) Sequence Number (350.1,.05) is Cancel ; or is cancelled if the Status (350,.05) is Cancelled (350.21,.05) (never passed to AR) |
|
CANCQ | ||
RXDT(FPIFN) | ; return fill date of rx being billed, Resulting From must be 52
; fill date for Original = (52,22), for Refill = (52,52,.01) |
|
RXDTQ | ||
OHDT(FPIFN) | ; return the bills # DAYS ON HOLD, if the bill is currently in the On Hold Status
|
|
OHDQ | ||
CHKOPRX(IBACTIEN) | ;
|
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^IB - [#350] | FPINPT+6, FPINPT1+9, FPOPV+5, FPONE+4, SAVELN2+1, LN2+4, LN2+5, CANC+3, RXDT+2, OHDT+1 , OHDT+3 |
^IB("AF" | FPINPT+5 |
^IB("AFDT" | FPINPT+3, FPINPT+4, FPOPV+3, FPOPV+4 |
^IB("C" | FPINPT1+8 |
^IBE(350.1 - [#350.1] | FPINPT+6, FPINPT1+13, ATAB+1, CANC+4, CHKOPRX+6 |
^IBE(350.21 - [#350.21] | CANC+5, OHDT+2 |
^TMP("IBRBF" | DONE+1, SAVELN1+1*, SAVELN2+1* |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
ADMDT | FPINPT~, FPINPT+2*, FPINPT+3 |
AT | ATAB~, ATAB+1 |
DATA | SAVELN1~, SAVELN1+1, SAVELN2~, SAVELN2+1 |
DFN | FPINPT~, FPINPT+3, FPINPT+4, FPINPT1~, FPINPT1+8, FPOPV~, FPOPV+3, FPOPV+4, FPRX+2~, FPRX+6* , FPRX+9, FPRX+13 |
DT | OHDT+3 |
DT1 | FPOPV~, FPOPV+2, FPOPV+3 |
DT2 | FPOPV~, FPOPV+2*, FPOPV+3 |
FILLDT | FPRX~, FPRX+4, FPRX+8, FPRX+12 |
FPIFN | FPONE~, FPONE+2, FPONE+4, DONE~, DONE+1, SAVELN2~, SAVELN2+1, LN2~, LN2+4, LN2+5 , LN2+7, LN2+9, LN2+13, CANC~, CANC+3, RXDT~, RXDT+2, OHDT~, OHDT+1, OHDT+3 |
IB0 | FPINPT+2~, FPINPT+6*, FPINPT1+7~, FPINPT1+9*, FPINPT1+10, FPINPT1+13, FPOPV+2~, FPOPV+5*, LN2+4~*, LN2+7 , LN2+8, LN2+10, LN2+11, LN2+12, CANC+3~*, CANC+4, CANC+5, RXDT+2~*, RXDT+3, OHDT+1~* , OHDT+2 |
IB1 | LN2+4~, LN2+5*, LN2+7, LN2+8 |
IBACT | FPINPT1+7~, FPINPT1+13*, FPINPT1+14 |
IBACTIEN | CHKOPRX~, CHKOPRX+6 |
IBACTNM | CHKOPRX+4~, CHKOPRX+6*, CHKOPRX+8, CHKOPRX+10, CHKOPRX+11 |
IBDATA | FPONE+2~, FPONE+7* |
IBEVDT | FPINPT+2~, FPINPT+3*, FPINPT+4, FPOPV+2~, FPOPV+3*, FPOPV+4 |
IBEVIFN | FPINPT+2~, FPINPT+4*, FPINPT+5 |
IBFILLN | FPRX+2~, FPRX+5*, FPRX+8, FPRX+12*, FPRX+13 |
IBFPIFN | FPINPT+2~, FPINPT+5*, FPINPT+6, FPINPT+7, FPOPV+2~, FPOPV+4*, FPOPV+5, FPOPV+6, FPRX+2~*, FPRX+9* , FPRX+10, FPRX+13*, FPRX+14 |
IBFRDT | FPINPT1+7~, FPINPT1+10*, FPINPT1+11, FPINPT1+12 |
IBFROM | FPINPT1~, FPINPT1+11 |
IBIEN | FPINPT1+7~, FPINPT1+8*, FPINPT1+9, FPINPT1+15 |
IBLAST | FPONE+2~, FPONE+5*, FPONE+7 |
IBPARENT | FPONE+2~, FPONE+4*, FPONE+5 |
IBRX | RXDT+2~, RXDT+3*, RXDT+4 |
IBRXFL | FPRX~, FPRX+5 |
IBRXN | RXDT+2~, RXDT+3*, RXDT+4 |
IBTO | FPINPT1~, FPINPT1+12 |
IBX | DONE+1~*, DONE+2, LN2+4~*, LN2+7*, LN2+8*, LN2+9*, LN2+10*, LN2+11*, LN2+12*, LN2+13* , LN2Q, ATAB+1~*, ATAB+2*, ATAB+3*, ATABQ, CANC+3~*, CANC+4*, CANC+5*, CANCQ, RXDT+2~* , RXDT+3*, RXDTQ, OHDT+1~*, OHDT+3*, OHDQ |
IBY | ATAB+1~*, ATAB+2, ATAB+3*, CANC+3~, CANC+4*, CANC+5*, RXDT+2~, RXDT+3*, RXDT+4*, OHDT+1~ , OHDT+2*, OHDT+3* |
RXIFN | FPRX~, FPRX+3, FPRX+6, FPRX+8, FPRX+9, FPRX+12, FPRX+13 |
U | FPINPT+6, FPINPT1+10, FPINPT1+13, FPOPV+5, FPONE+4, LN2+7, LN2+8, LN2+9, LN2+10, LN2+11 , LN2+12, LN2+13, ATAB+1, CANC+4, CANC+5, RXDT+3, OHDT+2, OHDT+3, CHKOPRX+6 |
XRF | FPINPT~, FPINPT+7, FPINPT1~, FPINPT1+15, FPOPV~, FPOPV+6, FPRX~, FPRX+10, FPRX+14, FPONE~ , FPONE+7, DONE~, DONE+1*, SAVELN1~, SAVELN1+1*, SAVELN2~, SAVELN2+1* |