Sync vs Async Access
Health Gorilla supports both synchronous and asynchronous access models. Synchronous access is supported in the FHIR R4 API and is the recommended method for most workflows. Asynchronous access is available for backward compatibility with FHIR STU3 and in scenarios where response payloads are large or network latency is a concern.
Access by FHIR Version
| FHIR Version | Synchronous Access | Asynchronous Access |
|---|---|---|
| R4 | ✅ Supported (Recommended) | ✅ Supported |
| STU3 | ❌ Not Supported | ✅ Supported (Legacy only) |
Recommended Usage
- Use synchronous R4 access in production environments when retrieving individual patient records or clinical documents, especially with webhook support.
- Use asynchronous access only when required by STU3, or for jobs where processing may take longer (e.g., batch exports).
Synchronous Access (R4 Only)
Synchronous access returns a 200 OK response with a completed FHIR Bundle. This model enables direct, immediate access to patient data and works best when:
- Webhooks are configured to receive updates in real time
- Querying for single-patient records (e.g., via $p360-retrieve)
- Supporting time-sensitive workflows like intake or clinical decision support
Asynchronous Access (STU3 and R4)
Asynchronous workflows return a 202 Accepted response with a polling URL or send a webhook when complete. This model remains available for:
- Legacy clients still using STU3
- Bulk or delayed processing jobs
- Systems that cannot handle large synchronous payloads
Implementation Guidance
- Use the R4 API with synchronous access whenever possible to simplify your workflow and reduce infrastructure complexity.
- Avoid asynchronous STU3 access unless your environment or historical setup requires it.
- If using asynchronous mode, configure webhooks to eliminate the need for polling and improve efficiency.
Summary
Health Gorilla recommends synchronous access using the FHIR R4 API for most real-time workflows. The STU3 API supports asynchronous access only and should be used only when required by legacy implementations. Synchronous R4 access improves performance, simplifies integration, and aligns with modern interoperability standards.