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 &amp; 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: &lt; | &lt;= | &gt;= | &gt; - how to understand the value.
+     * 
+     * @return the comparator value.
+     */
+    @Generated
+    public String getComparator() {
+        return this.comparator;
+    }
+
+    /**
+     * Set the comparator property: &lt; | &lt;= | &gt;= | &gt; - 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 &amp; 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 &amp; 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>