Order Catalog Implementation Guide
0.1.0 - STU Ballot 1

This page is part of the Order Catalog Implementation Guide (v0.1.0: STU 1 Ballot 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: LabSpecimenDefinition

The LabSpecimenDefinition profile constrains the SpecimenDefinition resource to represent definitions of IVD specimens attached to laboratory procedures described in catalogs of laboratory services using these procedures and specimens.

The official URL for this profile is:

http://hl7.org/fhir/uv/order-catalog/StructureDefinition/LabSpecimenDefinition

Formal Views of Profile Content

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

This structure is derived from SpecimenDefinition

Summary

Must-Support: 2 elements

This structure is derived from SpecimenDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. SpecimenDefinition 0..*SpecimenDefinitionKind of specimen
... typeTested S0..*BackboneElementSpecimen in container intended for testing by lab
.... type S0..1CodeableConceptType of intended specimen

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. SpecimenDefinition I0..*SpecimenDefinitionKind of 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
... 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..1IdentifierBusiness identifier of a kind of specimen
... typeCollected ΣI0..1CodeableConceptKind of material to collect
Binding: hl7VS-specimenType (example)
... patientPreparation ΣI0..*CodeableConceptPatient preparation for collection
Binding: PreparePatient (example)
... timeAspect ΣI0..1stringTime aspect for collection
Example General: 24 hour, 20' post charge
... collection ΣI0..*CodeableConceptSpecimen collection procedure
Binding: SpecimenCollection (example)
... typeTested SI0..*BackboneElementSpecimen in container intended for testing by lab
.... 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
.... isDerived I0..1booleanPrimary or secondary specimen
Example General: false
.... type SI0..1CodeableConceptType of intended specimen
Binding: hl7VS-specimenType (example)
.... preference I1..1codepreferred | alternate
Binding: SpecimenContainedPreference (required)
Example General: preferred, alternate
.... container I0..1BackboneElementThe specimen's container
..... 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
..... material I0..1CodeableConceptContainer material
Binding: ContainerMaterials (example)
..... type I0..1CodeableConceptKind of container associated with the kind of specimen
Binding: SpecimenContainerType (example)
..... cap I0..1CodeableConceptColor of container cap
Binding: ContainerCap (example)
..... description I0..1stringContainer description
Example General: Blue top tube with citrate
..... capacity I0..1SimpleQuantityContainer capacity
..... minimumVolume[x] I0..1Minimum volume
...... minimumVolumeQuantityQuantity(SimpleQuantity)
...... minimumVolumeStringstring
..... additive I0..*BackboneElementAdditive associated with container
...... 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
...... additive[x] I1..1Additive associated with container
Binding: hl7VS-additivePreservative (example)
....... additiveCodeableConceptCodeableConcept
....... additiveReferenceReference(Substance)
..... preparation I0..1stringSpecimen container preparation
.... requirement I0..1stringSpecimen requirements
.... retentionTime I0..1DurationSpecimen retention time
.... rejectionCriterion I0..*CodeableConceptRejection criterion
Binding: RejectionCriterion (example)
.... handling I0..*BackboneElementSpecimen handling before testing
..... 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
..... temperatureQualifier I0..1CodeableConceptTemperature qualifier
Binding: HandlingConditionSet (example)
..... temperatureRange I0..1RangeTemperature range
..... maxDuration I0..1DurationMaximum preservation time
..... instruction I0..1stringPreservation instruction
Example General: freeze within 4 hours

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. SpecimenDefinition I0..*SpecimenDefinitionKind of specimen
... typeTested I0..*BackboneElementSpecimen in container intended for testing by lab
.... type I0..1CodeableConceptType of intended specimen
Binding: hl7VS-specimenType (example)

doco Documentation for this format

This structure is derived from SpecimenDefinition

Summary

Must-Support: 2 elements

Differential View

This structure is derived from SpecimenDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. SpecimenDefinition 0..*SpecimenDefinitionKind of specimen
... typeTested S0..*BackboneElementSpecimen in container intended for testing by lab
.... type S0..1CodeableConceptType of intended specimen

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. SpecimenDefinition I0..*SpecimenDefinitionKind of 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
... 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..1IdentifierBusiness identifier of a kind of specimen
... typeCollected ΣI0..1CodeableConceptKind of material to collect
Binding: hl7VS-specimenType (example)
... patientPreparation ΣI0..*CodeableConceptPatient preparation for collection
Binding: PreparePatient (example)
... timeAspect ΣI0..1stringTime aspect for collection
Example General: 24 hour, 20' post charge
... collection ΣI0..*CodeableConceptSpecimen collection procedure
Binding: SpecimenCollection (example)
... typeTested SI0..*BackboneElementSpecimen in container intended for testing by lab
.... 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
.... isDerived I0..1booleanPrimary or secondary specimen
Example General: false
.... type SI0..1CodeableConceptType of intended specimen
Binding: hl7VS-specimenType (example)
.... preference I1..1codepreferred | alternate
Binding: SpecimenContainedPreference (required)
Example General: preferred, alternate
.... container I0..1BackboneElementThe specimen's container
..... 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
..... material I0..1CodeableConceptContainer material
Binding: ContainerMaterials (example)
..... type I0..1CodeableConceptKind of container associated with the kind of specimen
Binding: SpecimenContainerType (example)
..... cap I0..1CodeableConceptColor of container cap
Binding: ContainerCap (example)
..... description I0..1stringContainer description
Example General: Blue top tube with citrate
..... capacity I0..1SimpleQuantityContainer capacity
..... minimumVolume[x] I0..1Minimum volume
...... minimumVolumeQuantityQuantity(SimpleQuantity)
...... minimumVolumeStringstring
..... additive I0..*BackboneElementAdditive associated with container
...... 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
...... additive[x] I1..1Additive associated with container
Binding: hl7VS-additivePreservative (example)
....... additiveCodeableConceptCodeableConcept
....... additiveReferenceReference(Substance)
..... preparation I0..1stringSpecimen container preparation
.... requirement I0..1stringSpecimen requirements
.... retentionTime I0..1DurationSpecimen retention time
.... rejectionCriterion I0..*CodeableConceptRejection criterion
Binding: RejectionCriterion (example)
.... handling I0..*BackboneElementSpecimen handling before testing
..... 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
..... temperatureQualifier I0..1CodeableConceptTemperature qualifier
Binding: HandlingConditionSet (example)
..... temperatureRange I0..1RangeTemperature range
..... maxDuration I0..1DurationMaximum preservation time
..... instruction I0..1stringPreservation instruction
Example General: freeze within 4 hours

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

PathConformanceValueSet
SpecimenDefinition.languagepreferredCommonLanguages
Max Binding: AllLanguages
SpecimenDefinition.typeCollectedexampleHl7VSSpecimenType
SpecimenDefinition.patientPreparationexamplePreparePatient
SpecimenDefinition.collectionexampleSpecimenCollection
SpecimenDefinition.typeTested.typeexampleHl7VSSpecimenType
SpecimenDefinition.typeTested.preferencerequiredSpecimenContainedPreference
SpecimenDefinition.typeTested.container.materialexampleContainerMaterials
SpecimenDefinition.typeTested.container.typeexampleSpecimenContainerType
SpecimenDefinition.typeTested.container.capexampleContainerCap
SpecimenDefinition.typeTested.container.additive.additive[x]exampleHl7VSAdditivePreservative
SpecimenDefinition.typeTested.rejectionCriterionexampleRejectionCriterion
SpecimenDefinition.typeTested.handling.temperatureQualifierexampleHandlingConditionSet

Constraints

IdPathDetailsRequirements
dom-2SpecimenDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3SpecimenDefinitionIf 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-4SpecimenDefinitionIf 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-5SpecimenDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6SpecimenDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1SpecimenDefinition.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1SpecimenDefinition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1SpecimenDefinition.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1SpecimenDefinition.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1SpecimenDefinition.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeCollectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.patientPreparationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.timeAspectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.collectionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTestedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1SpecimenDefinition.typeTested.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1SpecimenDefinition.typeTested.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1SpecimenDefinition.typeTested.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1SpecimenDefinition.typeTested.isDerivedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.preferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.containerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.container.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1SpecimenDefinition.typeTested.container.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1SpecimenDefinition.typeTested.container.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1SpecimenDefinition.typeTested.container.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1SpecimenDefinition.typeTested.container.materialAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.container.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.container.capAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.container.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.container.capacityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.container.minimumVolume[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.container.additiveAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.container.additive.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1SpecimenDefinition.typeTested.container.additive.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1SpecimenDefinition.typeTested.container.additive.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1SpecimenDefinition.typeTested.container.additive.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1SpecimenDefinition.typeTested.container.additive.additive[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.container.preparationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.requirementAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.retentionTimeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.rejectionCriterionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.handlingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.handling.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1SpecimenDefinition.typeTested.handling.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1SpecimenDefinition.typeTested.handling.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1SpecimenDefinition.typeTested.handling.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1SpecimenDefinition.typeTested.handling.temperatureQualifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.handling.temperatureRangeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.handling.maxDurationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1SpecimenDefinition.typeTested.handling.instructionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())