Skip to content

feat: add AsyncFhir2OmopClient and fhir2omop service support#172

Closed
fern-api[bot] wants to merge 3 commits into
mainfrom
fern-bot/2026-06-18_15-09-38_336
Closed

feat: add AsyncFhir2OmopClient and fhir2omop service support#172
fern-api[bot] wants to merge 3 commits into
mainfrom
fern-bot/2026-06-18_15-09-38_336

Conversation

@fern-api

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

Copy link
Copy Markdown
Contributor

17.5.0 → 17.6.0

Added

  • Fhir2OmopClient / AsyncFhir2OmopClient — new synchronous and asynchronous clients (plus raw-response variants) accessible via PhenomlClient.fhir2Omop() and AsyncPhenomlClient.fhir2Omop(), exposing create(CreateOmopRequest) to convert a FHIR R4 resource or Bundle to OMOP CDM v5.4 rows via POST /fhir2omop/create.
  • CreateOmopRequest / CreateOmopResponse — new request/response types for the FHIR-to-OMOP conversion endpoint, carrying fhirResources and returning tables, mappings, dropped, vocabVersion, summary, success, and message fields.
  • OMOP CDM v5.4 row types — new PersonRow, VisitOccurrenceRow, ConditionOccurrenceRow, DrugExposureRow, ProcedureOccurrenceRow, MeasurementRow, and ObservationRow classes aggregated under OmopTables.
  • MappingEntry / Summary / DroppedResource — new supporting types describing per-coding resolution status (ALREADY_STANDARD, MAPPED, UNCHECKED, UNMAPPED), aggregate mapping statistics, and resources that could not be shaped into OMOP rows.
  • BadRequestError, UnauthorizedError, InternalServerError, ServiceUnavailableError — new typed exception classes extending PhenomlClientApiException, thrown for HTTP 400, 401, 500, and 503 responses from the FHIR-to-OMOP endpoint.
  • Provider.AIDBOX"aidbox" is now a supported value in the Provider enum, with a corresponding Visitor.visitAidbox() method.

See full changelog


Note

Low Risk
No runtime or API signature changes in the diff—only version strings and generated/docs text updates.

Overview
Bumps the Java SDK to 17.6.0 (Gradle/Maven, Fern metadata, User-Agent / X-Fern-SDK-Version, and embedded OpenAPI spec commit).

The substantive change is documentation for POST /fhir2omop/create: Javadoc on the fhir2omop clients, CreateOmopRequest, CreateOmopResponse, reference.md, and openapi.json now spell out which FHIR R4 types produce OMOP rows (e.g. Patientperson, medication resources and Immunizationdrug_exposure, numeric vs non-numeric Observationmeasurement vs observation), which bundle entries are accepted but not mapped, and that dropped is only for supported types missing required subject/code/medication data—not for ignored unsupported types.

changelog.md adds a 17.6.0 entry that also lists broader FHIR2OMOP client/types additions; those are not part of this diff’s file changes.

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

fern-api Bot and others added 3 commits June 18, 2026 15:08
Generated by Fern
CLI Version: unknown
Generators:
  - fernapi/fern-java-sdk: 4.9.2
…ce support

Expose the FHIR-to-OMOP CDM v5.4 mapping service through the async
client surface. Consumers can now call `client.fhir2Omop().create(...)`
to post a FHIR R4 resource or Bundle and receive typed OMOP rows grouped
by table, per-coding mapping entries, dropped-resource details, and a
resolution summary.

Key changes:
- Add `AsyncFhir2OmopClient` with a `create(CreateOmopRequest)` method posting to `POST /fhir2omop/create`
- Expose `AsyncPhenomlClient.fhir2Omop()` accessor returning the new client
- Register `fhir2omop` as a new service in the OpenAPI spec with full request/response schemas (`fhir2omop_CreateOmopRequest`, `fhir2omop_CreateOmopResponse`, OMOP row types, `MappingEntry`, `Summary`, `DroppedResource`)
- Add `"aidbox"` as a supported `Provider` enum value in code examples and OpenAPI spec
- Update spec commit hash and code-example SDK version metadata

🌿 Generated with Fern
@gavinsharp gavinsharp closed this Jun 18, 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