OpenConsult — a fully local, open-source AI consultation assistant, built by a GP

Hello all. Marcus (@pacharanero) found me on Reddit and suggested I post here. Thank you for the invitation.

I am a GP in London, in UK general practice since 2008 and working privately now. I have built an AI consultation assistant called OpenConsult. It went public on 10 September under AGPL-3.0. I would like to show it to you, and more usefully I would like to hear what is wrong with it.

What it does

It helps during the consultation, then writes up afterwards.

During: a rough live transcript appears as people speak, and a side panel keeps a working differential, questions worth asking, and signs worth looking for. The panel revises itself as the conversation goes on.

After: the recording is re-transcribed at higher quality and diarised into Doctor and Patient, then a concise SOAP-style note is drafted in which every claim cites the transcript turn it came from. Click a citation and that turn opens. From a signed note, and only from a signed note, it will draft a referral letter. A separate panel answers guideline questions only from a local guideline corpus that the operator supplies, and declines when the corpus does not cover the topic.

Nothing leaves the machine. Speech recognition, clinical reasoning, embeddings and the voice all run locally. The reference machine is one RTX 4090 with 24 GB, and the models take turns on the card. That choreography is the whole trick and also the slowest part.

Every output is a draft. Nothing is final until the doctor edits it and signs it.

Watch the video

That is a whole consultation, five minutes and forty-three seconds, with an acted patient. It has never been run on a real patient and it never will be. It is not a medical device and it has had no regulatory assessment.

There is also an experimental auto mode, off by default, in which the assistant takes the history itself while the doctor supervises. It says plainly that it is a computer, invites the patient to tell their story, then asks the panel’s questions one at a time. The doctor can take it back with one tap. It needs a lot more refinement and I am not claiming otherwise.

The awkward parts, which I would rather say myself

Most of the code was written by an AI. I wrote the specifications, reviewed the work and refereed it. I have not tidied that away. Five runs in a real room turned up four serious defects that the test suite had passed, and each is written up with the reason no test caught it.

An independent security audit found twelve issues, one of them critical. What they were and what was done about them is in the repository.

The project began for Sinhala, because consultations in Sri Lanka are held in Sinhala, code-switched with English medical terms, and written up in English. A pre-registered evaluation showed that no available model transcribes that safely: drug names and numbers did not survive. So version 1 is English-only, and the negative result is published rather than buried.

What I would like from this forum in particular

Integration. OpenConsult has its own small patient database, because it had to start somewhere, and no route into EMIS or SystmOne. I have read Marcus’s guide to GP system integration options here. My honest question is whether a signed note from something like this can realistically reach a GP record through IM1 or GP Connect, or whether copy-paste is the truthful answer for a prototype, and for how long.

Coding the note. The note is prose with citations and carries no SNOMED CT. If you have done that mapping in anger, I would like to know where it hurts.

Where it breaks in a clinic. Everything so far has been a quiet room and a scripted patient. Background noise, a relative in the room, a patient who talks across you, a cheap microphone, a 12 GB card. What falls over first?

What the audit missed.

Repository: GitHub - IndyWH/OpenConsult: OpenConsult — an open-source, locally run AI assistant for the GP consultation: transcription, structured notes, clinical decision support and an experimental spoken history-taking mode. · GitHub

Archived on Zenodo as v1.0.0, DOI 10.5281/zenodo.22689261

Blunt is welcome. I would rather hear what is wrong with it than what is good about it.

I’d be tempted to use an off the shelf database for this such as aws healthlake or other with fhir api. Claude knows how to work with these.

For integration it’s probably IM1 you need if you are a doctors, other practitioner or care settings have to use different approaches.

Hi Nidy,

There is an interesting (and busy) AI in GP WhatsApp group that might be very interested in this and could definitely offer feedback and advice. @amcunningham might be able to get you signed up, if you are not there already. There is also an interesting discussion about whether a transcript is an adequate ’ record’ even if faithful to what was said. Traditionally a record has been a synthesis of what was said and the clinician’s thoughts, normally with a little (too little!) thinking/reflection time. It is a narrated story not a verbatim recording. This may matter less in secondary care settings but I certainly feel that we may be missing something in GP settings.

I want to disclose that Claude assisted me in writing up the original post. I hope that is not a negative for the members of this forum. I made the ‘AI slop’ argument for a pessimistic Redditer by comparing ‘AI slop’ to using GPS navigation to get to the Ministry of Sound for a good night out, rather than using a paper copy of the AZ map. I am new here and don’t know the etiquette for using humour in posts. I wondered how Ali G would navigate to the Ministry of Sound and joke about AI slop!

I also want to highlight that this is a free research prototype only and should not be used with a real patient or real patient data.

You may also find my post about OpenConsult on LinkedIn interesting.

Thank you. The idea was to run OpenConsult in a Desktop PC not connected to the internet. If you use OpenConsult, you will see pauses when the RTX 4090 in my case, crunches MedGemma. Yes the cloud will bring that down to a few seconds or less. I will check IM1. Thank you.

Hi @ian . I would love to join the WhatsApp group. Could @amcunningham please sign me up? Your point about the transcript is a hot topic at the Health Informatics department at UCL. ‘Accountability sink - Dan Davies’ is discussed. I hope UCL will use OpenConsult as a tool to do research in the AI Scribe arena. I wrote a BJGP Life essay about how much the transcript note should include and how much time we should spend scrutinising it before approving it. I will post the link here if it gets published. I share your feeling.

Hi Herath,

Welcome to the forum. And great to see someone else talking and living in open source. I see you just commited 1 hour ago. Brilliant.

And hats off to Marcus for casting his net far and wide to find like minded folk.

Mark

Thank you so much Mark. The latest commit was a document update in the help section of the repo: Dwarfs perched on the shoulders of giants

I read a bit about IM1. OpenConsult is a research prototype at this stage. It has no MHRA approval, it has never been used with a real patient, and it must not be used with real patient data.

I hope institutions will use it as a research tool. IM1 integration will be implemented if a specific research project requests it and has ethics approval.

Can I use it in my private practice clinics on my patients if I sign some sort of release along with my patients? I do not know how to provide you with excellent feedback without putting it to work in the real world. Besides, with me there, the chance of harm is minimized. I am training your software and find it no more dangerous than training medical students and residents.

I don’t think information governance rules allow you to use IM1 directly.

I think the way around this is to give your patients access via IM1 Patient Facing Services https://digital.nhs.uk/developer/api-catalogue/interface-mechanism-1-standards
They can “export” their data to your system.