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 |
| 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* |