Skip to main content
DoneThat

AI Adoption GuideHealthcareIntake

Acuity risk stratification at intake

ML classifies patient complexity and urgency from intake responses and historical data to prioritize clinical resource allocation before the visit.

Healthcare processAccessIntakeAssessDiagnoseTreatDischargeBillFollowup

By Don, DoneThat’s AI coach · updated

Cite the intake field and the protocol row

The quality outcome is a stratum that names two sources: the intake field that fired, and the protocol row that maps that field (or field combination) to a resource band. If either cite is missing, the cell stays empty. Empty is the correct state. Do not invent a risk percent, a color, or a borrowed rank to fill it.

A nurse still rooms the patient. The stratum can change slot length, room type, or which clinician is flagged before the visit. It does not replace rooming, and it does not replace the clinic's emergency process.

Intake answers and visit history usually already sit in the same class of systems clinics already run: Epic, Oracle Health, Microsoft, and athenahealth. Use those systems as the packet source. Do not treat a vendor default score as your protocol. The protocol is the table your clinic maintains.

When history arrives through automated anamnesis collection, it counts only after it lands in a named field the protocol can point at. A narrative block with no field ID cannot be the cite, even when the wording looks decisive.

Load the packet and the protocol before you score

Open two artifacts on the same view the intake nurse will use. Score only after both are loaded. Running the model first and hunting for a matching row afterward is how uncited ranks get onto the board.

The intake packet is this visit's structured answers plus the historical facts the protocol is allowed to read: listed problems the protocol names, recent encounters, medications, and any pre-visit complaint that already has a field ID. Confirm the packet is for this encounter, not a leftover from a walk-in last week. If a required field is blank, stop and collect it or leave the matching protocol row unused. Do not infer the blank from a similar patient.

The protocol table is the clinic's mapping. Each row states a condition, a stratum label, and the resource implication: longer slot, two-chair room, interpreter hold, same-day clinician review. If no row matches the combination in the packet, there is no stratum to write.

Do not invent a protocol row because the model sounds sure. Certainty is not a cite. If a combination keeps appearing and the table has no row for it, send it through the clinic's protocol process. Until that row exists, the cell stays blank.

Keep the two artifacts versioned. A protocol edit that is not on the screen the nurse sees will produce a stratum the floor cannot defend. Load the current table, not last quarter's printout.

Write the stratum from those two cites only

Match packet fields to protocol rows. What the nurse sees must travel as one object: the stratum label, the field (form path or question ID plus the patient's answer), and the protocol row ID. A rank with no field is a failure mode, even when the label looks familiar. Delete it. Do not keep the color.

Illustrative example, not a measured result: a new adult answers yes to chest tightness with walking in the last two weeks. The chart also shows a prior cardiac stress-test order. The protocol contains a row: chest tightness with exertion plus any prior cardiac workup maps to complex medical, hold a longer slot, and flag the covering clinician. The written stratum is that label, citing the tightness field and that row. The stress-test order is in the packet only because the row names prior cardiac workup. If the same row had required a documented ejection fraction and none is in the packet, you do not estimate one. That row stays unused. If no other row matches, the stratum stays empty.

Do not emit a risk percent. The protocol speaks in strata and resources. A number with no field and no row is not more precise. It is a second failure mode wearing a decimal.

If the door also runs early warning score automation on vitals, keep that score on its own line with its own table. Combining the two into one number hides which cite is missing. Vitals taken after rooming can change the early warning line. They do not rewrite the intake stratum unless the protocol says those vitals are an intake field, which they usually are not.

When two protocol rows both match, write both cites or follow the table's own tie rule if it has one. Do not average them into an unofficial middle band. An unofficial middle band is an invented protocol.

Leave the cell blank when a cite is missing

Three failure modes look like finished work. Treat each as a reason to clear the rank, not as a reason to hurry the next patient.

A rank with no field. The model wrote high complexity from a similar chart or from narrative text, but no intake question is named. Clear the rank. Ask the missing question or wait for the field to populate. A color on the board without a field path will be read as triage. It is not.

Treating the score as triage. Complex medical is a resource hint for this clinic's schedule. It is not an emergency severity index, not a chest-pain pathway, and not permission to leave the patient in the lobby. Unstable appearance still follows the clinic's emergency process. The intake rank does not decide who waits, who gets a stretcher, or who is sent out by ambulance. Those decisions use the process the floor already trained.

Inventing a protocol. A nurse or a model maps several chronic conditions to a high band because it feels right, though the table has no such row. That mapping will not audit, and the next staffing meeting will not know why the slot was held. If the combination is common, add a real row through the clinic's protocol process. Until the row exists, leave the cell blank.

Do not paste readmission risk scoring into the intake stratum to fill a blank. That score uses a different window and a different table. A high readmission band is not an intake acuity band. Mixing them produces a rank that cites neither the intake field nor the intake protocol row.

If the packet is incomplete because the patient skipped a page, the honest output is empty plus a note that the form is unfinished. Complete the form, then score. Do not score the skip as low complexity.

Room the patient whether the stratum is filled or empty

Rooming is still the nurse's job. Vitals, a look at the person, and a chance to catch what the form missed all happen in the room. An empty stratum means use the default slot and room as usual. It does not mean stall at the desk while someone hunts for a percent.

When the stratum is filled and both cites are present, use it for allocation that must happen before the visit starts: slot length, room type, interpreter, and pre-notification. After the patient is in the room, the visit team can change the plan. The intake rank does not lock the encounter. If rooming shows the form was wrong, document the correction in the field the protocol cites, then let the stratum update or clear. Do not leave a stale high band on the board after the field has changed.

If the cited stratum points toward a specialty path, pass it to smart referral matching as a request that still carries the field and the protocol row. Do not auto-refer from an uncited score. Referral without cites is the same failure as a rank with no field, moved one step downstream.

The next patient in line is still a person at the desk. Complete rooming first. Then let the cited stratum, or the honest blank, inform which room and which slot the clinic actually holds.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other. This one is rated high effort to implement, so the baseline matters more than usual.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first