🔬 EMA Health Pathology Implementation Guide
0.0.1 - ci-build

🔬 EMA Health Pathology Implementation Guide - Local Development build (v0.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: EMA Pathology Specimen

Official URL: https://emahealth.io/fhir/pathology/StructureDefinition/ema-pathology-specimen Version: 0.0.1
Draft as of 2026-06-30 Computable Name: EmaPathologySpecimen

Muestra de anatomía patológica. Extiende EmaCoreSpecimen con el sitio anatómico (topografía ICD-O-3 / SNOMED), lateralidad, número de accession y fijación. Alineado a HL7 Cancer Reporting (CAP eCP) e IHE APW.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Specimen 0..* EmaCoreSpecimen Sample for analysis
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier External Identifier
... status ?!SΣ 1..1 code available | unavailable | unsatisfactory | entered-in-error
Binding: SpecimenStatus (required): Codes providing the status/availability of a specimen.
... type SΣ 1..1 CodeableConcept Kind of material that forms the specimen
Binding: EMA — Tipo de muestra (extensible)
... subject SΣ 1..1 Reference(EMA Core Patient) 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
... receivedTime SΣ 0..1 dateTime The time when specimen was received for processing
... collection S 0..1 BackboneElement Collection details
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... collector SΣ 0..1 Reference(EMA Core Practitioner) Who collected the specimen
.... collected[x] SΣ 0..1 Collection time
..... collectedDateTime dateTime
..... collectedPeriod Period
.... method S 0..1 CodeableConcept Technique used to perform collection
Binding: FHIRSpecimenCollectionMethod (example): The technique that is used to perform the procedure.
.... bodySite S 0..1 CodeableConcept Anatomical collection site
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... processing S 0..* BackboneElement Processing and processing step details
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... procedure S 0..1 CodeableConcept Indicates the treatment step applied to the specimen
Binding: SpecimenProcessingProcedure (example): Type indicating the technique used to process the specimen.
... container S 0..* BackboneElement Direct container of specimen (tube/slide, etc.)
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier SΣ 0..* Identifier Id for the container
.... type S 0..1 CodeableConcept Kind of container directly associated with specimen
Binding: SpecimenContainerType (example): Type of specimen container.
... condition SΣ 0..* CodeableConcept State of the specimen
Binding: hl7VS-specimenCondition (extensible): Codes describing the state of the specimen.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Specimen.status Base required SpecimenStatus 📍4.0.1 FHIR Std.
Specimen.type Base extensible EMA — Tipo de muestra 📦0.1.0 🌐 EMA Health Core Implementation Guide v0.1
Specimen.collection.​method Base example FHIR Specimen Collection Method 📍4.0.1 FHIR Std.
Specimen.collection.​bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Specimen.processing.​procedure Base example Specimen processing procedure 📍4.0.1 FHIR Std.
Specimen.container.type Base example Specimen Container Type 📍4.0.1 FHIR Std.
Specimen.condition Base extensible hl7VS-specimenCondition 📦2.0.0 THO v6.4

Constraints

Id Grade Path(s) Description Expression
dom-2 error Specimen If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Specimen 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 error Specimen 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 error Specimen If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Specimen A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from EmaCoreSpecimen

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Specimen 0..* EmaCoreSpecimen Sample for analysis
... accessionIdentifier 1..1 Identifier Identifier assigned by the lab
... collection
.... bodySite S 0..1 CodeableConcept Anatomical collection site
... processing
.... procedure S 0..1 CodeableConcept Indicates the treatment step applied to the specimen

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Specimen 0..* EmaCoreSpecimen Sample for analysis
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier External Identifier
... accessionIdentifier SΣ 1..1 Identifier Identifier assigned by the lab
... status ?!SΣ 1..1 code available | unavailable | unsatisfactory | entered-in-error
Binding: SpecimenStatus (required): Codes providing the status/availability of a specimen.
... type SΣ 1..1 CodeableConcept Kind of material that forms the specimen
Binding: EMA — Tipo de muestra (extensible)
... subject SΣ 1..1 Reference(EMA Core Patient) 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
... receivedTime SΣ 0..1 dateTime The time when specimen was received for processing
... parent 0..* Reference(Specimen) Specimen from which this specimen originated
... request 0..* Reference(EMA Core ServiceRequest) Why the specimen was collected
... collection S 0..1 BackboneElement Collection details
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... collector SΣ 0..1 Reference(EMA Core Practitioner) Who collected the specimen
.... collected[x] SΣ 0..1 Collection time
..... collectedDateTime dateTime
..... collectedPeriod Period
.... duration Σ 0..1 Duration How long it took to collect specimen
.... quantity 0..1 SimpleQuantity(4.0.1) The quantity of specimen collected
.... method S 0..1 CodeableConcept Technique used to perform collection
Binding: FHIRSpecimenCollectionMethod (example): The technique that is used to perform the procedure.
.... bodySite S 0..1 CodeableConcept Anatomical collection site
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
.... fastingStatus[x] Σ 0..1 Whether or how long patient abstained from food and/or drink
Binding: hl7VS-relevantClincialInformation (extensible): Codes describing the fasting status of the patient.
..... fastingStatusCodeableConcept CodeableConcept
..... fastingStatusDuration Duration
... processing S 0..* BackboneElement Processing and processing step details
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description 0..1 string Textual description of procedure
.... procedure S 0..1 CodeableConcept Indicates the treatment step applied to the specimen
Binding: SpecimenProcessingProcedure (example): Type indicating the technique used to process the specimen.
.... additive 0..* Reference(Substance) Material used in the processing step
.... time[x] 0..1 Date and time of specimen processing
..... timeDateTime dateTime
..... timePeriod Period
... container S 0..* BackboneElement Direct container of specimen (tube/slide, etc.)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier SΣ 0..* Identifier Id for the container
.... description 0..1 string Textual description of the container
.... type S 0..1 CodeableConcept Kind of container directly associated with specimen
Binding: SpecimenContainerType (example): Type of specimen container.
.... capacity 0..1 SimpleQuantity(4.0.1) Container volume or size
.... specimenQuantity 0..1 SimpleQuantity(4.0.1) Quantity of specimen within container
.... additive[x] 0..1 Additive associated with container
Binding: hl7VS-additivePreservative (example): Substance added to specimen container.
..... additiveCodeableConcept CodeableConcept
..... additiveReference Reference(Substance)
... condition SΣ 0..* CodeableConcept State of the specimen
Binding: hl7VS-specimenCondition (extensible): Codes describing the state of the specimen.
... note 0..* Annotation Comments

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Specimen.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Specimen.status Base required SpecimenStatus 📍4.0.1 FHIR Std.
Specimen.type Base extensible EMA — Tipo de muestra 📦0.1.0 🌐 EMA Health Core Implementation Guide v0.1
Specimen.collection.​method Base example FHIR Specimen Collection Method 📍4.0.1 FHIR Std.
Specimen.collection.​bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Specimen.collection.​fastingStatus[x] Base extensible hl7VS-relevantClincialInformation 📦2.0.0 THO v6.4
Specimen.processing.​procedure Base example Specimen processing procedure 📍4.0.1 FHIR Std.
Specimen.container.type Base example Specimen Container Type 📍4.0.1 FHIR Std.
Specimen.container.additive[x] Base example hl7VS-additivePreservative 📦2.0.0 THO v6.4
Specimen.condition Base extensible hl7VS-specimenCondition 📦2.0.0 THO v6.4

Constraints

Id Grade Path(s) Description Expression
dom-2 error Specimen If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Specimen 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 error Specimen 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 error Specimen If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Specimen A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from EmaCoreSpecimen

Summary

Mandatory: 1 element
Must-Support: 2 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Specimen 0..* EmaCoreSpecimen Sample for analysis
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier External Identifier
... status ?!SΣ 1..1 code available | unavailable | unsatisfactory | entered-in-error
Binding: SpecimenStatus (required): Codes providing the status/availability of a specimen.
... type SΣ 1..1 CodeableConcept Kind of material that forms the specimen
Binding: EMA — Tipo de muestra (extensible)
... subject SΣ 1..1 Reference(EMA Core Patient) 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
... receivedTime SΣ 0..1 dateTime The time when specimen was received for processing
... collection S 0..1 BackboneElement Collection details
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... collector SΣ 0..1 Reference(EMA Core Practitioner) Who collected the specimen
.... collected[x] SΣ 0..1 Collection time
..... collectedDateTime dateTime
..... collectedPeriod Period
.... method S 0..1 CodeableConcept Technique used to perform collection
Binding: FHIRSpecimenCollectionMethod (example): The technique that is used to perform the procedure.
.... bodySite S 0..1 CodeableConcept Anatomical collection site
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... processing S 0..* BackboneElement Processing and processing step details
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... procedure S 0..1 CodeableConcept Indicates the treatment step applied to the specimen
Binding: SpecimenProcessingProcedure (example): Type indicating the technique used to process the specimen.
... container S 0..* BackboneElement Direct container of specimen (tube/slide, etc.)
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier SΣ 0..* Identifier Id for the container
.... type S 0..1 CodeableConcept Kind of container directly associated with specimen
Binding: SpecimenContainerType (example): Type of specimen container.
... condition SΣ 0..* CodeableConcept State of the specimen
Binding: hl7VS-specimenCondition (extensible): Codes describing the state of the specimen.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Specimen.status Base required SpecimenStatus 📍4.0.1 FHIR Std.
Specimen.type Base extensible EMA — Tipo de muestra 📦0.1.0 🌐 EMA Health Core Implementation Guide v0.1
Specimen.collection.​method Base example FHIR Specimen Collection Method 📍4.0.1 FHIR Std.
Specimen.collection.​bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Specimen.processing.​procedure Base example Specimen processing procedure 📍4.0.1 FHIR Std.
Specimen.container.type Base example Specimen Container Type 📍4.0.1 FHIR Std.
Specimen.condition Base extensible hl7VS-specimenCondition 📦2.0.0 THO v6.4

Constraints

Id Grade Path(s) Description Expression
dom-2 error Specimen If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Specimen 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 error Specimen 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 error Specimen If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Specimen A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from EmaCoreSpecimen

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Specimen 0..* EmaCoreSpecimen Sample for analysis
... accessionIdentifier 1..1 Identifier Identifier assigned by the lab
... collection
.... bodySite S 0..1 CodeableConcept Anatomical collection site
... processing
.... procedure S 0..1 CodeableConcept Indicates the treatment step applied to the specimen

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Specimen 0..* EmaCoreSpecimen Sample for analysis
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier External Identifier
... accessionIdentifier SΣ 1..1 Identifier Identifier assigned by the lab
... status ?!SΣ 1..1 code available | unavailable | unsatisfactory | entered-in-error
Binding: SpecimenStatus (required): Codes providing the status/availability of a specimen.
... type SΣ 1..1 CodeableConcept Kind of material that forms the specimen
Binding: EMA — Tipo de muestra (extensible)
... subject SΣ 1..1 Reference(EMA Core Patient) 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
... receivedTime SΣ 0..1 dateTime The time when specimen was received for processing
... parent 0..* Reference(Specimen) Specimen from which this specimen originated
... request 0..* Reference(EMA Core ServiceRequest) Why the specimen was collected
... collection S 0..1 BackboneElement Collection details
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... collector SΣ 0..1 Reference(EMA Core Practitioner) Who collected the specimen
.... collected[x] SΣ 0..1 Collection time
..... collectedDateTime dateTime
..... collectedPeriod Period
.... duration Σ 0..1 Duration How long it took to collect specimen
.... quantity 0..1 SimpleQuantity(4.0.1) The quantity of specimen collected
.... method S 0..1 CodeableConcept Technique used to perform collection
Binding: FHIRSpecimenCollectionMethod (example): The technique that is used to perform the procedure.
.... bodySite S 0..1 CodeableConcept Anatomical collection site
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
.... fastingStatus[x] Σ 0..1 Whether or how long patient abstained from food and/or drink
Binding: hl7VS-relevantClincialInformation (extensible): Codes describing the fasting status of the patient.
..... fastingStatusCodeableConcept CodeableConcept
..... fastingStatusDuration Duration
... processing S 0..* BackboneElement Processing and processing step details
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description 0..1 string Textual description of procedure
.... procedure S 0..1 CodeableConcept Indicates the treatment step applied to the specimen
Binding: SpecimenProcessingProcedure (example): Type indicating the technique used to process the specimen.
.... additive 0..* Reference(Substance) Material used in the processing step
.... time[x] 0..1 Date and time of specimen processing
..... timeDateTime dateTime
..... timePeriod Period
... container S 0..* BackboneElement Direct container of specimen (tube/slide, etc.)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier SΣ 0..* Identifier Id for the container
.... description 0..1 string Textual description of the container
.... type S 0..1 CodeableConcept Kind of container directly associated with specimen
Binding: SpecimenContainerType (example): Type of specimen container.
.... capacity 0..1 SimpleQuantity(4.0.1) Container volume or size
.... specimenQuantity 0..1 SimpleQuantity(4.0.1) Quantity of specimen within container
.... additive[x] 0..1 Additive associated with container
Binding: hl7VS-additivePreservative (example): Substance added to specimen container.
..... additiveCodeableConcept CodeableConcept
..... additiveReference Reference(Substance)
... condition SΣ 0..* CodeableConcept State of the specimen
Binding: hl7VS-specimenCondition (extensible): Codes describing the state of the specimen.
... note 0..* Annotation Comments

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Specimen.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Specimen.status Base required SpecimenStatus 📍4.0.1 FHIR Std.
Specimen.type Base extensible EMA — Tipo de muestra 📦0.1.0 🌐 EMA Health Core Implementation Guide v0.1
Specimen.collection.​method Base example FHIR Specimen Collection Method 📍4.0.1 FHIR Std.
Specimen.collection.​bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Specimen.collection.​fastingStatus[x] Base extensible hl7VS-relevantClincialInformation 📦2.0.0 THO v6.4
Specimen.processing.​procedure Base example Specimen processing procedure 📍4.0.1 FHIR Std.
Specimen.container.type Base example Specimen Container Type 📍4.0.1 FHIR Std.
Specimen.container.additive[x] Base example hl7VS-additivePreservative 📦2.0.0 THO v6.4
Specimen.condition Base extensible hl7VS-specimenCondition 📦2.0.0 THO v6.4

Constraints

Id Grade Path(s) Description Expression
dom-2 error Specimen If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Specimen 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 error Specimen 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 error Specimen If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Specimen A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from EmaCoreSpecimen

Summary

Mandatory: 1 element
Must-Support: 2 elements

 

Other representations of profile: CSV, Excel, Schematron