Skip to content

One reference architecture instead of three competing AI pilots

A governance-first architecture review that consolidated three overlapping AI intake pilots into one compliant build, after a risk review flagged the patient-data exposure each was carrying alone.

ChartwardenThistlewood RoadRN
Today's intake

Hollins Vale Clinics · Thistlewood Road · morning list · every summary signed off by a named clinician

Synthetic demo patientsThu 17 Sep 2026
Intakes, last 24 hours
68of 167 network-wide
Awaiting sign-off
2held for a named reviewer
Escalations held
2logged with rule and reviewer
Retention class
intake-transcriptStorage-enforced

Queue · 11:20 to 12:10

6 patients
Not started1
In conversation1
Summary drafted1
Awaiting sign-off2
Summary accepted1
PatientApptReason givenStageRedactedReviewer
OFOrla FenwickSYN-4011711:20Persistent cough, 3 weeksSummary accepted3Dr Imogen Hale
DRDev RaoSYN-4012111:30Medication reviewAwaiting sign-off4Dr Imogen Hale
MTMaisie ThorneSYN-4012611:40Knee pain after fallSummary drafted2Nurse Callum Ives
BOBram OkaforSYN-4013011:50Chest tightness on exertionAwaiting sign-off3Dr Imogen Hale
TMTilly MarshSYN-4013412:00Rash, both forearmsIn conversation1Nurse Callum Ives
EPEwan PryceSYN-4013912:10Follow-up, blood pressureNot started0Dr Imogen Hale
Transcripts visible to the booked clinician and reception lead only · resolved per request

Escalations today

logged
10:12Chest symptoms mentionedSYN-40130 · Protocol §2.1 red-flag listHeld for Dr Imogen Hale
10:26Medication outside protocolSYN-40121 · Protocol §4.3 medicinesHeld for Dr Imogen Hale
09:48Asked about a test resultSYN-40102 · Out of intake scopeRouted to reception, never answered

In force at this clinic

from the reference
RetentionClass set on every record
AccessRole checked on each request
RedactionBefore every model call
Sign-offNamed reviewer, no bypass

The shape of the work

Industry
Healthcare & Dental Practices
Duration
8 weeks
Cooperation model
Fixed price
Services
Reference architectureRisk & governance reviewAdoption roadmap
Integrations
HL7 FHIRTwilioStripeDocuSign
Technologies
Reference architectureRetrieval-augmented generationAudit loggingRole-based access controlData retention policy
Team
1 Project lead1 ML engineer1 Backend engineer1 Data engineer

Client name withheld under NDA. Engagement details are shown to the extent our agreement permits.

Introduction

The question we were asked

Three clinics inside the same network had each started their own AI pilot for patient intake, with no shared data plan or oversight. We ran a risk review, designed a single reference architecture with the right guardrails, and sequenced a roadmap that let all three clinics build on it.

A clinic network where three sites had each started an AI intake pilot within the same year, each with a different vendor and each against live patient data. None had been formally reviewed. The engagement began when the network's compliance lead asked a question none of the three could answer: how long does this system keep what a patient told it, and who has seen it?

AI Architecture & Governance

The decision, first

  1. 01

    Three pilots each carrying the same unaddressed risk is one problem, not three projects.

    Three teams had independently reached the same omission, which means it was a property of the approach, not of any one team, and one architecture fixes it once.

  2. 02

    Governance designed in costs a fraction of governance retrofitted after a review.

    Retrofitting retention and audit onto a running pilot means migrating data whose provenance is already unclear, which is the expensive half.

  3. 03

    Consolidating to one architecture was the only way any of the three could pass a real audit.

    One path means one thing to review. Three overlapping pilots would each have needed their own approval, and the network couldn't have carried that.

What the numbers couldn't answer

Three separate teams were each piloting an AI intake assistant against live patient data, without a shared review of data handling, cost, or oversight. Leadership had no way to know which pilot to standardize on, or whether any met the network's compliance bar.

All three pilots had the same gap, which is what made it one problem instead of three. Retention was undefined: nobody could say what was kept or for how long. Access was enforced in each application's own interface, never in its data layer. And no pilot logged who had authorized an output that reached a patient record, so no review could reconstruct a decision after the fact.

