UKCore-Observation-Lab (Test Result)

Summary

A Pathology specific profile derived from the UK Core and EU-Lab Observation profiles to allow for the use of Pathology Bounded Coded List (PBCL) and Pathology and Laboratory Medicine (PaLM) SNOMED reference sets.

This page details how the profile is used to represent an individual test result. The test result may be for a single test or it may form part of a test group such as a Full Blood Count.

For a description of how the UKCore-Observation-Lab profile is used to represent test groups, refer to UKCore-Observation-Lab (Test Group).

Profile Views

Refer to Profile Descriptions for a definition of the different profile view formats.

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
bodyStructureR5C0..1Extension(Reference(BodyStructure))
ObservationTriggeredByC0..*Extension(Complex)
ObservationOrganizerC0..1Extension(boolean)
modifierExtension?! C0..*Extension
identifierΣ0..*Identifier
basedOnΣ C0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest)
partOfΣ C0..*Reference(ImagingStudy | Immunization | MedicationAdministration | MedicationDispense | MedicationStatement | Procedure)
statusS Σ ?!1..1codeBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
referenceC0..1Extension(uri)
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueUriuri
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueUriuri
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
subjectΣ C0..1Reference(Patient)
focusΣ C0..*Reference(Resource)
encounterΣ C0..1Reference(Encounter)
effectiveDateTimedateTime
effectiveInstantinstant
effectivePeriodPeriod
effectiveTimingTiming
issuedΣ0..1instant
performerΣ C0..*Reference(CareTeam | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
valueBooleanboolean
valueCodeableConceptCodeableConcept
valueDateTimedateTime
valueIntegerinteger
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueStringstring
valueTimetime
dataAbsentReasonC0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
note0..*Annotation
bodySite0..1CodeableConceptBinding
method0..1CodeableConceptBinding
specimenC0..1Reference(Specimen)
deviceC0..1Reference(Device | DeviceMetric)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
lowC0..1SimpleQuantity
highC0..1SimpleQuantity
type0..1CodeableConceptBinding
appliesTo0..*CodeableConcept
ageC0..1Range
text0..1string
hasMemberΣ C0..*Reference(MolecularSequence | Observation | QuestionnaireResponse)
derivedFromΣ C0..*Reference(DocumentReference | ImagingStudy | Media | MolecularSequence | Observation | QuestionnaireResponse)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
codeΣ1..1CodeableConcept
valueBooleanboolean
valueCodeableConceptCodeableConcept
valueDateTimedateTime
valueIntegerinteger
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueStringstring
valueTimetime
dataAbsentReasonC0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
referenceRange0..*see (referenceRange)
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
bodyStructureR5C0..1Extension(Reference(BodyStructure))
ObservationTriggeredByC0..*Extension(Complex)
ObservationOrganizerC0..1Extension(boolean)
modifierExtension?! C0..*Extension
identifierΣ0..*Identifier
basedOnΣ C0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest)
partOfΣ C0..*Reference(ImagingStudy | Immunization | MedicationAdministration | MedicationDispense | MedicationStatement | Procedure)
statusS Σ ?!1..1codeBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
referenceC0..1Extension(uri)
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueUriuri
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueUriuri
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
subjectΣ C0..1Reference(Patient)
focusΣ C0..*Reference(Resource)
encounterΣ C0..1Reference(Encounter)
effectiveDateTimedateTime
effectiveInstantinstant
effectivePeriodPeriod
effectiveTimingTiming
issuedΣ0..1instant
performerΣ C0..*Reference(CareTeam | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
valueBooleanboolean
valueCodeableConceptCodeableConcept
valueDateTimedateTime
valueIntegerinteger
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueStringstring
valueTimetime
dataAbsentReasonC0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
note0..*Annotation
bodySite0..1CodeableConceptBinding
method0..1CodeableConceptBinding
specimenC0..1Reference(Specimen)
deviceC0..1Reference(Device | DeviceMetric)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
lowC0..1SimpleQuantity
highC0..1SimpleQuantity
type0..1CodeableConceptBinding
appliesTo0..*CodeableConcept
ageC0..1Range
text0..1string
hasMemberΣ C0..*Reference(MolecularSequence | Observation | QuestionnaireResponse)
derivedFromΣ C0..*Reference(DocumentReference | ImagingStudy | Media | MolecularSequence | Observation | QuestionnaireResponse)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
codeΣ1..1CodeableConcept
valueBooleanboolean
valueCodeableConceptCodeableConcept
valueDateTimedateTime
valueIntegerinteger
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueStringstring
valueTimetime
dataAbsentReasonC0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
referenceRange0..*see (referenceRange)
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
bodyStructureR5C0..1Extension(Reference(BodyStructure))
ObservationTriggeredByC0..*Extension(Complex)
ObservationOrganizerC0..1Extension(boolean)
modifierExtension?! C0..*Extension
identifierΣ0..*Identifier
basedOnΣ C0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest)
partOfΣ C0..*Reference(ImagingStudy | Immunization | MedicationAdministration | MedicationDispense | MedicationStatement | Procedure)
statusS Σ ?!1..1codeBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
referenceC0..1Extension(uri)
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueUriuri
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueUriuri
systemΣ0..1uri
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
subjectΣ C0..1Reference(Patient)
focusΣ C0..*Reference(Resource)
encounterΣ C0..1Reference(Encounter)
effectiveDateTimedateTime
effectiveInstantinstant
effectivePeriodPeriod
effectiveTimingTiming
issuedΣ0..1instant
performerΣ C0..*Reference(CareTeam | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
valueBooleanboolean
valueCodeableConceptCodeableConcept
valueDateTimedateTime
valueIntegerinteger
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueStringstring
valueTimetime
dataAbsentReasonC0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
note0..*Annotation
bodySite0..1CodeableConceptBinding
method0..1CodeableConceptBinding
specimenC0..1Reference(Specimen)
deviceC0..1Reference(Device | DeviceMetric)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
lowC0..1SimpleQuantity
highC0..1SimpleQuantity
type0..1CodeableConceptBinding
appliesTo0..*CodeableConcept
ageC0..1Range
text0..1string
hasMemberΣ C0..*Reference(MolecularSequence | Observation | QuestionnaireResponse)
derivedFromΣ C0..*Reference(DocumentReference | ImagingStudy | Media | MolecularSequence | Observation | QuestionnaireResponse)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
codeΣ1..1CodeableConcept
valueBooleanboolean
valueCodeableConceptCodeableConcept
valueDateTimedateTime
valueIntegerinteger
valuePeriodPeriod
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueStringstring
valueTimetime
dataAbsentReasonC0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
referenceRange0..*see (referenceRange)

Additional Guidance

The following additional guidance SHOULD be applied when implementing this profile. It SHOULD be used in conjunction with the profile definition presented above and the Profile Specific Implementation Guidance for UKCore-Observation-Lab in the UK Core Implementation Guide (STU3 Sequence).


Extension:ObservationOrganizer

Extension UKCore-ObservationOrganizer SHOULD NOT be used because, in this context, the UKCore-Observation-Lab profile represents an individual test result rather than a test group.


status

This is a mandatory field with options from the CodeSystem ObservationStatus. It is expected most will be set to Observation.status = final


category

The general type of test. As a minimum, the following SHOULD be used:

  • Observation.category.coding.system = http://terminology.hl7.org/CodeSystem/observation-category
  • Observation.category.coding.code = laboratory
  • Observation.category.coding.display = Laboratory

This element has an open slice and MAY be used to differentiate the particular test speciality. This can be coded or provided as text only. If the codes are equivalent use multiple Observation.category.coding, otherwise use multiple Observation.code values.


code

The clinical code and name of the test that was performed, for example:

  • Observation.code.coding.system = http://snomed.info/sct
  • Observation.code.coding.code = 1000661000000107
  • Observation.code.coding.display = Serum sodium level

This element has an open slice and SHALL be populated using one of the following:

  • memberOf 999002881000000100 | PBCL (Pathology Bounded Code List) observables simple reference set, OR
  • memberOf 1853551000000106 | PaLM (Pathology and Laboratory Medicine) observable entity simple reference set, OR
  • if an Observable Entity concept from either of the above reference sets cannot be identified (e.g. if a local reportable has yet to be mapped to SNOMED, or if the reportable is not yet represented in SNOMED), then it is acceptable to use a local code

The standard FHIR Extension valueset-reference SHALL be used to distinguish which value set the SNOMED CT code belongs to. Non SNOMED CT codes, e.g. local codes, do not need to use this extension. If the code belongs to both the PBCL and PaLM reference sets then these need a separate Observation.code.coding along with the valueset-reference extension for each.


effective[x]

The date and time that the test was performed.

The presence of [x] in an element name is used to indicate a choice of data type. The [x] part of the element name is replaced with an appropriate data type, in title-case format e.g. effectiveDateTime.


issued

The date and time that the test result was issued.


value[x]

The test result value.

The presence of [x] in an element name is used to indicate a choice of data type. The [x] part of the element name is replaced with an appropriate data type, in title-case format e.g. valueQuantity.

If the result value has an associated unit of measure, the unit element SHALL be populated with a displayable, text based unit that defines what is measured, for example:

  • Observation.valueQuantity.unit = g/L

Coded representations of units of measure (i.e. using UCUM) SHOULD NOT be used. Accordingly, the code and system elements associated with units of measure SHOULD NOT be used.

Semi-quantitative and qualitative results (e.g. ‘Positive’) are currently represented as text in PMIP EDIFACT (NHS003). To facilitate the initial adoption of FHIR and minimise the impact on existing systems and processes, these types of results SHALL continue to be represented as text (using valueString), rather than using SNOMED CT coded concepts.

Refer to the Design Overview section for further information relating to the representation of different types of test results.


dataAbsentReason

The reason why a test result value was omitted.

The ValueSet defined in FHIR is of limited benefit to UK laboratory use cases. It is therefore recommended that if a data absent reason is included, then a text representation SHOULD be used, for example:

  • Observation.dataAbsentReason.coding.system = http://terminology.hl7.org/CodeSystem/data-absent-reason
  • Observation.dataAbsentReason.coding.code = as-text
  • Observation.dataAbsentReason.text = Specimen unsatisfactory for evaluation

interpretation

A coded, categorical assessment of a test result value.

The codes that can be used can be found in ValueSet England-DeviatingResultIndicator. Be aware that two codes have been mapped from EDIFACT to FHIR. The FHIR versions of these codes (H and L), SHALL be used.

EDIFACT FHIR Display Code System
HI H High http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation
LO L Low http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation
OR OR Outside reference range https://fhir.nhs.uk/England/CodeSystem/England-DeviatingResultIndicator
PA PA Potentially abnormal https://fhir.nhs.uk/England/CodeSystem/England-DeviatingResultIndicator

hasMember

This element SHOULD NOT be used because, in this context, the UKCore-Observation-Lab profile represents an individual test result rather than a test group.

Where an Observation is used to represent a test group (with Observation.hasMember references to the test results), then UKCore-Observation-Lab (Test Group) SHOULD be used instead.