Skip to content

Migrating from OpenMed 3.2 to 3.3

OpenMed 3.3.0 adds local multimodal intake, speech and ambient review, and non-diagnostic waveform workflows. The release notes describe the candidate and intended installation coordinates.

Upgrade the SDK and dependencies

Use Python 3.11 or newer and install only the extras needed by your application. Existing 3.2 Python callers can retain their documented public import paths. The static Python API comparison against v3.2.0 reports no removals, breaking signature changes or new deprecations.

python3.11 -m venv .venv
.venv/bin/python -m pip install "openmed==3.3.0"

The install command applies after publication. Keep Python, npm, Swift and Android versions aligned when a deployment spans SDKs. Update service or Helm image pins together and review the dependency policy. If you use the optional yasbd-lib backend, resolve its supported 1.x version and rerun sentence-boundary checks on your fixtures. Optional cloud and Prefect integrations require OAuthLib 4.0.1 or newer.

Adopt multimodal contracts deliberately

Existing text-only applications can keep their current requests. To add media, start with the offline preflight CLI and a versioned manifest. Review the profile bounds, declared modality, digest and abstention reasons before loading a decoder or provider. Treat a preflight acceptance as an input check and apply your own authorization and review policy before processing.

  • Keep reading v1 records with the v1 schemas. Select the v1.1 waveform manifest profiles and the versioned v2 abstention and provider-result records only for integrations that understand those schemas. Validate records against the published JSON Schemas and preserve controlled reason codes.
  • Treat changed files or digests as new evidence. Preserve original coordinate and timing references across image transforms, waveform windows and transcript revisions. Reacquire or review inputs when coverage or evidence is incomplete.
  • Keep sensitive media, protected text and clinical drafts separate from value-free preflight and audit results. Bind export and reviewer decisions to the current evidence and revision.

Configure local providers and review

Select the optional edge-vlm or edge-asr extra only for a supported Python Apple Silicon deployment. Download and review the pinned model assets separately, keep the paths local, and run the documented edge VLM or offline ASR qualification on the target host. For fixed-option decisions, follow the local backend guide for supported modalities, custom-code opt-in, model revision and model-license provenance.

Before enabling ambient capture, configure microphone permissions and consent, define the retention and deletion boundaries, and test interruption and withdrawal handling. Keep provisional hypotheses private. Require explicit review of uncertain language, speakers, critical tokens and notes before export. See the reference workflow and FHIR export contract.

OpenMedKit supports the documented local Apple adapters and review contracts. Keep Foundation Models processing on the device. Android parity covers the specified preflight records. The opt-in REST preflight route and ONNX ASR adapter are experimental. Use the feature map to check the exact API and platform your integration needs.

Check behavior at the boundary

  1. Retain the previous environment, configuration and approved model pins so you can roll back.
  2. Run your current application tests against 3.3, including privacy, span integrity, archived wire records, and any new media limits or reason codes you consume.
  3. If you route through the privacy proxy, send a single JSON content type such as application/json. Unsupported or ambiguous media types receive a controlled rejection.
  4. Exercise consent, interruption, abstention and review using synthetic fixtures. Use the non-diagnostic waveform interfaces for reviewable evidence and retain clinician review for interpretation.
  5. Check the release PR’s exact candidate evidence before switching registry artifacts. Apply the older migration guides when upgrading from before 3.2.