Skip to main content

Observation

The Graphnet CareCentric system can store a wide variety of Observation profiles. For an Observation to be valid then the following criteria must be met:

  • The Observation must conform to the CareConnect-Observation-1 profile as published by HL7 UK

  • Further restrictions are provided by the Graphnet specific profile https://fhir.graphnethealth.com/STU3/StructureDefinition/Observation

Extensions​

No extensions are used for the AllergyIntollerance profile within the Graphnet solution.

Implemented Data Items​

The Graphnet FHIR Observation API currently supports a limited number of elements from the FHIR observation resource, this is expected to be extended in future releases.

The table below details where constraints are added. The FHIR API will not allow records to be stored containing restricted elements.

PathLevel of Support
Observation.identifierSystem & Value only
Observation.basedOnProhibited – not supported.
Observation.status"Final" only
Observation.categoryProhibited – not supported.
Observation.codeRestricted values (see below)
Observation.subjectSystem & Value only
Observation.contextSystem & Value only
Observation.effectiveDateTime only
Observation.performerRestricted values (see below)
Observation.valueQuantity only
Observation.dataAbsentreasonProhibited – not supported.
Observation.interpretationLimited values (see below)
Observation.bodySiteProhibited – not supported.
Observation.methodProhibited – not supported.
Observation.specimenProhibited – not supported.
Observation.deviceProhibited – not supported.
Observation.referenceRangeRestricted values (see below)
Observation.relatedProhibited – not supported.
Observation.componentProhibited – not supported.

Observation.identifier​

Multiple identifiers are accepted, though only the system and value components should be present.

"identifier": [
{
"system": "http://www.acme.com/health/Id",
"value": "069e985e-7eb1-47a2-9a21-513edc2086af"
},
{
"system": "http://www.med.com/id",
"value": "32443-234/DF"
}
]

Observation.code​

A maximum of two codes can be attached to each record.

When using SNOMED CT codes, a SNOMED CT Concept Code is recorded as

{
"system": "http://snomed.info/sct",
"code": "103228002",
"display": "Blood oxygen saturation"
}

If the SNOMED description Id is also known, this can be recorded making use of the standard FHIR extension available for this

{
"extension": [
{
"extension": [
{
"url": "descriptionId",
"valueString": "260893019"
},
{
"url": "descriptionDisplay",
"valueString": "Haemoglobin saturation with oxygen
}
],
"url": "https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-coding-sctdescid"
}
],
"system": "http://snomed.info/sct",
"code": "103228002",
"display": "Blood oxygen saturation"
}

If non SNOMED codes are used then these can be recorded either with or without the SNOMED equivalent

({
"system": "http://snomed.info/sct",
"code": "103228002",
"display": "Blood oxygen saturation"
},
{
"system": "urn:iso:std:iso:11073:10101",
"code": "150456",
"display": "MDC_PULS_OXIM_SAT_O2"
})
danger

If SNOMED CT codes are used then the codes must be semantically relevant for an observation. Invalid codes will not be excepted.

Observation.performer​

Limited information is persisted for performers in the current Graphnet API. Currently, this is limited to the name of the performer only.

"performer": [
{
"display": "Dr David Mannings"
}
]

Observation.value​

Currently, observations only cater for values that are observable quantities, such as

"valueQuantity": {
"value": 95,
"unit": "%",
"system": "http://unitsofmeasure.org",
"code": "%"
}

Ideally, the standardised units of measure should be used, though these can be omitted if they are not known.

"valueQuantity": {
"value": 95,
"unit": "%"
}

Observation.interpretation​

The API will only accept a limited number of interpretations at the current time - this is expected to be extended in later releases.

Currently, the API caters for normal and abnormal interpretations using the values shown below.

"interpretation": [
{
"coding": [
{
"system": "http://hl7.org/fhir/v2/0078",
"code": "A",
"display": "Abnormal"
}
]
}
],
"interpretation": [
{
"coding": [
{
"system": "http://hl7.org/fhir/v2/0078",
"code": "N",
"display": "Normal"
}
]
}
]

Observation.referenceRange​

The Graphnet Observation API allows a single reference range to be added to an Observation record. This is optional and can contain a high range, low range or both.

"referenceRange": [
{
"low": {
"value": 90,
"unit": "%"
},
"high": {
"value": 99,
"unit": "%"
}
}
]