Clinical Documentation

The exam room belongs to the patient, not the keyboard. AI is imperfect — so we add structure. Every encounter becomes a versioned form: the ambient scribe streams into bounded, coded fields that flow through SOAP/APSO note generation, bidirectional write-back to the problem list, and encounter sign-off — all on a single encounter surface. The clinician talks; the platform fills the form; every line of the chart traces back to the audio that justifies it. Each visit teaches the form, and the forms evolve toward steadily more efficient and more accurate encounters.

Key Capabilities

Ambient Recording with Audit-Linked Transcript

One tap starts capture. Audio streams from the iPad microphone, an in-room mic, or a paired mobile device. Patient consent is recorded before the first byte is persisted. Real-time transcription with speaker diarization produces ScribeUtterance rows — each labeled as clinician, patient, family, or staff, with millisecond-precision start/end offsets. The transcript is never the deliverable on its own; it is the evidence layer that every structured output points back to.

SOAP Section Auto-Population

Within 60 seconds of "End encounter," the platform produces a structured draft note with HPI, ROS, PE, and A/P sections. Each sentence carries an evidence link back to the audio timestamp that justifies it — the clinician can click any line and play the corresponding 5-second audio clip. Both traditional SOAP (S → O → A → P) and the assessment-first APSO (A → P → S → O) layouts are supported per clinician preference; the underlying data model is identical.

Problem List Reconciliation

The scribe does not stop at prose. It proposes structured updates: new problems for the problem list (SNOMED-CT + ICD-10-CM coded), new medications or dose changes, new allergies, and new orders. Each proposal is queued in a per-clinician review surface; nothing reaches the patient's global record until the clinician accepts or edits it. On accept, the clinical fact is written with the practice's SourceOrganizationID in the audit trail and joins the patient's longitudinal record — visible at every practice the patient consents to share with.

Order Staging Within the Encounter

Proposed orders — prescriptions, lab requisitions, imaging, referrals — appear in the encounter alongside the draft note. The clinician reviews, modifies, and signs them in one pass. Orders flow downstream to the eRx, Referrals, and Coding / CDS modules without leaving the encounter surface.

Structured Question Library & De-duplicated Add-Question Modal

Structured questions are only as valuable as they are consistent. When every clinician invents their own phrasing — "Any fever?", "Do you have a fever?", "Fever?" — the questionnaire data fragments into near-duplicates that no longer roll up cleanly for analytics, registries, or quality measures. This module governs the practice's question bank so the same clinical concept is captured the same way every time.

The Problem — Question Sprawl

Without a shared library, structured questions multiply uncontrolled. Three clinicians asking about the same symptom produce three different fields, each with its own ID, none of which aggregate. Reporting degrades silently, intake forms drift apart between providers, and the longitudinal record loses comparability. The library exists to keep capture standardized without forcing clinicians through a rigid, centrally-curated catalog they cannot extend.

The Add-Question Modal

During a visit, the clinician opens the Add question modal to attach a structured question to the encounter questionnaire. The modal opens onto a searchable list of existing questions — the StructuredQuestion entries that have already been asked and answered across the practice's encounters, surfaced from the shared QuestionLibrary. The default path is reuse: the clinician finds the standardized question they need and adds it as-is, inheriting its coding, answer type, and analytics lineage.

Search accepts text and voice. The clinician can type a few words or dictate the question aloud; the same ambient-capture pipeline that powers the scribe transcribes the spoken query and runs it against the library. Whether typed or dictated, the input is matched against existing questions before anything new is created.

Add-New, With De-duplication First

Clinicians are never blocked from adding a genuinely new question — the library is meant to grow. But the system surfaces similar existing questions first. As the clinician types or dictates a new question, the modal filters the library by semantic similarity and shows the closest matches inline. If the proposed wording closely matches a question already in the bank, the UI nudges the clinician to use the existing one ("Did you mean Any fever in the last 48 hours?") rather than minting a near-identical duplicate. Only when no suitable match exists does the clinician confirm and create a new StructuredQuestion, which then joins the library for everyone else to reuse.

Why It Matters

The result is a governed, de-duplicated, reusable structured-question library: consistent data capture across every clinician, analytics-friendly fields that aggregate cleanly for reporting and quality measures, and a question bank that grows deliberately instead of sprawling. Reuse is the path of least resistance, new questions are still one tap away, and the practice's questionnaire data stays comparable over time.

Persona Connections

Technical Highlights

Provenance Pipeline

The spine of this module transforms org-scoped operational data (audio, raw transcript, LLM proposal, review state) into global clinical facts (the patient's Problem, ProblemList, Allergy, Medication) — with the SourceOrganizationID preserved on every global fact:

  1. Clinician taps "Start scribe" → ScribeSession created, consent captured.
  2. Audio captured and encrypted → ASR diarization → ScribeUtterance rows persisted.
  3. LLM structured extraction → ScribeStructuredOutput proposals with evidence links.
  4. Clinician review queue → accept / edit / reject / defer per proposal.
  5. On accept → atomic write-back to global clinical fact with SourceOrganizationID.
  6. Patient's global record updated → read-access audit on every subsequent view.

Delivery Phases

Phase 1 — Manual SOAP + Scribe Foundations
Clinicians document using structured SOAP templates with manual entry. The encounter shell, EncounterNote versioning, and the ScribeSession / ScribeUtterance entities ship. One-tap scribe start with consent capture is available. Draft note generation latency target: p95 ≤ 60 seconds. Structured write-back to the problem list is active but requires explicit clinician accept on each proposal. Note review queue and 24-hour undo window are live.
Phase 2 — Encounters as Versioned Forms
The full structure-first scribe delivers form-driven draft notes with evidence links from transcript timestamps — every section is a bounded field, never a free-text guess. SOAP auto-population runs on the captured audio. Bilingual (English/Spanish) capture with diarization labeling speaker and language. Real-time coding suggestions from the Coding / CDS module appear alongside the draft. Pre-visit briefing pulls the patient's global record (problems, meds, allergies, labs, imaging) and TEFCA-sourced outside records. Form templates are versioned and continuously improved from accept/edit/reject signal — driving the platform toward steadily more efficient and more accurate encounters. Structured write-back acceptance target: ≥ 70% without edit.
Phase 3 — Advanced Capture & Multi-Clinician
Offline capture mode buffers audio during connectivity loss for asynchronous note generation. Multi-clinician encounters support group visits with diarization-assigned per-clinician sections and individual sign-off. Specialty-specific template packs (beyond primary-care defaults) become available. Version-history diff rendering between any two EncounterNote versions is added.

Success Metrics

Regulatory Touchpoints

Module Dependencies

Try This in the Demo

Developer Reference — Entity schemas (Encounter, EncounterNote, Problem, ScribeSession & more), RBAC, FK diagrams, and functional/non-functional requirements: Clinical Documentation Dev Spec →