Clinical patterns

Editing the draft

Everywhere else in this system, reviewing and acting are separable: you read the evidence, then you agree or disagree. Here they are performed with the same keystrokes. Review is rewriting, which means the interface cannot see the difference between a clinician who read the whole thing and one who fixed a typo in the second line.

Stable · v1.0 NightBrief EU AI Act Art. 14 WCAG 2.2 AA
The rule

A system cannot observe reading, so it never records that reading occurred. It records what changed, what did not, and that a named person accepted the whole. Forced scrolling, per-section confirmations and dwell timers manufacture an audit trail of attention nobody paid.

And: the record is available beside the draft, and composing from it instead is a first-class route — not a failure path, not a discard-and-start-over buried behind a warning.

The act override has no form for

Clinician override gives the reader three positions — agree, disagree, cannot assess — and they work because a finding is a single proposition. You can disagree with "ST elevation present". You cannot disagree with four-fifths of a paragraph.

What actually happens to a composed brief is none of those three. A sentence is corrected. A hedge is added. An irrelevant line is deleted. Two paragraphs are left exactly as they were, possibly after careful reading and possibly not. The result is committed as one object under one name, and every distinction inside it is lost unless the interface was built to keep them.

This page is the third of three and assumes the other two. Composed output governs whether the text was fit to show; Authorship & the record governs what the record says about who produced it. This one governs the twenty minutes in between.

Editing is not review, and the system cannot tell

An edit is evidence of attention, and the evidence is local. A clinician who rewrote sentence three has demonstrably read sentence three. About sentences one, two and four through nine, the software knows nothing at all.

The tempting fix is to manufacture the missing evidence, and there are three standard ways to do it. All three are prohibited here:

DeviceWhy it is rejected
Commit disabled until the reader scrolls to the bottom Measures the scrollbar. A clinician holds the End key and the record now says they read it. The friction lands entirely on the people who were reading carefully and scrolled back up.
A "reviewed" checkbox per section Turns reading into a clicking task, and clicking tasks are completed by people who are not reading — which is the whole hazard, now with a tick beside it.
A minimum dwell time before commit Measures the presence of a window. It converts a busy clinician's inattention into a pause, and produces a timestamp that will be read in an incident review as evidence of deliberation.

The objection they share is not that they add friction. It is that each one produces a record that will be believed. A log saying "all sections confirmed reviewed, 04:12 elapsed" is worse than a log saying nothing, because the second is honestly silent and the first is confidently wrong — and the person it will be used against is the clinician, not the manufacturer who built the checkbox.

This is the same discipline as Key–value pair: not-measured is a distinct state from measured-as-zero, and a system that collapses them has lied about its own knowledge. Reading is not measured. The record says so by not mentioning it.

What the commit records — no attention claims
Sentences changed 2 of 9
Sentences removed 1
Sentences unchanged 6
Reading Not observable — not recorded
Accepted by A. Reyes, registrar · 17 Aug 06:58

Editing the draft, or writing from the record

Anchoring here is stronger than anywhere else in this system, and it is not a bug that can be designed out. Elsewhere the machine offers a conclusion and the clinician accepts or rejects it. Here the machine offers the words themselves, and whatever the clinician produces by editing them will resemble the draft more closely than anything they would have written from a blank page. That is the point of the tool. It is also the risk, and the interface must not pretend the two are separable.

What it can do is keep the other route open and make it cheap:

No help with the correction

While the clinician is editing, the composer does not suggest, complete, continue or reword. Nothing writes ahead of the cursor.

The reason is specific rather than general suspicion of the feature: the clinician is editing because the draft was wrong, and a suggestion re-anchors the correction to the thing being corrected. A clinician who starts typing a fix and is offered the rest of the sentence by the same model that produced the error is being pulled back towards it at precisely the moment they had escaped. The correction is the one piece of text in this workflow that has to come from the person.

This applies to the quiet forms too — ghost-text completion, a "rephrase" control, a grammar suggestion that changes a clinical hedge into a plain assertion. The last of those is not hypothetical; softening or firming a qualifier is exactly what such tools do, and it is a clinical change wearing a style change's clothes.

Regeneration needs a changed input

A "try again" control that produces a fresh artefact from the same record is not a fix. It yields differently-worded prose standing in exactly the same relation to the evidence, and it teaches the reviewer to shop for output they find agreeable — which is selection on style with the appearance of selection on quality.

So regeneration is available when an input has changed — a new result arrived, an unreachable system came back, the period was adjusted — and the interface states what changed and why the artefact is now different. Regeneration with identical inputs is not offered.

Where the reviewer simply disagrees with the draft, the routes are the ones that already exist: edit it, or write it from the record. Both are honest about what happened. A second draft accepted because it read better is not.

