StructureDefinition UKCore-Specimen

Canonical_URLStatusCurrent_VersionLast_UpdatedDescription
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Specimenactive3.1.02025-01-22

This profile defines the UK constraints and extensions on the International FHIR resource Specimen.


Profile_Purpose

This profile allows the exchange of information about a sample to be used for analysis.

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
sampleCategoryC0..1Extension(CodeableConcept)
modifierExtension?! C0..*Extension
identifierΣ0..*Identifier
accessionIdentifierΣ0..1Identifier
statusS Σ ?!0..1codeBinding
typeS Σ0..1CodeableConceptBinding
subjectS Σ0..1Reference(Patient | Group | Device | Substance | Location)
receivedTimeS Σ0..1dateTime
parent0..*Reference(Specimen)
request0..*Reference(ServiceRequest)
id0..1string
specialHandlingC0..*Extension(CodeableConcept)
collectorR5C0..1Extension(Reference(Patient | RelatedPerson))
modifierExtensionΣ ?! C0..*Extension
collectorΣ0..1Reference(Practitioner | PractitionerRole)
collectedDateTimedateTime
collectedPeriodPeriod
durationΣ0..1Duration
quantity0..1SimpleQuantity
method0..1CodeableConcept
id0..1string
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
valueReferenceReference(BodyStructure)
codingΣ0..*Coding
textΣ0..1string
fastingStatusCodeableConceptCodeableConcept
fastingStatusDurationDuration
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
description0..1string
procedure0..1CodeableConcept
additive0..*Reference(Substance)
timeDateTimedateTime
timePeriodPeriod
id0..1string
deviceR5C0..1Extension(Reference(Device))
locationR5C0..1Extension(Reference(UKCoreLocation))
modifierExtensionΣ ?! C0..*Extension
identifierΣ0..*Identifier
description0..1string
type0..1CodeableConceptBinding
capacity0..1SimpleQuantity
specimenQuantity0..1SimpleQuantity
additiveCodeableConceptCodeableConcept
additiveReferenceReference(Substance)
conditionΣ0..*CodeableConceptBinding
note0..*Annotation

Detailed Descriptions

Specimen
ShortSample for analysis
Definition

A sample to be used for analysis.

Cardinality0..*
Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity. Role, or Act
  • rim: Role[classCode=SPEC]
Specimen.id
ShortLogical id of this artifact
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality0..1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Specimen.meta
ShortMetadata about the resource
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Specimen.implicitRules
ShortA set of rules under which this content was created
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Specimen.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

A human language.

CommonLanguages (preferred)

Binding extensions
maxValueSetAllLanguages
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Specimen.text
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
Specimen.contained
ShortContained, inline Resources
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: N/A
Specimen.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Specimen.extension:sampleCategory
ShortAn extension to record the category of a sample.
Definition

This extension allows the recording of the category of a sample for use within Genomics, whether it is a tumour or germline sample.

Cardinality0..1
TypeExtension(CodeableConcept)
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
  • rim: n/a
Specimen.modifierExtension
ShortExtensions that cannot be ignored
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Specimen.identifier
ShortExternal Identifier
Definition

Id for specimen.

Cardinality0..*
TypeIdentifier
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: SPM-2
  • rim: .id
Specimen.accessionIdentifier
ShortIdentifier assigned by the lab
Definition

The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab procedures.

Cardinality0..1
TypeIdentifier
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: SPM-30 (v2.7+)
  • rim: .participation[typeCode=SBJ].act[classCode=ACSN, moodCode=EVN].id
Specimen.status
ShortThe availability of the specimen sample.
Definition

The availability of the specimen.

Cardinality0..1
Typecode
Binding

Codes providing the status/availability of a specimen.

SpecimenStatus (required)

Must SupportTrue
ModifierTrue
SummaryTrue
Comments

This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.status
  • v2: SPM-20
  • rim: status
Specimen.type
ShortThe kind of material that forms the specimen.
Definition

The kind of material that forms the specimen.

Cardinality0..1
TypeCodeableConcept
Binding

A code from the SNOMED CT UK Clinical Terminology coding system

