Proposed September 7, 2026. This specification follows the research report; it is not an implemented application or an approved clinical deployment.
Product promise
Capture an encounter reliably on iPhone, produce a readable transcript that makes speaker attribution explicit, and let the clinician verify and correct it quickly. Preserve data suitable for a future EHR adapter.
Initial assumptions: U.S., English first, one outpatient specialty, in-person visits, two primary participants with occasional caregivers/interpreters. Confirm the customer’s workflow before choosing the telephony scope or minimum supported iPhone/iOS version.
Technology selection decision
VoiceStudio is excluded from installation, evaluation, integration, and licensing work. Select speech components for their demonstrated fit to this product.
Prioritize clinically significant transcription errors, speaker/role attribution errors, capture reliability, and clinician correction effort. Healthcare deployment requirements are a prerequisite. Compare latency, device performance, and total cost among configurations that meet the quality requirements. Local inference is optional; do not make an offline/local mode a release requirement unless customer needs or measured results justify it.
The initial cloud comparison remains Deepgram Nova-3 Medical, AssemblyAI Medical Mode, and Speechmatics. Include local components only where they offer a concrete quality, privacy, or reliability benefit worth testing. No candidate has been established as the accuracy winner on this customer’s encounters.
First user flow
- Sign in to a clinic; choose dictation or encounter transcription.
- Create an encounter with a temporary patient reference; display the current patient/encounter prominently.
- Record the required consent/notice acknowledgement and confirm audio input.
- Start recording. Display timer, audio activity, recording state, and provisional transcript. A paused or interrupted state must look different from recording.
- Label participants as needed. Anonymous labels remain valid; the app must not force a guessed role.
- Pause/resume, then stop. Show upload/finalization state without implying the transcript is already reviewed.
- Review uncertain words and speaker assignments; tap a segment for matching audio; split/merge/reassign turns.
- Append clinician dictation as a separate addendum when necessary.
- Mark the reviewed revision approved and export through an approved route. Amendments create another revision.
Core records
Scroll table horizontally to see all columns →
| Record | Minimum fields |
|---|---|
| Clinic/user | Tenant ID, user ID, permitted roles, retention policy reference |
| Encounter | UUID, clinician ID, temporary patient reference, start/end time, locale, capture mode, lifecycle state |
| Consent event | Encounter ID, timestamp, consent/notice policy version, recording user, result |
| Audio chunk | Encounter ID, sequence, start/end sample offsets, format, sample rate, hash, local/upload status, storage reference |
| Participant | Encounter-scoped ID, display label, optional role, assignment source, confirming user/time |
| Transcript revision | Provider/model/version where available, processing settings, input chunk manifest, creation time, review state |
| Segment | Stable segment ID, times, text, participant ID or unknown, overlap marker, original provider speaker ID, provisional/final state |
| Review flag | Segment ID, flag type, source, severity if adjudicated, status, reviewer |
| Edit event | Before/after, affected record IDs, editor, timestamp, reason/type |
| Approval/export | Approved revision ID, user/time, intended patient reference, destination, result |
Provider IDs must not become our permanent participant IDs. Provider confidence may be absent; store it as optional and retain its type/source. Keep original provider output separately from clinician edits. Word-level timing is optional per provider and must not be fabricated; segment playback is the minimum supported experience.
Processing contract
Use adapters with explicit capabilities: live audio accepted, final file accepted, word timestamps, segment timestamps, diarization, known-speaker references, supported languages, and available confidence fields. A provider cannot silently claim a missing feature.
Possible pipeline choices for the spike:
- Deepgram medical live or batch with diarization.
- AssemblyAI medical live or batch with diarization.
- Speechmatics on the same comparison recordings.
- Apple on-device ASR plus local diarization.
- FluidAudio local ASR and diarization; optionally compare Argmax’s separate transcription/speaker components.
Compare a single live pass, local preview plus cloud finalization, and cloud live plus cloud finalization. Preserve the same source audio and reference annotations across configurations.
If selected for implementation, these operating modes must have clear semantics:
- Cloud-assisted: capture remains recoverable locally; authorized audio is uploaded for processing; retry only through an approved provider.
- Local-only: model assets are installed before recording, inference and content storage stay on device under the selected policy, and cloud fallback is disabled. Test network egress and device backups before describing the whole workflow as local-only.
Recording and recovery rules
Persist a chunk journal with sample offsets so restarts can identify gaps and duplicates. Upload idempotently using encounter/chunk identities. Avoid a single unfinalized eight-hour recording file as the only source.
Handle microphone denial, AVAudioSession interruption, route change, lock screen, network change, process termination, full disk, and upload/finalization failures. The app must never continue showing an active recording timer while input has stopped. Warn when microphone selection changes; an AirPods microphone near the clinician may poorly capture the patient.
Do not deploy noise suppression or primary-speaker isolation merely because it improves dictation. Test whether it removes quiet patients and secondary participants. Any silence trimming must preserve timeline mapping and not cut short responses or words at boundaries.
Pending, failed, completed, reviewed, and exported are separate states. A recording can be safely saved while its transcript is unavailable. A completed transcript can still require review.
First-build acceptance criteria
Scroll table horizontally to see all columns →
| Area | Concrete evidence required |
|---|---|
| Basic capture | Complete a 30-minute role-play encounter; play the saved recording; reconcile chunk durations and source timeline |
| Speaker review | Three speakers plus overlap; correct one turn and a participant; verify all affected segments and history |
| Stream reconnection | Interrupt connectivity; preserve earlier text, mark provisional output, avoid duplicated audio/text, keep speaker mapping explicit |
| Phone interruption | Receive/answer a call on a physical iPhone; recording state reflects actual interruption; resume and identify any gap |
| Lock screen and route changes | Verify actual recording and supported local inference while locked and after Bluetooth changes |
| Crash recovery | Terminate/relaunch in an active encounter; recover committed chunks and show missing/unfinalized material accurately |
| Clinical preservation | Test negative statements, medications, quantities, units, temporal changes, and caregiver statements against an annotated reference |
| Local mode, if included | Disconnect network after model download; produce supported output; verify content does not silently leave through another path |
| Access and deletion | Prove tenant separation and authorized replay; delete an encounter under policy and verify local, service, and provider behavior |
| Approval | Export the chosen approved revision; late model output cannot overwrite a clinician edit or approval |
Clinical quality thresholds require the clinical lead’s agreement and a held-out corpus. Passing these engineering checks alone does not establish clinical accuracy or readiness for every specialty.
Explicitly later
EHR read/write integration, automatic SOAP notes, coding recommendations, diagnostic decision support, patient voiceprints, arbitrary third-party call capture, and automatic all-day patient segmentation. Preserve extension points; do not let these features delay validating the transcription product.
Questions for the customer interview
- Is the human listening to in-person encounters, patient calls, or both? How is audio routed today?
- Which specialty, languages, accents, and participant types occur most often?
- What does the scribe deliver besides a transcript, and what chart access do they use?
- What are actual encounter minutes, turnaround time, correction time, and current service cost?
- Which iPhones, iOS versions, microphones, network conditions, and device policies must work?
- What audio/transcript retention and recording consent process does the practice approve?
- Would the clinician accept provisional live text with the best transcript after the visit?
- What demonstrated improvement would justify changing services and paying for VisitQuill?
No production provider, billing model, or delivery deadline is fixed by this draft.