Skip to content

Commit 1d66356

Browse files
koen-mertensKarolGelAnil ManyammanyamanilCopilot
authored
Update client and models based on new typespec version (2024-10-01) (#40137)
* chore: Update test-resources.json with additional properties and dependencies * Revert "chore: Update test-resources.json with additional properties and dependencies" This reverts commit 9c0573e. * Update tsp-location.yaml * generate SDK * Update tsp-location.yaml * Create sample_guidance_inference.py * newly generated sdk rest api spec commitid 41f3ddf290980b9d98c38b762d5d7900b62c388b * examples for guidance, quality measure and scoring * Update _version.py * Update tsp-location.yaml * add markers to code * tsp update for new commit id * fix async test failure * add a new unknown word for radiologyinsights in cspell * add more words to cspell. add documentation to readme, changelog * add 2.0.0 change log * pylint checkers * Readme documentation * Update README.md * Update CHANGELOG.md * fix santizer url for recordings in conftest * Update sdk/healthinsights/azure-healthinsights-radiologyinsights/README.md Co-authored-by: Copilot <[email protected]> * review comments. minor changes * fix README for the sample changes * fix reviewers comments * regenerate SDK with new tsp * typespec update client regenerated * add missing information in samples --------- Co-authored-by: Karolien Gellynck <[email protected]> Co-authored-by: Anil Manyam <[email protected]> Co-authored-by: Manyam, Anil <[email protected]> Co-authored-by: Copilot <[email protected]>
1 parent eb97ae1 commit 1d66356

File tree

62 files changed

+6218
-813
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+6218
-813
lines changed

.vscode/cspell.json

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1972,7 +1972,27 @@
19721972
"pericholecystic",
19731973
"craniocaudally",
19741974
"angiomyolipomas",
1975-
"Omnipaque"
1975+
"Omnipaque",
1976+
"acrad",
1977+
"MEDNAX",
1978+
"BIRADS",
1979+
"FRAX",
1980+
"ASCVD",
1981+
"TYRER",
1982+
"CUSICK",
1983+
"AGATSTON",
1984+
"CEUS",
1985+
"HNPCC",
1986+
"KELLGREN",
1987+
"TONNIS",
1988+
"Fleischner",
1989+
"CTCHWO",
1990+
"hilar",
1991+
"docid",
1992+
"encounterid",
1993+
"authorid",
1994+
"USTHY",
1995+
"assesment"
19761996
]
19771997
},
19781998
{

sdk/healthinsights/azure-healthinsights-radiologyinsights/CHANGELOG.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,24 @@
11
# Release History
22

3-
## 1.0.1 (Unreleased)
3+
## 1.1.0 (Unreleased)
44

5-
### Features Added
6-
7-
### Breaking Changes
5+
Extending scope with inferences for scoring and assessment, quality measure and guidance.
86

9-
### Bugs Fixed
7+
### Features Added
108

11-
### Other Changes
9+
- 3 new inferences added:
10+
- ScoringAndAssessmentInference
11+
- AssessmentValueRange
12+
- ScoringAndAssessmentCategoryType
13+
- GuidanceInference
14+
- GuidanceOptions
15+
- PresentGuidanceInformation
16+
- GuidanceRankingType
17+
- QualityMeasureInference
18+
- QualityMeasureOptions
19+
- QualityMeasureType
20+
- QualityMeasureComplianceType
21+
- Added samples for scoring and assessment, Quality Measure and Guidance
1222

1323
## 1.0.0 (2024-09-10)
1424

sdk/healthinsights/azure-healthinsights-radiologyinsights/MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ include azure/healthinsights/radiologyinsights/py.typed
44
recursive-include tests *.py
55
recursive-include samples *.py *.md
66
include azure/__init__.py
7-
include azure/healthinsights/__init__.py
7+
include azure/healthinsights/__init__.py

sdk/healthinsights/azure-healthinsights-radiologyinsights/README.md

Lines changed: 85 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ This table shows the relationship between SDK versions and supported API version
2323
| SDK version | Supported API version of service |
2424
|-------------|----------------------------------|
2525
| 1.0.0 | 2024-04-01 |
26+
| 1.1.0 | 2024-10-01 |
2627

2728

2829
### Authenticate the client
@@ -78,6 +79,9 @@ Once you've initialized a 'RadiologyInsightsClient', you can use it to analyse d
7879
* Follow-up Recommendation
7980
* Communication
8081
* Radiology Procedure
82+
* Guidance
83+
* Quality Measure
84+
* Scoring and Assessment
8185

8286
Radiology Insights currently supports one document from one patient. Please take a look [here][inferences] for more detailed information about the inferences this service produces.
8387

@@ -96,6 +100,10 @@ For an example how to create a client, a request and get the result see the exam
96100
* [Limited Order Discrepancy](#get-limited-order-discrepancy-information)
97101
* [Radiology Procedure](#get-radiology-procedure-information)
98102
* [Sex Mismatch](#get-sex-mismatch-information)
103+
* [Guidance](#get-guidance-information)
104+
* [Quality Measure](#get-quality-measure-inference-information)
105+
* [Scoring and Assessment](#get-scoring-and-assessment-inference-information)
106+
99107

100108
### Running the samples
101109

@@ -287,6 +295,82 @@ for patient_result in radiology_insights_result.patient_results:
287295
```
288296
<!-- SNIPPET:sample_sex_mismatch_inference_async.display_sex_mismatch-->
289297

298+
### Get Guidance information
299+
<!-- SNIPPET:sample_guidance_inference_async.display_guidance-->
300+
```Python
301+
for patient_result in radiology_insights_result.patient_results:
302+
for ri_inference in patient_result.inferences:
303+
if ri_inference.kind == models.RadiologyInsightsInferenceType.GUIDANCE:
304+
guidance = ri_inference
305+
print(f"Guidance Inference found:")
306+
if guidance.identifier and guidance.identifier.coding:
307+
for code in guidance.identifier.coding:
308+
print(f"Identifier: {code.display}")
309+
for info in guidance.missing_guidance_information:
310+
print(f"Missing Guidance: {info}")
311+
for info in guidance.present_guidance_information:
312+
print(f"Present Guidance: {info.present_guidance_item}")
313+
for value in info.present_guidance_values:
314+
print(f"Value: {value}")
315+
print(f"Ranking: {guidance.ranking.value}")
316+
```
317+
<!-- SNIPPET:sample_guidance_inference_async.display_guidance-->
318+
319+
320+
### Get Quality Measure Inference information
321+
<!-- SNIPPET:sample_quality_measure_inference_async.display_quality_measure-->
322+
```Python
323+
for patient_result in radiology_insights_result.patient_results:
324+
counter = 0
325+
for ri_inference in patient_result.inferences:
326+
if ri_inference.kind == models.RadiologyInsightsInferenceType.QUALITY_MEASURE:
327+
counter += 1
328+
print(f"Quality Measure {counter} Inference found")
329+
330+
# Print Quality Measure Denominator
331+
if ri_inference.quality_measure_denominator:
332+
print(f"Quality Measure Denominator: {ri_inference.quality_measure_denominator}")
333+
334+
# Print Compliance Type
335+
if ri_inference.compliance_type:
336+
print(f"Compliance Type: {ri_inference.compliance_type}")
337+
338+
# Print Quality Criteria
339+
if ri_inference.quality_criteria:
340+
for criteria in ri_inference.quality_criteria:
341+
print(f"Quality Criterium: {criteria}")
342+
```
343+
<!-- SNIPPET:sample_quality_measure_inference_async.display_quality_measure-->
344+
345+
### Get Scoring and Assessment Inference information
346+
<!-- SNIPPET:sample_scoring_and_assessment_inference_async.display_scoring_and_assessment-->
347+
```Python
348+
for patient_result in radiology_insights_result.patient_results:
349+
counter = 0
350+
for ri_inference in patient_result.inferences:
351+
if ri_inference.kind == models.RadiologyInsightsInferenceType.SCORING_AND_ASSESSMENT:
352+
counter += 1
353+
print(f"Scoring and assessment {counter} Inference found")
354+
355+
# Print Category
356+
if ri_inference.category:
357+
print(f"Category : {ri_inference.category}")
358+
359+
# Print Compliance Type
360+
if ri_inference.category_description:
361+
print(f"Category Description: {ri_inference.category_description}")
362+
363+
# Print Quality Criteria
364+
if ri_inference.single_value:
365+
print(f"Single Value: {ri_inference.single_value}")
366+
367+
# Print Range Value
368+
if ri_inference.range_value:
369+
display_range_value(ri_inference.range_value)
370+
371+
```
372+
<!-- SNIPPET:sample_scoring_and_assessment_inference_async.display_scoring_and_assessment-->
373+
290374
For detailed conceptual information of this and other inferences please read more [here][inferences].
291375

292376
## Troubleshooting
@@ -337,4 +421,4 @@ additional questions or comments.
337421
[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/
338422
[python]: https://www.python.org/downloads/
339423
[sample_folder]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/healthinsights/azure-healthinsights-radiologyinsights/samples
340-
[azure_credential]: https://learn.microsoft.com/python/api/overview/azure/identity-readme
424+
[azure_credential]: https://learn.microsoft.com/python/api/overview/azure/identity-readme
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"apiVersion": "2024-10-01"
3+
}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
{
2+
"CrossLanguagePackageId": "AzureHealthInsights",
3+
"CrossLanguageDefinitionId": {
4+
"azure.healthinsights.radiologyinsights.models.RadiologyInsightsInference": "AzureHealthInsights.RadiologyInsightsInference",
5+
"azure.healthinsights.radiologyinsights.models.AgeMismatchInference": "AzureHealthInsights.AgeMismatchInference",
6+
"azure.healthinsights.radiologyinsights.models.Element": "Fhir.R4.Element",
7+
"azure.healthinsights.radiologyinsights.models.Annotation": "Fhir.R4.Annotation",
8+
"azure.healthinsights.radiologyinsights.models.AssessmentValueRange": "AzureHealthInsights.AssessmentValueRange",
9+
"azure.healthinsights.radiologyinsights.models.CodeableConcept": "Fhir.R4.CodeableConcept",
10+
"azure.healthinsights.radiologyinsights.models.Coding": "Fhir.R4.Coding",
11+
"azure.healthinsights.radiologyinsights.models.CompleteOrderDiscrepancyInference": "AzureHealthInsights.CompleteOrderDiscrepancyInference",
12+
"azure.healthinsights.radiologyinsights.models.CriticalResult": "AzureHealthInsights.CriticalResult",
13+
"azure.healthinsights.radiologyinsights.models.CriticalResultInference": "AzureHealthInsights.CriticalResultInference",
14+
"azure.healthinsights.radiologyinsights.models.DocumentAdministrativeMetadata": "AzureHealthInsights.DocumentAdministrativeMetadata",
15+
"azure.healthinsights.radiologyinsights.models.DocumentAuthor": "AzureHealthInsights.DocumentAuthor",
16+
"azure.healthinsights.radiologyinsights.models.DocumentContent": "AzureHealthInsights.DocumentContent",
17+
"azure.healthinsights.radiologyinsights.models.Resource": "Fhir.R4.Resource",
18+
"azure.healthinsights.radiologyinsights.models.DomainResource": "Fhir.R4.DomainResource",
19+
"azure.healthinsights.radiologyinsights.models.Extension": "Fhir.R4.Extension",
20+
"azure.healthinsights.radiologyinsights.models.FindingInference": "AzureHealthInsights.FindingInference",
21+
"azure.healthinsights.radiologyinsights.models.FindingOptions": "AzureHealthInsights.FindingOptions",
22+
"azure.healthinsights.radiologyinsights.models.FollowupCommunicationInference": "AzureHealthInsights.FollowupCommunicationInference",
23+
"azure.healthinsights.radiologyinsights.models.FollowupRecommendationInference": "AzureHealthInsights.FollowupRecommendationInference",
24+
"azure.healthinsights.radiologyinsights.models.FollowupRecommendationOptions": "AzureHealthInsights.FollowupRecommendationOptions",
25+
"azure.healthinsights.radiologyinsights.models.ProcedureRecommendation": "AzureHealthInsights.ProcedureRecommendation",
26+
"azure.healthinsights.radiologyinsights.models.GenericProcedureRecommendation": "AzureHealthInsights.GenericProcedureRecommendation",
27+
"azure.healthinsights.radiologyinsights.models.GuidanceInference": "AzureHealthInsights.GuidanceInference",
28+
"azure.healthinsights.radiologyinsights.models.GuidanceOptions": "AzureHealthInsights.GuidanceOptions",
29+
"azure.healthinsights.radiologyinsights.models.HealthInsightsErrorResponse": "AzureHealthInsights.HealthInsightsErrorResponse",
30+
"azure.healthinsights.radiologyinsights.models.Identifier": "Fhir.R4.Identifier",
31+
"azure.healthinsights.radiologyinsights.models.ImagingProcedure": "AzureHealthInsights.ImagingProcedure",
32+
"azure.healthinsights.radiologyinsights.models.ImagingProcedureRecommendation": "AzureHealthInsights.ImagingProcedureRecommendation",
33+
"azure.healthinsights.radiologyinsights.models.LateralityDiscrepancyInference": "AzureHealthInsights.LateralityDiscrepancyInference",
34+
"azure.healthinsights.radiologyinsights.models.LimitedOrderDiscrepancyInference": "AzureHealthInsights.LimitedOrderDiscrepancyInference",
35+
"azure.healthinsights.radiologyinsights.models.Meta": "Fhir.R4.Meta",
36+
"azure.healthinsights.radiologyinsights.models.Narrative": "Fhir.R4.Narrative",
37+
"azure.healthinsights.radiologyinsights.models.Observation": "Fhir.R4.Observation",
38+
"azure.healthinsights.radiologyinsights.models.ObservationComponent": "Fhir.R4.ObservationComponent",
39+
"azure.healthinsights.radiologyinsights.models.ObservationReferenceRange": "Fhir.R4.ObservationReferenceRange",
40+
"azure.healthinsights.radiologyinsights.models.OrderedProcedure": "AzureHealthInsights.OrderedProcedure",
41+
"azure.healthinsights.radiologyinsights.models.PatientDetails": "AzureHealthInsights.PatientDetails",
42+
"azure.healthinsights.radiologyinsights.models.PatientDocument": "AzureHealthInsights.PatientDocument",
43+
"azure.healthinsights.radiologyinsights.models.PatientEncounter": "AzureHealthInsights.PatientEncounter",
44+
"azure.healthinsights.radiologyinsights.models.PatientRecord": "AzureHealthInsights.PatientRecord",
45+
"azure.healthinsights.radiologyinsights.models.Period": "Fhir.R4.Period",
46+
"azure.healthinsights.radiologyinsights.models.PresentGuidanceInformation": "AzureHealthInsights.PresentGuidanceInformation",
47+
"azure.healthinsights.radiologyinsights.models.QualityMeasureInference": "AzureHealthInsights.QualityMeasureInference",
48+
"azure.healthinsights.radiologyinsights.models.QualityMeasureOptions": "AzureHealthInsights.QualityMeasureOptions",
49+
"azure.healthinsights.radiologyinsights.models.Quantity": "Fhir.R4.Quantity",
50+
"azure.healthinsights.radiologyinsights.models.RadiologyCodeWithTypes": "AzureHealthInsights.RadiologyCodeWithTypes",
51+
"azure.healthinsights.radiologyinsights.models.RadiologyInsightsData": "AzureHealthInsights.RadiologyInsightsData",
52+
"azure.healthinsights.radiologyinsights.models.RadiologyInsightsInferenceOptions": "AzureHealthInsights.RadiologyInsightsInferenceOptions",
53+
"azure.healthinsights.radiologyinsights.models.RadiologyInsightsInferenceResult": "AzureHealthInsights.RadiologyInsightsInferenceResult",
54+
"azure.healthinsights.radiologyinsights.models.RadiologyInsightsJob": "AzureHealthInsights.RadiologyInsightsJob",
55+
"azure.healthinsights.radiologyinsights.models.RadiologyInsightsModelConfiguration": "AzureHealthInsights.RadiologyInsightsModelConfiguration",
56+
"azure.healthinsights.radiologyinsights.models.RadiologyInsightsPatientResult": "AzureHealthInsights.RadiologyInsightsPatientResult",
57+
"azure.healthinsights.radiologyinsights.models.RadiologyProcedureInference": "AzureHealthInsights.RadiologyProcedureInference",
58+
"azure.healthinsights.radiologyinsights.models.Range": "Fhir.R4.Range",
59+
"azure.healthinsights.radiologyinsights.models.Ratio": "Fhir.R4.Ratio",
60+
"azure.healthinsights.radiologyinsights.models.RecommendationFinding": "AzureHealthInsights.RecommendationFinding",
61+
"azure.healthinsights.radiologyinsights.models.Reference": "Fhir.R4.Reference",
62+
"azure.healthinsights.radiologyinsights.models.SampledData": "Fhir.R4.SampledData",
63+
"azure.healthinsights.radiologyinsights.models.ScoringAndAssessmentInference": "AzureHealthInsights.ScoringAndAssessmentInference",
64+
"azure.healthinsights.radiologyinsights.models.SexMismatchInference": "AzureHealthInsights.SexMismatchInference",
65+
"azure.healthinsights.radiologyinsights.models.TimePeriod": "AzureHealthInsights.TimePeriod",
66+
"azure.healthinsights.radiologyinsights.models.PatientSex": "AzureHealthInsights.PatientSex",
67+
"azure.healthinsights.radiologyinsights.models.EncounterClass": "AzureHealthInsights.EncounterClass",
68+
"azure.healthinsights.radiologyinsights.models.DocumentType": "AzureHealthInsights.DocumentType",
69+
"azure.healthinsights.radiologyinsights.models.ClinicalDocumentType": "AzureHealthInsights.ClinicalDocumentType",
70+
"azure.healthinsights.radiologyinsights.models.SpecialtyType": "AzureHealthInsights.SpecialtyType",
71+
"azure.healthinsights.radiologyinsights.models.DocumentContentSourceType": "AzureHealthInsights.DocumentContentSourceType",
72+
"azure.healthinsights.radiologyinsights.models.RadiologyInsightsInferenceType": "AzureHealthInsights.RadiologyInsightsInferenceType",
73+
"azure.healthinsights.radiologyinsights.models.QualityMeasureType": "AzureHealthInsights.QualityMeasureType",
74+
"azure.healthinsights.radiologyinsights.models.ResearchStudyStatusCodeType": "Fhir.R4.ResearchStudyStatusCodeType",
75+
"azure.healthinsights.radiologyinsights.models.ContactPointSystem": "Fhir.R4.ContactPointSystem",
76+
"azure.healthinsights.radiologyinsights.models.ContactPointUse": "Fhir.R4.ContactPointUse",
77+
"azure.healthinsights.radiologyinsights.models.ObservationStatusCodeType": "Fhir.R4.ObservationStatusCodeType",
78+
"azure.healthinsights.radiologyinsights.models.MedicalProfessionalType": "AzureHealthInsights.MedicalProfessionalType",
79+
"azure.healthinsights.radiologyinsights.models.RecommendationFindingStatusType": "AzureHealthInsights.RecommendationFindingStatusType",
80+
"azure.healthinsights.radiologyinsights.models.GuidanceRankingType": "AzureHealthInsights.GuidanceRankingType",
81+
"azure.healthinsights.radiologyinsights.models.LateralityDiscrepancyType": "AzureHealthInsights.LateralityDiscrepancyType",
82+
"azure.healthinsights.radiologyinsights.models.QualityMeasureComplianceType": "AzureHealthInsights.QualityMeasureComplianceType",
83+
"azure.healthinsights.radiologyinsights.models.ScoringAndAssessmentCategoryType": "AzureHealthInsights.ScoringAndAssessmentCategoryType",
84+
"azure.healthinsights.radiologyinsights.models.JobStatus": "AzureHealthInsights.JobStatus",
85+
"azure.healthinsights.radiologyinsights.RadiologyInsightsClient.begin_infer_radiology_insights": "ClientForAzureHealthInsights.RadiologyInsightsClient.inferRadiologyInsights",
86+
"azure.healthinsights.radiologyinsights.aio.RadiologyInsightsClient.begin_infer_radiology_insights": "ClientForAzureHealthInsights.RadiologyInsightsClient.inferRadiologyInsights"
87+
}
88+
}

sdk/healthinsights/azure-healthinsights-radiologyinsights/assets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"AssetsRepo": "Azure/azure-sdk-assets",
33
"AssetsRepoPrefixPath": "python",
44
"TagPrefix": "python/healthinsights/azure-healthinsights-radiologyinsights",
5-
"Tag": "python/healthinsights/azure-healthinsights-radiologyinsights_9381678d4d"
5+
"Tag": "python/healthinsights/azure-healthinsights-radiologyinsights_cfabbd0915"
66
}

sdk/healthinsights/azure-healthinsights-radiologyinsights/azure/healthinsights/radiologyinsights/__init__.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,28 @@
55
# Code generated by Microsoft (R) Python Code Generator.
66
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
77
# --------------------------------------------------------------------------
8+
# pylint: disable=wrong-import-position
89

9-
from ._patch import RadiologyInsightsClient
10+
from typing import TYPE_CHECKING
11+
12+
if TYPE_CHECKING:
13+
from ._patch import * # pylint: disable=unused-wildcard-import
14+
15+
from ._client import RadiologyInsightsClient # type: ignore
1016
from ._version import VERSION
1117

1218
__version__ = VERSION
1319

14-
20+
try:
21+
from ._patch import __all__ as _patch_all
22+
from ._patch import *
23+
except ImportError:
24+
_patch_all = []
1525
from ._patch import patch_sdk as _patch_sdk
1626

1727
__all__ = [
1828
"RadiologyInsightsClient",
1929
]
20-
30+
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
2131

2232
_patch_sdk()

0 commit comments

Comments
 (0)