UKCore-Observation-Lab (Test Result)

Summary

An individual test result, represented using UKCore-Observation-Lab. The test result may be for a single test or it may form part of a test group such as a Full Blood Count.

UKCore-Observation-Lab.code is used to represent the clinical code and name of the test.

UKCore-Observation-Lab.hasMember is not used as this profile is used to represent a test result rather than a test group. Where an Observation is being used to represent a test group (with Observation.hasMember references), then UKCore-Observation-Group-Lab should be used instead.

Refer to the UKCore-Observation-Group-Lab profile definition and the Design Overview section for further information.

Profile Views

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

Snapshot View

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

Differential View

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

Hybrid View

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

Examples

UKCore-Observation-Lab Snippets - An example to illustrate how each key data element in UKCore-Observation-Lab may be populated.
Observation (Test Result) Snippets

Bundle Examples - Examples to illustrate the use of UKCore-Observation-Lab within the context of a Bundle.
HbA1c Report
Hepatitis B Surface Antigen Report
HPV Primary Screening Report
Full Blood Count Report
Lipids Profile and HbA1c Report
Liver Function and U&Es Report
Glucose Tolerance Test Report - Unstructured
Glucose Tolerance Test Report - Structured
Urine MC&S Report - Unstructured
Urine MC&S Report - Structured

Observation Examples (Quantitative) - Examples to illustrate the use of UKCore-Observation-Lab for quantitative (i.e. numeric) test results.
Albumin
eGFR

Observation Examples (Semi-quantitative) - Examples to illustrate the use of UKCore-Observation-Lab for semi-quantitative test results.
Epithelial Cells
Organism Susceptibility to Nitrofurantoin

Observation Examples (Qualitative) - Examples to illustrate the use of UKCore-Observation-Lab for qualitative test results.
Hepatitis B Surface Antigen
MRSA Screening Test

Observation Example (Narrative) - An example to illustrate the use of UKCore-Observation-Lab for a narrative (i.e. text-based) test result.
Aerobic Blood Culture

UK Core Examples - Examples from the UK Core Implementation Guide.
UKCore-Observation-Lab-RedCellCount-Example
UKCore-Observation-Lab-WhiteCellCount-Example

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.


category

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

  • 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.


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 = 1107451000000100
  • Observation.code.coding.display = Glucose substance concentration in serum

This SHALL be populated using one of the following:

  • memberOf 1853551000000106 | PaLM (Pathology and Laboratory Medicine) observable entity simple reference set, OR
  • memberOf 999002881000000100 | PBCL (Pathology Bounded Code List) observables simple reference set

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 is a numeric quantity (i.e. a quantitative result type), a standard UCUM code SHOULD be used to represent the associated unit of measure.

If the result value is coded (i.e. a semi-quantitative or qualitative result type), a suitable SNOMED CT concept SHOULD be used, for example:

  • Observation.valueCodeableConcept.coding.system = http://snomed.info/sct
  • Observation.valueCodeableConcept.coding.code = 260385009"
  • Observation.valueCodeableConcept.coding.display = Negative

Note: Semi-quantitative and qualitative results are currently represented as text in PMIP EDIFACT (NHS003). To facilitate the adoption of FHIR and minimise the impact on existing systems and processes, it is anticipated that these types of results will initially continue to be represented as text (using valueString).

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, for example High. The associated test result value (i.e. Observation.value[x]), is usually numeric.

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


hasMember

This element SHOULD NOT be used as this profile is used to represent individual test results. Where an Observation is being used to represent a group of tests (with Observation.hasMember references), then the UKCore-Observation-Group-Lab profile SHOULD be used instead.