UKCoreSpecimenType (preferred)

Must SupportTrue
SummaryTrue
Comments

The type can change the way that a specimen is handled and drives what kind of analyses can properly be performed on the specimen. It is frequently used in diagnostic work flow decision making systems.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.what[x]
  • v2: SPM-4 and possibly SPM-5
  • rim: .code
Specimen.subject
ShortWhere the specimen came from.
Definition

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.

Cardinality0..1
TypeReference(Patient | Group | Device | Substance | Location)
Must SupportTrue
SummaryTrue
Requirements

Must know the subject context.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.subject[x]
  • rim: .scoper or .scoper.playsRole
  • w5: FiveWs.subject
Specimen.receivedTime
ShortThe time when specimen was received for processing.
Definition

Time when specimen was received for processing or testing.

Cardinality0..1
TypedateTime
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.done[x]
  • v2: SPM-18
  • rim: .participation[typeCode=SBJ].act[code=SPCREC, moodCode=EVN].effectiveTime
Specimen.parent
ShortSpecimen from which this specimen originated
Definition

Reference to the parent (source) specimen which is used when the specimen was either derived from or a component of another specimen.

Cardinality0..*
TypeReference(Specimen)
Comments

The parent specimen could be the source from which the current specimen is derived by some processing step (e.g. an aliquot or isolate or extracted nucleic acids from clinical samples) or one of many specimens that were combined to create a pooled sample.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .scoper (if parent) .player.scopesRole[classCode=SPEC].player (if child)
Specimen.request
ShortWhy the specimen was collected
Definition

Details concerning a service request that required a specimen to be collected.

Cardinality0..*
TypeReference(ServiceRequest)
Comments

The request may be explicit or implied such with a ServiceRequest that requires a blood draw.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.why[x]
  • v2: ORC? OBR-2/3?
  • rim: outboundRelationship[typeCode=FLFS].target
Specimen.collection
ShortCollection details
Definition

Details concerning the specimen collection.

Cardinality0..1
TypeBackboneElement
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ukcore-spec-001: Only one of Specimen.collection.collector or Specimen.collection.extension:collectorR5 can be populated at a time.
    collector.reference.empty() or collector.extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.collection.collector').empty()
Mappings
  • v2: SPM-14
  • rim: .participation[typeCode=SBJ].act[classCode=SPECCOLLECT, moodCode=EVN]
Specimen.collection.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Specimen.collection.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Specimen.collection.extension:specialHandling
ShortThis SHOULD be included if there is a high contamination risk reason for a sample / biopsy.
Definition

Special handling during the collection, transport, or storage of the specimen.

Cardinality0..*
TypeExtension(CodeableConcept)
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Specimen.collection.extension:collectorR5
ShortPerson who collected the specimen.
Definition

Person who collected the specimen.

Cardinality0..1
TypeExtension(Reference(Patient | RelatedPerson))
Aliasextensions, user content
Comments

If this extension is used then Specimen.collection.collector SHALL NOT have a value to keep the cardinality restraint 0..1

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Specimen.collection.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Specimen.collection.collector
ShortWho collected the specimen
Definition

Person who collected the specimen.

Cardinality0..1
TypeReference(Practitioner | PractitionerRole)
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.actor
  • v2: PRT
  • rim: .participation[typeCode=PFM].role
Specimen.collection.collected[x]
ShortCollection time
Definition

Time when specimen was collected from subject - the physiologically relevant time.

Cardinality0..1
TypedateTime, Period
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.init
  • v2: SPM-17
  • rim: .effectiveTime
Specimen.collection.duration
ShortHow long it took to collect specimen
Definition

The span of time over which the collection of a specimen occurred.

Cardinality0..1
TypeDuration
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.init
Specimen.collection.quantity
ShortThe quantity of specimen collected
Definition

The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology sample.

Cardinality0..1
TypeSimpleQuantity
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: SPM-12
  • rim: .participation[typeCode=SBJ].role[classCode=SPEC].player.quantity
Specimen.collection.method
ShortTechnique used to perform collection
Definition

A coded value specifying the technique that is used to perform the procedure.

