The walkthrough — written for skeptical therapists

How SignalEHR turns a 50-minute session into a finished, signed note.

No marketing fluff. This page walks through exactly what happens from the moment the phone rings to the moment the insurance payment lands — the technology behind it, the safeguards around it, and the honest limitations of it.

What you get, in numbers

8 sec

voice → emotion signal on screen

8 min

average note time, draft to signed

94%

first-pass insurance acceptance

Zero

raw audio retained

Numbers from internal benchmarks across pilot practices, Q4 2025–Q1 2026.

01

Before the session

Amelia has the chart ready before they walk in.

The work that used to live in your evenings — chasing forms, running eligibility, holding copays, scanning intakes for risk language — happens in the background, automatically. By the time the session starts, the chart is current, the benefits are verified, and you know what you're walking into.

  • Intake forms sent the moment the slot is booked

    Demographics, history, presenting concerns, ROI, GFE acknowledgement. Smart skip logic — clients only see what applies. Most return them in under nine minutes.

  • Insurance verified in real time

    Stedi runs a 270/271 eligibility check the moment a card is added. Copay, deductible, mental-health benefit limits, prior-auth requirements — all on the chart before you walk into the room.

  • Card on file authorized, not charged

    Stripe pre-auth holds the copay so no-show fees become recoverable. The actual charge only fires after the session is signed.

  • Risk + readiness flags surface to you

    Amelia reads the intake free-text fields and flags suicidal ideation language, recent medication changes, and prior trauma history — so nothing important hides on page 14 of the form.

signalehr.com / amelia
Amelia AI handling intake, eligibility, and pre-session prep over chat

Amelia handling intake forms, insurance eligibility, and payment authorization over chat — before the session begins.

signalehr.com / liveLIVE
Live emotion timeline during a SignalEHR therapy session — valence, arousal, and regulation per speaker

The live affect view — gentle waveform on the periphery, no popups, no pings. You watch the client, not the screen.

~280ms

Transcript latency

~8s

Affect signal latency

0 KB

Raw audio stored

02

During the session

A second pair of senses — quietly, on the edge of the room.

Voice streams to Deepgram for transcription, then to our own affect engine that turns vocal cues into a regulation timeline you can glance at. No raw audio is ever stored. Crisis flags fire fast and quietly. The room stays the room.

  • Voice → emotion in roughly eight seconds

    Deepgram streams transcription with diarization. Our affect engine layers valence, arousal, regulation, and cognitive load over the transcript — per speaker, with confidence intervals.

  • A regulation timeline you can glance at, not stare at

    The sidebar lives at the edge of your peripheral vision. A single calm waveform that brightens when affect shifts. No popups, no pings, no tabs that pull your attention out of the room.

  • Crisis flags that fire fast and quietly

    SI/HI language, dissociative cues, agitation ramps — surfaced as a small amber dot. You decide whether to engage. SignalEHR never speaks in the room.

  • Per-speaker tracks for couples and family

    Two waveforms instead of one. Pursue–withdraw, criticize–defend, and other dyadic cycles surface as gentle pattern markers — useful with EFT, Gottman, and IFS work.

Couples & family work

Two waveforms. One cycle picture.

Pyannote diarization gives every speaker their own affect track, so pursue–withdraw, criticize–defend, and other dyadic cycles surface as gentle pattern markers. Useful with EFT, Gottman, IFS, and any modality that cares about the dance between two people.

  • Per-partner valence and arousal tracks
  • Cycle markers for common relational patterns
  • Couples-specific note formats included
SignalEHR couples session view with per-partner affect tracks and cycle markers

03

After the session

A finished, signed note in eight minutes — not eight at night.

The session ends. You pick a format and a modality. SignalEHR drafts a note grounded in the actual transcript and affect events — never invented. You read it, edit anything you want, sign it. The medical-necessity language for insurance is already there.

  • Pick a format, pick a modality

    SOAP, DAP, BIRP, GIRP, PIRP, SIRP, PIE, or your own template. Pair it with one of 16 modalities — CBT, ACT, DBT, EMDR, IFS, EFT, Gottman, MI, Schema, Narrative, and more — so the clinical voice matches what you actually did.

  • Draft grounded in transcript and affect, not invented

    Every assertion in the draft links to a transcript moment or a regulation event. Hover any line to see the source. No paraphrased fabrication — if SignalEHR can't ground a claim, it doesn't make the claim.

  • Outcome measures, recorded where you chart

    Record a PHQ-9, GAD-7, PCL-5, AUDIT or C-SSRS total in the client's chart and SignalEHR bands it by severity. ICD-10 codes suggested from content; you confirm.

  • You sign. SignalEHR locks it.

    Once you sign, the note becomes immutable in the audit log — addenda only after that point. The signed PDF is generated, attached to the chart, and pushed to the claim queue for Amelia.

