R6 Ballot (1st Full Ballot)

This page is part of the FHIR Specification v6.0.0-ballot4: Release 6 Ballot (1st Full Ballot) (see Ballot Notes). The current version is 5.0.0. For a full list of available versions, see the Directory of published versions for published versions icon

Responsible Owner: FHIR Infrastructure icon Work Group Standards Status: Informative

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 icon, where simple searches may result in large amounts of data.

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

FHIR defines two asynchronous patterns:

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

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.)