ambient_session_ididentifies the recording session.note_ididentifies the note linked to that session. Use it with note-level Ambient APIs.
emr_encounter_id when the note must work across modalities. For re-ambient, reuse encounter_id when you sent it. If the first create omitted encounter_id, pass the returned note_id as the encounter_id field value. For Mobile SDK and Web SDK field names, see Interoperable identifiers.
Prerequisites
- A valid Suki Token for Ambient API requests. See Partner authentication.
- For cross-modality notes, an
emr_encounter_idyou can send on create. See Interoperable identifiers.
Session vs visit
An ambient session is a recording. A patient encounter is the visit. One encounter can have multiple ambient sessions. For example, a clinician might start recording, end the session, and then start another session later during the same visit.Build the Start Ambient flow
Your Start ambient flow should connect the clinician’s action to the correct patient encounter and then continue into the rest of the Ambient workflow.Start from the patient encounter
Place your Start Ambient control in the encounter or chart where the clinician is already working.ambient_session_id, note_id, or other Suki identifier manually.Create the session
When the clinician starts recording, call Create ambient session API. The response provides the identifiers your application needs for the session:Continue the recording flow
After create, continue the Start ambient path: seed context, stream audio, end the session, then poll status and retrieve the note. The create call is the start of the recording workflow, not the entire ambient integration. See What to do right after create for the full sequence after a successful create response.Decide which create fields to send
You do not need to send every field on create. Send only what your product needs.If You Only Use Ambient APIs on One Client
If You Only Use Ambient APIs on One Client
-
Call create with an empty body. Suki returns
ambient_session_idandnote_id. Store both, then continue with context, streaming, and End. -
You do not need
emr_encounter_idorencounter_idfor this path.
If the Note Must Work Across Web, Mobile, and APIs
If the Note Must Work Across Web, Mobile, and APIs
-
Pass
emr_encounter_idon create. Use a UUID or non-UUID value, at most 36 characters, for your EHR visit. -
Without
emr_encounter_id, Suki still creates the ambient session, but the note cannot move across modalities. - See Use interoperable ambient notes across modalities.
If the Clinician May Record Again on the Same Note
If the Clinician May Record Again on the Same Note
-
If the first create sent
encounter_id, reuse that sameencounter_idon later creates (up to 255 characters). -
If the first create did not send
encounter_id, pass the returnednote_idas theencounter_idfield value for re-ambient. Create has no separatenote_idrequest field. -
Store
encounter_idyourself when you send it. Create does not returnencounter_id. -
Keep the same
note_idfor note-level APIs. Each new recording gets a newambient_session_id, but it stays on the same note.
What Not to Send on Create
What Not to Send on Create
- Do not send patient details, note sections, diagnoses, or note style on create.
- Send visit context after create with Seed ambient session context.
- Send note style (Concise / Balanced / Detailed) with Note Personalization.
-
Multilingual is on by default for Ambient APIs and Web SDK. Do not send the deprecated
multilingualfield.
Supporting multiple sessions
If your product allows a clinician to record more than once during a visit, treat each recording as a separate ambient session while keeping it associated with the same encounter. Do not treatambient_session_id as the identifier for the patient visit. It identifies the individual ambient session recording.
When those recordings continue the same clinical note (re-ambient), reuse encounter_id when you sent it. If the first create omitted encounter_id, pass the returned note_id as the encounter_id field value. Keep the shared note_id for note-level APIs:
Multiple notes on the same EHR visit
An EHR visit can have multiple clinical notes. In this case, each note has its ownnote_id, while the notes are associated with the same EHR visit through emr_encounter_id.
emr_encounter_id is the ID of the EHR visit. Your application provides this value when you create the ambient session. Suki does not generate it.
When you use the same emr_encounter_id for interoperable Ambient workflows:
- Suki associates the ambient session work with that EHR visit.
- The visit can have multiple ambient notes over time.
- Each note has its own
note_id.
emr_encounter_id you used when creating the session. The response returns the notes associated with that visit. Use a returned note id as the note_id for note-level APIs.
Cross-modality workflows
Cross-modality ambient session means clinicians can work on the same clinical note across more than one Suki ambient session product. For example:- Start ambient session on the Mobile SDK or Ambient APIs during the visit.
- Open the same note later in the Web SDK to review and edit.
- Retrieve the latest note text through the Note-level APIs.
emr_encounter_id when you create the ambient session. That value is your EHR visit id (UUID or non-UUID, at most 36 characters). Your application provides it. Suki does not generate it.
emr_encounter_id, Suki still creates an ambient session, but the note is not interoperable across modalities.What to send on create
Which IDs to store
Your UI does not need to show these IDs. Your backend and visit state do.skipped after End. Design Start so clinicians understand they are beginning a real visit capture, not a one-second tap. See Check note status.Example: create, then store IDs for the visit
- TypeScript
- Python
What to do right after successfully creating a session
Creating a session starts the ambient session and returns the identifiers you need for the rest of the workflow. It does not finish the entire workflow. After a successful create response, keep the clinician on the Start ambient path. Store the IDs, set context, stream audio, then end the session and retrieve the note when it is ready.Store the IDs from the Response
ambient_session_id and note_id with the active visit. Use note_id for note-level APIs later. You need these IDs for context, streaming, End, status, and note retrieval.Seed Session Context
Open the WebSocket and Stream Audio
/ws/stream and capture audio while the clinician is recording. See Stream ambient audio in your product.End, Poll Status, Then Retrieve the Note
RU9G, call End, and poll status. Open the note only when status is completed.See Complete an ambient visit, Check note status, and Get the generated clinical note.Troubleshooting
Create usually fails when the request carries visit fields that belong on context, hits a concurrent session conflict, or your app stores the wrong ID for later calls.Create Returns a Conflict for the Same Encounter
Create Returns a Conflict for the Same Encounter
emr_encounter_id at a time. Wait at least 1 second before creating again for that encounter. On Mobile SDK, resolve the remote session conflict, then retry. See Resolve session conflict.Patient, Sections, or Note Style Rejected on Create
Patient, Sections, or Note Style Rejected on Create
section_format on create. Seed those with context after create, and set note style through personalization. Do not send the deprecated multilingual field either.Note Does Not Work Across Products
Note Does Not Work Across Products
emr_encounter_id on create when the note must be interoperable. Without it, Suki still creates the session, but the note is not shared across modalities.Wrong ID Stored for Later Calls
Wrong ID Stored for Later Calls
ambient_session_id for session APIs (stream, end, status, session content) and note_id for note-level APIs. Do not treat ambient_session_id as the patient visit ID.Next steps
Create ambient session API - Request and response fields. Seed ambient session context - Set visit context after create. Stream ambient audio in your product - Open/ws/stream after create.
Use interoperable ambient notes across modalities - Shared notes across products.