signalehr.com / notes / new
SignalEHR AI clinical note formats — SOAP, DAP, and PIE side by side, drafted from session transcript and affect
SOAPDAPBIRPGIRPPIRPSIRPPIECustom

Seven clinical note formats or your own template, sixteen modalities. You pick; SignalEHR drafts in your voice and your style.

signalehr.com / billing / claims
Amelia auto-building an 837P insurance claim, scoring her confidence in it, and posting ERAs

Amelia builds the 837P, scores her confidence in it, sends it through Stedi after your review, and reconciles the ERA when it lands.

04

Behind the scenes

The note becomes a claim. The claim becomes payment.

Once you sign the note, Amelia drafts the claim, checks it against payer rules, and scores her confidence in it. In the US it goes out through Stedi after your review, and the ERA is reconciled when it returns. In Canada she codes and validates the claim for TELUS and you submit it in your own portal. Every result is recorded by payer and code, so a denial that keeps repeating gets flagged next time. The aim is an A/R aging report that stops being a horror story.

  • Amelia builds the 837P claim

    She pulls CPT, ICD-10, place-of-service, and modifier set from the signed note. She knows your payer-specific quirks — Aetna's preferred POS, Cigna's modifier conventions, Blue Cross regional fork — because she's seen them paid before.

  • A confidence score on every claim before it goes out

    Each claim gets a confidence score. Below the threshold, Amelia holds it for your review and tells you what looks wrong (wrong modifier, missing prior-auth, units mismatch) so you can fix it before submitting, not after.

  • ERA auto-posting and a denial queue

    835s come back through Stedi, post against the claim, and reconcile against the patient ledger. Denials get categorized and queued with a suggested fix drawn from similar past denials. You approve the fix. Amelia does not resubmit on her own.

  • She keeps score so you don't have to

    Paid claims, denials, and the corrections you make all get recorded by payer and code. When the same denial repeats often enough, it becomes a rule that flags the next claim. The ledger starts empty. The rules come from your own claims as they return, and a rule only ever warns and suggests.

Under the hood

We picked boring infrastructure on purpose.

SignalEHR isn't built on novel infrastructure or experimental models. It's built on the boring, reliable, audit-friendly stuff — Google Cloud, Stripe, Stedi, Deepgram, Anthropic — wired together with care and a lot of tests. Boring is a feature when the data is PHI.

1,000+

API endpoints

9,500+

automated tests

140+

frontend pages

5

regions covered (US + CA)

AES-256TLS 1.3No live-session audio retentionPer-row PHI audit logSOC 2-alignedBAAs across the stack

The stack, layer by layer

  • Speech-to-text

    Deepgram Nova

    Real-time streaming with sub-300ms latency. HIPAA BAA in place.

  • Speaker diarization

    Pyannote.audio

    Open-source, self-hosted. Per-speaker tracks for couples, family, and group.

  • Affect & regulation engine

    Custom (SignalEHR)

    Built in-house. Five-dimension model — valence, arousal, regulation, load, variability.

  • Clinical reasoning

    Anthropic Claude

    BAA-covered model calls. Grounded in transcript + affect, never invents quotes.

  • Database

    Google Firestore

    Multi-region. Per-document audit log on every PHI access.

  • Compute & infra

    Google Cloud (us-central1)

    Cloud Run for the API. Cloud Scheduler for background jobs. SOC 2-aligned.

  • Encryption

    AES-256 in transit + at rest

    TLS 1.2+ on the wire, Google-managed keys. Stored billing credentials add an app-layer AES-256-GCM envelope.

  • US insurance

    Stedi clearinghouse

    3,400+ payers. Real-time 270/271 eligibility, 837P claims, 835 ERA.

  • Canada insurance

    TELUS eClaims

    Claims coded and validated for 16+ insurers. You submit in your own TELUS portal. Insurance receipts for everyone else.

  • Payments

    Stripe

    Pre-auth, payment plans, A/R aging. Cards never touch our servers.

Multi-tenant isolation

Per-clinic row-level security in Firestore. A practitioner in Clinic A cannot read Clinic B data — enforced at the database, not the app.

Region-aware data residency

Canadian clinics' PHI stays in Canadian regions. US clinics in US regions. Configurable per-tenant for enterprise rollouts.

The honest answers

Common worries, answered honestly.

These are the questions therapists actually ask in our pilot calls. We answer them the same way here as we do on those calls. No spin.

Will it disrupt the therapeutic alliance?

Honest answer: only if you let it. SignalEHR never speaks, never beeps, and never opens a window in front of you. The affect timeline lives in your peripheral vision — glance at it when you want to, ignore it when you don't. Clients are asked to consent to recording up front. Your eyes stay where they belong.

Is my client data safe?

