Skip to content

feat: add FHIR2OMOP and Voice transcription service clients#175

Closed
fern-api[bot] wants to merge 2 commits into
mainfrom
fern-bot/2026-06-23_21-46-43_653
Closed

feat: add FHIR2OMOP and Voice transcription service clients#175
fern-api[bot] wants to merge 2 commits into
mainfrom
fern-bot/2026-06-23_21-46-43_653

Conversation

@fern-api

@fern-api fern-api Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

17.7.0 → 17.8.0

Added

  • Fhir2OmopClient / AsyncFhir2OmopClient — new service clients accessible via PhenomlClient.fhir2Omop() / AsyncPhenomlClient.fhir2Omop(), exposing a create(CreateOmopRequest) method that maps a FHIR R4 resource or Bundle into OMOP CDM v5.4 rows via POST /fhir2omop/create.
  • VoiceClient / AsyncVoiceClient — new service clients accessible via PhenomlClient.voice() / AsyncPhenomlClient.voice(), exposing transcribe(...) methods that upload raw audio bytes (WAV, FLAC, MP3, OGG/WebM Opus) to POST /transcribe and return a TranscribeResponse.
  • OMOP CDM response types — new model classes OmopTables, PersonRow, VisitOccurrenceRow, ConditionOccurrenceRow, DrugExposureRow, ProcedureOccurrenceRow, MeasurementRow, ObservationRow, ObservationPeriodRow, DeathRow, LocationRow, CareSiteRow, ProviderRow, MappingEntry, DroppedResource, and Summary represent the full OMOP CDM v5.4 output of the FHIR-to-OMOP conversion.
  • ConflictError — new typed exception (HTTP 409) thrown by RawChatClient.send(...) and RawChatClient.stream(...) (sync and async) when a session already has an active turn.
  • Provider.AIDBOX"aidbox" is now a supported constant in the Provider enum, including a Value.AIDBOX entry and Visitor.visitAidbox() method.

See full changelog


Note

Low Risk
Additive generated-client and model changes with a patch version bump; no manual runtime logic beyond API surface alignment.

Overview
17.8.0 is a Fern-regenerated SDK release (version metadata, Maven coordinates, and default User-Agent / X-Fern-SDK-Version headers).

The FHIR-to-OMOP response shape grows to cover more OMOP CDM v5.4 tables: OmopTables now includes optional lists for location, care_site, provider, death, and observation_period, backed by new row types (LocationRow, CareSiteRow, ProviderRow, DeathRow, ObservationPeriodRow). Existing clinical and person/visit rows gain optional linkage fields such as provider_id, location_id on PersonRow, and care_site_id on VisitOccurrenceRow. Wire-test fixtures are updated to match.

Per the changelog, this release also wires PhenomlClient.fhir2Omop() / voice() (and async equivalents), maps agent chat HTTP 409 to ConflictError on RawChatClient send/stream paths, and adds Provider.AIDBOX for FHIR provider configuration.

Reviewed by Cursor Bugbot for commit 1baf579. Bugbot is set up for automated code reviews on this repo. Configure here.

fern-api Bot added 2 commits June 23, 2026 21:45
Generated by Fern
CLI Version: unknown
Generators:
  - fernapi/fern-java-sdk: 4.9.2
…e clients

Introduce two new service clients — `Fhir2OmopClient` / `AsyncFhir2OmopClient`
and `VoiceClient` / `AsyncVoiceClient` — surfacing the FHIR-to-OMOP CDM mapping
endpoint (`POST /fhir2omop/create`) and the audio transcription endpoint
(`POST /transcribe`) respectively.

Key changes:
- Add `AsyncPhenomlClient.fhir2Omop()` and `AsyncPhenomlClient.voice()` accessor methods
- Add `CreateOmopRequest`, `CreateOmopResponse`, and all supporting OMOP CDM row/mapping types
- Add `TranscribeResponse` with a required `transcript` field for the voice service
- Add `aidbox` as a supported `Provider` enum value in FHIR provider creation

🌿 Generated with Fern
@gavinsharp gavinsharp closed this Jun 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant