Release notes: Azure Health Data Services

[Note] Azure Health Data Services is Generally Available.

For more information about Azure Health Data Services Service Level Agreements, see SLA for Azure Health Data Services.

Azure Health Data Services is a set of managed API services based on open standards and frameworks for the healthcare industry. They enable you to build scalable and secure healthcare solutions by bringing protected health information (PHI) datasets together and connecting them end-to-end with tools for machine learning, analytics, and AI. This document provides details about the features and enhancements made to Azure Health Data Services including the different service types (FHIR service, DICOM service, and MedTech service) that seamlessly work with one another.

December 2022

Azure Health Data Services

Azure Health Data services General Available (GA) in new regions

General availability (GA) of Azure Health Data services in France Central, North Central US and Qatar Central Regions.

DICOM service

DICOM Events available in public preview

Azure Health Data Services Events now include a public preview of two new event types for the DICOM service. These new event types enable applications that use Event Grid to use event-driven workflows when DICOM images are created or deleted.

November 2022

FHIR service

Fixed the Error generated when resource is updated using if-match header and PATCH

Bug is now fixed and Resource will be updated if matches the Etag header. For details , see #2877

Toolkit and Samples Open Source

Azure Health Data Services Toolkit is released

The Azure Health Data Services Toolkit, which was previously in a pre-release state, is now in Public Preview . The toolkit is open-source project and allows customers to more easily customize and extend the functionality of their Azure Health Data Services implementations. The NuGet packages of the toolkit are available for download from the NuGet gallery, and you can find links to them from the repo documentation.

October 2022

MedTech service

Added Deploy to Azure button

Customers can now deploy the MedTech service fully, including Event Hubs, AHDS workspace, FHIR service, MedTech service, and managed identity roles, all by clicking the "Deploy to Azure" button. Deploy the MedTech service using an Azure Resource Manager template

Added the Dropped Event Metrics

Customers can now determine if their mappings are working as intended, as they can now see dropped events as a metric to ensure that data is flowing through accurately.

September 2022

Azure Health Data Services

Bug Fixes

Bug Fix Related information
Querying with :not operator was returning more results than expected The issue is now fixed and querying with :not operator should provide correct results. For more information, see #2790.

Known Issues

Known Issue Description
Using token type fields of length more than 128 characters can result in undesired behavior on create, search, update, and delete operations No workaround.

FHIR Service

Bug Fixes

Bug Fix Related information
Error message is provided for failure in export resulting from long time span With failure in export job due to a long time span, customer will see RequestEntityTooLarge HTTP status code. For more information, see #2790.
In a query sort, functionality throws an error when chained search is performed with same field value. Sort functionality returns a response. For more information, see #2794.
Server doesn't indicate _text not supported When passed as URL parameter,_text returns an error in response when using the Prefer heading with value handling=strict. For more information, see #2779.
Verbose error message is not provided for invalid resource type Verbose error message is added when resource type is invalid or empty for _include and _revinclude searches. For more information, see #2776.

DICOM service

Features

Enhancements/Improvements Related information
Export is GA The export feature for the DICOM service is now generally available. Export enables a user-supplied list of studies, series, and/or instances to be exported in bulk to an Azure Storage account. Learn more about the export feature.
Improved deployment performance Performance improvements have cut the time to deploy new instances of the DICOM service by more than 55% at the 50th percentile.
Reduced strictness when validating STOW requests Some customers have run into issues storing DICOM files that do not perfectly conform to the specification. To enable those files to be stored in the DICOM service, we have reduced the strictness of the validation performed on STOW.

The service will now accept the following:

  • DICOM UIDs that contain trailing whitespace
  • IS, DS, SV, and UV VRs that are not valid numbers
  • Invalid private creator tags

Toolkit and Samples Open Source

Features

Enhancements/Improvements Related information
Azure Health Data Services Toolkit The Azure Health Data Services Toolkit is now in the public preview. The toolkit is open-source and allows to easily customize and extend the functionality of their Azure Health Data Services implementations.

