Laboratory IntegrationGuide
Native REST & FHIR R4 orders and results
Implemented native REST and FHIR R4 order submission and result retrieval, guards, and current gating.
On this page
Status
Limitation
Status today: this interface is implemented in source and exercised only in isolated local tests. Its runtime is disabled, no laboratory installation is approved, and no vendor or product version is certified. It cannot carry Sandbox or Production orders until the release-readiness process in Installation validation & go-live is complete.
REST interaction
- Order: one HTTPS request per transmission to the installation's configured endpoint. TLS certificate and hostname verification stay enabled; redirects are refused.
- Acknowledgement: only a response that matches the profile's success contract and echoes the expected correlation is treated as accepted. Anything else is a rejection or an ambiguous outcome.
- Results: retrieved by polling the configured result resource for the correlated order (see Result polling).
FHIR R4 interaction
- Before any order is sent, the server's CapabilityStatement must declare FHIR R4 and ServiceRequest create. Without it, the order is never submitted.
- Order bundles must reference a subject and specimen and carry identifiers; incomplete bundles are refused before transmission.
- Results are normalized from a DiagnosticReport bundle that references the expected ServiceRequest. Supported report states: final, corrected and amended; a report for a different ServiceRequest is refused.
- Not implemented: SMART backend-services token lifecycle, FHIR subscriptions/callbacks.
Duplicates, retries and ambiguous sends
- A send is ambiguous when the request may have reached the laboratory but no conclusive response was received. Ambiguous sends are never retried automatically; they surface as an exception for operator reconciliation.
- Retries apply only to failures where nothing was delivered, up to the transport's bounded attempt limit (5 for HTTPS).
- If the canonical record of an attempt cannot be written after a possible delivery, the adapter does not acknowledge, retry or report success.
- Cross-workspace or cross-environment dispatch is refused.