ReadBack

Helps doctors and hospital teams find the patients they need by describing them in their own words. Every filter the model sets is read back and checked, and nothing runs until a clinician presses Run.

connecting
Examples in

How it works

  1. Describe the patients, for example women over 65 with diabetes and hypertension.
  2. An open model on AMD GPUs reads the request and sets the filters on the left. The ones it moved are outlined.
  3. Each filter shows the words of the request it comes from. Deterministic checks mark what does not add up: values that do not exist, parts of the request the filters dropped or added, near-complete groups, numbers nobody wrote, "and" read as "or".
  4. Fix or accept each filter, by hand or with a new request. Nothing runs until you press Run.

All patients here are synthetic.

Why ReadBack

In a hospital, a verbal order is read back before anyone acts on it: the receiver repeats it, the sender confirms. ReadBack applies the same rule to the questions clinicians ask of patient data.

The problem

Finding a cohort, say women over 65 with diabetes in the North-West, admitted last year, means waiting for an analyst or working through a filter panel with dozens of attributes and hundreds of codes. A language model writes the query in seconds, but it can be wrong in ways that look right: "and" read as "or", a threshold nobody asked for, a disease quietly dropped. For a study, an audit or a recall, a wrong list that looks right is worse than no list.

What is different

The residual, measured

23 requests, each written in English and in Italian, drafted by six open models on AMD GPUs (AMD Token Factory), 46 drafts per model.

Accuracy follows the model, from 25 to 45 of 46. The residual does not: 0 of 46 for every model, with a 95% upper bound of 7.7%. A smaller model leaves more to read, not more to miss. These requests are the ones the checks were built on, including three gaps the 2B model exposed; a held-out set is the next step.

How it works

  1. Ask in your own words, in any language.
  2. The model sets the filters on the panel; the ones it moved are outlined.
  3. Every filter is read back with the words it comes from, highlighted in the request, and the checks mark what does not add up.
  4. Fix or accept each filter. The SQL is compiled by the app and shown.
  5. Press Run. The result shows how each filter narrows the cohort, so one that removes no one, or everyone, stands out.

Reading the screen

For clinicians

  • A cohort from a sentence, without learning the panel or opening a ticket with the data team.
  • The model's guesses in plain sight: a threshold for "elderly", a period for "last summer", a whole region for a city.
  • Any language: the request can be Italian or French, the filters and the checks are the same.

For hospitals

  • Records stay inside: the model sees the request and the catalog, and the same open weights fit a single AMD Instinct MI300X on site.
  • Every draft and every run is logged, including whether the clinician changed the filters before running.
  • Codes and places live in plain catalog files: another coding system or country means replacing them, not the code.

Answering the Health and Wellbeing brief