We audited all three pilots against a single risk and governance framework, found none of them fully addressed data retention or oversight, and designed one reference architecture with the guardrails built in from the start. The roadmap sequenced a rebuild of the strongest pilot onto the new architecture, with the other two retired.

The solution

How we worked it through

  • Audited all three pilots against a shared data and governance framework

    One framework across all three was what turned a shared omission into a single finding, instead of three separate conversations with three teams.

  • Scored each pilot's approach on risk exposure and technical fit

    Each pilot was scored on risk exposure and technical fit separately, so the strongest clinically wasn't automatically the one that could be built on.

  • Designed one reference architecture with guardrails built in

    Retention classes are enforced by storage and access resolves server-side per request, so neither is left to an application to remember.

  • Sequenced a roadmap to rebuild the strongest pilot and retire the rest

    The roadmap sequences a rebuild of the strongest pilot with the other two retired, and their useful pieces folded in, not discarded.

Process

Phase by phase

  1. Phase 1: Audit

    Three pilots, one framework

    Assessed all three intake pilots against one shared data and governance framework, so none was judged by its own assumptions.

    • Governance framework
    • Per-pilot audit
  2. Phase 2: Score

    Risk against fit

    Scored each pilot on risk exposure and technical fit, and found none of the three fully addressed retention or human oversight.

    • Risk scoring
    • Gap analysis
  3. Phase 3: Architect

    Guardrails first

    Designed one reference architecture with access control, retention, and audit logging specified up front.

    • Reference architecture
    • Control specification
  4. Phase 4: Sequence

    Rebuild one, retire two

    Sequenced a rebuild of the strongest pilot onto the new architecture and a wind-down of the other two.

    • Adoption roadmap
    • Decommission plan
ChartwardenAll 9 clinicsRN
Decommission plan

Hollins Vale Clinics · Rebuild one, retire two · every clinic onto the single build in two waves

3 of 9 clinics on the buildThu 17 Sep 2026
TRThistlewood Road · Pre-visit intakeScored 84 of 100 · Clinical informaticsRebuilt
Intake rebuilt on the reference architecture3 Aug
Transcripts given retention classes3 Aug
Old vendor store deleted after migration10 Aug
Review tick-box replaced by named sign-off3 Aug
ACAldercombe · Symptom questionnaireScored 48 of 100 · Practice nursesRetired
New intakes frozen on the pilot17 Aug
Folded in: translated question sets14 Aug
Shared-drive exports deleted21 Aug
Vendor account closed31 Aug
KGKingsmere Green · Front-desk assistantScored 31 of 100 · Reception leadsRetired
New intakes frozen on the pilot24 Aug
Folded in: appointment-type mapping20 Aug
Chat history deleted at vendor28 Aug
Widget removed from booking page24 Aug

9 clinics onto one build

167 intakes across 3 clinics in the last 24 hours
ClinicWaveCut-overMoving fromStatus
Thistlewood Road13 Aug 2026Pilot TR (rebuilt)On the build
Aldercombe117 Aug 2026Pilot AC (retired)On the build
Kingsmere Green124 Aug 2026Pilot KG (retired)On the build
Sallow Street224 Sep 2026Paper formsScheduled
Marlpit Lane224 Sep 2026Paper formsScheduled
ClinicWaveCut-overMoving fromStatus
Ferriby Close21 Oct 2026Phone intakeScheduled
Upton Weir21 Oct 2026Phone intakeScheduled
Cobble Hill28 Oct 2026Paper formsScheduled
Brindle Park28 Oct 2026Phone intakeScheduled
On screen

The decommission plan: the strongest pilot rebuilt, two pilots wound down with their data deleted and useful pieces folded in, and all nine clinics sequenced onto the single build in two waves.

What it changed

3 to 1

Overlapping pilots consolidated

100%

Governance gaps closed

9

Clinics onboarded to the plan

