Practice · Coding & Documentation

Inpatient billing, made mentally simple

Since 2023, hospital E/M is refreshingly logical: observation and inpatient share one code set, and you pick the level by Medical Decision-Making or total time — not history and exam. Here's the whole thing broken into pieces you can hold in your head, with a calculator to pick the code.

MDM or time Status ≠ code 2-midnight rule
Read me first

This is an educational summary of general CPT® / CMS rules (2023 E/M revisions, in effect through 2024–2025). Billing rules change yearly and vary by payer, contract, and locality. This is not coding, legal, or compliance advice — always confirm with your institution's coders/compliance team and current CMS & AMA CPT guidance. wRVU figures are approximate national values and update annually.

How inpatient billing works now

The 2023 overhaul killed the old bean-counting. Three ideas carry almost everything — get these and the codes fall out.

IDEA 01

Level by MDM or time

Pick the visit level from Medical Decision-Making (complexity) or from total time on the calendar day — your choice, whichever is higher. History & exam must be "medically appropriate" but no longer set the level.

IDEA 02

One code set for obs + inpatient

Observation codes (the old 99217–99226) were deleted. Observation and inpatient now use the same 9922x / 9923x families. The old "is this obs or inpatient?" no longer changes your CPT code.

IDEA 03

Status ≠ code

Admission status (observation vs inpatient) still matters enormously — it drives Part A vs Part B, patient cost, the SNF 3-day rule, and the 2-midnight rule — but it's a coverage/compliance question, separate from which E/M code you pick.

The one-line mental model

Ask three questions in order: (1) What status? (obs vs inpatient → coverage). (2) Which encounter? (initial / subsequent / same-day / discharge / critical care → code family). (3) What level? (MDM or time → the last digit).


Observation vs inpatient

This is a coverage status, not a place and not a code. It's set by the admitting order and the 2-midnight rule, and it changes who pays and how much.

The 2-midnight rule — the deciding question

Ask at the time of the decision to admit
Do you expect this patient to need medically necessary hospital care that crosses at least 2 midnights?
▾
YES — ≥ 2 midnights

Inpatient admission (Part A). Document the expectation and the reasoning in the admit note.

NO / UNCERTAIN — < 2 midnights

Observation (outpatient, Part B) — short-term monitoring/treatment to decide whether an inpatient admission is needed. Convert to inpatient if the picture changes.

EXCEPTIONS  Medicare "inpatient-only" procedures → inpatient regardless of expected stay. Case-by-case exceptions (e.g., unforeseen rapid improvement, death, transfer, AMA) are allowed if the expectation was reasonable and documented. A physician may also admit as inpatient for <2 midnights when documentation supports the medical necessity.

🕑 Observation

outpatient status · Medicare Part B
  • Expectation: < 2 midnights of needed hospital care
  • Pays under: Part B (outpatient benefit)
  • Patient cost: Part B copays/coinsurance per service; self-administered drugs are not covered (patients may be billed for their home meds given in obs)
  • SNF 3-day rule: obs days do NOT count toward the 3 inpatient midnights Medicare requires to cover a later SNF stay
  • Notice: MOON (Medicare Outpatient Observation Notice) must be given if obs > 24 h
  • E/M codes: same 9922x / 9923x as inpatient (since 2023)

🛏️ Inpatient

admitted status · Medicare Part A
  • Expectation: ≥ 2 midnights of medically necessary hospital care
  • Pays under: Part A (hospital benefit, DRG-based)
  • Patient cost: Part A deductible per benefit period
  • SNF 3-day rule: inpatient midnights count toward the qualifying 3
  • Notice: IMM (Important Message from Medicare) rules apply
  • E/M codes: same 9922x / 9923x as observation
Why patients care

An "observation" stay can leave a Medicare patient with surprise out-of-pocket costs and — crucially — no coverage for a subsequent skilled nursing facility stay, because obs midnights don't satisfy the 3-day inpatient requirement. Getting status right is a patient-finance issue, not just a hospital-revenue one.


The code map — which family?

Before the level, pick the encounter type. One of these five almost always applies (obs and inpatient use the same codes).

First time you see them this stay

Initial hospital care

992219922299223

Your admission / first encounter. One initial code per admission per specialty group.

Every day after

Subsequent hospital care

992319923299233

Daily progress visits. The bread-and-butter of the hospitalist day.

Admit & discharge, same calendar day

Same-day admit + discharge

992349923599236

Used when the patient is admitted and discharged on the same date (obs or inpatient).

Discharge day (different date)

Discharge day management

9923899239

99238 ≤ 30 min · 99239 > 30 min. Time-based; includes exam, discharge orders, prescriptions, instructions.

Critically ill, high complexity

Critical care

9929199292

99291 first 30–74 min · 99292 each add'l 30. Time-based; bundles many services. Not billed with a same-time E/M.

Asked to consult (payer-dependent)

Inpatient consultation

99252992539925499255

Medicare does not pay consult codes — use the initial hospital codes instead. Some commercial payers still accept them.


Pick the level by MDM

Medical Decision-Making has three elements. Your level is the one met by at least 2 of the 3. Read across, find the row where two boxes are satisfied.