August 2022

FHIR service

Features

Enhancements Related information
Azure Health Data services availability expands to new regions Azure Health Data services is now available in the following regions: Central India, Korea Central, and Sweden Central.
$import is generally available. $import API is now generally available in Azure Health Data Services API version 2022-06-01. See Executing the import by invoking the $import operation on FHIR service in Azure Health Data Services.
$convert-data updated by adding STU3-R4 support. $convert-data added support for FHIR STU3-R4 conversion. See Data conversion for Azure API for FHIR.
Analytics pipeline now supports data filtering. Data filtering is now supported in FHIR to data lake pipeline. See FHIR-Analytics-Pipelines_Filter FHIR data microsoft/FHIR-Analytics-Pipelines github.com.
Analytics pipeline now supports FHIR extensions. Analytics pipeline can process FHIR extensions to generate parquet data. See FHIR-Analytics-Pipelines_Process in pipeline.md at main.

Bug fixes

Bug fixes Related information
History bundles were sorted with the oldest version first We've recently identified an issue with the sorting order of history bundles on FHIR® server. History bundles were sorted with the oldest version first. Per FHIR specification, the sorting of versions defaults to the oldest version last.

This bug fix, addresses FHIR server behavior for sorting history bundle.

We understand if you would like to keep the sorting per existing behavior (oldest version first). To support existing behavior, we recommend you append _sort=_lastUpdated to the HTTP GET command utilized for retrieving history.

For example: <server URL>/_history?_sort=_lastUpdated

For more information, see #2689.  
Queries not providing consistent result count after appended with _sort operator. Issue is now fixed and queries should provide consistent result count, with and without sort operator.

Known issues

Known Issue Description
Using token type fields of more than 128 characters in length can result in undesired behavior on create, search, update, and delete operations. Currently, no workaround available.

For more information about the currently known issues with the FHIR service, see Known issues: FHIR service.

MedTech service

Features and enhancements

Enhancements Related information
New Metric Chart Customers can now see predefined metrics graphs in the MedTech landing page, complete with alerts to ease customers' burden of monitoring their MedTech service.
Availability of Diagnostic Logs There are now pre-defined queries with relevant logs for common issues so that customers can easily debug and diagnose issues in their MedTech service.

DICOM service

Features and enhancements

Enhancements Related information
Modality worklists (UPS-RS) is GA. The modality worklists (UPS-RS) service is now generally available. Learn more about the worklists service.

July 2022

FHIR service

Bug fixes

Bug fixes Related information
(Open Source) History bundles were sorted with the oldest version first. We've recently identified an issue with the sorting order of history bundles on FHIR® server. History bundles were sorted with the oldest version first. Per FHIR specification, the sorting of versions defaults to the oldest version last. This bug fix, addresses FHIR server behavior for sorting history bundle.

We understand if you would like to keep the sorting per existing behavior (oldest version first). To support existing behavior, we recommend you append _sort=_lastUpdated to the HTTP GET command utilized for retrieving history.

For example: <server URL>/_history?_sort=_lastUpdated

For more information, see #2689.

Known issues

Known Issue Description
Using token type fields of more than 128 characters in length can result in undesired behavior on create, search, update, and delete operations. Currently, no workaround available.
Queries not providing consistent result count after appended with _sort operator. For more information, see #2680. Currently, no workaround available.

For more information about the currently known issues with the FHIR service, see Known issues: FHIR service.

MedTech service

Improvements

Azure Health Data Services Related information
Improvements to documentations for Events and MedTech and availability zones. Tested and enhanced usability and functionality. Added new documents to enable customers to better take advantage of the new improvements. See Consume Events with Logic Apps and Deploy Events Using the Azure portal.
One touch launch Azure MedTech deploy. Deploy the MedTech Service in the Azure portal

DICOM service

Features

