You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this article, we'll cover some of the nuances of the RESTful interactions of Azure API for FHIR.
16
+
In this article, we cover some of the nuances of the RESTful interactions of Azure API for FHIR.
17
17
18
18
## Conditional create/update
19
19
@@ -27,7 +27,7 @@ Azure API for FHIR offers two delete types. There's [Delete](https://www.hl7.org
27
27
28
28
### Delete (Hard + Soft Delete)
29
29
30
-
Delete defined by the FHIR specification requires that after deleting a resource, subsequent non-version specific reads of a resource returns a 410 HTTP status code. Therefore, the resource is no longer found through searching. Additionally, Azure API for FHIR enables you to fully delete (including all history) the resource. To fully delete the resource, you can pass a parameter settings `hardDelete` to true `(DELETE {{FHIR_URL}}/{resource}/{id}?hardDelete=true)`. If you don't pass this parameter or set `hardDelete` to false, the historic versions of the resource will still be available.
30
+
Delete defined by the FHIR specification requires that after deleting a resource, subsequent nonversion specific reads of a resource returns a 410 HTTP status code. Therefore, the resource is no longer found through searching. Additionally, Azure API for FHIR enables you to fully delete (including all history) the resource. To fully delete the resource, you can pass a parameter settings `hardDelete` to true `(DELETE {{FHIR_URL}}/{resource}/{id}?hardDelete=true)`. If you don't pass this parameter or set `hardDelete` to false, the historic versions of the resource will still be available.
31
31
32
32
> [!NOTE]
33
33
> If you only want to delete the history, Azure API for FHIR supports a custom operation called `$purge-history`. This operation allows you to delete the history off of a resource.
@@ -44,13 +44,13 @@ You can do the same search but include `hardDelete=true` to also delete all hist
If you don't use the hard delete parameter, then the record(s) in Azure API for FHIR should still exist. The record(s) can be found by doing a history search on the resource and looking for the last version with data.
53
+
If you don't use the hard delete parameter, then the records in Azure API for FHIR should still exist. The records can be found by doing a history search on the resource and looking for the last version with data.
54
54
55
55
If the ID of the resource that was deleted is known, use the following URL pattern:
56
56
@@ -67,7 +67,7 @@ For example: `https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Pati
67
67
After you've found the record you want to restore, use the `PUT` operation to recreate the resource with the same ID, or use the `POST` operation to make a new resource with the same information.
68
68
69
69
> [!NOTE]
70
-
> There is no time-based expiration for history/soft delete data. The only way to remove history/soft deleted data is with a hard delete or the purge history operation.\
70
+
> There is no time-based expiration for history/soft delete data. The only way to remove history/soft deleted data is with a hard delete or the purge history operation.
71
71
72
72
## Batch Bundles
73
73
In FHIR, bundles can be considered as a container that holds multiple resources. Batch bundles enable users to submit a set of actions to be performed on a server in single HTTP request/response.
@@ -124,15 +124,12 @@ In the case of a batch, each entry is treated as an individual interaction or op
124
124
> [!NOTE]
125
125
> For batch bundles there should be no interdependencies between different entries in FHIR bundle. The success or failure of one entry should not impact the success or failure of another entry.
126
126
127
-
### Batch bundle parallel processing in public preview
127
+
### Batch bundle parallel processing
128
128
129
129
Currently batch bundles are executed serially in FHIR service. To improve performance and throughput, we're enabling parallel processing of batch bundles in public preview.
130
130
To use the capability of parallel batch bundle processing-
131
-
* Set header “x-bundle-processing-logic” value to “parallel”.
132
-
* Ensure there's no overlapping resource ID that is executing on DELETE, POST, PUT or PATCH operations in the same bundle.
133
-
134
-
> [!IMPORTANT]
135
-
> Bundle parallel processing is currently in public preview. Preview APIs and SDKs are provided without a service-level agreement. We recommend that you don't use them for production workloads. Some features might not be supported, or they might have constrained capabilities. For more information, review Supplemental Terms of Use for Microsoft Azure Previews
131
+
* Set header 'x-bundle-processing-logic' value to 'parallel'.
132
+
* Ensure there's no overlapping resource ID that is executing on DELETE, POST, PUT, or PATCH operations in the same bundle.
Copy file name to clipboardExpand all lines: articles/healthcare-apis/azure-api-for-fhir/release-notes.md
+15-3Lines changed: 15 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,18 @@ ms.author: kavitagaddam
17
17
18
18
Azure API for FHIR provides a fully managed deployment of the Microsoft FHIR Server for Azure. The server is an implementation of the [FHIR](https://hl7.org/fhir) standard. This document provides details about the features and enhancements made to Azure API for FHIR.
19
19
20
+
## **March 2024**
21
+
**Batch-bundle parallelization**
22
+
Batch bundles are executed serially in FHIR service by default. To improve throughput with bundle calls, we enabled parallel processing of batch bundles.
-**Fixed: Improve performance for bundle processing**. Updates are made to the task execution method, leading to bundle processing performance improvement. See [PR#3727](https://github.com/microsoft/fhir-server/pull/3727).
30
+
31
+
20
32
## **February 2024**
21
33
**Enables counting all versions (historical and soft deleted) of resources**
22
34
The query parameter _summary=count and _count=0 can be added to _history endpoint to get count of all versioned resources. This count includes soft deleted resources. For more information, see [history management](././../azure-api-for-fhir/purge-history.md).
@@ -74,7 +86,7 @@ For more details, visit [#3222](https://github.com/microsoft/fhir-server/pull/32
74
86
75
87
**Fixed the Error generated when resource is updated using if-match header and PATCH**
76
88
77
-
Bug is now fixed and Resource will be updated if matches the Etag header. For details , see [#2877](https://github.com/microsoft/fhir-server/issues/2877)|
89
+
Bug is now fixed and Resource will be updated if matches the Etag header. For details , see [#2877](https://github.com/microsoft/fhir-server/issues/2877)|.
78
90
79
91
## May 2022
80
92
@@ -124,7 +136,7 @@ Bug is now fixed and Resource will be updated if matches the Etag header. For de
|Added 429 retry and logging in BundleHandler |We sometimes encounter 429 errors when processing a bundle. If the FHIR service receives a 429 at the BundleHandler layer, we abort processing of the bundle and skip the remaining resources. We've added another retry (in addition to the retry present in the data store layer) that will execute one time per resource that encounters a 429. For more about this feature enhancement, see [PR #2400](https://github.com/microsoft/fhir-server/pull/2400).|
127
-
|Billing for `$convert-data` and `$de-id`|Azure API for FHIR's data conversion and de-identified export features are now Generally Available. Billing for `$convert-data` and `$de-id` operations in Azure API for FHIR has been enabled. Billing meters were turned on March 1, 2022. |
139
+
|Billing for `$convert-data` and `$de-id`|Azure API for FHIR's data conversion and deidentified export features are now Generally Available. Billing for `$convert-data` and `$de-id` operations in Azure API for FHIR has been enabled. Billing meters were turned on March 1, 2022. |
128
140
129
141
### **Bug fixes**
130
142
@@ -146,7 +158,7 @@ Bug is now fixed and Resource will be updated if matches the Etag header. For de
|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](https://github.com/microsoft/fhir-server/pull/2343)|
161
+
|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 results in an `InvalidResourceException` like the other values do. [#2343](https://github.com/microsoft/fhir-server/pull/2343)|
150
162
|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](https://github.com/microsoft/fhir-server/pull/2239)|
151
163
|`_sort` can cause `ChainedSearch` to return incorrect results |Previously, the sort options from the chained search's `SearchOption` object wasn't cleared, causing the sorting options to be passed through to the chained subsearch, which aren't valid. This could result in no results when there should be results. This bug is now fixed [#2347](https://github.com/microsoft/fhir-server/pull/2347). It addressed GitHub bug [#2344](https://github.com/microsoft/fhir-server/issues/2344). |
#### Import operation accepts multiple resource types in single file
62
+
63
+
Import operation allowed to have resource type per input file in the request parameters. With this enhance capability, you can pass multiple resource types in single file.
64
+
65
+
#### Bug Fixes
66
+
67
+
-**Fixed: Import operation ingest resources with same resource type and lastUpdated field value**. Before this change, resources executed in a batch with same type and lastUpdated field value were not ingested into the FHIR service. This bug fix addresses the issue. See [PR#3768](https://github.com/microsoft/fhir-server/pull/3768).
68
+
69
+
-**Fixed: FHIR search with 3 or more custom search parameters**. Before this fix, FHIR search query at the root with three or more custom search parameters resulted in HTTP status code 504. See [PR#3701](https://github.com/microsoft/fhir-server/pull/3701).
70
+
71
+
-**Fixed: Improve performance for bundle processing**. Updates are made to the task execution method, leading to bundle processing performance improvement. See [PR#3727](https://github.com/microsoft/fhir-server/pull/3727).
Copy file name to clipboardExpand all lines: includes/fhir-rest-api-bundle.md
+2-5Lines changed: 2 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,12 +70,9 @@ Transaction bundle currently does not support
70
70
1. Conditional Delete operation.
71
71
2. Search operations using _search.
72
72
73
-
### Batch bundle parallel processing in public preview
73
+
### Bundle parallel processing
74
74
75
-
Currently Batch and transaction bundles are executed serially in FHIR service. To improve performance and throughput, we're enabling parallel processing of batch bundles in public preview.
75
+
Currently Batch and transaction bundles are executed serially in FHIR service. To improve performance and throughput, we're enabling parallel processing of bundles.
76
76
To use the capability of parallel batch bundle processing-
77
77
* Set header “x-bundle-processing-logic” value to “parallel”.
78
78
* Ensure there's no overlapping resource ID that is executing on DELETE, POST, PUT or PATCH operations in the same bundle.
79
-
80
-
> [!IMPORTANT]
81
-
> Bundle parallel processing is currently in public preview. Preview APIs and SDKs are provided without a service-level agreement. We recommend that you don't use them for production workloads. Some features might not be supported, or they might have constrained capabilities. For more information, review Supplemental Terms of Use for Microsoft Azure Previews
0 commit comments