Three to one is the consolidation itself. Governance gaps closed is measured against the framework's own checklist applied to the reference architecture, not to the deployed system, which hadn't yet been rebuilt at the end of the engagement. Nine clinics onboarded to the plan means committed to the sequence: the three pilot clinics run on the build, and the other six are scheduled.

Client name withheld under NDA. Figures are approximate, drawn from the engagement’s own reporting.

Guardrails in the design

Retention, access, and oversight specified in the architecture, once, for every pilot.

Retention windows, access rules and human oversight are specified in the architecture, so no application has to remember them. Records carry a retention class that the storage layer enforces, access is role-based and evaluated server-side per request, and any model output touching a clinical decision passes through a named reviewer before it reaches a patient record. None of it is optional per pilot.

What shipped
  • Retention classes enforced by storage, not by application code
  • Role-based access evaluated server-side on every request
  • Named human reviewer before any clinical-facing output
ChartwardenAll 9 clinicsRN
Guardrail configuration

Hollins Vale Clinics · Specified in the reference architecture before any build began · no per-clinic overrides

Control specificationThu 17 Sep 2026
Specification
Control spec v1.0Approved before build
Applies to
One build · 9 clinics
Per-pilot exceptions
Nonecontrols sit below the application

Retention classes

enforced by the storage layer
ClassApplies toWindowEnforced by
clinical-recordAccepted summaries in the patient recordClinical record scheduleStorage
model-call-logEvery model call and its authorizerSame as clinical-recordStorage
intake-transcriptThe patient's conversation30 days after sign-offStorage
rejected-draftSummaries a reviewer rejected30 daysStorage
retrieval-cacheProtocol passages fetched for a call24 hoursStorage

A record written without a class is refused at write, never flagged later.

Human oversight

locked on for every clinic
Named reviewer before any clinical-facing outputThe reviewer's name is written with the call
Draft summaries never reach the patient recordOnly an accepted summary is written across
Escalation on the protocol's red-flag listHeld for a clinician, the patient told to wait

Access by role

evaluated server-side

Every request is resolved against the role in the data layer. Hiding a button isn't access control.

RoleStartTranscriptSign offAuditConfig
ReceptionistStarts and tracks intakes
Practice nurseReviews within nursing scope
PhysicianNamed reviewer
Practice managerQueue and cut-over
Compliance leadAudit and configuration
Last denied request

GET /conversations/conv_AC_0917_40088

Role: receptionist · permission: transcript · 09:52:14

Denied in the data layerWritten to the audit log
On screen

Guardrail configuration, specified before any build: five retention classes the storage layer enforces, access by role resolved server-side on every request, and human oversight locked on for every clinic.

Chartwarden3 pilotsRN
Pilot review

Hollins Vale Clinics · 3 intake pilots scored against one network framework · 5 checks × 20 points

Recommend: rebuild oneThu 17 Sep 2026
KGKingsmere GreenRetireFront-desk assistant · Vendor A · hosted chat widget31/ 100Clinical value: Low
TRThistlewood RoadRebuildPre-visit intake · Vendor B · API integration84/ 100Clinical value: High
ACAldercombeRetireSymptom questionnaire · Vendor C · no-code builder48/ 100Clinical value: Medium
Reference architectureThe framework applied to the design100/ 100Gaps closed

Row by row against the framework

Met at 20Partly metNot met
CheckKG · Kingsmere GreenTR · Thistlewood RoadAC · AldercombeReference architecture
Data retention0 of 3 met in full0/20Not metNo retention defined anywhere12/20Partly metWindow set for summaries; transcripts kept indefinitely4/20Partly metExports land in a shared drive with no expiry 20/20Retention classes enforced by the storage layer, never by application code.
Access control0 of 3 met in full8/20Partly metOne shared reception login18/20Partly metRoles in the app; the API behind it trusts any staff token12/20Partly metClinic-wide login; roles only hide menu items 20/20Role-based access evaluated server-side on every request.
Redaction1 of 3 met in full10/20Partly metMasked only on the exported summary, after the call20/20MetIdentifiers masked before every model call14/20Partly metNames masked; dates of birth and phone numbers sent 20/20Identifiers masked before any model call, with each redaction logged.
Clinician sign-off0 of 3 met in full5/20Partly metNo review step: output copied across by hand18/20Partly metReview is a tick-box any desk login can clear10/20Partly metSummaries reach the record unless someone rejects them 20/20A named human reviewer before any clinical-facing output.
Audit trail0 of 3 met in full8/20Partly metEditable chat history only16/20Partly metInputs and outputs logged; authorizer and versions not8/20Partly metVendor-side logs, no export, short window 20/20Inputs, sources, output, versions and authorizer logged per call, append-only.
Total31 / 100 · folds in: Appointment-type mapping84 / 100 · folds in: Rebuilt on the reference48 / 100 · folds in: Translated question sets100 / 100