Enhancements Related information
DICOM Service availability expands to new regions. The DICOM Service is now available in the following regions: Southeast Asia, Central India, Korea Central, and Switzerland North.
Fast retrieval of individual DICOM frames For DICOM images containing multiple frames, performance improvements have been made to enable fast retrieval of individual frames (60 KB frames as fast as 60 MS). These improved performance characteristics enable workflows such as viewing digital pathology images, which require rapid retrieval of individual frames.

June 2022

FHIR service

Bug fixes

Bug fixes Related information
Export Job not being queued for execution. Fixes issue with export job not being queued due to duplicate job definition caused due to reference to container URL. For more information, see #2648.
Queries not providing consistent result count after appended with the _sort operator. Fixes the issue with the help of distinct operator to resolve inconsistency and record duplication in response. For more information, see #2680.

May 2022

FHIR service

Bug fixes

Bug fixes Related information
Removes SQL retry on upsert Removes retry on SQL command for upsert. The error still occurs, but data is saved correctly in success cases. For more information, see #2571.
Added handling for SqlTruncate errors Added a check for SqlTruncate exceptions and tests. In particular, exceptions and tests will catch SqlTruncate exceptions for Decimal type based on the specified precision and scale. For more information, see #2553.

DICOM service

Features

Enhancements Related information
DICOM service supports cross-origin resource sharing (CORS) DICOM service now supports CORS. CORS allows you to configure settings so that applications from one domain (origin) can access resources from a different domain, known as a cross-domain request.
DICOMcast supports Private Link DICOMcast has been updated to support Azure Health Data Services workspaces that have been configured to use Private Link.
UPS-RS supports Change and Retrieve work item Modality worklist (UPS-RS) endpoints have been added to support Change and Retrieve operations for work items.
API version is now required as part of the URI All REST API requests to the DICOM service must now include the API version in the URI. For more information, see API versioning for DICOM service.

Bug fixes

Bug fixes Related information
Index the first value for DICOM tags that incorrectly specify multiple values Attributes that are defined to have a single value but have specified multiple values will now be leniently accepted. The first value for such attributes will be indexed.

April 2022

FHIR service

Features and enhancements

Enhancements Related information
FHIRPath Patch FHIRPath Patch was added as a feature to both the Azure API for FHIR. This implements FHIRPath Patch as defined on the HL7 website.
Handles invalid header on versioned update When the versioning policy is set to "versioned-update", we required that the most recent version of the resource is provided in the request's if-match header on an update. The specified version must be in ETag format. Previously, a 500 would be returned if the version was invalid or in an incorrect format. This update now returns a 400 Bad Request. For more information, see PR #2467.
Bulk import in public preview The bulk-import feature enables importing FHIR data to the FHIR server at high throughput using the $import operation. It's designed for initial data load into the FHIR server. For more information, see Bulk-import FHIR data (Preview).

Bug fixes

Bug fixes Related information
Adds core to resource path Part of the path to a string resource was accidentally removed in the versioning policy. This fix adds it back in. For more information, see PR #2470.

Known issues

For more information about the currently known issues with the FHIR service, see Known issues: FHIR service.

DICOM service

Bug fixes

Bug fixes Related information
Reduce the strictness of validation applied to incoming DICOM files When value representation (VR) is a decimal string (DS)/ integer string (IS), fo-dicom serialization treats value as a number. Customer DICOM files could be old and contains invalid numbers. Our service blocks such file upload due to the serialization exception. For more information, see PR #1450.
Correctly parse a range of input in the content negotiation headers Currently, WADO with Accept: multipart/related; type=application/dicom will throw an error. It will accept Accept: multipart/related; type="application/dicom", but they should be equivalent. For more information, see PR #1462.
Fixed an issue where parallel upload of images in a study could fail under certain circumstances Handle race conditions during parallel instance inserts in the same study. For more information, see PR #1491 and PR #1496.

March 2022

Azure Health Data Services

Features

