Skip to content

Commit 08aaa56

Browse files
Merge pull request #267714 from EXPEkesheth/patch-154
Added bundle parellization information for Azure API for fhir
2 parents 33a7581 + 6905de9 commit 08aaa56

File tree

1 file changed

+68
-2
lines changed

1 file changed

+68
-2
lines changed

articles/healthcare-apis/azure-api-for-fhir/fhir-rest-api-capabilities.md

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,72 @@ For example: `https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Pati
6767
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.
6868

6969
> [!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+
72+
## Batch Bundles
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.
74+
75+
A batch bundle interaction with FHIR service is performed with HTTP POST command at base URL.
76+
```rest
77+
POST {{fhir_url}}
78+
{
79+
"resourceType": "Bundle",
80+
"type": "batch",
81+
"entry": [
82+
{
83+
"resource": {
84+
"resourceType": "Patient",
85+
"id": "patient-1",
86+
"name": [
87+
{
88+
"given": ["Alice"],
89+
"family": "Smith"
90+
}
91+
],
92+
"gender": "female",
93+
"birthDate": "1990-05-15"
94+
},
95+
"request": {
96+
"method": "POST",
97+
"url": "Patient"
98+
}
99+
},
100+
{
101+
"resource": {
102+
"resourceType": "Patient",
103+
"id": "patient-2",
104+
"name": [
105+
{
106+
"given": ["Bob"],
107+
"family": "Johnson"
108+
}
109+
],
110+
"gender": "male",
111+
"birthDate": "1985-08-23"
112+
},
113+
"request": {
114+
"method": "POST",
115+
"url": "Patient"
116+
}
117+
}
118+
}
119+
]
120+
}
121+
```
122+
123+
In the case of a batch, each entry is treated as an individual interaction or operation.
124+
> [!NOTE]
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+
127+
### Batch bundle parallel processing in public preview
128+
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+
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
71136
72137
## Patch and Conditional Patch
73138

@@ -162,7 +227,8 @@ Content-Type: `application/json`
162227
```
163228

164229
## Performance consideration with Conditional operations
165-
Conditional interactions can be complex and performance-intensive. To enhance the latency of queries involving conditional interactions, you have the option to utilize the request header **x-conditionalquery-processing-logic** . Setting this header to **parallel** allows concurrent execution of queries with conditional interactions.
230+
1. Conditional interactions can be complex and performance-intensive. To enhance the latency of queries involving conditional interactions, you have the option to utilize the request header **x-conditionalquery-processing-logic** . Setting this header to **parallel** allows concurrent execution of queries with conditional interactions.
231+
2. **x-ms-query-latency-over-efficiency** header value when set to "true", all queries are executed using maximum supported parallelism, which forces the scan of physical partitions to be executed concurrently. This feature was designed for accounts with a high number of physical partitions which queries can take longer due to the number of physical segments that need to be scanned.
166232

167233
## Next steps
168234

0 commit comments

Comments
 (0)