Cardinality0..1
TypeCodeableConcept
Binding

The technique that is used to perform the procedure.

FHIRSpecimenCollectionMethod (example)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: SPM-7
  • rim: .methodCode
Specimen.collection.bodySite
ShortAnatomical collection site
Definition

Anatomical location from which the specimen was collected (if subject is a patient). This is the target site. This element is not used for environmental specimens.

Cardinality0..1
TypeCodeableConcept
Binding

Codes describing anatomical locations. May include laterality.

UKCoreSpecimenBodySite (preferred)

Comments

If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension bodySite.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: SPM-8 and SPM-9
  • rim: .targetSiteCode
Specimen.collection.bodySite.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Specimen.collection.bodySite.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Specimen.collection.bodySite.extension:bodySiteReference
ShortAn extension to allow referencing to a BodyStructure.
Definition

An extension to replicate the changes within R5 altering the data type of Specimen.collection.bodySite from CodeableConcept to CodeableReference (bodyStructure).

Cardinality0..1
TypeExtension(Reference(BodyStructure))
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Specimen.collection.bodySite.extension:bodySiteReference.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Specimen.collection.bodySite.extension:bodySiteReference.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Specimen.collection.bodySite.extension:bodySiteReference.url
Shortidentifies the meaning of the extension
Definition

Source of the definition for the extension code - a logical name or a URL.

Cardinality1..1
Typeuri
Comments

The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

Fixed Value
https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-BodySiteReference
Mappings
  • rim: N/A
Specimen.collection.bodySite.extension:bodySiteReference.value[x]
ShortA reference to a BodyStructure
Definition

Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

Cardinality1..1
TypeReference(BodyStructure)
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
Specimen.collection.bodySite.coding
ShortCode defined by a terminology system
Definition

A reference to a code defined by a terminology system.

Cardinality0..*
TypeCoding
SummaryTrue
Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: C*E.1-8, C*E.10-22
  • rim: union(., ./translation)
  • orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Specimen.collection.bodySite.text
ShortPlain text representation of the concept
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Cardinality0..1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: C*E.9. But note many systems use C*E.2 for this
  • rim: ./originalText[mediaType/code="text/plain"]/data
  • orim: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Specimen.collection.fastingStatus[x]
ShortWhether or how long patient abstained from food and/or drink
Definition

Abstinence or reduction from some or all food, drink, or both, for a period of time prior to sample collection.

Cardinality0..1
TypeCodeableConcept, Duration
Binding

Codes describing the fasting status of the patient.

v2.0916 (extensible)

SummaryTrue
Requirements

Many diagnostic tests require fasting to facilitate accurate interpretation.

Comments