Feature Related information
Private Link The Private Link feature is now available. With Private Link, you can access Azure Health Data Services securely from your VNet as a first-party service without having to go through a public Domain Name System (DNS). For more information, see Configure Private Link for Azure Health Data Services.

FHIR service

Features

Feature Related information
FHIRPath Patch This new feature enables you to use the FHIRPath Patch operation on FHIR resources. For more information, see FHIR REST API capabilities for Azure Health Data Services FHIR service.

Bug fixes

Bug fixes Related information
SQL timeout returns 408 Previously, a SQL timeout would return a 500. Now a timeout in SQL will return a FHIR OperationOutcome with a 408 status code. For more information, see PR #2497.
Duplicate resources in search with _include Fixed issue where a single resource can be returned twice in a search that has _include. For more information, see PR #2448.
PUT creates on versioned update Fixed issue where creates with PUT resulted in an error when the versioning policy is configured to versioned-update. For more information, see PR #2457.
Invalid header handling on versioned update Fixed issue where invalid if-match header would result in an HTTP 500 error. Now an HTTP Bad Request is returned instead. For more information, see PR #2467.

MedTech service

Features and enhancements

Enhancements Related information
Events The Events feature within Health Data Services is now generally available (GA). The Events feature allows customers to receive notifications and triggers when FHIR observations are created, updated, or deleted. For more information, see Events message structure and What are events?.
Events documentation for Azure Health Data Services Updated docs to allow for better understanding, knowledge, and help for Events as it went GA. Updated troubleshooting for ease of use for the customer.
One touch deploy button for MedTech service launch in the portal Enables easier deployment and use of MedTech service for customers without the need to go back and forth between pages or interfaces.

January 2022

Features and enhancements

Enhancement Related information
Export FHIR data behind firewalls This new feature enables exporting FHIR data to storage accounts behind firewalls. For more information, see Configure export settings and set up a storage account.
Deploy Azure Health Data Services with Azure Bicep This new feature enables you to deploy Azure Health Data Services using Azure Bicep. For more information, see Deploy Azure Health Data Services using Azure Bicep.

DICOM service

Feature enhancements

Enhancements Related information
Customers can define their own query tags using the Extended Query Tags feature With Extended Query Tags feature, customers now efficiently query non-DICOM metadata for capabilities like multi-tenancy and cohorts. It's available for all customers in Azure Health Data Services.

December 2021

Azure Health Data Services

Features and enhancements

Enhancements Related information
Quota details for support requests We've updated the quota details for customer support requests with the latest information.
Local RBAC We've updated the local RBAC documentation to clarify the use of the secondary tenant and the steps to disable it.
Deploy and configure Azure Health Data Services using scripts We've started the process of providing PowerShell, CLI scripts, and ARM templates to configure app registration and role assignments. Scripts for deploying Azure Health Data Services will be available after GA.

FHIR service

Features and enhancements

Enhancements Related information
Added Publisher to CapabilityStatement.name You can now find the publisher in the capability statement at CapabilityStatement.name. #2319
Log FhirOperation linked to anonymous calls to Request metrics We weren't logging operations that didn’t require authentication. We extended the ability to get FhirOperation type in RequestMetrics for anonymous calls. #2295

Bug fixes

Bug fixes Related information
Fixed 500 error when SearchParameter Code is null Fixed an issue with SearchParameter if it had a null value for Code, the result would be a 500. Now it will result in an InvalidResourceException like the other values do. #2343
Returned BadRequestException with valid message when input JSON body is invalid For invalid JSON body requests, the FHIR server was returning a 500 error. Now we'll return a BadRequestException with a valid message instead of 500. #2239
Handled SQL Timeout issue If SQL Server timed out, the PUT /resource{id} returned a 500 error. Now we handle the 500 error and return a timeout exception with an operation outcome. #2290

November 2021

FHIR service

Feature enhancements

