Quick summary
After the clinician taps Stop in your UI to end the ambient session, poll session status until a terminal state. Open the note editor only when status is
completed. Treat skipped as too little audio, not as an API failure.running. Do not open an editable ambient note editor until status is completed.
When you handle status well, it helps clinicians to:
- Trust that Stop button actually started note generation.
- Know when it is safe to review and edit the note.
- Understand a short or silent recording without blaming “the API.”
- Avoid dictating into a section before ambient session has finished.
- A recorder UI that moves from Recording → Generating → a clear outcome screen.
- Polling after End until
completed,skipped,failed, oraborted. - Copy and primary actions for each outcome (open note, Record again, retry, or clear cancelled state).
- Dictation microphone disabled while ambient session is recording or generating.
These patterns apply when you build your own ambient experience with the Ambient APIs or the Headless modalities. The headed Web SDK already provides Generating and outcome screens, so you do not need to recreate this status UI. You still need the same status model if you retrieve content yourself or combine Ambient workflow with Dictation workflow.
How status fits the visit
Ambient session generates the clinical note after the session ends, not as a live document that updates sentence by sentence during the visit. That is why Generating is a real screen in your product. Clinicians should see that something is happening, and they should not edit an empty chart while Suki is still processing. A good UX is to keep chart editor unavailable until status iscompleted.
Design the clinician experience
Align your team on what each Stop moment looks like before you wire the poll loop.What each status means in the product
Suki needs enough audio to build a note. Recordings shorter than about one minute, or sessions with an empty transcript, often finish as
skipped with empty content. That is expected product behavior, not a broken integration. The same guidance appears when you end the session and in Ambient audio streaming.When Should You Poll
When Should You Poll
Poll after End, while the screen shows Generating. Do not poll for status during live capture. Pause during capture is a stream
PAUSE / resume message, not a status API value.Can You Open the Note while Generating
Can You Open the Note while Generating
No. Do not call content or structured-data APIs while status is
running. Ambient generates the note after End, not as a live document during the visit.How Skipped Differs from Failed
How Skipped Differs from Failed
skipped is too little audio or an empty transcript (about one minute when you can). Offer Record again. failed is a processing error. Log the ambient session ID and offer retry or support. Neither is a successful empty chart.What Aborted Means
What Aborted Means
aborted means the client or user cancelled. Confirm cancellation, stop polling, and do not fetch content. Do not treat cancel as a completed note.How to implement status in your application
After Stop, follow this sequence in your product.1
Finish the Stream and Call End
Send end-of-audio (
RU9G), close the WebSocket, then call End. See Complete an ambient visit.2
Show Generating and Poll Status
Keep the clinician on a “Generating note…” screen. Poll Get ambient session status until a terminal value. Do not open the note editor yet.
3
Branch the UI from the Terminal Status
On
completed, fetch content and open review. On skipped, offer Record again. On failed, show retry or support and log the ambient session ID. On aborted, clear generating state.4
Enable Follow-On Actions
After
completed, enable section edit and optional Dictation Speak. Continue with Get the generated clinical note.- TypeScript
- Python
Implementation checklist:
- Poll only after End.
- Show Generating while
running. - Open the note only on
completed. - Treat
skippedas too short / no note (about one minute when you can). - Log
ambient_session_idonfailed. - Clear Generating on
aborted. Do not fetch content. - Keep Dictation Speak off until a
completednote is on screen. See Ambient vs Dictation streaming.
Next steps
Get the generated clinical note - Load note sections, transcript, and structured data aftercompleted.
Complete an ambient visit - Wire Stop with RU9G, End, and Generating.
Get ambient session status - Status values and request examples.
Poll session status before fetching content - Short poll recipe.
Ambient vs Dictation streaming - Keep Speak off while Ambient records or generates.