1
Create an Ambient Session
Create an ambient session with
emr_encounter_id and encounter_id for an interoperable re-ambient workflow.2
Seed Patient Context
Seed patient context when the Web SDK may open the note later.
3
Capture Audio
Capture audio on one ambient modality.
4
Continue or Re-Ambient
Continue or re-ambient on another ambient product using the same
emr_encounter_id and encounter_id.5
Retrieve the Shared Clinical Note
Use the
note_id to retrieve the shared clinical note content and structured data using the note-level Ambient APIs.Prerequisites
- A valid Suki Token. See Partner authentication.
- An
emr_encounter_idyou can send on create so the note is interoperable across modalities. - Familiarity with create, context, streaming, and retrieve flows for Ambient APIs or the SDK products you use.
Example flow
To retrieve the latest note text, use the returnednote_id with the following API:
Step 1: Create an interoperable ambient session
Use the Create ambient session API to create a new interoperable ambient session. For a session to be interoperable, pass:emr_encounter_id: required EMR or EHR encounter id for the patient visit (UUID or non-UUID, at most 36 characters).encounter_id: groups re-ambient sessions for the same note. Reuse the same value when you sent it on the first create. If the first create omitted it, pass the returnednote_idas theencounter_idfield value.ambient_session_id: optional UUID for this recording session.
Example request
cURL
Example response
JSON
Step 2: Store identifiers returned by the API
After you create the new ambient session using the REST API, store the identifiers in your application.Store
emr_encounter_id, encounter_id, and note_id as these are the identifiers you will use to create and continue interoperable ambient sessions on another modality.Step 3: Seed patient context
The Web SDK requires patient information to display the patient profile. The Mobile SDK and Ambient APIs do not require these fields to create or continue an ambient session. Before the clinician opens the shared note in the Web SDK, call the Seed ambient session context API to provide the patient details.Example request
cURL
patient_id.name.dob.sex.
Seed the patient context before opening the Web SDK
- If you open the Web SDK before seeding the patient context, the shared note opens without a patient profile.
- If no patient context is provided for a new
emr_encounter_id, the Web SDK cannot load or create a note for that encounter. - If no patient context is provided for an existing
emr_encounter_id, providers cannot resume (re-ambient) the existing note.
Step 4: Capture audio on the first modality
Use the ambient modality that fits the first part of the visit: Record and complete that ambient session the same way you normally would for that product.Step 5: Continue or re-Ambient on another modality
To continue the same clinical note from a different ambient modality, create a new ambient session and:- Pass the same
emr_encounter_id(used asencounter.identifierin the Web SDK,emrEncounterIdin the Headless Web SDK, andkEmrEncounterIdin the Mobile SDK). - Pass the same
encounter_idwhen you sent it (for Mobile SDK, Headless Web SDK, and Ambient APIs). If the first create omittedencounter_id, pass the returnednote_idas theencounter_id/encounterId/kSessionIdvalue.
The
encounter_id field is required for every re-ambient session on that note when using the Mobile SDK, Headless Web SDK, or Ambient APIs. Pass either your stored encounter_id or, when the first create omitted it, the note_id value in that field. The Web SDK does not pass or require an encounter_id to continue or re-ambient the clinical note.Scenario example
- Mobile SDK starts ambient with
kEmrEncounterId = A(maps toemr_encounter_id) andkSessionId = G(maps toencounter_id). - Create returns
sessionIdand, for online creates,noteId = N. StorenoteIdand storeGfor re-ambient. On Ambient APIs, the same value isnote_id. - Later, another product continues or re-ambients:.
- The Web SDK starts a session using
encounter.identifier = A(maps toemr_encounter_id). It does not need or passencounter_idto continue noteN. - Or, the Headless Web SDK creates another session with
emrEncounterId = AandencounterId = G. - Or, the Ambient APIs create another session with
emr_encounter_id = Aandencounter_id = G.
- The Web SDK starts a session using
- Both ambient sessions belong to clinical note
N.
Step 6: Retrieve the shared clinical note
After ambient sessions complete, or after a clinician edits the note in the Web SDK, use the returnednote_id with the note-level Ambient APIs.
Choose the right content API
Choose the API based on whether you need data from a single ambient session or from the entire shared clinical note.Available cookbooks
Troubleshooting
Interoperability breaks when create omitsemr_encounter_id, re-ambient reuses the wrong ID, or you fetch session content after headed edits.
Note Does Not Appear Across Products
Note Does Not Appear Across Products
Pass
emr_encounter_id on create. If you omit it, Suki still creates an ambient session, but the note is not interoperable across Suki products.Re-Ambient Opens a New Note Instead of the Same One
Re-Ambient Opens a New Note Instead of the Same One
For re-ambient, reuse
encounter_id when you sent it on the first create. If the first create omitted encounter_id, pass the returned note_id as the encounter_id field value.Create Conflicts on the Same EMR Encounter
Create Conflicts on the Same EMR Encounter
Only one ambient session can be active for an
emr_encounter_id at a time. Wait at least 1 second before another create for that encounter, or resolve the remote conflict on Mobile SDK first. See Interoperability best practices and FAQs.Web SDK Edits Missing from Your Retrieve
Web SDK Edits Missing from Your Retrieve
After clinicians edit in the Web SDK, call Get note content with
note_id. Session content alone will not include those headed edits.