Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .fern/metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"cliVersion": "5.151.0",
"cliVersion": "5.188.1",
"generatorName": "fernapi/fern-java-sdk",
"generatorVersion": "4.23.2",
"generatorVersion": "4.32.4",
"generatorConfig": {
"enable-inline-types": false,
"client-class-name": "PhenomlClient",
Expand All @@ -10,10 +10,10 @@
"enable-wire-tests": true,
"publish-to": "central"
},
"originGitCommit": "49f1258330df448935b5304a1d8c405a2834d227",
"originGitCommit": "aa8767e4b2d618273a8ffe13773f517f18a4d3fa",
"originGitCommitIsDirty": true,
"invokedBy": "ci",
"requestedVersion": "AUTO",
"ciProvider": "unknown",
"sdkVersion": "18.1.0"
"sdkVersion": "19.0.0"
}
8 changes: 7 additions & 1 deletion .fern/replay.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ java {

group = 'com.phenoml.maven'

version = '18.1.0'
version = '19.0.0'

jar {
dependsOn(":generatePomFileForMavenPublication")
Expand Down Expand Up @@ -89,7 +89,7 @@ publishing {
maven(MavenPublication) {
groupId = 'com.phenoml.maven'
artifactId = 'phenoml-java-sdk'
version = '18.1.0'
version = '19.0.0'
from components.java
pom {
name = 'phenoml'
Expand Down
22 changes: 22 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
## [19.0.0] - 2026-10-30
### Breaking Changes
- **`ResourceReviewRemediated.getAction()`** — now returns `Optional<ResourceReviewRemediatedAction>` instead of `Optional<String>`; replace string comparisons with `ResourceReviewRemediatedAction` enum constants, and update `Builder.action(...)` call sites to pass `ResourceReviewRemediatedAction` instead of `String`.

### Added
- **`RequestOptions.Builder.addBodyProperty()` / `.bodyProperties()`** — inject arbitrary key/value pairs into JSON or form-urlencoded request bodies, acting as the full body for endpoints with no defined body schema.
- **`RetryInterceptor.newAsyncCall()`** — async retry factory that schedules backoff on a daemon thread, freeing OkHttp dispatcher slots and enabling immediate cancellation.
- **`Stream.fromSseWithEventDiscrimination()`** and **`SseEventParser.parseEventLevelUnion()`** — new SSE stream factories supporting event-type-discriminated union deserialization from the full SSE envelope.
- **New FHIR-to-OMOP response types** — `DeviceExposureRow`, `DeviceExposureContext`, `DeviceExposureLink`, `DeviceExposureEvidence`, `SpecimenRow`, `AllergyCodingEvidence`, `AllergyMappingResolution`, and related enum types added to the `fhir2omop` package; `OmopTables` now exposes `getDeviceExposure()` and `getSpecimen()`.
- **New optional fields across OMOP row and summary types** — `DrugExposureRow.getQuantity()`, `MeasurementRow.getUnitSourceConceptId()`, `VisitOccurrenceRow.getVisitSourceConceptId()`, `ProviderRow.getNpi()`, `Summary.getRowsForReview()`, `MappingEntry.getSourceCodingIndex()`, and `MappingEntry.getResolution()` added.
- See full changelog for all changes

### Changed
- **`additionalProperties` deserialization** — all request and response builder types now filter known JSON field names out of `additionalProperties`, preventing duplicate capture of recognized fields.
- **`CreateMultiRequest.getSmallNote()`** — new optional boolean field that bills at the small-note rate; `text` must be ≤ 15,360 bytes UTF-8 when `true`.
- **`CreateMultiRequest` / `DocumentMultiRequest` field documentation** — `getImplementationGuide()` and `getDetectionEffort()` docs updated; `deep` and `standard` detection effort now produce identical results and the field is deprecated.
- **`DocumentMultiResponse.getPageClassifications()`** — now populated on every document request, not only when `page_filter` or `split_classifications` is explicitly set.
- **`MappingPath` and `MappingPathMappingStatus`** — new response type and open enum describing a single OMOP concept-mapping chain step, with `ALREADY_STANDARD`, `MAPPED`, and `POLICY_MAPPED` constants.

### Fixed
- **`@JsonAnySetter` guard on agent builder types** — known field names are no longer accidentally routed into `additionalProperties` during JSON deserialization.

## [18.1.0] - 2026-10-09
### Added
- **`ReferenceDiagnostic.getOmopTable()` and `getOmopId()`** — new optional fields on `ReferenceDiagnostic` that identify the OMOP table name and primary key of the affected row when a reference diagnostic is emitted alongside an OMOP response.
Expand Down
Loading