Skip to main content

Per-diem & institutional billing

Outcome​

A multi-day institutional stay — ICF, ICF-IID, residential, hospital — is recorded with admission, discharge, leaves of absence, and any required occurrence / value codes, then billed as a UB-04 / 837I per the program's billing period (daily / weekly / monthly / span).

Prerequisites​

ScopeWhat it lets you do
clinical.encounter.readView encounters and stays
clinical.encounter.writeEdit institutional context
billing.claim.writeBuild / submit institutional claims

A program configured with institutionalBillingPeriod (see 5.1 — Payers, programs & contracts). The setting drives how the platform groups per-diem charges into a claim.

Where to find institutional context​

The Claim detail page has an Institutional tab visible only when the underlying claim's filing type is INSTITUTIONAL. The page also exposes a Per-diem panel in the sidebar that shows the LOS calculation.

Institutional context fields​

FieldWhere it travels
Admit date / timeDTP*435 ADM
Admit typeHeader — emergency / urgent / elective.
Admit sourceHeader.
DRGHI*DR segment in the 2300 loop.
Discharge date / hour / statusDTP*096 DIS and CL103.
Length of stay (LOS)Computed; not transmitted explicitly but drives covered-day count.
Leave of absence (LOA) datesOCC-74 occurrence code + dates.
Covered / non-covered daysVAL-80 / VAL-81 value amounts.
Diagnosis pointersHI*BK (principal), HI*BF (additional).
Procedure codes (ICD-10-PCS)HI*BBR (principal), HI*BBQ (other).

The platform auto-emits these segments when the corresponding context fields are set on the claim. Setting only some fields is allowed — the platform skips segments whose fields are blank.

Steps to record a stay​

  1. Open the member at /members/:id. Click + New stay (under the Encounters tab).

  2. Fill the admission: facility, admit date / time, admit type, admit source, principal diagnosis. Save.

  3. As the stay progresses, leaves of absence get recorded:

    • From the stay's Stay detail page, click + Add LOA with the start / end date and the reason.
    • The platform automatically creates the OCC-74 row that will travel on the eventual claim.
  4. At discharge, click Discharge and fill discharge date, hour, status. The stay closes and the per-diem charges become eligible for claim build.

Steps to bill the stay​

  1. Open the stay → click Build claim (or visit /charges/bulk-entry where the per-diem charges show up grouped under the stay).

  2. Pick the billing period if the program supports more than one. Common choices:

    PeriodWhat goes on the claim
    DAILYOne claim per day.
    WEEKLYAll days in a 7-day window.
    MONTHLYAll days in a calendar month.
    SPANAdmission through discharge as a single claim.

    The default comes from institutionalBillingPeriod on the program config; override per-claim if needed.

  3. Confirm institutional context. The Institutional tab shows what the platform will emit. Edit any field that is wrong; the platform validates:

    • DRG must be a valid code from the master DRG table.
    • LOA dates must fall within admit / discharge.
    • Covered + non-covered days must equal LOS.
  4. Build / submit as in 2.1 — Build & submit a claim.

Validation​

CheckExpected
Stay closes cleanly on dischargeYes; admit/discharge dates rendered as ISO.
LOA rows produce OCC-74 segmentsYes; visible on the Submission tab's EDI download.
Covered + non-covered days sum to LOSYes; validation blocks save if not.
837I includes HI*DR when DRG is setYes.
Per-diem grouping matches institutionalBillingPeriodYes.

Troubleshooting​

SymptomCauseFix
Claim built as 837P instead of 837IFiling type on the program is PROFESSIONALEdit the program config (5.1) to INSTITUTIONAL.
Save returns "DRG not in master table"Typo or out-of-date masterCorrect the DRG; or have a tenant admin refresh the DRG master.
Per-diem charges missing for some covered daysLOA was recorded for those daysReview LOA windows; if recorded incorrectly, edit and rebuild.
Claim rejected: "occurrence code 74 has no associated date"LOA without a paired dateEdit the LOA; ensure both start and end are filled.

Next​

4.1 — Visits & compliance overview