← Back to list

Finally, an AI That Writes Therapy Notes You Can Actually Sign

Why a trustworthy therapy note takes more than a transcript and a language model

Sudipta Sarkar · 2026-06-04 19:32 · 0 claps · 5.9 min read
#ai-in-healthcare #mental-health-technology #clinical-documentation #psychology #real-time-analytics
Open on Medium ↗
Wiki topics: LLM · Large Language Models PSY · Mental Health & Psychiatry DH · Digital Health & Health Tech PSY · Psychology GRW · Growth & Analytics 🧠 · Mental Wellness

Finally, an AI That Writes Therapy Notes You Can Actually Sign

Why a trustworthy therapy note takes more than a transcript and a language model

I’ll start with the worry, because it’s the one every therapist has about AI notes and the one most vendors quietly route around. What happens when the software makes something up?

The pitch is everywhere by now. Point a microphone at the session, and AI writes your note. It lands because documentation is the worst part of the week for most clinicians. The notes stack up, and the evenings go with them.

But a progress note isn’t a meeting recap. It’s part of the clinical and legal record, and it has your name on it. If the software invents a symptom, or puts a client’s words in your mouth, that isn’t a small bug. It’s the kind of error that can follow a patient through their chart for years. “Mostly accurate” is not a thing you can sign.

That’s the problem we built SignalEHR’s note engine around. Here is how it works, and where it parts ways with a plain scribe.

Where a plain AI scribe goes wrong

Most scribes do the whole thing in one move. Audio becomes a transcript, the transcript goes to a language model, and the model writes the note. That single move is where hallucination lives.

A language model is, underneath, a fluency machine. It’s trained to produce text that reads like a competent clinical note, and when the transcript is clean, it does. The trouble starts when the session is messy, and sessions are usually messy. People trail off. Audio drops. Two voices land on top of each other. When the input thins out, the model does what it was built to do and fills the silence with something plausible. And because the same step both observes the session and writes it up, you can’t go back and tell which sentences came from the room and which the model produced to be helpful.

Our whole design is about prying those two jobs apart. Observe in one place. Write in another. Don’t let the writer invent the thing it’s supposed to be describing.

A note has to know who said what

This is the step a generic scribe quietly skips, and it carries more weight than it seems.

A session is a conversation, and a note has to attribute it correctly. When a client says they’ve been having thoughts of not waking up, that line is the client’s, and it may belong in a risk assessment. A scribe that collapses both voices into one stream has to guess who spoke. Guess wrong, and you’ve logged a client’s disclosure as your own remark, or handed an intervention to the person who didn’t make it.

So SignalEHR separates the audio into distinct speakers before it writes a line. We use Deepgram for live transcription, which returns speaker labels as the conversation streams in. Those labels aren’t reliable on their own, so a background pass with pyannote goes back over the audio and corrects the ones it can, and the therapist can reassign a speaker with a single click when the machine still has it wrong.

What that buys you is attribution that holds up. In an individual session it’s a clean split between therapist and client, so first-person statements stay with the right person. In couples work it’s three people kept apart, therapist and both partners, which is the only way to track each partner on their own instead of averaging the room into one mood. In groups it’s everyone present, with attendance and per-speaker attribution. By the time the note gets written, every line already has a name on it.

Live sessions and recorded ones are different problems

We run two pipelines on purpose, because a one-on-one and a packed family session don’t behave the same way.

Live individual and couples sessions stream in real time through Deepgram. The audio is transcribed on the fly, and the clinical analysis runs while the session is still going. That live read is the only way to surface something while it can still change the next ten minutes in the room, like a client’s affect dropping or a risk indicator climbing. The cost of going live is that streaming speaker labels are unstable in the moment, which is exactly why that background correction pass exists.

Recorded sessions, especially groups and families where several people talk over a longer stretch, go through AssemblyAI’s batch pipeline instead. Handing the system the whole recording at once, rather than a live trickle, buys much cleaner multi-speaker separation and word-level timing in the noisy, crowded rooms where live transcription tends to come apart. You trade the real-time read for accuracy where accuracy is hardest to get. Neither path wins outright. They fit different moments.

The part that isn’t a language model

Here is what really separates this from a scribe, and it’s the piece I’d point a skeptical clinician to first.

Before a word of the note exists, a deterministic engine reads the session. Not a second AI. A rule-based one, built on adaptive neuro-fuzzy inference, which is a long name for a system that runs on fixed rules rather than learned guesses. It listens to the sound of the conversation, the pace, the pauses, the energy in the voice, and it reads the language in the transcript, and out of that it produces the clinical readings a therapist already reasons in: anxiety, depression, the strength of the alliance, the level of risk. As numbers.

Because it runs on rules, it has no temperature and no imagination. Send the same session through it twice and you get the same numbers twice. The affect and the risk in your note are measured, not written up from a hunch. So by the time the writing step arrives, it doesn’t have to infer how distressed someone was from the mood of a transcript. That reading is already sitting there, grounded in the acoustics and the language, and it doesn’t shift between runs.

The writer only arranges what’s already there

Now, and only now, does a language model step in, with a much smaller job than a scribe hands it.

Its inputs are fixed. The verified transcript with speakers attached, plus those measured readings. Its task is to lay that material out in whatever structure the clinician documents in, whether that’s SOAP, DAP, BIRP, or another standard format. It works against a strict template, and diagnostic codes come through as suggestions to confirm, never as a diagnosis the model decided on its own. A scribe asks the model to write the note. We ask it to take this evidence and arrange it in this shape. A narrow instruction is much harder to hallucinate against than a blank page.

So, about hallucination

I won’t tell you we’ve solved it. Anyone promising an AI that can’t be wrong is selling you the exact overconfidence you should be wary of. What we’ve done is make it a good deal less likely, and then keep a human at the end anyway.

The writer only ever sees the real session, so there’s nowhere for outside information to leak in. The clinical readings come from a reproducible engine, so the numbers don’t drift. The speakers are separated, so nobody’s words get reassigned. The template and the suggest-don’t-diagnose rule keep the prose pinned to the evidence. And every note lands in the chart as a draft, for the licensed clinician to read, correct, and sign. The software proposes. The clinician decides. The architecture lowers the odds of a mistake, and the human catches what’s left before it becomes part of the record.

Why this matters

A scribe is tuned to sound like a good note. We tuned for a note that’s faithful to the session that actually happened. We did that by separating the voices before writing, measuring what can be measured with something deterministic, boxing in what the language model is allowed to do, and leaving a licensed human as the author.

It’s a smaller promise than “the AI does your notes for you.” It asks the clinician to stay in the loop, and in mental health, the clinician should be in the loop. But it’s the honest version, and honest is the only kind of automation I’d want anywhere near a chart.

If you’ve been waiting for an AI note you’d actually put your name on, that’s the bar we wrote toward.

— -

SignalEHR is an AI clinical-intelligence and practice-management platform for licensed therapists in the US and Canada. See how it works at signalehr.com.](https://signalehr.com).)*


메타데이터
post_id
65c4aec4b944
slug
finally-an-ai-that-writes-therapy-notes-you-can-actually-sign-65c4aec4b944
url
https://medium.com/@sudipta456/finally-an-ai-that-writes-therapy-notes-you-can-actually-sign-65c4aec4b944
canonical_url
https://medium.com/@sudipta456/finally-an-ai-that-writes-therapy-notes-you-can-actually-sign-65c4aec4b944
author_url
https://medium.com/@sudipta456
status
ok
fetched_at
2026-06-09 15:37:30