StructureDefinition-UKCore-DiagnosticReport-Lab

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

Defines the constraints and extensions on the UK Core Profile DiagnosticReport


Profile_Purpose

To provide implementers with additional support when implementing test result data and to provide a consistent structure to how the data is presented.

Snapshot View

url1..1System.StringFixed Value
valueReferenceReference(UK Core Composition)
url1..1System.StringFixed Value
valueAnnotationAnnotation
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
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..1CodeableConceptBindingFixed Value
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
issuedΣ0..1instant
deviceReferenceI0..1Extension(Reference(Device))
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
deviceReferenceI0..*Extension(Reference(Device))
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
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
comment0..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
conclusion0..1string
conclusionCode0..*CodeableConceptBinding
presentedFormI0..*Attachment

Differential View

url1..1System.StringFixed Value
valueReferenceReference(UK Core Composition)
url1..1System.StringFixed Value
valueAnnotationAnnotation
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
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..1CodeableConceptBindingFixed Value
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
issuedΣ0..1instant
deviceReferenceI0..1Extension(Reference(Device))
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
deviceReferenceI0..*Extension(Reference(Device))
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
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
comment0..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
conclusion0..1string
conclusionCode0..*CodeableConceptBinding
presentedFormI0..*Attachment

Hybrid View

url1..1System.StringFixed Value
valueReferenceReference(UK Core Composition)
url1..1System.StringFixed Value
valueAnnotationAnnotation
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
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..1CodeableConceptBindingFixed Value
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
issuedΣ0..1instant
deviceReferenceI0..1Extension(Reference(Device))
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
deviceReferenceI0..*Extension(Reference(Device))
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
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
comment0..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
conclusion0..1string
conclusionCode0..*CodeableConceptBinding
presentedFormI0..*Attachment

Table View

DiagnosticReport..
DiagnosticReport.category1..
DiagnosticReport.category..
DiagnosticReport.category.coding..
DiagnosticReport.category.coding.system..
DiagnosticReport.category.coding.code..
DiagnosticReport.code..
DiagnosticReport.subjectReference(UK Core Patient)1..
DiagnosticReport.resultReference(UK Core Observation | UK Core Observation Lab Group | UK Core Observation Lab)..


XML View

<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="UKCore-DiagnosticReport-Lab" />
    <url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-DiagnosticReport-Lab" />
    <version value="1.0.0" />
    <name value="UKCoreDiagnosticReportLab" />
    <title value="UK Core DiagnosticReport 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="Defines the constraints and extensions on the UK Core Profile DiagnosticReport" />
    <purpose value="To provide implementers with additional support when implementing test result data and to provide a consistent structure to how the data is presented." />
    <fhirVersion value="4.0.1" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="DiagnosticReport" />
    <baseDefinition value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-DiagnosticReport" />
    <derivation value="constraint" />
    <differential>
        <element id="DiagnosticReport">
            <path value="DiagnosticReport" />
            <constraint>
                <key value="ukcore-diag-lab-001" />
                <severity value="warning" />
                <human value="An effective time SHOULD be present if status = partial, preliminary, final, amended, corrected or appended" />
                <expression value="effective.exists() or (effective.empty() and (status in (&#39;partial&#39; | &#39;preliminary&#39; | &#39;final&#39; | &#39;amended&#39; | &#39;corrected&#39; | &#39;appended&#39;)).not())" />
            </constraint>
        </element>
        <element id="DiagnosticReport.category">
            <path value="DiagnosticReport.category" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="coding.code" />
                </discriminator>
                <rules value="open" />
            </slicing>
            <min value="1" />
        </element>
        <element id="DiagnosticReport.category:sliceLaboratory">
            <path value="DiagnosticReport.category" />
            <sliceName value="sliceLaboratory" />
        </element>
        <element id="DiagnosticReport.category:sliceLaboratory.coding.system">
            <path value="DiagnosticReport.category.coding.system" />
            <fixedUri value="http://terminology.hl7.org/CodeSystem/v2-0074" />
        </element>
        <element id="DiagnosticReport.category:sliceLaboratory.coding.code">
            <path value="DiagnosticReport.category.coding.code" />
            <fixedCode value="LAB" />
        </element>
        <element id="DiagnosticReport.code">
            <path value="DiagnosticReport.code" />
            <fixedCodeableConcept>
                <coding>
                    <system value="http://snomed.info/sct" />
                    <code value="721981007" />
                    <display value="Diagnostic studies report" />
                </coding>
            </fixedCodeableConcept>
        </element>
        <element id="DiagnosticReport.subject">
            <path value="DiagnosticReport.subject" />
            <min value="1" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient" />
            </type>
        </element>
        <element id="DiagnosticReport.result">
            <path value="DiagnosticReport.result" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation" />
                <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation-LabGroup" />
                <targetProfile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation-Lab" />
            </type>
        </element>
    </differential>
