Try free →
Behavioral health

Behavioral health AI scribe 2026: SOAP, DAP, 90834 vs 90837, and the long-narrative problem

May 8, 2026 · 7 min read

AI scribes engineered for primary care visits hit a wall in mental health practice. A 53-minute psychotherapy session is not a 12-minute med-management visit with extra rambling. The narrative is long, the CPT code depends on a stopwatch, the privacy laws are stricter, and the vendor demos rarely show this segment because the failure modes are obvious.

Here's what actually breaks, what to look for, and what a DIY pipeline can do better than the $399/month tools.

Why behavioral health scribing is structurally different

The CPT timer problem (real revenue impact)

2026 reimbursement (Medicare national):

CPTTime threshold2026 Medicare allowable (national)
9083216–37 min~$72
9083438–52 min~$103
90837≥ 53 min~$155
+90836add-on with E/M~$48
90847family/couples 50 min~$108

A clinician seeing 6 sessions/day, 4 days/week, who downcodes 90837 to 90834 even 30% of the time loses $52 × 30% × 24 sessions/week = ~$374/week, or roughly $19,500/year. An AI scribe that locks down session duration from the audio file (not from your manual entry) protects this revenue.

SOAP, DAP, BIRP — what to use

FormatBest fitWhy
SOAPMed-management, integrated primary-care behavioral healthFamiliar to medical billers, fits prescribing workflow.
DAPOutpatient psychotherapy, individual sessions"Assessment" lets you connect today's content to longitudinal themes without forcing an objective/subjective split.
BIRPGroup therapy, intensive outpatient (IOP), substance use treatment"Behavior" + "Response" formats fit observable-action documentation that auditors and payers prefer for SUD.

Solo private-practice psychotherapists most often want DAP. Group practices working with multiple payers need both DAP and SOAP available. A scribe that hardcodes SOAP costs you flexibility.

The DSM-5-TR hallucination risk

Generic scribe LLMs trained heavily on primary-care notes will sometimes assert diagnoses ("Major Depressive Disorder, recurrent, moderate, F33.1") from a single session that mentions sad mood and sleep changes. This creates two problems:

  1. Audit exposure. Diagnosis without proper criteria documentation in the chart is a fraud finding.
  2. Patient harm. An over-coded F33.1 from week 1 follows the patient through every future record query — life insurance underwriting, child custody evaluations, security clearances.

Mitigation: prompt the LLM to only carry forward diagnoses already in the patient's chart, and to flag new symptoms for clinician review rather than auto-coding. Most ambient scribes don't expose this prompt; DIY does.

2026 vendor reality check for behavioral health

VendorFormat supportTime tracking42 CFR Part 2 covered?
Heidi HealthSOAP, custom prompts (DAP via prompt)Yes (audio duration)BAA covers HIPAA; Part 2 not explicitly addressed
Suki AIPrimarily SOAP; psychiatry templates existYesHIPAA BAA; Part 2 case-by-case
Eleos HealthBuilt for behavioral health: BIRP, DAP, SOAPYes, with CPT suggestionYes — addresses Part 2 explicitly
UphealTherapy-focused: DAP, BIRP, customYesHIPAA BAA; clarify Part 2 in contract
MentalycDAP, BIRP, SOAP, GIRP, PIRPYesHIPAA BAA
DIY (Whisper + Claude)Any format via promptFrom audio metadataYou control the chain — see BAA chain audit

Eleos, Upheal, and Mentalyc are the only purpose-built behavioral-health scribes worth a serious pilot in 2026. Generic scribes (Suki, Heidi, Abridge, Nuance) work but require prompt customization that most clinicians won't maintain.

DIY pipeline tweaks for therapy notes

The base solo-provider DIY stack (Whisper + Claude) handles therapy with three additions:

  1. Time tracking. Use ffmpeg to extract audio duration: ffprobe -i session.m4a -show_entries format=duration. Round down to the nearest minute. Pass to the LLM as a hard fact: "Session duration: 47 minutes."
  2. Format flag. Prompt: "Output as DAP" / "Output as BIRP" / "Output as SOAP". Single keyword, deterministic structure. Use system message to define each.
  3. DSM-TR safety prompt. "Carry forward only diagnoses listed in {prior_dx}. For new symptoms, write under 'Areas for clinician review' — do NOT assign new ICD codes."

Sample DAP prompt template

You are a behavioral health documentation assistant.

Patient: {patient_name}
Session date: {date}
Session duration (from audio file): {minutes} minutes
Existing diagnoses (chart): {prior_diagnoses}
Modality: {individual|family|group}

Output format: DAP

Rules:
- Determine CPT from session duration: 90832 (16-37 min), 90834 (38-52 min), 90837 (53+ min).
- Carry forward existing diagnoses only. Flag new symptoms under "Areas for clinician review".
- Use third-person clinical voice.
- Do not assert any diagnosis not in {prior_diagnoses}.
- Length: 250-450 words.

Transcript:
{transcript}

This prompt, fed to Claude or GPT-4 class models, produces clean DAP notes with correct CPT 90% of the time on first pass. Manual review still needed for the diagnosis section.

ROI math for solo therapist

The 42 CFR Part 2 watch-out

If your practice treats Substance Use Disorder, federal Part 2 rules require redisclosure consent that HIPAA does not. A scribe vendor whose BAA covers HIPAA but whose chain (Whisper sub-processor, LLM provider, storage) hasn't been audited for Part 2 is a compliance gap. Two questions every clinic should ask before signing:

  1. "Does your BAA address 42 CFR Part 2 specifically, or only HIPAA?"
  2. "List every sub-processor that touches audio or transcript, with its Part 2 status."

If the answer is vague, treat it as not covered.

Therapy session transcription at $0.05/min

BAA on request. No subscription floor. Bring your own LLM for DAP/BIRP notes.

Transcribe a session →