One compliant path

On screen

The pilot review: three competing intake pilots scored 31, 84 and 48 of 100 against one network framework, compared row by row on retention, access, redaction, sign-off and audit, with the strongest marked for rebuild.

Three overlapping pilots consolidated into a single build reviewed against one framework.

Three pilots had been built independently by three teams and overlapped in what they did while disagreeing on how they handled data. The strongest was selected on clinical value and rebuilt onto the reference architecture; the other two were retired with their useful pieces folded in. One path means one thing to review, which is what made approval realistic instead of perpetual.

What shipped
  • Three overlapping pilots consolidated into one build
  • Selection made on clinical value, then rebuilt on the reference
  • One path to review, so approval is achievable

An auditable trail

Every model call logged with its inputs and its authorizer, so a review can reconstruct any decision.

Every model call is logged with its inputs, the retrieved sources, the output, the version of the prompt and model that produced it, and the person who authorized the action. Logs are append-only and retained to the same schedule as the clinical record, so a review months later can reconstruct exactly what the system saw and why it said what it said.

What shipped
  • Inputs, sources, output, versions and authorizer logged per call
  • Append-only, retained on the clinical record's schedule
  • Any past decision reconstructable in full
ChartwardenThistlewood RoadRN
One intake, reconstructed

Hollins Vale Clinics · Append-only · retained on the clinical record's schedule · read-only for every role

Synthetic demo patientsExport for reviewThu 17 Sep 2026
Conversation
conv_TR_0917_40117
Patient
Orla FenwickSYN-40117
Authorizer
Dr Imogen Hale10:41:07
Log position
seq 118,204Append-only

Timeline

17 Sep 2026
  1. Conversation opened10:31:02Patient link from booking · class intake-transcript
  2. Redaction applied10:33:403 identifiers masked before any call
  3. Model call 1 · follow-up questions10:33:412 protocol passages retrieved
  4. Model call 2 · draft summary10:38:153 protocol passages retrieved
  5. Draft held for review10:38:16Clinical-facing: needs a named reviewer
  6. Authorized by Dr Imogen Hale10:41:07One wording change before acceptance
  7. Written to the patient record10:41:08Class clinical-record
  8. Transcript deletion scheduled10:41:0830 days after sign-off, by storage
prev 9f41·c20e → this 3ab7·51d9

Inputs as the model saw them

call 2

My name is , born . I’ve had a cough for about three weeks.

It’s worse at night. No blood. I had a cold before it started.

Call me on if you need me. No regular medicines.

name, date of birth, phone · masked before the call

Retrieved sources

protocol index 2026-09-14
Network intake protocol§3.2 Cough lasting over two weekspassage 3.2.1
Network intake protocol§2.1 Red-flag list: not triggeredpassage 2.1.4
Pre-visit summary templateRespiratory presentationssection B

Output, as accepted

1 edit by reviewer
Pre-visit summary · respiratoryCough for approx. three weeks following a cold, worse at night. Denies haemoptysis. No regular medicines reported. No red-flag features identified against protocol §2.1.
Acceptedclinical-record

Versions & authorizer

Promptintake-summary v14
Modelsummarizer build 2026.08.2
Retrieval indexprotocol index 2026-09-14
Authorized byDr Imogen Hale · Physician · named reviewer
Retention classclinical-record
On screen

