ECG review
The evidence screen. Every alert in AcuteLine points here, because a clinician should see the waveform before they see the software's opinion of it — and should be able to disagree without fighting the interface.
Overview
Everywhere else in this system, the rule is "the primary action opens the evidence." This is the evidence. It is the screen where a detection either survives human scrutiny or doesn't, and the whole design question is how to present an algorithmic finding without making it the thing the clinician sees first.
The answer this pattern takes: the trace is primary and unannotated by default. Model annotation is a layer the clinician turns on, not a mark-up they have to see past.
Waveform first
The trace renders at diagnostic fidelity before any interpretation appears. Nothing overlays the signal until the clinician asks for it.
Measurable
Calibration is always on screen and every stated measurement can be checked against the grid. A number a clinician cannot verify is a number they must simply trust.
Reversible
Every view control — gain, speed, filter, annotation — is obvious, labelled with its value, and returns to the validated default in one action.
Anatomy
| Element | Rule |
|---|---|
| Trace | Rendered from the source samples, never from a resampled image. Stroke uses
--foreground so it inverts correctly with the theme. |
| Grid | Standard 1 mm / 5 mm paper. Present so a clinician can measure rather than accept a stated measurement. |
| Lead label | Always visible, never inferred from position alone. |
| Calibration | Sweep speed, gain and filter band, on screen at all times. Changing any of them changes what the trace means. |
The same complex looks like a different diagnosis at 10 mm/mV and 20 mm/mV. Sweep speed, gain and filter settings are displayed permanently on every trace — not in a settings panel, not on hover. Any non-default value is additionally flagged, because a clinician reading a colleague's screen must know they are not looking at standard calibration.
Twelve-lead layout
The conventional 4 × 3 arrangement, in the order clinicians are trained on. The layout is not a design choice to be optimised — deviating from it costs recognition speed for no benefit.
Four of twelve shown. Flagged leads carry a border, never a colour wash over the trace — the signal itself is never tinted.
Model annotation
The most consequential decision in this pattern: annotation is off by default. A clinician opens the trace, forms an impression, then reveals what the model found.
Whether the reader sees the model's output before, during or after forming their own impression is the condition the device's performance was measured under. Changing it in the interface changes what the evidence describes. See Reader paradigm.
- Annotation never obscures the signal. Marks sit on the grid, dashed and outside the trace path. The waveform is never redrawn, thickened, recoloured or clipped.
- Every stated measurement shows where it was taken. "3.1 mm at J+60 ms" with the baseline and measurement point marked, so a clinician can check it against the grid rather than accept it.
- Annotation state is visible, and included in anything printed or exported so a downstream reader knows whether they are seeing marked-up or raw data.
- Turning annotation off is always one action and never resets the view.
The control above starts off, and that is the rule rather than a preference: an impression formed after seeing a machine's opinion is not an independent one, and a reader cannot introspect their way back out of it. Reveal it and the trace itself does not change — only the overlay is added. See Reader paradigm for what happens when this ordering is enforced rather than merely offered.
Serial comparison
An ECG is most informative against the patient's own prior. Where a prior exists, it is offered adjacent — never overlaid, because superimposed traces from different acquisitions produce apparent changes that are artefacts of alignment.
Signal quality
Degraded input is disclosed on the affected lead, not only in a summary. A clinician looking at V3 must be told V3 is noisy while they are looking at V3.
Signal quality is annotated and the clinician decides, because the clinician can look at the trace and judge for themselves whether the noise matters. Where the operator cannot interpret the recording — a screening camera run by a non-clinical operator — that judgement cannot be delegated to them, and the software has to refuse the input outright. See Capture & quality gate.
- Affected leads carry a visible quality marker and are named in an Advisory alert.
- Never silently substitute or reconstruct a lead. If a lead is unusable it renders as unusable.
- Where quality falls below the validated threshold, no confidence score is reported — see Confidence disclosure.
Who holds each rule
The waveform is drawn by your viewer. What the package holds is the text around it, and the controls that switch things on and off.
| Rule | Held by | Where |
|---|---|---|
| Measurements are text, not only marks | Key–value | A measurement rendered through this component is a quantity with a unit in the accessible tree, not a caliper drawn on a canvas. Asserted: KeyValue: a quantity cannot be rendered without its unit |
| Turning annotation off is always one action | Switch | A switch acts on contact and cannot be declared to defer. That annotation is a switch, and that it starts off, are yours. Asserted: Switch: effect has exactly one permitted value |
| Annotation state is visible in words | Status chip | A chip cannot be rendered without its word. Asserted: StatusChip: the state is a word, not only a colour |
| View controls are labelled with their value | Button | A control cannot be icon-only, so “Gain 10 mm/mV” is the minimum a button can say. Asserted: Button: children are required, so an icon-only button is unwritable |
| Annotation never obscures the signal; annotation off by default | The implementer | Viewer rendering, and the initial state you pass. |
| Every stated measurement shows where it was taken | The implementer | A link from the number to a location in the trace, which is viewer behaviour. |
| Never silently substitute or reconstruct a lead | The implementer | Signal processing. If a lead is reconstructed, saying so is a string. |
| The SVG carries a real description; grid is decorative | The implementer | Markup you author in the viewer. |
| Keyboard operable | The implementer | Held for every control in the package. Not held for a canvas, which is where the waveform lives. |
A pattern page has no component underneath it, so a rule stated here is held by whoever builds against it unless a component already holds it. Of these 9 rules, 4 are held by a component this package ships, and 5 are the implementer’s. Four held, five not. The measurement can be honest; the picture it was taken from is entirely outside the package.
Do's and don'ts
Annotation off by default. The clinician reads the trace before reading the model's opinion of it.
Marks visible before the clinician has looked. Their impression is anchored to the model's.
Calibration permanently on the trace. The same complex means different things at different gain.
Calibration behind a settings panel. A colleague reading the screen cannot tell it is non-standard.
QT 412 ms measured in lead II, 14:26:38
The number is text, with where it was taken. A colleague can check it and a screen reader can say it.
|← 412 →| (drawn on the trace)
A caliper burned into the image. It is not text, it has no lead, and it prints as a smudge.
Accessibility
- The SVG carries a real description —
role="img"with anaria-labelnaming the lead and the salient finding. A non-sighted reviewer cannot read the trace, but must not be denied the fact that it exists and what was measured. - Measurements are text, not only marks. Everything the annotation layer draws also appears as a readable statement.
- Trace colour is
--foreground. Never a fixed green or black — it must invert with the theme and hold contrast in both. - Grid is decorative and low-contrast by design; it is never the sole
carrier of information and is
aria-hidden. - View controls are labelled with their value — "Gain 10 mm/mV", not a magnifier icon.
- Keyboard operable: lead selection, annotation toggle and calibration reset all reachable without a pointer.
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 clinician's conclusion matches the diagnosis established later, and every stated measurement can be verified against the grid rather than taken on trust.
- Efficiency — Time from opening the trace to reaching a conclusion, and the number of steps between an alert and the evidence behind it.
- Satisfaction — Trust calibrated to the model's actual reliability. Annotation being off by default is a satisfaction intervention: it protects the clinician's own impression from anchoring.
Clinical safety notes
Trace these in your risk file (ISO 14971) and usability engineering file (IEC 62366-1). Each bullet says what checks it: a component that holds the rule, a test in your verification file, deployment configuration, post-market surveillance, or a design review where no test can see it. A control checked by nothing is a sentence.
- Annotation off by default. (a test in your verification file) Mitigates: anchoring — the clinician's impression being formed by the model's mark rather than the signal.
- Calibration permanently displayed, non-default flagged. (a test in your verification file) Mitigates: misinterpreting amplitude because gain or sweep speed was changed.
- Annotation never overlays or alters the trace. (design review; no test can see it) Mitigates: obscuring the very feature under assessment.
- Measurements show their measurement point. (a test in your verification file) Mitigates: an unverifiable number being accepted on trust.
- Standard 12-lead order preserved. (a test in your verification file) Mitigates: slower recognition and lead misidentification.
- Leads never reconstructed or substituted. (a test in your verification file) Mitigates: a diagnosis made from data that was inferred rather than acquired.
- Priors compared side by side, never overlaid. (design review; no test can see it) Mitigates: alignment artefact being read as genuine change.
- Missing prior stated explicitly. (a test in your verification file) Mitigates: unknown chronicity being assumed to be acute, or vice versa.
Related
- Patient header — sits above this screen at all times.
- Confidence disclosure — the score attached to the finding.
- Clinician override — what happens when the clinician disagrees.
- Alert Banner — what brought them here.