Performance
High Performance Communication with FHIR Servers
A common complaint in healthcare is that FHIR servers are too slow. This is often due to their reliance on REST APIs, which can be slower than direct database access, and the use of JSON, which can be more voluminous than tabular data formats. Additionally, working with REST APIs over HTTP introduces challenges like network issues, authentication expiration, and varying support across different FHIR servers.
The b.well Open Source SDK provides a Python client that mitigates these issues. This client supports not only REST APIs but also more optimized formats like $graph and $graphql. The SDK automatically negotiates optimal compression with the FHIR server to reduce data transfer size and supports real-time data streaming (from compatible servers like the b.well FHIR server), allowing you to start using data as it streams, thereby increasing speed and reducing the risk of out-of-memory errors with large datasets.
The SDK also intelligently handles network issues by retrying based on specific HTTP status codes, slowing down requests when the FHIR server is under heavy load, and re-authenticating automatically when needed during data transfers.
Furthermore, the SDK can simulate the $graph operation for FHIR servers that do not natively support it, enabling clients to retrieve a graph of data in a single call rather than requesting each resource individually. It also leverages asynchronous processing to make multiple parallel calls to the FHIR server, thereby increasing throughput.
Note: The b.well FHIR SDK is designed for backend operations or data processing tasks rather than user-facing applications. For mobile or web applications that require FHIR data, consider using the b.well mobile or web client SDKs, which offer additional ease of use.
Updated 9 months ago
