From 23699b2bfb046c32377757df9f119683f997bcda Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Thu, 25 Jan 2024 07:53:41 +0000 Subject: [PATCH] CodeGen from PR 27223 in Azure/azure-rest-api-specs Merge 80a8ba95998d22ebf9fb2e39b352e32fe18a6646 into 4307895c13b5bc76d3d6e5d6346a32577842ac17 --- eng/versioning/version_client.txt | 1 + .../CHANGELOG.md | 13 + .../README.md | 65 + .../assets.json | 6 + .../pom.xml | 94 + .../RadiologyInsightsAsyncClient.java | 326 +++ .../RadiologyInsightsClient.java | 326 +++ .../RadiologyInsightsClientBuilder.java | 322 +++ .../RadiologyInsightsServiceVersion.java | 40 + .../RadiologyInsightsClientImpl.java | 1823 +++++++++++++++++ .../implementation/package-info.java | 12 + .../models/AgeMismatchInference.java | 26 + .../radiologyinsights/models/Annotation.java | 114 ++ .../models/ClinicalDocumentType.java | 95 + .../models/CodeableConcept.java | 140 ++ .../radiologyinsights/models/Coding.java | 198 ++ .../CompleteOrderDiscrepancyInference.java | 86 + .../radiologyinsights/models/Condition.java | 391 ++++ .../models/ConditionStage.java | 57 + .../models/ContactDetail.java | 91 + .../models/ContactPoint.java | 109 + .../models/ContactPointSystem.java | 90 + .../models/ContactPointUse.java | 78 + .../models/CriticalResult.java | 61 + .../models/CriticalResultInference.java | 49 + .../DocumentAdministrativeMetadata.java | 81 + .../models/DocumentAuthor.java | 80 + .../models/DocumentContent.java | 68 + .../models/DocumentContentSourceType.java | 61 + .../models/DocumentType.java | 71 + .../models/DomainResource.java | 178 ++ .../radiologyinsights/models/Encounter.java | 108 + .../models/EncounterClass.java | 91 + .../radiologyinsights/models/Extension.java | 452 ++++ .../models/FindingInference.java | 49 + .../models/FindingOptions.java | 57 + .../FollowupCommunicationInference.java | 85 + .../FollowupRecommendationInference.java | 192 ++ .../models/FollowupRecommendationOptions.java | 122 ++ .../GenericProcedureRecommendation.java | 66 + .../radiologyinsights/models/Identifier.java | 256 +++ .../models/ImagingProcedure.java | 115 ++ .../ImagingProcedureRecommendation.java | 67 + .../LateralityDiscrepancyInference.java | 69 + .../models/LateralityDiscrepancyType.java | 66 + .../LimitedOrderDiscrepancyInference.java | 86 + .../models/MedicalProfessionalType.java | 77 + .../radiologyinsights/models/Meta.java | 223 ++ .../radiologyinsights/models/Narrative.java | 101 + .../radiologyinsights/models/Observation.java | 549 +++++ .../models/ObservationComponent.java | 335 +++ .../models/ObservationReferenceRange.java | 126 ++ .../models/ObservationStatusCodeType.java | 99 + .../models/OrderedProcedure.java | 110 + .../models/PatientDocument.java | 261 +++ .../radiologyinsights/models/PatientInfo.java | 111 + .../models/PatientInfoSex.java | 65 + .../models/PatientRecord.java | 135 ++ .../radiologyinsights/models/PeriodModel.java | 140 ++ .../models/ProcedureRecommendation.java | 33 + .../radiologyinsights/models/Quantity.java | 228 +++ .../models/RadiologyCodeWithTypes.java | 69 + .../models/RadiologyInsightsData.java | 74 + .../models/RadiologyInsightsInference.java | 70 + .../RadiologyInsightsInferenceOptions.java | 81 + .../RadiologyInsightsInferenceResult.java | 67 + .../RadiologyInsightsInferenceType.java | 109 + .../RadiologyInsightsModelConfiguration.java | 176 ++ .../RadiologyInsightsPatientResult.java | 65 + .../models/RadiologyProcedureInference.java | 88 + .../radiologyinsights/models/Range.java | 140 ++ .../radiologyinsights/models/Ratio.java | 140 ++ .../models/RecommendationFinding.java | 97 + .../RecommendationFindingStatusType.java | 71 + .../radiologyinsights/models/Reference.java | 198 ++ .../models/ResearchStudy.java | 436 ++++ .../models/ResearchStudyArm.java | 78 + .../models/ResearchStudyObjective.java | 61 + .../models/ResearchStudyStatusCodeType.java | 120 ++ .../radiologyinsights/models/Resource.java | 206 ++ .../radiologyinsights/models/SampledData.java | 260 +++ .../models/SexMismatchInference.java | 50 + .../models/SpecialtyType.java | 59 + .../radiologyinsights/models/TimePeriod.java | 81 + .../models/package-info.java | 12 + .../radiologyinsights/package-info.java | 12 + .../src/main/java/module-info.java | 13 + ...alth-insights-radiologyinsights.properties | 2 + .../radiologyinsights/ReadmeSamples.java | 12 + .../RadiologyInsightsClientTestBase.java | 37 + .../tsp-location.yaml | 7 + sdk/healthinsights/ci.yml | 6 +- sdk/healthinsights/pom.xml | 5 +- 93 files changed, 12524 insertions(+), 4 deletions(-) create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/CHANGELOG.md create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/README.md create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/assets.json create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/pom.xml create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsAsyncClient.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClient.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClientBuilder.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsServiceVersion.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/RadiologyInsightsClientImpl.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/package-info.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/AgeMismatchInference.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Annotation.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ClinicalDocumentType.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CodeableConcept.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Coding.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CompleteOrderDiscrepancyInference.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Condition.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ConditionStage.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactDetail.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPoint.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPointSystem.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPointUse.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResult.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResultInference.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentAdministrativeMetadata.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentAuthor.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContent.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContentSourceType.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentType.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DomainResource.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Encounter.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/EncounterClass.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Extension.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingInference.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingOptions.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupCommunicationInference.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationInference.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationOptions.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/GenericProcedureRecommendation.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Identifier.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedure.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedureRecommendation.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyInference.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyType.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LimitedOrderDiscrepancyInference.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/MedicalProfessionalType.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Meta.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Narrative.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Observation.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationComponent.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationReferenceRange.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationStatusCodeType.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/OrderedProcedure.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientDocument.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientInfo.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientInfoSex.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientRecord.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PeriodModel.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ProcedureRecommendation.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Quantity.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyCodeWithTypes.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsData.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInference.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceOptions.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceResult.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceType.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsModelConfiguration.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsPatientResult.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyProcedureInference.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Range.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Ratio.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RecommendationFinding.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RecommendationFindingStatusType.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Reference.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudy.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyArm.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyObjective.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyStatusCodeType.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Resource.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SampledData.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SexMismatchInference.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SpecialtyType.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/TimePeriod.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/package-info.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/package-info.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/module-info.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/resources/azure-health-insights-radiologyinsights.properties create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/samples/java/com/azure/health/insights/radiologyinsights/ReadmeSamples.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/src/test/java/com/azure/health/insights/radiologyinsights/generated/RadiologyInsightsClientTestBase.java create mode 100644 sdk/healthinsights/azure-healthinsights-radiologyinsights/tsp-location.yaml diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index c81c6c4feeb36..2d4b2daa2af19 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -197,6 +197,7 @@ 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-ai-vision-imageanalysis;1.0.0-beta.1;1.0.0-beta.2 +com.azure:azure-healthinsights-radiologyinsights;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-radiologyinsights/CHANGELOG.md b/sdk/healthinsights/azure-healthinsights-radiologyinsights/CHANGELOG.md new file mode 100644 index 0000000000000..c780f681fa8da --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/CHANGELOG.md @@ -0,0 +1,13 @@ +# Release History + +## 1.0.0-beta.1 (Unreleased) + +- Azure RadiologyInsights client library for Java. This package contains Microsoft Azure RadiologyInsights client library. + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/README.md b/sdk/healthinsights/azure-healthinsights-radiologyinsights/README.md new file mode 100644 index 0000000000000..f52cab561891e --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/README.md @@ -0,0 +1,65 @@ +# Azure RadiologyInsights client library for Java + +Azure RadiologyInsights client library for Java. + +This package contains Microsoft Azure RadiologyInsights 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-radiologyinsights;current}) +```xml + + com.azure + azure-health-insights-radiologyinsights + 1.0.0-beta.1 + +``` +[//]: # ({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.radiologyinsights.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 + + +[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-radiologyinsights%2FREADME.png) diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/assets.json b/sdk/healthinsights/azure-healthinsights-radiologyinsights/assets.json new file mode 100644 index 0000000000000..5865bf6556228 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/assets.json @@ -0,0 +1,6 @@ +{ + "AssetsRepo" : "Azure/azure-sdk-assets", + "AssetsRepoPrefixPath" : "java", + "TagPrefix" : "java/healthinsights/azure-health-insights-radiologyinsights", + "Tag" : "" +} \ No newline at end of file diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/pom.xml b/sdk/healthinsights/azure-healthinsights-radiologyinsights/pom.xml new file mode 100644 index 0000000000000..e7c426b4b87d1 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/pom.xml @@ -0,0 +1,94 @@ + + + 4.0.0 + + com.azure + azure-client-sdk-parent + 1.7.0 + ../../parents/azure-client-sdk-parent + + + com.azure + azure-health-insights-radiologyinsights + 1.0.0-beta.1 + jar + + Microsoft Azure SDK for RadiologyInsights + This package contains Microsoft Azure RadiologyInsights client library. + https://github.com/Azure/azure-sdk-for-java + + + + The MIT License (MIT) + http://opensource.org/licenses/MIT + repo + + + + + https://github.com/Azure/azure-sdk-for-java + scm:git:git@github.com:Azure/azure-sdk-for-java.git + scm:git:git@github.com:Azure/azure-sdk-for-java.git + HEAD + + + + microsoft + Microsoft + + + + UTF-8 + + + + com.azure + azure-core + 1.45.1 + + + com.azure + azure-core-http-netty + 1.13.11 + + + org.junit.jupiter + junit-jupiter-api + 5.9.3 + test + + + org.junit.jupiter + junit-jupiter-engine + 5.9.3 + test + + + com.azure + azure-core-test + 1.22.1 + test + + + com.azure + azure-identity + 1.11.1 + test + + + org.slf4j + slf4j-simple + 1.7.36 + test + + + com.azure + azure-core-experimental + 1.0.0-beta.46 + + + diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsAsyncClient.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsAsyncClient.java new file mode 100644 index 0000000000000..475720a2314fa --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsAsyncClient.java @@ -0,0 +1,326 @@ +// 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.radiologyinsights; + +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.radiologyinsights.implementation.RadiologyInsightsClientImpl; +import com.azure.health.insights.radiologyinsights.models.RadiologyInsightsData; +import com.azure.health.insights.radiologyinsights.models.RadiologyInsightsInferenceResult; + +/** + * Initializes a new instance of the asynchronous RadiologyInsightsClient type. + */ +@ServiceClient(builder = RadiologyInsightsClientBuilder.class, isAsync = true) +public final class RadiologyInsightsAsyncClient { + @Generated + private final RadiologyInsightsClientImpl serviceClient; + + /** + * Initializes an instance of RadiologyInsightsAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + RadiologyInsightsAsyncClient(RadiologyInsightsClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create Radiology Insights job + * + * Creates a Radiology Insights job with the given request body. + *

+ * Header Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

+ * Request Body Schema + *