One intake conversation reconstructed from the append-only log: the inputs as the model saw them after redaction, the retrieved sources, the accepted output, the prompt and model versions, and the clinician who authorized it.

Ways of working

How the engagement ran

A cross-functional team of 4 worked on a fixed price basis over 8 weeks, covering Reference architecture, Risk & governance review, Adoption roadmap. We ran two-week increments, each one shippable, reviewed with them before it merged. Decisions were recorded as they were made, so the reasoning survived the people who made it.

Eight weeks, fixed price, with the compliance lead in the room for the framework and the clinical leads for the pilot assessment. The consolidation recommendation was the difficult part and was made on clinical value first and technical fit second. Retiring two teams' work is a decision that has to be defensible to the people who built it, as well as to the network.

Three pilots, one framework

Three pilots carrying the same gaps is one problem, not three projects.

Each tab is one check from the network’s governance framework: how each intake pilot stood on it, what the reference architecture does in its place, and why that check pointed to one build. Switch tabs, or use the arrow keys once one is focused.

The framework requires

Every record carries a retention class, and something other than the application enforces it.

  • KGKingsmere Green · Front-desk assistant0/20Not met
    No retention defined anywhere
  • TRThistlewood Road · Pre-visit intake12/20Partly met
    Window set for summaries; transcripts kept indefinitely
  • ACAldercombe · Symptom questionnaire4/20Partly met
    Exports land in a shared drive with no expiry
  • Reference architecture20/20Met
    Retention classes enforced by the storage layer, never by application code.

Pilots meeting this check in full

0of 3

The same gap in all three pilots.

Why this pointed to one build

Not one pilot could say how long a patient's conversation was kept. The same omission three times is one finding, and it's fixed once: a retention class on every record that the storage layer enforces, so no application has to remember it.

Kingsmere GreenRetired

31 / 100

Clinical value low · folds in appointment-type mapping

Thistlewood RoadRebuilt

84 / 100

Clinical value high · onto the reference

AldercombeRetired

48 / 100

Clinical value medium · folds in translated question sets

Reference architecture

100 / 100

The framework’s checklist, applied to the design

Why three became one: the strongest pilot was chosen on clinical value first and technical fit second, then rebuilt on the reference; the other two were retired with their useful pieces folded in. One path means one thing to review. Totals are the recorded scores; the split into five checks of 20 points is illustrative.

Reference architecture

From what a patient says to what reaches their record

Retention, access and oversight are specified in the architecture, so no application has to remember them. None of it is optional per pilot, because there's only one path for it to sit on.

  1. 01 · Source
    Patient intake conversationOne intake build for every clinic on the plan, instead of three pilots each handling patient data its own way.
  2. 02 · Access
    Role check, server-sideAccess is role-based and evaluated server-side on every request, below any application's interface.
  3. 03 · Engine
    Retrieval-augmented model callEach call logs its inputs, retrieved sources, output, and the prompt and model versions that produced it.
  4. 04 · State
    Classed storage and append-only logRecords carry a retention class the storage layer enforces; logs are append-only on the clinical record's schedule.
  5. 05 · Delivery
    Named reviewer, then the recordOutput touching a clinical decision passes a named human reviewer before it reaches a patient record, and the authorizer is logged.

The question that started the engagement

Patient-data retention, access & accountability

How long it keeps what a patient said

Every record carries a retention class, and the storage layer enforces it. Retention is no longer something an application has to remember.

Who can see it

Access is role-based and evaluated server-side on every request. Hiding a screen in one app's interface, which is how all three pilots did it, no longer stands in for control.

Who decided, and on what

Every model call is logged append-only with its inputs, sources, output, versions and the person who authorized it, retained with the clinical record, so a later review can reconstruct it.

Governance gaps closed is measured against the framework’s own checklist applied to the reference architecture, not to a deployed system, which hadn't yet been rebuilt when the engagement ended.

Running more than one AI pilot against patient data? Scope your build in 3 minutes.

Scope your build
Have a project?

Let's talk

Running a large platform, shaping a first MVP, or getting a product ready for a funding round? Tell us where you are. We'll shape the process around it, and stay with you after launch.