## Profile Comparison between http://hl7.eu/fhir/laboratory/StructureDefinition/Specimen-obl-eu-lab vs http://hl7.eu/fhir/laboratory/StructureDefinition/Specimen-obl-eu-lab

Left: | Specimen: Obligations (http://hl7.eu/fhir/laboratory/StructureDefinition/Specimen-obl-eu-lab)
Right: | Specimen: Obligations (http://hl7.eu/fhir/laboratory/StructureDefinition/Specimen-obl-eu-lab)

### Messages

Error | StructureDefinition.version | Values for version differ: '0.1.1' vs '2.0.0-alpha'
Information | StructureDefinition.status | Values for status differ: 'active' vs 'draft'
Information | StructureDefinition.date | Values for date differ: '2025-03-25T12:00:10+01:00' vs '2026-02-25T15:28:07+01:00'
Information | Specimen.language | Example/preferred bindings differ at Specimen.language using binding from SpecimenEuObligations
Information | StructureDefinition.comment | Values for comment differ: 'If the specimen.type conveys information about the site the specimen has been collected from, then, if the bodySite is present, it shall be coherent with the type' vs 'If the specimen.type conveys information about the site the specimen has been collected from, then, if the bodySite if present it shall be coherent with the type.'
Information | StructureDefinition.comment | Values for comment differ: 'If the specimen.type conveys information about the site the specimen has been collected from, then, if the bodySite if present it shall be coherent with the type' vs 'If the specimen.type conveys information about the site the specimen has been collected from, then, if the bodySite is present, it shall be coherent with the type'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.eu/fhir/laboratory/StructureDefinition/Specimen-eu-lab |
copyright | Used by permission of HL7 Europe, all rights reserved Creative Commons License |
date | 2025-03-25T12:00:10+01:00 | 2026-02-25T15:28:07+01:00 | Values Differ
description | This profile defines obligations for Specimen in FHIR for the purpose of this guide. |
experimental |  |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#150 |
kind | resource |
name | SpecimenEuObligations |
publisher | HL7 Europe |
purpose |  |
status | active | draft | Values Differ
title | Specimen: Obligations |
type | Specimen |
url | http://hl7.eu/fhir/laboratory/StructureDefinition/Specimen-obl-eu-lab |
version | 0.1.1 | 2.0.0-alpha | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Specimen |  | 0..* | SpecimenEu | Laboratory Specimen |  | 0..* | SpecimenEu | Laboratory Specimen |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
| Example/preferred bindings differ at Specimen.language using binding from SpecimenEuObligations
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | External Identifier | Σ | 0..* | Identifier | External Identifier |
accessionIdentifier | Σ | 0..1 | Identifier | Identifier assigned by the lab | Σ | 0..1 | Identifier | Identifier assigned by the lab |
status | ?!Σ | 0..1 | code | available | unavailable | unsatisfactory | entered-in-error Binding: ?? (required): Codes providing the status/availability of a specimen. | ?!Σ | 0..1 | code | available | unavailable | unsatisfactory | entered-in-error Binding: ?? (required): Codes providing the status/availability of a specimen. |
type | O Σ | 0..1 | CodeableConcept | Kind of material that forms the specimen Binding: ?? (preferred)
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHALL:able-to-populate | LabReportCreator
| O Σ | 0..1 | CodeableConcept | Kind of material that forms the specimen Binding: ?? (preferred)
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHALL:able-to-populate | LabReportCreator
subject | O Σ | 0..1 | Reference(Patient: Person | Patient: Animal | Group | Device | Substance | Location) | Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHALL:able-to-populate | LabReportCreator
| O Σ | 0..1 | Reference(Patient (EU core) | Patient: Animal | Group | Device | Substance | Location) | Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHALL:able-to-populate | LabReportCreator
receivedTime | Σ | 0..1 | dateTime | The time when specimen was received for processing | Σ | 0..1 | dateTime | The time when specimen was received for processing |
parent |  | 0..* | Reference(Specimen: Laboratory) | Specimen from which this specimen originated |  | 0..* | Reference(Specimen: Laboratory) | Specimen from which this specimen originated |
request | O | 0..* | Reference(ServiceRequest) | Why the specimen was collected.
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHOULD:able-to-populate | LabReportCreator
| O | 0..* | Reference(ServiceRequest) | Why the specimen was collected.
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHOULD:able-to-populate | LabReportCreator
collection | O | 0..1 | BackboneElement | Collection details
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHALL:able-to-populate | LabReportCreator
| O | 0..1 | BackboneElement | Collection details
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHALL:able-to-populate | LabReportCreator
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
collector | Σ | 0..1 | Reference(Practitioner | PractitionerRole) | Who collected the specimen | Σ | 0..1 | Reference(Practitioner | PractitionerRole) | Who collected the specimen |
collected[x] | Σ | 0..1 | dateTime, Period | Collection time | Σ | 0..1 | dateTime, Period | Collection time |
duration | Σ | 0..1 | Duration | How long it took to collect specimen | Σ | 0..1 | Duration | How long it took to collect specimen |
quantity |  | 0..1 | ?? | The quantity of specimen collected |  | 0..1 | ?? | The quantity of specimen collected |
method |  | 0..1 | CodeableConcept | Technique used to perform collection Binding: ?? (example): The technique that is used to perform the procedure. |  | 0..1 | CodeableConcept | Technique used to perform collection Binding: ?? (example): The technique that is used to perform the procedure. |
bodySite | O | 0..1 | CodeableConcept | Anatomical collection site Binding: ?? (preferred)
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHALL:able-to-populate | LabReportCreator
| O | 0..1 | CodeableConcept | Anatomical collection site Binding: ?? (preferred)
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHALL:able-to-populate | LabReportCreator
fastingStatus[x] | Σ | 0..1 | CodeableConcept, Duration | Whether or how long patient abstained from food and/or drink Binding: ?? (extensible): Codes describing the fasting status of the patient. | Σ | 0..1 | CodeableConcept, Duration | Whether or how long patient abstained from food and/or drink Binding: ?? (extensible): Codes describing the fasting status of the patient. |
processing |  | 0..* | BackboneElement | Processing and processing step details |  | 0..* | BackboneElement | Processing and processing step details |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
description |  | 0..1 | string | Textual description of procedure |  | 0..1 | string | Textual description of procedure |
procedure |  | 0..1 | CodeableConcept | Indicates the treatment step applied to the specimen Binding: ?? (example): Type indicating the technique used to process the specimen. |  | 0..1 | CodeableConcept | Indicates the treatment step applied to the specimen Binding: ?? (example): Type indicating the technique used to process the specimen. |
additive | O | 0..* | Reference(Substance | Substance: Specimen Additive Substance) | Material used in the processing step
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHOULD:able-to-populate | LabReportCreator
| O | 0..* | Reference(Substance | Substance: Specimen Additive Substance) | Material used in the processing step
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHOULD:able-to-populate | LabReportCreator
time[x] |  | 0..1 | dateTime, Period | Date and time of specimen processing |  | 0..1 | dateTime, Period | Date and time of specimen processing |
container | O | 0..* | BackboneElement | Direct container of specimen (tube/slide, etc.)
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHALL:able-to-populate | LabReportCreator
| O | 0..* | BackboneElement | Direct container of specimen (tube/slide, etc.)
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHALL:able-to-populate | LabReportCreator
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
identifier | Σ | 0..* | Identifier | Id for the container | Σ | 0..* | Identifier | Id for the container |
description |  | 0..1 | string | Textual description of the container |  | 0..1 | string | Textual description of the container |
type | O | 0..1 | CodeableConcept | Kind of container directly associated with specimen Binding: ?? (preferred)
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHALL:able-to-populate | LabReportCreator
| O | 0..1 | CodeableConcept | Kind of container directly associated with specimen Binding: ?? (preferred)
Obligations | Actor
SHALL:handle | LabReportRepos
SHALL:handle | LabReportConsumer
SHALL:able-to-populate | LabReportCreator
capacity |  | 0..1 | ?? | Container volume or size |  | 0..1 | ?? | Container volume or size |
specimenQuantity |  | 0..1 | ?? | Quantity of specimen within container |  | 0..1 | ?? | Quantity of specimen within container |
additive[x] |  | 0..0 |  | Additive associated with container Binding: ?? (example): Substance added to specimen container. |  | 0..0 |  | Additive associated with container Binding: ?? (example): Substance added to specimen container. |
condition | Σ | 0..* | CodeableConcept | State of the specimen Binding: ?? (extensible): Codes describing the state of the specimen. | Σ | 0..* | CodeableConcept | State of the specimen Binding: ?? (extensible): Codes describing the state of the specimen. |
note |  | 0..* | Annotation | Comments |  | 0..* | Annotation | Comments |
Documentation for this format