StructureDefinition-UKCore-Observation-Lab

Canonical_URLCurrent_VersionLast_UpdatedDescription
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation-Lab1.0.02023-04-28

This derived profile represents an individual Laboratory test and result value. These tests can be grouped together using the Observation-Group Profile.


Profile_Purpose

To provide the minimum expectations for each individual Laboratory test.

Snapshot View

url1..1System.StringFixed Value
valueReferenceReference(UK Core Observation)
url1..1System.StringFixed Value
valueCodecode
url1..1System.StringFixed Value
valueStringstring
url1..1System.StringFixed Value
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
statusΣ ?!1..1codeBinding
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
codeΣ1..1CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
effectiveDateTimedateTime
effectivePeriodPeriod
effectiveTimingTiming
effectiveInstantinstant
issuedΣ0..1instant
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
valueQuantityQuantity
valueCodeableConceptCodeableConcept
valueStringstring
valueBooleanboolean
valueIntegerinteger
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueTimetime
valueDateTimedateTime
valuePeriodPeriod
dataAbsentReasonI0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
authorStringstring
authorReferenceReference(UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core RelatedPerson)
timeΣ0..1dateTime
textΣ1..1markdown
bodySite0..1CodeableConceptBinding
method0..1CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
lowI0..1SimpleQuantity
highI0..1SimpleQuantity
type0..1CodeableConceptBinding
appliesTo0..*CodeableConcept
ageI0..1Range
text0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
codeΣ1..1CodeableConceptBinding
valueQuantityQuantity
valueCodeableConceptCodeableConcept
valueStringstring
valueBooleanboolean
valueIntegerinteger
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueTimetime
valueDateTimedateTime
valuePeriodPeriod
dataAbsentReasonI0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
referenceRange0..*see (referenceRange)

Differential View

url1..1System.StringFixed Value
valueReferenceReference(UK Core Observation)
url1..1System.StringFixed Value
valueCodecode
url1..1System.StringFixed Value
valueStringstring
url1..1System.StringFixed Value
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
statusΣ ?!1..1codeBinding
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
codeΣ1..1CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
effectiveDateTimedateTime
effectivePeriodPeriod
effectiveTimingTiming
effectiveInstantinstant
issuedΣ0..1instant
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
valueQuantityQuantity
valueCodeableConceptCodeableConcept
valueStringstring
valueBooleanboolean
valueIntegerinteger
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueTimetime
valueDateTimedateTime
valuePeriodPeriod
dataAbsentReasonI0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
authorStringstring
authorReferenceReference(UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core RelatedPerson)
timeΣ0..1dateTime
textΣ1..1markdown
bodySite0..1CodeableConceptBinding
method0..1CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
lowI0..1SimpleQuantity
highI0..1SimpleQuantity
type0..1CodeableConceptBinding
appliesTo0..*CodeableConcept
ageI0..1Range
text0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
codeΣ1..1CodeableConceptBinding
valueQuantityQuantity
valueCodeableConceptCodeableConcept
valueStringstring
valueBooleanboolean
valueIntegerinteger
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueTimetime
valueDateTimedateTime
valuePeriodPeriod
dataAbsentReasonI0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
referenceRange0..*see (referenceRange)

Hybrid View

url1..1System.StringFixed Value
valueReferenceReference(UK Core Observation)
url1..1System.StringFixed Value
valueCodecode
url1..1System.StringFixed Value
valueStringstring
url1..1System.StringFixed Value
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
statusΣ ?!1..1codeBinding
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
codeΣ1..1CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
effectiveDateTimedateTime
effectivePeriodPeriod
effectiveTimingTiming
effectiveInstantinstant
issuedΣ0..1instant
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
valueQuantityQuantity
valueCodeableConceptCodeableConcept
valueStringstring
valueBooleanboolean
valueIntegerinteger
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueTimetime
valueDateTimedateTime
valuePeriodPeriod
dataAbsentReasonI0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
authorStringstring
authorReferenceReference(UK Core Organization | UK Core Patient | UK Core Practitioner | UK Core RelatedPerson)
timeΣ0..1dateTime
textΣ1..1markdown
bodySite0..1CodeableConceptBinding
method0..1CodeableConceptBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
lowI0..1SimpleQuantity
highI0..1SimpleQuantity
type0..1CodeableConceptBinding
appliesTo0..*CodeableConcept
ageI0..1Range
text0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
codeΣ1..1CodeableConceptBinding
valueQuantityQuantity
valueCodeableConceptCodeableConcept
valueStringstring
valueBooleanboolean
valueIntegerinteger
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueTimetime
valueDateTimedateTime
valuePeriodPeriod
dataAbsentReasonI0..1CodeableConceptBinding
interpretation0..*CodeableConceptBinding
referenceRange0..*see (referenceRange)

Table View

Observation..
Observation.category1..
Observation.category1..1
Observation.category.coding..
Observation.category.coding.system..
Observation.category.coding.code..
Observation.code..
Observation.subjectReference(UK Core Patient)..


XML View

