View raw Markdown
type: docsource: source/async.html

[%settitle Asynchronous patterns%] [%file newheader%] [%file newnavbar%]

Asynchronous Request Patterns

Responsible Owner: [[%wgt fhir%]]([%wg fhir%]) Work GroupStandards Status: Informative

Use Case

All of the interactions defined in the RESTful API are described as synchronous operations - that is, the client makes a query and waits for the server to respond with the outcome in the HTTP response. This pattern is not always suitable when significant server side processing is necessary or when substantial amounts of data must be returned.

A good example of this is the $export operation, where simple searches may result in large amounts of data.

The asynchronous request patterns, based on rfc 7240, cater to this use case and can be used for FHIR Defined Interactions and Operations.

Patterns

FHIR defines two asynchronous patterns:

For now, these patterns are defined in the API Incubator while the details are finalised through implementation testing.

Conformance

Operations can declare as part of their definition whether they will be performed synchronously, asynchronously, or either. (See OperationDefinition.synchronicity)

Systems can also declare whether specific operations or interactions will be handled synchronously, asynchronously, or a mixture of them with synchronicity extensions in their CapabilityStatements.)

[%file newfooter%]