Genomics Reporting Implementation Guide (STU1)

This page is part of the Genetic Reporting Implementation Guide (v1.0.0: STU 1) based on FHIR R4. The current version which supercedes this version is 2.0.0. For a full list of available versions, see the Directory of published versions

StructureDefinition: Specimen

The official URL for this profile is:

http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/specimen

Formal Views of Profile Content

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

This structure is derived from Specimen

Summary

Mandatory: 1 element

NameFlagsCard.TypeDescription & Constraintsdoco
.. Specimen I0..*Specimen
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal Identifier
... accessionIdentifier ΣI0..1IdentifierIdentifier assigned by the lab
... status ?!ΣI0..1codeavailable | unavailable | unsatisfactory | entered-in-error
Binding: SpecimenStatus (required)
... type ΣI0..1CodeableConceptKind of material that forms the specimen
Binding: v2 Specimen Type (example)
... subject ΣI1..1Reference(Patient | Group | 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
... receivedTime ΣI0..1dateTimeThe time when specimen was received for processing
... parent I0..*Reference(Specimen)Specimen from which this specimen originated
... request I0..*Reference(ServiceRequest)Why the specimen was collected
... collection I0..1BackboneElementCollection details
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... collector ΣI0..1Reference(Practitioner | PractitionerRole)Who collected the specimen
.... collected[x] ΣI0..1Collection time
..... collectedDateTimedateTime
..... collectedPeriodPeriod
.... duration ΣI0..1DurationHow long it took to collect specimen
.... quantity I0..1SimpleQuantityThe quantity of specimen collected
.... method I0..1CodeableConceptTechnique used to perform collection
Binding: FHIRSpecimenCollectionMethod (example)
.... bodySite I0..1CodeableConceptAnatomical collection site
Binding: SNOMEDCTBodyStructures (example)
.... fastingStatus[x] ΣI0..1Whether or how long patient abstained from food and/or drink
Binding: v2 Relevant Clincial Information (extensible)
..... fastingStatusCodeableConceptCodeableConcept
..... fastingStatusDurationDuration
... processing I0..*BackboneElementProcessing and processing step details
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... description I0..1stringTextual description of procedure
.... procedure I0..1CodeableConceptIndicates the treatment step applied to the specimen
Binding: SpecimenProcessingProcedure (example)
.... additive I0..*Reference(Substance)Material used in the processing step
.... time[x] I0..1Date and time of specimen processing
..... timeDateTimedateTime
..... timePeriodPeriod
... container I0..*BackboneElementDirect container of specimen (tube/slide, etc.)
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... identifier ΣI0..*IdentifierId for the container
.... description I0..1stringTextual description of the container
.... type I0..1CodeableConceptKind of container directly associated with specimen
Binding: SpecimenContainerType (example)
.... capacity I0..1SimpleQuantityContainer volume or size
.... specimenQuantity I0..1SimpleQuantityQuantity of specimen within container
.... additive[x] I0..1Additive associated with container
Binding: v2 Additive (example)
..... additiveCodeableConceptCodeableConcept
..... additiveReferenceReference(Substance)
... condition ΣI0..*CodeableConceptState of the specimen
Binding: v2 Specimen Condition (extensible)
... note I0..*AnnotationComments

doco Documentation for this format

This structure is derived from Specimen

Summary

Mandatory: 1 element

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Specimen I0..*Specimen
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal Identifier
... accessionIdentifier ΣI0..1IdentifierIdentifier assigned by the lab
... status ?!ΣI0..1codeavailable | unavailable | unsatisfactory | entered-in-error
Binding: SpecimenStatus (required)
... type ΣI0..1CodeableConceptKind of material that forms the specimen
Binding: v2 Specimen Type (example)
... subject ΣI1..1Reference(Patient | Group | 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
... receivedTime ΣI0..1dateTimeThe time when specimen was received for processing
... parent I0..*Reference(Specimen)Specimen from which this specimen originated
... request I0..*Reference(ServiceRequest)Why the specimen was collected
... collection I0..1BackboneElementCollection details
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... collector ΣI0..1Reference(Practitioner | PractitionerRole)Who collected the specimen
.... collected[x] ΣI0..1Collection time
..... collectedDateTimedateTime
..... collectedPeriodPeriod
.... duration ΣI0..1DurationHow long it took to collect specimen
.... quantity I0..1SimpleQuantityThe quantity of specimen collected
.... method I0..1CodeableConceptTechnique used to perform collection
Binding: FHIRSpecimenCollectionMethod (example)
.... bodySite I0..1CodeableConceptAnatomical collection site
Binding: SNOMEDCTBodyStructures (example)
.... fastingStatus[x] ΣI0..1Whether or how long patient abstained from food and/or drink
Binding: v2 Relevant Clincial Information (extensible)
..... fastingStatusCodeableConceptCodeableConcept
..... fastingStatusDurationDuration
... processing I0..*BackboneElementProcessing and processing step details
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... description I0..1stringTextual description of procedure
.... procedure I0..1CodeableConceptIndicates the treatment step applied to the specimen
Binding: SpecimenProcessingProcedure (example)
.... additive I0..*Reference(Substance)Material used in the processing step
.... time[x] I0..1Date and time of specimen processing
..... timeDateTimedateTime
..... timePeriodPeriod
... container I0..*BackboneElementDirect container of specimen (tube/slide, etc.)
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... identifier ΣI0..*IdentifierId for the container
.... description I0..1stringTextual description of the container
.... type I0..1CodeableConceptKind of container directly associated with specimen
Binding: SpecimenContainerType (example)
.... capacity I0..1SimpleQuantityContainer volume or size
.... specimenQuantity I0..1SimpleQuantityQuantity of specimen within container
.... additive[x] I0..1Additive associated with container
Binding: v2 Additive (example)
..... additiveCodeableConceptCodeableConcept
..... additiveReferenceReference(Substance)
... condition ΣI0..*CodeableConceptState of the specimen
Binding: v2 Specimen Condition (extensible)
... note I0..*AnnotationComments

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

PathConformanceValueSet
Specimen.languagepreferredCommonLanguages
Max Binding: AllLanguages
Specimen.statusrequiredSpecimenStatus
Specimen.typeexamplev2.0487
Specimen.collection.methodexampleFHIRSpecimenCollectionMethod
Specimen.collection.bodySiteexampleSNOMEDCTBodyStructures
Specimen.collection.fastingStatus[x]extensiblev2.0916
Specimen.processing.procedureexampleSpecimenProcessingProcedure
Specimen.container.typeexampleSpecimenContainerType
Specimen.container.additive[x]examplev2.0371
Specimen.conditionextensiblev2.0493

Constraints

IdPathDetailsRequirements
dom-2SpecimenIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3SpecimenIf 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-4SpecimenIf 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-5SpecimenIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6SpecimenA resource should have narrative for robust management
: text.`div`.exists()
ele-1Specimen.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Specimen.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Specimen.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Specimen.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Specimen.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.accessionIdentifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.receivedTimeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.parentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.requestAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.collectionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.collection.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Specimen.collection.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Specimen.collection.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Specimen.collection.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Specimen.collection.collectorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.collection.collected[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.collection.durationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.collection.quantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.collection.methodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.collection.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.collection.fastingStatus[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.processingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.processing.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Specimen.processing.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Specimen.processing.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Specimen.processing.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Specimen.processing.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.processing.procedureAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.processing.additiveAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.processing.time[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.containerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.container.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Specimen.container.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Specimen.container.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Specimen.container.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Specimen.container.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.container.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.container.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.container.capacityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.container.specimenQuantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.container.additive[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.conditionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Specimen.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())