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