---
title: "Delivering difficult results"
description: "Tone, sequence and structure for the moment an app tells someone something they did not want to hear, with no clinician present and no question available."
url: "https://opsinjs.pensievelabs.org/health/delivering-difficult-results"
source: "https://opsinjs.pensievelabs.org/health/delivering-difficult-results.md"
section: "Health"
kind: "health"
evidence: "opinion"
reviewed: "2026-09-02"
reviewer: "content"
aliases: ["bad news", "tone", "difficult result", "abnormal result wording", "breaking bad news"]
implements: ["result-card", "care-card", "alert-banner", "disclaimer-note", "term", "consent-sheet"]
---

> Elements written as `<PascalCase … />` below are opsinjs documentation
> components. Their attributes are the content: the values they render are
> generated from `tokens/*.json` and `registry/catalogue.ts` and are
> published separately at https://opsinjs.pensievelabs.org/r/index.json and under the Reference
> section.
> Nothing is missing from this page. The data simply does not live in
> the prose.

<PageTemplate kind="health" />

## What this means [#what-this-means]

Clinicians are trained, at length, in how to give someone difficult news. The
training covers where to sit, what to say first, how much to say, when to stop
talking, and how to check what the person actually heard. It exists because doing
this badly causes lasting harm, and because doing it well is not intuitive.

An app has none of those instruments, and works instead with a card, a type size,
and a moment it did not choose: 06:40, on a commute, opened from a notification.
Four separate capabilities are missing at that moment. The interface cannot
observe the reader's reaction and adapt what it says next. It cannot control the
pace, because the reader sets that by scrolling. It cannot answer the question
the result provokes, because nobody is present to be asked. And it does not know
whether the reader is alone.

The design position that follows is control rather than delivery technique: the
interface discloses as little as is necessary at each step, in plain language,
and the reader decides when and how much more arrives. Every surface that carries
such a result ends in a route to a person.

## The rule [#the-rule]

**A result that may be distressing is disclosed deliberately: the reader knows
what is coming before they see it, the language is plain and non-catastrophic,
and the surface always ends in a route to a person.**

Fourteen requirements follow, grouped by what each one governs: the sequence in
which a result reaches the reader, the language it is written in, and the
structure of the surface that carries it. The numbering runs across all three
groups and is cited elsewhere on this page.

| #  | Group     | Requirement                                                                                                                                                                                                                                                    | What the reader must be able to do                                                                          | Where it is specified in full                                        |
| -- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| 1  | Sequence  | A result the reader has not asked to see is announced before it is shown, and is opened only by a deliberate action. The announcement states its own weight: "Your results are ready. There is something here worth going through. You can look now or later." | Learn that a result is waiting, and roughly what kind of reading it will be, before any of it is on screen. |                                                                      |
| 2  | Sequence  | No notification opens directly into a full result, and no result appears on a dashboard the reader opened for something else.                                                                                                                                  | Choose the moment of disclosure, and use the rest of the product without passing through the result.        |                                                                      |
| 3  | Sequence  | The plain-language summary comes first, the numbers sit behind a deliberate step, and the clinical detail sits behind a further one. The order is never reversed.                                                                                              | Stop at any layer and still hold a complete and accurate account of what was found.                         |                                                                      |
| 4  | Sequence  | The surface states what happens next, who is arranging it, and how to reach someone. The last element on the screen is never the number.                                                                                                                       | Leave the screen knowing who to contact and by what means.                                                  |                                                                      |
| 5  | Language  | The finding is stated in the words that describe it. "Your result shows X" is used in preference to "your result requires further discussion".                                                                                                                 | Learn the finding itself, rather than inferring it from the fact that a discussion is being arranged.       |                                                                      |
| 6  | Language  | Neither "this is very serious" nor "don't worry" appears, because both are claims the interface cannot support.                                                                                                                                                | Read the result without a severity judgement that the system has no basis to make.                          |                                                                      |
| 7  | Language  | The constructions "you failed to", "your poor control" and "you should have" are not used.                                                                                                                                                                     | Read the result without being assigned responsibility for it.                                               |                                                                      |
| 8  | Language  | The interface reports a result and names the next step, and states nothing about what the result means for the reader's life.                                                                                                                                  | Take the result to a clinician with no interpretation already attached to it.                               |                                                                      |
| 9  | Language  | Sentences are short, the words are ordinary, and each sentence carries one idea, because the reader's comprehension is reduced at this moment and the words are the last thing to be tested.                                                                   | Read each sentence once and take its meaning.                                                               | [Voice and tone](../content/voice-and-tone.mdx)                      |
| 10 | Language  | The surface names what the result does not establish: "This result on its own does not tell us X".                                                                                                                                                             | Distinguish what has been found from what has not yet been ruled out.                                       |                                                                      |
| 11 | Structure | The next step carries the same visual prominence as the result: the same type scale, and no placement that requires scrolling to reach it.                                                                                                                     | See the plan and the finding in the same glance.                                                            |                                                                      |
| 12 | Structure | No cross-sell, rating prompt, streak or unrelated alert appears on that screen, and the alarm-fatigue suppression rules apply to it.                                                                                                                           | Attend to one thing at a time on that screen.                                                               | [Alarm fatigue](./alarm-fatigue.mdx)                                 |
| 13 | Structure | The result remains findable afterwards in the same words, and can be shared with someone the reader trusts.                                                                                                                                                    | Return to the result later, find it unchanged, and show it to another person.                               | [Sharing with a clinician](../patterns/sharing-with-a-clinician.mdx) |
| 14 | Structure | A way to defer reading the result is offered where that is clinically appropriate, and is never offered where a delay could cause harm.                                                                                                                        | Postpone reading a result without losing access to it.                                                      | [Emergency and escalation](./emergency-and-escalation.mdx)           |

