Measurements and simple assertions made about a patient, device or other subject.

0. References

1. Read

Return a single Observation for the specified id.

All requests MUST contain a valid ‘Authorization’ header and SHOULD contain an ‘Accept’ header. The `Accept` header indicates the format of the response the client is able to understand, this will be one of the following application/fhir+json or application/fhir+xml.

1.1. Response

A full set of response codes can be found here API Response Codes. FHIR Servers MUST support the following response codes:

200 successful operation
400 invalid parameter
401/4xx unauthorized request
403 insufficient scope
404 resource not found
410 resource deleted

Fetches a bundle of all Observation resources for the specified patient.

All requests MUST contain a valid ‘Authorization’ header and SHOULD contain an ‘Accept’ header. The `Accept` header indicates the format of the response the client is able to understand, this will be one of the following application/fhir+xml or application/fhir+json.

2.1. Search Parameters

The search parameters and combinations that are mandated as a minimum in the API for the Observation resource are detailed below.

Query parameters conformance will be categorised as:

MUST - these search parameters MUST be implemented for the specified resource type.

SHOULD - these search parameters are expected to be implemented, if the data to support the query is present in the host system.

Additional search parameters MAY be added to reflect local requirements.

To be conformant, provider systems are required to implement all of the MUST parameters.

The parameters can be used independently or in combination to help refine the search results returned.

Name Type Description Conformance Path
code token The code of the observation type SHOULD Observation.code
date date Obtained date/time.
If the obtained element is a period, a date that falls in the period
MUST Observation.effective[x]
patient reference The subject that the observation is about (if patient) MUST Observation.subject (Patient)

Search parameter combinations for the Observation resource are as follows:

Parameter Combinations Type Conformance Modifiers
patient + date reference + date MUST date modifiers ‘ge’,‘le’,’gt’,’lt’
patient + code reference + token SHOULD
patient + code + date reference + token + date SHOULD date modifiers ‘ge’,‘le’,’gt’,’lt’

This section outlines the search parameter syntax used, with some examples provided.

2.1.1. code

See token for details on this parameter. ‘code’ can be used multiple times as a search parameter

system is a uniform resource identifier which defines which CodeSystem the code belongs to. This is optional and if not present all matching codes will be returned regardles of CodeSystems.

To search for Observations with Baseline body mass index using SNOMED CT

GET [baseUrl]/Observation?patient=[id]&code=http://snomed.info/sct|846931000000101

Return all Observation resources with SNOMED CT code of 846931000000101 and Patient with a logical id of 1.
GET [baseUrl]/Observation?patient=1&code=846931000000101

Return all Observation resources with code of 846931000000101 from any CodeSystem and Patient with a logical id of 1.

2.1.2. date

See date for details on this parameter. ‘date’ can be used multiple times as a search parameter

GET [baseUrl]/Observation?patient=1&date=ge2010-01-01&date=le2011-12-31

Return all Observation resources that have a date greater than or equal to 1st Jan 2010, a date less than or equal to 31st Dec 2011 and Patient with a logical id of 1.

2.1.3. patient

See reference for details on this parameter. The patient parameter can be used two ways:

This MUST be supported for all endpoint provider systems.

id is the logical id of the patient on the server which can be obtained by a Patient resource query.

GET [baseUrl]/Observation?patient=42

Return all Observation resources for Patient with a logical id of 42

This SHOULD be supported for all endpoint provider systems.

system is a uniform resource identifier which defines which CodeSystem the identifer belongs to. For NHS Number this would be https://fhir.nhs.uk/Id/nhs-number and code would be the NHS Number.

GET [baseUrl]/Observation?patient.identifier=https://fhir.nhs.uk/Id/nhs-number|9876543210

Return all Observation resources for Patients with a NHS Number of 9876543210

2.1.4. patient + code + date

To search for Observations with codeBaseline body mass index and date range

GET [baseUrl]/Observation?patient=[id]&code=http://snomed.info/sct|846931000000101&date=ge2010-01-01&date=le2011-12-31

Return all Observation resources with SNOMED CT code of 846931000000101, with a date range greater than or equal to 1st Jan 2010 -> less than or equal to 31st Dec 2011 and Patient with a logical id of 1.
GET [baseUrl]/Observation?patient=1&code=846931000000101&date=ge2010-01-01&date=le2011-12-31

Return all Observation resources with code of 84693100000010 from any CodeSystem, with a date range greater than or equal to 1st Jan 2010 -> less than or equal to 31st Dec 2011 and Patient with a logical id of 1.

2.2. Search Response

If the search fails (cannot be executed, not that there is no matches), the return value is a status code 4xx or 5xx with an OperationOutcome.

If the search succeeds, the return content is a Bundle with type = searchset containing the results of the search as a list of resources in a defined order. The result list can be long, so servers MAY use paging. If they do, they MUST use this Paging method for breaking the list into pages if appropriate. The server MAY also return an OperationOutcome resource with additional information about the search.

A full set of response codes can be found here API Response Codes. FHIR Servers MUST support the following response codes:

200 successful operation
400 invalid parameter
401/4xx unauthorized request
403 insufficient scope
404 resource not found
410 resource deleted
## 3. Example ##

3.1 cURL

Return all Observation resources for Patient with an id of 1002, the format of the response body will be xml. Replace 'baseUrl' with the actual base Url of the FHIR Server.
curl -X GET -H 'Accept: application/fhir+xml' -H 'Authorisation: BEARER [token]' -v 'https://data.developer.nhs.uk/ccri-FHIR/STU3/Observation?patient=1002'

3.2 Explore the Response

Explore the response in XML & JSON on the Reference Implementation below

Reference Implementation

XML Patient id search RI viewer JSON Patient id search RI viewer

Tags: fhir