Observation

Read

GET [baseUrl]/Observation/[id]

Return a single Observation for the specified id.

All requests SHALL contain a valid ‘Authorization’ header and SHALL 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/json+fhir or application/xml+fhir.

GET [baseUrl]/Observation?[searchParameters]

Fetches a bundle of all Observation resources that match the provided searchParameters.

All requests SHALL contain a valid ‘Authorization’ header and SHALL 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/json+fhir or application/xml+fhir.

Search Parameters

This implementation guide outlines some suggested search parameters for the Observation resource in the table below.

Tables

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

The following search combinations are supported

patient + category patient + category + date patient + category + code patient + category + code + date

category

GET [baseUrl]/Observation?patient=[id]&category=code See token for details on this parameter.

To filter on category ( see profile/valueset for codes )

GET [baseUrl]/Observation?patient=1&category=exam

Return all Observation resources with a category of exam and Patient with a logical id of 1.

code

GET [baseUrl]/Observation?patient=[id]&code=[system]|code GET [baseUrl]/Observation?patient=[id]&code=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.

date

GET [baseUrl]/Observation?patient=[id]&date=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.

patient

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

GET [baseUrl]/Observation?patient=[id]

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 Patients with a logical id of 42

GET [baseUrl]/Observation?patient.identifier=[system]|code

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

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 paged list of resources.

The FHIR Server supports the following response codes:

200 successful operation 404 resource not found 410 resource deleted

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

CareConnect-Observation-1 Profile

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textI0..1Narrative
contained0..*Resource
reasonI0..*Extension(Reference(CareConnect-Condition-1), CodeableConcept)
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemΣ1..1uri
valueΣ1..1string
id0..1string
extensionI0..*Extension
startΣ I0..1dateTime
endΣ I0..1dateTime
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
identifierΣ0..1Identifier
displayΣ0..1string
statusΣ ?!1..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
snomedCTDescriptionIDI0..1Extension(id)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
snomedCTDescriptionIDI0..1Extension(id)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
identifierΣ0..1Identifier
displayΣ0..1string
effectiveDateTimedateTime
effectivePeriodPeriod
issuedΣ0..1instant
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
identifierΣ0..1Identifier
displayΣ0..1string
valueQuantityQuantity
valueCodeableConceptCodeableConcept
valueStringstring
valueBooleanboolean
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueAttachmentAttachment
valueTimetime
valueDateTimedateTime
valuePeriodPeriod
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
comment0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
snomedCTDescriptionIDI0..1Extension(id)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
snomedCTDescriptionIDI0..1Extension(id)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
valueΣ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemΣ I0..1uri
codeΣ0..1code
id0..1string
extensionI0..*Extension
valueΣ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemΣ I0..1uri
codeΣ0..1code
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
valueΣ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemΣ I0..1uri
codeΣ0..1code
id0..1string
extensionI0..*Extension
valueΣ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemΣ I0..1uri
codeΣ0..1code
text0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type0..1codeBinding
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
snomedCTDescriptionIDI0..1Extension(id)
systemΣ1..1uriFixed Value
versionΣ0..0string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
valueQuantityQuantity
valueCodeableConceptCodeableConcept
valueStringstring
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueAttachmentAttachment
valueTimetime
valueDateTimedateTime
valuePeriodPeriod
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
referenceRange0..*see (referenceRange)