Enhancements Related information
Process Patient-everything links We've expanded the Patient-everything capabilities to process patient links #2305. For more information, see Patient-everything in FHIR documentation.
Added software name and version to capability statement. In the capability statement, the software name now distinguishes if you're using Azure API for FHIR or Azure Health Data Services. The software version will now specify which open-source release package is live in the managed service #2294. Addresses: #1778 and #2241
Compress continuation tokens In certain instances, the continuation token was too long to be able to follow the next link in searches and would result in a 404. To resolve this, we compressed the continuation token to ensure it stays below the size limit #2279. Addresses issue #2250.
FHIR service autoscale The FHIR service autoscale is designed to provide optimized service scalability automatically to meet customer demands when they perform data transactions in consistent or various workloads at any time. It's available in all regions where the FHIR service is supported.

Bug fixes

Bug fixes Related information
Resolved 500 error when the date was passed with a time zone. This fix addresses a 500 error when a date with a time zone was passed into a datetime field #2270.
Resolved issue when posting a bundle with incorrect Media Type returned a 500 error. Previously when posting a search with a key that contains certain characters, a 500 error is returned. This fixes issue #2264 and addresses #2148.

DICOM service

Feature enhancements

Enhancements Related information
Content-Type header now includes transfer-syntax. This enhancement enables the user to know which transfer syntax is used in case multiple accept headers are being supplied.

October 2021

Azure Health Data Services

Feature enhancements

Enhancements Related information
Test Data Generator tool We've updated Azure Health Data Services GitHub samples repo to include a Test Data Generator tool using Synthea data. This tool is an improvement to the open source public test projects, based on Apache JMeter that can be deployed to Azure AKS for performance tests.

FHIR service

Feature enhancements

Enhancements Related information
Added support for _sort on strings and dateTime. #2169

Bug fixes

Bug fixes Related information
Fixed issue where Conditional Delete could result in an infinite loop. #2269
Resolved 500 error possibly caused by a malformed transaction body in a bundle POST. We've added a check that the URL is populated in the transaction bundle requests. #2255

DICOM service

Added support Related information
Regions South Brazil and Central Canada. For more information about Azure regions and availability zones, see Azure services that support availability zones.
Extended Query tags DateTime (DT) and Time (TM) Value Representation (VR) types
Bug fixes Related information
Implemented fix to workspace names. Enabled DICOM service to work with workspaces that have names beginning with a letter.

September 2021

FHIR service

Feature enhancements

Enhancements Related information
Added support for conditional patch Conditional patch
Conditional patch #2163
Added conditional patch audit event. #2213
Allow JSON patch in bundles JSON patch in bundles
Allows for search history bundles with Patch requests. #2156
Enabled JSON patch in bundles using Binary resources. #2143
Added new audit event OperationName subtypes #2170
Running a reindex job Re-index improvements
Added boundaries for reindex parameters. #2103
Updated error message for reindex parameter boundaries. #2109
Added final reindex count check. #2099

Bug fixes

Bug fixes Related information
Wider catch for exceptions during applying patch #2192
Fix history with PATCH in STU3 #2177
Custom search bugs Related information
Addresses the delete failure with Custom Search parameters #2133
Added retry logic while Deleting Search parameter #2121
Set max item count in search options in SearchParameterDefinitionManager #2141
Better exception if there's a bad expression in a search parameter #2157
Resolved SQL batch reindex if one resource fails Related information
Updates SQL batch reindex retry logic #2118
GitHub issues closed Related information
Unclear error message for conditional create with no ID #2168

DICOM service

Bug fixes

Bug fixes Related information
Implemented fix to resolve QIDO paging-ordering issues #989

MedTech service

Bug fixes

Bug fixes Related information
MedTech service normalized improvements with calculations to support and enhance health data standardization. See Use Device mappings and Calculated Content Templates

Next steps

In this article, you learned about the features and enhancements made to Azure Health Data Services. For more information about the known issues with Azure Health Data Services, see

For information about the features and bug fixes in Azure API for FHIR, see

FHIR® is a registered trademark of Health Level Seven International, registered in the U.S. Trademark Office and is used with their permission.