## Why (evidence) [#why-evidence]

<ResearchNote evidence="opinion" date="2026-09-02">
  This page is opinion throughout, and the opinion divides into two parts of
  different strength: the structural claim about control, which we hold firmly,
  and the specific wording we propose for the warning, which we have not tested.

  A clinical literature on breaking bad news exists, and structured protocols for
  it are taught in medical education. We cite none of them here, because we have
  not evaluated how well any of them transfers to an asynchronous, unattended
  interface, and citing a clinical communication protocol as though it endorsed
  an app screen would be a misuse of it. The material is findable in the medical
  education literature under that heading. What is not established is whether
  protocols designed for a face-to-face consultation hold when no clinician is
  present.

  The structural asymmetry that drives this page is the part we hold with
  confidence. A clinician in a consultation adapts continuously to what the
  patient does, an app cannot adapt at all, and its only remaining lever is
  control over who decides when the information arrives and how much arrives at
  once. Rules 1 to 3 are directed entirely at that lever.

  Rule 5 says the thing. It is in tension with rule 1 and worth naming as a
  tension. Warning someone before showing them a result is itself information,
  and a warning that is too vague creates a period of dread. We resolve it by
  matching the warning to the weight of what it precedes ("there is something
  here worth going through") rather than making it either neutral or ominous, and
  we have not tested that phrasing.

  What would change our mind: a review of patient-preference research on
  receiving results digitally, in the neighbourhood of the studies cited on
  [Reference ranges](./reference-ranges.mdx), would settle whether advance warning
  helps or harms. A finding that readers given a warning report more distress
  than readers shown the result directly would revise rules 1 and 14.
</ResearchNote>

<Todo>
  Commission or find a review of patient preferences for receiving results
  through a portal or app without a clinician present, and upgrade this page to


  `evidence: mixed`

  .
</Todo>

## Applying it [#applying-it]

<DoDont>
  <DoDont.Do>
    Announce the result before showing it: "Your results are ready. One of them
    is worth going through properly. You might want a few quiet minutes." Place
    a button labelled "Open results" beneath the announcement. The announcement
    names that one result needs attention and leaves the moment of opening to
    the reader.
  </DoDont.Do>

  <DoDont.Dont>
    Send a push notification reading "Abnormal result. Tap to view" that opens
    straight onto a red card. The notification states a finding on a locked
    screen, and the direct open removes the reader's choice of moment.
  </DoDont.Dont>
</DoDont>

<DoDont>
  <DoDont.Do>
    Give the finding, the route and the fallback together: "Your result is higher
    than your laboratory's usual range. Your GP has been sent this and will
    contact you within 5 working days. If you have not heard by then, call the
    surgery." The wording names what was found, who now holds it, when contact
    will come, and what to do if it does not.
  </DoDont.Do>

  <DoDont.Dont>
    Write "Your result requires further discussion with your healthcare
    provider." The sentence states no finding, names no next step and gives no
    interval, so the reader supplies all three from their own assumptions.
  </DoDont.Dont>
</DoDont>

<DoDont>
  <DoDont.Do>
    Name what the result does not establish: "This result on its own does not
    tell us why. That is what the next test is for." The two sentences state the
    boundary of the finding and the step that addresses the remainder.
  </DoDont.Do>

  <DoDont.Dont>
    Write "Don't worry, this is usually nothing." The sentence makes a prognostic
    claim about how often this finding is benign, which nothing on the screen
    supports, and it makes that claim in the product's own voice rather than a
    clinician's.
  </DoDont.Dont>
</DoDont>

<DoDont>
  <DoDont.Do>
    Keep the summary in one place, in the same words, permanently, with a way to
    save or share it. The stored copy is the one the reader returns to and the
    one they can hand to a clinician.
  </DoDont.Do>

  <DoDont.Dont>
    Show it once in a dismissible banner. A dismissed banner leaves no copy to
    return to, and a reader who comes back for the exact wording finds whatever
    else the product happened to keep.
  </DoDont.Dont>
</DoDont>

## Components that implement this [#components-that-implement-this]

{/* Generated from `implements`. Do not restate the list by hand. */}

`ResultCard` is specified with a required next-step slot, which is rule 4
expressed as an API constraint. A result rendered with nothing after it is the
failure this page exists to prevent, and an optional slot would sit empty on
precisely the surfaces where rule 4 binds.

## What this does not cover [#what-this-does-not-cover]

* **What the result means.** All clinical interpretation rests with the
  implementing organisation and its clinical governance.
* **Whether a result should be released to the reader at all**, and on what
  delay. That decision is clinical and often regulatory, and it is taken within
  the implementing organisation's health system rather than in the design layer.
* **Emergency findings**, which follow
  [Emergency and escalation](./emergency-and-escalation.mdx) instead, because
  rule 1's announcement step does not apply where a delay causes harm.
* **Disclosure of risk of harm inside a questionnaire**, which is
  [Crisis and self-harm](./crisis-and-self-harm.mdx).
* **The wording itself in detail**, which is
  [Voice and tone](../content/voice-and-tone.mdx) and
  [Writing status and alerts](../content/writing-status-and-alerts.mdx).
* **Results concerning someone else** fall outside this page, because consent
  and tone both change. Someone else might be a child, a relative, a person
  being cared for.

## Updates to this page [#updates-to-this-page]

<Reviewed />
