schema object, alone or mixed with Suki Medical form templates in the same session. It also adds optional microphone selection for the Headless Web SDK (v0.3.1), getEncounterInfo on Mobile SDK iOS so you can inspect shared notes for an EMR encounter before you retrieve content, and ambient interoperability for the Headless Web SDK so you can share clinical notes between the Headless Web SDK, Ambient APIs, Mobile SDK, and Web SDK.
What’s new
New Features
New features
Headless Web SDK v0.3.1Optional microphone selection for ambient recording: Headless ambient recording now accepts an optional microphonedeviceId. Pass config.audio.deviceId to useAmbientSession, or pass { audio: { deviceId } } to startAmbientSession and resumeAmbientSession. Your app owns device enumeration and picker UI. The SDK does not provide a microphone picker, device list APIs, preference persistence, or automatic fallback.The selected deviceId is applied when recording starts or resumes. Changing deviceId while recording does not switch the microphone that is already in use. Update your app state, call pause(), then resume(). There is no public switchMicrophone API. When an exact deviceId is unavailable or disconnected, start or resume fails without falling back to the browser default.Why it matters: You can choose which microphone the recording uses for a visit, including after pause and resume, instead of only the browser default microphone.Learn more in the Select a microphone guide and Platform client and provider.Mobile SDK v2.9.0Form filling on Mobile SDK (iOS): The same headless
SukiAmbientCore stack can run a Form filling session. Pass sessionType: .formFilling on createSession, set forms with setFormFillingContext, record as usual, end with endFormFillingSession() or end(), then call getFormFillingStructuredData(for:) with recordingId. You build the form review UI. The SDK does not render forms. Existing Ambient callers that omit sessionType keep today’s behavior.Why it matters: Fill structured medical forms on iOS without leaving the Mobile SDK, while keeping Ambient note sessions as a separate workflow.Learn more in Form filling on Mobile SDK.Form Filling API v1.2.0 Web SDK v3.3.1 Form Filling SDK v0.1.0-beta.3 Mobile SDK v2.9.0Dynamic Form filling: You can now send partner-defined custom medical forms with a
schema object, instead of relying only on predefined Suki Medical form templates. Define the fields for your hospital or EHR form, send that schema when you seed or update context (APIs), pass forms on the hosted Form filling SDK / Web SDK, or call Mobile setFormFillingContext (schema as a JSON object string on iOS), and Suki fills those fields from the visit conversation and returns structured data.In one session you can use Suki Medical form templates, your own medical form layouts, or a mix of both. Each entry must use either form_template_id or schema, never both.JSON
-
On Form filling APIs, match dynamic results with
generated_values[].id(same as Contextform_filling.values[].id) ortitle(same as Contextname). Do not rely on list order. -
On Form filling SDK and Web SDK, the same objects go in
forms(noform_filling.valueswrapper). Correlate dynamic results withpartner_form_id(echo of Contextid). On Mobile SDK, usepartnerFormId. -
On hosted SDKs, you can still use
form_template_idswhen you omitforms. If you passforms, it is the only source of context for that session.
What’s enhanced
Enhancements
Enhancements
Headless Web SDK v0.3.0Headless Web SDK ambient interoperability: The Headless Web SDK now interoperates with other Suki products that support ambient workflows. PassemrEncounterId when calling session.create() to associate the session with an EMR encounter. This lets the Headless Web SDK, Ambient APIs, Mobile SDK, and Web SDK contribute to and access the same clinical note for a patient visit.Why it matters: You can now use multiple Suki products that support ambient workflows with the same clinical note for a patient encounter. Pass emrEncounterId to make the note interoperable. For re-ambient workflows, pass encounterId (maps to Ambient API encounter_id) and reuse it for every session on that note.Learn more in Ambient interoperability guide.Mobile SDK v2.8.0Get encounter info (iOS): The Mobile SDK now adds
getEncounterInfo(emrEncounterId:) on iOS to get an overview of the shared notes for an EMR encounter. Pass the same EMR encounter id you set as SukiAmbientConstant.kEmrEncounterId when you create the session.You can now:- See each note’s status and timestamps, the ambient sessions under that note, and which artifacts are available (
"content","transcript", or"recording"). - Use each returned
noteIdwithgetNoteContext,getNoteContent, orgetNoteStructuredData. - Fetch listed artifacts with the existing session-level or note-level retrieve APIs.
getEncounterInfodoes not return note content, transcript text, or recording bytes. - Keep using
listEncounterNotes(emrEncounterId:)when you only neednoteIdvalues.