Representing fasting status using this element is preferred to representing it with an observation using a 'pre-coordinated code' such as LOINC 2005-7 (Calcium [Moles/​time] in 2 hour Urine --12 hours fasting), or using a component observation such asObservation.component code` = LOINC 49541-6 (Fasting status - Reported).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: OBR-
Specimen.processing
ShortProcessing and processing step details
Definition

Details concerning processing and processing steps for the specimen.

Cardinality0..*
TypeBackboneElement
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .participation[typeCode=SBJ].act[code=SPCTRT, moodCode=EVN]
Specimen.processing.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Specimen.processing.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Specimen.processing.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Specimen.processing.description
ShortTextual description of procedure
Definition

Textual description of procedure.

Cardinality0..1
Typestring
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .text
Specimen.processing.procedure
ShortIndicates the treatment step applied to the specimen
Definition

A coded value specifying the procedure used to process the specimen.

Cardinality0..1
TypeCodeableConcept
Binding

Type indicating the technique used to process the specimen.

SpecimenProcessingProcedure (example)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .code
Specimen.processing.additive
ShortMaterial used in the processing step
Definition

Material used in the processing step.

Cardinality0..*
TypeReference(Substance)
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: SPM-6
  • rim: .participation[typeCode=CSM].role[classCode=ADTV].code
Specimen.processing.time[x]
ShortDate and time of specimen processing
Definition

A record of the time or period when the specimen processing occurred. For example the time of sample fixation or the period of time the sample was in formalin.

Cardinality0..1
TypedateTime, Period
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
Specimen.container
ShortDirect container of specimen (tube/slide, etc.)
Definition

The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here.

Cardinality0..*
TypeBackboneElement
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .player.scopingRole[classCode=CONT].scoper
Specimen.container.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Specimen.container.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Specimen.container.extension:deviceR5
ShortDevice resource for the container.
Definition

The device resource for the the container holding the specimen. If the container is in a holder then the referenced device will point to a parent device.

Cardinality0..1
TypeExtension(Reference(Device))
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Specimen.container.extension:locationR5
ShortWhere the container is.
Definition

The location of the container holding the specimen.

Cardinality0..1
TypeExtension(Reference(UKCoreLocation))
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Specimen.container.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Specimen.container.identifier
ShortId for the container
Definition

Id for container. There may be multiple; a manufacturer's bar code, lab assigned identifier, etc. The container ID may differ from the specimen id in some circumstances.

Cardinality0..*
TypeIdentifier
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: SAC-3
  • rim: .id
Specimen.container.description
ShortTextual description of the container
Definition

Textual description of the container.

Cardinality0..1
Typestring
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .desc
Specimen.container.type
ShortKind of container directly associated with specimen
Definition

The type of container associated with the specimen (e.g. slide, aliquot, etc.).

Cardinality0..1
TypeCodeableConcept
Binding

Type of specimen container.

SpecimenContainerType (preferred)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: SPM-27
  • rim: .code
Specimen.container.capacity
ShortContainer volume or size
Definition

The capacity (volume or other measure) the container may contain.

Cardinality0..1
TypeSimpleQuantity
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: one of: SAC 16, SAC17 and SAC 20, or SAC 21 and SAC 20
  • rim: .quantity
Specimen.container.specimenQuantity
ShortQuantity of specimen within container
Definition

The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen type.

Cardinality0..1
TypeSimpleQuantity
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: SAC-23 (value) SAC-24 (units
  • rim: .playedRole[classCode=CONT].quantity
Specimen.container.additive[x]
ShortAdditive associated with container
Definition

Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA.

Cardinality0..1
TypeCodeableConcept, Reference(Substance)
Binding

Substance added to specimen container.

v2.0371 (example)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: SAC-27
  • rim: .scopesRole[classCode=ADTV].player
Specimen.condition
ShortState of the specimen
Definition

A mode or state of being that describes the nature of the specimen.

Cardinality0..*
TypeCodeableConcept
Binding

Codes describing the state of the specimen.

UKCoreSampleState (extensible)

SummaryTrue
Requirements

The specimen condition can be used to assess its quality or appropriateness for a specific test.

Comments

Specimen condition is an observation made about the specimen. It's a point-in-time assessment. It can be used to assess its quality or appropriateness for a specific test.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: SPM-24
Specimen.note
ShortComments
Definition

To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen).

Cardinality0..*
TypeAnnotation
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: OBX
  • rim: .inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value

Table View

Specimen..
Specimen.extension:sampleCategoryExtension..1
Specimen.status..
Specimen.type..
Specimen.subject..
Specimen.receivedTime..
Specimen.collection..
Specimen.collection.extension:specialHandlingExtension..
Specimen.collection.extension:CollectorR5Extension..1
Specimen.collection.bodySite..
Specimen.collection.bodySite.extension:bodySiteReferenceExtension..1
Specimen.collection.bodySite.extension:bodySiteReference.value[x]..
Specimen.container..
Specimen.container.extension:deviceR5Extension..1
Specimen.container.extension:locationR5Extension..1
Specimen.container.type..
Specimen.condition..

XML View

<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="UKCore-Specimen" />
<url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Specimen" />
<version value="3.1.0" />
<name value="UKCoreSpecimen" />
<title value="UK Core Specimen" />
<status value="active" />
<date value="2025-01-22" />
<publisher value="HL7 UK" />
<name value="HL7 UK" />
<system value="email" />
<value value="ukcore@hl7.org.uk" />
<use value="work" />
<rank value="1" />
</telecom>
</contact>
<description value="This profile defines the UK constraints and extensions on the International FHIR resource [Specimen](https://hl7.org/fhir/R4/Specimen.html)." />
<purpose value="This profile allows the exchange of information about a sample to be used for analysis." />
<copyright value="Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html." />
<fhirVersion value="4.0.1" />
<kind value="resource" />
<abstract value="false" />
<type value="Specimen" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Specimen" />
<derivation value="constraint" />
<element id="Specimen.extension:sampleCategory">
<path value="Specimen.extension" />
<sliceName value="sampleCategory" />
<short value="An extension to record the category of a sample." />
<max value="1" />
<code value="Extension" />
<profile value="https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-SampleCategory" />
</type>
<isModifier value="false" />
</element>
<element id="Specimen.status">
<path value="Specimen.status" />
<short value="The availability of the specimen sample." />
<mustSupport value="true" />
</element>
<element id="Specimen.type">
<path value="Specimen.type" />
<short value="The kind of material that forms the specimen." />
<mustSupport value="true" />
<strength value="preferred" />
<description value="A code from the SNOMED CT UK Clinical Terminology coding system" />
<valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-SpecimenType" />
</binding>
</element>
<element id="Specimen.subject">
<path value="Specimen.subject" />
<short value="Where the specimen came from." />
<mustSupport value="true" />
</element>
<element id="Specimen.receivedTime">
<path value="Specimen.receivedTime" />
<short value="The time when specimen was received for processing." />
<mustSupport value="true" />
</element>
<element id="Specimen.collection">
<path value="Specimen.collection" />
<key value="ukcore-spec-001" />
<severity value="error" />
<human value="Only one of Specimen.collection.collector or Specimen.collection.extension:collectorR5 can be populated at a time." />
<expression value="collector.reference.empty() or collector.extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.collection.collector').empty()" />
</constraint>
</element>
<element id="Specimen.collection.extension:specialHandling">
<path value="Specimen.collection.extension" />
<sliceName value="specialHandling" />
<short value="This SHOULD be included if there is a high contamination risk reason for a sample / biopsy." />
<code value="Extension" />
<profile value="http://hl7.org/fhir/StructureDefinition/specimen-specialHandling" />
</type>
</element>
<element id="Specimen.collection.extension:CollectorR5">
<path value="Specimen.collection.extension" />
<sliceName value="collectorR5" />
<comment value="If this extension is used then Specimen.collection.collector SHALL NOT have a value to keep the cardinality restraint 0..1" />
<max value="1" />
<code value="Extension" />
<profile value="http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.collection.collector" />
</type>
<isModifier value="false" />
</element>
<element id="Specimen.collection.bodySite">
<path value="Specimen.collection.bodySite" />
<strength value="preferred" />
<valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-SpecimenBodySite" />
</binding>
</element>
<element id="Specimen.collection.bodySite.extension:bodySiteReference">
<path value="Specimen.collection.bodySite.extension" />
<sliceName value="bodySiteReference" />
<short value="An extension to allow referencing to a BodyStructure." />
<max value="1" />
<code value="Extension" />
<profile value="https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-BodySiteReference" />
</type>
<isModifier value="false" />
</element>
<element id="Specimen.collection.bodySite.extension:bodySiteReference.value[x]">
<path value="Specimen.collection.bodySite.extension.value[x]" />
<short value="A reference to a BodyStructure" />
</element>
<element id="Specimen.container.extension:deviceR5">
<path value="Specimen.container.extension" />
<sliceName value="deviceR5" />
<max value="1" />
<code value="Extension" />
<profile value="http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.container.device" />
</type>
</element>
<element id="Specimen.container.extension:locationR5">
<path value="Specimen.container.extension" />
<sliceName value="locationR5" />
<max value="1" />
<code value="Extension" />
<profile value="http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.container.location" />
</type>
</element>
<element id="Specimen.container.type">
<path value="Specimen.container.type" />
<strength value="preferred" />
</binding>
</element>
<element id="Specimen.condition">
<path value="Specimen.condition" />
<strength value="extensible" />
<valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-SampleState" />
</binding>
</element>
</differential>
</StructureDefinition>

JSON View

{
"resourceType": "StructureDefinition",
"id": "UKCore-Specimen",
"url": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Specimen",
"version": "3.1.0",
"name": "UKCoreSpecimen",
"title": "UK Core Specimen",
"status": "active",
"date": "2025-01-22",
"publisher": "HL7 UK",
"contact": [
{
"name": "HL7 UK",
"telecom": [
{
"system": "email",
"value": "ukcore@hl7.org.uk",
"use": "work",
"rank": 1
}
]
}
],
"description": "This profile defines the UK constraints and extensions on the International FHIR resource [Specimen](https://hl7.org/fhir/R4/Specimen.html).",
"purpose": "This profile allows the exchange of information about a sample to be used for analysis.",
"copyright": "Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "Specimen",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Specimen",
"derivation": "constraint",
"element": [
{
"id": "Specimen.extension:sampleCategory",
"path": "Specimen.extension",
"sliceName": "sampleCategory",
"short": "An extension to record the category of a sample.",
"max": "1",
"type": [
{
"code": "Extension",
"profile": [
"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-SampleCategory"
]
}
],
"isModifier": false
},
{
"id": "Specimen.status",
"path": "Specimen.status",
"short": "The availability of the specimen sample.",
"mustSupport": true
},
{
"id": "Specimen.type",
"path": "Specimen.type",
"short": "The kind of material that forms the specimen.",
"mustSupport": true,
"binding": {
"strength": "preferred",
"description": "A code from the SNOMED CT UK Clinical Terminology coding system",
"valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-SpecimenType"
}
},
{
"id": "Specimen.subject",
"path": "Specimen.subject",
"short": "Where the specimen came from.",
"mustSupport": true
},
{
"id": "Specimen.receivedTime",
"path": "Specimen.receivedTime",
"short": "The time when specimen was received for processing.",
"mustSupport": true
},
{
"id": "Specimen.collection",
"path": "Specimen.collection",
{
"key": "ukcore-spec-001",
"severity": "error",
"human": "Only one of Specimen.collection.collector or Specimen.collection.extension:collectorR5 can be populated at a time.",
"expression": "collector.reference.empty() or collector.extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.collection.collector').empty()"
}
]
},
{
"id": "Specimen.collection.extension:specialHandling",
"path": "Specimen.collection.extension",
"sliceName": "specialHandling",
"short": "This SHOULD be included if there is a high contamination risk reason for a sample / biopsy.",
"type": [
{
"code": "Extension",
"profile": [
"http://hl7.org/fhir/StructureDefinition/specimen-specialHandling"
]
}
]
},
{
"id": "Specimen.collection.extension:CollectorR5",
"path": "Specimen.collection.extension",
"sliceName": "collectorR5",
"comment": "If this extension is used then Specimen.collection.collector SHALL NOT have a value to keep the cardinality restraint 0..1",
"max": "1",
"type": [
{
"code": "Extension",
"profile": [
"http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.collection.collector"
]
}
],
"isModifier": false
},
{
"id": "Specimen.collection.bodySite",
"path": "Specimen.collection.bodySite",
"binding": {
"strength": "preferred",
"valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-SpecimenBodySite"
}
},
{
"id": "Specimen.collection.bodySite.extension:bodySiteReference",
"path": "Specimen.collection.bodySite.extension",
"sliceName": "bodySiteReference",
"short": "An extension to allow referencing to a BodyStructure.",
"max": "1",
"type": [
{
"code": "Extension",
"profile": [
"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-BodySiteReference"
]
}
],
"isModifier": false
},
{
"id": "Specimen.collection.bodySite.extension:bodySiteReference.value[x]",
"path": "Specimen.collection.bodySite.extension.value[x]",
"short": "A reference to a BodyStructure"
},
{
"id": "Specimen.container.extension:deviceR5",
"path": "Specimen.container.extension",
"sliceName": "deviceR5",
"max": "1",
"type": [
{
"code": "Extension",
"profile": [
"http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.container.device"
]
}
]
},
{
"id": "Specimen.container.extension:locationR5",
"path": "Specimen.container.extension",
"sliceName": "locationR5",
"max": "1",
"type": [
{
"code": "Extension",
"profile": [
"http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.container.location"
]
}
]
},
{
"id": "Specimen.container.type",
"path": "Specimen.container.type",
"binding": {
"strength": "preferred"
}
},
{
"id": "Specimen.condition",
"path": "Specimen.condition",
"binding": {
"strength": "extensible",
"valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-SampleState"
}
}
]
}
}

Examples

iddiv
UKCore-Specimen-BloodSpecimen-Example
An example to illustrate a blood specimen that was taken by a finger prick
UKCore-Specimen-UrineSpecimen-Example
An example to illustrate a urine sample

UK Core Extensions examples can be found on the relevant Extension page.

Feedback

Click here to:

Example Usage Scenarios

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

  • Query for specimen information
  • Exchange specimen information used in Observations and DiagnosticReport

Profile Specific Implementation Guidance:

Mandatory and Must Support Data Elements

The following elements are identified as MustSupport, and it is expected that consumers and suppliers SHALL support these as per the MustSupport Guidance.

ElementReason
Specimen.statusThe availability of the specimen sample.
Specimen.typeThe kind of material that forms the specimen.
Specimen.subjectWhere the specimen came from.
Specimen.receivedTimeThe time when specimen was received for processing.


Extensions

More information about the extensions can be found using the links below.

Extension Context Link Comment
bodySiteReference Specimen.
collection.bodySite
Extension-UKCore-BodySiteReference An extension to replicate the changes within R5 allowing the data type of Specimen.collection.bodySite to act as a CodeableReference (BodyStructure).
collectionCollector Specimen.
collection.collector
Extension-UKCore-SpecimenCollectionCollector An extension to replicate the changes within R5 allowing the data type of Specimen.collection.collector to reference Patient and RelatedPerson. For more details, see HL7-Backport-Elements.
sampleCategory Specimen Extension-UKCore-SampleCategory An extension to record the Category of a sample.
specialHandling Specimen.collection HL7 core-defined Extension specimen-specialHandling This SHOULD be included if there is a high contamination risk reason for a sample/biopsy.
Note: There is no binding defined within this HL7 extension.

Bindings (differential)

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

ContextStrengthLink
Specimen.typepreferredhttps://fhir.hl7.org.uk/ValueSet/UKCore-SpecimenType
Specimen.collection.bodySitepreferredhttps://fhir.hl7.org.uk/ValueSet/UKCore-SpecimenBodySite
Specimen.conditionextensiblehttps://fhir.hl7.org.uk/ValueSet/UKCore-SampleState

Specimen.extension:sampleCategory extensible ValueSet-UKCore-SampleCategory

Constraints (differential)

More information about the constraints on the profile can be found below.

KeySeverityExpressionHuman_Description
ukcore-spec-001errorcollector.reference.empty() or collector.extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.collection.collector').empty()Only one of Specimen.collection.collector or Specimen.collection.extension:collectorR5 can be populated at a time.


type

If a SNOMED CT concept from the ValueSet-UKCore-SpecimenType is used, and the concept is a descendant of "105590001 | Substance", Specimen.collection.method and Specimen.collection.bodySite SHOULD be populated.


subject

Where possible, it is expected that the resource being referenced SHOULD conform to one of the following UK Core profiles:


parent

The resource being referenced SHALL conform to the following UKCore-Specimen.


request

The resource being referenced SHALL conform to the following UKCore-ServiceRequest.


collection

Specimen.collection.collector

Where possible, it is expected that the resource being referenced SHOULD conform to one of the following UK Core profiles:

Specimen.collection.bodySite

If Specimen.collection.bodySite.coding and Extension-UKCore-BodySiteReference are both are present, they are expected to be consistent with each other - e.g. the concept is to a code for headache, and the resource reference describes a headache.


processing

It is expected that Specimen.processing SHOULD be populated where the specimen is an extracted sample for testing, obtained from a raw sample.


note

The resource referenced in Specimen.note.authorReference SHALL conform to one of the following: