IBCRBG ;ALB/ARH - RATES: BILL SOURCE EVENTS (INPT) ;21 MAY 96
Source file <IBCRBG.m>
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| INPTPTF(IBIFN,CS) | ; search PTF record for billable bedsections, transfer DRGs, and length of stay 
 ; - screens out days for pass, leave and SC treatment ; - adds charges for only one BS if the ins company does not allow multiple bedsections per bill (36,.06) ; Output: ^TMP($J,"IBCRC-INDT", BILLABLE DATE) = MOVE DT/TM ^ BILL BS ^ SC FLAG ^ DRG ^ DIV ^ SPECIALTY ^ MOVE #  | 
|
| PTF(PTF) | ; find all movements in PTF for the admission by date and billing bedsection (501 movement)
 ; the movement date is the date the patient left the bedsection ; Output: ^TMP($J,"IBCRC-PTF", MOVE DT/TM)=MOVE DT/TM ^ BILL BED ^ SC FLAG ^ TRANSFER DRG ^ ^ SPECIALTY ^ MOVE #  | 
|
| SPBB(SPCLTY) | ; find the billable bedsection for a Specialty (42.4)
 ; returns billable bedsection IFN ^ billable bedsection name  | 
|
| BSLOS(IBBDT,IBEDT,IBTF,IBADM,IBINSMBS) | ; from the array of PTF movments get all bedsections and their LOS covered by date range of the bill
 ; adds all days for first cronological bs if ins comp wants only a single bs per bill, even if not sequential ; the movement date is the date the patient left the bedsection, so admission date is not in PTF array  | 
|
| SET | ; checks a specific movement to determine if it should be billed and what the length of stay is
 ; setting of the movement date determines how many days are counted in the bedsection  | 
|
| BBS(X) | ; returns true if pointer passed in is a billable bedsection ^ bedsection name
 | 
|
| PTFDV(PTF) | ; find all ward/location transfers in PTF for the patient to determine the site/division the patient was in
 ; the division of the ward will be added to the PTF bedsection movements ; Input: ^TMP($J,"IBCRC-PTF", move dt/tm) = move dt/tm ^ bill bs ^ sc flag ^ move drg ^ ^ specialty ^ move # ; Output: ^TMP($J,"IBCRC-PTF", move dt/tm) = move dt/tm ^ bill bs ^ sc flag ^ move drg ^ WARD DIV ^ spec ^ move# ; ^TMP($J,"IBCRC-DIV", TRANSFER DATE/TIME) = WARD DIVISION  | 
|
| PTFFY(PTF,BEGDT,ENDDT) | ; add movement for FY (10/1) if date range covers FY and DRG changes
 ; the DRG may change on FY so check and if necessary add movement for pre-FY with old DRG ; Input: ^TMP($J,"IBCRC-PTF", move dt/tm) = move dt/tm ^ bill bs ^ sc flag ^ move drg ^ ^ specialty ^ move # ; Output: ^TMP($J,"IBCRC-PTF", move dt/tm) = move dt/tm ^ bill bs ^ sc flag ^ MOVE DRG ^ ward div ^ spec ^ move#  | 
|
| DXVER(DX,DATE) | ; check the code version of the diagnosis matchs the code version on the date
 ; with ICD-10, bills may span the activation date and Dx may be coded in either version (should be ICD-10) ; returns null or if versions don't match then last ICD-9 date for ICD-9 Dx or first ICD-10 date for ICD-10 Dx  | 
|
| MVDRG(PTF,M,CDATE) | ; Return the DRG for a specific PTF Movememt (M=move ifn)
 ; CDATE is optional, used if need to calculate DRG for some day within the move, not at the end date  | 
|
| MVDRGQ |