Skip to content

Commit 07cdfcd

Browse files
Add post and content for image reading v2 (#386)
1 parent bf33d5a commit 07cdfcd

7 files changed

Lines changed: 136 additions & 0 deletions

File tree

74.4 KB
Loading
80.9 KB
Loading
109 KB
Loading
77 KB
Loading
76 KB
Loading
112 KB
Loading
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
---
2+
title: Exploring reading in batches
3+
description: Expanding our image reading prototype to explore reading in batches and first and second reads
4+
date: 2026-02-18
5+
author: Ed Horsford
6+
opengraphImage:
7+
src: /manage-breast-screening/2026/02/reading-in-batches/dashboard.png
8+
alt: Image reading dashboard with clear call to action to start reading
9+
tags:
10+
- beta
11+
- prototype
12+
- image reading
13+
---
14+
15+
With our private beta for Manage about to start, we're turning our design focus back to image reading. That part of the service was last worked on in June 2025, and this is a long overdue design history to document to work as we left it then.
16+
17+
Following [testing of our first image reading prototype](/manage-breast-screening/2025/05/image-reading-first-prototype/), feedback mainly centred on understanding double reading, and managing the wider reading workflow. We had focused on the experience of giving an opinion for an individual case, but not addressed how readers decide what to read, track what they've done, or how the system handles the requirement for two independent reads.
18+
19+
Our second iteration focused on some of these wider ideas:
20+
21+
- how a user gets assigned cases
22+
- what first and second reads might look like as concepts
23+
- how separate reading opinions could be shown
24+
25+
## Moving beyond clinic-based reading
26+
27+
The big shift we're proposing is to move away from grouping cases by the original screening clinic. Instead, we're introducing reading sessions built around batches of cases.
28+
29+
Batches serve two needs from our earlier research: readers need to work through cases in the right order so nothing gets missed, and they need a defined unit of work with a clear end point – often 30 to 60 cases taking about an hour. Batches preserve these benefits without the artificial constraint of clinic groupings.
30+
31+
In the current paper-based process, admin staff group screening forms by clinic, place them on shelves, and radiologists pick up a bundle to work through. This has evolved around the practicalities of paper – you need a physical way to group and track forms.
32+
33+
With a digital system, we can remove this constraint. Readers shouldn't have to think about which clinic a case belongs to, they simply need to start with the oldest unread case and work forward.
34+
35+
Decoupling reading from clinics opens up lots of other future possibilities such as reading by priority, AI-assisted reads, varying the number of reads per case, and mixing cases or readers from across different Breast Screening Units. None of these are options when reading is tied to a specific clinic.
36+
37+
We've updated the prototype to support grouping cases to read by arbitrary 'batches', giving us future flexibility in how cases are grouped. Batches group together a number of cases based on the criteria set - the default likely being cases where screening happened the longest ago. Fundamentally, the current process is just a batch where the cases are selected based on the criteria of which clinic they were in, so this change is just an evolution of something that already exists.
38+
39+
(Note: 'Batch' is a temporary name we're using for this concept while we test it with users – we'll likely iterate on the word used as we do furthe research.)
40+
41+
## Getting users to start reading
42+
43+
Our first prototype listed clinics in date order with a 'Start reading' shortcut to the oldest clinic. In testing, users often began with the 'Start reading' call to action but were then distracted while they scanned the list of clinics, making sure they were picking the oldest to read.
44+
45+
The new dashboard leads with a clear call to action. The primary card is 'Start reading oldest cases', which creates a batch of up to 50 cases and takes you straight in to start reading. No need to browse clinics first, or look at the list of people in the clinic. We worried in user research that users might be wary of not reading by clinic, but this clear call to action seemed to test well.
46+
47+
We also added a 'Custom reading session' option for readers who want more control – choosing first reads only, second reads only, batch size, or other filters.
48+
49+
We’ve moved lower priority options like clinic lists, reading history, and awaiting priors are under 'Other options' – available when needed but not in the way.
50+
51+
![The image reading dashboard showing three cards: 'Start reading oldest cases' with a count of cases needing reading plus urgency tags, 'Custom reading session' with a link to choose what to read, and 'Arbitration'. Below are three more cards for 'View by clinic', 'Reading history', and 'Awaiting priors'](dashboard.png)
52+
53+
## Reading by batch
54+
55+
In our first prototype, reading was done within a clinic – you'd open a clinic and work through its cases. The batch concept generalises this. A batch is a set of cases to read in one session. It can come from anywhere: the oldest 50 cases, all first reads, a specific clinic, or a custom filtered set.
56+
57+
Selecting 'Start reading oldest cases' creates a batch and drops you into the batch list, showing reading progress and a button to start or resume reading.
58+
59+
![A batch list page showing reading status with first read and second read progress counts, a 'Start reading' button, and tabs to switch between 'Your reads' and 'All reads'](batch-list.png)
60+
61+
The batch list has two tabs. 'Your reads' shows cases from your perspective with your read type and opinion. 'All reads' shows the full picture with columns for first read, second read, and outcome. If blind reading is enabled, second readers can't see the first reader's opinion until they've given theirs.
62+
63+
![The 'All reads' tab of a batch, showing a table with columns for case name, screening date, first read opinion and reader, second read opinion and reader, and overall outcome](batch-all-reads.png)
64+
65+
### Custom reading batches
66+
67+
The custom batch page lets readers configure what to read: the type of reads (all, first only, second only, or awaiting priors), batch size (25, 50 or 100), and additional filters. We're not sure this is needed, but want to explore whether our defaults work for all situations.
68+
69+
![A form to create a custom reading batch with radio options for read type, batch size, additional filters as checkboxes, and an optional name field](create-custom-batch.png)
70+
71+
### Viewing batches of clinics
72+
73+
Clinics are still available but behind a 'View by clinic' link rather than being the default. We can think of them as a specific type of batch. The clinics page now has tabs for 'Available for you to read' and 'All that need reading', with columns for first and second read progress.
74+
75+
![A table of clinics with columns for clinic name, date, total cases, first read progress, and second read progress. Tabs switch between clinics available for the current user and all clinics](clinics.png)
76+
77+
Selecting a clinic creates a batch from that clinic's cases, which works the same as any other batch.
78+
79+
## Supporting first and second reads
80+
81+
Each set of mammograms needs to be read independently by two different readers – double reading. Our first prototype deferred exploring this concept, instead focusing on the actions taken whilst reading. This iteration introduces first and second reads throughout image reading.
82+
83+
The process of doing a read is the same either way, but our batch list pages now show multiple reads and an overall outcome. Batches could be a mix of first and second reads required - the only requirement is the current user hasn’t already read them and they still require a read. A reader cannot read the same case twice – if they've already given an opinion, they see their existing read with an option to change it.
84+
85+
For second reads, we default to blind reading – the second reader cannot see (or be influenced by) the first reader's opinion. This is standard practice in many units to ensure independent assessment. We included a setting to allow this to be changed, as some units don't use blind reading.
86+
87+
### Surfacing read status
88+
89+
First and second read status of a case is now visible throughout the prototype:
90+
91+
- **Dashboard**: Shows total cases needing reading with urgency indicators
92+
- **Clinics page**: Columns for first read and second read progress per clinic
93+
- **Batch list**: Progress counts for first and second reads, with individual case status
94+
- **Reading history**: Shows whether each read was a first or second read
95+
96+
### Seed data for realistic testing
97+
98+
We updated the fake data generator to pre-populate some cases with existing reads, so the prototype starts with a mix of first reads needed, second reads needed, and fully read cases.
99+
100+
## Reading history
101+
102+
We added a reading history section so readers can review what they've done and see what others have read – a gap in the first prototype.
103+
104+
The history page has 'My readings' and 'All readings' tabs, showing when each opinion was given, the participant, read type, opinion, and overall outcome.
105+
106+
![A reading history table showing columns for date and time, participant name, read type, opinion given, and overall outcome. Tabs switch between 'My readings' and 'All readings'](history.png)
107+
108+
The outcome column shows whether a case is waiting for a second read, whether both readers agreed, or whether it's gone to arbitration. This view focuses on individual reads – it probably doesn't support a user who wants to see everything about a case.
109+
110+
## Other changes
111+
112+
### Priority and urgency indicators
113+
114+
We added 'due soon' and 'urgent' labels based on how long ago screening took place, shown on the dashboard and in batch lists. These are similar to existing metrics used in screening in relation to targets for providing results to participants.
115+
116+
### Improvements to opinion flows
117+
118+
Based on testing feedback, we made improvements to the individual case reading experience:
119+
120+
- Simplified the normal details page
121+
- Revised the technical recall and recall for assessment pages
122+
- Added marking locations on breast diagram images during annotation
123+
- Improved how symptoms and partial mammography information are displayed
124+
125+
### Awaiting priors
126+
127+
Cases where prior mammograms have been requested from another screening centre are now surfaced on the dashboard. Readers can view these cases separately or include them in a custom batch.
128+
129+
## What we've not looked at yet
130+
131+
Several areas remain for future work:
132+
133+
- **Arbitration workflow**: The dashboard has a placeholder card for arbitration, but the workflow for resolving disagreements between readers is not yet built
134+
- **Viewing completed readings**: There's no way to view both readers' opinions for a single case side by side, or to see all reading activity for a participant
135+
- **Reporting and statistics**: No reporting pages yet
136+
- **Returning to sessions**: Once you leave a batch, there's no way to return to it – you'd need to create a new one - they're temporary

0 commit comments

Comments
 (0)