Yes, and we're specific about what that means. Live session audio is held in memory while it is transcribed and then discarded. Audio you upload or record deliberately, for group and family sessions and for offline recordings, is stored encrypted, kept for up to 30 days, and then deleted automatically. Beyond that, what persists is your encrypted transcript and embeddings, and only with explicit, revocable client consent. Every PHI access is logged at the row level. We're HIPAA-compliant in the US (signed BAAs with every subprocessor that touches PHI), PIPEDA-compliant in Canada (with PHIPA, Law 25, HIA, and PIPA province controls), and our infrastructure is SOC 2-aligned. If you ever want your data out, you get a full export within 72 hours, no questions asked.

What if it gets a note wrong?

It will sometimes — that's true of any documentation tool, including the one you're using right now. The difference is how we handle it. Every line in a Signal-drafted note is grounded: hover any sentence and you see the transcript moment or affect event it came from. You read the draft, edit anything you want, and sign. Nothing leaves the system unsigned. If the draft is materially wrong, you fix it before you sign, and the signed note is the record. SignalEHR does not learn your style from your edits today.

Does SignalEHR replace my clinical judgment?

No. SignalEHR is decision support, not a decision-maker. The affect timeline shows you what the voice signal looks like; you decide what it means in the context of this client and this relationship. The note draft is exactly that — a draft. The treatment plan is yours. The diagnosis is yours. The risk assessment is yours. SignalEHR's job is to remove the typing, not the thinking.

How long does setup actually take?

It depends on how much you bring with you. If you are coming from SimplePractice, Jane or TherapyNotes, we suggest running the two in parallel for a week, then cutting over inside 30 days: the importer brings the client list across (names, emails, phones, dates of birth and notes) while appointments and past notes stay in the old system. That's what the parallel week is for. Run the import yourself from Clients → Individuals → Bulk Import, or we'll do it with you on a shared call. There's no per-seat onboarding fee.

What about insurance claims that get denied?

Denials are categorized and queued automatically. For the common categories (wrong modifier, missing referring provider NPI, units mismatch, eligibility lapsed) Amelia drafts the corrected claim and you approve it. The ones that need more from a human (medical necessity, appeal-with-records) are surfaced to your billing dashboard with a one-click drafting flow.

Can I try it without committing to a migration?

Yes. The 14-day free trial is the full product — clinical AI, AI notes, Amelia for chat and SMS, telehealth, billing, all of it. No credit card required. A good test is two or three real sessions, so you see what the affect timeline does in your own room with your own clients before deciding anything.

You stay in control

Consent, off-switches, and exits — all real.

Every client signs a recording consent before audio is processed. They can revoke it at any time. You can disable the affect timeline per-client, per-session, or globally. SignalEHR works as a regular EHR for any client who prefers it that way.

Per-session record toggle

Default off until consent is on file. Visible to the client and the clinician at all times during the session.

Revocable consent

Clients revoke from their portal. Revocation triggers immediate deletion of transcripts and embeddings tied to their record.

Affect off-switch

Disable the affect timeline per-client or globally. Notes still draft from transcript alone if you prefer.

72-hour data export

Full export of charts, notes, billing history, and audit logs in standard formats — within 72 hours of request.

Tuesday, 2:00 PM

One session, end to end, in real time.

A look at the choreography across roughly two hours, from the moment a returning client books to the moment the claim posts.

  1. T-24 hrs

    Reminder

    The appointment reminder goes out. Text reminders go only to clients who opted in.

  2. T-30 min

    Eligibility + payment hold

    Stedi runs a fresh 270/271 eligibility check. Stripe pre-authorizes the copay. Both results land on your dashboard before you walk in.

  3. T-0

    Session begins

    Client consents to recording (on file from prior visit, confirmed today). Deepgram starts streaming. Affect engine warms up. The room is just the room.

  4. T+12 min

    Affect shift detected

    Client moves into a regulation valley around work stress. The waveform on your sidebar dims. You notice. You stay with it.

  5. T+50 min

    Session ends

    Audio buffer is cleared from memory. Transcript and affect events are encrypted and stored. Raw audio: zero bytes retained.

  6. T+58 min

    Note signed

    You pick SOAP + CBT. SignalEHR drafts a 380-word note grounded in the transcript. You read, edit two sentences, sign. Note is locked, PDF generated, copay captured.

  7. T+59 min

    Claim built and submitted

    Amelia builds the 837P with CPT 90834, payer-specific modifier, and place-of-service. Amelia scores her confidence in the claim. If you have auto-submit on and the score clears the bar, the claim goes to Stedi. If not, it waits in your review queue.

  8. T+72 hrs

    ERA posts

    835 returns, posts against the claim, reconciles to the patient ledger. Variance under threshold — no human review. Days-in-AR for this visit: 3.

See it in your own room with your own clients.

Fourteen days. Full product. No credit card. The best way to evaluate SignalEHR is to run two real sessions in your trial — the affect timeline tells you everything in five minutes.

Questions first? Email hello@signalehr.com — a real human reads it.