diff --git a/build.gradle b/build.gradle index ef9cc15..064317d 100644 --- a/build.gradle +++ b/build.gradle @@ -47,7 +47,7 @@ java { group = 'com.phenoml.maven' -version = '10.0.0' +version = '10.1.0' jar { dependsOn(":generatePomFileForMavenPublication") @@ -78,7 +78,7 @@ publishing { maven(MavenPublication) { groupId = 'com.phenoml.maven' artifactId = 'phenoml-java-sdk' - version = '10.0.0' + version = '10.1.0' from components.java pom { name = 'phenoml' diff --git a/changelog.md b/changelog.md index a3e18e8..fa92112 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,6 @@ +## 10.1.0 - 2026-03-11 +* New optional `preview` parameter available on workflow execution requests. When enabled, create operations return mock resources instead of persisting to the FHIR server. The response also includes a `preview` field to indicate whether the workflow was executed in preview mode. + ## 10.0.0 - 2026-03-11 * The `ErrorResponse` class has been removed from the summary types package. If your code references `com.phenoml.api.resources.summary.types.ErrorResponse`, you'll need to update your imports and error handling logic to use alternative error response types available in the SDK. diff --git a/reference.md b/reference.md index 844429b..944c1a1 100644 --- a/reference.md +++ b/reference.md @@ -5857,6 +5857,14 @@ client.workflows().execute( **inputData:** `Map` — Input data for workflow execution + + + +
+
+ +**preview:** `Optional` — If true, create operations return mock resources instead of persisting to the FHIR server +
diff --git a/src/main/java/com/phenoml/api/core/ClientOptions.java b/src/main/java/com/phenoml/api/core/ClientOptions.java index 2bb1790..b95aef3 100644 --- a/src/main/java/com/phenoml/api/core/ClientOptions.java +++ b/src/main/java/com/phenoml/api/core/ClientOptions.java @@ -32,10 +32,10 @@ private ClientOptions( this.headers.putAll(headers); this.headers.putAll(new HashMap() { { - put("User-Agent", "com.phenoml.maven:phenoml-java-sdk/10.0.0"); + put("User-Agent", "com.phenoml.maven:phenoml-java-sdk/10.1.0"); put("X-Fern-Language", "JAVA"); put("X-Fern-SDK-Name", "com.phenoml.fern:api-sdk"); - put("X-Fern-SDK-Version", "10.0.0"); + put("X-Fern-SDK-Version", "10.1.0"); } }); this.headerSuppliers = headerSuppliers; diff --git a/src/main/java/com/phenoml/api/resources/workflows/requests/ExecuteWorkflowRequest.java b/src/main/java/com/phenoml/api/resources/workflows/requests/ExecuteWorkflowRequest.java index a80ec53..0d527b4 100644 --- a/src/main/java/com/phenoml/api/resources/workflows/requests/ExecuteWorkflowRequest.java +++ b/src/main/java/com/phenoml/api/resources/workflows/requests/ExecuteWorkflowRequest.java @@ -16,16 +16,21 @@ import java.util.LinkedHashMap; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_ABSENT) @JsonDeserialize(builder = ExecuteWorkflowRequest.Builder.class) public final class ExecuteWorkflowRequest { private final Map inputData; + private final Optional preview; + private final Map additionalProperties; - private ExecuteWorkflowRequest(Map inputData, Map additionalProperties) { + private ExecuteWorkflowRequest( + Map inputData, Optional preview, Map additionalProperties) { this.inputData = inputData; + this.preview = preview; this.additionalProperties = additionalProperties; } @@ -37,6 +42,14 @@ public Map getInputData() { return inputData; } + /** + * @return If true, create operations return mock resources instead of persisting to the FHIR server + */ + @JsonProperty("preview") + public Optional getPreview() { + return preview; + } + @java.lang.Override public boolean equals(Object other) { if (this == other) return true; @@ -49,12 +62,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(ExecuteWorkflowRequest other) { - return inputData.equals(other.inputData); + return inputData.equals(other.inputData) && preview.equals(other.preview); } @java.lang.Override public int hashCode() { - return Objects.hash(this.inputData); + return Objects.hash(this.inputData, this.preview); } @java.lang.Override @@ -70,6 +83,8 @@ public static Builder builder() { public static final class Builder { private Map inputData = new LinkedHashMap<>(); + private Optional preview = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -77,6 +92,7 @@ private Builder() {} public Builder from(ExecuteWorkflowRequest other) { inputData(other.getInputData()); + preview(other.getPreview()); return this; } @@ -102,8 +118,22 @@ public Builder inputData(String key, Object value) { return this; } + /** + *

If true, create operations return mock resources instead of persisting to the FHIR server

+ */ + @JsonSetter(value = "preview", nulls = Nulls.SKIP) + public Builder preview(Optional preview) { + this.preview = preview; + return this; + } + + public Builder preview(Boolean preview) { + this.preview = Optional.ofNullable(preview); + return this; + } + public ExecuteWorkflowRequest build() { - return new ExecuteWorkflowRequest(inputData, additionalProperties); + return new ExecuteWorkflowRequest(inputData, preview, additionalProperties); } } } diff --git a/src/main/java/com/phenoml/api/resources/workflows/types/ExecuteWorkflowResponse.java b/src/main/java/com/phenoml/api/resources/workflows/types/ExecuteWorkflowResponse.java index cf3dbfe..435ab7d 100644 --- a/src/main/java/com/phenoml/api/resources/workflows/types/ExecuteWorkflowResponse.java +++ b/src/main/java/com/phenoml/api/resources/workflows/types/ExecuteWorkflowResponse.java @@ -26,16 +26,20 @@ public final class ExecuteWorkflowResponse { private final Optional results; + private final Optional preview; + private final Map additionalProperties; private ExecuteWorkflowResponse( Optional success, Optional message, Optional results, + Optional preview, Map additionalProperties) { this.success = success; this.message = message; this.results = results; + this.preview = preview; this.additionalProperties = additionalProperties; } @@ -60,6 +64,14 @@ public Optional getResults() { return results; } + /** + * @return Whether the workflow was executed in preview mode + */ + @JsonProperty("preview") + public Optional getPreview() { + return preview; + } + @java.lang.Override public boolean equals(Object other) { if (this == other) return true; @@ -72,12 +84,15 @@ public Map getAdditionalProperties() { } private boolean equalTo(ExecuteWorkflowResponse other) { - return success.equals(other.success) && message.equals(other.message) && results.equals(other.results); + return success.equals(other.success) + && message.equals(other.message) + && results.equals(other.results) + && preview.equals(other.preview); } @java.lang.Override public int hashCode() { - return Objects.hash(this.success, this.message, this.results); + return Objects.hash(this.success, this.message, this.results, this.preview); } @java.lang.Override @@ -97,6 +112,8 @@ public static final class Builder { private Optional results = Optional.empty(); + private Optional preview = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -106,6 +123,7 @@ public Builder from(ExecuteWorkflowResponse other) { success(other.getSuccess()); message(other.getMessage()); results(other.getResults()); + preview(other.getPreview()); return this; } @@ -148,8 +166,22 @@ public Builder results(Results results) { return this; } + /** + *

Whether the workflow was executed in preview mode

+ */ + @JsonSetter(value = "preview", nulls = Nulls.SKIP) + public Builder preview(Optional preview) { + this.preview = preview; + return this; + } + + public Builder preview(Boolean preview) { + this.preview = Optional.ofNullable(preview); + return this; + } + public ExecuteWorkflowResponse build() { - return new ExecuteWorkflowResponse(success, message, results, additionalProperties); + return new ExecuteWorkflowResponse(success, message, results, preview, additionalProperties); } }