Qi-Core Implementation Guide (Release 2.1 Trial-Use Ballot)

This page is part of the Quality Improvement Core Framework (v2.1.0: STU 3 Ballot 1) based on FHIR R3. The current version which supercedes this version is 4.1.1. For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition: qicore-specimen

Examples:

Blood Sample Example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-specimen

Profile of Specimen for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.

This profile builds on Specimen.

This profile was published on Mon Aug 21 00:00:00 AEST 2017 as a draft by Health Level Seven International (Clinical Quality Information - QICore).

Description of Profiles, Differentials, and Snapshots.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Specimen I0..*Sample for analysis
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Identifier
... accessionIdentifier Σ0..1IdentifierIdentifier assigned by the lab
... status ?!Σ0..1codeavailable | unavailable | unsatisfactory | entered-in-error
Binding: SpecimenStatus (required)
... type SΣ0..1CodeableConceptKind of material that forms the specimen
Binding: v2 Specimen Type (example)
... subject SΣ1..1Reference(QICore-Patient), Reference(QICore-Device), Reference(QICore-Substance), Reference(Group)Where the specimen came from. This may be from the patient(s) or from the environment or a device
... receivedTime SΣ0..1dateTimeThe time when specimen was received for processing
... parent 0..*Reference(QICore-Specimen)Specimen from which this specimen originated
... request 0..*Reference(ProcedureRequest)Why the specimen was collected
... collection I0..1BackboneElementCollection details
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... collector Σ0..1Reference(QICore-Practitioner)Who collected the specimen
.... collected[x] SΣ0..1dateTime, PeriodCollection time
.... quantity 0..1SimpleQuantityThe quantity of specimen collected
.... method 0..1CodeableConceptTechnique used to perform collection
Binding: FHIR Specimen Collection Method (example)
.... bodySite S0..1CodeableConceptAnatomical collection site
Binding: SNOMED CT Body Structures (example)
... processing I0..*BackboneElementProcessing and processing step details
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... description 0..1stringTextual description of procedure
.... procedure S0..1CodeableConceptIndicates the treatment step applied to the specimen
Binding: SpecimenProcessingProcedure (example)
.... additive 0..*Reference(QICore-Substance)Material used in the processing step
.... time[x] 0..1dateTime, PeriodDate and time of specimen processing
... container I0..*BackboneElementDirect container of specimen (tube/slide, etc.)
.... id 0..1stringxml:id (or equivalent in JSON)
.... specimen-sequenceNumber I0..1integerExtension
URL: http://hl7.org/fhir/StructureDefinition/specimen-sequenceNumber
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... identifier Σ0..*IdentifierId for the container
.... description 0..1stringTextual description of the container
.... type 0..1CodeableConceptKind of container directly associated with specimen
Binding: SpecimenContainer (example)
.... capacity 0..1SimpleQuantityContainer volume or size
.... specimenQuantity 0..1SimpleQuantityQuantity of specimen within container
.... additive[x] 0..1CodeableConcept, Reference(QICore-Substance)Additive associated with container
Binding: v2 Additive/Preservative (example)
... note 0..*AnnotationComments

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Specimen I0..*Sample for analysis
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Identifier
... accessionIdentifier Σ0..1IdentifierIdentifier assigned by the lab
... status ?!Σ0..1codeavailable | unavailable | unsatisfactory | entered-in-error
Binding: SpecimenStatus (required)
... type SΣ0..1CodeableConceptKind of material that forms the specimen
Binding: v2 Specimen Type (example)
... subject SΣ1..1Reference(QICore-Patient), Reference(QICore-Device), Reference(QICore-Substance), Reference(Group)Where the specimen came from. This may be from the patient(s) or from the environment or a device
... receivedTime SΣ0..1dateTimeThe time when specimen was received for processing
... parent 0..*Reference(QICore-Specimen)Specimen from which this specimen originated
... request 0..*Reference(ProcedureRequest)Why the specimen was collected
... collection I0..1BackboneElementCollection details
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... collector Σ0..1Reference(QICore-Practitioner)Who collected the specimen
.... collected[x] SΣ0..1dateTime, PeriodCollection time
.... quantity 0..1SimpleQuantityThe quantity of specimen collected
.... method 0..1CodeableConceptTechnique used to perform collection
Binding: FHIR Specimen Collection Method (example)
.... bodySite S0..1CodeableConceptAnatomical collection site
Binding: SNOMED CT Body Structures (example)
... processing I0..*BackboneElementProcessing and processing step details
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... description 0..1stringTextual description of procedure
.... procedure S0..1CodeableConceptIndicates the treatment step applied to the specimen
Binding: SpecimenProcessingProcedure (example)
.... additive 0..*Reference(QICore-Substance)Material used in the processing step
.... time[x] 0..1dateTime, PeriodDate and time of specimen processing
... container I0..*BackboneElementDirect container of specimen (tube/slide, etc.)
.... id 0..1stringxml:id (or equivalent in JSON)
.... specimen-sequenceNumber I0..1integerExtension
URL: http://hl7.org/fhir/StructureDefinition/specimen-sequenceNumber
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... identifier Σ0..*IdentifierId for the container
.... description 0..1stringTextual description of the container
.... type 0..1CodeableConceptKind of container directly associated with specimen
Binding: SpecimenContainer (example)
.... capacity 0..1SimpleQuantityContainer volume or size
.... specimenQuantity 0..1SimpleQuantityQuantity of specimen within container
.... additive[x] 0..1CodeableConcept, Reference(QICore-Substance)Additive associated with container
Binding: v2 Additive/Preservative (example)
... note 0..*AnnotationComments

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathNameConformanceValueSet
Specimen.languageCommon LanguagesextensibleCommon Languages
Specimen.statusSpecimenStatusrequiredSpecimenStatus
Specimen.typev2 Specimen Typeexamplev2 Specimen Type
Specimen.collection.methodFHIR Specimen Collection MethodexampleFHIR Specimen Collection Method
Specimen.collection.bodySiteSNOMED CT Body StructuresexampleSNOMED CT Body Structures
Specimen.processing.procedureSpecimenProcessingProcedureexampleSpecimenProcessingProcedure
Specimen.container.typeSpecimenContainerexampleSpecimenContainer
Specimen.container.additive[x]v2 Additive/Preservativeexamplev2 Additive/Preservative

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2SpecimenIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1SpecimenIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.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-3SpecimenIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
ele-1Specimen.collectionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Specimen.processingAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Specimen.containerAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Specimen.container.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Specimen.container.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Specimen.container.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Specimen.container.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()