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¶m2=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