Skip to main content
This release introduces Dynamic Form filling across Form filling APIs, Form filling SDK (v0.1.0-beta.3), Web SDK Form filling (v3.3.1), and Mobile SDK Form filling (v2.9.0, iOS) so you can fill partner-defined medical forms with a 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 microphone deviceId. 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 Context form_filling.values[].id) or title (same as Context name). Do not rely on list order.
  • On Form filling SDK and Web SDK, the same objects go in forms (no form_filling.values wrapper). Correlate dynamic results with partner_form_id (echo of Context id). On Mobile SDK, use partnerFormId.
  • On hosted SDKs, you can still use form_template_ids when you omit forms. If you pass forms, it is the only source of context for that session.
Why it matters: Map hospital or EHR forms to Suki without waiting for a new catalog template, and still fill Suki Medical form templates in the same visit when they fit, from APIs or the hosted Form filling UI.Learn more in the Dynamic Form filling documentation, Web SDK Form filling overview, Form filling SDK configuration, and Form filling on Mobile SDK.

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. Pass emrEncounterId 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 noteId with getNoteContext, getNoteContent, or getNoteStructuredData.
  • Fetch listed artifacts with the existing session-level or note-level retrieve APIs. getEncounterInfo does not return note content, transcript text, or recording bytes.
  • Keep using listEncounterNotes(emrEncounterId:) when you only need noteId values.
Why it matters: Check note status and which artifacts are ready on iOS before you call note-level or session-level retrieve APIs. This is useful for building visit-level UI that shows note status, session progress, and which artifacts are ready.Learn more in the Shared notes across products guide and Mobile SDK changelog.
Last modified on October 16, 2026