MDM level① Problems addressed② Data reviewed / analyzed③ Risk (Dx, Tx, management)Initial → Subsequent
Straightforward1 self-limited or minor problemMinimal or noneMinimal risk99221 → 99231
Low2+ self-limited; or 1 stable chronic; or 1 acute uncomplicated illness/injuryLimited — one category (e.g. order/review tests, or review 1 external note)Low risk99221 → 99231
Moderate1 chronic w/ exacerbation; or 2+ stable chronic; or 1 undiagnosed new problem, uncertain prognosis; or 1 acute illness w/ systemic symptoms; or 1 acute complicated injuryModerate — e.g. 3 items in a category, or independent interpretation of a test, or discussion of management with an external physicianPrescription drug management; decision re: minor surgery w/ risk factors; Dx/Tx limited by social determinants99222 → 99232
High1 chronic w/ severe exacerbation; or 1 acute/chronic illness or injury that threatens life or bodily functionExtensive — 2+ of the moderate data optionsDrug therapy needing intensive monitoring for toxicity; decision re: hospitalization / escalation; decision re: DNR / de-escalation; emergency major surgery99223 → 99233
The hospitalist shortcut

Most inpatients you actively manage land at Moderate (99222 / 99232) because prescription drug management alone satisfies the Risk column. You reach High (99223 / 99233) when the illness threatens life/organ function, you're titrating a drug that needs intensive toxicity monitoring, or you make an escalation / DNR / de-escalation decision — so document those.

Build the level — click what you actually did

Select the elements you addressed in each column. Each category takes its highest selected element; the overall level is the one met by 2 of the 3 — and the code updates with a plain-English reason.

Encounter:
① Problems addressed—
② Data reviewed—

Data is category-based (not "highest item"): Low = 2 tests/documents or a historian · Moderate = 3 tests/documents, an independent interpretation, or an external discussion · High = any 2 of those. A historian alone is only Low.

③ Risk—
Low Moderate High · each category = its highest selected chip
99231
Straightforward / Low
PDR
Nothing selected yet — click the elements you addressed and the level, code, and reason appear here.

Pick the level by time

Alternatively, total time on the calendar date — face-to-face and non-face-to-face (chart review, orders, documentation, care coordination, counseling). Not: separately billable procedures, or teaching time.

Total-time thresholds (minutes, ≥)

Meet or exceed the minutes to bill the code by time alone.
4099221 5599222 7599223 2599231 3599232 5099233 4599234 7099235 8599236 INITIAL SUBSEQUENT SAME-DAY ADMIT+D/C
Prolonged services

When your total time exceeds the top code's maximum, add prolonged care in 15-minute units: CPT 99418 (each additional 15 min, inpatient/obs). Medicare uses G0316 instead. Only counts once you've passed the time of 99223 / 99233 / 99236.


Code calculator

Pick the encounter, then the driver (MDM level or time). It returns the code, the time threshold, an approximate wRVU, and the documentation that defends it.

① Encounter type
② Level — Medical Decision-Making
99221
Initial hospital care · straightforward/low MDM
time ≥ 40 min≈ 1.92 wRVU
Document a medically appropriate history & exam, the problems addressed, and your plan.

Why it matters — wRVUs

Work RVUs drive productivity and compensation. Note the jump from a 99231 to a 99233 — a well-documented level change more than doubles the work value of the same visit.

Approximate work RVUs by code

National CY2024 values, rounded — for relative sense only; verify current figures.
1.9299221 2.6099222 3.8699223 0.7699231 1.3999232 2.0099233 1.2899238 1.9099239 4.5099291 INITIAL SUBSEQUENT DISCHARGE CRIT

Documentation that defends the level

The note is the bill. To support Moderate/High, the chart must show the problems, the data, and the risk in plain language.

Phrases that earn Moderate (99222 / 99232)

  • Prescription drug management — "continuing / adjusting [drug]" (satisfies Risk on its own)
  • An acute illness with systemic symptoms, or 2+ stable chronic conditions being managed
  • Data: "reviewed CBC, BMP, CXR" (3 items), or "personally interpreted the ECG," or "discussed with cardiology"

Phrases that earn High (99223 / 99233)

  • Illness that threatens life or bodily function (sepsis, respiratory failure, GI bleed with instability)
  • Drug therapy requiring intensive monitoring for toxicity (e.g. heparin drip, IV antiarrhythmic)
  • Decision about hospitalization / escalation, or DNR / de-escalation of care
  • Data: two of — extensive test review, independent interpretation, external discussion
If you bill by time instead

Write one line: "Total time on [date]: XX minutes, including chart review, exam, orders, documentation, and care coordination." That single statement supports a time-based level — no MDM parsing needed.


Pitfalls & the fine print

The patterns that trigger audits and denials.

Cloned / copy-forward notes

Identical daily notes are the #1 audit flag and can't support a rising level. Each day's note must reflect that day's problems, data, and decisions.

Upcoding 99233 without the story

A 99233 needs High MDM (or ≥50 min documented). Billing it routinely without the life/organ-threat, intensive-monitoring, or escalation language is a classic overpayment finding.

Time not documented

If you bill by time, the total minutes must be in the note. "Spent significant time" is not enough.

Status ≠ level mismatch

An "observation" order paired with clearly inpatient-level intensity (or vice versa) invites review. Keep the admit status, the 2-midnight expectation, and the daily intensity consistent.

One initial code, one attending of record

Only one initial hospital code per admission per specialty group; other same-group clinicians bill subsequent care. Split/shared visits (physician + APP) and teaching-physician rules have their own documentation requirements — check your local policy.

Inpatient Billing & E/M · Med Topo · Educational summary, not coding/legal/compliance advice · v1.0
Sources: AMA CPT® 2023 E/M revisions; CMS 2-Midnight Rule & Medicare Claims Processing Manual; MPFS work RVUs (CY2024, approximate). Verify current-year values and payer policy.