IBCRBG ;ALB/ARH - RATES: BILL SOURCE EVENTS (INPT) ;21 MAY 96
Source file <IBCRBG.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 |
---|---|---|
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 |
Name | Field # of Occurrence |
---|---|
$$CSVDATE^IBACSV | DXVER+5 |
$$ICD9SYS^IBACSV | DXVER+5 |
$$ICD9VER^IBACSV | DXVER+4 |
$$CURR^IBCEF2 | INPTPTF+11 |
INPTRSET^IBCRBG2 | INPTPTF+27 |
PTFCDS^IBCSC4F | MVDRG+23, MVDRG+32, MVDRG+37 |
$$AD^IBCU64 | BSLOS+13 |
$$LOS^IBCU64 | SET+11 |
$$MCRWNR^IBEFUNC | INPTPTF+11 |
^ICDDRG | MVDRG+43 |
$$FMADD^XLFDT | SET+13, DXVER+5 |
$$FMDIFF^XLFDT | MVDRG+16 |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^DGCR(399 - [#399] | INPTPTF+8, INPTPTF+10, INPTPTF+14 |
^DGCR(399.1 - [#399.1] | SPBB+4, BBS+1 |
^DGPM("APTF" | INPTPTF+17 |
^DGPT - [#45] | PTF+5, PTF+6, PTFDV+10, PTFDV+11, MVDRG+7, MVDRG+8, MVDRG+9, MVDRG+10, MVDRG+13, MVDRG+30 , MVDRG+31, MVDRG+35, MVDRG+36 |
^DIC(36 - [#36] | INPTPTF+12 |
^DIC(42 - [#42] | PTFDV+13 |
^DIC(42.4 - [#42.4] | SPBB+3 |
^DPT - [#2] | MVDRG+7 |
^TMP($J | INPTPTF+6!, INPTPTF+25!, PTF+11*, BSLOS+15, SET+3, SET+13*, PTFDV+7, PTFDV+14*, PTFDV+17, PTFDV+18 , PTFDV+20*, PTFDV+23, PTFDV+24, PTFDV+25, PTFDV+26*, PTFFY+7, PTFFY+10, PTFFY+12* |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
AGE | MVDRG+3~, MVDRG+16* |
BEGDT | PTFFY~, PTFFY+5, PTFFY+7 |
CDATE | MVDRG~, MVDRG+40 |
CS | INPTPTF~, INPTPTF+27 |
CSVDATE | DXVER+3~, DXVER+5* |
DATE | DXVER~, DXVER+5 |
DFN | INPTPTF+5~, INPTPTF+8* |
DPT0 | MVDRG+2~, MVDRG+7*, MVDRG+15, MVDRG+16 |
DT | PTF+8, PTFDV+12, MVDRG+12, MVDRG+40 |
DX | DXVER~, DXVER+4 |
DXVER | DXVER+3~, DXVER+4*, DXVER+5 |
ENDDT | PTFFY~ |
IB0 | INPTPTF+5~, INPTPTF+8*, INPTPTF+9 |
IBADM | INPTPTF+5~, INPTPTF+17*, INPTPTF+23, BSLOS~, BSLOS+13, SET+11 |
IBBDT | INPTPTF+5~, INPTPTF+15*, INPTPTF+21, INPTPTF+23, BSLOS~, BSLOS+8, BSLOS+13, SET+8 |
IBBEG | MVDRG+2~, MVDRG+13*, MVDRG+32, MVDRG+37 |
IBBEGDT | PTFFY+4~, PTFFY+7*, PTFFY+8, PTFFY+9 |
IBBILLBS | PTF+4~, PTF+7*, PTF+11 |
IBCHGDT | SET+2~, SET+13* |
IBDRG | MVDRG+2~, MVDRG+5*, MVDRG+43*, MVDRGQ |
IBDSST | MVDRG+2~, MVDRG+10*, MVDRG+19, MVDRG+20, MVDRG+21 |
IBDX | MVDRG+2~, MVDRG+24*, MVDRG+25 |
IBEDT | INPTPTF+5~, INPTPTF+15*, INPTPTF+21, INPTPTF+23, BSLOS~, BSLOS+9, SET+9, SET+10 |
IBEND | MVDRG+2~, MVDRG+12*, MVDRG+13, MVDRG+16, MVDRG+32, MVDRG+37 |
IBENDDT | PTF+4~, PTF+8*, PTF+11, PTFDV+5~, PTFDV+12*, PTFDV+14, PTFDV+17*, PTFDV+18, PTFDV+20, PTFDV+23* , PTFDV+24, PTFDV+26, PTFFY+4~, PTFFY+7*, PTFFY+8, PTFFY+9, PTFFY+10 |
IBFY | PTFFY+4~, PTFFY+5*, PTFFY+9*, PTFFY+12 |
IBFYDRG | PTFFY+4~, PTFFY+11*, PTFFY+12 |
IBI | SET+2~, SET+13*, MVDRG+2~, MVDRG+24*, MVDRG+33*, MVDRG+38* |
IBIFN | INPTPTF~, INPTPTF+8, INPTPTF+10, INPTPTF+11, INPTPTF+14, INPTPTF+27 |
IBINSMBS | INPTPTF+5~, INPTPTF+10*, INPTPTF+12*, INPTPTF+23, BSLOS~, SET+6 |
IBJ | MVDRG+2~, MVDRG+24*, MVDRG+25*, MVDRG+29*, MVDRG+33*, MVDRG+38* |
IBLASTDT | BSLOS+7~, BSLOS+15*, SET+6, SET+8 |
IBMBDT | SET+2~, SET+8*, SET+11, SET+13 |
IBMDRG | PTF+4~, PTF+10*, PTF+11 |
IBMEDT | SET+2~, SET+9*, SET+11 |
IBMLOS | SET+2~, SET+11*, SET+13 |
IBMOVE | PTF+4~, PTF+5*, PTF+6, PTF+10, PTF+11, PTFFY+4~, PTFFY+10*, PTFFY+11 |
IBMSC | PTF+4~, PTF+9*, PTF+11 |
IBMTF | SET+2~, SET+10*, SET+11 |
IBMVDRG | PTFFY+4~, PTFFY+10*, PTFFY+12 |
IBMVDT | PTFDV+5~, PTFDV+18*, PTFDV+19, PTFDV+20 |
IBMVLN | PTF+4~, PTF+6*, PTF+7, PTF+8, PTF+9, PTF+11, SET+2~, SET+3*, SET+4, SET+5 , SET+13, PTFFY+4~, PTFFY+10*, PTFFY+12* |
IBP | MVDRG+2~, MVDRG+30*, MVDRG+31, MVDRG+32, MVDRG+35*, MVDRG+36, MVDRG+37 |
IBPRC | MVDRG+2~, MVDRG+33*, MVDRG+38* |
IBPRC0 | MVDRG+2~, MVDRG+31*, MVDRG+32, MVDRG+36*, MVDRG+37 |
IBS | BSLOS+7~, BSLOS+15*, SET+3, SET+9, SET+10 |
IBSBDT | BSLOS+7~, BSLOS+8*, BSLOS+13*, BSLOS+15 |
IBSEDT | BSLOS+7~, BSLOS+9*, BSLOS+11*, BSLOS+15 |
IBTF | INPTPTF+5~, INPTPTF+9*, INPTPTF+23, BSLOS~, BSLOS+11, SET+10 |
IBTRDT | PTFDV+5~, PTFDV+24*, PTFDV+25 |
IBTRDV | PTFDV+5~, PTFDV+13*, PTFDV+14, PTFDV+25*, PTFDV+26 |
IBTRLN | PTFDV+5~, PTFDV+11*, PTFDV+12, PTFDV+13 |
IBTRNSF | PTFDV+5~, PTFDV+10*, PTFDV+11 |
IBU | INPTPTF+5~, INPTPTF+14*, INPTPTF+15 |
IBVDATE | MVDRG+2~, MVDRG+41* |
IBX | INPTPTF+5~, INPTPTF+10*, INPTPTF+11*, INPTPTF+12, SPBB+2~, SPBB+3*, SPBB+4, BSLOS+7~, BSLOS+13*, BBS+1~* |
IBY | SPBB+2~, SPBB+4*, BBS+1~*, BBS+2 |
IBYR | PTFFY+4~, PTFFY+9*, PTFFY+11 |
IBYRB | PTFFY+4~, PTFFY+8*, PTFFY+9 |
IBYRE | PTFFY+4~, PTFFY+8*, PTFFY+9 |
IBZ | SPBB+2~*, SPBB+4*, SPBB+5 |
ICD0 | MVDRG+4~ |
ICD10ORNIT | MVDRG+4~ |
ICD10ORT | MVDRG+4~ |
ICDCDSY | MVDRG+4~ |
ICDCSYS | MVDRG+4~ |
ICDDATE | MVDRG+3~, MVDRG+40*, MVDRG+41* |
ICDDMS | MVDRG+3~, MVDRG+18*, MVDRG+20* |
ICDDRG | MVDRG+3~, MVDRG+43 |
ICDDX | MVDRG+3~ |
ICDDX( | MVDRG+25* |
ICDDX(1 | MVDRG+27, MVDRG+41 |
ICDEDT | MVDRG+4~ |
ICDEXP | MVDRG+3~, MVDRG+18*, MVDRG+19* |
ICDMDC | MVDRG+3~ |
ICDPOA | MVDRG+3~ |
ICDPOA( | MVDRG+25* |
ICDPRC | MVDRG+3~ |
ICDPRC( | MVDRG+33*, MVDRG+38* |
ICDRG | MVDRG+4~ |
ICDRTC | MVDRG+3~ |
ICDSEX | MVDRG+4~ |
ICDTMP | MVDRG+4~ |
ICDTRS | MVDRG+3~, MVDRG+18*, MVDRG+21* |
ICDX | MVDRG+4~ |
ICDY | MVDRG+4~ |
M | MVDRG~, MVDRG+8, MVDRG+9, MVDRG+23 |
PTF | INPTPTF+5~, INPTPTF+9*, INPTPTF+17, INPTPTF+19, INPTPTF+20, INPTPTF+21, PTF~, PTF+4*, PTF+5, PTF+6 , PTF+10, PTFDV~, PTFDV+10, PTFDV+11, PTFFY~, PTFFY+4, PTFFY+11, MVDRG~, MVDRG+7, MVDRG+8 , MVDRG+9, MVDRG+10, MVDRG+13, MVDRG+23, MVDRG+30, MVDRG+31, MVDRG+32, MVDRG+35, MVDRG+36, MVDRG+37 |
PTF0 | MVDRG+2~, MVDRG+7*, MVDRG+13 |
PTF70 | MVDRG+2~, MVDRG+10*, MVDRG+18, MVDRG+21 |
PTFARR | MVDRG+2~, MVDRG+23!, MVDRG+32!, MVDRG+37! |
PTFARR( | MVDRG+24, MVDRG+33, MVDRG+38 |
PTFM0 | MVDRG+2~, MVDRG+8*, MVDRG+12, MVDRG+18, MVDRG+40 |
PTFM82 | MVDRG+2~, MVDRG+9* |
SEX | MVDRG+3~, MVDRG+15* |
SPCLTY | SPBB~, SPBB+3 |
U | INPTPTF+8, INPTPTF+9, INPTPTF+12, INPTPTF+15, PTF+7, PTF+8, PTF+9, PTF+11, SPBB+3, SPBB+4 , BSLOS+13, SET+4, SET+5, BBS+1, PTFDV+12, PTFDV+13, PTFDV+26, PTFFY+10, PTFFY+12, MVDRG+7 , MVDRG+10, MVDRG+12, MVDRG+13, MVDRG+15, MVDRG+16, MVDRG+18, MVDRG+21, MVDRG+25, MVDRG+40 |
VDATE | DXVER+3~*, DXVER+5*, DXVER+6 |
X | BBS~, BBS+1 |
X1 | MVDRG+4~ |
X2 | MVDRG+4~ |