</StructureDefinition>

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "UKCore-DiagnosticReport-Lab",
    "url": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-DiagnosticReport-Lab",
    "version": "1.0.0",
    "name": "UKCoreDiagnosticReportLab",
    "title": "UK Core DiagnosticReport 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": "Defines the constraints and extensions on the UK Core Profile DiagnosticReport",
    "purpose": "To provide implementers with additional support when implementing test result data and to provide a consistent structure to how the data is presented.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "DiagnosticReport",
    "baseDefinition": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-DiagnosticReport",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "DiagnosticReport",
                "path": "DiagnosticReport",
                "constraint":  [
                    {
                        "key": "ukcore-diag-lab-001",
                        "severity": "warning",
                        "human": "An effective time SHOULD be present if status = partial, preliminary, final, amended, corrected or appended",
                        "expression": "effective.exists() or (effective.empty() and (status in ('partial' | 'preliminary' | 'final' | 'amended' | 'corrected' | 'appended')).not())"
                    }
                ]
            },
            {
                "id": "DiagnosticReport.category",
                "path": "DiagnosticReport.category",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "coding.code"
                        }
                    ],
                    "rules": "open"
                },
                "min": 1
            },
            {
                "id": "DiagnosticReport.category:sliceLaboratory",
                "path": "DiagnosticReport.category",
                "sliceName": "sliceLaboratory"
            },
            {
                "id": "DiagnosticReport.category:sliceLaboratory.coding.system",
                "path": "DiagnosticReport.category.coding.system",
                "fixedUri": "http://terminology.hl7.org/CodeSystem/v2-0074"
            },
            {
                "id": "DiagnosticReport.category:sliceLaboratory.coding.code",
                "path": "DiagnosticReport.category.coding.code",
                "fixedCode": "LAB"
            },
            {
                "id": "DiagnosticReport.code",
                "path": "DiagnosticReport.code",
                "fixedCodeableConcept": {
                    "coding":  [
                        {
                            "system": "http://snomed.info/sct",
                            "code": "721981007",
                            "display": "Diagnostic studies report"
                        }
                    ]
                }
            },
            {
                "id": "DiagnosticReport.subject",
                "path": "DiagnosticReport.subject",
                "min": 1,
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient"
                        ]
                    }
                ]
            },
            {
                "id": "DiagnosticReport.result",
                "path": "DiagnosticReport.result",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation",
                            "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation-LabGroup",
                            "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation-Lab"
                        ]
                    }
                ]
            }
        ]
    }
}

Examples

Diagnostic Studies Report - An example to illustrate a diagnostic studies report containing a specimen and observation for a patient.
Example UKCore-DiagnosticReport-DiagnosticStudiesReport

Example Usage Scenarios

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

  • Query for a specific patient laboratory test result
  • Query for recent laboratory test results
  • Record or update a laboratory test result

Services that should consider using the UK Core DiagnosticReport profile are:

  • Lab Result

Profile Specific Implementation Guidance:

This is a derived profile of Profile UKCore-DiagnosticReport and this page only shows the differences between the two. Refer to the base Profile for more implementation guidance.

The DiagnosticReport-Lab profile is expected to reference either:

  • a set a laboratory observations (Observation-Lab) that are grouped under one observation (Observation-LabGroup), for example a urea and electrolyte test that contains many sub tests,
  • a single laboratory observation (Observation-Lab) that does not form part of a group of tests, for example Serum ferritin level,
  • combinations of the above, for example a blood test may include multiple grouped tests such as Urea and electrolytes, Liver function tests, Full blood count, each having a single instance of Observation-LabGroup, along with single tests such as Serum C reactive protein level, eGFR using creatinine and Serum ferritin level, each having a single instance of Observation-Lab.

Minimum Viable Content

The minimum viable content that all provider and consumer systems SHALL support are the elements within the corresponding Profile UKCore-DiagnosticReport table, along with the following.

Element Reason
DiagnosticReport.performer Responsible diagnostic service.

Constraints (differential)

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

Key Severity Expression Human Description
ukcore-diag-lab-001 warning effective.exists() or (effective.empty() and (status in ('partial' | 'preliminary' | 'final' | 'amended' | 'corrected' | 'appended')).not()) An effective time SHOULD be present if status = partial, preliminary, final, amended, corrected or appended.

category

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

DiagnosticReport.category:sliceLaboratory

The following SHOULD be used for this profile:

  • DiagnosticReport.category.coding.system = http://terminology.hl7.org/CodeSystem/v2-0074
  • DiagnosticReport.category.coding.code = LAB
  • DiagnosticReport.category.coding.display = Laboratory.

code

The following SHALL be used:

  • DiagnosticReport.coding.system = http://snomed.info/sct
  • DiagnosticReport.coding.code = 721981007
  • DiagnosticReport.coding.display = Diagnostic studies report

subject

The resource being referenced SHALL conform to Profile UKCore-Patient


result

The resource being referenced SHALL conform to at least one of the following:


back to top