What the diff cannot tell you

"Edited" is almost worthless as surveillance data, because a diff cannot distinguish the two events that matter most:

These produce identical diffs and require opposite responses. So the reviewer is asked — once per artefact, not once per edit, and only when something was deleted or a factual claim was changed:

Asked once, at commit

You removed one sentence and changed two. Was anything in the draft incorrect?

Skipping does not block the commit. A question that blocks a clinician at 07:00 is a question that gets answered at random.

Skip is a real option and its rate is reported to whoever reads the surveillance data, because a signal collected under pressure with no escape is noise that looks like data. The same reasoning governs the override control's tone in Clinician override: the moment a control is built to elicit a preferred answer, it stops measuring anything.

States

StateRendering
Draft open, untouched Editable, marked as composed, record beside it. Accept, Write it myself and Discard all available and equally weighted.
Edited, uncommitted Changes visible as changes — the composed version remains viewable, not replaced. Still marked as composed text.
Being written from scratch The draft is gone and does not return. What is committed is ordinary authored text, attributed normally, with no composed-text mark on it.
Input changed while open Stated, with what changed and a control to regenerate. Never regenerated underneath the clinician — see Reprioritisation for the same rule about content moving under a reader.
Interrupted, returned to later Edits preserved, elapsed time stated. The absence of a dwell requirement means an interruption costs nothing, which is the point.
Handed to a colleague Edits carry, attributed to whoever made them. The person who commits is the person recorded as accepting, regardless of who typed more.

Who holds each rule

This page rejects the mechanisms that would let a component hold its rules — scroll gating, dwell timers, per-section confirmation — on purpose. So the split is honest by design: most of it is yours.

RuleHeld by Where
The editable region never loses a keystrokeTextarea No limit reaches the element.
Asserted: Textarea: typing past the limit is kept, not swallowed
The editable region is a labelled text fieldTextarea A label is required; a placeholder standing in for one is not expressible.
Asserted: Textarea: placeholder is not in the prop type
Commit cannot be double-activatedButton A pending commit refuses a second press and says what it is waiting for.
Asserted: Button: pending names what it is waiting for
Discarding is not warned against — but if it is confirmed, the confirm is not instantDialog If you choose to confirm a discard, the destructive confirm is disarmed briefly so a press in flight cannot land on it.
Asserted: Dialog: confirmation is disarmed on appearance, then arms
The record is beside the draft, not behind itThe implementer Layout. A split pane is the right shape; using it is yours.
“Write it myself” is a first-class controlThe implementer Whether a blank alternative exists at equal weight is your screen.
A discarded draft does not come backThe implementer Storage.
No time limit of any kind; commit is never gated on scroll positionThe implementer Both are things you must not build. The dialog has no timeout and the textarea has no scroll state, which removes the easy ways to break this and none of the hard ones.
Changed and unchanged text differ by more than colourThe implementer A diff view you build.
The record panel and the draft are separate landmarksThe implementer Markup you author.
Why this is written down

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 10 rules, 4 are held by a component this package ships, and 6 are the implementer’s. Four held, six not. This page argues that attention cannot be measured by a control and should not be pretended to be; it would be strange if a control held its rules.

Do's and don'ts

Do

2 of 9 sentences changed · 1 removed · 6 unchanged
Reading — not observable, not recorded

States what is known and declines to state what is not. A later reader can weigh it correctly because nothing has been overclaimed.

Don't

All 4 sections confirmed reviewed · 04:12 elapsed

Four clicks and an open window. In an incident review this reads as deliberation, and the clinician wears it.

Do

Three routes, equally reachable. The clinician's own words are a supported outcome rather than a recovery from failure.

Don't


Discard your draft? This cannot be undone.

Editing is the only cheap path and the alternative is framed as loss. The tool has chosen what the clinician will produce.

Do

Microbiology result arrived 07:02, after this brief was composed.

An input changed, so a new artefact means something. The reader is told what is different and why.

Don't

Same record, new wording. It selects on agreeableness and returns a result that feels better checked for having been chosen.

Do

Pain score rose to 7 at 02:15. Analgesia given 02:4|

The cursor is the clinician's. The correction comes from the person who knows what happened.

Don't

Pain score rose to 7 at 02:15. Analgesia given 02:40 with good effect and the patient settled overnight.

The model that got it wrong is finishing the sentence that fixes it, at the exact moment the clinician had broken free of the draft.

Accessibility

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.

Clinical safety notes

Risk controls this pattern specifies, and what checks each

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.

NotJustAnyMed.Tech Design System · Editing the draft · v1.0 · draft for review
Reference applications named in this system are fictional, as are all clinicians, patients, timestamps and record entries shown above.