General

Use of mustSupport

Elements tagged as mustSupport SHALL be interpretated as this:

  • Servers MUST be capable of including the data element as part of a query response if the server claims conformance to the parent resource.
  • Clients MUST be able to process resources containing the element. This could mean displaying the element, persisting it or somehow processing it.
  • Servers can choose to withdraw elements based on their security policies when communicating with specific clients, even if the element is tagged with "mustSupport".

Communication formats

This guide uses the FHIR RESTful API for exchanging information. The content types for exchanging resources in the FHIR specification are the following:

  • XML: application/fhir+xml
  • JSON: application/fhir+json
  • RDF: application/fhir+turtle

Servers SHALL support JSON, and SHOULD support XML. Servers SHOULD respond with JSON by default.

Searching

Search parameters are formatted as this:

GET [base]/[type]{?[parameters]{&_format=[mime-type]}}

An example of this would be GET https://example.org/fhir/Patient?identifier=urn:oid:2.16.578.1.12.4.1.4.1|01017012345. As per the FHIR specification, servers that support searching with GET SHALL also support a POST based search.

POST    [base]/[type]/_search{?[parameters]{&_format=[mime-type]}}
Content-Type: application/x-www-form-urlencoded

param1=value&param2=value

Parameters can exist both in the URL and the body and servers should give them equal meaning.

Common search parameters

Servers MAY choose to support the _summary or _elements search parameters to granulate the search or lower the network load. The _summary search parameter requests the server to return a subset of the resource. If the value of this search parameter is set to _summary=true then the subset SHALL consist of elements marked with isSummary which can be seen in profile definitions with the Σ flag.

If the _summary subset is not appropriate, the _elements search parameter can be used for the client to specify a requested subset of the resource. The _elements search parameters takes a comma seperated list of elements the client requests to recieve.

GET [base]/Patient?_elements=identifier,active,link