Triage worklist
The ranked queue of patients awaiting review. It is the screen a clinician looks at most, the screen that decides who gets seen first, and the single place where a detection either becomes an action or quietly does not.
Overview
In AcuteLine the worklist is the product. Everything upstream — signal acquisition, model inference, troponin ingestion — exists to produce one ordered list, and everything downstream depends on a clinician reading the top of it correctly.
That makes ordering a clinical decision expressed as an interface. A worklist sorted by arrival time is a different medical device from one sorted by model confidence, and both are different from one sorted by clinical priority. This pattern specifies the third.
Ordered by consequence
The default sort is what happens if this patient waits — never model confidence, never recency, never whatever is cheapest to compute.
Nothing hidden
No patient is filtered out of view by default. A queue that silently drops a case is indistinguishable, to the clinician, from a queue where the case never arrived.
Scannable in one pass
Priority, identity, finding and waiting time are readable in a single downward sweep. A row that requires horizontal reading has already cost too much.
Anatomy
| Priority indicator | Priority | Patient | Finding | Waiting | Confidence | Actions |
|---|---|---|---|---|---|---|
| Critical | HARLAND, A.
MRN 44812907 · 61 y · M |
STEMI pattern — anterior V2–V4
ST elevation 3.1 mm |
4 min | 0.94 | ||
| Urgent | OKONKWO, B.
MRN 51330264 · 54 y · F |
hs-troponin rising — NSTEMI not excluded
14 → 47 ng/L over 0/1 h |
19 min | 0.71 | ||
| Urgent | DELACROIX, M.
MRN 47120883 · 68 y · F |
ST depression — inferior leads
ack. S. Whitfield 14:38 |
27 min | 0.66 | ||
| Advisory | NAKAMURA, T.
MRN 58904471 · 45 y · M |
Interpretation limited — paced rhythm
ST criteria not validated in pacing |
33 min | — | ||
| Reviewed | VASQUEZ, R.
MRN 62907415 · 39 y · F |
No acute ischaemic pattern
Negative does not exclude ACS |
41 min | 0.88 |
| Column | Rule |
|---|---|
| Priority rail | 4 px of IEC hue at the row's leading edge. Lets the eye find the boundary between priority bands without reading a single word. |
| Priority tag | The word, always. The rail is decoration; the tag is the signal. Never the rail alone. |
| Patient | Family name first, full MRN in mono, age and sex. Never truncated. |
| Finding | The detection in clinical language, plus the measurement that supports it. |
| Waiting | Elapsed since acquisition, not since the model finished. What matters is how long the patient has waited, not how long the software took. |
| Confidence | Two decimals, or — where the model declined to score. Never a word. |
| Action | Opens the evidence. Never an irreversible step directly from the queue. |
Ordering
The default sort is fixed and is a design control:
- Priority band — critical, urgent, advisory, reviewed.
- Within a band, longest waiting first. Not newest. A patient who has waited 27 minutes outranks one who arrived 30 seconds ago at the same priority.
- Acknowledged cases stay in position, dimmed. They do not sink.
Sorting by model confidence puts the cases the algorithm is surest about at the top — which is precisely the population least in need of a human. The hard cases, where the model hedges and a clinician adds the most value, sink out of view. Confidence is shown as a column and may be sorted manually; it is never the default order.
Users may re-sort by any column. Two constraints:
- A non-default sort is persistently and visibly labelled — a clinician who walks up to a colleague's screen must be able to tell the queue is not in priority order.
- The sort resets to default on session change. An inherited sort order from the previous shift is a hazard.
Filtering
The worklist opens showing every case in scope. Filtering is available and often useful, but a filter applied by default — or persisted silently across sessions — makes an omitted patient indistinguishable from a patient who never arrived.
When a filter is active:
- Show the count of hidden rows adjacent to the filter control:
Showing 5 of 23 · 18 hidden by filter. - Hidden rows are never silently dropped from an export, print or handover view.
- A critical case is never hidden by a filter. If a filter would exclude it, it renders anyway with a note that it falls outside the current filter.
Empty and degraded states
An empty worklist is ambiguous in the worst possible way: it means either "nothing needs your attention" or "this software has stopped working." The pattern must always distinguish them.
A queue that proves it is live has shown the feed is working. It has not shown that everything which should be in it is. Where an upstream layer decides some signals never reach the queue at all, the count of what it withheld belongs on this surface too — see Suppression & the unraised alarm.
Empty and healthy. The timestamp and source count prove the pipeline is alive.
Identical whether the queue is genuinely empty or the ECG feed died an hour ago. Reassurance without evidence.
Where ingestion is degraded, the worklist says so at the top, at Advisory or Urgent depending on how much of the feed is affected — never as a footnote:
Density and scale
- Row height is a governed minimum on touch. A worklist row carrying a tap target obeys the 10 mm floor — 12 mm where gloved. On a bedside cart this usually means fewer visible rows, and that is the correct trade.
- Compact alert banners are permitted in rows, and only in rows, because the full alert is one tap away. See Alert Banner.
- Never paginate above Advisory. Critical and urgent cases all appear on the first screen or the queue is too long — which is itself the finding.
- Wall and handover displays show priority, patient and waiting time only. Findings and confidence are removed at that distance. See Scaling.
Do's and don'ts
A non-default sort is stated in words and reversible in one action.
Nothing states the order. A colleague reads the top row as the sickest patient.
Partial coverage announced at the top, at Urgent.
A shorter list, silently. Five patients are unmonitored and the queue looks healthy.
Accessibility
- A real
<table>with<th scope="col">. A grid of divs is unnavigable by screen reader in table mode. - Priority is in the row's text, not only the rail colour. A screen reader announces "Critical, Harland, STEMI pattern…" without any colour information.
- Row order is DOM order. Never reorder visually with CSS — the announced order must match the seen order.
- Live updates are announced politely via a summary region ("2 new critical cases"), never by making every row a live region.
- Arriving rows never move focus and never shift the row under the pointer. A queue that reorders under a clinician's finger causes wrong-patient selection.
- Sortable headers are buttons with
aria-sort.
New cases arrive constantly. If a critical case inserts itself at the top while a clinician is reaching for row two, they open the wrong patient. New rows are staged and announced — "2 new cases · show" — and inserted only when the clinician asks, or after a documented idle interval with no pointer or keyboard activity.
Outcomes of use
What this contributes to, in the terms of Usability & context of use. These are attributes believed to contribute to an outcome; the outcome itself is settled by observing real use in a specified context, not by this page.
- Effectiveness — The highest-acuity waiting patient is reviewed first, and no patient in scope is omitted by a filter, a failed source or a pagination boundary.
- Efficiency — Time to first review, and alarms handled per clinician-hour across a shift.
- Satisfaction — Trust that the top of the list is genuinely the top. Once a clinician starts re-sorting to check, the queue has stopped doing its job.
Clinical safety notes
Trace these in your risk file (ISO 14971) and usability engineering file (IEC 62366-1).
- Default sort is clinical priority, then longest wait. Mitigates: a deteriorating patient waiting behind a lower-acuity case.
- Confidence is never the default sort. Mitigates: hard cases — where human review adds most — sinking below easy ones.
- No default or persisted filters; criticals bypass filters. Mitigates: an omitted patient being indistinguishable from an absent one.
- Empty state proves liveness. Mitigates: a dead ingestion pipeline reading as a quiet ward.
- Degraded sources announced at the top. Mitigates: silent partial coverage — the most dangerous failure mode a triage queue has.
- New rows staged, never inserted under the pointer. Mitigates: wrong-patient selection.
- MRN never truncated. Mitigates: wrong-patient identification.
- Row actions open evidence only. Mitigates: acting on an unreviewed algorithmic output straight from a list.
Related
- Confidence disclosure — what the confidence column means.
- Alert Banner — the compact variant used in rows.
- Scaling & displays — row height and wall-display reduction.
- Data grid — the underlying component.
- Patient header — where a row leads.