You are reading one hospital admission record and ASSEMBLING the evidence a utilization reviewer
needs in order to decide whether the stay should be inpatient or observation. Your output is the
package that reviewer opens -- four evidence elements, each with the line in the record that carries
it, and what the two-midnight benchmark supports on the documented expectation.
YOU DO NOT MAKE THE DETERMINATION AND NOTHING HERE CHANGES ANYBODY'S STATUS. The determination
belongs to a human utilization reviewer or a physician advisor. Nothing you produce writes a patient
status to any system of record, tells billing anything, or tells the care team anything.
AND YOU NEVER INFER MEDICAL NECESSITY FOR INPATIENT STATUS FROM CLINICAL SEVERITY. How unwell the
record makes the patient sound is not evidence about admission status. Neither is the number of
comorbidities, and neither is how intensive the services delivered were. Those three are ASSEMBLED,
because a reviewer wants them in front of them; they are never REASONED FROM. What decides is the
admitting practitioner order and the expectation of length of stay THE RECORD DOCUMENTS.
How to read the record:
- ENCOUNTER FACTS, ORDERS AND AUTHENTICATION, ADMITTING PRACTITIONER DOCUMENTATION, SERVICES
DELIVERED and UTILIZATION REVIEW NOTES are all part of the record and all of them count.
- Distinguish WHOSE STATEMENT IT IS. The admitting practitioner's own documented expectation of
length of stay is the only expectation the benchmark runs on. A discharge planner's provisional
date, a conditional sentence about treatment that has not happened, and an expectation recorded at
a previous encounter are all in the record and none of them is that.
- Distinguish AN ORDER FROM SOMETHING ORDER-SHAPED. A verbal order nobody has authenticated, an
order for OBSERVATION services, an intent to admit written inside a progress note, and an order
with no status word on it are all order-shaped and none of them establishes an inpatient
admission.
- A phrase does not evidence an element just by appearing. Orders exist on records that carry no
ADMISSION order; a date appears on lines that state nobody's expectation.
- Answer all four elements, once each, in the order given, using the vocabulary listed for THAT
element and no other.
- DO NOT DO THE MIDNIGHT ARITHMETIC. Report the expected discharge DATE, or the number of further
NIGHTS, exactly as the record states it, and do not convert one into the other. The counting is
done in code.
- Apply the rulebook as written, INCLUDING THE ORDER ITS RULES ARE APPLIED IN, to give one support
verdict for the record.
- Give one confidence between 0 and 1 for the record's answers taken together.
Reply with JSON and nothing else, in the shape given at the end.
THE ASSEMBLY RULEBOOK, as approved:
# TM-2026 — the assembly rulebook, as approved
*Read as at 2026-09-01. **TM-2026 is this kit's own rulebook.** Its two requirements are anchored:
**42 CFR 412.3(a)** makes inpatient status begin with a formal admission under an order by a
practitioner with admitting privileges, and **42 CFR 412.3(d)(1)** is the two-midnight benchmark —
an inpatient admission is generally appropriate where the admitting practitioner expects the
beneficiary to require hospital care crossing at least two midnights. **The rule ids below, their
order, their wording and the four verdict names are this kit's, not the regulation's.** Nothing here
is legal, coding or billing advice, and none of the regulation's text is reproduced.*
## What this rulebook decides, and what it does not
It decides **what the assembled evidence supports**, on one admission record, for the question a
utilization reviewer is about to answer: inpatient or observation.
**It does not make that determination.** It assembles four elements — the admitting order, the
documented expectation of length of stay, the comorbidities and the services delivered — says for
each whether the record evidences it, and states what the two-midnight benchmark would support on
the documented expectation. **The determination is a human utilization reviewer's or a physician
advisor's.** Nothing here writes a patient status to any system of record, tells billing anything,
or tells the care team anything.
**And it decides nothing from clinical severity.** No rule below takes severity as a condition, and
`src/policy.py` cannot read one: the engine's only inputs are the order finding and the number of
midnights. A record can describe somebody very unwell and carry a documented expectation that does
not cross two midnights, and the assembled package says exactly that.
**Four verdicts, and only four.**
| verdict | what it means |
|---|---|
| `ORDER-GAP` | the admitting order is missing or does not establish an inpatient admission. **A hard gap, independent of clinical necessity.** |
| `EXPECTATION-GAP` | no expectation of length of stay is documented, so there is nothing for the benchmark to be computed against |
| `BENCHMARK-NOT-MET` | the documented expectation crosses fewer than two midnights |
| `INPATIENT-SUPPORTED` | an order is documented and the documented expectation crosses two midnights or more |
`ORDER-GAP` is listed first deliberately. It is the requirement that does not bend, and a package
that softens it — records it as something to chase while the rest of the evidence carries the
package forward — has failed at its first line.
## The five rules, in the order they are applied
**The first rule whose condition is met is the one recorded.** The order is the rulebook: the same
facts under a different order produce different answers, which is why the order is written down
rather than left to whoever applies it.
**TM-1 — No practitioner order, no inpatient status. → ORDER-GAP**
Where the record documents no admission order at all, the package is assembled with the order named
as a **hard gap** and goes no further down this table. The requirement at 42 CFR 412.3(a) is
independent of clinical necessity: it is not softened by a long expected stay, by comorbidity
burden, by the services delivered, or by how unwell the person is. A package that records this as a
soft gap — something to chase, something the rest of the evidence can carry — has failed, because
the rest of the evidence cannot carry it.
**TM-2 — An order that does not establish inpatient admission is not an order. → ORDER-GAP**
Where what is documented is order-shaped and does not establish a formal inpatient admission — a
verbal order nobody has authenticated, an order for **observation** services, an intent to admit
written inside a progress note, an order with no status word on it — the package is assembled with
the order named as a hard gap, exactly as under TM-1. **This is the commonest way the first line of
a package is wrong**, and it is the line least likely to be re-read, because it looks
administrative.
**TM-3 — An undocumented expectation cannot meet a benchmark. → EXPECTATION-GAP**
Where the record documents no expectation of length of stay — none at all, or a reference to one
that states no date and no number of nights — there is nothing for the two-midnight benchmark to be
computed against, and the package says so. It does **not** report the benchmark as unmet: unmet is a
finding about a documented expectation, and reporting an absence as a finding is how a gap in the
charting becomes a conclusion about the stay.
**TM-4 — Under two midnights, the expectation does not support inpatient status. → BENCHMARK-NOT-MET**
Where the documented expectation crosses fewer than two midnights from admission, the benchmark at
42 CFR 412.3(d)(1) is not met on that expectation, and the package says exactly that — whatever the
record says about how unwell the person is, how many comorbidities are listed, or how intensive the
services delivered were. **None of those is an input to this rule.** Clinical severity is not
evidence of inpatient status; the documented expectation is what the benchmark is run on, and
inferring the one from the other is the single thing this kit exists to refuse.
**TM-5 — Two midnights or more, with an order, supports inpatient status. → INPATIENT-SUPPORTED**
Where a formal order is documented and the documented expectation crosses two midnights or more from
admission, the assembled evidence supports inpatient status under the benchmark. **Supports, not
determines.**
## The two-midnight benchmark
**Midnights are counted, not hours, and the two are not the same measure.** A midnight is crossed
each time the calendar date advances between the admission and the expected discharge, so the count
is the difference in calendar days.
- Admitted **23:50**, expected discharge the day after next → **two midnights**, on about 24 hours
of stay.
- Admitted **01:00**, expected discharge late the following day → **one midnight**, on about 46
hours of stay.
An assembler that counts elapsed hours gets both of those backwards. The arithmetic is done in pure
code, in `src/benchmark.py`, from two inputs:
- **the admission date-time**, a structured encounter fact read from `data/records.json` and never
inferred from prose;
- **one of** the expected discharge date, or the number of further nights, whichever the record
documents.
**The expectation is never inferred.** Not from the services delivered, not from the comorbidity
list, not from how unwell the record makes the person sound, not from a length of stay somebody
other than the admitting practitioner mentioned, and not from a conditional sentence about a stay
that has not happened.
## The three classes each element is answered in
| class | what it means |
|---|---|
| `AMBIGUOUS` | the record gestures at this element without establishing it |
| `PRESENT` | the record evidences it |
| `ABSENT` | the record carries nothing for it |
`AMBIGUOUS` is listed first for the same reason `ORDER-GAP` is. A two-value check has to round every
half-record to one side: it rounds an unauthenticated verbal order up to an order, or "we anticipate
a short stay" up to a documented expectation. Both of those are how a package gets assembled as
though a requirement were met.
**The admitting-order row answers in its own words** — `order-present`, `order-ambiguous`,
`order-missing` — because that is what a utilization reviewer calls them, and each is counted as its
own class on the report.
## What this rulebook does not cover
Stated here rather than left to be discovered:
- **The case-by-case exception** at 42 CFR 412.3(d)(3), where a stay expected to cross fewer than
two midnights may still be appropriate for inpatient admission on the admitting practitioner's
documented judgement. TM-2026 has no rule for it: a record it applies to is answered
`BENCHMARK-NOT-MET` here, which is a statement about the benchmark and not about the admission.
- **The inpatient-only list** at 42 CFR 412.3(d)(2).
- **Every payer rule that is not Medicare.**
THE FOUR SUPPORT VERDICTS, and what answering each one commits you to:
ORDER-GAP
The admitting practitioner order is missing, or what is documented does not establish a formal inpatient admission (TM-1, TM-2). THE PACKAGE NAMES IT AS A HARD GAP AND STOPS THERE. This requirement is independent of clinical necessity: it is not softened by a long expected stay, by comorbidity burden, by the services delivered, or by how unwell the person is.
Answered wrongly in the direction of an order that is not there, a package goes to a reviewer with its first line saying a hard regulatory requirement is met, and that is the line least likely to be re-read because it looks administrative. Answered wrongly the other way, somebody is sent chasing a signature that is already on file.
EXPECTATION-GAP
No expectation of length of stay is documented as the admitting practitioner's own, so there is nothing for the two-midnight benchmark to be computed against (TM-3). This is NOT the same as the benchmark being unmet.
Reported as an unmet benchmark, a gap in the charting becomes a conclusion about the stay, and the thing that would fix it -- a sentence somebody needs to write -- never gets asked for.
BENCHMARK-NOT-MET
An order is documented and the documented expectation crosses FEWER THAN TWO MIDNIGHTS from admission (TM-4). It is a statement about the benchmark on the documented expectation, and about nothing else.
Answered wrongly in the direction of support, a package is assembled as though the record justified inpatient status when its own documented expectation does not. On this corpus that is what happens when an arm reads how unwell somebody sounds, or reads a discharge date that belongs to somebody else, and reasons from it.
INPATIENT-SUPPORTED
An order is documented and the documented expectation crosses two midnights or more (TM-5). The assembled evidence SUPPORTS inpatient status under the benchmark. It does not determine it -- that is the utilization reviewer's or the physician advisor's, and nothing here writes a status anywhere.
Answered wrongly, a package understates its own evidence, which costs a re-read and, later, a status somebody has to defend without the evidence in front of them.
THE FOUR EVIDENCE ELEMENTS, in the order you must answer them, the words each one is
answered in, and what the strongest answer commits somebody to:
admitting_order The admitting practitioner order
THE PACKAGE GOES FORWARD SAYING THE HARD REQUIREMENT IS MET. 42 CFR 412.3(a) makes inpatient status begin with a formal admission under an order by a practitioner with admitting privileges. Answering PRESENT on an order that is not one -- a verbal order nobody authenticated, an order for observation services, the word 'admit' inside a progress note -- hands a reviewer a package whose first line is wrong, and it is the line least likely to be re-read because it looks administrative.
order-ambiguous something order-shaped is documented and it does not establish an inpatient admission -- a verbal order nobody has authenticated, an order for OBSERVATION services, an intent to admit written inside a progress note, or an order whose status word is missing
order-present a formal order to admit as an inpatient is documented, by a named practitioner or role with admitting privileges, and it is authenticated or countersigned
order-missing nothing in the record documents an admission order at all
stay_expectation The documented expectation of length of stay
THE TWO-MIDNIGHT BENCHMARK GETS COMPUTED AGAINST IT. This is the only element the benchmark can be run on: 42 CFR 412.3(d)(1) turns on what the admitting practitioner EXPECTED at the time of admission, documented in the record. A sentence that gestures at a stay without stating a length is not an expectation the benchmark can be run against, and scoring one anyway is arithmetic performed on nothing.
ambiguous the record refers to how long the stay is expected to be without stating a date or a number -- 'a short stay', 'a few days', 'an extended admission' -- or the only length in the record belongs to somebody other than the admitting practitioner, or is conditional on something that has not happened
documented the record states, as the practitioner's own expectation at admission, either an expected discharge DATE or a number of further NIGHTS or MIDNIGHTS in hospital
absent the record documents no expectation of length of stay at all
comorbidities Documented comorbidities bearing on the stay
THE PACKAGE CARRIES THE COMORBIDITY EVIDENCE THE REVIEWER ASKED FOR. It is context for a human reading, and it is the element most easily mistaken for the answer: comorbidity burden is not the benchmark and does not substitute for the practitioner's documented expectation. Assembling it is the job; reasoning from it is not.
ambiguous the record refers to comorbidity burden without naming any condition -- 'multiple chronic conditions', 'significant past medical history'
documented the record names comorbid conditions bearing on this stay
absent the record documents no comorbidities
services_delivered Services delivered during the stay
THE PACKAGE CARRIES WHAT WAS ACTUALLY DONE, which is what a reviewer compares against what was expected. Like comorbidities it is EVIDENCE and not a verdict: services at an inpatient intensity do not establish that an order exists or that the documented expectation crossed two midnights.
ambiguous the record refers to care having been delivered without naming any service -- 'treatment continues', 'ongoing management'
documented the record names services actually delivered during this stay
absent the record documents no services delivered
THE TWO-MIDNIGHT BENCHMARK, and why you are not asked to compute it:
MIDNIGHTS ARE COUNTED, NOT HOURS, AND THE TWO ARE NOT THE SAME MEASURE. A midnight is crossed each time the calendar date advances between the admission and the expected discharge, so the count is the difference in calendar days: an admission at 23:50 whose expected discharge is the day after next crosses two midnights on about 24 hours of stay, and an admission at 01:00 whose expected discharge is late the following day crosses one midnight on about 46 hours. An assembler that counts elapsed hours gets both of those backwards. The record's admission date-time is held as structured data and the counting is done in
code, from that and from whichever of the two values the record states. The expectation is never inferred -- not from the services delivered, not from the comorbidity list, not from how unwell the record makes the person sound, not from a length of stay somebody other than the admitting practitioner mentioned, and not from a conditional sentence about a stay that has not happened.
So: report the expected discharge DATE the record names, as YYYY-MM-DD, OR the number of
further NIGHTS or MIDNIGHTS it names, as an integer -- whichever the record uses, and null for
the other. Never both, never converted, never computed.
HOW TO QUOTE THE RECORD, and how it will be read.
For every element you answer with anything other than its ABSENT word (`order-missing`, or
`absent`), `citation` must be ONE SENTENCE OR ONE DATED LINE COPIED VERBATIM out of the record --
the text that carries the element. It may come from any section.
- Copy it character for character. It is located in the record by searching for it, so a
paraphrase, a shortened version, an ellipsis in the middle, or two lines joined together will
not be found at all and will score nothing. There is no partial credit for a quote the record
does not contain.
- Quote the line, not the section. What is returned is compared with that line by character
overlap: it must cover at least 60 pct of the line, and at least 30 pct of what you
return must be the line. Returning the whole record scores nothing.
- The rulebook is NOT part of the record. A rule is never the citation.
- Where you answer `order-missing` or `absent`, `citation` is null. Quoting something in support
of an element the record does not carry is counted as a wrong answer, not as an empty one --
and on the admitting-order row it is the most expensive wrong answer in this kit.
THE ADMISSION RECORD, verbatim:
ADMISSION RECORD ADM-0001 -- Admission after an out-of-hours assessment
ENCOUNTER FACTS
Encounter ADM-0001
Admitted 2026-06-10 12:45
Facility Ordley Hospital
Service line general medicine
Admitting role admitting practitioner
Record assembled as at 2026-09-01
ORDERS AND AUTHENTICATION
2026-06-10 13:11 Order: admit to inpatient, service general medicine -- entered and authenticated by the admitting practitioner.
ADMITTING PRACTITIONER DOCUMENTATION
The record was assembled for utilization review in the routine overnight batch. Active problems recorded at admission: atrial fibrillation and peripheral vascular disease. The admitting practitioner records that the patient was well enough to walk to the ward unaided. A property list was completed on arrival and filed with the ward record.
Documented expectation at admission: discharge anticipated on 2026-06-13 once the treatment course is complete. The encounter was created when the patient arrived and has been added to twice since. The assessment records a comfortable patient in no acute distress.
SERVICES DELIVERED
2026-06-11 Delivered during the stay so far: a physiotherapy assessment, continuous cardiac monitoring and supplemental oxygen by mask.
UTILIZATION REVIEW NOTES
2026-06-12 No payer query has been raised against this encounter.
2026-06-12 The encounter appears once on the daily census extract.
Reply with JSON and nothing else, exactly this shape:
{
"elements": [
{
"element": "admitting_order" | "stay_expectation" | "comorbidities" | "services_delivered",
"finding": the word for THIS element, from the list above,
"citation": "<text>" or null,
"expected_discharge": "YYYY-MM-DD" or null,
"expected_nights": <an integer> or null
},
... one object per element, all four, in this order: admitting_order, stay_expectation, comorbidities, services_delivered
],
"support": "ORDER-GAP" | "EXPECTATION-GAP" | "BENCHMARK-NOT-MET" | "INPATIENT-SUPPORTED",
"confidence": <a number between 0 and 1>,
"why": "<text>"
}
What each field means:
element which evidence element this row is about. Answer all four, once each, in the order given
finding what this record carries for this element. Use the vocabulary listed for THIS element and no other
citation ONE SENTENCE OR ONE ORDER LINE COPIED VERBATIM from the record -- the text that carries this element. Copy it exactly, character for character; do not paraphrase, do not shorten with an ellipsis, do not join two lines. NULL where the finding is order-missing or absent: quoting something in support of an element the record does not carry is counted as a wrong answer, not as an empty one
expected_discharge STAY_EXPECTATION ROW ONLY, and null on the other three. The expected discharge DATE the record documents, as YYYY-MM-DD. NULL where the record documents the expectation as a number of nights instead, and NULL where no expectation is documented. Never computed, never inferred -- only a date the record itself states
expected_nights STAY_EXPECTATION ROW ONLY, and null on the other three. The number of FURTHER NIGHTS or MIDNIGHTS in hospital the record documents, as an integer. NULL where the record documents an expected discharge date instead, and NULL where no expectation is documented. Do not convert a date into a night count and do not convert a night count into a date -- the arithmetic is done in code, from whichever one the record states
support what the assembled evidence supports for this record, under TM-2026's five rules applied in their published order. This is your answer to the whole question. It is scored as you give it and then re-derived in code from your own four findings and your own extracted date or night count, so the two can be compared
confidence your own number between 0 and 1 for this record's answers taken together. It is published as evidence and never used to change an answer
why one sentence naming the text that decided the order finding and the stay expectation
Four element objects for one record. No more, no fewer.