<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="UKCore-Observation-Lab" />
    <url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation-Lab" />
    <version value="1.0.0" />
    <name value="UKCoreObservationLab" />
    <title value="UK Core Observation Lab" />
    <status value="active" />
    <date value="2023-04-28" />
    <publisher value="HL7 UK" />
    <contact>
        <name value="HL7 UK" />
        <telecom>
            <system value="email" />
            <value value="ukcore@hl7.org.uk" />
            <use value="work" />
            <rank value="1" />
        </telecom>
    </contact>
    <description value="This derived profile represents an individual Laboratory test and result value. These tests can be grouped together using the Observation-Group Profile." />
    <purpose value="To provide the minimum expectations for each individual Laboratory test." />
    <fhirVersion value="4.0.1" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="Observation" />
    <baseDefinition value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation" />
    <derivation value="constraint" />
    <differential>
        <element id="Observation">
            <path value="Observation" />
            <constraint>
                <key value="ukcore-obs-lab-001" />
                <severity value="warning" />
                <human value="Either value, dataAbsentReason or note SHOULD be populated" />
                <expression value="value.exists() or dataAbsentReason.exists() or note.exists()" />
            </constraint>
        </element>
        <element id="Observation.category">
            <path value="Observation.category" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="coding.code" />
                </discriminator>
                <rules value="open" />
            </slicing>
            <min value="1" />
        </element>
        <element id="Observation.category:sliceLaboratory">
            <path value="Observation.category" />
            <sliceName value="sliceLaboratory" />
            <min value="1" />
            <max value="1" />
        </element>
        <element id="Observation.category:sliceLaboratory.coding.system">
            <path value="Observation.category.coding.system" />
            <fixedUri value="http://terminology.hl7.org/CodeSystem/observation-category" />
        </element>
        <element id="Observation.category:sliceLaboratory.coding.code">
            <path value="Observation.category.coding.code" />
            <fixedCode value="laboratory" />
        </element>
        <element id="Observation.code">
            <path value="Observation.code" />
            <binding>
                <strength value="preferred" />
                <description value="A code from the SNOMED Clinical Terminology UK coding system regrading laboratory medicine test requests and results" />
                <valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-UnifiedTestList" />
            </binding>
        </element>
        <element id="Observation.subject">
            <path value="Observation.subject" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient" />
            </type>
        </element>
    </differential>
</StructureDefinition>

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "UKCore-Observation-Lab",
    "url": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation-Lab",
    "version": "1.0.0",
    "name": "UKCoreObservationLab",
    "title": "UK Core Observation Lab",
    "status": "active",
    "date": "2023-04-28",
    "publisher": "HL7 UK",
    "contact":  [
        {
            "name": "HL7 UK",
            "telecom":  [
                {
                    "system": "email",
                    "value": "ukcore@hl7.org.uk",
                    "use": "work",
                    "rank": 1
                }
            ]
        }
    ],
    "description": "This derived profile represents an individual Laboratory test and result value. These tests can be grouped together using the Observation-Group Profile.",
    "purpose": "To provide the minimum expectations for each individual Laboratory test.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "Observation",
    "baseDefinition": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "Observation",
                "path": "Observation",
                "constraint":  [
                    {
                        "key": "ukcore-obs-lab-001",
                        "severity": "warning",
                        "human": "Either value, dataAbsentReason or note SHOULD be populated",
                        "expression": "value.exists() or dataAbsentReason.exists() or note.exists()"
                    }
                ]
            },
            {
                "id": "Observation.category",
                "path": "Observation.category",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "coding.code"
                        }
                    ],
                    "rules": "open"
                },
                "min": 1
            },
            {
                "id": "Observation.category:sliceLaboratory",
                "path": "Observation.category",
                "sliceName": "sliceLaboratory",
                "min": 1,
                "max": "1"
            },
            {
                "id": "Observation.category:sliceLaboratory.coding.system",
                "path": "Observation.category.coding.system",
                "fixedUri": "http://terminology.hl7.org/CodeSystem/observation-category"
            },
            {
                "id": "Observation.category:sliceLaboratory.coding.code",
                "path": "Observation.category.coding.code",
                "fixedCode": "laboratory"
            },
            {
                "id": "Observation.code",
                "path": "Observation.code",
                "binding": {
                    "strength": "preferred",
                    "description": "A code from the SNOMED Clinical Terminology UK coding system regrading laboratory medicine test requests and results",
                    "valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-UnifiedTestList"
                }
            },
            {
                "id": "Observation.subject",
                "path": "Observation.subject",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient"
                        ]
                    }
                ]
            }
        ]
    }
}

Examples

Red cell count - An example to illustrate the observation of a red cell count for a blood specimen.
Example UKCore-Observation-Lab-RedCellCount

White cell count - An example to illustrate the observation of a white cell count for a blood specimen.
Example UKCore-Observation-Lab-WhiteCellCount

Example Usage Scenarios

The following are example usage scenarios for the UK Core Observation profile:

  • Query and retrieve a patient's laboratory observations
  • Record or update a patient's laboratory observations

    The Observation-Lab profile is for individual laboratory tests (Observation-Lab) which can be referenced by either Observation-LabGroup to form a larger test set, for example a urea and electrolyte test that contains many sub tests, or a DiagnosticReport-Lab as a single test within the report, for example Serum ferritin level.


Profile Specific Implementation Guidance:

Minimum Viable Content

The minimum viable content that all provider and consumer systems SHALL support are the elements within the corresponding Profile UKCore-Observation table.


Bindings (differential)

More information about the bindings to UK Core ValueSets can be found below.

Context Strength Link
Observation.code Preferred ValueSet UKCore-UnifiedTestList

Constraints (differential)

More information about the constraints on the UKCore-Observation-Lab profile can be found below.

Key Severity Expression Human Description
ukcore-obs-lab-001 warning value.exists() or dataAbsentReason.exists() or note.exists() Either value, dataAbsentReason or note SHOULD be populated.

category

This element has an open slice, and MAY be used to differentiate the specific laboratory's speciality.

Observation.category:sliceLaboratory

The following SHALL be used:

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

subject

The resource being referenced SHALL conform to Profile UKCore-Patient.


hasMember

This element SHOULD NOT be used for pathology requirements, the derived profile Profile UKCore-Observation-LabGroup SHOULD be used instead.


back to top