diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index 205f2b9f83931..1efaa8e188294 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -195,6 +195,7 @@ com.azure:azure-template-perf;1.0.0-beta.1;1.0.0-beta.1 com.azure:azure-verticals-agrifood-farming;1.0.0-beta.3;1.0.0-beta.4 com.azure:azure-xml;1.0.0-beta.2;1.0.0-beta.3 com.azure:perf-test-core;1.0.0-beta.1;1.0.0-beta.1 +com.azure:azure-healthinsights-cancerprofiling;1.0.0-beta.1;1.0.0-beta.1 com.azure.spring:azure-monitor-spring-native;1.0.0-beta.1;1.0.0-beta.1 com.azure.spring:azure-monitor-spring-native-test;1.0.0-beta.1;1.0.0-beta.1 com.azure.spring:spring-cloud-azure-appconfiguration-config-web;4.14.0;4.15.0-beta.1 diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/CHANGELOG.md b/sdk/healthinsights/azure-healthinsights-cancerprofiling/CHANGELOG.md new file mode 100644 index 0000000000000..f887f194c985e --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/CHANGELOG.md @@ -0,0 +1,13 @@ +# Release History + +## 1.0.0-beta.1 (Unreleased) + +- Azure AzureHealthInsights client library for Java. This package contains Microsoft Azure AzureHealthInsights client library. + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/README.md b/sdk/healthinsights/azure-healthinsights-cancerprofiling/README.md new file mode 100644 index 0000000000000..8a70488f777c1 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/README.md @@ -0,0 +1,65 @@ +# Azure AzureHealthInsights client library for Java + +Azure AzureHealthInsights client library for Java. + +This package contains Microsoft Azure AzureHealthInsights client library. + +## Documentation + +Various documentation is available to help you get started + +- [API reference documentation][docs] +- [Product documentation][product_documentation] + +## Getting started + +### Prerequisites + +- [Java Development Kit (JDK)][jdk] with version 8 or above +- [Azure Subscription][azure_subscription] + +### Adding the package to your product + +[//]: # ({x-version-update-start;com.azure:azure-health-insights-cancerprofiling;current}) +```xml +<dependency> + <groupId>com.azure</groupId> + <artifactId>azure-health-insights-cancerprofiling</artifactId> + <version>1.0.0-beta.1</version> +</dependency> +``` +[//]: # ({x-version-update-end}) + +### Authentication + +[Azure Identity][azure_identity] package provides the default implementation for authenticating the client. + +## Key concepts + +## Examples + +```java com.azure.health.insights.cancerprofiling.readme +``` + +## Troubleshooting + +## Next steps + +## Contributing + +For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md). + +1. Fork it +1. Create your feature branch (`git checkout -b my-new-feature`) +1. Commit your changes (`git commit -am 'Add some feature'`) +1. Push to the branch (`git push origin my-new-feature`) +1. Create new Pull Request + +<!-- LINKS --> +[product_documentation]: https://azure.microsoft.com/services/ +[docs]: https://azure.github.io/azure-sdk-for-java/ +[jdk]: https://learn.microsoft.com/azure/developer/java/fundamentals/ +[azure_subscription]: https://azure.microsoft.com/free/ +[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-java%2Fsdk%2Fhealthinsights%2Fazure-healthinsights-cancerprofiling%2FREADME.png) diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/assets.json b/sdk/healthinsights/azure-healthinsights-cancerprofiling/assets.json new file mode 100644 index 0000000000000..de2db514e26fd --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/assets.json @@ -0,0 +1,6 @@ +{ + "AssetsRepo" : "Azure/azure-sdk-assets", + "AssetsRepoPrefixPath" : "java", + "TagPrefix" : "java/healthinsights/azure-health-insights-cancerprofiling", + "Tag" : "" +} \ No newline at end of file diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/pom.xml b/sdk/healthinsights/azure-healthinsights-cancerprofiling/pom.xml new file mode 100644 index 0000000000000..413e9b869cf39 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/pom.xml @@ -0,0 +1,100 @@ +<!-- + ~ Copyright (c) Microsoft Corporation. All rights reserved. + ~ Licensed under the MIT License. + ~ Code generated by Microsoft (R) TypeSpec Code Generator. + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.azure</groupId> + <artifactId>azure-client-sdk-parent</artifactId> + <version>1.7.0</version> <!-- {x-version-update;com.azure:azure-client-sdk-parent;current} --> + <relativePath>../../parents/azure-client-sdk-parent</relativePath> + </parent> + + <groupId>com.azure</groupId> + <artifactId>azure-health-insights-cancerprofiling</artifactId> + <version>1.0.0-beta.1</version> <!-- {x-version-update;com.azure:azure-health-insights-cancerprofiling;current} --> + <packaging>jar</packaging> + + <name>Microsoft Azure SDK for AzureHealthInsights</name> + <description>This package contains Microsoft Azure AzureHealthInsights client library.</description> + <url>https://github.com/Azure/azure-sdk-for-java</url> + + <licenses> + <license> + <name>The MIT License (MIT)</name> + <url>http://opensource.org/licenses/MIT</url> + <distribution>repo</distribution> + </license> + </licenses> + + <scm> + <url>https://github.com/Azure/azure-sdk-for-java</url> + <connection>scm:git:git@github.com:Azure/azure-sdk-for-java.git</connection> + <developerConnection>scm:git:git@github.com:Azure/azure-sdk-for-java.git</developerConnection> + <tag>HEAD</tag> + </scm> + <developers> + <developer> + <id>microsoft</id> + <name>Microsoft</name> + </developer> + </developers> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <dependencies> + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-core</artifactId> + <version>1.45.1</version> <!-- {x-version-update;com.azure:azure-core;dependency} --> + </dependency> + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-core-http-netty</artifactId> + <version>1.13.11</version> <!-- {x-version-update;com.azure:azure-core-http-netty;dependency} --> + </dependency> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-api</artifactId> + <version>5.9.3</version> <!-- {x-version-update;org.junit.jupiter:junit-jupiter-api;external_dependency} --> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-engine</artifactId> + <version>5.9.3</version> <!-- {x-version-update;org.junit.jupiter:junit-jupiter-engine;external_dependency} --> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>4.11.0</version> <!-- {x-version-update;org.mockito:mockito-core;external_dependency} --> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-core-test</artifactId> + <version>1.22.1</version> <!-- {x-version-update;com.azure:azure-core-test;dependency} --> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-identity</artifactId> + <version>1.11.1</version> <!-- {x-version-update;com.azure:azure-identity;dependency} --> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-simple</artifactId> + <version>1.7.36</version> <!-- {x-version-update;org.slf4j:slf4j-simple;external_dependency} --> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.azure</groupId> + <artifactId>azure-core-experimental</artifactId> + <version>1.0.0-beta.46</version> <!-- {x-version-update;com.azure:azure-core-experimental;dependency} --> + </dependency> + </dependencies> +</project> diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/AzureHealthInsightsServiceVersion.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/AzureHealthInsightsServiceVersion.java new file mode 100644 index 0000000000000..212d12f1eddef --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/AzureHealthInsightsServiceVersion.java @@ -0,0 +1,40 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling; + +import com.azure.core.util.ServiceVersion; + +/** + * Service version of AzureHealthInsightsClient. + */ +public enum AzureHealthInsightsServiceVersion implements ServiceVersion { + /** + * Enum value 2023-09-01-preview. + */ + V2023_09_01_PREVIEW("2023-09-01-preview"); + + private final String version; + + AzureHealthInsightsServiceVersion(String version) { + this.version = version; + } + + /** + * {@inheritDoc} + */ + @Override + public String getVersion() { + return this.version; + } + + /** + * Gets the latest service version supported by this client library. + * + * @return The latest {@link AzureHealthInsightsServiceVersion}. + */ + public static AzureHealthInsightsServiceVersion getLatest() { + return V2023_09_01_PREVIEW; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/CancerProfilingAsyncClient.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/CancerProfilingAsyncClient.java new file mode 100644 index 0000000000000..c5573dbad8058 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/CancerProfilingAsyncClient.java @@ -0,0 +1,316 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.PollOperationDetails; +import com.azure.core.util.polling.PollerFlux; +import com.azure.health.insights.cancerprofiling.implementation.CancerProfilingClientImpl; +import com.azure.health.insights.cancerprofiling.models.OncoPhenotypeData; +import com.azure.health.insights.cancerprofiling.models.OncoPhenotypeInferenceResult; + +/** + * Initializes a new instance of the asynchronous CancerProfilingClient type. + */ +@ServiceClient(builder = CancerProfilingClientBuilder.class, isAsync = true) +public final class CancerProfilingAsyncClient { + @Generated + private final CancerProfilingClientImpl serviceClient; + + /** + * Initializes an instance of CancerProfilingAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + CancerProfilingAsyncClient(CancerProfilingClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create Onco Phenotype job + * + * Creates an Onco Phenotype job with the given request body. + * <p> + * <strong>Header Parameters</strong> + * </p> + * <table border="1"> + * <caption>Header Parameters</caption> + * <tr> + * <th>Name</th> + * <th>Type</th> + * <th>Required</th> + * <th>Description</th> + * </tr> + * <tr> + * <td>repeatability-request-id</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability request ID header</td> + * </tr> + * <tr> + * <td>repeatability-first-sent</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability first sent header as HTTP-date</td> + * </tr> + * </table> + * You can add these to a request with {@link RequestOptions#addHeader} + * <p> + * <strong>Request Body Schema</strong> + * </p> + * <pre>{@code + * { + * patients (Required): [ + * (Required){ + * id: String (Required) + * info (Optional): { + * sex: String(female/male/unspecified) (Optional) + * birthDate: LocalDate (Optional) + * clinicalInfo (Optional): [ + * (Optional){ + * resourceType: String (Required) + * id: String (Optional) + * meta (Optional): { + * versionId: String (Optional) + * lastUpdated: String (Optional) + * source: String (Optional) + * profile (Optional): [ + * String (Optional) + * ] + * security (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * url: String (Required) + * valueQuantity (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * value: BigDecimal (Optional) + * comparator: String (Optional) + * unit: String (Optional) + * system: String (Optional) + * code: String (Optional) + * } + * valueCodeableConcept (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * coding (Optional): [ + * (recursive schema, see above) + * ] + * text: String (Optional) + * } + * valueString: String (Optional) + * valueBoolean: Boolean (Optional) + * valueInteger: Integer (Optional) + * valueRange (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * low (Optional): (recursive schema, see low above) + * high (Optional): (recursive schema, see high above) + * } + * valueRatio (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * numerator (Optional): (recursive schema, see numerator above) + * denominator (Optional): (recursive schema, see denominator above) + * } + * valueSampledData (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * origin (Required): (recursive schema, see origin above) + * period: BigDecimal (Required) + * factor: BigDecimal (Optional) + * lowerLimit: BigDecimal (Optional) + * upperLimit: BigDecimal (Optional) + * dimensions: int (Required) + * data: String (Optional) + * } + * valueTime: String (Optional) + * valueDateTime: String (Optional) + * valuePeriod (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * start: String (Optional) + * end: String (Optional) + * } + * valueReference (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * reference: String (Optional) + * type: String (Optional) + * identifier (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * use: String (Optional) + * type (Optional): (recursive schema, see type above) + * system: String (Optional) + * value: String (Optional) + * period (Optional): (recursive schema, see period above) + * assigner (Optional): (recursive schema, see assigner above) + * } + * display: String (Optional) + * } + * } + * ] + * system: String (Optional) + * version: String (Optional) + * code: String (Optional) + * display: String (Optional) + * } + * ] + * tag (Optional): [ + * (recursive schema, see above) + * ] + * } + * implicitRules: String (Optional) + * language: String (Optional) + * (Optional): { + * String: Object (Required) + * } + * } + * ] + * } + * encounters (Optional): [ + * (Optional){ + * id: String (Required) + * period (Optional): { + * start: OffsetDateTime (Optional) + * end: OffsetDateTime (Optional) + * } + * class: String(inpatient/ambulatory/observation/emergency/virtual/healthHome) (Optional) + * } + * ] + * patientDocuments (Optional): [ + * (Optional){ + * type: String(note/fhirBundle/dicom/genomicSequencing) (Required) + * clinicalType: String(consultation/dischargeSummary/historyAndPhysical/radiologyReport/procedure/progress/laboratory/pathologyReport) (Optional) + * id: String (Required) + * language: String (Optional) + * createdDateTime: OffsetDateTime (Optional) + * authors (Optional): [ + * (Optional){ + * id: String (Optional) + * fullName: String (Optional) + * } + * ] + * specialtyType: String(pathology/radiology) (Optional) + * administrativeMetadata (Optional): { + * orderedProcedures (Optional): [ + * (Optional){ + * extension (Optional): [ + * (recursive schema, see above) + * ] + * code (Optional): (recursive schema, see code above) + * description: String (Optional) + * } + * ] + * encounterId: String (Optional) + * } + * content (Required): { + * sourceType: String(inline/reference) (Required) + * value: String (Required) + * } + * } + * ] + * } + * ] + * configuration (Optional): { + * verbose: Boolean (Optional) + * includeEvidence: Boolean (Optional) + * inferenceTypes (Optional): [ + * String(tumorSite/histology/clinicalStageT/clinicalStageN/clinicalStageM/pathologicStageT/pathologicStageN/pathologicStageM/diagnosisDate) (Optional) + * ] + * checkForCancerCase: Boolean (Optional) + * } + * } + * }</pre> + * <p> + * <strong>Response Body Schema</strong> + * </p> + * <pre>{@code + * { + * id: String (Required) + * status: String (Required) + * error (Optional): { + * code: String (Required) + * message: String (Required) + * target: String (Optional) + * details (Optional): [ + * (recursive schema, see above) + * ] + * } + * } + * }</pre> + * + * @param oncoPhenotypeData The body of the Onco Phenotype request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of status details for long running operations. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux<BinaryData, BinaryData> beginInferCancerProfile(BinaryData oncoPhenotypeData, + RequestOptions requestOptions) { + return this.serviceClient.beginInferCancerProfileAsync(oncoPhenotypeData, requestOptions); + } + + /** + * Create Onco Phenotype job + * + * Creates an Onco Phenotype job with the given request body. + * + * @param oncoPhenotypeData The body of the Onco Phenotype request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of status details for long running operations. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux<PollOperationDetails, OncoPhenotypeInferenceResult> + beginInferCancerProfile(OncoPhenotypeData oncoPhenotypeData) { + // Generated convenience method for beginInferCancerProfileWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginInferCancerProfileWithModelAsync(BinaryData.fromObject(oncoPhenotypeData), + requestOptions); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/CancerProfilingClient.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/CancerProfilingClient.java new file mode 100644 index 0000000000000..659e4aa6d9408 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/CancerProfilingClient.java @@ -0,0 +1,315 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.PollOperationDetails; +import com.azure.core.util.polling.SyncPoller; +import com.azure.health.insights.cancerprofiling.implementation.CancerProfilingClientImpl; +import com.azure.health.insights.cancerprofiling.models.OncoPhenotypeData; +import com.azure.health.insights.cancerprofiling.models.OncoPhenotypeInferenceResult; + +/** + * Initializes a new instance of the synchronous CancerProfilingClient type. + */ +@ServiceClient(builder = CancerProfilingClientBuilder.class) +public final class CancerProfilingClient { + @Generated + private final CancerProfilingClientImpl serviceClient; + + /** + * Initializes an instance of CancerProfilingClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + CancerProfilingClient(CancerProfilingClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create Onco Phenotype job + * + * Creates an Onco Phenotype job with the given request body. + * <p> + * <strong>Header Parameters</strong> + * </p> + * <table border="1"> + * <caption>Header Parameters</caption> + * <tr> + * <th>Name</th> + * <th>Type</th> + * <th>Required</th> + * <th>Description</th> + * </tr> + * <tr> + * <td>repeatability-request-id</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability request ID header</td> + * </tr> + * <tr> + * <td>repeatability-first-sent</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability first sent header as HTTP-date</td> + * </tr> + * </table> + * You can add these to a request with {@link RequestOptions#addHeader} + * <p> + * <strong>Request Body Schema</strong> + * </p> + * <pre>{@code + * { + * patients (Required): [ + * (Required){ + * id: String (Required) + * info (Optional): { + * sex: String(female/male/unspecified) (Optional) + * birthDate: LocalDate (Optional) + * clinicalInfo (Optional): [ + * (Optional){ + * resourceType: String (Required) + * id: String (Optional) + * meta (Optional): { + * versionId: String (Optional) + * lastUpdated: String (Optional) + * source: String (Optional) + * profile (Optional): [ + * String (Optional) + * ] + * security (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * url: String (Required) + * valueQuantity (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * value: BigDecimal (Optional) + * comparator: String (Optional) + * unit: String (Optional) + * system: String (Optional) + * code: String (Optional) + * } + * valueCodeableConcept (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * coding (Optional): [ + * (recursive schema, see above) + * ] + * text: String (Optional) + * } + * valueString: String (Optional) + * valueBoolean: Boolean (Optional) + * valueInteger: Integer (Optional) + * valueRange (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * low (Optional): (recursive schema, see low above) + * high (Optional): (recursive schema, see high above) + * } + * valueRatio (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * numerator (Optional): (recursive schema, see numerator above) + * denominator (Optional): (recursive schema, see denominator above) + * } + * valueSampledData (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * origin (Required): (recursive schema, see origin above) + * period: BigDecimal (Required) + * factor: BigDecimal (Optional) + * lowerLimit: BigDecimal (Optional) + * upperLimit: BigDecimal (Optional) + * dimensions: int (Required) + * data: String (Optional) + * } + * valueTime: String (Optional) + * valueDateTime: String (Optional) + * valuePeriod (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * start: String (Optional) + * end: String (Optional) + * } + * valueReference (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * reference: String (Optional) + * type: String (Optional) + * identifier (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * use: String (Optional) + * type (Optional): (recursive schema, see type above) + * system: String (Optional) + * value: String (Optional) + * period (Optional): (recursive schema, see period above) + * assigner (Optional): (recursive schema, see assigner above) + * } + * display: String (Optional) + * } + * } + * ] + * system: String (Optional) + * version: String (Optional) + * code: String (Optional) + * display: String (Optional) + * } + * ] + * tag (Optional): [ + * (recursive schema, see above) + * ] + * } + * implicitRules: String (Optional) + * language: String (Optional) + * (Optional): { + * String: Object (Required) + * } + * } + * ] + * } + * encounters (Optional): [ + * (Optional){ + * id: String (Required) + * period (Optional): { + * start: OffsetDateTime (Optional) + * end: OffsetDateTime (Optional) + * } + * class: String(inpatient/ambulatory/observation/emergency/virtual/healthHome) (Optional) + * } + * ] + * patientDocuments (Optional): [ + * (Optional){ + * type: String(note/fhirBundle/dicom/genomicSequencing) (Required) + * clinicalType: String(consultation/dischargeSummary/historyAndPhysical/radiologyReport/procedure/progress/laboratory/pathologyReport) (Optional) + * id: String (Required) + * language: String (Optional) + * createdDateTime: OffsetDateTime (Optional) + * authors (Optional): [ + * (Optional){ + * id: String (Optional) + * fullName: String (Optional) + * } + * ] + * specialtyType: String(pathology/radiology) (Optional) + * administrativeMetadata (Optional): { + * orderedProcedures (Optional): [ + * (Optional){ + * extension (Optional): [ + * (recursive schema, see above) + * ] + * code (Optional): (recursive schema, see code above) + * description: String (Optional) + * } + * ] + * encounterId: String (Optional) + * } + * content (Required): { + * sourceType: String(inline/reference) (Required) + * value: String (Required) + * } + * } + * ] + * } + * ] + * configuration (Optional): { + * verbose: Boolean (Optional) + * includeEvidence: Boolean (Optional) + * inferenceTypes (Optional): [ + * String(tumorSite/histology/clinicalStageT/clinicalStageN/clinicalStageM/pathologicStageT/pathologicStageN/pathologicStageM/diagnosisDate) (Optional) + * ] + * checkForCancerCase: Boolean (Optional) + * } + * } + * }</pre> + * <p> + * <strong>Response Body Schema</strong> + * </p> + * <pre>{@code + * { + * id: String (Required) + * status: String (Required) + * error (Optional): { + * code: String (Required) + * message: String (Required) + * target: String (Optional) + * details (Optional): [ + * (recursive schema, see above) + * ] + * } + * } + * }</pre> + * + * @param oncoPhenotypeData The body of the Onco Phenotype request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of status details for long running operations. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller<BinaryData, BinaryData> beginInferCancerProfile(BinaryData oncoPhenotypeData, + RequestOptions requestOptions) { + return this.serviceClient.beginInferCancerProfile(oncoPhenotypeData, requestOptions); + } + + /** + * Create Onco Phenotype job + * + * Creates an Onco Phenotype job with the given request body. + * + * @param oncoPhenotypeData The body of the Onco Phenotype request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of status details for long running operations. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller<PollOperationDetails, OncoPhenotypeInferenceResult> + beginInferCancerProfile(OncoPhenotypeData oncoPhenotypeData) { + // Generated convenience method for beginInferCancerProfileWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginInferCancerProfileWithModel(BinaryData.fromObject(oncoPhenotypeData), requestOptions); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/CancerProfilingClientBuilder.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/CancerProfilingClientBuilder.java new file mode 100644 index 0000000000000..e23b37dd0aa0c --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/CancerProfilingClientBuilder.java @@ -0,0 +1,322 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.EndpointTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.KeyCredentialTrait; +import com.azure.core.credential.KeyCredential; +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpHeaderName; +import com.azure.core.http.HttpHeaders; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.HttpPipelinePosition; +import com.azure.core.http.policy.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.HttpPolicyProviders; +import com.azure.core.http.policy.KeyCredentialPolicy; +import com.azure.core.http.policy.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.util.ClientOptions; +import com.azure.core.util.Configuration; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.health.insights.cancerprofiling.implementation.CancerProfilingClientImpl; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the CancerProfilingClient type. + */ +@ServiceClientBuilder(serviceClients = { CancerProfilingClient.class, CancerProfilingAsyncClient.class }) +public final class CancerProfilingClientBuilder + implements HttpTrait<CancerProfilingClientBuilder>, ConfigurationTrait<CancerProfilingClientBuilder>, + KeyCredentialTrait<CancerProfilingClientBuilder>, EndpointTrait<CancerProfilingClientBuilder> { + @Generated + private static final String SDK_NAME = "name"; + + @Generated + private static final String SDK_VERSION = "version"; + + @Generated + private static final Map<String, String> PROPERTIES + = CoreUtils.getProperties("azure-health-insights-cancerprofiling.properties"); + + @Generated + private final List<HttpPipelinePolicy> pipelinePolicies; + + /** + * Create an instance of the CancerProfilingClientBuilder. + */ + @Generated + public CancerProfilingClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public CancerProfilingClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public CancerProfilingClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public CancerProfilingClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public CancerProfilingClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public CancerProfilingClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public CancerProfilingClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public CancerProfilingClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The KeyCredential used for authentication. + */ + @Generated + private KeyCredential keyCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public CancerProfilingClientBuilder credential(KeyCredential keyCredential) { + this.keyCredential = keyCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public CancerProfilingClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private AzureHealthInsightsServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the CancerProfilingClientBuilder. + */ + @Generated + public CancerProfilingClientBuilder serviceVersion(AzureHealthInsightsServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + return this; + } + + /* + * The retry policy that will attempt to retry failed requests, if applicable. + */ + @Generated + private RetryPolicy retryPolicy; + + /** + * Sets The retry policy that will attempt to retry failed requests, if applicable. + * + * @param retryPolicy the retryPolicy value. + * @return the CancerProfilingClientBuilder. + */ + @Generated + public CancerProfilingClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of CancerProfilingClientImpl with the provided parameters. + * + * @return an instance of CancerProfilingClientImpl. + */ + @Generated + private CancerProfilingClientImpl buildInnerClient() { + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + AzureHealthInsightsServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : AzureHealthInsightsServiceVersion.getLatest(); + CancerProfilingClientImpl client = new CancerProfilingClientImpl(localPipeline, + JacksonAdapter.createDefaultSerializerAdapter(), this.endpoint, localServiceVersion); + return client; + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List<HttpPipelinePolicy> policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = new HttpHeaders(); + localClientOptions.getHeaders() + .forEach(header -> headers.set(HttpHeaderName.fromString(header.getName()), header.getValue())); + if (headers.getSize() > 0) { + policies.add(new AddHeadersPolicy(headers)); + } + this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + if (keyCredential != null) { + policies.add(new KeyCredentialPolicy("Ocp-Apim-Subscription-Key", keyCredential)); + } + this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(httpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient).clientOptions(localClientOptions).build(); + return httpPipeline; + } + + /** + * Builds an instance of CancerProfilingAsyncClient class. + * + * @return an instance of CancerProfilingAsyncClient. + */ + @Generated + public CancerProfilingAsyncClient buildAsyncClient() { + return new CancerProfilingAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of CancerProfilingClient class. + * + * @return an instance of CancerProfilingClient. + */ + @Generated + public CancerProfilingClient buildClient() { + return new CancerProfilingClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(CancerProfilingClientBuilder.class); +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/implementation/CancerProfilingClientImpl.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/implementation/CancerProfilingClientImpl.java new file mode 100644 index 0000000000000..883ddda66a4dc --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/implementation/CancerProfilingClientImpl.java @@ -0,0 +1,1763 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.HttpHeaderName; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.util.BinaryData; +import com.azure.core.util.Context; +import com.azure.core.util.DateTimeRfc1123; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.polling.PollOperationDetails; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.polling.PollingStrategyOptions; +import com.azure.core.util.polling.SyncPoller; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.core.util.serializer.TypeReference; +import com.azure.health.insights.cancerprofiling.AzureHealthInsightsServiceVersion; +import com.azure.health.insights.cancerprofiling.models.OncoPhenotypeInferenceResult; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.util.UUID; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the CancerProfilingClient type. + */ +public final class CancerProfilingClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final CancerProfilingClientService service; + + /** + * Supported Cognitive Services endpoints (protocol and hostname, for example: + * https://westus2.api.cognitive.microsoft.com). + */ + private final String endpoint; + + /** + * Gets Supported Cognitive Services endpoints (protocol and hostname, for example: + * https://westus2.api.cognitive.microsoft.com). + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final AzureHealthInsightsServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public AzureHealthInsightsServiceVersion getServiceVersion() { + return this.serviceVersion; + } + + /** + * The HTTP pipeline to send requests through. + */ + private final HttpPipeline httpPipeline; + + /** + * Gets The HTTP pipeline to send requests through. + * + * @return the httpPipeline value. + */ + public HttpPipeline getHttpPipeline() { + return this.httpPipeline; + } + + /** + * The serializer to serialize an object into a string. + */ + private final SerializerAdapter serializerAdapter; + + /** + * Gets The serializer to serialize an object into a string. + * + * @return the serializerAdapter value. + */ + public SerializerAdapter getSerializerAdapter() { + return this.serializerAdapter; + } + + /** + * Initializes an instance of CancerProfilingClient client. + * + * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example: + * https://westus2.api.cognitive.microsoft.com). + * @param serviceVersion Service version. + */ + public CancerProfilingClientImpl(String endpoint, AzureHealthInsightsServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of CancerProfilingClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example: + * https://westus2.api.cognitive.microsoft.com). + * @param serviceVersion Service version. + */ + public CancerProfilingClientImpl(HttpPipeline httpPipeline, String endpoint, + AzureHealthInsightsServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of CancerProfilingClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example: + * https://westus2.api.cognitive.microsoft.com). + * @param serviceVersion Service version. + */ + public CancerProfilingClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, + AzureHealthInsightsServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service + = RestProxy.create(CancerProfilingClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for CancerProfilingClient to be used by the proxy service to perform + * REST calls. + */ + @Host("{endpoint}/health-insights") + @ServiceInterface(name = "CancerProfilingClien") + public interface CancerProfilingClientService { + @Post("/onco-phenotype/jobs") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono<Response<BinaryData>> inferCancerProfile(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData oncoPhenotypeData, RequestOptions requestOptions, + Context context); + + @Post("/onco-phenotype/jobs") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response<BinaryData> inferCancerProfileSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData oncoPhenotypeData, RequestOptions requestOptions, + Context context); + } + + /** + * Create Onco Phenotype job + * + * Creates an Onco Phenotype job with the given request body. + * <p> + * <strong>Header Parameters</strong> + * </p> + * <table border="1"> + * <caption>Header Parameters</caption> + * <tr> + * <th>Name</th> + * <th>Type</th> + * <th>Required</th> + * <th>Description</th> + * </tr> + * <tr> + * <td>repeatability-request-id</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability request ID header</td> + * </tr> + * <tr> + * <td>repeatability-first-sent</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability first sent header as HTTP-date</td> + * </tr> + * </table> + * You can add these to a request with {@link RequestOptions#addHeader} + * <p> + * <strong>Request Body Schema</strong> + * </p> + * <pre>{@code + * { + * patients (Required): [ + * (Required){ + * id: String (Required) + * info (Optional): { + * sex: String(female/male/unspecified) (Optional) + * birthDate: LocalDate (Optional) + * clinicalInfo (Optional): [ + * (Optional){ + * resourceType: String (Required) + * id: String (Optional) + * meta (Optional): { + * versionId: String (Optional) + * lastUpdated: String (Optional) + * source: String (Optional) + * profile (Optional): [ + * String (Optional) + * ] + * security (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * url: String (Required) + * valueQuantity (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * value: BigDecimal (Optional) + * comparator: String (Optional) + * unit: String (Optional) + * system: String (Optional) + * code: String (Optional) + * } + * valueCodeableConcept (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * coding (Optional): [ + * (recursive schema, see above) + * ] + * text: String (Optional) + * } + * valueString: String (Optional) + * valueBoolean: Boolean (Optional) + * valueInteger: Integer (Optional) + * valueRange (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * low (Optional): (recursive schema, see low above) + * high (Optional): (recursive schema, see high above) + * } + * valueRatio (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * numerator (Optional): (recursive schema, see numerator above) + * denominator (Optional): (recursive schema, see denominator above) + * } + * valueSampledData (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * origin (Required): (recursive schema, see origin above) + * period: BigDecimal (Required) + * factor: BigDecimal (Optional) + * lowerLimit: BigDecimal (Optional) + * upperLimit: BigDecimal (Optional) + * dimensions: int (Required) + * data: String (Optional) + * } + * valueTime: String (Optional) + * valueDateTime: String (Optional) + * valuePeriod (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * start: String (Optional) + * end: String (Optional) + * } + * valueReference (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * reference: String (Optional) + * type: String (Optional) + * identifier (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * use: String (Optional) + * type (Optional): (recursive schema, see type above) + * system: String (Optional) + * value: String (Optional) + * period (Optional): (recursive schema, see period above) + * assigner (Optional): (recursive schema, see assigner above) + * } + * display: String (Optional) + * } + * } + * ] + * system: String (Optional) + * version: String (Optional) + * code: String (Optional) + * display: String (Optional) + * } + * ] + * tag (Optional): [ + * (recursive schema, see above) + * ] + * } + * implicitRules: String (Optional) + * language: String (Optional) + * (Optional): { + * String: Object (Required) + * } + * } + * ] + * } + * encounters (Optional): [ + * (Optional){ + * id: String (Required) + * period (Optional): { + * start: OffsetDateTime (Optional) + * end: OffsetDateTime (Optional) + * } + * class: String(inpatient/ambulatory/observation/emergency/virtual/healthHome) (Optional) + * } + * ] + * patientDocuments (Optional): [ + * (Optional){ + * type: String(note/fhirBundle/dicom/genomicSequencing) (Required) + * clinicalType: String(consultation/dischargeSummary/historyAndPhysical/radiologyReport/procedure/progress/laboratory/pathologyReport) (Optional) + * id: String (Required) + * language: String (Optional) + * createdDateTime: OffsetDateTime (Optional) + * authors (Optional): [ + * (Optional){ + * id: String (Optional) + * fullName: String (Optional) + * } + * ] + * specialtyType: String(pathology/radiology) (Optional) + * administrativeMetadata (Optional): { + * orderedProcedures (Optional): [ + * (Optional){ + * extension (Optional): [ + * (recursive schema, see above) + * ] + * code (Optional): (recursive schema, see code above) + * description: String (Optional) + * } + * ] + * encounterId: String (Optional) + * } + * content (Required): { + * sourceType: String(inline/reference) (Required) + * value: String (Required) + * } + * } + * ] + * } + * ] + * configuration (Optional): { + * verbose: Boolean (Optional) + * includeEvidence: Boolean (Optional) + * inferenceTypes (Optional): [ + * String(tumorSite/histology/clinicalStageT/clinicalStageN/clinicalStageM/pathologicStageT/pathologicStageN/pathologicStageM/diagnosisDate) (Optional) + * ] + * checkForCancerCase: Boolean (Optional) + * } + * } + * }</pre> + * <p> + * <strong>Response Body Schema</strong> + * </p> + * <pre>{@code + * { + * id: String (Required) + * status: String (Required) + * error (Optional): { + * code: String (Required) + * message: String (Required) + * target: String (Optional) + * details (Optional): [ + * (recursive schema, see above) + * ] + * } + * } + * }</pre> + * + * @param oncoPhenotypeData The body of the Onco Phenotype request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return status details for long running operations along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono<Response<BinaryData>> inferCancerProfileWithResponseAsync(BinaryData oncoPhenotypeData, + RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + String repeatabilityRequestId = UUID.randomUUID().toString(); + String repeatabilityFirstSent = DateTimeRfc1123.toRfc1123String(OffsetDateTime.now()); + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-request-id")) == null) { + requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-request-id"), + repeatabilityRequestId); + } + }); + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-first-sent")) == null) { + requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-first-sent"), + repeatabilityFirstSent); + } + }); + return FluxUtil.withContext(context -> service.inferCancerProfile(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, oncoPhenotypeData, requestOptionsLocal, context)); + } + + /** + * Create Onco Phenotype job + * + * Creates an Onco Phenotype job with the given request body. + * <p> + * <strong>Header Parameters</strong> + * </p> + * <table border="1"> + * <caption>Header Parameters</caption> + * <tr> + * <th>Name</th> + * <th>Type</th> + * <th>Required</th> + * <th>Description</th> + * </tr> + * <tr> + * <td>repeatability-request-id</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability request ID header</td> + * </tr> + * <tr> + * <td>repeatability-first-sent</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability first sent header as HTTP-date</td> + * </tr> + * </table> + * You can add these to a request with {@link RequestOptions#addHeader} + * <p> + * <strong>Request Body Schema</strong> + * </p> + * <pre>{@code + * { + * patients (Required): [ + * (Required){ + * id: String (Required) + * info (Optional): { + * sex: String(female/male/unspecified) (Optional) + * birthDate: LocalDate (Optional) + * clinicalInfo (Optional): [ + * (Optional){ + * resourceType: String (Required) + * id: String (Optional) + * meta (Optional): { + * versionId: String (Optional) + * lastUpdated: String (Optional) + * source: String (Optional) + * profile (Optional): [ + * String (Optional) + * ] + * security (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * url: String (Required) + * valueQuantity (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * value: BigDecimal (Optional) + * comparator: String (Optional) + * unit: String (Optional) + * system: String (Optional) + * code: String (Optional) + * } + * valueCodeableConcept (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * coding (Optional): [ + * (recursive schema, see above) + * ] + * text: String (Optional) + * } + * valueString: String (Optional) + * valueBoolean: Boolean (Optional) + * valueInteger: Integer (Optional) + * valueRange (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * low (Optional): (recursive schema, see low above) + * high (Optional): (recursive schema, see high above) + * } + * valueRatio (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * numerator (Optional): (recursive schema, see numerator above) + * denominator (Optional): (recursive schema, see denominator above) + * } + * valueSampledData (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * origin (Required): (recursive schema, see origin above) + * period: BigDecimal (Required) + * factor: BigDecimal (Optional) + * lowerLimit: BigDecimal (Optional) + * upperLimit: BigDecimal (Optional) + * dimensions: int (Required) + * data: String (Optional) + * } + * valueTime: String (Optional) + * valueDateTime: String (Optional) + * valuePeriod (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * start: String (Optional) + * end: String (Optional) + * } + * valueReference (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * reference: String (Optional) + * type: String (Optional) + * identifier (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * use: String (Optional) + * type (Optional): (recursive schema, see type above) + * system: String (Optional) + * value: String (Optional) + * period (Optional): (recursive schema, see period above) + * assigner (Optional): (recursive schema, see assigner above) + * } + * display: String (Optional) + * } + * } + * ] + * system: String (Optional) + * version: String (Optional) + * code: String (Optional) + * display: String (Optional) + * } + * ] + * tag (Optional): [ + * (recursive schema, see above) + * ] + * } + * implicitRules: String (Optional) + * language: String (Optional) + * (Optional): { + * String: Object (Required) + * } + * } + * ] + * } + * encounters (Optional): [ + * (Optional){ + * id: String (Required) + * period (Optional): { + * start: OffsetDateTime (Optional) + * end: OffsetDateTime (Optional) + * } + * class: String(inpatient/ambulatory/observation/emergency/virtual/healthHome) (Optional) + * } + * ] + * patientDocuments (Optional): [ + * (Optional){ + * type: String(note/fhirBundle/dicom/genomicSequencing) (Required) + * clinicalType: String(consultation/dischargeSummary/historyAndPhysical/radiologyReport/procedure/progress/laboratory/pathologyReport) (Optional) + * id: String (Required) + * language: String (Optional) + * createdDateTime: OffsetDateTime (Optional) + * authors (Optional): [ + * (Optional){ + * id: String (Optional) + * fullName: String (Optional) + * } + * ] + * specialtyType: String(pathology/radiology) (Optional) + * administrativeMetadata (Optional): { + * orderedProcedures (Optional): [ + * (Optional){ + * extension (Optional): [ + * (recursive schema, see above) + * ] + * code (Optional): (recursive schema, see code above) + * description: String (Optional) + * } + * ] + * encounterId: String (Optional) + * } + * content (Required): { + * sourceType: String(inline/reference) (Required) + * value: String (Required) + * } + * } + * ] + * } + * ] + * configuration (Optional): { + * verbose: Boolean (Optional) + * includeEvidence: Boolean (Optional) + * inferenceTypes (Optional): [ + * String(tumorSite/histology/clinicalStageT/clinicalStageN/clinicalStageM/pathologicStageT/pathologicStageN/pathologicStageM/diagnosisDate) (Optional) + * ] + * checkForCancerCase: Boolean (Optional) + * } + * } + * }</pre> + * <p> + * <strong>Response Body Schema</strong> + * </p> + * <pre>{@code + * { + * id: String (Required) + * status: String (Required) + * error (Optional): { + * code: String (Required) + * message: String (Required) + * target: String (Optional) + * details (Optional): [ + * (recursive schema, see above) + * ] + * } + * } + * }</pre> + * + * @param oncoPhenotypeData The body of the Onco Phenotype request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return status details for long running operations along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response<BinaryData> inferCancerProfileWithResponse(BinaryData oncoPhenotypeData, + RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + String repeatabilityRequestId = UUID.randomUUID().toString(); + String repeatabilityFirstSent = DateTimeRfc1123.toRfc1123String(OffsetDateTime.now()); + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-request-id")) == null) { + requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-request-id"), + repeatabilityRequestId); + } + }); + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-first-sent")) == null) { + requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-first-sent"), + repeatabilityFirstSent); + } + }); + return service.inferCancerProfileSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + oncoPhenotypeData, requestOptionsLocal, Context.NONE); + } + + /** + * Create Onco Phenotype job + * + * Creates an Onco Phenotype job with the given request body. + * <p> + * <strong>Header Parameters</strong> + * </p> + * <table border="1"> + * <caption>Header Parameters</caption> + * <tr> + * <th>Name</th> + * <th>Type</th> + * <th>Required</th> + * <th>Description</th> + * </tr> + * <tr> + * <td>repeatability-request-id</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability request ID header</td> + * </tr> + * <tr> + * <td>repeatability-first-sent</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability first sent header as HTTP-date</td> + * </tr> + * </table> + * You can add these to a request with {@link RequestOptions#addHeader} + * <p> + * <strong>Request Body Schema</strong> + * </p> + * <pre>{@code + * { + * patients (Required): [ + * (Required){ + * id: String (Required) + * info (Optional): { + * sex: String(female/male/unspecified) (Optional) + * birthDate: LocalDate (Optional) + * clinicalInfo (Optional): [ + * (Optional){ + * resourceType: String (Required) + * id: String (Optional) + * meta (Optional): { + * versionId: String (Optional) + * lastUpdated: String (Optional) + * source: String (Optional) + * profile (Optional): [ + * String (Optional) + * ] + * security (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * url: String (Required) + * valueQuantity (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * value: BigDecimal (Optional) + * comparator: String (Optional) + * unit: String (Optional) + * system: String (Optional) + * code: String (Optional) + * } + * valueCodeableConcept (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * coding (Optional): [ + * (recursive schema, see above) + * ] + * text: String (Optional) + * } + * valueString: String (Optional) + * valueBoolean: Boolean (Optional) + * valueInteger: Integer (Optional) + * valueRange (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * low (Optional): (recursive schema, see low above) + * high (Optional): (recursive schema, see high above) + * } + * valueRatio (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * numerator (Optional): (recursive schema, see numerator above) + * denominator (Optional): (recursive schema, see denominator above) + * } + * valueSampledData (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * origin (Required): (recursive schema, see origin above) + * period: BigDecimal (Required) + * factor: BigDecimal (Optional) + * lowerLimit: BigDecimal (Optional) + * upperLimit: BigDecimal (Optional) + * dimensions: int (Required) + * data: String (Optional) + * } + * valueTime: String (Optional) + * valueDateTime: String (Optional) + * valuePeriod (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * start: String (Optional) + * end: String (Optional) + * } + * valueReference (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * reference: String (Optional) + * type: String (Optional) + * identifier (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * use: String (Optional) + * type (Optional): (recursive schema, see type above) + * system: String (Optional) + * value: String (Optional) + * period (Optional): (recursive schema, see period above) + * assigner (Optional): (recursive schema, see assigner above) + * } + * display: String (Optional) + * } + * } + * ] + * system: String (Optional) + * version: String (Optional) + * code: String (Optional) + * display: String (Optional) + * } + * ] + * tag (Optional): [ + * (recursive schema, see above) + * ] + * } + * implicitRules: String (Optional) + * language: String (Optional) + * (Optional): { + * String: Object (Required) + * } + * } + * ] + * } + * encounters (Optional): [ + * (Optional){ + * id: String (Required) + * period (Optional): { + * start: OffsetDateTime (Optional) + * end: OffsetDateTime (Optional) + * } + * class: String(inpatient/ambulatory/observation/emergency/virtual/healthHome) (Optional) + * } + * ] + * patientDocuments (Optional): [ + * (Optional){ + * type: String(note/fhirBundle/dicom/genomicSequencing) (Required) + * clinicalType: String(consultation/dischargeSummary/historyAndPhysical/radiologyReport/procedure/progress/laboratory/pathologyReport) (Optional) + * id: String (Required) + * language: String (Optional) + * createdDateTime: OffsetDateTime (Optional) + * authors (Optional): [ + * (Optional){ + * id: String (Optional) + * fullName: String (Optional) + * } + * ] + * specialtyType: String(pathology/radiology) (Optional) + * administrativeMetadata (Optional): { + * orderedProcedures (Optional): [ + * (Optional){ + * extension (Optional): [ + * (recursive schema, see above) + * ] + * code (Optional): (recursive schema, see code above) + * description: String (Optional) + * } + * ] + * encounterId: String (Optional) + * } + * content (Required): { + * sourceType: String(inline/reference) (Required) + * value: String (Required) + * } + * } + * ] + * } + * ] + * configuration (Optional): { + * verbose: Boolean (Optional) + * includeEvidence: Boolean (Optional) + * inferenceTypes (Optional): [ + * String(tumorSite/histology/clinicalStageT/clinicalStageN/clinicalStageM/pathologicStageT/pathologicStageN/pathologicStageM/diagnosisDate) (Optional) + * ] + * checkForCancerCase: Boolean (Optional) + * } + * } + * }</pre> + * <p> + * <strong>Response Body Schema</strong> + * </p> + * <pre>{@code + * { + * id: String (Required) + * status: String (Required) + * error (Optional): { + * code: String (Required) + * message: String (Required) + * target: String (Optional) + * details (Optional): [ + * (recursive schema, see above) + * ] + * } + * } + * }</pre> + * + * @param oncoPhenotypeData The body of the Onco Phenotype request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of status details for long running operations. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux<BinaryData, BinaryData> beginInferCancerProfileAsync(BinaryData oncoPhenotypeData, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.inferCancerProfileWithResponseAsync(oncoPhenotypeData, requestOptions), + new com.azure.core.experimental.util.polling.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}/health-insights".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Create Onco Phenotype job + * + * Creates an Onco Phenotype job with the given request body. + * <p> + * <strong>Header Parameters</strong> + * </p> + * <table border="1"> + * <caption>Header Parameters</caption> + * <tr> + * <th>Name</th> + * <th>Type</th> + * <th>Required</th> + * <th>Description</th> + * </tr> + * <tr> + * <td>repeatability-request-id</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability request ID header</td> + * </tr> + * <tr> + * <td>repeatability-first-sent</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability first sent header as HTTP-date</td> + * </tr> + * </table> + * You can add these to a request with {@link RequestOptions#addHeader} + * <p> + * <strong>Request Body Schema</strong> + * </p> + * <pre>{@code + * { + * patients (Required): [ + * (Required){ + * id: String (Required) + * info (Optional): { + * sex: String(female/male/unspecified) (Optional) + * birthDate: LocalDate (Optional) + * clinicalInfo (Optional): [ + * (Optional){ + * resourceType: String (Required) + * id: String (Optional) + * meta (Optional): { + * versionId: String (Optional) + * lastUpdated: String (Optional) + * source: String (Optional) + * profile (Optional): [ + * String (Optional) + * ] + * security (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * url: String (Required) + * valueQuantity (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * value: BigDecimal (Optional) + * comparator: String (Optional) + * unit: String (Optional) + * system: String (Optional) + * code: String (Optional) + * } + * valueCodeableConcept (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * coding (Optional): [ + * (recursive schema, see above) + * ] + * text: String (Optional) + * } + * valueString: String (Optional) + * valueBoolean: Boolean (Optional) + * valueInteger: Integer (Optional) + * valueRange (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * low (Optional): (recursive schema, see low above) + * high (Optional): (recursive schema, see high above) + * } + * valueRatio (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * numerator (Optional): (recursive schema, see numerator above) + * denominator (Optional): (recursive schema, see denominator above) + * } + * valueSampledData (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * origin (Required): (recursive schema, see origin above) + * period: BigDecimal (Required) + * factor: BigDecimal (Optional) + * lowerLimit: BigDecimal (Optional) + * upperLimit: BigDecimal (Optional) + * dimensions: int (Required) + * data: String (Optional) + * } + * valueTime: String (Optional) + * valueDateTime: String (Optional) + * valuePeriod (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * start: String (Optional) + * end: String (Optional) + * } + * valueReference (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * reference: String (Optional) + * type: String (Optional) + * identifier (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * use: String (Optional) + * type (Optional): (recursive schema, see type above) + * system: String (Optional) + * value: String (Optional) + * period (Optional): (recursive schema, see period above) + * assigner (Optional): (recursive schema, see assigner above) + * } + * display: String (Optional) + * } + * } + * ] + * system: String (Optional) + * version: String (Optional) + * code: String (Optional) + * display: String (Optional) + * } + * ] + * tag (Optional): [ + * (recursive schema, see above) + * ] + * } + * implicitRules: String (Optional) + * language: String (Optional) + * (Optional): { + * String: Object (Required) + * } + * } + * ] + * } + * encounters (Optional): [ + * (Optional){ + * id: String (Required) + * period (Optional): { + * start: OffsetDateTime (Optional) + * end: OffsetDateTime (Optional) + * } + * class: String(inpatient/ambulatory/observation/emergency/virtual/healthHome) (Optional) + * } + * ] + * patientDocuments (Optional): [ + * (Optional){ + * type: String(note/fhirBundle/dicom/genomicSequencing) (Required) + * clinicalType: String(consultation/dischargeSummary/historyAndPhysical/radiologyReport/procedure/progress/laboratory/pathologyReport) (Optional) + * id: String (Required) + * language: String (Optional) + * createdDateTime: OffsetDateTime (Optional) + * authors (Optional): [ + * (Optional){ + * id: String (Optional) + * fullName: String (Optional) + * } + * ] + * specialtyType: String(pathology/radiology) (Optional) + * administrativeMetadata (Optional): { + * orderedProcedures (Optional): [ + * (Optional){ + * extension (Optional): [ + * (recursive schema, see above) + * ] + * code (Optional): (recursive schema, see code above) + * description: String (Optional) + * } + * ] + * encounterId: String (Optional) + * } + * content (Required): { + * sourceType: String(inline/reference) (Required) + * value: String (Required) + * } + * } + * ] + * } + * ] + * configuration (Optional): { + * verbose: Boolean (Optional) + * includeEvidence: Boolean (Optional) + * inferenceTypes (Optional): [ + * String(tumorSite/histology/clinicalStageT/clinicalStageN/clinicalStageM/pathologicStageT/pathologicStageN/pathologicStageM/diagnosisDate) (Optional) + * ] + * checkForCancerCase: Boolean (Optional) + * } + * } + * }</pre> + * <p> + * <strong>Response Body Schema</strong> + * </p> + * <pre>{@code + * { + * id: String (Required) + * status: String (Required) + * error (Optional): { + * code: String (Required) + * message: String (Required) + * target: String (Optional) + * details (Optional): [ + * (recursive schema, see above) + * ] + * } + * } + * }</pre> + * + * @param oncoPhenotypeData The body of the Onco Phenotype request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of status details for long running operations. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller<BinaryData, BinaryData> beginInferCancerProfile(BinaryData oncoPhenotypeData, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.inferCancerProfileWithResponse(oncoPhenotypeData, requestOptions), + new com.azure.core.experimental.util.polling.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}/health-insights".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Create Onco Phenotype job + * + * Creates an Onco Phenotype job with the given request body. + * <p> + * <strong>Header Parameters</strong> + * </p> + * <table border="1"> + * <caption>Header Parameters</caption> + * <tr> + * <th>Name</th> + * <th>Type</th> + * <th>Required</th> + * <th>Description</th> + * </tr> + * <tr> + * <td>repeatability-request-id</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability request ID header</td> + * </tr> + * <tr> + * <td>repeatability-first-sent</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability first sent header as HTTP-date</td> + * </tr> + * </table> + * You can add these to a request with {@link RequestOptions#addHeader} + * <p> + * <strong>Request Body Schema</strong> + * </p> + * <pre>{@code + * { + * patients (Required): [ + * (Required){ + * id: String (Required) + * info (Optional): { + * sex: String(female/male/unspecified) (Optional) + * birthDate: LocalDate (Optional) + * clinicalInfo (Optional): [ + * (Optional){ + * resourceType: String (Required) + * id: String (Optional) + * meta (Optional): { + * versionId: String (Optional) + * lastUpdated: String (Optional) + * source: String (Optional) + * profile (Optional): [ + * String (Optional) + * ] + * security (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * url: String (Required) + * valueQuantity (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * value: BigDecimal (Optional) + * comparator: String (Optional) + * unit: String (Optional) + * system: String (Optional) + * code: String (Optional) + * } + * valueCodeableConcept (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * coding (Optional): [ + * (recursive schema, see above) + * ] + * text: String (Optional) + * } + * valueString: String (Optional) + * valueBoolean: Boolean (Optional) + * valueInteger: Integer (Optional) + * valueRange (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * low (Optional): (recursive schema, see low above) + * high (Optional): (recursive schema, see high above) + * } + * valueRatio (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * numerator (Optional): (recursive schema, see numerator above) + * denominator (Optional): (recursive schema, see denominator above) + * } + * valueSampledData (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * origin (Required): (recursive schema, see origin above) + * period: BigDecimal (Required) + * factor: BigDecimal (Optional) + * lowerLimit: BigDecimal (Optional) + * upperLimit: BigDecimal (Optional) + * dimensions: int (Required) + * data: String (Optional) + * } + * valueTime: String (Optional) + * valueDateTime: String (Optional) + * valuePeriod (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * start: String (Optional) + * end: String (Optional) + * } + * valueReference (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * reference: String (Optional) + * type: String (Optional) + * identifier (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * use: String (Optional) + * type (Optional): (recursive schema, see type above) + * system: String (Optional) + * value: String (Optional) + * period (Optional): (recursive schema, see period above) + * assigner (Optional): (recursive schema, see assigner above) + * } + * display: String (Optional) + * } + * } + * ] + * system: String (Optional) + * version: String (Optional) + * code: String (Optional) + * display: String (Optional) + * } + * ] + * tag (Optional): [ + * (recursive schema, see above) + * ] + * } + * implicitRules: String (Optional) + * language: String (Optional) + * (Optional): { + * String: Object (Required) + * } + * } + * ] + * } + * encounters (Optional): [ + * (Optional){ + * id: String (Required) + * period (Optional): { + * start: OffsetDateTime (Optional) + * end: OffsetDateTime (Optional) + * } + * class: String(inpatient/ambulatory/observation/emergency/virtual/healthHome) (Optional) + * } + * ] + * patientDocuments (Optional): [ + * (Optional){ + * type: String(note/fhirBundle/dicom/genomicSequencing) (Required) + * clinicalType: String(consultation/dischargeSummary/historyAndPhysical/radiologyReport/procedure/progress/laboratory/pathologyReport) (Optional) + * id: String (Required) + * language: String (Optional) + * createdDateTime: OffsetDateTime (Optional) + * authors (Optional): [ + * (Optional){ + * id: String (Optional) + * fullName: String (Optional) + * } + * ] + * specialtyType: String(pathology/radiology) (Optional) + * administrativeMetadata (Optional): { + * orderedProcedures (Optional): [ + * (Optional){ + * extension (Optional): [ + * (recursive schema, see above) + * ] + * code (Optional): (recursive schema, see code above) + * description: String (Optional) + * } + * ] + * encounterId: String (Optional) + * } + * content (Required): { + * sourceType: String(inline/reference) (Required) + * value: String (Required) + * } + * } + * ] + * } + * ] + * configuration (Optional): { + * verbose: Boolean (Optional) + * includeEvidence: Boolean (Optional) + * inferenceTypes (Optional): [ + * String(tumorSite/histology/clinicalStageT/clinicalStageN/clinicalStageM/pathologicStageT/pathologicStageN/pathologicStageM/diagnosisDate) (Optional) + * ] + * checkForCancerCase: Boolean (Optional) + * } + * } + * }</pre> + * <p> + * <strong>Response Body Schema</strong> + * </p> + * <pre>{@code + * { + * id: String (Required) + * status: String (Required) + * error (Optional): { + * code: String (Required) + * message: String (Required) + * target: String (Optional) + * details (Optional): [ + * (recursive schema, see above) + * ] + * } + * } + * }</pre> + * + * @param oncoPhenotypeData The body of the Onco Phenotype request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link PollerFlux} for polling of status details for long running operations. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux<PollOperationDetails, OncoPhenotypeInferenceResult> + beginInferCancerProfileWithModelAsync(BinaryData oncoPhenotypeData, RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.inferCancerProfileWithResponseAsync(oncoPhenotypeData, requestOptions), + new com.azure.core.experimental.util.polling.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}/health-insights".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(PollOperationDetails.class), + TypeReference.createInstance(OncoPhenotypeInferenceResult.class)); + } + + /** + * Create Onco Phenotype job + * + * Creates an Onco Phenotype job with the given request body. + * <p> + * <strong>Header Parameters</strong> + * </p> + * <table border="1"> + * <caption>Header Parameters</caption> + * <tr> + * <th>Name</th> + * <th>Type</th> + * <th>Required</th> + * <th>Description</th> + * </tr> + * <tr> + * <td>repeatability-request-id</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability request ID header</td> + * </tr> + * <tr> + * <td>repeatability-first-sent</td> + * <td>String</td> + * <td>No</td> + * <td>Repeatability first sent header as HTTP-date</td> + * </tr> + * </table> + * You can add these to a request with {@link RequestOptions#addHeader} + * <p> + * <strong>Request Body Schema</strong> + * </p> + * <pre>{@code + * { + * patients (Required): [ + * (Required){ + * id: String (Required) + * info (Optional): { + * sex: String(female/male/unspecified) (Optional) + * birthDate: LocalDate (Optional) + * clinicalInfo (Optional): [ + * (Optional){ + * resourceType: String (Required) + * id: String (Optional) + * meta (Optional): { + * versionId: String (Optional) + * lastUpdated: String (Optional) + * source: String (Optional) + * profile (Optional): [ + * String (Optional) + * ] + * security (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (Optional){ + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * url: String (Required) + * valueQuantity (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * value: BigDecimal (Optional) + * comparator: String (Optional) + * unit: String (Optional) + * system: String (Optional) + * code: String (Optional) + * } + * valueCodeableConcept (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * coding (Optional): [ + * (recursive schema, see above) + * ] + * text: String (Optional) + * } + * valueString: String (Optional) + * valueBoolean: Boolean (Optional) + * valueInteger: Integer (Optional) + * valueRange (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * low (Optional): (recursive schema, see low above) + * high (Optional): (recursive schema, see high above) + * } + * valueRatio (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * numerator (Optional): (recursive schema, see numerator above) + * denominator (Optional): (recursive schema, see denominator above) + * } + * valueSampledData (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * origin (Required): (recursive schema, see origin above) + * period: BigDecimal (Required) + * factor: BigDecimal (Optional) + * lowerLimit: BigDecimal (Optional) + * upperLimit: BigDecimal (Optional) + * dimensions: int (Required) + * data: String (Optional) + * } + * valueTime: String (Optional) + * valueDateTime: String (Optional) + * valuePeriod (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * start: String (Optional) + * end: String (Optional) + * } + * valueReference (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * reference: String (Optional) + * type: String (Optional) + * identifier (Optional): { + * id: String (Optional) + * extension (Optional): [ + * (recursive schema, see above) + * ] + * use: String (Optional) + * type (Optional): (recursive schema, see type above) + * system: String (Optional) + * value: String (Optional) + * period (Optional): (recursive schema, see period above) + * assigner (Optional): (recursive schema, see assigner above) + * } + * display: String (Optional) + * } + * } + * ] + * system: String (Optional) + * version: String (Optional) + * code: String (Optional) + * display: String (Optional) + * } + * ] + * tag (Optional): [ + * (recursive schema, see above) + * ] + * } + * implicitRules: String (Optional) + * language: String (Optional) + * (Optional): { + * String: Object (Required) + * } + * } + * ] + * } + * encounters (Optional): [ + * (Optional){ + * id: String (Required) + * period (Optional): { + * start: OffsetDateTime (Optional) + * end: OffsetDateTime (Optional) + * } + * class: String(inpatient/ambulatory/observation/emergency/virtual/healthHome) (Optional) + * } + * ] + * patientDocuments (Optional): [ + * (Optional){ + * type: String(note/fhirBundle/dicom/genomicSequencing) (Required) + * clinicalType: String(consultation/dischargeSummary/historyAndPhysical/radiologyReport/procedure/progress/laboratory/pathologyReport) (Optional) + * id: String (Required) + * language: String (Optional) + * createdDateTime: OffsetDateTime (Optional) + * authors (Optional): [ + * (Optional){ + * id: String (Optional) + * fullName: String (Optional) + * } + * ] + * specialtyType: String(pathology/radiology) (Optional) + * administrativeMetadata (Optional): { + * orderedProcedures (Optional): [ + * (Optional){ + * extension (Optional): [ + * (recursive schema, see above) + * ] + * code (Optional): (recursive schema, see code above) + * description: String (Optional) + * } + * ] + * encounterId: String (Optional) + * } + * content (Required): { + * sourceType: String(inline/reference) (Required) + * value: String (Required) + * } + * } + * ] + * } + * ] + * configuration (Optional): { + * verbose: Boolean (Optional) + * includeEvidence: Boolean (Optional) + * inferenceTypes (Optional): [ + * String(tumorSite/histology/clinicalStageT/clinicalStageN/clinicalStageM/pathologicStageT/pathologicStageN/pathologicStageM/diagnosisDate) (Optional) + * ] + * checkForCancerCase: Boolean (Optional) + * } + * } + * }</pre> + * <p> + * <strong>Response Body Schema</strong> + * </p> + * <pre>{@code + * { + * id: String (Required) + * status: String (Required) + * error (Optional): { + * code: String (Required) + * message: String (Required) + * target: String (Optional) + * details (Optional): [ + * (recursive schema, see above) + * ] + * } + * } + * }</pre> + * + * @param oncoPhenotypeData The body of the Onco Phenotype request. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link SyncPoller} for polling of status details for long running operations. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller<PollOperationDetails, OncoPhenotypeInferenceResult> + beginInferCancerProfileWithModel(BinaryData oncoPhenotypeData, RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.inferCancerProfileWithResponse(oncoPhenotypeData, requestOptions), + new com.azure.core.experimental.util.polling.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.getHttpPipeline()) + .setEndpoint("{endpoint}/health-insights".replace("{endpoint}", this.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) + .setServiceVersion(this.getServiceVersion().getVersion())), + TypeReference.createInstance(PollOperationDetails.class), + TypeReference.createInstance(OncoPhenotypeInferenceResult.class)); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/implementation/package-info.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/implementation/package-info.java new file mode 100644 index 0000000000000..326bb758593f0 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/implementation/package-info.java @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * <!-- start generated doc --> + * Package containing the implementations for AzureHealthInsights. + * Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that + * perform analysis and provide inferences to be used by a human. + * <!-- end generated doc --> + */ +package com.azure.health.insights.cancerprofiling.implementation; diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Annotation.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Annotation.java new file mode 100644 index 0000000000000..afd0b314eaa2d --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Annotation.java @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * A text note which also contains information about who made the statement and when + * Based on [FHIR Annotation](https://www.hl7.org/fhir/R4/datatypes.html#Annotation). + */ +@Fluent +public final class Annotation extends Element { + /* + * Individual responsible for the annotation + */ + @Generated + @JsonProperty(value = "authorString") + private String authorString; + + /* + * When the annotation was made + */ + @Generated + @JsonProperty(value = "time") + private String time; + + /* + * The annotation - text content (as markdown) + */ + @Generated + @JsonProperty(value = "text") + private String text; + + /** + * Creates an instance of Annotation class. + * + * @param text the text value to set. + */ + @Generated + @JsonCreator + public Annotation(@JsonProperty(value = "text") String text) { + this.text = text; + } + + /** + * Get the authorString property: Individual responsible for the annotation. + * + * @return the authorString value. + */ + @Generated + public String getAuthorString() { + return this.authorString; + } + + /** + * Set the authorString property: Individual responsible for the annotation. + * + * @param authorString the authorString value to set. + * @return the Annotation object itself. + */ + @Generated + public Annotation setAuthorString(String authorString) { + this.authorString = authorString; + return this; + } + + /** + * Get the time property: When the annotation was made. + * + * @return the time value. + */ + @Generated + public String getTime() { + return this.time; + } + + /** + * Set the time property: When the annotation was made. + * + * @param time the time value to set. + * @return the Annotation object itself. + */ + @Generated + public Annotation setTime(String time) { + this.time = time; + return this; + } + + /** + * Get the text property: The annotation - text content (as markdown). + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Annotation setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Annotation setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ClinicalCodedElement.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ClinicalCodedElement.java new file mode 100644 index 0000000000000..7b4c92711b062 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ClinicalCodedElement.java @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * A piece of clinical information, expressed as a code in a clinical coding system. + */ +@Immutable +public final class ClinicalCodedElement { + /* + * The clinical coding system, e.g. ICD-10, SNOMED-CT, UMLS. + */ + @Generated + @JsonProperty(value = "system") + private String system; + + /* + * The code within the given clinical coding system. + */ + @Generated + @JsonProperty(value = "code") + private String code; + + /* + * The name of this coded concept in the coding system. + */ + @Generated + @JsonProperty(value = "name") + private String name; + + /* + * A value associated with the code within the given clinical coding system. + */ + @Generated + @JsonProperty(value = "value") + private String value; + + /** + * Creates an instance of ClinicalCodedElement class. + * + * @param system the system value to set. + * @param code the code value to set. + */ + @Generated + @JsonCreator + private ClinicalCodedElement(@JsonProperty(value = "system") String system, + @JsonProperty(value = "code") String code) { + this.system = system; + this.code = code; + } + + /** + * Get the system property: The clinical coding system, e.g. ICD-10, SNOMED-CT, UMLS. + * + * @return the system value. + */ + @Generated + public String getSystem() { + return this.system; + } + + /** + * Get the code property: The code within the given clinical coding system. + * + * @return the code value. + */ + @Generated + public String getCode() { + return this.code; + } + + /** + * Get the name property: The name of this coded concept in the coding system. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the value property: A value associated with the code within the given clinical coding system. + * + * @return the value value. + */ + @Generated + public String getValue() { + return this.value; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ClinicalDocumentType.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ClinicalDocumentType.java new file mode 100644 index 0000000000000..5eb3205c0235a --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ClinicalDocumentType.java @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The type of the clinical document. + */ +public final class ClinicalDocumentType extends ExpandableStringEnum<ClinicalDocumentType> { + /** + * Static value consultation for ClinicalDocumentType. + */ + @Generated + public static final ClinicalDocumentType CONSULTATION = fromString("consultation"); + + /** + * Static value dischargeSummary for ClinicalDocumentType. + */ + @Generated + public static final ClinicalDocumentType DISCHARGE_SUMMARY = fromString("dischargeSummary"); + + /** + * Static value historyAndPhysical for ClinicalDocumentType. + */ + @Generated + public static final ClinicalDocumentType HISTORY_AND_PHYSICAL = fromString("historyAndPhysical"); + + /** + * Static value radiologyReport for ClinicalDocumentType. + */ + @Generated + public static final ClinicalDocumentType RADIOLOGY_REPORT = fromString("radiologyReport"); + + /** + * Static value procedure for ClinicalDocumentType. + */ + @Generated + public static final ClinicalDocumentType PROCEDURE = fromString("procedure"); + + /** + * Static value progress for ClinicalDocumentType. + */ + @Generated + public static final ClinicalDocumentType PROGRESS = fromString("progress"); + + /** + * Static value laboratory for ClinicalDocumentType. + */ + @Generated + public static final ClinicalDocumentType LABORATORY = fromString("laboratory"); + + /** + * Static value pathologyReport for ClinicalDocumentType. + */ + @Generated + public static final ClinicalDocumentType PATHOLOGY_REPORT = fromString("pathologyReport"); + + /** + * Creates a new instance of ClinicalDocumentType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ClinicalDocumentType() { + } + + /** + * Creates or finds a ClinicalDocumentType from its string representation. + * + * @param name a name to look for. + * @return the corresponding ClinicalDocumentType. + */ + @Generated + @JsonCreator + public static ClinicalDocumentType fromString(String name) { + return fromString(name, ClinicalDocumentType.class); + } + + /** + * Gets known ClinicalDocumentType values. + * + * @return known ClinicalDocumentType values. + */ + @Generated + public static Collection<ClinicalDocumentType> values() { + return values(ClinicalDocumentType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ClinicalNoteEvidence.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ClinicalNoteEvidence.java new file mode 100644 index 0000000000000..aaa013ae4cee8 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ClinicalNoteEvidence.java @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * A piece of evidence from a clinical note (text document). + */ +@Immutable +public final class ClinicalNoteEvidence { + /* + * The identifier of the document containing the evidence. + */ + @Generated + @JsonProperty(value = "id") + private String id; + + /* + * The actual text span which is evidence for the inference. + */ + @Generated + @JsonProperty(value = "text") + private String text; + + /* + * The start index of the evidence text span in the document (0 based). + */ + @Generated + @JsonProperty(value = "offset") + private int offset; + + /* + * The length of the evidence text span. + */ + @Generated + @JsonProperty(value = "length") + private int length; + + /** + * Creates an instance of ClinicalNoteEvidence class. + * + * @param id the id value to set. + * @param offset the offset value to set. + * @param length the length value to set. + */ + @Generated + @JsonCreator + private ClinicalNoteEvidence(@JsonProperty(value = "id") String id, @JsonProperty(value = "offset") int offset, + @JsonProperty(value = "length") int length) { + this.id = id; + this.offset = offset; + this.length = length; + } + + /** + * Get the id property: The identifier of the document containing the evidence. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the text property: The actual text span which is evidence for the inference. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Get the offset property: The start index of the evidence text span in the document (0 based). + * + * @return the offset value. + */ + @Generated + public int getOffset() { + return this.offset; + } + + /** + * Get the length property: The length of the evidence text span. + * + * @return the length value. + */ + @Generated + public int getLength() { + return this.length; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/CodeableConcept.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/CodeableConcept.java new file mode 100644 index 0000000000000..41924eaf4e683 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/CodeableConcept.java @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Concept - reference to a terminology or just text + * Based on [FHIR CodeableConcept](https://www.hl7.org/fhir/R4/datatypes.html#CodeableConcept). + */ +@Fluent +public final class CodeableConcept extends Element { + /* + * Code defined by a terminology system + */ + @Generated + @JsonProperty(value = "coding") + private List<Coding> coding; + + /* + * Plain text representation of the concept + */ + @Generated + @JsonProperty(value = "text") + private String text; + + /** + * Creates an instance of CodeableConcept class. + */ + @Generated + public CodeableConcept() { + } + + /** + * Get the coding property: Code defined by a terminology system. + * + * @return the coding value. + */ + @Generated + public List<Coding> getCoding() { + return this.coding; + } + + /** + * Set the coding property: Code defined by a terminology system. + * + * @param coding the coding value to set. + * @return the CodeableConcept object itself. + */ + @Generated + public CodeableConcept setCoding(List<Coding> coding) { + this.coding = coding; + return this; + } + + /** + * Get the text property: Plain text representation of the concept. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Set the text property: Plain text representation of the concept. + * + * @param text the text value to set. + * @return the CodeableConcept object itself. + */ + @Generated + public CodeableConcept setText(String text) { + this.text = text; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public CodeableConcept setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public CodeableConcept setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Coding.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Coding.java new file mode 100644 index 0000000000000..bebfd1be55f7d --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Coding.java @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * A Coding is a representation of a defined concept using a symbol from a defined "code system". + * Based on [FHIR Coding](https://www.hl7.org/fhir/R4/datatypes.html#Coding). + */ +@Fluent +public final class Coding extends Element { + /* + * Identity of the terminology system + */ + @Generated + @JsonProperty(value = "system") + private String system; + + /* + * Version of the system - if relevant + */ + @Generated + @JsonProperty(value = "version") + private String version; + + /* + * Symbol in syntax defined by the system + */ + @Generated + @JsonProperty(value = "code") + private String code; + + /* + * Representation defined by the system + */ + @Generated + @JsonProperty(value = "display") + private String display; + + /** + * Creates an instance of Coding class. + */ + @Generated + public Coding() { + } + + /** + * Get the system property: Identity of the terminology system. + * + * @return the system value. + */ + @Generated + public String getSystem() { + return this.system; + } + + /** + * Set the system property: Identity of the terminology system. + * + * @param system the system value to set. + * @return the Coding object itself. + */ + @Generated + public Coding setSystem(String system) { + this.system = system; + return this; + } + + /** + * Get the version property: Version of the system - if relevant. + * + * @return the version value. + */ + @Generated + public String getVersion() { + return this.version; + } + + /** + * Set the version property: Version of the system - if relevant. + * + * @param version the version value to set. + * @return the Coding object itself. + */ + @Generated + public Coding setVersion(String version) { + this.version = version; + return this; + } + + /** + * Get the code property: Symbol in syntax defined by the system. + * + * @return the code value. + */ + @Generated + public String getCode() { + return this.code; + } + + /** + * Set the code property: Symbol in syntax defined by the system. + * + * @param code the code value to set. + * @return the Coding object itself. + */ + @Generated + public Coding setCode(String code) { + this.code = code; + return this; + } + + /** + * Get the display property: Representation defined by the system. + * + * @return the display value. + */ + @Generated + public String getDisplay() { + return this.display; + } + + /** + * Set the display property: Representation defined by the system. + * + * @param display the display value to set. + * @return the Coding object itself. + */ + @Generated + public Coding setDisplay(String display) { + this.display = display; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Coding setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Coding setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ContactDetail.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ContactDetail.java new file mode 100644 index 0000000000000..826686120945d --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ContactDetail.java @@ -0,0 +1,101 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Contact details (See: https://www.hl7.org/fhir/R4/metadatatypes.html#ContactDetail). + */ +@Fluent +public final class ContactDetail extends Element { + /* + * Name of an individual to contact + */ + @Generated + @JsonProperty(value = "name") + private String name; + + /* + * Contact details for individual or organization + */ + @Generated + @JsonProperty(value = "telecom") + private List<ContactPoint> telecom; + + /** + * Creates an instance of ContactDetail class. + */ + @Generated + public ContactDetail() { + } + + /** + * Get the name property: Name of an individual to contact. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: Name of an individual to contact. + * + * @param name the name value to set. + * @return the ContactDetail object itself. + */ + @Generated + public ContactDetail setName(String name) { + this.name = name; + return this; + } + + /** + * Get the telecom property: Contact details for individual or organization. + * + * @return the telecom value. + */ + @Generated + public List<ContactPoint> getTelecom() { + return this.telecom; + } + + /** + * Set the telecom property: Contact details for individual or organization. + * + * @param telecom the telecom value to set. + * @return the ContactDetail object itself. + */ + @Generated + public ContactDetail setTelecom(List<ContactPoint> telecom) { + this.telecom = telecom; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public ContactDetail setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public ContactDetail setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ContactPoint.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ContactPoint.java new file mode 100644 index 0000000000000..16c3ec7e457f0 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ContactPoint.java @@ -0,0 +1,169 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Details for all kinds of technology mediated contact points for a person or organization, including telephone, + * email, etc. + * See https://www.hl7.org/fhir/R4/datatypes.html#ContactPoint. + */ +@Fluent +public final class ContactPoint { + /* + * phone | fax | email | pager | url | sms | other + */ + @Generated + @JsonProperty(value = "system") + private ContactPointSystem system; + + /* + * The actual contact point details + */ + @Generated + @JsonProperty(value = "value") + private String value; + + /* + * home | work | temp | old | mobile - purpose of this contact point + */ + @Generated + @JsonProperty(value = "use") + private ContactPointUse use; + + /* + * Specify preferred order of use (1 = highest) + */ + @Generated + @JsonProperty(value = "rank") + private Integer rank; + + /* + * Time period when the contact point was/is in use + */ + @Generated + @JsonProperty(value = "period") + private PeriodModel period; + + /** + * Creates an instance of ContactPoint class. + */ + @Generated + public ContactPoint() { + } + + /** + * Get the system property: phone | fax | email | pager | url | sms | other. + * + * @return the system value. + */ + @Generated + public ContactPointSystem getSystem() { + return this.system; + } + + /** + * Set the system property: phone | fax | email | pager | url | sms | other. + * + * @param system the system value to set. + * @return the ContactPoint object itself. + */ + @Generated + public ContactPoint setSystem(ContactPointSystem system) { + this.system = system; + return this; + } + + /** + * Get the value property: The actual contact point details. + * + * @return the value value. + */ + @Generated + public String getValue() { + return this.value; + } + + /** + * Set the value property: The actual contact point details. + * + * @param value the value value to set. + * @return the ContactPoint object itself. + */ + @Generated + public ContactPoint setValue(String value) { + this.value = value; + return this; + } + + /** + * Get the use property: home | work | temp | old | mobile - purpose of this contact point. + * + * @return the use value. + */ + @Generated + public ContactPointUse getUse() { + return this.use; + } + + /** + * Set the use property: home | work | temp | old | mobile - purpose of this contact point. + * + * @param use the use value to set. + * @return the ContactPoint object itself. + */ + @Generated + public ContactPoint setUse(ContactPointUse use) { + this.use = use; + return this; + } + + /** + * Get the rank property: Specify preferred order of use (1 = highest). + * + * @return the rank value. + */ + @Generated + public Integer getRank() { + return this.rank; + } + + /** + * Set the rank property: Specify preferred order of use (1 = highest). + * + * @param rank the rank value to set. + * @return the ContactPoint object itself. + */ + @Generated + public ContactPoint setRank(Integer rank) { + this.rank = rank; + return this; + } + + /** + * Get the period property: Time period when the contact point was/is in use. + * + * @return the period value. + */ + @Generated + public PeriodModel getPeriod() { + return this.period; + } + + /** + * Set the period property: Time period when the contact point was/is in use. + * + * @param period the period value to set. + * @return the ContactPoint object itself. + */ + @Generated + public ContactPoint setPeriod(PeriodModel period) { + this.period = period; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ContactPointSystem.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ContactPointSystem.java new file mode 100644 index 0000000000000..67d11eac462ff --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ContactPointSystem.java @@ -0,0 +1,90 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Contact Point System + * see https://www.hl7.org/fhir/R4/valueset-contact-point-system.html. + */ +public final class ContactPointSystem extends ExpandableStringEnum<ContactPointSystem> { + /** + * Phone. + */ + @Generated + public static final ContactPointSystem PHONE = fromString("phone"); + + /** + * Fax. + */ + @Generated + public static final ContactPointSystem FAX = fromString("fax"); + + /** + * Email. + */ + @Generated + public static final ContactPointSystem EMAIL = fromString("email"); + + /** + * Pager. + */ + @Generated + public static final ContactPointSystem PAGER = fromString("pager"); + + /** + * Url. + */ + @Generated + public static final ContactPointSystem URL = fromString("url"); + + /** + * Sms. + */ + @Generated + public static final ContactPointSystem SMS = fromString("sms"); + + /** + * Other. + */ + @Generated + public static final ContactPointSystem OTHER = fromString("other"); + + /** + * Creates a new instance of ContactPointSystem value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ContactPointSystem() { + } + + /** + * Creates or finds a ContactPointSystem from its string representation. + * + * @param name a name to look for. + * @return the corresponding ContactPointSystem. + */ + @Generated + @JsonCreator + public static ContactPointSystem fromString(String name) { + return fromString(name, ContactPointSystem.class); + } + + /** + * Gets known ContactPointSystem values. + * + * @return known ContactPointSystem values. + */ + @Generated + public static Collection<ContactPointSystem> values() { + return values(ContactPointSystem.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ContactPointUse.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ContactPointUse.java new file mode 100644 index 0000000000000..8f578cd7650d1 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ContactPointUse.java @@ -0,0 +1,78 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Contact Point Use + * See: http://hl7.org/fhir/ValueSet/contact-point-use. + */ +public final class ContactPointUse extends ExpandableStringEnum<ContactPointUse> { + /** + * Home. + */ + @Generated + public static final ContactPointUse HOME = fromString("home"); + + /** + * Work. + */ + @Generated + public static final ContactPointUse WORK = fromString("work"); + + /** + * Temp. + */ + @Generated + public static final ContactPointUse TEMP = fromString("temp"); + + /** + * Old. + */ + @Generated + public static final ContactPointUse OLD = fromString("old"); + + /** + * Mobile. + */ + @Generated + public static final ContactPointUse MOBILE = fromString("mobile"); + + /** + * Creates a new instance of ContactPointUse value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ContactPointUse() { + } + + /** + * Creates or finds a ContactPointUse from its string representation. + * + * @param name a name to look for. + * @return the corresponding ContactPointUse. + */ + @Generated + @JsonCreator + public static ContactPointUse fromString(String name) { + return fromString(name, ContactPointUse.class); + } + + /** + * Gets known ContactPointUse values. + * + * @return known ContactPointUse values. + */ + @Generated + public static Collection<ContactPointUse> values() { + return values(ContactPointUse.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentAdministrativeMetadata.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentAdministrativeMetadata.java new file mode 100644 index 0000000000000..816718d08beae --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentAdministrativeMetadata.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Document administrative metadata. + */ +@Fluent +public final class DocumentAdministrativeMetadata { + /* + * List of procedure information associated with the document. + */ + @Generated + @JsonProperty(value = "orderedProcedures") + private List<OrderedProcedure> orderedProcedures; + + /* + * Reference to the encounter associated with the document. + */ + @Generated + @JsonProperty(value = "encounterId") + private String encounterId; + + /** + * Creates an instance of DocumentAdministrativeMetadata class. + */ + @Generated + public DocumentAdministrativeMetadata() { + } + + /** + * Get the orderedProcedures property: List of procedure information associated with the document. + * + * @return the orderedProcedures value. + */ + @Generated + public List<OrderedProcedure> getOrderedProcedures() { + return this.orderedProcedures; + } + + /** + * Set the orderedProcedures property: List of procedure information associated with the document. + * + * @param orderedProcedures the orderedProcedures value to set. + * @return the DocumentAdministrativeMetadata object itself. + */ + @Generated + public DocumentAdministrativeMetadata setOrderedProcedures(List<OrderedProcedure> orderedProcedures) { + this.orderedProcedures = orderedProcedures; + return this; + } + + /** + * Get the encounterId property: Reference to the encounter associated with the document. + * + * @return the encounterId value. + */ + @Generated + public String getEncounterId() { + return this.encounterId; + } + + /** + * Set the encounterId property: Reference to the encounter associated with the document. + * + * @param encounterId the encounterId value to set. + * @return the DocumentAdministrativeMetadata object itself. + */ + @Generated + public DocumentAdministrativeMetadata setEncounterId(String encounterId) { + this.encounterId = encounterId; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentAuthor.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentAuthor.java new file mode 100644 index 0000000000000..4295729e75c03 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentAuthor.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Document author. + */ +@Fluent +public final class DocumentAuthor { + /* + * author id + */ + @Generated + @JsonProperty(value = "id") + private String id; + + /* + * Text representation of the full name + */ + @Generated + @JsonProperty(value = "fullName") + private String fullName; + + /** + * Creates an instance of DocumentAuthor class. + */ + @Generated + public DocumentAuthor() { + } + + /** + * Get the id property: author id. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Set the id property: author id. + * + * @param id the id value to set. + * @return the DocumentAuthor object itself. + */ + @Generated + public DocumentAuthor setId(String id) { + this.id = id; + return this; + } + + /** + * Get the fullName property: Text representation of the full name. + * + * @return the fullName value. + */ + @Generated + public String getFullName() { + return this.fullName; + } + + /** + * Set the fullName property: Text representation of the full name. + * + * @param fullName the fullName value to set. + * @return the DocumentAuthor object itself. + */ + @Generated + public DocumentAuthor setFullName(String fullName) { + this.fullName = fullName; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentContent.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentContent.java new file mode 100644 index 0000000000000..2a210c82b0eb6 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentContent.java @@ -0,0 +1,68 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The content of the patient document. + */ +@Immutable +public final class DocumentContent { + /* + * The type of the content's source. + * In case the source type is 'inline', the content is given as a string (for instance, text). + * In case the source type is 'reference', the content is given as a URI. + */ + @Generated + @JsonProperty(value = "sourceType") + private DocumentContentSourceType sourceType; + + /* + * The content of the document, given either inline (as a string) or as a reference (URI). + */ + @Generated + @JsonProperty(value = "value") + private String value; + + /** + * Creates an instance of DocumentContent class. + * + * @param sourceType the sourceType value to set. + * @param value the value value to set. + */ + @Generated + @JsonCreator + public DocumentContent(@JsonProperty(value = "sourceType") DocumentContentSourceType sourceType, + @JsonProperty(value = "value") String value) { + this.sourceType = sourceType; + this.value = value; + } + + /** + * Get the sourceType property: The type of the content's source. + * In case the source type is 'inline', the content is given as a string (for instance, text). + * In case the source type is 'reference', the content is given as a URI. + * + * @return the sourceType value. + */ + @Generated + public DocumentContentSourceType getSourceType() { + return this.sourceType; + } + + /** + * Get the value property: The content of the document, given either inline (as a string) or as a reference (URI). + * + * @return the value value. + */ + @Generated + public String getValue() { + return this.value; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentContentSourceType.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentContentSourceType.java new file mode 100644 index 0000000000000..a829d4dbb4153 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentContentSourceType.java @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The type of the content's source. + * In case the source type is 'inline', the content is given as a string (for instance, text). + * In case the source type is 'reference', the content is given as a URI. + */ +public final class DocumentContentSourceType extends ExpandableStringEnum<DocumentContentSourceType> { + /** + * The content is given as a string (for instance, text). + */ + @Generated + public static final DocumentContentSourceType INLINE = fromString("inline"); + + /** + * The content is given as a URI. + */ + @Generated + public static final DocumentContentSourceType REFERENCE = fromString("reference"); + + /** + * Creates a new instance of DocumentContentSourceType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public DocumentContentSourceType() { + } + + /** + * Creates or finds a DocumentContentSourceType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentContentSourceType. + */ + @Generated + @JsonCreator + public static DocumentContentSourceType fromString(String name) { + return fromString(name, DocumentContentSourceType.class); + } + + /** + * Gets known DocumentContentSourceType values. + * + * @return known DocumentContentSourceType values. + */ + @Generated + public static Collection<DocumentContentSourceType> values() { + return values(DocumentContentSourceType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentType.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentType.java new file mode 100644 index 0000000000000..2b8a739e6ca1c --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/DocumentType.java @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The type of the patient document, such as 'note' (text document) or 'fhirBundle' (FHIR JSON document). + */ +public final class DocumentType extends ExpandableStringEnum<DocumentType> { + /** + * Static value note for DocumentType. + */ + @Generated + public static final DocumentType NOTE = fromString("note"); + + /** + * Static value fhirBundle for DocumentType. + */ + @Generated + public static final DocumentType FHIR_BUNDLE = fromString("fhirBundle"); + + /** + * Static value dicom for DocumentType. + */ + @Generated + public static final DocumentType DICOM = fromString("dicom"); + + /** + * Static value genomicSequencing for DocumentType. + */ + @Generated + public static final DocumentType GENOMIC_SEQUENCING = fromString("genomicSequencing"); + + /** + * Creates a new instance of DocumentType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public DocumentType() { + } + + /** + * Creates or finds a DocumentType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DocumentType. + */ + @Generated + @JsonCreator + public static DocumentType fromString(String name) { + return fromString(name, DocumentType.class); + } + + /** + * Gets known DocumentType values. + * + * @return known DocumentType values. + */ + @Generated + public static Collection<DocumentType> values() { + return values(DocumentType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Element.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Element.java new file mode 100644 index 0000000000000..e0a4e1c291528 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Element.java @@ -0,0 +1,82 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The base definition for all elements contained inside a resource. + * Based on [FHIR Element](https://www.hl7.org/fhir/R4/element.html). + */ +@Fluent +public class Element { + /* + * Unique id for inter-element referencing + */ + @Generated + @JsonProperty(value = "id") + private String id; + + /* + * Additional Content defined by implementations + */ + @Generated + @JsonProperty(value = "extension") + private List<Extension> extension; + + /** + * Creates an instance of Element class. + */ + @Generated + public Element() { + } + + /** + * Get the id property: Unique id for inter-element referencing. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Set the id property: Unique id for inter-element referencing. + * + * @param id the id value to set. + * @return the Element object itself. + */ + @Generated + public Element setId(String id) { + this.id = id; + return this; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List<Extension> getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the Element object itself. + */ + @Generated + public Element setExtension(List<Extension> extension) { + this.extension = extension; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Encounter.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Encounter.java new file mode 100644 index 0000000000000..45081d9f61de5 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Encounter.java @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * visit/encounter information. + */ +@Fluent +public final class Encounter { + /* + * The id of the visit. + */ + @Generated + @JsonProperty(value = "id") + private String id; + + /* + * Time period of the visit. + * In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the + * discharge time. + */ + @Generated + @JsonProperty(value = "period") + private TimePeriod period; + + /* + * The class of the encounter. + */ + @Generated + @JsonProperty(value = "class") + private EncounterClass classProperty; + + /** + * Creates an instance of Encounter class. + * + * @param id the id value to set. + */ + @Generated + @JsonCreator + public Encounter(@JsonProperty(value = "id") String id) { + this.id = id; + } + + /** + * Get the id property: The id of the visit. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the period property: Time period of the visit. + * In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the + * discharge time. + * + * @return the period value. + */ + @Generated + public TimePeriod getPeriod() { + return this.period; + } + + /** + * Set the period property: Time period of the visit. + * In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the + * discharge time. + * + * @param period the period value to set. + * @return the Encounter object itself. + */ + @Generated + public Encounter setPeriod(TimePeriod period) { + this.period = period; + return this; + } + + /** + * Get the classProperty property: The class of the encounter. + * + * @return the classProperty value. + */ + @Generated + public EncounterClass getClassProperty() { + return this.classProperty; + } + + /** + * Set the classProperty property: The class of the encounter. + * + * @param classProperty the classProperty value to set. + * @return the Encounter object itself. + */ + @Generated + public Encounter setClassProperty(EncounterClass classProperty) { + this.classProperty = classProperty; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/EncounterClass.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/EncounterClass.java new file mode 100644 index 0000000000000..4cb37a8b0a7d6 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/EncounterClass.java @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Known values codes that can be used to indicate the class of encounter (TODO://Based on FHIR value set--http://....). + */ +public final class EncounterClass extends ExpandableStringEnum<EncounterClass> { + /** + * A patient encounter where a patient is admitted by a hospital or equivalent facility, assigned to a location + * where patients generally stay at least overnight and provided with room, board, and continuous nursing service. + */ + @Generated + public static final EncounterClass IN_PATIENT = fromString("inpatient"); + + /** + * The term ambulatory usually implies that the patient has come to the location and is not assigned to a bed. + * Sometimes referred to as an outpatient encounter. + */ + @Generated + public static final EncounterClass AMBULATORY = fromString("ambulatory"); + + /** + * An encounter where the patient usually will start in different encounter, such as one in the emergency department + * but then transition to this type of encounter because they require a significant period of treatment and + * monitoring to determine whether or not their condition warrants an inpatient admission or discharge. + */ + @Generated + public static final EncounterClass OBSERVATION = fromString("observation"); + + /** + * A patient encounter that takes place at a dedicated healthcare service delivery location where the patient + * receives immediate evaluation and treatment, provided until the patient can be discharged or responsibility for + * the patient's care is transferred elsewhere (for example, the patient could be admitted as an inpatient or + * transferred to another facility. + */ + @Generated + public static final EncounterClass EMERGENCY = fromString("emergency"); + + /** + * A patient encounter where the patient is not physically present for the encounter, such as in a telehealth + * encounter, phone call, or electronic communication. + */ + @Generated + public static final EncounterClass VIRTUAL = fromString("virtual"); + + /** + * Healthcare encounter that takes place in the residence of the patient or a designee. + */ + @Generated + public static final EncounterClass HEALTH_HOME = fromString("healthHome"); + + /** + * Creates a new instance of EncounterClass value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public EncounterClass() { + } + + /** + * Creates or finds a EncounterClass from its string representation. + * + * @param name a name to look for. + * @return the corresponding EncounterClass. + */ + @Generated + @JsonCreator + public static EncounterClass fromString(String name) { + return fromString(name, EncounterClass.class); + } + + /** + * Gets known EncounterClass values. + * + * @return known EncounterClass values. + */ + @Generated + public static Collection<EncounterClass> values() { + return values(EncounterClass.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Extendible.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Extendible.java new file mode 100644 index 0000000000000..3aa3451c8e5a1 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Extendible.java @@ -0,0 +1,52 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * FHIR extendible element. + */ +@Fluent +public class Extendible { + /* + * Additional Content defined by implementations + */ + @Generated + @JsonProperty(value = "extension") + private List<Extension> extension; + + /** + * Creates an instance of Extendible class. + */ + @Generated + public Extendible() { + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List<Extension> getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the Extendible object itself. + */ + @Generated + public Extendible setExtension(List<Extension> extension) { + this.extension = extension; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Extension.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Extension.java new file mode 100644 index 0000000000000..75c0de48ccd2b --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Extension.java @@ -0,0 +1,414 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Base for all elements + * Based on [FHIR Element](https://www.hl7.org/fhir/datatypes.html#Element). + */ +@Fluent +public final class Extension extends Element { + /* + * Source of the definition for the extension code - a logical name or a URL. + */ + @Generated + @JsonProperty(value = "url") + private String url; + + /* + * Value as Quantity + */ + @Generated + @JsonProperty(value = "valueQuantity") + private Quantity valueQuantity; + + /* + * Value as CodeableConcept + */ + @Generated + @JsonProperty(value = "valueCodeableConcept") + private CodeableConcept valueCodeableConcept; + + /* + * Value as string + */ + @Generated + @JsonProperty(value = "valueString") + private String valueString; + + /* + * Value as boolean + */ + @Generated + @JsonProperty(value = "valueBoolean") + private Boolean valueBoolean; + + /* + * Value as integer + */ + @Generated + @JsonProperty(value = "valueInteger") + private Integer valueInteger; + + /* + * Value as Range. + */ + @Generated + @JsonProperty(value = "valueRange") + private Range valueRange; + + /* + * Value as Ratio. + */ + @Generated + @JsonProperty(value = "valueRatio") + private Ratio valueRatio; + + /* + * Value as SampledData. + */ + @Generated + @JsonProperty(value = "valueSampledData") + private SampledData valueSampledData; + + /* + * Value as time (hh:mm:ss) + */ + @Generated + @JsonProperty(value = "valueTime") + private String valueTime; + + /* + * Value as dateTime. + */ + @Generated + @JsonProperty(value = "valueDateTime") + private String valueDateTime; + + /* + * Value as Period. + */ + @Generated + @JsonProperty(value = "valuePeriod") + private PeriodModel valuePeriod; + + /* + * Value as reference. + */ + @Generated + @JsonProperty(value = "valueReference") + private Reference valueReference; + + /** + * Creates an instance of Extension class. + * + * @param url the url value to set. + */ + @Generated + @JsonCreator + public Extension(@JsonProperty(value = "url") String url) { + this.url = url; + } + + /** + * Get the url property: Source of the definition for the extension code - a logical name or a URL. + * + * @return the url value. + */ + @Generated + public String getUrl() { + return this.url; + } + + /** + * Get the valueQuantity property: Value as Quantity. + * + * @return the valueQuantity value. + */ + @Generated + public Quantity getValueQuantity() { + return this.valueQuantity; + } + + /** + * Set the valueQuantity property: Value as Quantity. + * + * @param valueQuantity the valueQuantity value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setValueQuantity(Quantity valueQuantity) { + this.valueQuantity = valueQuantity; + return this; + } + + /** + * Get the valueCodeableConcept property: Value as CodeableConcept. + * + * @return the valueCodeableConcept value. + */ + @Generated + public CodeableConcept getValueCodeableConcept() { + return this.valueCodeableConcept; + } + + /** + * Set the valueCodeableConcept property: Value as CodeableConcept. + * + * @param valueCodeableConcept the valueCodeableConcept value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setValueCodeableConcept(CodeableConcept valueCodeableConcept) { + this.valueCodeableConcept = valueCodeableConcept; + return this; + } + + /** + * Get the valueString property: Value as string. + * + * @return the valueString value. + */ + @Generated + public String getValueString() { + return this.valueString; + } + + /** + * Set the valueString property: Value as string. + * + * @param valueString the valueString value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setValueString(String valueString) { + this.valueString = valueString; + return this; + } + + /** + * Get the valueBoolean property: Value as boolean. + * + * @return the valueBoolean value. + */ + @Generated + public Boolean isValueBoolean() { + return this.valueBoolean; + } + + /** + * Set the valueBoolean property: Value as boolean. + * + * @param valueBoolean the valueBoolean value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setValueBoolean(Boolean valueBoolean) { + this.valueBoolean = valueBoolean; + return this; + } + + /** + * Get the valueInteger property: Value as integer. + * + * @return the valueInteger value. + */ + @Generated + public Integer getValueInteger() { + return this.valueInteger; + } + + /** + * Set the valueInteger property: Value as integer. + * + * @param valueInteger the valueInteger value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setValueInteger(Integer valueInteger) { + this.valueInteger = valueInteger; + return this; + } + + /** + * Get the valueRange property: Value as Range. + * + * @return the valueRange value. + */ + @Generated + public Range getValueRange() { + return this.valueRange; + } + + /** + * Set the valueRange property: Value as Range. + * + * @param valueRange the valueRange value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setValueRange(Range valueRange) { + this.valueRange = valueRange; + return this; + } + + /** + * Get the valueRatio property: Value as Ratio. + * + * @return the valueRatio value. + */ + @Generated + public Ratio getValueRatio() { + return this.valueRatio; + } + + /** + * Set the valueRatio property: Value as Ratio. + * + * @param valueRatio the valueRatio value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setValueRatio(Ratio valueRatio) { + this.valueRatio = valueRatio; + return this; + } + + /** + * Get the valueSampledData property: Value as SampledData. + * + * @return the valueSampledData value. + */ + @Generated + public SampledData getValueSampledData() { + return this.valueSampledData; + } + + /** + * Set the valueSampledData property: Value as SampledData. + * + * @param valueSampledData the valueSampledData value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setValueSampledData(SampledData valueSampledData) { + this.valueSampledData = valueSampledData; + return this; + } + + /** + * Get the valueTime property: Value as time (hh:mm:ss). + * + * @return the valueTime value. + */ + @Generated + public String getValueTime() { + return this.valueTime; + } + + /** + * Set the valueTime property: Value as time (hh:mm:ss). + * + * @param valueTime the valueTime value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setValueTime(String valueTime) { + this.valueTime = valueTime; + return this; + } + + /** + * Get the valueDateTime property: Value as dateTime. + * + * @return the valueDateTime value. + */ + @Generated + public String getValueDateTime() { + return this.valueDateTime; + } + + /** + * Set the valueDateTime property: Value as dateTime. + * + * @param valueDateTime the valueDateTime value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setValueDateTime(String valueDateTime) { + this.valueDateTime = valueDateTime; + return this; + } + + /** + * Get the valuePeriod property: Value as Period. + * + * @return the valuePeriod value. + */ + @Generated + public PeriodModel getValuePeriod() { + return this.valuePeriod; + } + + /** + * Set the valuePeriod property: Value as Period. + * + * @param valuePeriod the valuePeriod value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setValuePeriod(PeriodModel valuePeriod) { + this.valuePeriod = valuePeriod; + return this; + } + + /** + * Get the valueReference property: Value as reference. + * + * @return the valueReference value. + */ + @Generated + public Reference getValueReference() { + return this.valueReference; + } + + /** + * Set the valueReference property: Value as reference. + * + * @param valueReference the valueReference value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setValueReference(Reference valueReference) { + this.valueReference = valueReference; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Extension setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Extension setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Identifier.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Identifier.java new file mode 100644 index 0000000000000..75937513f3b41 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Identifier.java @@ -0,0 +1,218 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * An identifier intended for computation + * Based on [FHIR Identifier](https://www.hl7.org/fhir/R4/identifier.html). + */ +@Fluent +public final class Identifier extends Element { + /* + * usual | official | temp | secondary | old (If known) + */ + @Generated + @JsonProperty(value = "use") + private String use; + + /* + * Description of identifier + */ + @Generated + @JsonProperty(value = "type") + private CodeableConcept type; + + /* + * The namespace for the identifier value + */ + @Generated + @JsonProperty(value = "system") + private String system; + + /* + * The value that is unique + */ + @Generated + @JsonProperty(value = "value") + private String value; + + /* + * Time period when id is/was valid for use + */ + @Generated + @JsonProperty(value = "period") + private PeriodModel period; + + /* + * Organization that issued id (may be just text) + */ + @Generated + @JsonProperty(value = "assigner") + private Reference assigner; + + /** + * Creates an instance of Identifier class. + */ + @Generated + public Identifier() { + } + + /** + * Get the use property: usual | official | temp | secondary | old (If known). + * + * @return the use value. + */ + @Generated + public String getUse() { + return this.use; + } + + /** + * Set the use property: usual | official | temp | secondary | old (If known). + * + * @param use the use value to set. + * @return the Identifier object itself. + */ + @Generated + public Identifier setUse(String use) { + this.use = use; + return this; + } + + /** + * Get the type property: Description of identifier. + * + * @return the type value. + */ + @Generated + public CodeableConcept getType() { + return this.type; + } + + /** + * Set the type property: Description of identifier. + * + * @param type the type value to set. + * @return the Identifier object itself. + */ + @Generated + public Identifier setType(CodeableConcept type) { + this.type = type; + return this; + } + + /** + * Get the system property: The namespace for the identifier value. + * + * @return the system value. + */ + @Generated + public String getSystem() { + return this.system; + } + + /** + * Set the system property: The namespace for the identifier value. + * + * @param system the system value to set. + * @return the Identifier object itself. + */ + @Generated + public Identifier setSystem(String system) { + this.system = system; + return this; + } + + /** + * Get the value property: The value that is unique. + * + * @return the value value. + */ + @Generated + public String getValue() { + return this.value; + } + + /** + * Set the value property: The value that is unique. + * + * @param value the value value to set. + * @return the Identifier object itself. + */ + @Generated + public Identifier setValue(String value) { + this.value = value; + return this; + } + + /** + * Get the period property: Time period when id is/was valid for use. + * + * @return the period value. + */ + @Generated + public PeriodModel getPeriod() { + return this.period; + } + + /** + * Set the period property: Time period when id is/was valid for use. + * + * @param period the period value to set. + * @return the Identifier object itself. + */ + @Generated + public Identifier setPeriod(PeriodModel period) { + this.period = period; + return this; + } + + /** + * Get the assigner property: Organization that issued id (may be just text). + * + * @return the assigner value. + */ + @Generated + public Reference getAssigner() { + return this.assigner; + } + + /** + * Set the assigner property: Organization that issued id (may be just text). + * + * @param assigner the assigner value to set. + * @return the Identifier object itself. + */ + @Generated + public Identifier setAssigner(Reference assigner) { + this.assigner = assigner; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Identifier setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Identifier setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/InferenceEvidence.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/InferenceEvidence.java new file mode 100644 index 0000000000000..7c53e07505284 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/InferenceEvidence.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * A piece of evidence corresponding to an inference. + */ +@Immutable +public final class InferenceEvidence { + /* + * A piece of evidence from a clinical note (text document). + */ + @Generated + @JsonProperty(value = "patientDataEvidence") + private ClinicalNoteEvidence patientDataEvidence; + + /* + * A piece of clinical information, expressed as a code in a clinical coding + * system. + */ + @Generated + @JsonProperty(value = "patientInfoEvidence") + private ClinicalCodedElement patientInfoEvidence; + + /* + * A value indicating how important this piece of evidence is for the inference. + */ + @Generated + @JsonProperty(value = "importance") + private Double importance; + + /** + * Creates an instance of InferenceEvidence class. + */ + @Generated + private InferenceEvidence() { + } + + /** + * Get the patientDataEvidence property: A piece of evidence from a clinical note (text document). + * + * @return the patientDataEvidence value. + */ + @Generated + public ClinicalNoteEvidence getPatientDataEvidence() { + return this.patientDataEvidence; + } + + /** + * Get the patientInfoEvidence property: A piece of clinical information, expressed as a code in a clinical coding + * system. + * + * @return the patientInfoEvidence value. + */ + @Generated + public ClinicalCodedElement getPatientInfoEvidence() { + return this.patientInfoEvidence; + } + + /** + * Get the importance property: A value indicating how important this piece of evidence is for the inference. + * + * @return the importance value. + */ + @Generated + public Double getImportance() { + return this.importance; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Meta.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Meta.java new file mode 100644 index 0000000000000..ac04a35dd4b34 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Meta.java @@ -0,0 +1,223 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Metadata about a resource + * Based on [FHIR Meta](https://www.hl7.org/fhir/R4/resource.html#Meta). + */ +@Fluent +public final class Meta { + /* + * The version specific identifier, as it appears in the version portion of the URL. This value changes when the + * resource is created, updated, or deleted. + */ + @Generated + @JsonProperty(value = "versionId") + private String versionId; + + /* + * When the resource last changed - e.g. when the version changed. + */ + @Generated + @JsonProperty(value = "lastUpdated") + private String lastUpdated; + + /* + * A uri that identifies the source system of the resource. This provides a minimal amount of Provenance + * information that can be used to track or differentiate the source of information in the resource. The source may + * identify another FHIR server, document, message, database, etc. + */ + @Generated + @JsonProperty(value = "source") + private String source; + + /* + * A list of profiles (references to [StructureDefinition](https://www.hl7.org/fhir/structuredefinition.html) + * resources) that this resource claims to conform to. The URL is a reference to + * [StructureDefinition.url](https://www.hl7.org/fhir/structuredefinition-definitions.html#StructureDefinition.url). + */ + @Generated + @JsonProperty(value = "profile") + private List<String> profile; + + /* + * Security labels applied to this resource. These tags connect specific resources to the overall security policy + * and infrastructure. + */ + @Generated + @JsonProperty(value = "security") + private List<Coding> security; + + /* + * Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and + * workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. + */ + @Generated + @JsonProperty(value = "tag") + private List<Coding> tag; + + /** + * Creates an instance of Meta class. + */ + @Generated + public Meta() { + } + + /** + * Get the versionId property: The version specific identifier, as it appears in the version portion of the URL. + * This value changes when the resource is created, updated, or deleted. + * + * @return the versionId value. + */ + @Generated + public String getVersionId() { + return this.versionId; + } + + /** + * Set the versionId property: The version specific identifier, as it appears in the version portion of the URL. + * This value changes when the resource is created, updated, or deleted. + * + * @param versionId the versionId value to set. + * @return the Meta object itself. + */ + @Generated + public Meta setVersionId(String versionId) { + this.versionId = versionId; + return this; + } + + /** + * Get the lastUpdated property: When the resource last changed - e.g. when the version changed. + * + * @return the lastUpdated value. + */ + @Generated + public String getLastUpdated() { + return this.lastUpdated; + } + + /** + * Set the lastUpdated property: When the resource last changed - e.g. when the version changed. + * + * @param lastUpdated the lastUpdated value to set. + * @return the Meta object itself. + */ + @Generated + public Meta setLastUpdated(String lastUpdated) { + this.lastUpdated = lastUpdated; + return this; + } + + /** + * Get the source property: A uri that identifies the source system of the resource. This provides a minimal amount + * of Provenance information that can be used to track or differentiate the source of information in the resource. + * The source may identify another FHIR server, document, message, database, etc. + * + * @return the source value. + */ + @Generated + public String getSource() { + return this.source; + } + + /** + * Set the source property: A uri that identifies the source system of the resource. This provides a minimal amount + * of Provenance information that can be used to track or differentiate the source of information in the resource. + * The source may identify another FHIR server, document, message, database, etc. + * + * @param source the source value to set. + * @return the Meta object itself. + */ + @Generated + public Meta setSource(String source) { + this.source = source; + return this; + } + + /** + * Get the profile property: A list of profiles (references to + * [StructureDefinition](https://www.hl7.org/fhir/structuredefinition.html) resources) that this resource claims to + * conform to. The URL is a reference to + * [StructureDefinition.url](https://www.hl7.org/fhir/structuredefinition-definitions.html#StructureDefinition.url). + * + * @return the profile value. + */ + @Generated + public List<String> getProfile() { + return this.profile; + } + + /** + * Set the profile property: A list of profiles (references to + * [StructureDefinition](https://www.hl7.org/fhir/structuredefinition.html) resources) that this resource claims to + * conform to. The URL is a reference to + * [StructureDefinition.url](https://www.hl7.org/fhir/structuredefinition-definitions.html#StructureDefinition.url). + * + * @param profile the profile value to set. + * @return the Meta object itself. + */ + @Generated + public Meta setProfile(List<String> profile) { + this.profile = profile; + return this; + } + + /** + * Get the security property: Security labels applied to this resource. These tags connect specific resources to + * the overall security policy and infrastructure. + * + * @return the security value. + */ + @Generated + public List<Coding> getSecurity() { + return this.security; + } + + /** + * Set the security property: Security labels applied to this resource. These tags connect specific resources to + * the overall security policy and infrastructure. + * + * @param security the security value to set. + * @return the Meta object itself. + */ + @Generated + public Meta setSecurity(List<Coding> security) { + this.security = security; + return this; + } + + /** + * Get the tag property: Tags applied to this resource. Tags are intended to be used to identify and relate + * resources to process and workflow, and applications are not required to consider the tags when interpreting the + * meaning of a resource. + * + * @return the tag value. + */ + @Generated + public List<Coding> getTag() { + return this.tag; + } + + /** + * Set the tag property: Tags applied to this resource. Tags are intended to be used to identify and relate + * resources to process and workflow, and applications are not required to consider the tags when interpreting the + * meaning of a resource. + * + * @param tag the tag value to set. + * @return the Meta object itself. + */ + @Generated + public Meta setTag(List<Coding> tag) { + this.tag = tag; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Narrative.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Narrative.java new file mode 100644 index 0000000000000..3c968ce36adf5 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Narrative.java @@ -0,0 +1,87 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Any resource that is a [DomainResource](https://www.hl7.org/fhir/domainresource.html) may include a human-readable + * narrative that contains a summary of the resource and may be used to represent the content of the resource to a + * human. + * Based on [FHIR Narrative](https://www.hl7.org/fhir/R4/narrative.html#Narrative). + */ +@Fluent +public final class Narrative extends Element { + /* + * generated, extensions, additional, empty + */ + @Generated + @JsonProperty(value = "status") + private String status; + + /* + * xhtml + */ + @Generated + @JsonProperty(value = "div") + private String div; + + /** + * Creates an instance of Narrative class. + * + * @param status the status value to set. + * @param div the div value to set. + */ + @Generated + @JsonCreator + public Narrative(@JsonProperty(value = "status") String status, @JsonProperty(value = "div") String div) { + this.status = status; + this.div = div; + } + + /** + * Get the status property: generated, extensions, additional, empty. + * + * @return the status value. + */ + @Generated + public String getStatus() { + return this.status; + } + + /** + * Get the div property: xhtml. + * + * @return the div value. + */ + @Generated + public String getDiv() { + return this.div; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Narrative setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Narrative setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ObservationComponent.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ObservationComponent.java new file mode 100644 index 0000000000000..525877bd7d564 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ObservationComponent.java @@ -0,0 +1,501 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Component results + * Based on [FHIR Observation.component](https://www.hl7.org/fhir/R4/observation.html). + */ +@Fluent +public final class ObservationComponent extends Element { + /* + * Type of component observation (code / type) + */ + @Generated + @JsonProperty(value = "code") + private CodeableConcept code; + + /* + * Value as Quantity + */ + @Generated + @JsonProperty(value = "valueQuantity") + private Quantity valueQuantity; + + /* + * Value as CodeableConcept + */ + @Generated + @JsonProperty(value = "valueCodeableConcept") + private CodeableConcept valueCodeableConcept; + + /* + * Value as string + */ + @Generated + @JsonProperty(value = "valueString") + private String valueString; + + /* + * Value as boolean + */ + @Generated + @JsonProperty(value = "valueBoolean") + private Boolean valueBoolean; + + /* + * Value as integer + */ + @Generated + @JsonProperty(value = "valueInteger") + private Integer valueInteger; + + /* + * Value as Range. + */ + @Generated + @JsonProperty(value = "valueRange") + private Range valueRange; + + /* + * Value as Ratio. + */ + @Generated + @JsonProperty(value = "valueRatio") + private Ratio valueRatio; + + /* + * Value as SampledData. + */ + @Generated + @JsonProperty(value = "valueSampledData") + private SampledData valueSampledData; + + /* + * Value as time (hh:mm:ss) + */ + @Generated + @JsonProperty(value = "valueTime") + private String valueTime; + + /* + * Value as dateTime. + */ + @Generated + @JsonProperty(value = "valueDateTime") + private String valueDateTime; + + /* + * Value as Period. + */ + @Generated + @JsonProperty(value = "valuePeriod") + private PeriodModel valuePeriod; + + /* + * Value as reference. + */ + @Generated + @JsonProperty(value = "valueReference") + private Reference valueReference; + + /* + * Why the component result is missing + */ + @Generated + @JsonProperty(value = "dataAbsentReason") + private CodeableConcept dataAbsentReason; + + /* + * High, low, normal, etc. + */ + @Generated + @JsonProperty(value = "interpretation") + private List<CodeableConcept> interpretation; + + /* + * Provides guide for interpretation of component result + */ + @Generated + @JsonProperty(value = "referenceRange") + private List<ObservationReferenceRange> referenceRange; + + /** + * Creates an instance of ObservationComponent class. + * + * @param code the code value to set. + */ + @Generated + @JsonCreator + public ObservationComponent(@JsonProperty(value = "code") CodeableConcept code) { + this.code = code; + } + + /** + * Get the code property: Type of component observation (code / type). + * + * @return the code value. + */ + @Generated + public CodeableConcept getCode() { + return this.code; + } + + /** + * Get the valueQuantity property: Value as Quantity. + * + * @return the valueQuantity value. + */ + @Generated + public Quantity getValueQuantity() { + return this.valueQuantity; + } + + /** + * Set the valueQuantity property: Value as Quantity. + * + * @param valueQuantity the valueQuantity value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setValueQuantity(Quantity valueQuantity) { + this.valueQuantity = valueQuantity; + return this; + } + + /** + * Get the valueCodeableConcept property: Value as CodeableConcept. + * + * @return the valueCodeableConcept value. + */ + @Generated + public CodeableConcept getValueCodeableConcept() { + return this.valueCodeableConcept; + } + + /** + * Set the valueCodeableConcept property: Value as CodeableConcept. + * + * @param valueCodeableConcept the valueCodeableConcept value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setValueCodeableConcept(CodeableConcept valueCodeableConcept) { + this.valueCodeableConcept = valueCodeableConcept; + return this; + } + + /** + * Get the valueString property: Value as string. + * + * @return the valueString value. + */ + @Generated + public String getValueString() { + return this.valueString; + } + + /** + * Set the valueString property: Value as string. + * + * @param valueString the valueString value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setValueString(String valueString) { + this.valueString = valueString; + return this; + } + + /** + * Get the valueBoolean property: Value as boolean. + * + * @return the valueBoolean value. + */ + @Generated + public Boolean isValueBoolean() { + return this.valueBoolean; + } + + /** + * Set the valueBoolean property: Value as boolean. + * + * @param valueBoolean the valueBoolean value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setValueBoolean(Boolean valueBoolean) { + this.valueBoolean = valueBoolean; + return this; + } + + /** + * Get the valueInteger property: Value as integer. + * + * @return the valueInteger value. + */ + @Generated + public Integer getValueInteger() { + return this.valueInteger; + } + + /** + * Set the valueInteger property: Value as integer. + * + * @param valueInteger the valueInteger value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setValueInteger(Integer valueInteger) { + this.valueInteger = valueInteger; + return this; + } + + /** + * Get the valueRange property: Value as Range. + * + * @return the valueRange value. + */ + @Generated + public Range getValueRange() { + return this.valueRange; + } + + /** + * Set the valueRange property: Value as Range. + * + * @param valueRange the valueRange value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setValueRange(Range valueRange) { + this.valueRange = valueRange; + return this; + } + + /** + * Get the valueRatio property: Value as Ratio. + * + * @return the valueRatio value. + */ + @Generated + public Ratio getValueRatio() { + return this.valueRatio; + } + + /** + * Set the valueRatio property: Value as Ratio. + * + * @param valueRatio the valueRatio value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setValueRatio(Ratio valueRatio) { + this.valueRatio = valueRatio; + return this; + } + + /** + * Get the valueSampledData property: Value as SampledData. + * + * @return the valueSampledData value. + */ + @Generated + public SampledData getValueSampledData() { + return this.valueSampledData; + } + + /** + * Set the valueSampledData property: Value as SampledData. + * + * @param valueSampledData the valueSampledData value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setValueSampledData(SampledData valueSampledData) { + this.valueSampledData = valueSampledData; + return this; + } + + /** + * Get the valueTime property: Value as time (hh:mm:ss). + * + * @return the valueTime value. + */ + @Generated + public String getValueTime() { + return this.valueTime; + } + + /** + * Set the valueTime property: Value as time (hh:mm:ss). + * + * @param valueTime the valueTime value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setValueTime(String valueTime) { + this.valueTime = valueTime; + return this; + } + + /** + * Get the valueDateTime property: Value as dateTime. + * + * @return the valueDateTime value. + */ + @Generated + public String getValueDateTime() { + return this.valueDateTime; + } + + /** + * Set the valueDateTime property: Value as dateTime. + * + * @param valueDateTime the valueDateTime value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setValueDateTime(String valueDateTime) { + this.valueDateTime = valueDateTime; + return this; + } + + /** + * Get the valuePeriod property: Value as Period. + * + * @return the valuePeriod value. + */ + @Generated + public PeriodModel getValuePeriod() { + return this.valuePeriod; + } + + /** + * Set the valuePeriod property: Value as Period. + * + * @param valuePeriod the valuePeriod value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setValuePeriod(PeriodModel valuePeriod) { + this.valuePeriod = valuePeriod; + return this; + } + + /** + * Get the valueReference property: Value as reference. + * + * @return the valueReference value. + */ + @Generated + public Reference getValueReference() { + return this.valueReference; + } + + /** + * Set the valueReference property: Value as reference. + * + * @param valueReference the valueReference value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setValueReference(Reference valueReference) { + this.valueReference = valueReference; + return this; + } + + /** + * Get the dataAbsentReason property: Why the component result is missing. + * + * @return the dataAbsentReason value. + */ + @Generated + public CodeableConcept getDataAbsentReason() { + return this.dataAbsentReason; + } + + /** + * Set the dataAbsentReason property: Why the component result is missing. + * + * @param dataAbsentReason the dataAbsentReason value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setDataAbsentReason(CodeableConcept dataAbsentReason) { + this.dataAbsentReason = dataAbsentReason; + return this; + } + + /** + * Get the interpretation property: High, low, normal, etc. + * + * @return the interpretation value. + */ + @Generated + public List<CodeableConcept> getInterpretation() { + return this.interpretation; + } + + /** + * Set the interpretation property: High, low, normal, etc. + * + * @param interpretation the interpretation value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setInterpretation(List<CodeableConcept> interpretation) { + this.interpretation = interpretation; + return this; + } + + /** + * Get the referenceRange property: Provides guide for interpretation of component result. + * + * @return the referenceRange value. + */ + @Generated + public List<ObservationReferenceRange> getReferenceRange() { + return this.referenceRange; + } + + /** + * Set the referenceRange property: Provides guide for interpretation of component result. + * + * @param referenceRange the referenceRange value to set. + * @return the ObservationComponent object itself. + */ + @Generated + public ObservationComponent setReferenceRange(List<ObservationReferenceRange> referenceRange) { + this.referenceRange = referenceRange; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public ObservationComponent setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public ObservationComponent setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ObservationReferenceRange.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ObservationReferenceRange.java new file mode 100644 index 0000000000000..ceea5f9b0f34a --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/ObservationReferenceRange.java @@ -0,0 +1,198 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Provides guide for interpretation of component result + * Based on [FHIR Observation.referenceRange](https://www.hl7.org/fhir/R4/observation.html). + */ +@Fluent +public final class ObservationReferenceRange { + /* + * Low Range, if relevant + */ + @Generated + @JsonProperty(value = "low") + private Quantity low; + + /* + * High Range, if relevant + */ + @Generated + @JsonProperty(value = "high") + private Quantity high; + + /* + * Reference range qualifier + */ + @Generated + @JsonProperty(value = "type") + private CodeableConcept type; + + /* + * Reference range population + */ + @Generated + @JsonProperty(value = "appliesTo") + private List<CodeableConcept> appliesTo; + + /* + * Applicable age range, if relevant + */ + @Generated + @JsonProperty(value = "age") + private Range age; + + /* + * Text based reference range in an observation + */ + @Generated + @JsonProperty(value = "text") + private String text; + + /** + * Creates an instance of ObservationReferenceRange class. + */ + @Generated + public ObservationReferenceRange() { + } + + /** + * Get the low property: Low Range, if relevant. + * + * @return the low value. + */ + @Generated + public Quantity getLow() { + return this.low; + } + + /** + * Set the low property: Low Range, if relevant. + * + * @param low the low value to set. + * @return the ObservationReferenceRange object itself. + */ + @Generated + public ObservationReferenceRange setLow(Quantity low) { + this.low = low; + return this; + } + + /** + * Get the high property: High Range, if relevant. + * + * @return the high value. + */ + @Generated + public Quantity getHigh() { + return this.high; + } + + /** + * Set the high property: High Range, if relevant. + * + * @param high the high value to set. + * @return the ObservationReferenceRange object itself. + */ + @Generated + public ObservationReferenceRange setHigh(Quantity high) { + this.high = high; + return this; + } + + /** + * Get the type property: Reference range qualifier. + * + * @return the type value. + */ + @Generated + public CodeableConcept getType() { + return this.type; + } + + /** + * Set the type property: Reference range qualifier. + * + * @param type the type value to set. + * @return the ObservationReferenceRange object itself. + */ + @Generated + public ObservationReferenceRange setType(CodeableConcept type) { + this.type = type; + return this; + } + + /** + * Get the appliesTo property: Reference range population. + * + * @return the appliesTo value. + */ + @Generated + public List<CodeableConcept> getAppliesTo() { + return this.appliesTo; + } + + /** + * Set the appliesTo property: Reference range population. + * + * @param appliesTo the appliesTo value to set. + * @return the ObservationReferenceRange object itself. + */ + @Generated + public ObservationReferenceRange setAppliesTo(List<CodeableConcept> appliesTo) { + this.appliesTo = appliesTo; + return this; + } + + /** + * Get the age property: Applicable age range, if relevant. + * + * @return the age value. + */ + @Generated + public Range getAge() { + return this.age; + } + + /** + * Set the age property: Applicable age range, if relevant. + * + * @param age the age value to set. + * @return the ObservationReferenceRange object itself. + */ + @Generated + public ObservationReferenceRange setAge(Range age) { + this.age = age; + return this; + } + + /** + * Get the text property: Text based reference range in an observation. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Set the text property: Text based reference range in an observation. + * + * @param text the text value to set. + * @return the ObservationReferenceRange object itself. + */ + @Generated + public ObservationReferenceRange setText(String text) { + this.text = text; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeData.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeData.java new file mode 100644 index 0000000000000..262d1200c5397 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeData.java @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The body of the Onco Phenotype request. + */ +@Fluent +public final class OncoPhenotypeData { + /* + * The list of patients, including their clinical information and data. + */ + @Generated + @JsonProperty(value = "patients") + private List<PatientRecord> patients; + + /* + * Configuration affecting the Onco Phenotype model's inference. + */ + @Generated + @JsonProperty(value = "configuration") + private OncoPhenotypeModelConfiguration configuration; + + /** + * Creates an instance of OncoPhenotypeData class. + * + * @param patients the patients value to set. + */ + @Generated + @JsonCreator + public OncoPhenotypeData(@JsonProperty(value = "patients") List<PatientRecord> patients) { + this.patients = patients; + } + + /** + * Get the patients property: The list of patients, including their clinical information and data. + * + * @return the patients value. + */ + @Generated + public List<PatientRecord> getPatients() { + return this.patients; + } + + /** + * Get the configuration property: Configuration affecting the Onco Phenotype model's inference. + * + * @return the configuration value. + */ + @Generated + public OncoPhenotypeModelConfiguration getConfiguration() { + return this.configuration; + } + + /** + * Set the configuration property: Configuration affecting the Onco Phenotype model's inference. + * + * @param configuration the configuration value to set. + * @return the OncoPhenotypeData object itself. + */ + @Generated + public OncoPhenotypeData setConfiguration(OncoPhenotypeModelConfiguration configuration) { + this.configuration = configuration; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeInference.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeInference.java new file mode 100644 index 0000000000000..0ee0dc7bfd0f8 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeInference.java @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * An inference made by the Onco Phenotype model regarding a patient. + */ +@Immutable +public final class OncoPhenotypeInference { + /* + * The type of the Onco Phenotype inference + */ + @Generated + @JsonProperty(value = "type") + private OncoPhenotypeInferenceType type; + + /* + * The value of the inference, as relevant for the given inference type. + */ + @Generated + @JsonProperty(value = "value") + private String value; + + /* + * The description corresponding to the inference value. + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /* + * Confidence score for this inference. + */ + @Generated + @JsonProperty(value = "confidenceScore") + private Double confidenceScore; + + /* + * The evidence corresponding to the inference value. + */ + @Generated + @JsonProperty(value = "evidence") + private List<InferenceEvidence> evidence; + + /* + * An identifier for a clinical case, if there are multiple clinical cases regarding the same patient. + */ + @Generated + @JsonProperty(value = "caseId") + private String caseId; + + /** + * Creates an instance of OncoPhenotypeInference class. + * + * @param type the type value to set. + * @param value the value value to set. + */ + @Generated + @JsonCreator + private OncoPhenotypeInference(@JsonProperty(value = "type") OncoPhenotypeInferenceType type, + @JsonProperty(value = "value") String value) { + this.type = type; + this.value = value; + } + + /** + * Get the type property: The type of the Onco Phenotype inference. + * + * @return the type value. + */ + @Generated + public OncoPhenotypeInferenceType getType() { + return this.type; + } + + /** + * Get the value property: The value of the inference, as relevant for the given inference type. + * + * @return the value value. + */ + @Generated + public String getValue() { + return this.value; + } + + /** + * Get the description property: The description corresponding to the inference value. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the confidenceScore property: Confidence score for this inference. + * + * @return the confidenceScore value. + */ + @Generated + public Double getConfidenceScore() { + return this.confidenceScore; + } + + /** + * Get the evidence property: The evidence corresponding to the inference value. + * + * @return the evidence value. + */ + @Generated + public List<InferenceEvidence> getEvidence() { + return this.evidence; + } + + /** + * Get the caseId property: An identifier for a clinical case, if there are multiple clinical cases regarding the + * same patient. + * + * @return the caseId value. + */ + @Generated + public String getCaseId() { + return this.caseId; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeInferenceResult.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeInferenceResult.java new file mode 100644 index 0000000000000..ceb04a31f0bda --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeInferenceResult.java @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The inference results for the Onco Phenotype request. + */ +@Immutable +public final class OncoPhenotypeInferenceResult { + /* + * Results for the patients given in the request. + */ + @Generated + @JsonProperty(value = "patientResults") + private List<OncoPhenotypePatientResult> patientResults; + + /* + * The version of the model used for inference, expressed as the model date. + */ + @Generated + @JsonProperty(value = "modelVersion") + private String modelVersion; + + /** + * Creates an instance of OncoPhenotypeInferenceResult class. + * + * @param patientResults the patientResults value to set. + * @param modelVersion the modelVersion value to set. + */ + @Generated + @JsonCreator + private OncoPhenotypeInferenceResult( + @JsonProperty(value = "patientResults") List<OncoPhenotypePatientResult> patientResults, + @JsonProperty(value = "modelVersion") String modelVersion) { + this.patientResults = patientResults; + this.modelVersion = modelVersion; + } + + /** + * Get the patientResults property: Results for the patients given in the request. + * + * @return the patientResults value. + */ + @Generated + public List<OncoPhenotypePatientResult> getPatientResults() { + return this.patientResults; + } + + /** + * Get the modelVersion property: The version of the model used for inference, expressed as the model date. + * + * @return the modelVersion value. + */ + @Generated + public String getModelVersion() { + return this.modelVersion; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeInferenceType.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeInferenceType.java new file mode 100644 index 0000000000000..5d5c0b7e547a3 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeInferenceType.java @@ -0,0 +1,101 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The type of the Onco Phenotype inference. + */ +public final class OncoPhenotypeInferenceType extends ExpandableStringEnum<OncoPhenotypeInferenceType> { + /** + * Static value tumorSite for OncoPhenotypeInferenceType. + */ + @Generated + public static final OncoPhenotypeInferenceType TUMOR_SITE = fromString("tumorSite"); + + /** + * Static value histology for OncoPhenotypeInferenceType. + */ + @Generated + public static final OncoPhenotypeInferenceType HISTOLOGY = fromString("histology"); + + /** + * Static value clinicalStageT for OncoPhenotypeInferenceType. + */ + @Generated + public static final OncoPhenotypeInferenceType CLINICAL_STAGET = fromString("clinicalStageT"); + + /** + * Static value clinicalStageN for OncoPhenotypeInferenceType. + */ + @Generated + public static final OncoPhenotypeInferenceType CLINICAL_STAGEN = fromString("clinicalStageN"); + + /** + * Static value clinicalStageM for OncoPhenotypeInferenceType. + */ + @Generated + public static final OncoPhenotypeInferenceType CLINICAL_STAGEM = fromString("clinicalStageM"); + + /** + * Static value pathologicStageT for OncoPhenotypeInferenceType. + */ + @Generated + public static final OncoPhenotypeInferenceType PATHOLOGIC_STAGET = fromString("pathologicStageT"); + + /** + * Static value pathologicStageN for OncoPhenotypeInferenceType. + */ + @Generated + public static final OncoPhenotypeInferenceType PATHOLOGIC_STAGEN = fromString("pathologicStageN"); + + /** + * Static value pathologicStageM for OncoPhenotypeInferenceType. + */ + @Generated + public static final OncoPhenotypeInferenceType PATHOLOGIC_STAGEM = fromString("pathologicStageM"); + + /** + * Static value diagnosisDate for OncoPhenotypeInferenceType. + */ + @Generated + public static final OncoPhenotypeInferenceType DIAGNOSIS_DATE = fromString("diagnosisDate"); + + /** + * Creates a new instance of OncoPhenotypeInferenceType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public OncoPhenotypeInferenceType() { + } + + /** + * Creates or finds a OncoPhenotypeInferenceType from its string representation. + * + * @param name a name to look for. + * @return the corresponding OncoPhenotypeInferenceType. + */ + @Generated + @JsonCreator + public static OncoPhenotypeInferenceType fromString(String name) { + return fromString(name, OncoPhenotypeInferenceType.class); + } + + /** + * Gets known OncoPhenotypeInferenceType values. + * + * @return known OncoPhenotypeInferenceType values. + */ + @Generated + public static Collection<OncoPhenotypeInferenceType> values() { + return values(OncoPhenotypeInferenceType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeModelConfiguration.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeModelConfiguration.java new file mode 100644 index 0000000000000..f1822c66688d8 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypeModelConfiguration.java @@ -0,0 +1,150 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Configuration affecting the Onco Phenotype model's inference. + */ +@Fluent +public final class OncoPhenotypeModelConfiguration { + /* + * An indication whether the model should produce verbose output. + */ + @Generated + @JsonProperty(value = "verbose") + private Boolean verbose; + + /* + * An indication whether the model's output should include evidence for the inferences. + */ + @Generated + @JsonProperty(value = "includeEvidence") + private Boolean includeEvidence; + + /* + * A list of inference types to be inferred for the current request. + * This could be used if only part of the Onco Phenotype inferences are required. + * If this list is omitted or empty, the model will return all the inference types. + */ + @Generated + @JsonProperty(value = "inferenceTypes") + private List<OncoPhenotypeInferenceType> inferenceTypes; + + /* + * An indication whether to perform a preliminary step on the patient's documents to determine whether they relate + * to a Cancer case. + */ + @Generated + @JsonProperty(value = "checkForCancerCase") + private Boolean checkForCancerCase; + + /** + * Creates an instance of OncoPhenotypeModelConfiguration class. + */ + @Generated + public OncoPhenotypeModelConfiguration() { + } + + /** + * Get the verbose property: An indication whether the model should produce verbose output. + * + * @return the verbose value. + */ + @Generated + public Boolean isVerbose() { + return this.verbose; + } + + /** + * Set the verbose property: An indication whether the model should produce verbose output. + * + * @param verbose the verbose value to set. + * @return the OncoPhenotypeModelConfiguration object itself. + */ + @Generated + public OncoPhenotypeModelConfiguration setVerbose(Boolean verbose) { + this.verbose = verbose; + return this; + } + + /** + * Get the includeEvidence property: An indication whether the model's output should include evidence for the + * inferences. + * + * @return the includeEvidence value. + */ + @Generated + public Boolean isIncludeEvidence() { + return this.includeEvidence; + } + + /** + * Set the includeEvidence property: An indication whether the model's output should include evidence for the + * inferences. + * + * @param includeEvidence the includeEvidence value to set. + * @return the OncoPhenotypeModelConfiguration object itself. + */ + @Generated + public OncoPhenotypeModelConfiguration setIncludeEvidence(Boolean includeEvidence) { + this.includeEvidence = includeEvidence; + return this; + } + + /** + * Get the inferenceTypes property: A list of inference types to be inferred for the current request. + * This could be used if only part of the Onco Phenotype inferences are required. + * If this list is omitted or empty, the model will return all the inference types. + * + * @return the inferenceTypes value. + */ + @Generated + public List<OncoPhenotypeInferenceType> getInferenceTypes() { + return this.inferenceTypes; + } + + /** + * Set the inferenceTypes property: A list of inference types to be inferred for the current request. + * This could be used if only part of the Onco Phenotype inferences are required. + * If this list is omitted or empty, the model will return all the inference types. + * + * @param inferenceTypes the inferenceTypes value to set. + * @return the OncoPhenotypeModelConfiguration object itself. + */ + @Generated + public OncoPhenotypeModelConfiguration setInferenceTypes(List<OncoPhenotypeInferenceType> inferenceTypes) { + this.inferenceTypes = inferenceTypes; + return this; + } + + /** + * Get the checkForCancerCase property: An indication whether to perform a preliminary step on the patient's + * documents to determine whether they relate to a Cancer case. + * + * @return the checkForCancerCase value. + */ + @Generated + public Boolean isCheckForCancerCase() { + return this.checkForCancerCase; + } + + /** + * Set the checkForCancerCase property: An indication whether to perform a preliminary step on the patient's + * documents to determine whether they relate to a Cancer case. + * + * @param checkForCancerCase the checkForCancerCase value to set. + * @return the OncoPhenotypeModelConfiguration object itself. + */ + @Generated + public OncoPhenotypeModelConfiguration setCheckForCancerCase(Boolean checkForCancerCase) { + this.checkForCancerCase = checkForCancerCase; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypePatientResult.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypePatientResult.java new file mode 100644 index 0000000000000..93d35a608b765 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OncoPhenotypePatientResult.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The results of the model's work for a single patient. + */ +@Immutable +public final class OncoPhenotypePatientResult { + /* + * The identifier given for the patient in the request. + */ + @Generated + @JsonProperty(value = "patientId") + private String patientId; + + /* + * The model's inferences for the given patient. + */ + @Generated + @JsonProperty(value = "inferences") + private List<OncoPhenotypeInference> inferences; + + /** + * Creates an instance of OncoPhenotypePatientResult class. + * + * @param patientId the patientId value to set. + * @param inferences the inferences value to set. + */ + @Generated + @JsonCreator + private OncoPhenotypePatientResult(@JsonProperty(value = "patientId") String patientId, + @JsonProperty(value = "inferences") List<OncoPhenotypeInference> inferences) { + this.patientId = patientId; + this.inferences = inferences; + } + + /** + * Get the patientId property: The identifier given for the patient in the request. + * + * @return the patientId value. + */ + @Generated + public String getPatientId() { + return this.patientId; + } + + /** + * Get the inferences property: The model's inferences for the given patient. + * + * @return the inferences value. + */ + @Generated + public List<OncoPhenotypeInference> getInferences() { + return this.inferences; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OrderedProcedure.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OrderedProcedure.java new file mode 100644 index 0000000000000..ebcf96b574a66 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/OrderedProcedure.java @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Procedure information. + */ +@Fluent +public final class OrderedProcedure extends Extendible { + /* + * Procedure code + */ + @Generated + @JsonProperty(value = "code") + private CodeableConcept code; + + /* + * Procedure description + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /** + * Creates an instance of OrderedProcedure class. + */ + @Generated + public OrderedProcedure() { + } + + /** + * Get the code property: Procedure code. + * + * @return the code value. + */ + @Generated + public CodeableConcept getCode() { + return this.code; + } + + /** + * Set the code property: Procedure code. + * + * @param code the code value to set. + * @return the OrderedProcedure object itself. + */ + @Generated + public OrderedProcedure setCode(CodeableConcept code) { + this.code = code; + return this; + } + + /** + * Get the description property: Procedure description. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Procedure description. + * + * @param description the description value to set. + * @return the OrderedProcedure object itself. + */ + @Generated + public OrderedProcedure setDescription(String description) { + this.description = description; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public OrderedProcedure setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PatientDocument.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PatientDocument.java new file mode 100644 index 0000000000000..6afa6bb0b7ec2 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PatientDocument.java @@ -0,0 +1,261 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** + * A clinical document related to a patient. Document here is in the wide sense - not just a text document (note). + */ +@Fluent +public final class PatientDocument { + /* + * The type of the patient document, such as 'note' (text document) or 'fhirBundle' (FHIR JSON document). + */ + @Generated + @JsonProperty(value = "type") + private DocumentType type; + + /* + * The type of the clinical document. + */ + @Generated + @JsonProperty(value = "clinicalType") + private ClinicalDocumentType clinicalType; + + /* + * A given identifier for the document. Has to be unique across all documents for a single patient. + */ + @Generated + @JsonProperty(value = "id") + private String id; + + /* + * A 2 letter ISO 639-1 representation of the language of the document. + */ + @Generated + @JsonProperty(value = "language") + private String language; + + /* + * The date and time when the document was created. + */ + @Generated + @JsonProperty(value = "createdDateTime") + private OffsetDateTime createdDateTime; + + /* + * Document author(s) + */ + @Generated + @JsonProperty(value = "authors") + private List<DocumentAuthor> authors; + + /* + * specialty type the document + */ + @Generated + @JsonProperty(value = "specialtyType") + private SpecialtyType specialtyType; + + /* + * Administrative metadata for the document. + */ + @Generated + @JsonProperty(value = "administrativeMetadata") + private DocumentAdministrativeMetadata administrativeMetadata; + + /* + * The content of the patient document. + */ + @Generated + @JsonProperty(value = "content") + private DocumentContent content; + + /** + * Creates an instance of PatientDocument class. + * + * @param type the type value to set. + * @param id the id value to set. + * @param content the content value to set. + */ + @Generated + @JsonCreator + public PatientDocument(@JsonProperty(value = "type") DocumentType type, @JsonProperty(value = "id") String id, + @JsonProperty(value = "content") DocumentContent content) { + this.type = type; + this.id = id; + this.content = content; + } + + /** + * Get the type property: The type of the patient document, such as 'note' (text document) or 'fhirBundle' (FHIR + * JSON document). + * + * @return the type value. + */ + @Generated + public DocumentType getType() { + return this.type; + } + + /** + * Get the clinicalType property: The type of the clinical document. + * + * @return the clinicalType value. + */ + @Generated + public ClinicalDocumentType getClinicalType() { + return this.clinicalType; + } + + /** + * Set the clinicalType property: The type of the clinical document. + * + * @param clinicalType the clinicalType value to set. + * @return the PatientDocument object itself. + */ + @Generated + public PatientDocument setClinicalType(ClinicalDocumentType clinicalType) { + this.clinicalType = clinicalType; + return this; + } + + /** + * Get the id property: A given identifier for the document. Has to be unique across all documents for a single + * patient. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the language property: A 2 letter ISO 639-1 representation of the language of the document. + * + * @return the language value. + */ + @Generated + public String getLanguage() { + return this.language; + } + + /** + * Set the language property: A 2 letter ISO 639-1 representation of the language of the document. + * + * @param language the language value to set. + * @return the PatientDocument object itself. + */ + @Generated + public PatientDocument setLanguage(String language) { + this.language = language; + return this; + } + + /** + * Get the createdDateTime property: The date and time when the document was created. + * + * @return the createdDateTime value. + */ + @Generated + public OffsetDateTime getCreatedDateTime() { + return this.createdDateTime; + } + + /** + * Set the createdDateTime property: The date and time when the document was created. + * + * @param createdDateTime the createdDateTime value to set. + * @return the PatientDocument object itself. + */ + @Generated + public PatientDocument setCreatedDateTime(OffsetDateTime createdDateTime) { + this.createdDateTime = createdDateTime; + return this; + } + + /** + * Get the authors property: Document author(s). + * + * @return the authors value. + */ + @Generated + public List<DocumentAuthor> getAuthors() { + return this.authors; + } + + /** + * Set the authors property: Document author(s). + * + * @param authors the authors value to set. + * @return the PatientDocument object itself. + */ + @Generated + public PatientDocument setAuthors(List<DocumentAuthor> authors) { + this.authors = authors; + return this; + } + + /** + * Get the specialtyType property: specialty type the document. + * + * @return the specialtyType value. + */ + @Generated + public SpecialtyType getSpecialtyType() { + return this.specialtyType; + } + + /** + * Set the specialtyType property: specialty type the document. + * + * @param specialtyType the specialtyType value to set. + * @return the PatientDocument object itself. + */ + @Generated + public PatientDocument setSpecialtyType(SpecialtyType specialtyType) { + this.specialtyType = specialtyType; + return this; + } + + /** + * Get the administrativeMetadata property: Administrative metadata for the document. + * + * @return the administrativeMetadata value. + */ + @Generated + public DocumentAdministrativeMetadata getAdministrativeMetadata() { + return this.administrativeMetadata; + } + + /** + * Set the administrativeMetadata property: Administrative metadata for the document. + * + * @param administrativeMetadata the administrativeMetadata value to set. + * @return the PatientDocument object itself. + */ + @Generated + public PatientDocument setAdministrativeMetadata(DocumentAdministrativeMetadata administrativeMetadata) { + this.administrativeMetadata = administrativeMetadata; + return this; + } + + /** + * Get the content property: The content of the patient document. + * + * @return the content value. + */ + @Generated + public DocumentContent getContent() { + return this.content; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PatientInfo.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PatientInfo.java new file mode 100644 index 0000000000000..7a1dbaa976574 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PatientInfo.java @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.LocalDate; +import java.util.List; + +/** + * Patient structured information, including demographics and known structured clinical information. + */ +@Fluent +public final class PatientInfo { + /* + * The patient's sex. + */ + @Generated + @JsonProperty(value = "sex") + private PatientInfoSex sex; + + /* + * The patient's date of birth. + */ + @Generated + @JsonProperty(value = "birthDate") + private LocalDate birthDate; + + /* + * Known clinical information for the patient, structured. + */ + @Generated + @JsonProperty(value = "clinicalInfo") + private List<Resource> clinicalInfo; + + /** + * Creates an instance of PatientInfo class. + */ + @Generated + public PatientInfo() { + } + + /** + * Get the sex property: The patient's sex. + * + * @return the sex value. + */ + @Generated + public PatientInfoSex getSex() { + return this.sex; + } + + /** + * Set the sex property: The patient's sex. + * + * @param sex the sex value to set. + * @return the PatientInfo object itself. + */ + @Generated + public PatientInfo setSex(PatientInfoSex sex) { + this.sex = sex; + return this; + } + + /** + * Get the birthDate property: The patient's date of birth. + * + * @return the birthDate value. + */ + @Generated + public LocalDate getBirthDate() { + return this.birthDate; + } + + /** + * Set the birthDate property: The patient's date of birth. + * + * @param birthDate the birthDate value to set. + * @return the PatientInfo object itself. + */ + @Generated + public PatientInfo setBirthDate(LocalDate birthDate) { + this.birthDate = birthDate; + return this; + } + + /** + * Get the clinicalInfo property: Known clinical information for the patient, structured. + * + * @return the clinicalInfo value. + */ + @Generated + public List<Resource> getClinicalInfo() { + return this.clinicalInfo; + } + + /** + * Set the clinicalInfo property: Known clinical information for the patient, structured. + * + * @param clinicalInfo the clinicalInfo value to set. + * @return the PatientInfo object itself. + */ + @Generated + public PatientInfo setClinicalInfo(List<Resource> clinicalInfo) { + this.clinicalInfo = clinicalInfo; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PatientInfoSex.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PatientInfoSex.java new file mode 100644 index 0000000000000..315b9a8a44f36 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PatientInfoSex.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The patient's sex. + */ +public final class PatientInfoSex extends ExpandableStringEnum<PatientInfoSex> { + /** + * Static value female for PatientInfoSex. + */ + @Generated + public static final PatientInfoSex FEMALE = fromString("female"); + + /** + * Static value male for PatientInfoSex. + */ + @Generated + public static final PatientInfoSex MALE = fromString("male"); + + /** + * Static value unspecified for PatientInfoSex. + */ + @Generated + public static final PatientInfoSex UNSPECIFIED = fromString("unspecified"); + + /** + * Creates a new instance of PatientInfoSex value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public PatientInfoSex() { + } + + /** + * Creates or finds a PatientInfoSex from its string representation. + * + * @param name a name to look for. + * @return the corresponding PatientInfoSex. + */ + @Generated + @JsonCreator + public static PatientInfoSex fromString(String name) { + return fromString(name, PatientInfoSex.class); + } + + /** + * Gets known PatientInfoSex values. + * + * @return known PatientInfoSex values. + */ + @Generated + public static Collection<PatientInfoSex> values() { + return values(PatientInfoSex.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PatientRecord.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PatientRecord.java new file mode 100644 index 0000000000000..4706cb9cf9579 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PatientRecord.java @@ -0,0 +1,135 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * A patient record, including their clinical information and data. + */ +@Fluent +public final class PatientRecord { + /* + * A given identifier for the patient. Has to be unique across all patients in a single request. + */ + @Generated + @JsonProperty(value = "id") + private String id; + + /* + * Patient structured information, including demographics and known structured clinical information. + */ + @Generated + @JsonProperty(value = "info") + private PatientInfo info; + + /* + * Patient encounters/visits. + */ + @Generated + @JsonProperty(value = "encounters") + private List<Encounter> encounters; + + /* + * Patient unstructured clinical data, given as documents. + */ + @Generated + @JsonProperty(value = "patientDocuments") + private List<PatientDocument> patientDocuments; + + /** + * Creates an instance of PatientRecord class. + * + * @param id the id value to set. + */ + @Generated + @JsonCreator + public PatientRecord(@JsonProperty(value = "id") String id) { + this.id = id; + } + + /** + * Get the id property: A given identifier for the patient. Has to be unique across all patients in a single + * request. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the info property: Patient structured information, including demographics and known structured clinical + * information. + * + * @return the info value. + */ + @Generated + public PatientInfo getInfo() { + return this.info; + } + + /** + * Set the info property: Patient structured information, including demographics and known structured clinical + * information. + * + * @param info the info value to set. + * @return the PatientRecord object itself. + */ + @Generated + public PatientRecord setInfo(PatientInfo info) { + this.info = info; + return this; + } + + /** + * Get the encounters property: Patient encounters/visits. + * + * @return the encounters value. + */ + @Generated + public List<Encounter> getEncounters() { + return this.encounters; + } + + /** + * Set the encounters property: Patient encounters/visits. + * + * @param encounters the encounters value to set. + * @return the PatientRecord object itself. + */ + @Generated + public PatientRecord setEncounters(List<Encounter> encounters) { + this.encounters = encounters; + return this; + } + + /** + * Get the patientDocuments property: Patient unstructured clinical data, given as documents. + * + * @return the patientDocuments value. + */ + @Generated + public List<PatientDocument> getPatientDocuments() { + return this.patientDocuments; + } + + /** + * Set the patientDocuments property: Patient unstructured clinical data, given as documents. + * + * @param patientDocuments the patientDocuments value to set. + * @return the PatientRecord object itself. + */ + @Generated + public PatientRecord setPatientDocuments(List<PatientDocument> patientDocuments) { + this.patientDocuments = patientDocuments; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PeriodModel.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PeriodModel.java new file mode 100644 index 0000000000000..f2e798ea93f44 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/PeriodModel.java @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * A time period defined by a start and end date and optionally time + * Based on [FHIR Period](https://www.hl7.org/fhir/R4/datatypes.html#Period). + */ +@Fluent +public final class PeriodModel extends Element { + /* + * Starting time with inclusive boundary + */ + @Generated + @JsonProperty(value = "start") + private String start; + + /* + * End time with inclusive boundary, if not ongoing + */ + @Generated + @JsonProperty(value = "end") + private String end; + + /** + * Creates an instance of PeriodModel class. + */ + @Generated + public PeriodModel() { + } + + /** + * Get the start property: Starting time with inclusive boundary. + * + * @return the start value. + */ + @Generated + public String getStart() { + return this.start; + } + + /** + * Set the start property: Starting time with inclusive boundary. + * + * @param start the start value to set. + * @return the PeriodModel object itself. + */ + @Generated + public PeriodModel setStart(String start) { + this.start = start; + return this; + } + + /** + * Get the end property: End time with inclusive boundary, if not ongoing. + * + * @return the end value. + */ + @Generated + public String getEnd() { + return this.end; + } + + /** + * Set the end property: End time with inclusive boundary, if not ongoing. + * + * @param end the end value to set. + * @return the PeriodModel object itself. + */ + @Generated + public PeriodModel setEnd(String end) { + this.end = end; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public PeriodModel setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public PeriodModel setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Quantity.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Quantity.java new file mode 100644 index 0000000000000..b01cbd3d26060 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Quantity.java @@ -0,0 +1,190 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.math.BigDecimal; +import java.util.List; + +/** + * A measured or measurable amount + * Based on [FHIR Quantity](https://www.hl7.org/fhir/R4/datatypes.html#Quantity). + */ +@Fluent +public final class Quantity extends Element { + /* + * Numerical value (with implicit precision) + */ + @Generated + @JsonProperty(value = "value") + private BigDecimal value; + + /* + * < | <= | >= | > - how to understand the value + */ + @Generated + @JsonProperty(value = "comparator") + private String comparator; + + /* + * Unit representation + */ + @Generated + @JsonProperty(value = "unit") + private String unit; + + /* + * System that defines coded unit form + */ + @Generated + @JsonProperty(value = "system") + private String system; + + /* + * Coded form of the unit + */ + @Generated + @JsonProperty(value = "code") + private String code; + + /** + * Creates an instance of Quantity class. + */ + @Generated + public Quantity() { + } + + /** + * Get the value property: Numerical value (with implicit precision). + * + * @return the value value. + */ + @Generated + public BigDecimal getValue() { + return this.value; + } + + /** + * Set the value property: Numerical value (with implicit precision). + * + * @param value the value value to set. + * @return the Quantity object itself. + */ + @Generated + public Quantity setValue(BigDecimal value) { + this.value = value; + return this; + } + + /** + * Get the comparator property: < | <= | >= | > - how to understand the value. + * + * @return the comparator value. + */ + @Generated + public String getComparator() { + return this.comparator; + } + + /** + * Set the comparator property: < | <= | >= | > - how to understand the value. + * + * @param comparator the comparator value to set. + * @return the Quantity object itself. + */ + @Generated + public Quantity setComparator(String comparator) { + this.comparator = comparator; + return this; + } + + /** + * Get the unit property: Unit representation. + * + * @return the unit value. + */ + @Generated + public String getUnit() { + return this.unit; + } + + /** + * Set the unit property: Unit representation. + * + * @param unit the unit value to set. + * @return the Quantity object itself. + */ + @Generated + public Quantity setUnit(String unit) { + this.unit = unit; + return this; + } + + /** + * Get the system property: System that defines coded unit form. + * + * @return the system value. + */ + @Generated + public String getSystem() { + return this.system; + } + + /** + * Set the system property: System that defines coded unit form. + * + * @param system the system value to set. + * @return the Quantity object itself. + */ + @Generated + public Quantity setSystem(String system) { + this.system = system; + return this; + } + + /** + * Get the code property: Coded form of the unit. + * + * @return the code value. + */ + @Generated + public String getCode() { + return this.code; + } + + /** + * Set the code property: Coded form of the unit. + * + * @param code the code value to set. + * @return the Quantity object itself. + */ + @Generated + public Quantity setCode(String code) { + this.code = code; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Quantity setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Quantity setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Range.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Range.java new file mode 100644 index 0000000000000..ad5601a47a65e --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Range.java @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * A set of ordered Quantities defined by a low and high limit + * Based on [FHIR Range](https://www.hl7.org/fhir/R4/datatypes.html#Range). + */ +@Fluent +public final class Range extends Element { + /* + * Low limit + */ + @Generated + @JsonProperty(value = "low") + private Quantity low; + + /* + * High limit + */ + @Generated + @JsonProperty(value = "high") + private Quantity high; + + /** + * Creates an instance of Range class. + */ + @Generated + public Range() { + } + + /** + * Get the low property: Low limit. + * + * @return the low value. + */ + @Generated + public Quantity getLow() { + return this.low; + } + + /** + * Set the low property: Low limit. + * + * @param low the low value to set. + * @return the Range object itself. + */ + @Generated + public Range setLow(Quantity low) { + this.low = low; + return this; + } + + /** + * Get the high property: High limit. + * + * @return the high value. + */ + @Generated + public Quantity getHigh() { + return this.high; + } + + /** + * Set the high property: High limit. + * + * @param high the high value to set. + * @return the Range object itself. + */ + @Generated + public Range setHigh(Quantity high) { + this.high = high; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Range setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Range setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Ratio.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Ratio.java new file mode 100644 index 0000000000000..a819c75b9ba02 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Ratio.java @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * A ratio of two Quantity values - a numerator and a denominator + * Based on [FHIR Ratio](https://www.hl7.org/fhir/R4/datatypes.html#Ratio). + */ +@Fluent +public final class Ratio extends Element { + /* + * Numerator value + */ + @Generated + @JsonProperty(value = "numerator") + private Quantity numerator; + + /* + * Denominator value + */ + @Generated + @JsonProperty(value = "denominator") + private Quantity denominator; + + /** + * Creates an instance of Ratio class. + */ + @Generated + public Ratio() { + } + + /** + * Get the numerator property: Numerator value. + * + * @return the numerator value. + */ + @Generated + public Quantity getNumerator() { + return this.numerator; + } + + /** + * Set the numerator property: Numerator value. + * + * @param numerator the numerator value to set. + * @return the Ratio object itself. + */ + @Generated + public Ratio setNumerator(Quantity numerator) { + this.numerator = numerator; + return this; + } + + /** + * Get the denominator property: Denominator value. + * + * @return the denominator value. + */ + @Generated + public Quantity getDenominator() { + return this.denominator; + } + + /** + * Set the denominator property: Denominator value. + * + * @param denominator the denominator value to set. + * @return the Ratio object itself. + */ + @Generated + public Ratio setDenominator(Quantity denominator) { + this.denominator = denominator; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Ratio setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Ratio setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Reference.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Reference.java new file mode 100644 index 0000000000000..91dbf78380eec --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Reference.java @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * A reference from one resource to another + * Based on [FHIR Reference](https://www.hl7.org/fhir/R4/references.html). + */ +@Fluent +public final class Reference extends Element { + /* + * Literal reference, Relative, internal or absolute URL + */ + @Generated + @JsonProperty(value = "reference") + private String reference; + + /* + * Type the reference refers to (e.g. "Patient") + */ + @Generated + @JsonProperty(value = "type") + private String type; + + /* + * Logical reference, when literal reference is not known + */ + @Generated + @JsonProperty(value = "identifier") + private Identifier identifier; + + /* + * Text alternative for the resource + */ + @Generated + @JsonProperty(value = "display") + private String display; + + /** + * Creates an instance of Reference class. + */ + @Generated + public Reference() { + } + + /** + * Get the reference property: Literal reference, Relative, internal or absolute URL. + * + * @return the reference value. + */ + @Generated + public String getReference() { + return this.reference; + } + + /** + * Set the reference property: Literal reference, Relative, internal or absolute URL. + * + * @param reference the reference value to set. + * @return the Reference object itself. + */ + @Generated + public Reference setReference(String reference) { + this.reference = reference; + return this; + } + + /** + * Get the type property: Type the reference refers to (e.g. "Patient"). + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Set the type property: Type the reference refers to (e.g. "Patient"). + * + * @param type the type value to set. + * @return the Reference object itself. + */ + @Generated + public Reference setType(String type) { + this.type = type; + return this; + } + + /** + * Get the identifier property: Logical reference, when literal reference is not known. + * + * @return the identifier value. + */ + @Generated + public Identifier getIdentifier() { + return this.identifier; + } + + /** + * Set the identifier property: Logical reference, when literal reference is not known. + * + * @param identifier the identifier value to set. + * @return the Reference object itself. + */ + @Generated + public Reference setIdentifier(Identifier identifier) { + this.identifier = identifier; + return this; + } + + /** + * Get the display property: Text alternative for the resource. + * + * @return the display value. + */ + @Generated + public String getDisplay() { + return this.display; + } + + /** + * Set the display property: Text alternative for the resource. + * + * @param display the display value to set. + * @return the Reference object itself. + */ + @Generated + public Reference setDisplay(String display) { + this.display = display; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Reference setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public Reference setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Resource.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Resource.java new file mode 100644 index 0000000000000..b205d49ba93f3 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/Resource.java @@ -0,0 +1,212 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.HashMap; +import java.util.Map; + +/** + * Resource is the ancestor of DomainResource from which most resources are derived. Bundle, Parameters, and Binary + * extend Resource directly. + * Based on [FHIR Resource](https://www.hl7.org/fhir/r4/resource.html. + */ +@Fluent +public final class Resource { + /* + * The type of resource + */ + @Generated + @JsonProperty(value = "resourceType") + private String resourceType; + + /* + * Resource Id + */ + @Generated + @JsonProperty(value = "id") + private String id; + + /* + * Metadata about the resource + */ + @Generated + @JsonProperty(value = "meta") + private Meta meta; + + /* + * A set of rules under which this content was created + */ + @Generated + @JsonProperty(value = "implicitRules") + private String implicitRules; + + /* + * Language of the resource content + */ + @Generated + @JsonProperty(value = "language") + private String language; + + /* + * Resource is the ancestor of DomainResource from which most resources are derived. Bundle, Parameters, and Binary + * extend Resource directly. + * Based on [FHIR Resource](https://www.hl7.org/fhir/r4/resource.html + */ + @Generated + @JsonIgnore + private Map<String, Object> additionalProperties; + + /** + * Creates an instance of Resource class. + * + * @param resourceType the resourceType value to set. + */ + @Generated + @JsonCreator + public Resource(@JsonProperty(value = "resourceType") String resourceType) { + this.resourceType = resourceType; + } + + /** + * Get the resourceType property: The type of resource. + * + * @return the resourceType value. + */ + @Generated + public String getResourceType() { + return this.resourceType; + } + + /** + * Get the id property: Resource Id. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Set the id property: Resource Id. + * + * @param id the id value to set. + * @return the Resource object itself. + */ + @Generated + public Resource setId(String id) { + this.id = id; + return this; + } + + /** + * Get the meta property: Metadata about the resource. + * + * @return the meta value. + */ + @Generated + public Meta getMeta() { + return this.meta; + } + + /** + * Set the meta property: Metadata about the resource. + * + * @param meta the meta value to set. + * @return the Resource object itself. + */ + @Generated + public Resource setMeta(Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get the implicitRules property: A set of rules under which this content was created. + * + * @return the implicitRules value. + */ + @Generated + public String getImplicitRules() { + return this.implicitRules; + } + + /** + * Set the implicitRules property: A set of rules under which this content was created. + * + * @param implicitRules the implicitRules value to set. + * @return the Resource object itself. + */ + @Generated + public Resource setImplicitRules(String implicitRules) { + this.implicitRules = implicitRules; + return this; + } + + /** + * Get the language property: Language of the resource content. + * + * @return the language value. + */ + @Generated + public String getLanguage() { + return this.language; + } + + /** + * Set the language property: Language of the resource content. + * + * @param language the language value to set. + * @return the Resource object itself. + */ + @Generated + public Resource setLanguage(String language) { + this.language = language; + return this; + } + + /** + * Get the additionalProperties property: Resource is the ancestor of DomainResource from which most resources are + * derived. Bundle, Parameters, and Binary extend Resource directly. + * Based on [FHIR Resource](https://www.hl7.org/fhir/r4/resource.html. + * + * @return the additionalProperties value. + */ + @Generated + @JsonAnyGetter + public Map<String, Object> getAdditionalProperties() { + return this.additionalProperties; + } + + /** + * Set the additionalProperties property: Resource is the ancestor of DomainResource from which most resources are + * derived. Bundle, Parameters, and Binary extend Resource directly. + * Based on [FHIR Resource](https://www.hl7.org/fhir/r4/resource.html. + * + * @param additionalProperties the additionalProperties value to set. + * @return the Resource object itself. + */ + @Generated + public Resource setAdditionalProperties(Map<String, Object> additionalProperties) { + this.additionalProperties = additionalProperties; + return this; + } + + @Generated + @JsonAnySetter + void setAdditionalProperties(String key, Object value) { + if (additionalProperties == null) { + additionalProperties = new HashMap<>(); + } + additionalProperties.put(key, value); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/SampledData.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/SampledData.java new file mode 100644 index 0000000000000..96739247be303 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/SampledData.java @@ -0,0 +1,222 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.math.BigDecimal; +import java.util.List; + +/** + * A series of measurements taken by a device + * Based on [FHIR SampledData](https://www.hl7.org/fhir/R4/datatypes.html#SampledData). + */ +@Fluent +public final class SampledData extends Element { + /* + * Zero value and units + */ + @Generated + @JsonProperty(value = "origin") + private Quantity origin; + + /* + * Number of milliseconds between samples + */ + @Generated + @JsonProperty(value = "period") + private BigDecimal period; + + /* + * Multiply data by this before adding to origin + */ + @Generated + @JsonProperty(value = "factor") + private BigDecimal factor; + + /* + * Lower limit of detection + */ + @Generated + @JsonProperty(value = "lowerLimit") + private BigDecimal lowerLimit; + + /* + * Upper limit of detection + */ + @Generated + @JsonProperty(value = "upperLimit") + private BigDecimal upperLimit; + + /* + * Number of sample points at each time point + */ + @Generated + @JsonProperty(value = "dimensions") + private int dimensions; + + /* + * Decimal values with spaces, or "E" | "U" | "L" + */ + @Generated + @JsonProperty(value = "data") + private String data; + + /** + * Creates an instance of SampledData class. + * + * @param origin the origin value to set. + * @param period the period value to set. + * @param dimensions the dimensions value to set. + */ + @Generated + @JsonCreator + public SampledData(@JsonProperty(value = "origin") Quantity origin, + @JsonProperty(value = "period") BigDecimal period, @JsonProperty(value = "dimensions") int dimensions) { + this.origin = origin; + this.period = period; + this.dimensions = dimensions; + } + + /** + * Get the origin property: Zero value and units. + * + * @return the origin value. + */ + @Generated + public Quantity getOrigin() { + return this.origin; + } + + /** + * Get the period property: Number of milliseconds between samples. + * + * @return the period value. + */ + @Generated + public BigDecimal getPeriod() { + return this.period; + } + + /** + * Get the factor property: Multiply data by this before adding to origin. + * + * @return the factor value. + */ + @Generated + public BigDecimal getFactor() { + return this.factor; + } + + /** + * Set the factor property: Multiply data by this before adding to origin. + * + * @param factor the factor value to set. + * @return the SampledData object itself. + */ + @Generated + public SampledData setFactor(BigDecimal factor) { + this.factor = factor; + return this; + } + + /** + * Get the lowerLimit property: Lower limit of detection. + * + * @return the lowerLimit value. + */ + @Generated + public BigDecimal getLowerLimit() { + return this.lowerLimit; + } + + /** + * Set the lowerLimit property: Lower limit of detection. + * + * @param lowerLimit the lowerLimit value to set. + * @return the SampledData object itself. + */ + @Generated + public SampledData setLowerLimit(BigDecimal lowerLimit) { + this.lowerLimit = lowerLimit; + return this; + } + + /** + * Get the upperLimit property: Upper limit of detection. + * + * @return the upperLimit value. + */ + @Generated + public BigDecimal getUpperLimit() { + return this.upperLimit; + } + + /** + * Set the upperLimit property: Upper limit of detection. + * + * @param upperLimit the upperLimit value to set. + * @return the SampledData object itself. + */ + @Generated + public SampledData setUpperLimit(BigDecimal upperLimit) { + this.upperLimit = upperLimit; + return this; + } + + /** + * Get the dimensions property: Number of sample points at each time point. + * + * @return the dimensions value. + */ + @Generated + public int getDimensions() { + return this.dimensions; + } + + /** + * Get the data property: Decimal values with spaces, or "E" | "U" | "L". + * + * @return the data value. + */ + @Generated + public String getData() { + return this.data; + } + + /** + * Set the data property: Decimal values with spaces, or "E" | "U" | "L". + * + * @param data the data value to set. + * @return the SampledData object itself. + */ + @Generated + public SampledData setData(String data) { + this.data = data; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public SampledData setId(String id) { + super.setId(id); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public SampledData setExtension(List<Extension> extension) { + super.setExtension(extension); + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/SpecialtyType.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/SpecialtyType.java new file mode 100644 index 0000000000000..10be190b6385a --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/SpecialtyType.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Known values codes that can be used to indicate the type of the Specialty. + */ +public final class SpecialtyType extends ExpandableStringEnum<SpecialtyType> { + /** + * pathology. + */ + @Generated + public static final SpecialtyType PATHOLOGY = fromString("pathology"); + + /** + * radiology. + */ + @Generated + public static final SpecialtyType RADIOLOGY = fromString("radiology"); + + /** + * Creates a new instance of SpecialtyType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public SpecialtyType() { + } + + /** + * Creates or finds a SpecialtyType from its string representation. + * + * @param name a name to look for. + * @return the corresponding SpecialtyType. + */ + @Generated + @JsonCreator + public static SpecialtyType fromString(String name) { + return fromString(name, SpecialtyType.class); + } + + /** + * Gets known SpecialtyType values. + * + * @return known SpecialtyType values. + */ + @Generated + public static Collection<SpecialtyType> values() { + return values(SpecialtyType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/TimePeriod.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/TimePeriod.java new file mode 100644 index 0000000000000..30ea6fbfd401a --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/TimePeriod.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** + * A duration of time during which an event is happening. + */ +@Fluent +public final class TimePeriod { + /* + * Starting time with inclusive boundary + */ + @Generated + @JsonProperty(value = "start") + private OffsetDateTime start; + + /* + * End time with inclusive boundary, if not ongoing + */ + @Generated + @JsonProperty(value = "end") + private OffsetDateTime end; + + /** + * Creates an instance of TimePeriod class. + */ + @Generated + public TimePeriod() { + } + + /** + * Get the start property: Starting time with inclusive boundary. + * + * @return the start value. + */ + @Generated + public OffsetDateTime getStart() { + return this.start; + } + + /** + * Set the start property: Starting time with inclusive boundary. + * + * @param start the start value to set. + * @return the TimePeriod object itself. + */ + @Generated + public TimePeriod setStart(OffsetDateTime start) { + this.start = start; + return this; + } + + /** + * Get the end property: End time with inclusive boundary, if not ongoing. + * + * @return the end value. + */ + @Generated + public OffsetDateTime getEnd() { + return this.end; + } + + /** + * Set the end property: End time with inclusive boundary, if not ongoing. + * + * @param end the end value to set. + * @return the TimePeriod object itself. + */ + @Generated + public TimePeriod setEnd(OffsetDateTime end) { + this.end = end; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/package-info.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/package-info.java new file mode 100644 index 0000000000000..1db753c1f785f --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/models/package-info.java @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * <!-- start generated doc --> + * Package containing the data models for AzureHealthInsights. + * Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that + * perform analysis and provide inferences to be used by a human. + * <!-- end generated doc --> + */ +package com.azure.health.insights.cancerprofiling.models; diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/package-info.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/package-info.java new file mode 100644 index 0000000000000..bb884ba53f8a5 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/com/azure/health/insights/cancerprofiling/package-info.java @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * <!-- start generated doc --> + * Package containing the classes for AzureHealthInsights. + * Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that + * perform analysis and provide inferences to be used by a human. + * <!-- end generated doc --> + */ +package com.azure.health.insights.cancerprofiling; diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/module-info.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/module-info.java new file mode 100644 index 0000000000000..fbdb8e01809bd --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/java/module-info.java @@ -0,0 +1,13 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +module com.azure.health.insights.cancerprofiling { + requires transitive com.azure.core; + requires transitive com.azure.core.experimental; + + exports com.azure.health.insights.cancerprofiling; + exports com.azure.health.insights.cancerprofiling.models; + + opens com.azure.health.insights.cancerprofiling.models to com.azure.core, com.fasterxml.jackson.databind; +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/resources/azure-health-insights-cancerprofiling.properties b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/resources/azure-health-insights-cancerprofiling.properties new file mode 100644 index 0000000000000..ca812989b4f27 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/main/resources/azure-health-insights-cancerprofiling.properties @@ -0,0 +1,2 @@ +name=${project.artifactId} +version=${project.version} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/samples/java/com/azure/health/insights/cancerprofiling/ReadmeSamples.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/samples/java/com/azure/health/insights/cancerprofiling/ReadmeSamples.java new file mode 100644 index 0000000000000..7b76c9b49163d --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/samples/java/com/azure/health/insights/cancerprofiling/ReadmeSamples.java @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling; + +public final class ReadmeSamples { + public void readmeSamples() { + // BEGIN: com.azure.health.insights.cancerprofiling.readme + // END: com.azure.health.insights.cancerprofiling.readme + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/test/java/com/azure/health/insights/cancerprofiling/generated/CancerProfilingClientTestBase.java b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/test/java/com/azure/health/insights/cancerprofiling/generated/CancerProfilingClientTestBase.java new file mode 100644 index 0000000000000..75f3ce92ca9c4 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/src/test/java/com/azure/health/insights/cancerprofiling/generated/CancerProfilingClientTestBase.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.health.insights.cancerprofiling.generated; + +// The Java test files under 'generated' package are generated for your reference. +// If you wish to modify these files, please copy them out of the 'generated' package, and modify there. +// See https://aka.ms/azsdk/dpg/java/tests for guide on adding a test. + +import com.azure.core.http.HttpClient; +import com.azure.core.http.policy.HttpLogDetailLevel; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.test.TestMode; +import com.azure.core.test.TestProxyTestBase; +import com.azure.core.util.Configuration; +import com.azure.health.insights.cancerprofiling.CancerProfilingClient; +import com.azure.health.insights.cancerprofiling.CancerProfilingClientBuilder; + +class CancerProfilingClientTestBase extends TestProxyTestBase { + protected CancerProfilingClient cancerProfilingClient; + + @Override + protected void beforeTest() { + CancerProfilingClientBuilder cancerProfilingClientbuilder = new CancerProfilingClientBuilder() + .endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "endpoint")) + .httpClient(HttpClient.createDefault()) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)); + if (getTestMode() == TestMode.PLAYBACK) { + cancerProfilingClientbuilder.httpClient(interceptorManager.getPlaybackClient()); + } else if (getTestMode() == TestMode.RECORD) { + cancerProfilingClientbuilder.addPolicy(interceptorManager.getRecordPolicy()); + } + cancerProfilingClient = cancerProfilingClientbuilder.buildClient(); + + } +} diff --git a/sdk/healthinsights/azure-healthinsights-cancerprofiling/tsp-location.yaml b/sdk/healthinsights/azure-healthinsights-cancerprofiling/tsp-location.yaml new file mode 100644 index 0000000000000..8c500b768a9b2 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-cancerprofiling/tsp-location.yaml @@ -0,0 +1,7 @@ +commit: 6db5626f2690d5f69cce8c8f77a4b0438a3fd490 +repo: Azure/azure-rest-api-specs +directory: specification/ai/HealthInsights/HealthInsights.OncoPhenotype +additionalDirectories: +- specification/ai/HealthInsights/HealthInsights.Common/ +- specification/ai/HealthInsights/HealthInsights.OpenAPI/ + diff --git a/sdk/healthinsights/ci.yml b/sdk/healthinsights/ci.yml index 960570420b498..237dc87ed1265 100644 --- a/sdk/healthinsights/ci.yml +++ b/sdk/healthinsights/ci.yml @@ -1,4 +1,5 @@ # NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + trigger: branches: include: @@ -13,7 +14,6 @@ trigger: - sdk/healthinsights/azure-health-insights-cancerprofiling/pom.xml - sdk/healthinsights/azure-health-insights-clinicalmatching/pom.xml - pr: branches: include: @@ -40,4 +40,6 @@ extends: - name: azure-health-insights-cancerprofiling groupId: com.azure safeName: azurehealthinsightscancerprofiling - + - name: azure-healthinsights-cancerprofiling + groupId: com.azure + safeName: azurehealthinsightscancerprofiling diff --git a/sdk/healthinsights/pom.xml b/sdk/healthinsights/pom.xml index 1620d1255c4f1..450fa9eaa5a4b 100644 --- a/sdk/healthinsights/pom.xml +++ b/sdk/healthinsights/pom.xml @@ -8,7 +8,8 @@ <packaging>pom</packaging> <version>1.0.0</version><!-- Need not change for every release--> <modules> - <module>azure-health-insights-cancerprofiling</module> - <module>azure-health-insights-clinicalmatching</module> + <module>azure-health-insights-cancerprofiling</module> + <module>azure-health-insights-clinicalmatching</module> + <module>azure-healthinsights-cancerprofiling</module> </modules> </project>