Skip to content

Commit 2500887

Browse files
authored
Merge pull request #126202 from brendankowitz/patch-5
Update fhir-best-practices.md with Bundle concurrency tips
2 parents cc529b8 + 1d4d730 commit 2500887

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

articles/healthcare-apis/fhir/fhir-best-practices.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@ To achieve optimal performance with the import operation, consider the following
3535

3636
In Azure FHIR service, bundles act as containers for multiple resources. Batch and transaction bundles enable users to submit sets of actions in a single HTTP request or response. Consider the following to achieve higher throughput with bundle ingestion.
3737

38-
* **Do** tune the number of concurrent bundle requests to the FHIR server. A high number (>100) may lead to negative scaling and reduced processing throughput. The optimal concurrency is dependent on the complexity of the bundles and resources.
3938
* **Do** generate load on Azure FHIR service in a linear manner and avoid burst operations to prevent performance degradation.
39+
* **Do** tune the number of concurrent bundle requests to the FHIR server. A high number (>100) may lead to negative scaling and reduced processing throughput.
40+
* **DO** use separate transaction bundles for FHIR resources that don't depend on each other, and can be updated separately.
41+
* **Consider** using smaller bundle sizes for complex operations such as conditional creates or updates.
4042
* **Consider** enabling parallel processing for batch and transaction bundles. By default, resources in bundles are processed sequentially. To enhance throughput, you can enable parallel resource processing by adding the HTTP header flag `x-bundle-processing-logic` and setting it to `parallel`. For more information, see the [batch bundle parallel processing documentation](rest-api-capabilities.md#bundle-parallel-processing).
43+
* **Avoid** submitting parallel bundle requests that attempt to update the same resources concurrently, which can cause delays in processing.
44+
* **Avoid** submitting a large number of bundles with a single PUT or POST request can lead to transaction bottlenecks.
4145

4246
> [!NOTE]
43-
> Parallel bundle processing can enhance throughput when there isn't an implicit dependency on the order of resources within an HTTP operation.
44-
45-
* **Consider** splitting resource entries across multiple bundles to increase parallelism, which can enhance throughput. Optimizing the number of resource entries in a bundle can reduce network time.
46-
* **Consider** using smaller bundle sizes for complex operations. Smaller transaction bundles can reduce errors and support data consistency. Use separate transaction bundles for FHIR resources that don't depend on each other, and can be updated separately.
47-
* **Avoid** submitting parallel bundle requests that attempt to update the same resources concurrently, which can cause delays in processing.
47+
> Parallel bundle processing using the `x-bundle-processing-logic` flags can enhance throughput when there isn't an implicit dependency on the order of resources within an HTTP operation.
4848
4949
### Search parameter index tuning
5050

0 commit comments

Comments
 (0)