+ *
{@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(ageMismatch/lateralityDiscrepancy/sexMismatch/completeOrderDiscrepancy/limitedOrderDiscrepancy/finding/criticalResult/followupRecommendation/followupCommunication/radiologyProcedure) (Optional)
+     *         ]
+     *         inferenceOptions (Optional): {
+     *             followupRecommendation (Optional): {
+     *                 includeRecommendationsWithNoSpecifiedModality: Boolean (Optional)
+     *                 includeRecommendationsInReferences: Boolean (Optional)
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *             finding (Optional): {
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *         }
+     *         locale: String (Optional)
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     id: String (Required)
+     *     status: String (Required)
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * }
+     * }
+ * + * @param radiologyInsightsData Contains the list of patients, and configuration data. + * @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 beginInferRadiologyInsights(BinaryData radiologyInsightsData, + RequestOptions requestOptions) { + return this.serviceClient.beginInferRadiologyInsightsAsync(radiologyInsightsData, requestOptions); + } + + /** + * Create Radiology Insights job + * + * Creates a Radiology Insights job with the given request body. + * + * @param radiologyInsightsData Contains the list of patients, and configuration data. + * @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 + beginInferRadiologyInsights(RadiologyInsightsData radiologyInsightsData) { + // Generated convenience method for beginInferRadiologyInsightsWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginInferRadiologyInsightsWithModelAsync(BinaryData.fromObject(radiologyInsightsData), + requestOptions); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClient.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClient.java new file mode 100644 index 0000000000000..518d9568694fc --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClient.java @@ -0,0 +1,326 @@ +// 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.radiologyinsights; + +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.radiologyinsights.implementation.RadiologyInsightsClientImpl; +import com.azure.health.insights.radiologyinsights.models.RadiologyInsightsData; +import com.azure.health.insights.radiologyinsights.models.RadiologyInsightsInferenceResult; + +/** + * Initializes a new instance of the synchronous RadiologyInsightsClient type. + */ +@ServiceClient(builder = RadiologyInsightsClientBuilder.class) +public final class RadiologyInsightsClient { + @Generated + private final RadiologyInsightsClientImpl serviceClient; + + /** + * Initializes an instance of RadiologyInsightsClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + RadiologyInsightsClient(RadiologyInsightsClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create Radiology Insights job + * + * Creates a Radiology Insights job with the given request body. + *

+ * Header Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

+ * Request Body Schema + *

+ *
{@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(ageMismatch/lateralityDiscrepancy/sexMismatch/completeOrderDiscrepancy/limitedOrderDiscrepancy/finding/criticalResult/followupRecommendation/followupCommunication/radiologyProcedure) (Optional)
+     *         ]
+     *         inferenceOptions (Optional): {
+     *             followupRecommendation (Optional): {
+     *                 includeRecommendationsWithNoSpecifiedModality: Boolean (Optional)
+     *                 includeRecommendationsInReferences: Boolean (Optional)
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *             finding (Optional): {
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *         }
+     *         locale: String (Optional)
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     id: String (Required)
+     *     status: String (Required)
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * }
+     * }
+ * + * @param radiologyInsightsData Contains the list of patients, and configuration data. + * @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 beginInferRadiologyInsights(BinaryData radiologyInsightsData, + RequestOptions requestOptions) { + return this.serviceClient.beginInferRadiologyInsights(radiologyInsightsData, requestOptions); + } + + /** + * Create Radiology Insights job + * + * Creates a Radiology Insights job with the given request body. + * + * @param radiologyInsightsData Contains the list of patients, and configuration data. + * @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 + beginInferRadiologyInsights(RadiologyInsightsData radiologyInsightsData) { + // Generated convenience method for beginInferRadiologyInsightsWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginInferRadiologyInsightsWithModel(BinaryData.fromObject(radiologyInsightsData), + requestOptions); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClientBuilder.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClientBuilder.java new file mode 100644 index 0000000000000..a8ee50d1f43ed --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClientBuilder.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.radiologyinsights; + +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.radiologyinsights.implementation.RadiologyInsightsClientImpl; +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 RadiologyInsightsClient type. + */ +@ServiceClientBuilder(serviceClients = { RadiologyInsightsClient.class, RadiologyInsightsAsyncClient.class }) +public final class RadiologyInsightsClientBuilder + implements HttpTrait, ConfigurationTrait, + KeyCredentialTrait, EndpointTrait { + @Generated + private static final String SDK_NAME = "name"; + + @Generated + private static final String SDK_VERSION = "version"; + + @Generated + private static final Map PROPERTIES + = CoreUtils.getProperties("azure-health-insights-radiologyinsights.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the RadiologyInsightsClientBuilder. + */ + @Generated + public RadiologyInsightsClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public RadiologyInsightsClientBuilder 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 RadiologyInsightsClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public RadiologyInsightsClientBuilder 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 RadiologyInsightsClientBuilder 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 RadiologyInsightsClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public RadiologyInsightsClientBuilder 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 RadiologyInsightsClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The KeyCredential used for authentication. + */ + @Generated + private KeyCredential keyCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public RadiologyInsightsClientBuilder credential(KeyCredential keyCredential) { + this.keyCredential = keyCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public RadiologyInsightsClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private RadiologyInsightsServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the RadiologyInsightsClientBuilder. + */ + @Generated + public RadiologyInsightsClientBuilder serviceVersion(RadiologyInsightsServiceVersion 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 RadiologyInsightsClientBuilder. + */ + @Generated + public RadiologyInsightsClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of RadiologyInsightsClientImpl with the provided parameters. + * + * @return an instance of RadiologyInsightsClientImpl. + */ + @Generated + private RadiologyInsightsClientImpl buildInnerClient() { + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + RadiologyInsightsServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : RadiologyInsightsServiceVersion.getLatest(); + RadiologyInsightsClientImpl client = new RadiologyInsightsClientImpl(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 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(localHttpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient).clientOptions(localClientOptions).build(); + return httpPipeline; + } + + /** + * Builds an instance of RadiologyInsightsAsyncClient class. + * + * @return an instance of RadiologyInsightsAsyncClient. + */ + @Generated + public RadiologyInsightsAsyncClient buildAsyncClient() { + return new RadiologyInsightsAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of RadiologyInsightsClient class. + * + * @return an instance of RadiologyInsightsClient. + */ + @Generated + public RadiologyInsightsClient buildClient() { + return new RadiologyInsightsClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(RadiologyInsightsClientBuilder.class); +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsServiceVersion.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsServiceVersion.java new file mode 100644 index 0000000000000..04b44c9ae470c --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsServiceVersion.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.radiologyinsights; + +import com.azure.core.util.ServiceVersion; + +/** + * Service version of RadiologyInsightsClient. + */ +public enum RadiologyInsightsServiceVersion implements ServiceVersion { + /** + * Enum value 2023-09-01-preview. + */ + V2023_09_01_PREVIEW("2023-09-01-preview"); + + private final String version; + + RadiologyInsightsServiceVersion(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 RadiologyInsightsServiceVersion}. + */ + public static RadiologyInsightsServiceVersion getLatest() { + return V2023_09_01_PREVIEW; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/RadiologyInsightsClientImpl.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/RadiologyInsightsClientImpl.java new file mode 100644 index 0000000000000..bb281fc539ccd --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/RadiologyInsightsClientImpl.java @@ -0,0 +1,1823 @@ +// 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.radiologyinsights.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.radiologyinsights.RadiologyInsightsServiceVersion; +import com.azure.health.insights.radiologyinsights.models.RadiologyInsightsInferenceResult; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.util.UUID; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the RadiologyInsightsClient type. + */ +public final class RadiologyInsightsClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final RadiologyInsightsClientService 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 RadiologyInsightsServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public RadiologyInsightsServiceVersion 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 RadiologyInsightsClient client. + * + * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example: + * https://westus2.api.cognitive.microsoft.com). + * @param serviceVersion Service version. + */ + public RadiologyInsightsClientImpl(String endpoint, RadiologyInsightsServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of RadiologyInsightsClient 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 RadiologyInsightsClientImpl(HttpPipeline httpPipeline, String endpoint, + RadiologyInsightsServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of RadiologyInsightsClient 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 RadiologyInsightsClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, + RadiologyInsightsServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service + = RestProxy.create(RadiologyInsightsClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for RadiologyInsightsClient to be used by the proxy service to perform + * REST calls. + */ + @Host("{endpoint}/health-insights") + @ServiceInterface(name = "RadiologyInsightsCli") + public interface RadiologyInsightsClientService { + @Post("/radiology-insights/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> inferRadiologyInsights(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData radiologyInsightsData, RequestOptions requestOptions, + Context context); + + @Post("/radiology-insights/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 inferRadiologyInsightsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData radiologyInsightsData, RequestOptions requestOptions, + Context context); + } + + /** + * Create Radiology Insights job + * + * Creates a Radiology Insights job with the given request body. + *

+ * Header Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

+ * Request Body Schema + *

+ *
{@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(ageMismatch/lateralityDiscrepancy/sexMismatch/completeOrderDiscrepancy/limitedOrderDiscrepancy/finding/criticalResult/followupRecommendation/followupCommunication/radiologyProcedure) (Optional)
+     *         ]
+     *         inferenceOptions (Optional): {
+     *             followupRecommendation (Optional): {
+     *                 includeRecommendationsWithNoSpecifiedModality: Boolean (Optional)
+     *                 includeRecommendationsInReferences: Boolean (Optional)
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *             finding (Optional): {
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *         }
+     *         locale: String (Optional)
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     id: String (Required)
+     *     status: String (Required)
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * }
+     * }
+ * + * @param radiologyInsightsData Contains the list of patients, and configuration data. + * @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> inferRadiologyInsightsWithResponseAsync(BinaryData radiologyInsightsData, + 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.inferRadiologyInsights(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, radiologyInsightsData, requestOptionsLocal, context)); + } + + /** + * Create Radiology Insights job + * + * Creates a Radiology Insights job with the given request body. + *

+ * Header Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

+ * Request Body Schema + *

+ *
{@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(ageMismatch/lateralityDiscrepancy/sexMismatch/completeOrderDiscrepancy/limitedOrderDiscrepancy/finding/criticalResult/followupRecommendation/followupCommunication/radiologyProcedure) (Optional)
+     *         ]
+     *         inferenceOptions (Optional): {
+     *             followupRecommendation (Optional): {
+     *                 includeRecommendationsWithNoSpecifiedModality: Boolean (Optional)
+     *                 includeRecommendationsInReferences: Boolean (Optional)
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *             finding (Optional): {
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *         }
+     *         locale: String (Optional)
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     id: String (Required)
+     *     status: String (Required)
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * }
+     * }
+ * + * @param radiologyInsightsData Contains the list of patients, and configuration data. + * @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 inferRadiologyInsightsWithResponse(BinaryData radiologyInsightsData, + 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.inferRadiologyInsightsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + radiologyInsightsData, requestOptionsLocal, Context.NONE); + } + + /** + * Create Radiology Insights job + * + * Creates a Radiology Insights job with the given request body. + *

+ * Header Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

+ * Request Body Schema + *

+ *
{@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(ageMismatch/lateralityDiscrepancy/sexMismatch/completeOrderDiscrepancy/limitedOrderDiscrepancy/finding/criticalResult/followupRecommendation/followupCommunication/radiologyProcedure) (Optional)
+     *         ]
+     *         inferenceOptions (Optional): {
+     *             followupRecommendation (Optional): {
+     *                 includeRecommendationsWithNoSpecifiedModality: Boolean (Optional)
+     *                 includeRecommendationsInReferences: Boolean (Optional)
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *             finding (Optional): {
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *         }
+     *         locale: String (Optional)
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     id: String (Required)
+     *     status: String (Required)
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * }
+     * }
+ * + * @param radiologyInsightsData Contains the list of patients, and configuration data. + * @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 beginInferRadiologyInsightsAsync(BinaryData radiologyInsightsData, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.inferRadiologyInsightsWithResponseAsync(radiologyInsightsData, 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 Radiology Insights job + * + * Creates a Radiology Insights job with the given request body. + *

+ * Header Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

+ * Request Body Schema + *

+ *
{@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(ageMismatch/lateralityDiscrepancy/sexMismatch/completeOrderDiscrepancy/limitedOrderDiscrepancy/finding/criticalResult/followupRecommendation/followupCommunication/radiologyProcedure) (Optional)
+     *         ]
+     *         inferenceOptions (Optional): {
+     *             followupRecommendation (Optional): {
+     *                 includeRecommendationsWithNoSpecifiedModality: Boolean (Optional)
+     *                 includeRecommendationsInReferences: Boolean (Optional)
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *             finding (Optional): {
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *         }
+     *         locale: String (Optional)
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     id: String (Required)
+     *     status: String (Required)
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * }
+     * }
+ * + * @param radiologyInsightsData Contains the list of patients, and configuration data. + * @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 beginInferRadiologyInsights(BinaryData radiologyInsightsData, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.inferRadiologyInsightsWithResponse(radiologyInsightsData, 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 Radiology Insights job + * + * Creates a Radiology Insights job with the given request body. + *

+ * Header Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

+ * Request Body Schema + *

+ *
{@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(ageMismatch/lateralityDiscrepancy/sexMismatch/completeOrderDiscrepancy/limitedOrderDiscrepancy/finding/criticalResult/followupRecommendation/followupCommunication/radiologyProcedure) (Optional)
+     *         ]
+     *         inferenceOptions (Optional): {
+     *             followupRecommendation (Optional): {
+     *                 includeRecommendationsWithNoSpecifiedModality: Boolean (Optional)
+     *                 includeRecommendationsInReferences: Boolean (Optional)
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *             finding (Optional): {
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *         }
+     *         locale: String (Optional)
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     id: String (Required)
+     *     status: String (Required)
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * }
+     * }
+ * + * @param radiologyInsightsData Contains the list of patients, and configuration data. + * @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 + beginInferRadiologyInsightsWithModelAsync(BinaryData radiologyInsightsData, RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.inferRadiologyInsightsWithResponseAsync(radiologyInsightsData, 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(RadiologyInsightsInferenceResult.class)); + } + + /** + * Create Radiology Insights job + * + * Creates a Radiology Insights job with the given request body. + *

+ * Header Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

+ * Request Body Schema + *

+ *
{@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(ageMismatch/lateralityDiscrepancy/sexMismatch/completeOrderDiscrepancy/limitedOrderDiscrepancy/finding/criticalResult/followupRecommendation/followupCommunication/radiologyProcedure) (Optional)
+     *         ]
+     *         inferenceOptions (Optional): {
+     *             followupRecommendation (Optional): {
+     *                 includeRecommendationsWithNoSpecifiedModality: Boolean (Optional)
+     *                 includeRecommendationsInReferences: Boolean (Optional)
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *             finding (Optional): {
+     *                 provideFocusedSentenceEvidence: Boolean (Optional)
+     *             }
+     *         }
+     *         locale: String (Optional)
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     id: String (Required)
+     *     status: String (Required)
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         target: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * }
+     * }
+ * + * @param radiologyInsightsData Contains the list of patients, and configuration data. + * @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 + beginInferRadiologyInsightsWithModel(BinaryData radiologyInsightsData, RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.inferRadiologyInsightsWithResponse(radiologyInsightsData, 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(RadiologyInsightsInferenceResult.class)); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/package-info.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/package-info.java new file mode 100644 index 0000000000000..ba4ff58ff341c --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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. + +/** + * + * Package containing the implementations for RadiologyInsights. + * Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that + * perform analysis and provide inferences to be used by a human. + * + */ +package com.azure.health.insights.radiologyinsights.implementation; diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/AgeMismatchInference.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/AgeMismatchInference.java new file mode 100644 index 0000000000000..79b6da4b9d308 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/AgeMismatchInference.java @@ -0,0 +1,26 @@ +// 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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * A notification for age mismatch is displayed when the age mentioned in a document for a specific patient does not + * match the age specified in the patient information. + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("ageMismatch") +@Immutable +public final class AgeMismatchInference extends RadiologyInsightsInference { + /** + * Creates an instance of AgeMismatchInference class. + */ + @Generated + private AgeMismatchInference() { + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Annotation.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Annotation.java new file mode 100644 index 0000000000000..c3ee7f3c5d476 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Annotation.java @@ -0,0 +1,114 @@ +// 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.radiologyinsights.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; + +/** + * 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). + */ +@Immutable +public final class Annotation { + /* + * 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; + + /* + * 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 + private Annotation(@JsonProperty(value = "text") String text) { + this.text = text; + } + + /** + * Get the id property: Unique id for inter-element referencing. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Get the authorString property: Individual responsible for the annotation. + * + * @return the authorString value. + */ + @Generated + public String getAuthorString() { + return this.authorString; + } + + /** + * Get the time property: When the annotation was made. + * + * @return the time value. + */ + @Generated + public String getTime() { + return this.time; + } + + /** + * Get the text property: The annotation - text content (as markdown). + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ClinicalDocumentType.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ClinicalDocumentType.java new file mode 100644 index 0000000000000..b48f27f368e78 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 { + /** + * 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 values() { + return values(ClinicalDocumentType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CodeableConcept.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CodeableConcept.java new file mode 100644 index 0000000000000..0a750de3197c0 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CodeableConcept.java @@ -0,0 +1,140 @@ +// 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.radiologyinsights.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 { + /* + * 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; + + /* + * Code defined by a terminology system + */ + @Generated + @JsonProperty(value = "coding") + private List 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 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 CodeableConcept object itself. + */ + @Generated + public CodeableConcept setId(String id) { + this.id = id; + return this; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the CodeableConcept object itself. + */ + @Generated + public CodeableConcept setExtension(List extension) { + this.extension = extension; + return this; + } + + /** + * Get the coding property: Code defined by a terminology system. + * + * @return the coding value. + */ + @Generated + public List 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) { + 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; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Coding.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Coding.java new file mode 100644 index 0000000000000..544e48360ccb7 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Coding.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.radiologyinsights.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 { + /* + * 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; + + /* + * 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 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 Coding object itself. + */ + @Generated + public Coding setId(String id) { + this.id = id; + return this; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the Coding object itself. + */ + @Generated + public Coding setExtension(List extension) { + this.extension = extension; + return this; + } + + /** + * 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; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CompleteOrderDiscrepancyInference.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CompleteOrderDiscrepancyInference.java new file mode 100644 index 0000000000000..1268cd582882c --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CompleteOrderDiscrepancyInference.java @@ -0,0 +1,86 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.List; + +/** + * A complete order discrepancy is shown when one or more body parts and/or measurements that should be in the document + * (because there is a complete order) are not present. + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("completeOrderDiscrepancy") +@Immutable +public final class CompleteOrderDiscrepancyInference extends RadiologyInsightsInference { + /* + * Order type : CPT ultrasound complete code for abdomen, retroperitoneal, pelvis or breast. + */ + @Generated + @JsonProperty(value = "orderType") + private CodeableConcept orderType; + + /* + * List of missing body parts required by a complete order : SNOMED CT codes. + */ + @Generated + @JsonProperty(value = "missingBodyParts") + private List missingBodyParts; + + /* + * List of missing body parts that require measurement by a complete order : SNOMED CT codes. + */ + @Generated + @JsonProperty(value = "missingBodyPartMeasurements") + private List missingBodyPartMeasurements; + + /** + * Creates an instance of CompleteOrderDiscrepancyInference class. + * + * @param orderType the orderType value to set. + */ + @Generated + @JsonCreator + private CompleteOrderDiscrepancyInference(@JsonProperty(value = "orderType") CodeableConcept orderType) { + this.orderType = orderType; + } + + /** + * Get the orderType property: Order type : CPT ultrasound complete code for abdomen, retroperitoneal, pelvis or + * breast. + * + * @return the orderType value. + */ + @Generated + public CodeableConcept getOrderType() { + return this.orderType; + } + + /** + * Get the missingBodyParts property: List of missing body parts required by a complete order : SNOMED CT codes. + * + * @return the missingBodyParts value. + */ + @Generated + public List getMissingBodyParts() { + return this.missingBodyParts; + } + + /** + * Get the missingBodyPartMeasurements property: List of missing body parts that require measurement by a complete + * order : SNOMED CT codes. + * + * @return the missingBodyPartMeasurements value. + */ + @Generated + public List getMissingBodyPartMeasurements() { + return this.missingBodyPartMeasurements; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Condition.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Condition.java new file mode 100644 index 0000000000000..46af27bad3aec --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Condition.java @@ -0,0 +1,391 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.List; + +/** + * Detailed information about conditions, problems or diagnoses + * Based on [FHIR Condition](https://www.hl7.org/fhir/R4/condition.html). + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "resourceType") +@JsonTypeName("Condition") +@Immutable +public final class Condition extends DomainResource { + /* + * External Ids for this condition + */ + @Generated + @JsonProperty(value = "identifier") + private List identifier; + + /* + * active | recurrence | relapse | inactive | remission | resolved + */ + @Generated + @JsonProperty(value = "clinicalStatus") + private CodeableConcept clinicalStatus; + + /* + * unconfirmed | provisional | differential | confirmed | refuted | entered-in-error + */ + @Generated + @JsonProperty(value = "verificationStatus") + private CodeableConcept verificationStatus; + + /* + * problem-list-item | encounter-diagnosis + */ + @Generated + @JsonProperty(value = "category") + private List category; + + /* + * Subjective severity of condition + */ + @Generated + @JsonProperty(value = "severity") + private CodeableConcept severity; + + /* + * Identification of the condition, problem or diagnosis + */ + @Generated + @JsonProperty(value = "code") + private CodeableConcept code; + + /* + * Anatomical location, if relevant + */ + @Generated + @JsonProperty(value = "bodySite") + private List bodySite; + + /* + * Encounter created as part of + */ + @Generated + @JsonProperty(value = "encounter") + private Reference encounter; + + /* + * Estimated or actual date, date-time, or age + */ + @Generated + @JsonProperty(value = "onsetDateTime") + private String onsetDateTime; + + /* + * Estimated or actual date, date-time, or age + */ + @Generated + @JsonProperty(value = "onsetAge") + private Quantity onsetAge; + + /* + * Estimated or actual date, date-time, or age + */ + @Generated + @JsonProperty(value = "onsetPeriod") + private PeriodModel onsetPeriod; + + /* + * Estimated or actual date, date-time, or age + */ + @Generated + @JsonProperty(value = "onsetRange") + private Range onsetRange; + + /* + * Estimated or actual date, date-time, or age + */ + @Generated + @JsonProperty(value = "onsetString") + private String onsetString; + + /* + * When in resolution/remission + */ + @Generated + @JsonProperty(value = "abatementDateTime") + private String abatementDateTime; + + /* + * When in resolution/remission + */ + @Generated + @JsonProperty(value = "abatementAge") + private Quantity abatementAge; + + /* + * When in resolution/remission + */ + @Generated + @JsonProperty(value = "abatementPeriod") + private PeriodModel abatementPeriod; + + /* + * When in resolution/remission + */ + @Generated + @JsonProperty(value = "abatementRange") + private Range abatementRange; + + /* + * When in resolution/remission + */ + @Generated + @JsonProperty(value = "abatementString") + private String abatementString; + + /* + * Date record was first recorded + */ + @Generated + @JsonProperty(value = "recordedDate") + private String recordedDate; + + /* + * stge/grade, usually assessed formally + */ + @Generated + @JsonProperty(value = "stage") + private List stage; + + /* + * Additional information about the Condition + */ + @Generated + @JsonProperty(value = "note") + private List note; + + /** + * Creates an instance of Condition class. + * + * @param resourceType the resourceType value to set. + */ + @Generated + @JsonCreator + private Condition(@JsonProperty(value = "resourceType") String resourceType) { + super(resourceType); + } + + /** + * Get the identifier property: External Ids for this condition. + * + * @return the identifier value. + */ + @Generated + public List getIdentifier() { + return this.identifier; + } + + /** + * Get the clinicalStatus property: active | recurrence | relapse | inactive | remission | resolved. + * + * @return the clinicalStatus value. + */ + @Generated + public CodeableConcept getClinicalStatus() { + return this.clinicalStatus; + } + + /** + * Get the verificationStatus property: unconfirmed | provisional | differential | confirmed | refuted | + * entered-in-error. + * + * @return the verificationStatus value. + */ + @Generated + public CodeableConcept getVerificationStatus() { + return this.verificationStatus; + } + + /** + * Get the category property: problem-list-item | encounter-diagnosis. + * + * @return the category value. + */ + @Generated + public List getCategory() { + return this.category; + } + + /** + * Get the severity property: Subjective severity of condition. + * + * @return the severity value. + */ + @Generated + public CodeableConcept getSeverity() { + return this.severity; + } + + /** + * Get the code property: Identification of the condition, problem or diagnosis. + * + * @return the code value. + */ + @Generated + public CodeableConcept getCode() { + return this.code; + } + + /** + * Get the bodySite property: Anatomical location, if relevant. + * + * @return the bodySite value. + */ + @Generated + public List getBodySite() { + return this.bodySite; + } + + /** + * Get the encounter property: Encounter created as part of. + * + * @return the encounter value. + */ + @Generated + public Reference getEncounter() { + return this.encounter; + } + + /** + * Get the onsetDateTime property: Estimated or actual date, date-time, or age. + * + * @return the onsetDateTime value. + */ + @Generated + public String getOnsetDateTime() { + return this.onsetDateTime; + } + + /** + * Get the onsetAge property: Estimated or actual date, date-time, or age. + * + * @return the onsetAge value. + */ + @Generated + public Quantity getOnsetAge() { + return this.onsetAge; + } + + /** + * Get the onsetPeriod property: Estimated or actual date, date-time, or age. + * + * @return the onsetPeriod value. + */ + @Generated + public PeriodModel getOnsetPeriod() { + return this.onsetPeriod; + } + + /** + * Get the onsetRange property: Estimated or actual date, date-time, or age. + * + * @return the onsetRange value. + */ + @Generated + public Range getOnsetRange() { + return this.onsetRange; + } + + /** + * Get the onsetString property: Estimated or actual date, date-time, or age. + * + * @return the onsetString value. + */ + @Generated + public String getOnsetString() { + return this.onsetString; + } + + /** + * Get the abatementDateTime property: When in resolution/remission. + * + * @return the abatementDateTime value. + */ + @Generated + public String getAbatementDateTime() { + return this.abatementDateTime; + } + + /** + * Get the abatementAge property: When in resolution/remission. + * + * @return the abatementAge value. + */ + @Generated + public Quantity getAbatementAge() { + return this.abatementAge; + } + + /** + * Get the abatementPeriod property: When in resolution/remission. + * + * @return the abatementPeriod value. + */ + @Generated + public PeriodModel getAbatementPeriod() { + return this.abatementPeriod; + } + + /** + * Get the abatementRange property: When in resolution/remission. + * + * @return the abatementRange value. + */ + @Generated + public Range getAbatementRange() { + return this.abatementRange; + } + + /** + * Get the abatementString property: When in resolution/remission. + * + * @return the abatementString value. + */ + @Generated + public String getAbatementString() { + return this.abatementString; + } + + /** + * Get the recordedDate property: Date record was first recorded. + * + * @return the recordedDate value. + */ + @Generated + public String getRecordedDate() { + return this.recordedDate; + } + + /** + * Get the stage property: stge/grade, usually assessed formally. + * + * @return the stage value. + */ + @Generated + public List getStage() { + return this.stage; + } + + /** + * Get the note property: Additional information about the Condition. + * + * @return the note value. + */ + @Generated + public List getNote() { + return this.note; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ConditionStage.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ConditionStage.java new file mode 100644 index 0000000000000..e747970386ed7 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ConditionStage.java @@ -0,0 +1,57 @@ +// 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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Stage/grade, usually assessed formally + * Based on [FHIR Condition.Stage](https://www.hl7.org/fhir/R4/condition.html). + */ +@Immutable +public final class ConditionStage { + /* + * Simple summary (disease specific) + */ + @Generated + @JsonProperty(value = "summary") + private CodeableConcept summary; + + /* + * Kind of staging + */ + @Generated + @JsonProperty(value = "type") + private CodeableConcept type; + + /** + * Creates an instance of ConditionStage class. + */ + @Generated + private ConditionStage() { + } + + /** + * Get the summary property: Simple summary (disease specific). + * + * @return the summary value. + */ + @Generated + public CodeableConcept getSummary() { + return this.summary; + } + + /** + * Get the type property: Kind of staging. + * + * @return the type value. + */ + @Generated + public CodeableConcept getType() { + return this.type; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactDetail.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactDetail.java new file mode 100644 index 0000000000000..9db35ef14aac7 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactDetail.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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Contact details (See: https://www.hl7.org/fhir/R4/metadatatypes.html#ContactDetail). + */ +@Immutable +public final class ContactDetail { + /* + * 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; + + /* + * 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 telecom; + + /** + * Creates an instance of ContactDetail class. + */ + @Generated + private ContactDetail() { + } + + /** + * Get the id property: Unique id for inter-element referencing. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Get the name property: Name of an individual to contact. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the telecom property: Contact details for individual or organization. + * + * @return the telecom value. + */ + @Generated + public List getTelecom() { + return this.telecom; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPoint.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPoint.java new file mode 100644 index 0000000000000..4b4761056c75b --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPoint.java @@ -0,0 +1,109 @@ +// 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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +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. + */ +@Immutable +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 + private ContactPoint() { + } + + /** + * Get the system property: phone | fax | email | pager | url | sms | other. + * + * @return the system value. + */ + @Generated + public ContactPointSystem getSystem() { + return this.system; + } + + /** + * Get the value property: The actual contact point details. + * + * @return the value value. + */ + @Generated + public String getValue() { + return this.value; + } + + /** + * 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; + } + + /** + * Get the rank property: Specify preferred order of use (1 = highest). + * + * @return the rank value. + */ + @Generated + public Integer getRank() { + return this.rank; + } + + /** + * 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; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPointSystem.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPointSystem.java new file mode 100644 index 0000000000000..ee8886c523008 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 { + /** + * 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 values() { + return values(ContactPointSystem.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPointUse.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPointUse.java new file mode 100644 index 0000000000000..3658a0a21d3a6 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 { + /** + * 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 values() { + return values(ContactPointUse.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResult.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResult.java new file mode 100644 index 0000000000000..8b107650bb232 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResult.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.radiologyinsights.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; + +/** + * Critical Result consists of two properties. + */ +@Immutable +public final class CriticalResult { + /* + * Description : medical problem. + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /* + * Finding linked to the critical result. + */ + @Generated + @JsonProperty(value = "finding") + private Observation finding; + + /** + * Creates an instance of CriticalResult class. + * + * @param description the description value to set. + */ + @Generated + @JsonCreator + private CriticalResult(@JsonProperty(value = "description") String description) { + this.description = description; + } + + /** + * Get the description property: Description : medical problem. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the finding property: Finding linked to the critical result. + * + * @return the finding value. + */ + @Generated + public Observation getFinding() { + return this.finding; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResultInference.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResultInference.java new file mode 100644 index 0000000000000..c698242148f24 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResultInference.java @@ -0,0 +1,49 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * Critical results refer to findings of utmost importance that may require timely attention due to their potential + * impact on patient care. + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("criticalResult") +@Immutable +public final class CriticalResultInference extends RadiologyInsightsInference { + /* + * The complete Critical Result, as outlined below, will be reused for the recommendation. + */ + @Generated + @JsonProperty(value = "result") + private CriticalResult result; + + /** + * Creates an instance of CriticalResultInference class. + * + * @param result the result value to set. + */ + @Generated + @JsonCreator + private CriticalResultInference(@JsonProperty(value = "result") CriticalResult result) { + this.result = result; + } + + /** + * Get the result property: The complete Critical Result, as outlined below, will be reused for the recommendation. + * + * @return the result value. + */ + @Generated + public CriticalResult getResult() { + return this.result; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentAdministrativeMetadata.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentAdministrativeMetadata.java new file mode 100644 index 0000000000000..aa4fbf7c7a911 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 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 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 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-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentAuthor.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentAuthor.java new file mode 100644 index 0000000000000..69786e06f3a64 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContent.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContent.java new file mode 100644 index 0000000000000..6566f89e09e07 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContentSourceType.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContentSourceType.java new file mode 100644 index 0000000000000..6b3940533c561 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 { + /** + * 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 values() { + return values(DocumentContentSourceType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentType.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentType.java new file mode 100644 index 0000000000000..d7833c6728922 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 { + /** + * 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 values() { + return values(DocumentType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DomainResource.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DomainResource.java new file mode 100644 index 0000000000000..cda2655b985b8 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DomainResource.java @@ -0,0 +1,178 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.List; + +/** + * A resource with narrative, extensions, and contained resources + * Based on [FHIR DomainResource](https://www.hl7.org/fhir/domainresource.html). + */ +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "resourceType", + defaultImpl = DomainResource.class) +@JsonTypeName("DomainResource") +@JsonSubTypes({ + @JsonSubTypes.Type(name = "Condition", value = Condition.class), + @JsonSubTypes.Type(name = "ResearchStudy", value = ResearchStudy.class), + @JsonSubTypes.Type(name = "Observation", value = Observation.class) }) +@Immutable +public class DomainResource extends Resource { + /* + * 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; + + /* + * Text summary of the resource, for human interpretation + */ + @Generated + @JsonProperty(value = "text") + private Narrative text; + + /* + * Contained, inline Resources + */ + @Generated + @JsonProperty(value = "contained") + private List contained; + + /* + * Additional Content defined by implementations + */ + @Generated + @JsonProperty(value = "extension") + private List extension; + + /* + * Extensions that cannot be ignored + */ + @Generated + @JsonProperty(value = "modifierExtension") + private List modifierExtension; + + /** + * Creates an instance of DomainResource class. + * + * @param resourceType the resourceType value to set. + */ + @Generated + @JsonCreator + protected DomainResource(@JsonProperty(value = "resourceType") String resourceType) { + super(resourceType); + } + + /** + * Get the id property: Resource Id. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the meta property: Metadata about the resource. + * + * @return the meta value. + */ + @Generated + public Meta getMeta() { + return this.meta; + } + + /** + * 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; + } + + /** + * Get the language property: Language of the resource content. + * + * @return the language value. + */ + @Generated + public String getLanguage() { + return this.language; + } + + /** + * Get the text property: Text summary of the resource, for human interpretation. + * + * @return the text value. + */ + @Generated + public Narrative getText() { + return this.text; + } + + /** + * Get the contained property: Contained, inline Resources. + * + * @return the contained value. + */ + @Generated + public List getContained() { + return this.contained; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Get the modifierExtension property: Extensions that cannot be ignored. + * + * @return the modifierExtension value. + */ + @Generated + public List getModifierExtension() { + return this.modifierExtension; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Encounter.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Encounter.java new file mode 100644 index 0000000000000..5eea6cd67db94 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/EncounterClass.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/EncounterClass.java new file mode 100644 index 0000000000000..bb5bb92b03f7d --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 { + /** + * 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 values() { + return values(EncounterClass.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Extension.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Extension.java new file mode 100644 index 0000000000000..79b757be80367 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Extension.java @@ -0,0 +1,452 @@ +// 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.radiologyinsights.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 { + /* + * 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; + + /* + * 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 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 Extension object itself. + */ + @Generated + public Extension setId(String id) { + this.id = id; + return this; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the Extension object itself. + */ + @Generated + public Extension setExtension(List extension) { + this.extension = extension; + return this; + } + + /** + * 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; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingInference.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingInference.java new file mode 100644 index 0000000000000..9ecc573ef2a0e --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingInference.java @@ -0,0 +1,49 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * Findings in a radiology report typically describe abnormalities, lesions, or other notable observations related to + * the anatomy or pathology of the imaged area. + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("finding") +@Immutable +public final class FindingInference extends RadiologyInsightsInference { + /* + * Finding data : contains extensions, fields and components linked with the finding. + */ + @Generated + @JsonProperty(value = "finding") + private Observation finding; + + /** + * Creates an instance of FindingInference class. + * + * @param finding the finding value to set. + */ + @Generated + @JsonCreator + private FindingInference(@JsonProperty(value = "finding") Observation finding) { + this.finding = finding; + } + + /** + * Get the finding property: Finding data : contains extensions, fields and components linked with the finding. + * + * @return the finding value. + */ + @Generated + public Observation getFinding() { + return this.finding; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingOptions.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingOptions.java new file mode 100644 index 0000000000000..6681eca654e3f --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingOptions.java @@ -0,0 +1,57 @@ +// 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.radiologyinsights.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Finding options. + */ +@Fluent +public final class FindingOptions { + /* + * If this is true, provide the sentence that contains the first token of the finding's clinical indicator (i.e. + * the medical problem), if there is one. This sentence is provided as an extension with url 'ci_sentence', next to + * the token evidence. Default is false. + */ + @Generated + @JsonProperty(value = "provideFocusedSentenceEvidence") + private Boolean provideFocusedSentenceEvidence; + + /** + * Creates an instance of FindingOptions class. + */ + @Generated + public FindingOptions() { + } + + /** + * Get the provideFocusedSentenceEvidence property: If this is true, provide the sentence that contains the first + * token of the finding's clinical indicator (i.e. the medical problem), if there is one. This sentence is provided + * as an extension with url 'ci_sentence', next to the token evidence. Default is false. + * + * @return the provideFocusedSentenceEvidence value. + */ + @Generated + public Boolean isProvideFocusedSentenceEvidence() { + return this.provideFocusedSentenceEvidence; + } + + /** + * Set the provideFocusedSentenceEvidence property: If this is true, provide the sentence that contains the first + * token of the finding's clinical indicator (i.e. the medical problem), if there is one. This sentence is provided + * as an extension with url 'ci_sentence', next to the token evidence. Default is false. + * + * @param provideFocusedSentenceEvidence the provideFocusedSentenceEvidence value to set. + * @return the FindingOptions object itself. + */ + @Generated + public FindingOptions setProvideFocusedSentenceEvidence(Boolean provideFocusedSentenceEvidence) { + this.provideFocusedSentenceEvidence = provideFocusedSentenceEvidence; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupCommunicationInference.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupCommunicationInference.java new file mode 100644 index 0000000000000..e10d29bc37797 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupCommunicationInference.java @@ -0,0 +1,85 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.time.OffsetDateTime; +import java.util.List; + +/** + * Follow-up communication involves the exchange of important information, recommendations, or updates between + * radiologists and other healthcare professionals involved in a patient's care. + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("followupCommunication") +@Immutable +public final class FollowupCommunicationInference extends RadiologyInsightsInference { + /* + * Communication date and time. + */ + @Generated + @JsonProperty(value = "dateTime") + private List dateTime; + + /* + * Recipient of the communication. + */ + @Generated + @JsonProperty(value = "recipient") + private List recipient; + + /* + * Communication was acknowledged. + */ + @Generated + @JsonProperty(value = "wasAcknowledged") + private boolean wasAcknowledged; + + /** + * Creates an instance of FollowupCommunicationInference class. + * + * @param wasAcknowledged the wasAcknowledged value to set. + */ + @Generated + @JsonCreator + private FollowupCommunicationInference(@JsonProperty(value = "wasAcknowledged") boolean wasAcknowledged) { + this.wasAcknowledged = wasAcknowledged; + } + + /** + * Get the dateTime property: Communication date and time. + * + * @return the dateTime value. + */ + @Generated + public List getDateTime() { + return this.dateTime; + } + + /** + * Get the recipient property: Recipient of the communication. + * + * @return the recipient value. + */ + @Generated + public List getRecipient() { + return this.recipient; + } + + /** + * Get the wasAcknowledged property: Communication was acknowledged. + * + * @return the wasAcknowledged value. + */ + @Generated + public boolean isWasAcknowledged() { + return this.wasAcknowledged; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationInference.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationInference.java new file mode 100644 index 0000000000000..c2b6275e17240 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationInference.java @@ -0,0 +1,192 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.List; + +/** + * Follow-up recommendations offer guidance to healthcare providers on managing and monitoring patients based on the + * findings of imaging studies. + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("followupRecommendation") +@Immutable +public final class FollowupRecommendationInference extends RadiologyInsightsInference { + /* + * Date and time are displayed when the procedure is recommended to be done at a specific point in time. + */ + @Generated + @JsonProperty(value = "effectiveDateTime") + private String effectiveDateTime; + + /* + * The period is shown if a specific period is mentioned, with a start and end date-time. + */ + @Generated + @JsonProperty(value = "effectivePeriod") + private PeriodModel effectivePeriod; + + /* + * Findings related to the recommendation. + */ + @Generated + @JsonProperty(value = "findings") + private List findings; + + /* + * The conditional value indicates whether or not the sentence containing the recommendation includes a conditional + * statement. Keywords for conditional statements include 'if', 'when', 'unless', and so on. + */ + @Generated + @JsonProperty(value = "isConditional") + private boolean isConditional; + + /* + * The option value indicates whether or not the sentence containing the recommendation includes an optional + * statement. Keywords for optional statements include 'recommend', 'consider', and so on. + */ + @Generated + @JsonProperty(value = "isOption") + private boolean isOption; + + /* + * The guideline value indicates whether or not the recommendation is part of a guideline section that compiles all + * recommendations applicable to various findings. + */ + @Generated + @JsonProperty(value = "isGuideline") + private boolean isGuideline; + + /* + * Hedging refers to ambiguous, vague or imprecise language within the sentence of the recommendation. Keywords for + * hedging are 'can be','may be',and so on. + */ + @Generated + @JsonProperty(value = "isHedging") + private boolean isHedging; + + /* + * The procedure recommendation can be a generic procedure or an imaging procedure. + */ + @Generated + @JsonProperty(value = "recommendedProcedure") + private ProcedureRecommendation recommendedProcedure; + + /** + * Creates an instance of FollowupRecommendationInference class. + * + * @param isConditional the isConditional value to set. + * @param isOption the isOption value to set. + * @param isGuideline the isGuideline value to set. + * @param isHedging the isHedging value to set. + * @param recommendedProcedure the recommendedProcedure value to set. + */ + @Generated + @JsonCreator + private FollowupRecommendationInference(@JsonProperty(value = "isConditional") boolean isConditional, + @JsonProperty(value = "isOption") boolean isOption, @JsonProperty(value = "isGuideline") boolean isGuideline, + @JsonProperty(value = "isHedging") boolean isHedging, + @JsonProperty(value = "recommendedProcedure") ProcedureRecommendation recommendedProcedure) { + this.isConditional = isConditional; + this.isOption = isOption; + this.isGuideline = isGuideline; + this.isHedging = isHedging; + this.recommendedProcedure = recommendedProcedure; + } + + /** + * Get the effectiveDateTime property: Date and time are displayed when the procedure is recommended to be done at + * a specific point in time. + * + * @return the effectiveDateTime value. + */ + @Generated + public String getEffectiveDateTime() { + return this.effectiveDateTime; + } + + /** + * Get the effectivePeriod property: The period is shown if a specific period is mentioned, with a start and end + * date-time. + * + * @return the effectivePeriod value. + */ + @Generated + public PeriodModel getEffectivePeriod() { + return this.effectivePeriod; + } + + /** + * Get the findings property: Findings related to the recommendation. + * + * @return the findings value. + */ + @Generated + public List getFindings() { + return this.findings; + } + + /** + * Get the isConditional property: The conditional value indicates whether or not the sentence containing the + * recommendation includes a conditional statement. Keywords for conditional statements include 'if', 'when', + * 'unless', and so on. + * + * @return the isConditional value. + */ + @Generated + public boolean isConditional() { + return this.isConditional; + } + + /** + * Get the isOption property: The option value indicates whether or not the sentence containing the recommendation + * includes an optional statement. Keywords for optional statements include 'recommend', 'consider', and so on. + * + * @return the isOption value. + */ + @Generated + public boolean isOption() { + return this.isOption; + } + + /** + * Get the isGuideline property: The guideline value indicates whether or not the recommendation is part of a + * guideline section that compiles all recommendations applicable to various findings. + * + * @return the isGuideline value. + */ + @Generated + public boolean isGuideline() { + return this.isGuideline; + } + + /** + * Get the isHedging property: Hedging refers to ambiguous, vague or imprecise language within the sentence of the + * recommendation. Keywords for hedging are 'can be','may be',and so on. + * + * @return the isHedging value. + */ + @Generated + public boolean isHedging() { + return this.isHedging; + } + + /** + * Get the recommendedProcedure property: The procedure recommendation can be a generic procedure or an imaging + * procedure. + * + * @return the recommendedProcedure value. + */ + @Generated + public ProcedureRecommendation getRecommendedProcedure() { + return this.recommendedProcedure; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationOptions.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationOptions.java new file mode 100644 index 0000000000000..fae858e737003 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationOptions.java @@ -0,0 +1,122 @@ +// 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.radiologyinsights.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Follow-up recommendation options. + */ +@Fluent +public final class FollowupRecommendationOptions { + /* + * Include/Exclude follow-up recommendations without a specific radiology procedure. Default is false. + */ + @Generated + @JsonProperty(value = "includeRecommendationsWithNoSpecifiedModality") + private Boolean includeRecommendationsWithNoSpecifiedModality; + + /* + * Include/Exclude follow-up recommendations in references to a guideline or article. Default is false. + */ + @Generated + @JsonProperty(value = "includeRecommendationsInReferences") + private Boolean includeRecommendationsInReferences; + + /* + * If this is true, provide one or more sentences as evidence for the recommendation, next to the token evidence. + * The start and end positions of these sentences will be put in an extension with url 'modality_sentences'. + * Default is false. + */ + @Generated + @JsonProperty(value = "provideFocusedSentenceEvidence") + private Boolean provideFocusedSentenceEvidence; + + /** + * Creates an instance of FollowupRecommendationOptions class. + */ + @Generated + public FollowupRecommendationOptions() { + } + + /** + * Get the includeRecommendationsWithNoSpecifiedModality property: Include/Exclude follow-up recommendations + * without a specific radiology procedure. Default is false. + * + * @return the includeRecommendationsWithNoSpecifiedModality value. + */ + @Generated + public Boolean isIncludeRecommendationsWithNoSpecifiedModality() { + return this.includeRecommendationsWithNoSpecifiedModality; + } + + /** + * Set the includeRecommendationsWithNoSpecifiedModality property: Include/Exclude follow-up recommendations + * without a specific radiology procedure. Default is false. + * + * @param includeRecommendationsWithNoSpecifiedModality the includeRecommendationsWithNoSpecifiedModality value to + * set. + * @return the FollowupRecommendationOptions object itself. + */ + @Generated + public FollowupRecommendationOptions + setIncludeRecommendationsWithNoSpecifiedModality(Boolean includeRecommendationsWithNoSpecifiedModality) { + this.includeRecommendationsWithNoSpecifiedModality = includeRecommendationsWithNoSpecifiedModality; + return this; + } + + /** + * Get the includeRecommendationsInReferences property: Include/Exclude follow-up recommendations in references to + * a guideline or article. Default is false. + * + * @return the includeRecommendationsInReferences value. + */ + @Generated + public Boolean isIncludeRecommendationsInReferences() { + return this.includeRecommendationsInReferences; + } + + /** + * Set the includeRecommendationsInReferences property: Include/Exclude follow-up recommendations in references to + * a guideline or article. Default is false. + * + * @param includeRecommendationsInReferences the includeRecommendationsInReferences value to set. + * @return the FollowupRecommendationOptions object itself. + */ + @Generated + public FollowupRecommendationOptions + setIncludeRecommendationsInReferences(Boolean includeRecommendationsInReferences) { + this.includeRecommendationsInReferences = includeRecommendationsInReferences; + return this; + } + + /** + * Get the provideFocusedSentenceEvidence property: If this is true, provide one or more sentences as evidence for + * the recommendation, next to the token evidence. The start and end positions of these sentences will be put in an + * extension with url 'modality_sentences'. Default is false. + * + * @return the provideFocusedSentenceEvidence value. + */ + @Generated + public Boolean isProvideFocusedSentenceEvidence() { + return this.provideFocusedSentenceEvidence; + } + + /** + * Set the provideFocusedSentenceEvidence property: If this is true, provide one or more sentences as evidence for + * the recommendation, next to the token evidence. The start and end positions of these sentences will be put in an + * extension with url 'modality_sentences'. Default is false. + * + * @param provideFocusedSentenceEvidence the provideFocusedSentenceEvidence value to set. + * @return the FollowupRecommendationOptions object itself. + */ + @Generated + public FollowupRecommendationOptions setProvideFocusedSentenceEvidence(Boolean provideFocusedSentenceEvidence) { + this.provideFocusedSentenceEvidence = provideFocusedSentenceEvidence; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/GenericProcedureRecommendation.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/GenericProcedureRecommendation.java new file mode 100644 index 0000000000000..e0c12e23bfefe --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/GenericProcedureRecommendation.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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * Generic procedure information. + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("genericProcedureRecommendation") +@Immutable +public final class GenericProcedureRecommendation extends ProcedureRecommendation { + /* + * Procedure modality : SNOMED CT code. + */ + @Generated + @JsonProperty(value = "code") + private CodeableConcept code; + + /* + * Procedure description : MANAGEMENT PROCEDURE (PROCEDURE) or CONSULTATION (PROCEDURE) based on SNOMED CT. + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /** + * Creates an instance of GenericProcedureRecommendation class. + * + * @param code the code value to set. + */ + @Generated + @JsonCreator + private GenericProcedureRecommendation(@JsonProperty(value = "code") CodeableConcept code) { + this.code = code; + } + + /** + * Get the code property: Procedure modality : SNOMED CT code. + * + * @return the code value. + */ + @Generated + public CodeableConcept getCode() { + return this.code; + } + + /** + * Get the description property: Procedure description : MANAGEMENT PROCEDURE (PROCEDURE) or CONSULTATION + * (PROCEDURE) based on SNOMED CT. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Identifier.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Identifier.java new file mode 100644 index 0000000000000..f6e9dcdf57c00 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Identifier.java @@ -0,0 +1,256 @@ +// 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.radiologyinsights.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 { + /* + * 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; + + /* + * 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 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 Identifier object itself. + */ + @Generated + public Identifier setId(String id) { + this.id = id; + return this; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the Identifier object itself. + */ + @Generated + public Identifier setExtension(List extension) { + this.extension = extension; + return this; + } + + /** + * 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; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedure.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedure.java new file mode 100644 index 0000000000000..585dee9b1e97a --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedure.java @@ -0,0 +1,115 @@ +// 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.radiologyinsights.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; + +/** + * Imaging procedure. + */ +@Immutable +public final class ImagingProcedure { + /* + * Modality : SNOMED CT code. + */ + @Generated + @JsonProperty(value = "modality") + private CodeableConcept modality; + + /* + * Anatomy : SNOMED CT code. + */ + @Generated + @JsonProperty(value = "anatomy") + private CodeableConcept anatomy; + + /* + * Laterality : SNOMED CT code. + */ + @Generated + @JsonProperty(value = "laterality") + private CodeableConcept laterality; + + /* + * Contrast : see RadiologyCodeWithTypes (below). + */ + @Generated + @JsonProperty(value = "contrast") + private RadiologyCodeWithTypes contrast; + + /* + * View : see RadiologyCodeWithTypes (below). + */ + @Generated + @JsonProperty(value = "view") + private RadiologyCodeWithTypes view; + + /** + * Creates an instance of ImagingProcedure class. + * + * @param modality the modality value to set. + * @param anatomy the anatomy value to set. + */ + @Generated + @JsonCreator + private ImagingProcedure(@JsonProperty(value = "modality") CodeableConcept modality, + @JsonProperty(value = "anatomy") CodeableConcept anatomy) { + this.modality = modality; + this.anatomy = anatomy; + } + + /** + * Get the modality property: Modality : SNOMED CT code. + * + * @return the modality value. + */ + @Generated + public CodeableConcept getModality() { + return this.modality; + } + + /** + * Get the anatomy property: Anatomy : SNOMED CT code. + * + * @return the anatomy value. + */ + @Generated + public CodeableConcept getAnatomy() { + return this.anatomy; + } + + /** + * Get the laterality property: Laterality : SNOMED CT code. + * + * @return the laterality value. + */ + @Generated + public CodeableConcept getLaterality() { + return this.laterality; + } + + /** + * Get the contrast property: Contrast : see RadiologyCodeWithTypes (below). + * + * @return the contrast value. + */ + @Generated + public RadiologyCodeWithTypes getContrast() { + return this.contrast; + } + + /** + * Get the view property: View : see RadiologyCodeWithTypes (below). + * + * @return the view value. + */ + @Generated + public RadiologyCodeWithTypes getView() { + return this.view; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedureRecommendation.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedureRecommendation.java new file mode 100644 index 0000000000000..a164d1d8f3a1e --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedureRecommendation.java @@ -0,0 +1,67 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.List; + +/** + * Imaging procedures. + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("imagingProcedureRecommendation") +@Immutable +public final class ImagingProcedureRecommendation extends ProcedureRecommendation { + /* + * LOINC codes for the procedure. + */ + @Generated + @JsonProperty(value = "procedureCodes") + private List procedureCodes; + + /* + * Imaging procedures. + */ + @Generated + @JsonProperty(value = "imagingProcedures") + private List imagingProcedures; + + /** + * Creates an instance of ImagingProcedureRecommendation class. + * + * @param imagingProcedures the imagingProcedures value to set. + */ + @Generated + @JsonCreator + private ImagingProcedureRecommendation( + @JsonProperty(value = "imagingProcedures") List imagingProcedures) { + this.imagingProcedures = imagingProcedures; + } + + /** + * Get the procedureCodes property: LOINC codes for the procedure. + * + * @return the procedureCodes value. + */ + @Generated + public List getProcedureCodes() { + return this.procedureCodes; + } + + /** + * Get the imagingProcedures property: Imaging procedures. + * + * @return the imagingProcedures value. + */ + @Generated + public List getImagingProcedures() { + return this.imagingProcedures; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyInference.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyInference.java new file mode 100644 index 0000000000000..38dd132366aa1 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyInference.java @@ -0,0 +1,69 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * A laterality mismatch occurs when there is a discrepancy between the clinical documentation and the ordered + * procedure (orderLateralityMismatch), a contradiction within the clinical document (textLateralityContradiction), or + * when no laterality is mentioned (textLateralityMissing). + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("lateralityDiscrepancy") +@Immutable +public final class LateralityDiscrepancyInference extends RadiologyInsightsInference { + /* + * Laterality indication : SNOMED CT code for laterality qualifier value. + */ + @Generated + @JsonProperty(value = "lateralityIndication") + private CodeableConcept lateralityIndication; + + /* + * Mismatch type : orderLateralityMismatch, textLateralityContradiction, textLateralityMissing. + */ + @Generated + @JsonProperty(value = "discrepancyType") + private LateralityDiscrepancyType discrepancyType; + + /** + * Creates an instance of LateralityDiscrepancyInference class. + * + * @param discrepancyType the discrepancyType value to set. + */ + @Generated + @JsonCreator + private LateralityDiscrepancyInference( + @JsonProperty(value = "discrepancyType") LateralityDiscrepancyType discrepancyType) { + this.discrepancyType = discrepancyType; + } + + /** + * Get the lateralityIndication property: Laterality indication : SNOMED CT code for laterality qualifier value. + * + * @return the lateralityIndication value. + */ + @Generated + public CodeableConcept getLateralityIndication() { + return this.lateralityIndication; + } + + /** + * Get the discrepancyType property: Mismatch type : orderLateralityMismatch, textLateralityContradiction, + * textLateralityMissing. + * + * @return the discrepancyType value. + */ + @Generated + public LateralityDiscrepancyType getDiscrepancyType() { + return this.discrepancyType; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyType.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyType.java new file mode 100644 index 0000000000000..2768a08c7eaaf --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyType.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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Laterality discrepancy type. + */ +public final class LateralityDiscrepancyType extends ExpandableStringEnum { + /** + * Mismatch between order and text. + */ + @Generated + public static final LateralityDiscrepancyType ORDER_LATERALITY_MISMATCH = fromString("orderLateralityMismatch"); + + /** + * Contradiction in text. + */ + @Generated + public static final LateralityDiscrepancyType TEXT_LATERALITY_CONTRADICTION + = fromString("textLateralityContradiction"); + + /** + * Missing laterality in text. + */ + @Generated + public static final LateralityDiscrepancyType TEXT_LATERALITY_MISSING = fromString("textLateralityMissing"); + + /** + * Creates a new instance of LateralityDiscrepancyType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public LateralityDiscrepancyType() { + } + + /** + * Creates or finds a LateralityDiscrepancyType from its string representation. + * + * @param name a name to look for. + * @return the corresponding LateralityDiscrepancyType. + */ + @Generated + @JsonCreator + public static LateralityDiscrepancyType fromString(String name) { + return fromString(name, LateralityDiscrepancyType.class); + } + + /** + * Gets known LateralityDiscrepancyType values. + * + * @return known LateralityDiscrepancyType values. + */ + @Generated + public static Collection values() { + return values(LateralityDiscrepancyType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LimitedOrderDiscrepancyInference.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LimitedOrderDiscrepancyInference.java new file mode 100644 index 0000000000000..e42416c90ce2f --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LimitedOrderDiscrepancyInference.java @@ -0,0 +1,86 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.List; + +/** + * A limited order discrepancy occurs when there is a limited order, but all body parts and measurements that are + * needed for a complete order are present in the document. + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("limitedOrderDiscrepancy") +@Immutable +public final class LimitedOrderDiscrepancyInference extends RadiologyInsightsInference { + /* + * Order type : CPT ultrasound complete code for abdomen, retroperitoneal, pelvis or breast. + */ + @Generated + @JsonProperty(value = "orderType") + private CodeableConcept orderType; + + /* + * List of body parts found in the document : SNOMED CT codes. + */ + @Generated + @JsonProperty(value = "presentBodyParts") + private List presentBodyParts; + + /* + * List of body parts that are measured according to the document : SNOMED CT codes. + */ + @Generated + @JsonProperty(value = "presentBodyPartMeasurements") + private List presentBodyPartMeasurements; + + /** + * Creates an instance of LimitedOrderDiscrepancyInference class. + * + * @param orderType the orderType value to set. + */ + @Generated + @JsonCreator + private LimitedOrderDiscrepancyInference(@JsonProperty(value = "orderType") CodeableConcept orderType) { + this.orderType = orderType; + } + + /** + * Get the orderType property: Order type : CPT ultrasound complete code for abdomen, retroperitoneal, pelvis or + * breast. + * + * @return the orderType value. + */ + @Generated + public CodeableConcept getOrderType() { + return this.orderType; + } + + /** + * Get the presentBodyParts property: List of body parts found in the document : SNOMED CT codes. + * + * @return the presentBodyParts value. + */ + @Generated + public List getPresentBodyParts() { + return this.presentBodyParts; + } + + /** + * Get the presentBodyPartMeasurements property: List of body parts that are measured according to the document : + * SNOMED CT codes. + * + * @return the presentBodyPartMeasurements value. + */ + @Generated + public List getPresentBodyPartMeasurements() { + return this.presentBodyPartMeasurements; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/MedicalProfessionalType.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/MedicalProfessionalType.java new file mode 100644 index 0000000000000..acdc1661f0d8b --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/MedicalProfessionalType.java @@ -0,0 +1,77 @@ +// 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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Medical Professional Type. + */ +public final class MedicalProfessionalType extends ExpandableStringEnum { + /** + * Unknown medical professional type. + */ + @Generated + public static final MedicalProfessionalType UNKNOWN = fromString("unknown"); + + /** + * Doctor medical professional type. + */ + @Generated + public static final MedicalProfessionalType DOCTOR = fromString("doctor"); + + /** + * Nurse medical professional type. + */ + @Generated + public static final MedicalProfessionalType NURSE = fromString("nurse"); + + /** + * Technician medical professional type. + */ + @Generated + public static final MedicalProfessionalType MIDWIFE = fromString("midwife"); + + /** + * Technician medical professional type. + */ + @Generated + public static final MedicalProfessionalType PHYSICIAN_ASSISTANT = fromString("physicianAssistant"); + + /** + * Creates a new instance of MedicalProfessionalType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public MedicalProfessionalType() { + } + + /** + * Creates or finds a MedicalProfessionalType from its string representation. + * + * @param name a name to look for. + * @return the corresponding MedicalProfessionalType. + */ + @Generated + @JsonCreator + public static MedicalProfessionalType fromString(String name) { + return fromString(name, MedicalProfessionalType.class); + } + + /** + * Gets known MedicalProfessionalType values. + * + * @return known MedicalProfessionalType values. + */ + @Generated + public static Collection values() { + return values(MedicalProfessionalType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Meta.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Meta.java new file mode 100644 index 0000000000000..a2582223a3621 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 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 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 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 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 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 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 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 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 tag) { + this.tag = tag; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Narrative.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Narrative.java new file mode 100644 index 0000000000000..8be7dca6243ad --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Narrative.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.radiologyinsights.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; + +/** + * 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). + */ +@Immutable +public final class Narrative { + /* + * 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; + + /* + * 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 + private Narrative(@JsonProperty(value = "status") String status, @JsonProperty(value = "div") String div) { + this.status = status; + this.div = div; + } + + /** + * Get the id property: Unique id for inter-element referencing. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * 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; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Observation.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Observation.java new file mode 100644 index 0000000000000..6b218d269615c --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Observation.java @@ -0,0 +1,549 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.List; + +/** + * Detailed information about observations + * Based on [FHIR Observation](https://www.hl7.org/fhir/R4/observation.html). + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "resourceType") +@JsonTypeName("Observation") +@Immutable +public final class Observation extends DomainResource { + /* + * Business Identifier for observation + */ + @Generated + @JsonProperty(value = "identifier") + private List identifier; + + /* + * registered | preliminary | final | amended + + */ + @Generated + @JsonProperty(value = "status") + private ObservationStatusCodeType status; + + /* + * Classification of type of observation + */ + @Generated + @JsonProperty(value = "category") + private List category; + + /* + * Type of observation (code / type) + */ + @Generated + @JsonProperty(value = "code") + private CodeableConcept code; + + /* + * Who and/or what the observation is about + */ + @Generated + @JsonProperty(value = "subject") + private Reference subject; + + /* + * Healthcare event during which this observation is made + */ + @Generated + @JsonProperty(value = "encounter") + private Reference encounter; + + /* + * Clinically relevant time/time-period for observation + */ + @Generated + @JsonProperty(value = "effectiveDateTime") + private String effectiveDateTime; + + /* + * Clinically relevant time/time-period for observation + */ + @Generated + @JsonProperty(value = "effectivePeriod") + private PeriodModel effectivePeriod; + + /* + * Clinically relevant time/time-period for observation + */ + @Generated + @JsonProperty(value = "effectiveInstant") + private String effectiveInstant; + + /* + * Date/Time this version was made available + */ + @Generated + @JsonProperty(value = "issued") + private String issued; + + /* + * Actual result + */ + @Generated + @JsonProperty(value = "valueQuantity") + private Quantity valueQuantity; + + /* + * Actual result + */ + @Generated + @JsonProperty(value = "valueCodeableConcept") + private CodeableConcept valueCodeableConcept; + + /* + * Actual result + */ + @Generated + @JsonProperty(value = "valueString") + private String valueString; + + /* + * Actual result + */ + @Generated + @JsonProperty(value = "valueBoolean") + private Boolean valueBoolean; + + /* + * Actual result + */ + @Generated + @JsonProperty(value = "valueInteger") + private Integer valueInteger; + + /* + * Actual result + */ + @Generated + @JsonProperty(value = "valueRange") + private Range valueRange; + + /* + * Actual result + */ + @Generated + @JsonProperty(value = "valueRatio") + private Ratio valueRatio; + + /* + * Actual result + */ + @Generated + @JsonProperty(value = "valueSampledData") + private SampledData valueSampledData; + + /* + * Actual result + */ + @Generated + @JsonProperty(value = "valueTime") + private String valueTime; + + /* + * Actual result + */ + @Generated + @JsonProperty(value = "valueDateTime") + private String valueDateTime; + + /* + * Actual result + */ + @Generated + @JsonProperty(value = "valuePeriod") + private PeriodModel valuePeriod; + + /* + * Why the result is missing + */ + @Generated + @JsonProperty(value = "dataAbsentReason") + private CodeableConcept dataAbsentReason; + + /* + * High, low, normal, etc. + */ + @Generated + @JsonProperty(value = "interpretation") + private List interpretation; + + /* + * Comments about the observation + */ + @Generated + @JsonProperty(value = "note") + private List note; + + /* + * Observed body part + */ + @Generated + @JsonProperty(value = "bodySite") + private CodeableConcept bodySite; + + /* + * How it was done + */ + @Generated + @JsonProperty(value = "method") + private CodeableConcept method; + + /* + * Provides guide for interpretation + */ + @Generated + @JsonProperty(value = "referenceRange") + private List referenceRange; + + /* + * Related resource that belongs to the Observation group + */ + @Generated + @JsonProperty(value = "hasMember") + private List hasMember; + + /* + * Related measurements the observation is made from + */ + @Generated + @JsonProperty(value = "derivedFrom") + private List derivedFrom; + + /* + * Component results + */ + @Generated + @JsonProperty(value = "component") + private List component; + + /** + * Creates an instance of Observation class. + * + * @param resourceType the resourceType value to set. + * @param status the status value to set. + * @param code the code value to set. + */ + @Generated + @JsonCreator + private Observation(@JsonProperty(value = "resourceType") String resourceType, + @JsonProperty(value = "status") ObservationStatusCodeType status, + @JsonProperty(value = "code") CodeableConcept code) { + super(resourceType); + this.status = status; + this.code = code; + } + + /** + * Get the identifier property: Business Identifier for observation. + * + * @return the identifier value. + */ + @Generated + public List getIdentifier() { + return this.identifier; + } + + /** + * Get the status property: registered | preliminary | final | amended +. + * + * @return the status value. + */ + @Generated + public ObservationStatusCodeType getStatus() { + return this.status; + } + + /** + * Get the category property: Classification of type of observation. + * + * @return the category value. + */ + @Generated + public List getCategory() { + return this.category; + } + + /** + * Get the code property: Type of observation (code / type). + * + * @return the code value. + */ + @Generated + public CodeableConcept getCode() { + return this.code; + } + + /** + * Get the subject property: Who and/or what the observation is about. + * + * @return the subject value. + */ + @Generated + public Reference getSubject() { + return this.subject; + } + + /** + * Get the encounter property: Healthcare event during which this observation is made. + * + * @return the encounter value. + */ + @Generated + public Reference getEncounter() { + return this.encounter; + } + + /** + * Get the effectiveDateTime property: Clinically relevant time/time-period for observation. + * + * @return the effectiveDateTime value. + */ + @Generated + public String getEffectiveDateTime() { + return this.effectiveDateTime; + } + + /** + * Get the effectivePeriod property: Clinically relevant time/time-period for observation. + * + * @return the effectivePeriod value. + */ + @Generated + public PeriodModel getEffectivePeriod() { + return this.effectivePeriod; + } + + /** + * Get the effectiveInstant property: Clinically relevant time/time-period for observation. + * + * @return the effectiveInstant value. + */ + @Generated + public String getEffectiveInstant() { + return this.effectiveInstant; + } + + /** + * Get the issued property: Date/Time this version was made available. + * + * @return the issued value. + */ + @Generated + public String getIssued() { + return this.issued; + } + + /** + * Get the valueQuantity property: Actual result. + * + * @return the valueQuantity value. + */ + @Generated + public Quantity getValueQuantity() { + return this.valueQuantity; + } + + /** + * Get the valueCodeableConcept property: Actual result. + * + * @return the valueCodeableConcept value. + */ + @Generated + public CodeableConcept getValueCodeableConcept() { + return this.valueCodeableConcept; + } + + /** + * Get the valueString property: Actual result. + * + * @return the valueString value. + */ + @Generated + public String getValueString() { + return this.valueString; + } + + /** + * Get the valueBoolean property: Actual result. + * + * @return the valueBoolean value. + */ + @Generated + public Boolean isValueBoolean() { + return this.valueBoolean; + } + + /** + * Get the valueInteger property: Actual result. + * + * @return the valueInteger value. + */ + @Generated + public Integer getValueInteger() { + return this.valueInteger; + } + + /** + * Get the valueRange property: Actual result. + * + * @return the valueRange value. + */ + @Generated + public Range getValueRange() { + return this.valueRange; + } + + /** + * Get the valueRatio property: Actual result. + * + * @return the valueRatio value. + */ + @Generated + public Ratio getValueRatio() { + return this.valueRatio; + } + + /** + * Get the valueSampledData property: Actual result. + * + * @return the valueSampledData value. + */ + @Generated + public SampledData getValueSampledData() { + return this.valueSampledData; + } + + /** + * Get the valueTime property: Actual result. + * + * @return the valueTime value. + */ + @Generated + public String getValueTime() { + return this.valueTime; + } + + /** + * Get the valueDateTime property: Actual result. + * + * @return the valueDateTime value. + */ + @Generated + public String getValueDateTime() { + return this.valueDateTime; + } + + /** + * Get the valuePeriod property: Actual result. + * + * @return the valuePeriod value. + */ + @Generated + public PeriodModel getValuePeriod() { + return this.valuePeriod; + } + + /** + * Get the dataAbsentReason property: Why the result is missing. + * + * @return the dataAbsentReason value. + */ + @Generated + public CodeableConcept getDataAbsentReason() { + return this.dataAbsentReason; + } + + /** + * Get the interpretation property: High, low, normal, etc. + * + * @return the interpretation value. + */ + @Generated + public List getInterpretation() { + return this.interpretation; + } + + /** + * Get the note property: Comments about the observation. + * + * @return the note value. + */ + @Generated + public List getNote() { + return this.note; + } + + /** + * Get the bodySite property: Observed body part. + * + * @return the bodySite value. + */ + @Generated + public CodeableConcept getBodySite() { + return this.bodySite; + } + + /** + * Get the method property: How it was done. + * + * @return the method value. + */ + @Generated + public CodeableConcept getMethod() { + return this.method; + } + + /** + * Get the referenceRange property: Provides guide for interpretation. + * + * @return the referenceRange value. + */ + @Generated + public List getReferenceRange() { + return this.referenceRange; + } + + /** + * Get the hasMember property: Related resource that belongs to the Observation group. + * + * @return the hasMember value. + */ + @Generated + public List getHasMember() { + return this.hasMember; + } + + /** + * Get the derivedFrom property: Related measurements the observation is made from. + * + * @return the derivedFrom value. + */ + @Generated + public List getDerivedFrom() { + return this.derivedFrom; + } + + /** + * Get the component property: Component results. + * + * @return the component value. + */ + @Generated + public List getComponent() { + return this.component; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationComponent.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationComponent.java new file mode 100644 index 0000000000000..2dbad8c3da5a3 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationComponent.java @@ -0,0 +1,335 @@ +// 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.radiologyinsights.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; + +/** + * Component results + * Based on [FHIR Observation.component](https://www.hl7.org/fhir/R4/observation.html). + */ +@Immutable +public final class ObservationComponent { + /* + * 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; + + /* + * 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 interpretation; + + /* + * Provides guide for interpretation of component result + */ + @Generated + @JsonProperty(value = "referenceRange") + private List referenceRange; + + /** + * Creates an instance of ObservationComponent class. + * + * @param code the code value to set. + */ + @Generated + @JsonCreator + private ObservationComponent(@JsonProperty(value = "code") CodeableConcept code) { + this.code = code; + } + + /** + * Get the id property: Unique id for inter-element referencing. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * 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; + } + + /** + * Get the valueCodeableConcept property: Value as CodeableConcept. + * + * @return the valueCodeableConcept value. + */ + @Generated + public CodeableConcept getValueCodeableConcept() { + return this.valueCodeableConcept; + } + + /** + * Get the valueString property: Value as string. + * + * @return the valueString value. + */ + @Generated + public String getValueString() { + return this.valueString; + } + + /** + * Get the valueBoolean property: Value as boolean. + * + * @return the valueBoolean value. + */ + @Generated + public Boolean isValueBoolean() { + return this.valueBoolean; + } + + /** + * Get the valueInteger property: Value as integer. + * + * @return the valueInteger value. + */ + @Generated + public Integer getValueInteger() { + return this.valueInteger; + } + + /** + * Get the valueRange property: Value as Range. + * + * @return the valueRange value. + */ + @Generated + public Range getValueRange() { + return this.valueRange; + } + + /** + * Get the valueRatio property: Value as Ratio. + * + * @return the valueRatio value. + */ + @Generated + public Ratio getValueRatio() { + return this.valueRatio; + } + + /** + * Get the valueSampledData property: Value as SampledData. + * + * @return the valueSampledData value. + */ + @Generated + public SampledData getValueSampledData() { + return this.valueSampledData; + } + + /** + * Get the valueTime property: Value as time (hh:mm:ss). + * + * @return the valueTime value. + */ + @Generated + public String getValueTime() { + return this.valueTime; + } + + /** + * Get the valueDateTime property: Value as dateTime. + * + * @return the valueDateTime value. + */ + @Generated + public String getValueDateTime() { + return this.valueDateTime; + } + + /** + * Get the valuePeriod property: Value as Period. + * + * @return the valuePeriod value. + */ + @Generated + public PeriodModel getValuePeriod() { + return this.valuePeriod; + } + + /** + * Get the valueReference property: Value as reference. + * + * @return the valueReference value. + */ + @Generated + public Reference getValueReference() { + return this.valueReference; + } + + /** + * Get the dataAbsentReason property: Why the component result is missing. + * + * @return the dataAbsentReason value. + */ + @Generated + public CodeableConcept getDataAbsentReason() { + return this.dataAbsentReason; + } + + /** + * Get the interpretation property: High, low, normal, etc. + * + * @return the interpretation value. + */ + @Generated + public List getInterpretation() { + return this.interpretation; + } + + /** + * Get the referenceRange property: Provides guide for interpretation of component result. + * + * @return the referenceRange value. + */ + @Generated + public List getReferenceRange() { + return this.referenceRange; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationReferenceRange.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationReferenceRange.java new file mode 100644 index 0000000000000..80e8685a262f7 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationReferenceRange.java @@ -0,0 +1,126 @@ +// 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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +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). + */ +@Immutable +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 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 + private ObservationReferenceRange() { + } + + /** + * Get the low property: Low Range, if relevant. + * + * @return the low value. + */ + @Generated + public Quantity getLow() { + return this.low; + } + + /** + * Get the high property: High Range, if relevant. + * + * @return the high value. + */ + @Generated + public Quantity getHigh() { + return this.high; + } + + /** + * Get the type property: Reference range qualifier. + * + * @return the type value. + */ + @Generated + public CodeableConcept getType() { + return this.type; + } + + /** + * Get the appliesTo property: Reference range population. + * + * @return the appliesTo value. + */ + @Generated + public List getAppliesTo() { + return this.appliesTo; + } + + /** + * Get the age property: Applicable age range, if relevant. + * + * @return the age value. + */ + @Generated + public Range getAge() { + return this.age; + } + + /** + * Get the text property: Text based reference range in an observation. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationStatusCodeType.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationStatusCodeType.java new file mode 100644 index 0000000000000..ad75838eb641b --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationStatusCodeType.java @@ -0,0 +1,99 @@ +// 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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Observation Status + * Based on [FHIR ObservationStatus](https://www.hl7.org/fhir/R4/valueset-observation-status.html). + */ +public final class ObservationStatusCodeType extends ExpandableStringEnum { + /** + * The existence of the observation is registered, but there is no result yet available. + */ + @Generated + public static final ObservationStatusCodeType REGISTERED = fromString("registered"); + + /** + * This is an initial or interim observation: data may be incomplete or unverified. + */ + @Generated + public static final ObservationStatusCodeType PRELIMINARY = fromString("preliminary"); + + /** + * The observation is complete and verified by an authorized person. + */ + @Generated + public static final ObservationStatusCodeType FINAL = fromString("final"); + + /** + * Subsequent to being Final, the observation has been modified subsequent. This includes updates/new information + * and corrections. + */ + @Generated + public static final ObservationStatusCodeType AMENDED = fromString("amended"); + + /** + * Subsequent to being Final, the observation has been modified to correct an error in the test result. + */ + @Generated + public static final ObservationStatusCodeType CORRECTED = fromString("corrected"); + + /** + * The observation is unavailable because the measurement was not started or not completed (also sometimes called + * "aborted"). + */ + @Generated + public static final ObservationStatusCodeType CANCELLED = fromString("cancelled"); + + /** + * The observation has been withdrawn following previous final release. + */ + @Generated + public static final ObservationStatusCodeType ENTERED_IN_ERROR = fromString("entered-in-error"); + + /** + * The observation status is unknown. Note that "unknown" is a value of last resort and every attempt should be made + * to provide a meaningful value other than "unknown". + */ + @Generated + public static final ObservationStatusCodeType UNKNOWN = fromString("unknown"); + + /** + * Creates a new instance of ObservationStatusCodeType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ObservationStatusCodeType() { + } + + /** + * Creates or finds a ObservationStatusCodeType from its string representation. + * + * @param name a name to look for. + * @return the corresponding ObservationStatusCodeType. + */ + @Generated + @JsonCreator + public static ObservationStatusCodeType fromString(String name) { + return fromString(name, ObservationStatusCodeType.class); + } + + /** + * Gets known ObservationStatusCodeType values. + * + * @return known ObservationStatusCodeType values. + */ + @Generated + public static Collection values() { + return values(ObservationStatusCodeType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/OrderedProcedure.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/OrderedProcedure.java new file mode 100644 index 0000000000000..5bfaa657532b2 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/OrderedProcedure.java @@ -0,0 +1,110 @@ +// 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.radiologyinsights.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 { + /* + * Additional Content defined by implementations + */ + @Generated + @JsonProperty(value = "extension") + private List extension; + + /* + * 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 extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the OrderedProcedure object itself. + */ + @Generated + public OrderedProcedure setExtension(List extension) { + this.extension = extension; + return this; + } + + /** + * 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; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientDocument.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientDocument.java new file mode 100644 index 0000000000000..47d141f8b83bc --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 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 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 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-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientInfo.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientInfo.java new file mode 100644 index 0000000000000..f428a15a27117 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 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 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 clinicalInfo) { + this.clinicalInfo = clinicalInfo; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientInfoSex.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientInfoSex.java new file mode 100644 index 0000000000000..fe548682baacd --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 { + /** + * 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 values() { + return values(PatientInfoSex.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientRecord.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PatientRecord.java new file mode 100644 index 0000000000000..d54b0842d8eb3 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 encounters; + + /* + * Patient unstructured clinical data, given as documents. + */ + @Generated + @JsonProperty(value = "patientDocuments") + private List 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 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 encounters) { + this.encounters = encounters; + return this; + } + + /** + * Get the patientDocuments property: Patient unstructured clinical data, given as documents. + * + * @return the patientDocuments value. + */ + @Generated + public List 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 patientDocuments) { + this.patientDocuments = patientDocuments; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PeriodModel.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PeriodModel.java new file mode 100644 index 0000000000000..5b94621755d33 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/PeriodModel.java @@ -0,0 +1,140 @@ +// 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.radiologyinsights.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 { + /* + * 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; + + /* + * 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 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 PeriodModel object itself. + */ + @Generated + public PeriodModel setId(String id) { + this.id = id; + return this; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the PeriodModel object itself. + */ + @Generated + public PeriodModel setExtension(List extension) { + this.extension = extension; + return this; + } + + /** + * 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; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ProcedureRecommendation.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ProcedureRecommendation.java new file mode 100644 index 0000000000000..f74c1cc8689d0 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ProcedureRecommendation.java @@ -0,0 +1,33 @@ +// 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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * The procedure recommendation can be a generic procedure or an imaging procedure. + */ +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "kind", + defaultImpl = ProcedureRecommendation.class) +@JsonTypeName("ProcedureRecommendation") +@JsonSubTypes({ + @JsonSubTypes.Type(name = "genericProcedureRecommendation", value = GenericProcedureRecommendation.class), + @JsonSubTypes.Type(name = "imagingProcedureRecommendation", value = ImagingProcedureRecommendation.class) }) +@Immutable +public class ProcedureRecommendation { + /** + * Creates an instance of ProcedureRecommendation class. + */ + @Generated + protected ProcedureRecommendation() { + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Quantity.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Quantity.java new file mode 100644 index 0000000000000..ea7605451305e --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Quantity.java @@ -0,0 +1,228 @@ +// 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.radiologyinsights.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 { + /* + * 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; + + /* + * 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 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 Quantity object itself. + */ + @Generated + public Quantity setId(String id) { + this.id = id; + return this; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the Quantity object itself. + */ + @Generated + public Quantity setExtension(List extension) { + this.extension = extension; + return this; + } + + /** + * Get the value property: Numerical value (with implicit precision). + * + * @return the value value. + */ + @Generated + public BigDecimal getValue() { + return this.value; + } + + /** + * Set the value property: Numerical value (with implicit precision). + * + * @param value the value value to set. + * @return the Quantity object itself. + */ + @Generated + public Quantity setValue(BigDecimal value) { + this.value = value; + return this; + } + + /** + * Get the comparator property: < | <= | >= | > - how to understand the value. + * + * @return the comparator value. + */ + @Generated + public String getComparator() { + return this.comparator; + } + + /** + * Set the comparator property: < | <= | >= | > - how to understand the value. + * + * @param comparator the comparator value to set. + * @return the Quantity object itself. + */ + @Generated + public Quantity setComparator(String comparator) { + this.comparator = comparator; + return this; + } + + /** + * Get the unit property: Unit representation. + * + * @return the unit value. + */ + @Generated + public String getUnit() { + return this.unit; + } + + /** + * Set the unit property: Unit representation. + * + * @param unit the unit value to set. + * @return the Quantity object itself. + */ + @Generated + public Quantity setUnit(String unit) { + this.unit = unit; + return this; + } + + /** + * Get the system property: System that defines coded unit form. + * + * @return the system value. + */ + @Generated + public String getSystem() { + return this.system; + } + + /** + * Set the system property: System that defines coded unit form. + * + * @param system the system value to set. + * @return the Quantity object itself. + */ + @Generated + public Quantity setSystem(String system) { + this.system = system; + return this; + } + + /** + * Get the code property: Coded form of the unit. + * + * @return the code value. + */ + @Generated + public String getCode() { + return this.code; + } + + /** + * Set the code property: Coded form of the unit. + * + * @param code the code value to set. + * @return the Quantity object itself. + */ + @Generated + public Quantity setCode(String code) { + this.code = code; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyCodeWithTypes.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyCodeWithTypes.java new file mode 100644 index 0000000000000..0be81cd44c368 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyCodeWithTypes.java @@ -0,0 +1,69 @@ +// 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.radiologyinsights.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; + +/** + * Radiology code with types : used in imaging procedure recommendation for contrast and view. + */ +@Immutable +public final class RadiologyCodeWithTypes { + /* + * The SNOMED CT code indicates whether imaging was conducted with or without contrast in the case of contrast, and + * in the case of views, it denotes the number of views. + */ + @Generated + @JsonProperty(value = "code") + private CodeableConcept code; + + /* + * The collection of types will indicate the contrast substance used in the case of contrast and, in the case of + * views, it will specify the types of views, such as lateral and frontal, etc. + */ + @Generated + @JsonProperty(value = "types") + private List types; + + /** + * Creates an instance of RadiologyCodeWithTypes class. + * + * @param code the code value to set. + * @param types the types value to set. + */ + @Generated + @JsonCreator + private RadiologyCodeWithTypes(@JsonProperty(value = "code") CodeableConcept code, + @JsonProperty(value = "types") List types) { + this.code = code; + this.types = types; + } + + /** + * Get the code property: The SNOMED CT code indicates whether imaging was conducted with or without contrast in + * the case of contrast, and in the case of views, it denotes the number of views. + * + * @return the code value. + */ + @Generated + public CodeableConcept getCode() { + return this.code; + } + + /** + * Get the types property: The collection of types will indicate the contrast substance used in the case of + * contrast and, in the case of views, it will specify the types of views, such as lateral and frontal, etc. + * + * @return the types value. + */ + @Generated + public List getTypes() { + return this.types; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsData.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsData.java new file mode 100644 index 0000000000000..13446b50c0ab9 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsData.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.radiologyinsights.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; + +/** + * Contains the list of patients, and configuration data. + */ +@Fluent +public final class RadiologyInsightsData { + /* + * The list of patients, including their clinical information and data. + */ + @Generated + @JsonProperty(value = "patients") + private List patients; + + /* + * Configuration affecting the Radiology Insights model's inference. + */ + @Generated + @JsonProperty(value = "configuration") + private RadiologyInsightsModelConfiguration configuration; + + /** + * Creates an instance of RadiologyInsightsData class. + * + * @param patients the patients value to set. + */ + @Generated + @JsonCreator + public RadiologyInsightsData(@JsonProperty(value = "patients") List 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 getPatients() { + return this.patients; + } + + /** + * Get the configuration property: Configuration affecting the Radiology Insights model's inference. + * + * @return the configuration value. + */ + @Generated + public RadiologyInsightsModelConfiguration getConfiguration() { + return this.configuration; + } + + /** + * Set the configuration property: Configuration affecting the Radiology Insights model's inference. + * + * @param configuration the configuration value to set. + * @return the RadiologyInsightsData object itself. + */ + @Generated + public RadiologyInsightsData setConfiguration(RadiologyInsightsModelConfiguration configuration) { + this.configuration = configuration; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInference.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInference.java new file mode 100644 index 0000000000000..9b92879ddb7e7 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInference.java @@ -0,0 +1,70 @@ +// 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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.List; + +/** + * An inference made by the Radiology Insights model regarding a patient. + * - AgeMismatch + * - SexMismatch + * - LateralityDiscrepancy + * - CompleteOrderDiscrepancy + * - LimitedOrderDiscrepancy + * - Finding + * - CriticalResult + * - FollowupRecommendation + * - RadiologyProcedure + * - FollowupCommunication. + */ +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "kind", + defaultImpl = RadiologyInsightsInference.class) +@JsonTypeName("RadiologyInsightsInference") +@JsonSubTypes({ + @JsonSubTypes.Type(name = "ageMismatch", value = AgeMismatchInference.class), + @JsonSubTypes.Type(name = "sexMismatch", value = SexMismatchInference.class), + @JsonSubTypes.Type(name = "lateralityDiscrepancy", value = LateralityDiscrepancyInference.class), + @JsonSubTypes.Type(name = "completeOrderDiscrepancy", value = CompleteOrderDiscrepancyInference.class), + @JsonSubTypes.Type(name = "limitedOrderDiscrepancy", value = LimitedOrderDiscrepancyInference.class), + @JsonSubTypes.Type(name = "finding", value = FindingInference.class), + @JsonSubTypes.Type(name = "criticalResult", value = CriticalResultInference.class), + @JsonSubTypes.Type(name = "radiologyProcedure", value = RadiologyProcedureInference.class), + @JsonSubTypes.Type(name = "followupRecommendation", value = FollowupRecommendationInference.class), + @JsonSubTypes.Type(name = "followupCommunication", value = FollowupCommunicationInference.class) }) +@Immutable +public class RadiologyInsightsInference { + /* + * Additional Content defined by implementations + */ + @Generated + @JsonProperty(value = "extension") + private List extension; + + /** + * Creates an instance of RadiologyInsightsInference class. + */ + @Generated + protected RadiologyInsightsInference() { + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceOptions.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceOptions.java new file mode 100644 index 0000000000000..2662e3578e1f5 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceOptions.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.radiologyinsights.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Options regarding follow up recommendation inferences and finding inferences. + */ +@Fluent +public final class RadiologyInsightsInferenceOptions { + /* + * Follow-up recommendation options. + */ + @Generated + @JsonProperty(value = "followupRecommendation") + private FollowupRecommendationOptions followupRecommendation; + + /* + * Finding options. + */ + @Generated + @JsonProperty(value = "finding") + private FindingOptions finding; + + /** + * Creates an instance of RadiologyInsightsInferenceOptions class. + */ + @Generated + public RadiologyInsightsInferenceOptions() { + } + + /** + * Get the followupRecommendation property: Follow-up recommendation options. + * + * @return the followupRecommendation value. + */ + @Generated + public FollowupRecommendationOptions getFollowupRecommendation() { + return this.followupRecommendation; + } + + /** + * Set the followupRecommendation property: Follow-up recommendation options. + * + * @param followupRecommendation the followupRecommendation value to set. + * @return the RadiologyInsightsInferenceOptions object itself. + */ + @Generated + public RadiologyInsightsInferenceOptions + setFollowupRecommendation(FollowupRecommendationOptions followupRecommendation) { + this.followupRecommendation = followupRecommendation; + return this; + } + + /** + * Get the finding property: Finding options. + * + * @return the finding value. + */ + @Generated + public FindingOptions getFinding() { + return this.finding; + } + + /** + * Set the finding property: Finding options. + * + * @param finding the finding value to set. + * @return the RadiologyInsightsInferenceOptions object itself. + */ + @Generated + public RadiologyInsightsInferenceOptions setFinding(FindingOptions finding) { + this.finding = finding; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceResult.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceResult.java new file mode 100644 index 0000000000000..a8d575789c258 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceResult.java @@ -0,0 +1,67 @@ +// 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.radiologyinsights.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 Radiology Insights request. If field 'status' has value 'succeeded', then field + * 'result' will contain an instance of RadiologyInsightsInferenceResult. + */ +@Immutable +public final class RadiologyInsightsInferenceResult { + /* + * Results for the patients given in the request. + */ + @Generated + @JsonProperty(value = "patientResults") + private List 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 RadiologyInsightsInferenceResult class. + * + * @param patientResults the patientResults value to set. + * @param modelVersion the modelVersion value to set. + */ + @Generated + @JsonCreator + private RadiologyInsightsInferenceResult( + @JsonProperty(value = "patientResults") List 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 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-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceType.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceType.java new file mode 100644 index 0000000000000..ca3516630cea6 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceType.java @@ -0,0 +1,109 @@ +// 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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * A Radiology Insights inference types. + */ +public final class RadiologyInsightsInferenceType extends ExpandableStringEnum { + /** + * Age mismatch inference type. + */ + @Generated + public static final RadiologyInsightsInferenceType AGE_MISMATCH = fromString("ageMismatch"); + + /** + * Laterality discrepancy inference type. + */ + @Generated + public static final RadiologyInsightsInferenceType LATERALITY_DISCREPANCY = fromString("lateralityDiscrepancy"); + + /** + * Sex mismatch inference type. + */ + @Generated + public static final RadiologyInsightsInferenceType SEX_MISMATCH = fromString("sexMismatch"); + + /** + * Complete order discrepancy inference type. + */ + @Generated + public static final RadiologyInsightsInferenceType COMPLETE_ORDER_DISCREPANCY + = fromString("completeOrderDiscrepancy"); + + /** + * Limited order discrepancy inference type. + */ + @Generated + public static final RadiologyInsightsInferenceType LIMITED_ORDER_DISCREPANCY + = fromString("limitedOrderDiscrepancy"); + + /** + * Finding inference type. + */ + @Generated + public static final RadiologyInsightsInferenceType FINDING = fromString("finding"); + + /** + * Critical finding inference type. + */ + @Generated + public static final RadiologyInsightsInferenceType CRITICAL_RESULT = fromString("criticalResult"); + + /** + * Recommendation inference type. + */ + @Generated + public static final RadiologyInsightsInferenceType FOLLOWUP_RECOMMENDATION = fromString("followupRecommendation"); + + /** + * Followup Communication inference type. + */ + @Generated + public static final RadiologyInsightsInferenceType FOLLOWUP_COMMUNICATION = fromString("followupCommunication"); + + /** + * Radiology Procedure inference type. + */ + @Generated + public static final RadiologyInsightsInferenceType RADIOLOGY_PROCEDURE = fromString("radiologyProcedure"); + + /** + * Creates a new instance of RadiologyInsightsInferenceType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RadiologyInsightsInferenceType() { + } + + /** + * Creates or finds a RadiologyInsightsInferenceType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RadiologyInsightsInferenceType. + */ + @Generated + @JsonCreator + public static RadiologyInsightsInferenceType fromString(String name) { + return fromString(name, RadiologyInsightsInferenceType.class); + } + + /** + * Gets known RadiologyInsightsInferenceType values. + * + * @return known RadiologyInsightsInferenceType values. + */ + @Generated + public static Collection values() { + return values(RadiologyInsightsInferenceType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsModelConfiguration.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsModelConfiguration.java new file mode 100644 index 0000000000000..ec62c5bf11e9e --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsModelConfiguration.java @@ -0,0 +1,176 @@ +// 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.radiologyinsights.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 Radiology Insights model's inference. + */ +@Fluent +public final class RadiologyInsightsModelConfiguration { + /* + * 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; + + /* + * This is a list of inference types to be inferred for the current request. It could be used if only part of the + * Radiology Insights inferences are required. If this list is omitted or empty, the model will return all the + * inference types. + */ + @Generated + @JsonProperty(value = "inferenceTypes") + private List inferenceTypes; + + /* + * Options regarding follow up recommendation inferences and finding inferences. + */ + @Generated + @JsonProperty(value = "inferenceOptions") + private RadiologyInsightsInferenceOptions inferenceOptions; + + /* + * Local for the model to use. If not specified, the model will use the default locale. + */ + @Generated + @JsonProperty(value = "locale") + private String locale; + + /** + * Creates an instance of RadiologyInsightsModelConfiguration class. + */ + @Generated + public RadiologyInsightsModelConfiguration() { + } + + /** + * 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 RadiologyInsightsModelConfiguration object itself. + */ + @Generated + public RadiologyInsightsModelConfiguration 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 RadiologyInsightsModelConfiguration object itself. + */ + @Generated + public RadiologyInsightsModelConfiguration setIncludeEvidence(Boolean includeEvidence) { + this.includeEvidence = includeEvidence; + return this; + } + + /** + * Get the inferenceTypes property: This is a list of inference types to be inferred for the current request. It + * could be used if only part of the Radiology Insights 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 getInferenceTypes() { + return this.inferenceTypes; + } + + /** + * Set the inferenceTypes property: This is a list of inference types to be inferred for the current request. It + * could be used if only part of the Radiology Insights 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 RadiologyInsightsModelConfiguration object itself. + */ + @Generated + public RadiologyInsightsModelConfiguration setInferenceTypes(List inferenceTypes) { + this.inferenceTypes = inferenceTypes; + return this; + } + + /** + * Get the inferenceOptions property: Options regarding follow up recommendation inferences and finding inferences. + * + * @return the inferenceOptions value. + */ + @Generated + public RadiologyInsightsInferenceOptions getInferenceOptions() { + return this.inferenceOptions; + } + + /** + * Set the inferenceOptions property: Options regarding follow up recommendation inferences and finding inferences. + * + * @param inferenceOptions the inferenceOptions value to set. + * @return the RadiologyInsightsModelConfiguration object itself. + */ + @Generated + public RadiologyInsightsModelConfiguration setInferenceOptions(RadiologyInsightsInferenceOptions inferenceOptions) { + this.inferenceOptions = inferenceOptions; + return this; + } + + /** + * Get the locale property: Local for the model to use. If not specified, the model will use the default locale. + * + * @return the locale value. + */ + @Generated + public String getLocale() { + return this.locale; + } + + /** + * Set the locale property: Local for the model to use. If not specified, the model will use the default locale. + * + * @param locale the locale value to set. + * @return the RadiologyInsightsModelConfiguration object itself. + */ + @Generated + public RadiologyInsightsModelConfiguration setLocale(String locale) { + this.locale = locale; + return this; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsPatientResult.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsPatientResult.java new file mode 100644 index 0000000000000..ecedab39fa4a1 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsPatientResult.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.radiologyinsights.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; + +/** + * Results of the model's work for a single patient. + */ +@Immutable +public final class RadiologyInsightsPatientResult { + /* + * 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 inferences; + + /** + * Creates an instance of RadiologyInsightsPatientResult class. + * + * @param patientId the patientId value to set. + * @param inferences the inferences value to set. + */ + @Generated + @JsonCreator + private RadiologyInsightsPatientResult(@JsonProperty(value = "patientId") String patientId, + @JsonProperty(value = "inferences") List inferences) { + this.patientId = patientId; + this.inferences = inferences; + } + + /** + * Get the patientId property: 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 getInferences() { + return this.inferences; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyProcedureInference.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyProcedureInference.java new file mode 100644 index 0000000000000..9f31b746fca95 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyProcedureInference.java @@ -0,0 +1,88 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.List; + +/** + * Radiology procedures are the specific imaging studies or examinations ordered for the patient, extracted from the + * document information and text. + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("radiologyProcedure") +@Immutable +public final class RadiologyProcedureInference extends RadiologyInsightsInference { + /* + * LOINC codes for the procedure. + */ + @Generated + @JsonProperty(value = "procedureCodes") + private List procedureCodes; + + /* + * Imaging procedures. + */ + @Generated + @JsonProperty(value = "imagingProcedures") + private List imagingProcedures; + + /* + * Ordered procedure information from the document information or text. + */ + @Generated + @JsonProperty(value = "orderedProcedure") + private OrderedProcedure orderedProcedure; + + /** + * Creates an instance of RadiologyProcedureInference class. + * + * @param imagingProcedures the imagingProcedures value to set. + * @param orderedProcedure the orderedProcedure value to set. + */ + @Generated + @JsonCreator + private RadiologyProcedureInference( + @JsonProperty(value = "imagingProcedures") List imagingProcedures, + @JsonProperty(value = "orderedProcedure") OrderedProcedure orderedProcedure) { + this.imagingProcedures = imagingProcedures; + this.orderedProcedure = orderedProcedure; + } + + /** + * Get the procedureCodes property: LOINC codes for the procedure. + * + * @return the procedureCodes value. + */ + @Generated + public List getProcedureCodes() { + return this.procedureCodes; + } + + /** + * Get the imagingProcedures property: Imaging procedures. + * + * @return the imagingProcedures value. + */ + @Generated + public List getImagingProcedures() { + return this.imagingProcedures; + } + + /** + * Get the orderedProcedure property: Ordered procedure information from the document information or text. + * + * @return the orderedProcedure value. + */ + @Generated + public OrderedProcedure getOrderedProcedure() { + return this.orderedProcedure; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Range.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Range.java new file mode 100644 index 0000000000000..eb37b8ea4b2db --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Range.java @@ -0,0 +1,140 @@ +// 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.radiologyinsights.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 { + /* + * 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; + + /* + * 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 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 Range object itself. + */ + @Generated + public Range setId(String id) { + this.id = id; + return this; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the Range object itself. + */ + @Generated + public Range setExtension(List extension) { + this.extension = extension; + return this; + } + + /** + * 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; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Ratio.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Ratio.java new file mode 100644 index 0000000000000..7f3f42bdaa091 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Ratio.java @@ -0,0 +1,140 @@ +// 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.radiologyinsights.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 { + /* + * 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; + + /* + * 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 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 Ratio object itself. + */ + @Generated + public Ratio setId(String id) { + this.id = id; + return this; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the Ratio object itself. + */ + @Generated + public Ratio setExtension(List extension) { + this.extension = extension; + return this; + } + + /** + * 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; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RecommendationFinding.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RecommendationFinding.java new file mode 100644 index 0000000000000..1a050db0577a3 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RecommendationFinding.java @@ -0,0 +1,97 @@ +// 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.radiologyinsights.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; + +/** + * Finding reference for recommendation. + */ +@Immutable +public final class RecommendationFinding { + /* + * Additional Content defined by implementations + */ + @Generated + @JsonProperty(value = "extension") + private List extension; + + /* + * Finding linked to a recommendation. + */ + @Generated + @JsonProperty(value = "finding") + private Observation finding; + + /* + * Critical result linked to a recommendation. + */ + @Generated + @JsonProperty(value = "criticalFinding") + private CriticalResult criticalFinding; + + /* + * Recommendation finding status. + */ + @Generated + @JsonProperty(value = "recommendationFindingStatus") + private RecommendationFindingStatusType recommendationFindingStatus; + + /** + * Creates an instance of RecommendationFinding class. + * + * @param recommendationFindingStatus the recommendationFindingStatus value to set. + */ + @Generated + @JsonCreator + private RecommendationFinding(@JsonProperty( + value = "recommendationFindingStatus") RecommendationFindingStatusType recommendationFindingStatus) { + this.recommendationFindingStatus = recommendationFindingStatus; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Get the finding property: Finding linked to a recommendation. + * + * @return the finding value. + */ + @Generated + public Observation getFinding() { + return this.finding; + } + + /** + * Get the criticalFinding property: Critical result linked to a recommendation. + * + * @return the criticalFinding value. + */ + @Generated + public CriticalResult getCriticalFinding() { + return this.criticalFinding; + } + + /** + * Get the recommendationFindingStatus property: Recommendation finding status. + * + * @return the recommendationFindingStatus value. + */ + @Generated + public RecommendationFindingStatusType getRecommendationFindingStatus() { + return this.recommendationFindingStatus; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RecommendationFindingStatusType.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RecommendationFindingStatusType.java new file mode 100644 index 0000000000000..5d2b35ac79119 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RecommendationFindingStatusType.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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Recommendation finding status. + */ +public final class RecommendationFindingStatusType extends ExpandableStringEnum { + /** + * Present finding status. + */ + @Generated + public static final RecommendationFindingStatusType PRESENT = fromString("present"); + + /** + * Differential finding status. + */ + @Generated + public static final RecommendationFindingStatusType DIFFERENTIAL = fromString("differential"); + + /** + * Rule out finding status. + */ + @Generated + public static final RecommendationFindingStatusType RULE_OUT = fromString("ruleOut"); + + /** + * Conditional finding status. + */ + @Generated + public static final RecommendationFindingStatusType CONDITIONAL = fromString("conditional"); + + /** + * Creates a new instance of RecommendationFindingStatusType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RecommendationFindingStatusType() { + } + + /** + * Creates or finds a RecommendationFindingStatusType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RecommendationFindingStatusType. + */ + @Generated + @JsonCreator + public static RecommendationFindingStatusType fromString(String name) { + return fromString(name, RecommendationFindingStatusType.class); + } + + /** + * Gets known RecommendationFindingStatusType values. + * + * @return known RecommendationFindingStatusType values. + */ + @Generated + public static Collection values() { + return values(RecommendationFindingStatusType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Reference.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Reference.java new file mode 100644 index 0000000000000..9d2b3ee2d7869 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Reference.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.radiologyinsights.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 { + /* + * 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; + + /* + * 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 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 Reference object itself. + */ + @Generated + public Reference setId(String id) { + this.id = id; + return this; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the Reference object itself. + */ + @Generated + public Reference setExtension(List extension) { + this.extension = extension; + return this; + } + + /** + * 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; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudy.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudy.java new file mode 100644 index 0000000000000..8d50a47a217a8 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudy.java @@ -0,0 +1,436 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.List; + +/** + * Detailed information about Research Study + * Based on [FHIR ResearchStudy](https://www.hl7.org/fhir/R4/researchstudy.html). + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "resourceType") +@JsonTypeName("ResearchStudy") +@Immutable +public final class ResearchStudy extends DomainResource { + /* + * Business Identifier for study + */ + @Generated + @JsonProperty(value = "identifier") + private List identifier; + + /* + * Name for this study + */ + @Generated + @JsonProperty(value = "title") + private String title; + + /* + * Steps followed in executing study + */ + @Generated + @JsonProperty(value = "protocol") + private List protocol; + + /* + * Part of larger study + */ + @Generated + @JsonProperty(value = "partOf") + private List partOf; + + /* + * active | administratively-completed | approved | closed-to-accrual | closed-to-accrual-and-intervention | + * completed | disapproved | in-review | temporarily-closed-to-accrual | + * temporarily-closed-to-accrual-and-intervention | withdrawn + */ + @Generated + @JsonProperty(value = "status") + private ResearchStudyStatusCodeType status; + + /* + * treatment | prevention | diagnostic | supportive-care | screening | health-services-research | basic-science | + * device-feasibility + */ + @Generated + @JsonProperty(value = "primaryPurposeType") + private CodeableConcept primaryPurposeType; + + /* + * n-a | early-phase-1 | phase-1 | phase-1-phase-2 | phase-2 | phase-2-phase-3 | phase-3 | phase-4 + */ + @Generated + @JsonProperty(value = "phase") + private CodeableConcept phase; + + /* + * Classifications for the study + */ + @Generated + @JsonProperty(value = "category") + private List category; + + /* + * Drugs, devices, etc. under study + */ + @Generated + @JsonProperty(value = "focus") + private List focus; + + /* + * Condition being studied + */ + @Generated + @JsonProperty(value = "condition") + private List condition; + + /* + * Contact details for the study + */ + @Generated + @JsonProperty(value = "contact") + private List contact; + + /* + * Used to search for the study + */ + @Generated + @JsonProperty(value = "keyword") + private List keyword; + + /* + * Geographic region(s) for study + */ + @Generated + @JsonProperty(value = "location") + private List location; + + /* + * What this is study doing + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /* + * Inclusion & exclusion criteria + */ + @Generated + @JsonProperty(value = "enrollment") + private List enrollment; + + /* + * When the study began and ended + */ + @Generated + @JsonProperty(value = "period") + private PeriodModel period; + + /* + * Organization that initiates and is legally responsible for the study + */ + @Generated + @JsonProperty(value = "sponsor") + private Reference sponsor; + + /* + * Researcher who oversees multiple aspects of the study + */ + @Generated + @JsonProperty(value = "principalInvestigator") + private Reference principalInvestigator; + + /* + * Facility where study activities are conducted + */ + @Generated + @JsonProperty(value = "site") + private List site; + + /* + * accrual-goal-met | closed-due-to-toxicity | closed-due-to-lack-of-study-progress | + * temporarily-closed-per-study-design + */ + @Generated + @JsonProperty(value = "reasonStopped") + private CodeableConcept reasonStopped; + + /* + * Comments made about the study + */ + @Generated + @JsonProperty(value = "note") + private List note; + + /* + * Defined path through the study for a subject + */ + @Generated + @JsonProperty(value = "arm") + private List arm; + + /* + * A goal for the study + */ + @Generated + @JsonProperty(value = "objective") + private List objective; + + /** + * Creates an instance of ResearchStudy class. + * + * @param resourceType the resourceType value to set. + * @param status the status value to set. + */ + @Generated + @JsonCreator + private ResearchStudy(@JsonProperty(value = "resourceType") String resourceType, + @JsonProperty(value = "status") ResearchStudyStatusCodeType status) { + super(resourceType); + this.status = status; + } + + /** + * Get the identifier property: Business Identifier for study. + * + * @return the identifier value. + */ + @Generated + public List getIdentifier() { + return this.identifier; + } + + /** + * Get the title property: Name for this study. + * + * @return the title value. + */ + @Generated + public String getTitle() { + return this.title; + } + + /** + * Get the protocol property: Steps followed in executing study. + * + * @return the protocol value. + */ + @Generated + public List getProtocol() { + return this.protocol; + } + + /** + * Get the partOf property: Part of larger study. + * + * @return the partOf value. + */ + @Generated + public List getPartOf() { + return this.partOf; + } + + /** + * Get the status property: active | administratively-completed | approved | closed-to-accrual | + * closed-to-accrual-and-intervention | completed | disapproved | in-review | temporarily-closed-to-accrual | + * temporarily-closed-to-accrual-and-intervention | withdrawn. + * + * @return the status value. + */ + @Generated + public ResearchStudyStatusCodeType getStatus() { + return this.status; + } + + /** + * Get the primaryPurposeType property: treatment | prevention | diagnostic | supportive-care | screening | + * health-services-research | basic-science | device-feasibility. + * + * @return the primaryPurposeType value. + */ + @Generated + public CodeableConcept getPrimaryPurposeType() { + return this.primaryPurposeType; + } + + /** + * Get the phase property: n-a | early-phase-1 | phase-1 | phase-1-phase-2 | phase-2 | phase-2-phase-3 | phase-3 | + * phase-4. + * + * @return the phase value. + */ + @Generated + public CodeableConcept getPhase() { + return this.phase; + } + + /** + * Get the category property: Classifications for the study. + * + * @return the category value. + */ + @Generated + public List getCategory() { + return this.category; + } + + /** + * Get the focus property: Drugs, devices, etc. under study. + * + * @return the focus value. + */ + @Generated + public List getFocus() { + return this.focus; + } + + /** + * Get the condition property: Condition being studied. + * + * @return the condition value. + */ + @Generated + public List getCondition() { + return this.condition; + } + + /** + * Get the contact property: Contact details for the study. + * + * @return the contact value. + */ + @Generated + public List getContact() { + return this.contact; + } + + /** + * Get the keyword property: Used to search for the study. + * + * @return the keyword value. + */ + @Generated + public List getKeyword() { + return this.keyword; + } + + /** + * Get the location property: Geographic region(s) for study. + * + * @return the location value. + */ + @Generated + public List getLocation() { + return this.location; + } + + /** + * Get the description property: What this is study doing. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the enrollment property: Inclusion & exclusion criteria. + * + * @return the enrollment value. + */ + @Generated + public List getEnrollment() { + return this.enrollment; + } + + /** + * Get the period property: When the study began and ended. + * + * @return the period value. + */ + @Generated + public PeriodModel getPeriod() { + return this.period; + } + + /** + * Get the sponsor property: Organization that initiates and is legally responsible for the study. + * + * @return the sponsor value. + */ + @Generated + public Reference getSponsor() { + return this.sponsor; + } + + /** + * Get the principalInvestigator property: Researcher who oversees multiple aspects of the study. + * + * @return the principalInvestigator value. + */ + @Generated + public Reference getPrincipalInvestigator() { + return this.principalInvestigator; + } + + /** + * Get the site property: Facility where study activities are conducted. + * + * @return the site value. + */ + @Generated + public List getSite() { + return this.site; + } + + /** + * Get the reasonStopped property: accrual-goal-met | closed-due-to-toxicity | closed-due-to-lack-of-study-progress + * | temporarily-closed-per-study-design. + * + * @return the reasonStopped value. + */ + @Generated + public CodeableConcept getReasonStopped() { + return this.reasonStopped; + } + + /** + * Get the note property: Comments made about the study. + * + * @return the note value. + */ + @Generated + public List getNote() { + return this.note; + } + + /** + * Get the arm property: Defined path through the study for a subject. + * + * @return the arm value. + */ + @Generated + public List getArm() { + return this.arm; + } + + /** + * Get the objective property: A goal for the study. + * + * @return the objective value. + */ + @Generated + public List getObjective() { + return this.objective; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyArm.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyArm.java new file mode 100644 index 0000000000000..4626dcc55bbe1 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyArm.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.radiologyinsights.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 ResearchStudyArm model. + */ +@Immutable +public final class ResearchStudyArm { + /* + * Label for study arm + */ + @Generated + @JsonProperty(value = "name") + private String name; + + /* + * Categorization of study arm + */ + @Generated + @JsonProperty(value = "type") + private CodeableConcept type; + + /* + * Short explanation of study path + */ + @Generated + @JsonProperty(value = "description") + private String description; + + /** + * Creates an instance of ResearchStudyArm class. + * + * @param name the name value to set. + */ + @Generated + @JsonCreator + private ResearchStudyArm(@JsonProperty(value = "name") String name) { + this.name = name; + } + + /** + * Get the name property: Label for study arm. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the type property: Categorization of study arm. + * + * @return the type value. + */ + @Generated + public CodeableConcept getType() { + return this.type; + } + + /** + * Get the description property: Short explanation of study path. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyObjective.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyObjective.java new file mode 100644 index 0000000000000..8bdb0f54d9178 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyObjective.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.radiologyinsights.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 ResearchStudyObjective model. + */ +@Immutable +public final class ResearchStudyObjective { + /* + * Label for the objective + */ + @Generated + @JsonProperty(value = "name") + private String name; + + /* + * primary | secondary | exploratory + */ + @Generated + @JsonProperty(value = "type") + private CodeableConcept type; + + /** + * Creates an instance of ResearchStudyObjective class. + * + * @param name the name value to set. + */ + @Generated + @JsonCreator + private ResearchStudyObjective(@JsonProperty(value = "name") String name) { + this.name = name; + } + + /** + * Get the name property: Label for the objective. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the type property: primary | secondary | exploratory. + * + * @return the type value. + */ + @Generated + public CodeableConcept getType() { + return this.type; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyStatusCodeType.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyStatusCodeType.java new file mode 100644 index 0000000000000..2cc5fa84a153f --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyStatusCodeType.java @@ -0,0 +1,120 @@ +// 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.radiologyinsights.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * https://www.hl7.org/fhir/R4/codesystem-research-study-status.html. + */ +public final class ResearchStudyStatusCodeType extends ExpandableStringEnum { + /** + * The study is open for accrual. + */ + @Generated + public static final ResearchStudyStatusCodeType ACTIVE = fromString("active"); + + /** + * Study is completed prematurely and will not resume; patients are no longer examined nor treated. + */ + @Generated + public static final ResearchStudyStatusCodeType ADMINISTRATIVELY_COMPLETED + = fromString("administratively-completed"); + + /** + * Protocol is approved by the review board. + */ + @Generated + public static final ResearchStudyStatusCodeType APPROVED = fromString("approved"); + + /** + * Study is closed for accrual; patients can be examined and treated. + */ + @Generated + public static final ResearchStudyStatusCodeType CLOSED_TO_ACCRUAL = fromString("closed-to-accrual"); + + /** + * The study is closed to accrual and intervention, i.e. the study is closed to enrollment, all study subjects have + * completed treatment or intervention but are still being followed according to the primary objective of the study. + */ + @Generated + public static final ResearchStudyStatusCodeType CLOSED_TO_ACCRUAL_AND_INTERVENTION + = fromString("closed-to-accrual-and-intervention"); + + /** + * Study is closed to accrual and intervention, i.e. the study is closed to enrollment, all study subjects have + * completed treatment or intervention but are still being followed according to the primary objective of the study. + */ + @Generated + public static final ResearchStudyStatusCodeType COMPLETED = fromString("completed"); + + /** + * Protocol was disapproved by the review board. + */ + @Generated + public static final ResearchStudyStatusCodeType DISAPPROVED = fromString("disapproved"); + + /** + * Protocol is submitted to the review board for approval. + */ + @Generated + public static final ResearchStudyStatusCodeType IN_REVIEW = fromString("in-review"); + + /** + * The study is temporarily closed to accrual; a pause in accrual while study is reviewed, but is expected to + * resume. + */ + @Generated + public static final ResearchStudyStatusCodeType TEMPORARILY_CLOSED_TO_ACCRUAL + = fromString("temporarily-closed-to-accrual"); + + /** + * Study is temporarily closed for accrual; can be potentially resumed in the future. + */ + @Generated + public static final ResearchStudyStatusCodeType TEMPORARILY_CLOSED_TO_ACCRUAL_AND_INTERVENTION + = fromString("temporarily-closed-to-accrual-and-intervention"); + + /** + * Protocol was withdrawn by the lead organization. + */ + @Generated + public static final ResearchStudyStatusCodeType WITHDRAWN = fromString("withdrawn"); + + /** + * Creates a new instance of ResearchStudyStatusCodeType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ResearchStudyStatusCodeType() { + } + + /** + * Creates or finds a ResearchStudyStatusCodeType from its string representation. + * + * @param name a name to look for. + * @return the corresponding ResearchStudyStatusCodeType. + */ + @Generated + @JsonCreator + public static ResearchStudyStatusCodeType fromString(String name) { + return fromString(name, ResearchStudyStatusCodeType.class); + } + + /** + * Gets known ResearchStudyStatusCodeType values. + * + * @return known ResearchStudyStatusCodeType values. + */ + @Generated + public static Collection values() { + return values(ResearchStudyStatusCodeType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Resource.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Resource.java new file mode 100644 index 0000000000000..d953086b9c20f --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Resource.java @@ -0,0 +1,206 @@ +// 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.radiologyinsights.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; + + /* + * Additional properties + */ + @Generated + @JsonIgnore + private Map 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: Additional properties. + * + * @return the additionalProperties value. + */ + @Generated + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + /** + * Set the additionalProperties property: Additional properties. + * + * @param additionalProperties the additionalProperties value to set. + * @return the Resource object itself. + */ + @Generated + public Resource setAdditionalProperties(Map 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-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SampledData.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SampledData.java new file mode 100644 index 0000000000000..92f491031e00f --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SampledData.java @@ -0,0 +1,260 @@ +// 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.radiologyinsights.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 { + /* + * 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; + + /* + * 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 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 SampledData object itself. + */ + @Generated + public SampledData setId(String id) { + this.id = id; + return this; + } + + /** + * Get the extension property: Additional Content defined by implementations. + * + * @return the extension value. + */ + @Generated + public List getExtension() { + return this.extension; + } + + /** + * Set the extension property: Additional Content defined by implementations. + * + * @param extension the extension value to set. + * @return the SampledData object itself. + */ + @Generated + public SampledData setExtension(List extension) { + this.extension = extension; + return this; + } + + /** + * 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; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SexMismatchInference.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SexMismatchInference.java new file mode 100644 index 0000000000000..316035b45ad73 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SexMismatchInference.java @@ -0,0 +1,50 @@ +// 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.radiologyinsights.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 com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** + * A notification for a sex mismatch is displayed when the gender, personal pronouns, gender-related body parts, or + * gender-related procedures mentioned in a patient's clinical document are either inconsistent or do not match the + * gender specified in the patient information. + */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeName("sexMismatch") +@Immutable +public final class SexMismatchInference extends RadiologyInsightsInference { + /* + * Sex indication : SNOMED CT code for gender finding. + */ + @Generated + @JsonProperty(value = "sexIndication") + private CodeableConcept sexIndication; + + /** + * Creates an instance of SexMismatchInference class. + * + * @param sexIndication the sexIndication value to set. + */ + @Generated + @JsonCreator + private SexMismatchInference(@JsonProperty(value = "sexIndication") CodeableConcept sexIndication) { + this.sexIndication = sexIndication; + } + + /** + * Get the sexIndication property: Sex indication : SNOMED CT code for gender finding. + * + * @return the sexIndication value. + */ + @Generated + public CodeableConcept getSexIndication() { + return this.sexIndication; + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SpecialtyType.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/SpecialtyType.java new file mode 100644 index 0000000000000..4c8340eece632 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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 { + /** + * 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 values() { + return values(SpecialtyType.class); + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/TimePeriod.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/TimePeriod.java new file mode 100644 index 0000000000000..26ffcdefcccef --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights.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-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/package-info.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/package-info.java new file mode 100644 index 0000000000000..cbfe7b4f06e8b --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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. + +/** + * + * Package containing the data models for RadiologyInsights. + * Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that + * perform analysis and provide inferences to be used by a human. + * + */ +package com.azure.health.insights.radiologyinsights.models; diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/package-info.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/package-info.java new file mode 100644 index 0000000000000..8b8b1b8b7e60d --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/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. + +/** + * + * Package containing the classes for RadiologyInsights. + * Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that + * perform analysis and provide inferences to be used by a human. + * + */ +package com.azure.health.insights.radiologyinsights; diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/module-info.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/java/module-info.java new file mode 100644 index 0000000000000..604e632935f21 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/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.radiologyinsights { + requires transitive com.azure.core; + requires transitive com.azure.core.experimental; + + exports com.azure.health.insights.radiologyinsights; + exports com.azure.health.insights.radiologyinsights.models; + + opens com.azure.health.insights.radiologyinsights.models to com.azure.core, com.fasterxml.jackson.databind; +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/resources/azure-health-insights-radiologyinsights.properties b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/resources/azure-health-insights-radiologyinsights.properties new file mode 100644 index 0000000000000..ca812989b4f27 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/main/resources/azure-health-insights-radiologyinsights.properties @@ -0,0 +1,2 @@ +name=${project.artifactId} +version=${project.version} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/samples/java/com/azure/health/insights/radiologyinsights/ReadmeSamples.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/samples/java/com/azure/health/insights/radiologyinsights/ReadmeSamples.java new file mode 100644 index 0000000000000..4a8d8bd156300 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/samples/java/com/azure/health/insights/radiologyinsights/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.radiologyinsights; + +public final class ReadmeSamples { + public void readmeSamples() { + // BEGIN: com.azure.health.insights.radiologyinsights.readme + // END: com.azure.health.insights.radiologyinsights.readme + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/test/java/com/azure/health/insights/radiologyinsights/generated/RadiologyInsightsClientTestBase.java b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/test/java/com/azure/health/insights/radiologyinsights/generated/RadiologyInsightsClientTestBase.java new file mode 100644 index 0000000000000..0c4e2aee41440 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/src/test/java/com/azure/health/insights/radiologyinsights/generated/RadiologyInsightsClientTestBase.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.radiologyinsights.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.radiologyinsights.RadiologyInsightsClient; +import com.azure.health.insights.radiologyinsights.RadiologyInsightsClientBuilder; + +class RadiologyInsightsClientTestBase extends TestProxyTestBase { + protected RadiologyInsightsClient radiologyInsightsClient; + + @Override + protected void beforeTest() { + RadiologyInsightsClientBuilder radiologyInsightsClientbuilder = new RadiologyInsightsClientBuilder() + .endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "endpoint")) + .httpClient(HttpClient.createDefault()) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)); + if (getTestMode() == TestMode.PLAYBACK) { + radiologyInsightsClientbuilder.httpClient(interceptorManager.getPlaybackClient()); + } else if (getTestMode() == TestMode.RECORD) { + radiologyInsightsClientbuilder.addPolicy(interceptorManager.getRecordPolicy()); + } + radiologyInsightsClient = radiologyInsightsClientbuilder.buildClient(); + + } +} diff --git a/sdk/healthinsights/azure-healthinsights-radiologyinsights/tsp-location.yaml b/sdk/healthinsights/azure-healthinsights-radiologyinsights/tsp-location.yaml new file mode 100644 index 0000000000000..564ad6146dca6 --- /dev/null +++ b/sdk/healthinsights/azure-healthinsights-radiologyinsights/tsp-location.yaml @@ -0,0 +1,7 @@ +commit: 3025b3f6f47b628c17b60d5d5c553cf123845ecd +additionalDirectories: +- specification/ai/HealthInsights/HealthInsights.Common/ +- specification/ai/HealthInsights/HealthInsights.OpenAPI/ +directory: specification/ai/HealthInsights/HealthInsights.RadiologyInsights +repo: Azure/azure-rest-api-specs + diff --git a/sdk/healthinsights/ci.yml b/sdk/healthinsights/ci.yml index 960570420b498..143a38fb66352 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-radiologyinsights + groupId: com.azure + safeName: azurehealthinsightsradiologyinsights diff --git a/sdk/healthinsights/pom.xml b/sdk/healthinsights/pom.xml index 1620d1255c4f1..d191f769db532 100644 --- a/sdk/healthinsights/pom.xml +++ b/sdk/healthinsights/pom.xml @@ -8,7 +8,8 @@ pom 1.0.0 - azure-health-insights-cancerprofiling - azure-health-insights-clinicalmatching + azure-health-insights-cancerprofiling + azure-health-insights-clinicalmatching + azure-healthinsights-radiologyinsights