FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

10.9 Resource Specimen - Content

Orders and Observations icon Work GroupMaturity Level: 2 Trial UseSecurity Category: Patient Compartments: Device, Patient, Practitioner

A sample to be used for analysis.

Any material sample:

  • taken from a biological entity, living or dead
  • taken from a physical object or the environment

Some specimens are biological and can contain one or more components including but not limited to cellular molecules, cells, tissues, organs, body fluids, embryos, and body excretory products (source: NCI Thesaurus icon, modified).

The specimen resource covers substances used for diagnostic and environmental testing. The focus of the specimen resource is the process for gathering, maintaining and processing the specimen as well as where the specimen originated. This is distinct from the use of Substance which is only used when these other aspects are not relevant.

The current definition of the specimen resource contains only basic information about specimen containers. It does not address the recursive nature of containers or the tracking of the location of a container within its parent container (for instance: a tube in a tray in a rack in a freezer). The frequency with which these elements are tracked may depend on the context of use; general lab, bio-banking, etc. Comments from reviewers on the appropriate scope for this resource, and the need for tracking related specimen management attributes, are welcomed.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Specimen TU DomainResource Sample for analysis
+ Rule: Specimen.collection.collector SHALL only be present if Specimen.collection.procedure is not present

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier External Identifier

... accessionIdentifier Σ 0..1 Identifier Identifier assigned by the lab
... status ?!Σ 0..1 code available | unavailable | unsatisfactory | entered-in-error
Binding: Specimen Status (Required)
... subject Σ 0..1 Reference(Patient | Group | Device | BiologicallyDerivedProduct | Substance | 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, a biologically-derived product, or a device
... receivedTime Σ 0..1 dateTime The time when specimen is received by the testing laboratory
... parent 0..* Reference(Specimen) Specimen from which this specimen originated

... request 0..* Reference(ServiceRequest) Why the specimen was collected

... combined Σ 0..1 code grouped | pooled
Binding: Specimen Combined (Required)
... role 0..* CodeableConcept The role the specimen serves
Binding: Specimen Role (Preferred)

... feature 0..* BackboneElement The physical feature of a specimen

.... type 1..1 CodeableConcept Highlighted feature
Binding: SNOMED CT Body Structures (Example)
.... description 1..1 string Information about the feature
... collection 0..1 BackboneElement Collection details
.... collector ΣC 0..1 Reference(Organization | Practitioner | PractitionerRole | Patient | RelatedPerson) Who collected the specimen
.... collected[x] Σ 0..1 Collection time
..... collectedDateTime dateTime
..... collectedPeriod Period
.... duration Σ 0..1 Duration How long it took to collect specimen
.... quantity 0..1 SimpleQuantity The quantity of specimen collected
.... method 0..1 CodeableConcept Technique used to perform collection
Binding: FHIR Specimen Collection Method (Example)
.... device 0..1 CodeableReference(Device) Device used to perform collection
Binding: SpecimenCollectionDevice (Example)
.... procedure C 0..1 Reference(Procedure) The procedure that collects the specimen
.... bodySite 0..1 CodeableReference(BodyStructure) Anatomical collection site
Binding: SNOMED CT Body Structures (Example)
.... fastingStatus[x] Σ 0..1 Whether or how long patient abstained from food and/or drink
Binding: hl7VS-relevantClincialInformation icon (Extensible)
..... fastingStatusCodeableConcept CodeableConcept
..... fastingStatusDuration Duration
... processing 0..* BackboneElement Processing and processing step details

.... description 0..1 string Textual description of procedure
.... method 0..1 CodeableConcept Indicates the treatment step applied to the specimen
Binding: Specimen Processing Method (Example)
.... performer Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) Entity processing specimen
.... device 0..1 Reference(Device) Device 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
..... timeDuration Duration
... container 0..* BackboneElement Direct container of specimen (tube/slide, etc.)

.... device 1..1 Reference(Device) Device resource for the container
.... specimenQuantity 0..1 SimpleQuantity Quantity of specimen within container
... condition Σ 0..* CodeableConcept State of the specimen
Binding: hl7VS-specimenCondition icon (Extensible)

... note 0..* Annotation Comments


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

Specimen (DomainResource)Id for specimenidentifier : Identifier [0..*]The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab proceduresaccessionIdentifier : Identifier [0..1]The availability of the specimen (this element modifies the meaning of other elements)status : code [0..1] « null (Strength=Required)SpecimenStatus! »The kind of material that forms the specimentype : CodeableConcept [0..1] « null (Strength=Example)Hl7VSSpecimenType?? »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, a biologically-derived product, or a devicesubject : Reference [0..1] « Patient|Group|Device| BiologicallyDerivedProduct|Substance|Location »Time when specimen is received by the testing laboratory for processing or testingreceivedTime : dateTime [0..1]Reference to the parent (source) specimen which is used when the specimen was either derived from or a component of another specimenparent : Reference [0..*] « Specimen »Details concerning a service request that required a specimen to be collectedrequest : Reference [0..*] « ServiceRequest »This element signifies if the specimen is part of a group or pooledcombined : code [0..1] « null (Strength=Required)SpecimenCombined! »The role or reason for the specimen in the testing workflowrole : CodeableConcept [0..*] « Codes describing specimen role. (Strength=Preferred)SpecimenRole? »A mode or state of being that describes the nature of the specimencondition : CodeableConcept [0..*] « null (Strength=Extensible)Hl7VSSpecimenCondition+ »To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen)note : Annotation [0..*]FeatureThe landmark or feature being highlightedtype : CodeableConcept [1..1] « Codes describing anatomical feature. (Strength=Example)SNOMEDCTBodyStructures?? »Description of the feature of the specimendescription : string [1..1]CollectionPerson who collected the specimencollector : Reference [0..1] « Organization|Practitioner| PractitionerRole|Patient|RelatedPerson » « This element has or is affected by some invariantsC »Time when specimen was collected from subject - the physiologically relevant timecollected[x] : DataType [0..1] « dateTime|Period »The span of time over which the collection of a specimen occurredduration : Duration [0..1]The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology samplequantity : Quantity(SimpleQuantity) [0..1]A coded value specifying the technique that is used to perform the proceduremethod : CodeableConcept [0..1] « null (Strength=Example)FHIRSpecimenCollectionMethod?? »A coded value specifying the device that is used to perform the proceduredevice : CodeableReference [0..1] « Device; null (Strength=Example)SpecimenCollectionDevice?? »The procedure event during which the specimen was collected (e.g. the surgery leading to the collection of a pathology sample)procedure : Reference [0..1] « Procedure » « This element has or is affected by some invariantsC »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 specimensbodySite : CodeableReference [0..1] « BodyStructure; Codes describing anatomical locations. May include laterality. (Strength=Example) SNOMEDCTBodyStructures?? »Abstinence or reduction from some or all food, drink, or both, for a period of time prior to sample collectionfastingStatus[x] : DataType [0..1] « CodeableConcept|Duration; null (Strength=Extensible) Hl7VSRelevantClincialInformat...+ »ProcessingTextual description of proceduredescription : string [0..1]A coded value specifying the method used to process the specimenmethod : CodeableConcept [0..1] « null (Strength=Example)SpecimenProcessingMethod?? »The performer of the processing of the specimenperformer : Reference [0..1] « Practitioner|PractitionerRole|Patient| RelatedPerson »The device used in the processing of the specimendevice : Reference [0..1] « Device »Material used in the processing stepadditive : Reference [0..*] « Substance »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 formalintime[x] : DataType [0..1] « dateTime|Period|Duration »ContainerThe 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 devicedevice : Reference [1..1] « Device »The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen typespecimenQuantity : Quantity(SimpleQuantity) [0..1]A physical feature or landmark on a specimen, highlighted for context by the collector of the specimen (e.g. surgeon), that identifies the type of feature as well as its meaning (e.g. the red ink indicating the resection margin of the right lobe of the excised prostate tissue or wire loop at radiologically suspected tumor location)feature[0..*]Details concerning the specimen collectioncollection[0..1]Details concerning processing and processing steps for the specimenprocessing[0..*]The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed herecontainer[0..*]

XML Template

<Specimen xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External Identifier --></identifier>
 <accessionIdentifier><!-- 0..1 Identifier Identifier assigned by the lab --></accessionIdentifier>
 <status value="[code]"/><!-- 0..1 available | unavailable | unsatisfactory | entered-in-error -->
 <type><!-- 0..1 CodeableConcept Kind of material that forms the specimen icon --></type>
 <subject><!-- 0..1 Reference(BiologicallyDerivedProduct|Device|Group|Location|
   Patient|Substance) 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, a biologically-derived product, or a device --></subject>
 <receivedTime value="[dateTime]"/><!-- 0..1 The time when specimen is received by the testing laboratory -->
 <parent><!-- 0..* Reference(Specimen) Specimen from which this specimen originated --></parent>
 <request><!-- 0..* Reference(ServiceRequest) Why the specimen was collected --></request>
 <combined value="[code]"/><!-- 0..1 grouped | pooled -->
 <role><!-- 0..* CodeableConcept The role the specimen serves --></role>
 <feature>  <!-- 0..* The physical feature of a specimen -->
  <type><!-- 1..1 CodeableConcept Highlighted feature --></type>
  <description value="[string]"/><!-- 1..1 Information about the feature -->
 </feature>
 <collection>  <!-- 0..1 Collection details -->
  <collector><!-- I 0..1 Reference(Organization|Patient|Practitioner|
    PractitionerRole|RelatedPerson) Who collected the specimen --></collector>
  <collected[x]><!-- 0..1 dateTime|Period Collection time --></collected[x]>
  <duration><!-- 0..1 Duration How long it took to collect specimen --></duration>
  <quantity><!-- 0..1 Quantity(SimpleQuantity) The quantity of specimen collected --></quantity>
  <method><!-- 0..1 CodeableConcept Technique used to perform collection --></method>
  <device><!-- 0..1 CodeableReference(Device) Device used to perform collection --></device>
  <procedure><!-- I 0..1 Reference(Procedure) The procedure that collects the specimen --></procedure>
  <bodySite><!-- 0..1 CodeableReference(BodyStructure) Anatomical collection site --></bodySite>
  <fastingStatus[x]><!-- 0..1 CodeableConcept|Duration Whether or how long patient abstained from food and/or drink icon --></fastingStatus[x]>
 </collection>
 <processing>  <!-- 0..* Processing and processing step details -->
  <description value="[string]"/><!-- 0..1 Textual description of procedure -->
  <method><!-- 0..1 CodeableConcept Indicates the treatment step  applied to the specimen --></method>
  <performer><!-- 0..1 Reference(Patient|Practitioner|PractitionerRole|
    RelatedPerson) Entity processing specimen --></performer>
  <device><!-- 0..1 Reference(Device) Device used to process the specimen --></device>
  <additive><!-- 0..* Reference(Substance) Material used in the processing step --></additive>
  <time[x]><!-- 0..1 dateTime|Period|Duration Date and time of specimen processing --></time[x]>
 </processing>
 <container>  <!-- 0..* Direct container of specimen (tube/slide, etc.) -->
  <device><!-- 1..1 Reference(Device) Device resource for the container --></device>
  <specimenQuantity><!-- 0..1 Quantity(SimpleQuantity) Quantity of specimen within container --></specimenQuantity>
 </container>
 <condition><!-- 0..* CodeableConcept State of the specimen icon --></condition>
 <note><!-- 0..* Annotation Comments --></note>
</Specimen>

JSON Template

{doco
  "resourceType" : "Specimen",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Identifier
  "accessionIdentifier" : { Identifier }, // Identifier assigned by the lab
  "status" : "<code>", // available | unavailable | unsatisfactory | entered-in-error
  "type" : { CodeableConcept }, // Kind of material that forms the specimen icon
  "subject" : { Reference(BiologicallyDerivedProduct|Device|Group|Location|
   Patient|Substance) }, // 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, a biologically-derived product, or a device
  "receivedTime" : "<dateTime>", // The time when specimen is received by the testing laboratory
  "parent" : [{ Reference(Specimen) }], // Specimen from which this specimen originated
  "request" : [{ Reference(ServiceRequest) }], // Why the specimen was collected
  "combined" : "<code>", // grouped | pooled
  "role" : [{ CodeableConcept }], // The role the specimen serves
  "feature" : [{ // The physical feature of a specimen
    "type" : { CodeableConcept }, // R!  Highlighted feature
    "description" : "<string>" // R!  Information about the feature
  }],
  "collection" : { // Collection details
    "collector" : { Reference(Organization|Patient|Practitioner|
    PractitionerRole|RelatedPerson) }, // I Who collected the specimen
    // collected[x]: Collection time. One of these 2:
    "collectedDateTime" : "<dateTime>",
    "collectedPeriod" : { Period },
    "duration" : { Duration }, // How long it took to collect specimen
    "quantity" : { Quantity(SimpleQuantity) }, // The quantity of specimen collected
    "method" : { CodeableConcept }, // Technique used to perform collection
    "device" : { CodeableReference(Device) }, // Device used to perform collection
    "procedure" : { Reference(Procedure) }, // I The procedure that collects the specimen
    "bodySite" : { CodeableReference(BodyStructure) }, // Anatomical collection site
    // fastingStatus[x]: Whether or how long patient abstained from food and/or drink. One of these 2:
    "fastingStatusCodeableConcept" : { CodeableConcept },
    "fastingStatusDuration" : { Duration }
  },
  "processing" : [{ // Processing and processing step details
    "description" : "<string>", // Textual description of procedure
    "method" : { CodeableConcept }, // Indicates the treatment step  applied to the specimen
    "performer" : { Reference(Patient|Practitioner|PractitionerRole|
    RelatedPerson) }, // Entity processing specimen
    "device" : { Reference(Device) }, // Device used to process the specimen
    "additive" : [{ Reference(Substance) }], // Material used in the processing step
    // time[x]: Date and time of specimen processing. One of these 3:
    "timeDateTime" : "<dateTime>",
    "timePeriod" : { Period },
    "timeDuration" : { Duration }
  }],
  "container" : [{ // Direct container of specimen (tube/slide, etc.)
    "device" : { Reference(Device) }, // R!  Device resource for the container
    "specimenQuantity" : { Quantity(SimpleQuantity) } // Quantity of specimen within container
  }],
  "condition" : [{ CodeableConcept }], // State of the specimen icon
  "note" : [{ Annotation }] // Comments
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Specimen;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* External Identifier
  fhir:accessionIdentifier [ Identifier ] ; # 0..1 Identifier assigned by the lab
  fhir:status [ code ] ; # 0..1 available | unavailable | unsatisfactory | entered-in-error
  fhir:type [ CodeableConcept ] ; # 0..1 Kind of material that forms the specimen
  fhir:subject [ Reference(BiologicallyDerivedProduct|Device|Group|Location|Patient|Substance) ] ; # 0..1 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, a biologically-derived product, or a device
  fhir:receivedTime [ dateTime ] ; # 0..1 The time when specimen is received by the testing laboratory
  fhir:parent  ( [ Reference(Specimen) ] ... ) ; # 0..* Specimen from which this specimen originated
  fhir:request  ( [ Reference(ServiceRequest) ] ... ) ; # 0..* Why the specimen was collected
  fhir:combined [ code ] ; # 0..1 grouped | pooled
  fhir:role  ( [ CodeableConcept ] ... ) ; # 0..* The role the specimen serves
  fhir:feature ( [ # 0..* The physical feature of a specimen
    fhir:type [ CodeableConcept ] ; # 1..1 Highlighted feature
    fhir:description [ string ] ; # 1..1 Information about the feature
  ] ... ) ;
  fhir:collection [ # 0..1 Collection details
    fhir:collector [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 I Who collected the specimen
    # collected[x] : 0..1 Collection time. One of these 2
      fhir:collected [  a fhir:dateTime ; dateTime ]
      fhir:collected [  a fhir:Period ; Period ]
    fhir:duration [ Duration ] ; # 0..1 How long it took to collect specimen
    fhir:quantity [ Quantity(SimpleQuantity) ] ; # 0..1 The quantity of specimen collected
    fhir:method [ CodeableConcept ] ; # 0..1 Technique used to perform collection
    fhir:device [ CodeableReference(Device) ] ; # 0..1 Device used to perform collection
    fhir:procedure [ Reference(Procedure) ] ; # 0..1 I The procedure that collects the specimen
    fhir:bodySite [ CodeableReference(BodyStructure) ] ; # 0..1 Anatomical collection site
    # fastingStatus[x] : 0..1 Whether or how long patient abstained from food and/or drink. One of these 2
      fhir:fastingStatus [  a fhir:CodeableConcept ; CodeableConcept ]
      fhir:fastingStatus [  a fhir:Duration ; Duration ]
  ] ;
  fhir:processing ( [ # 0..* Processing and processing step details
    fhir:description [ string ] ; # 0..1 Textual description of procedure
    fhir:method [ CodeableConcept ] ; # 0..1 Indicates the treatment step  applied to the specimen
    fhir:performer [ Reference(Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Entity processing specimen
    fhir:device [ Reference(Device) ] ; # 0..1 Device used to process the specimen
    fhir:additive  ( [ Reference(Substance) ] ... ) ; # 0..* Material used in the processing step
    # time[x] : 0..1 Date and time of specimen processing. One of these 3
      fhir:time [  a fhir:dateTime ; dateTime ]
      fhir:time [  a fhir:Period ; Period ]
      fhir:time [  a fhir:Duration ; Duration ]
  ] ... ) ;
  fhir:container ( [ # 0..* Direct container of specimen (tube/slide, etc.)
    fhir:device [ Reference(Device) ] ; # 1..1 Device resource for the container
    fhir:specimenQuantity [ Quantity(SimpleQuantity) ] ; # 0..1 Quantity of specimen within container
  ] ... ) ;
  fhir:condition  ( [ CodeableConcept ] ... ) ; # 0..* State of the specimen
  fhir:note  ( [ Annotation ] ... ) ; # 0..* Comments
]

Changes from both R4 and R4B

Specimen
Specimen.subject
  • Type Reference: Added Target Type BiologicallyDerivedProduct
Specimen.combined
  • Added Element
Specimen.role
  • Added Element
Specimen.feature
  • Added Element
Specimen.feature.type
  • Added Mandatory Element
Specimen.feature.description
  • Added Mandatory Element
Specimen.collection.collector
  • Type Reference: Added Target Types Organization, Patient, RelatedPerson
Specimen.collection.device
  • Added Element
Specimen.collection.procedure
  • Added Element
Specimen.collection.bodySite
  • Type changed from CodeableConcept to CodeableReference
Specimen.processing.method
  • Added Element
Specimen.processing.performer
  • Added Element
Specimen.processing.device
  • Added Element
Specimen.processing.time[x]
  • Add Type Duration
Specimen.container.device
  • Added Mandatory Element
Specimen.processing.procedure
  • Deleted
Specimen.container.identifier
  • Deleted
Specimen.container.description
  • Deleted
Specimen.container.type
  • Deleted
Specimen.container.capacity
  • Deleted
Specimen.container.additive[x]
  • Deleted

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Specimen TU DomainResource Sample for analysis
+ Rule: Specimen.collection.collector SHALL only be present if Specimen.collection.procedure is not present

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier External Identifier

... accessionIdentifier Σ 0..1 Identifier Identifier assigned by the lab
... status ?!Σ 0..1 code available | unavailable | unsatisfactory | entered-in-error
Binding: Specimen Status (Required)
... subject Σ 0..1 Reference(Patient | Group | Device | BiologicallyDerivedProduct | Substance | 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, a biologically-derived product, or a device
... receivedTime Σ 0..1 dateTime The time when specimen is received by the testing laboratory
... parent 0..* Reference(Specimen) Specimen from which this specimen originated

... request 0..* Reference(ServiceRequest) Why the specimen was collected

... combined Σ 0..1 code grouped | pooled
Binding: Specimen Combined (Required)
... role 0..* CodeableConcept The role the specimen serves
Binding: Specimen Role (Preferred)

... feature 0..* BackboneElement The physical feature of a specimen

.... type 1..1 CodeableConcept Highlighted feature
Binding: SNOMED CT Body Structures (Example)
.... description 1..1 string Information about the feature
... collection 0..1 BackboneElement Collection details
.... collector ΣC 0..1 Reference(Organization | Practitioner | PractitionerRole | Patient | RelatedPerson) Who collected the specimen
.... collected[x] Σ 0..1 Collection time
..... collectedDateTime dateTime
..... collectedPeriod Period
.... duration Σ 0..1 Duration How long it took to collect specimen
.... quantity 0..1 SimpleQuantity The quantity of specimen collected
.... method 0..1 CodeableConcept Technique used to perform collection
Binding: FHIR Specimen Collection Method (Example)
.... device 0..1 CodeableReference(Device) Device used to perform collection
Binding: SpecimenCollectionDevice (Example)
.... procedure C 0..1 Reference(Procedure) The procedure that collects the specimen
.... bodySite 0..1 CodeableReference(BodyStructure) Anatomical collection site
Binding: SNOMED CT Body Structures (Example)
.... fastingStatus[x] Σ 0..1 Whether or how long patient abstained from food and/or drink
Binding: hl7VS-relevantClincialInformation icon (Extensible)
..... fastingStatusCodeableConcept CodeableConcept
..... fastingStatusDuration Duration
... processing 0..* BackboneElement Processing and processing step details

.... description 0..1 string Textual description of procedure
.... method 0..1 CodeableConcept Indicates the treatment step applied to the specimen
Binding: Specimen Processing Method (Example)
.... performer Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) Entity processing specimen
.... device 0..1 Reference(Device) Device 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
..... timeDuration Duration
... container 0..* BackboneElement Direct container of specimen (tube/slide, etc.)

.... device 1..1 Reference(Device) Device resource for the container
.... specimenQuantity 0..1 SimpleQuantity Quantity of specimen within container
... condition Σ 0..* CodeableConcept State of the specimen
Binding: hl7VS-specimenCondition icon (Extensible)

... note 0..* Annotation Comments


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

Specimen (DomainResource)Id for specimenidentifier : Identifier [0..*]The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab proceduresaccessionIdentifier : Identifier [0..1]The availability of the specimen (this element modifies the meaning of other elements)status : code [0..1] « null (Strength=Required)SpecimenStatus! »The kind of material that forms the specimentype : CodeableConcept [0..1] « null (Strength=Example)Hl7VSSpecimenType?? »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, a biologically-derived product, or a devicesubject : Reference [0..1] « Patient|Group|Device| BiologicallyDerivedProduct|Substance|Location »Time when specimen is received by the testing laboratory for processing or testingreceivedTime : dateTime [0..1]Reference to the parent (source) specimen which is used when the specimen was either derived from or a component of another specimenparent : Reference [0..*] « Specimen »Details concerning a service request that required a specimen to be collectedrequest : Reference [0..*] « ServiceRequest »This element signifies if the specimen is part of a group or pooledcombined : code [0..1] « null (Strength=Required)SpecimenCombined! »The role or reason for the specimen in the testing workflowrole : CodeableConcept [0..*] « Codes describing specimen role. (Strength=Preferred)SpecimenRole? »A mode or state of being that describes the nature of the specimencondition : CodeableConcept [0..*] « null (Strength=Extensible)Hl7VSSpecimenCondition+ »To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen)note : Annotation [0..*]FeatureThe landmark or feature being highlightedtype : CodeableConcept [1..1] « Codes describing anatomical feature. (Strength=Example)SNOMEDCTBodyStructures?? »Description of the feature of the specimendescription : string [1..1]CollectionPerson who collected the specimencollector : Reference [0..1] « Organization|Practitioner| PractitionerRole|Patient|RelatedPerson » « This element has or is affected by some invariantsC »Time when specimen was collected from subject - the physiologically relevant timecollected[x] : DataType [0..1] « dateTime|Period »The span of time over which the collection of a specimen occurredduration : Duration [0..1]The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology samplequantity : Quantity(SimpleQuantity) [0..1]A coded value specifying the technique that is used to perform the proceduremethod : CodeableConcept [0..1] « null (Strength=Example)FHIRSpecimenCollectionMethod?? »A coded value specifying the device that is used to perform the proceduredevice : CodeableReference [0..1] « Device; null (Strength=Example)SpecimenCollectionDevice?? »The procedure event during which the specimen was collected (e.g. the surgery leading to the collection of a pathology sample)procedure : Reference [0..1] « Procedure » « This element has or is affected by some invariantsC »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 specimensbodySite : CodeableReference [0..1] « BodyStructure; Codes describing anatomical locations. May include laterality. (Strength=Example) SNOMEDCTBodyStructures?? »Abstinence or reduction from some or all food, drink, or both, for a period of time prior to sample collectionfastingStatus[x] : DataType [0..1] « CodeableConcept|Duration; null (Strength=Extensible) Hl7VSRelevantClincialInformat...+ »ProcessingTextual description of proceduredescription : string [0..1]A coded value specifying the method used to process the specimenmethod : CodeableConcept [0..1] « null (Strength=Example)SpecimenProcessingMethod?? »The performer of the processing of the specimenperformer : Reference [0..1] « Practitioner|PractitionerRole|Patient| RelatedPerson »The device used in the processing of the specimendevice : Reference [0..1] « Device »Material used in the processing stepadditive : Reference [0..*] « Substance »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 formalintime[x] : DataType [0..1] « dateTime|Period|Duration »ContainerThe 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 devicedevice : Reference [1..1] « Device »The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen typespecimenQuantity : Quantity(SimpleQuantity) [0..1]A physical feature or landmark on a specimen, highlighted for context by the collector of the specimen (e.g. surgeon), that identifies the type of feature as well as its meaning (e.g. the red ink indicating the resection margin of the right lobe of the excised prostate tissue or wire loop at radiologically suspected tumor location)feature[0..*]Details concerning the specimen collectioncollection[0..1]Details concerning processing and processing steps for the specimenprocessing[0..*]The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed herecontainer[0..*]

XML Template

<Specimen xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External Identifier --></identifier>
 <accessionIdentifier><!-- 0..1 Identifier Identifier assigned by the lab --></accessionIdentifier>
 <status value="[code]"/><!-- 0..1 available | unavailable | unsatisfactory | entered-in-error -->
 <type><!-- 0..1 CodeableConcept Kind of material that forms the specimen icon --></type>
 <subject><!-- 0..1 Reference(BiologicallyDerivedProduct|Device|Group|Location|
   Patient|Substance) 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, a biologically-derived product, or a device --></subject>
 <receivedTime value="[dateTime]"/><!-- 0..1 The time when specimen is received by the testing laboratory -->
 <parent><!-- 0..* Reference(Specimen) Specimen from which this specimen originated --></parent>
 <request><!-- 0..* Reference(ServiceRequest) Why the specimen was collected --></request>
 <combined value="[code]"/><!-- 0..1 grouped | pooled -->
 <role><!-- 0..* CodeableConcept The role the specimen serves --></role>
 <feature>  <!-- 0..* The physical feature of a specimen -->
  <type><!-- 1..1 CodeableConcept Highlighted feature --></type>
  <description value="[string]"/><!-- 1..1 Information about the feature -->
 </feature>
 <collection>  <!-- 0..1 Collection details -->
  <collector><!-- I 0..1 Reference(Organization|Patient|Practitioner|
    PractitionerRole|RelatedPerson) Who collected the specimen --></collector>
  <collected[x]><!-- 0..1 dateTime|Period Collection time --></collected[x]>
  <duration><!-- 0..1 Duration How long it took to collect specimen --></duration>
  <quantity><!-- 0..1 Quantity(SimpleQuantity) The quantity of specimen collected --></quantity>
  <method><!-- 0..1 CodeableConcept Technique used to perform collection --></method>
  <device><!-- 0..1 CodeableReference(Device) Device used to perform collection --></device>
  <procedure><!-- I 0..1 Reference(Procedure) The procedure that collects the specimen --></procedure>
  <bodySite><!-- 0..1 CodeableReference(BodyStructure) Anatomical collection site --></bodySite>
  <fastingStatus[x]><!-- 0..1 CodeableConcept|Duration Whether or how long patient abstained from food and/or drink icon --></fastingStatus[x]>
 </collection>
 <processing>  <!-- 0..* Processing and processing step details -->
  <description value="[string]"/><!-- 0..1 Textual description of procedure -->
  <method><!-- 0..1 CodeableConcept Indicates the treatment step  applied to the specimen --></method>
  <performer><!-- 0..1 Reference(Patient|Practitioner|PractitionerRole|
    RelatedPerson) Entity processing specimen --></performer>
  <device><!-- 0..1 Reference(Device) Device used to process the specimen --></device>
  <additive><!-- 0..* Reference(Substance) Material used in the processing step --></additive>
  <time[x]><!-- 0..1 dateTime|Period|Duration Date and time of specimen processing --></time[x]>
 </processing>
 <container>  <!-- 0..* Direct container of specimen (tube/slide, etc.) -->
  <device><!-- 1..1 Reference(Device) Device resource for the container --></device>
  <specimenQuantity><!-- 0..1 Quantity(SimpleQuantity) Quantity of specimen within container --></specimenQuantity>
 </container>
 <condition><!-- 0..* CodeableConcept State of the specimen icon --></condition>
 <note><!-- 0..* Annotation Comments --></note>
</Specimen>

JSON Template

{doco
  "resourceType" : "Specimen",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External Identifier
  "accessionIdentifier" : { Identifier }, // Identifier assigned by the lab
  "status" : "<code>", // available | unavailable | unsatisfactory | entered-in-error
  "type" : { CodeableConcept }, // Kind of material that forms the specimen icon
  "subject" : { Reference(BiologicallyDerivedProduct|Device|Group|Location|
   Patient|Substance) }, // 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, a biologically-derived product, or a device
  "receivedTime" : "<dateTime>", // The time when specimen is received by the testing laboratory
  "parent" : [{ Reference(Specimen) }], // Specimen from which this specimen originated
  "request" : [{ Reference(ServiceRequest) }], // Why the specimen was collected
  "combined" : "<code>", // grouped | pooled
  "role" : [{ CodeableConcept }], // The role the specimen serves
  "feature" : [{ // The physical feature of a specimen
    "type" : { CodeableConcept }, // R!  Highlighted feature
    "description" : "<string>" // R!  Information about the feature
  }],
  "collection" : { // Collection details
    "collector" : { Reference(Organization|Patient|Practitioner|
    PractitionerRole|RelatedPerson) }, // I Who collected the specimen
    // collected[x]: Collection time. One of these 2:
    "collectedDateTime" : "<dateTime>",
    "collectedPeriod" : { Period },
    "duration" : { Duration }, // How long it took to collect specimen
    "quantity" : { Quantity(SimpleQuantity) }, // The quantity of specimen collected
    "method" : { CodeableConcept }, // Technique used to perform collection
    "device" : { CodeableReference(Device) }, // Device used to perform collection
    "procedure" : { Reference(Procedure) }, // I The procedure that collects the specimen
    "bodySite" : { CodeableReference(BodyStructure) }, // Anatomical collection site
    // fastingStatus[x]: Whether or how long patient abstained from food and/or drink. One of these 2:
    "fastingStatusCodeableConcept" : { CodeableConcept },
    "fastingStatusDuration" : { Duration }
  },
  "processing" : [{ // Processing and processing step details
    "description" : "<string>", // Textual description of procedure
    "method" : { CodeableConcept }, // Indicates the treatment step  applied to the specimen
    "performer" : { Reference(Patient|Practitioner|PractitionerRole|
    RelatedPerson) }, // Entity processing specimen
    "device" : { Reference(Device) }, // Device used to process the specimen
    "additive" : [{ Reference(Substance) }], // Material used in the processing step
    // time[x]: Date and time of specimen processing. One of these 3:
    "timeDateTime" : "<dateTime>",
    "timePeriod" : { Period },
    "timeDuration" : { Duration }
  }],
  "container" : [{ // Direct container of specimen (tube/slide, etc.)
    "device" : { Reference(Device) }, // R!  Device resource for the container
    "specimenQuantity" : { Quantity(SimpleQuantity) } // Quantity of specimen within container
  }],
  "condition" : [{ CodeableConcept }], // State of the specimen icon
  "note" : [{ Annotation }] // Comments
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Specimen;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* External Identifier
  fhir:accessionIdentifier [ Identifier ] ; # 0..1 Identifier assigned by the lab
  fhir:status [ code ] ; # 0..1 available | unavailable | unsatisfactory | entered-in-error
  fhir:type [ CodeableConcept ] ; # 0..1 Kind of material that forms the specimen
  fhir:subject [ Reference(BiologicallyDerivedProduct|Device|Group|Location|Patient|Substance) ] ; # 0..1 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, a biologically-derived product, or a device
  fhir:receivedTime [ dateTime ] ; # 0..1 The time when specimen is received by the testing laboratory
  fhir:parent  ( [ Reference(Specimen) ] ... ) ; # 0..* Specimen from which this specimen originated
  fhir:request  ( [ Reference(ServiceRequest) ] ... ) ; # 0..* Why the specimen was collected
  fhir:combined [ code ] ; # 0..1 grouped | pooled
  fhir:role  ( [ CodeableConcept ] ... ) ; # 0..* The role the specimen serves
  fhir:feature ( [ # 0..* The physical feature of a specimen
    fhir:type [ CodeableConcept ] ; # 1..1 Highlighted feature
    fhir:description [ string ] ; # 1..1 Information about the feature
  ] ... ) ;
  fhir:collection [ # 0..1 Collection details
    fhir:collector [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 I Who collected the specimen
    # collected[x] : 0..1 Collection time. One of these 2
      fhir:collected [  a fhir:dateTime ; dateTime ]
      fhir:collected [  a fhir:Period ; Period ]
    fhir:duration [ Duration ] ; # 0..1 How long it took to collect specimen
    fhir:quantity [ Quantity(SimpleQuantity) ] ; # 0..1 The quantity of specimen collected
    fhir:method [ CodeableConcept ] ; # 0..1 Technique used to perform collection
    fhir:device [ CodeableReference(Device) ] ; # 0..1 Device used to perform collection
    fhir:procedure [ Reference(Procedure) ] ; # 0..1 I The procedure that collects the specimen
    fhir:bodySite [ CodeableReference(BodyStructure) ] ; # 0..1 Anatomical collection site
    # fastingStatus[x] : 0..1 Whether or how long patient abstained from food and/or drink. One of these 2
      fhir:fastingStatus [  a fhir:CodeableConcept ; CodeableConcept ]
      fhir:fastingStatus [  a fhir:Duration ; Duration ]
  ] ;
  fhir:processing ( [ # 0..* Processing and processing step details
    fhir:description [ string ] ; # 0..1 Textual description of procedure
    fhir:method [ CodeableConcept ] ; # 0..1 Indicates the treatment step  applied to the specimen
    fhir:performer [ Reference(Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Entity processing specimen
    fhir:device [ Reference(Device) ] ; # 0..1 Device used to process the specimen
    fhir:additive  ( [ Reference(Substance) ] ... ) ; # 0..* Material used in the processing step
    # time[x] : 0..1 Date and time of specimen processing. One of these 3
      fhir:time [  a fhir:dateTime ; dateTime ]
      fhir:time [  a fhir:Period ; Period ]
      fhir:time [  a fhir:Duration ; Duration ]
  ] ... ) ;
  fhir:container ( [ # 0..* Direct container of specimen (tube/slide, etc.)
    fhir:device [ Reference(Device) ] ; # 1..1 Device resource for the container
    fhir:specimenQuantity [ Quantity(SimpleQuantity) ] ; # 0..1 Quantity of specimen within container
  ] ... ) ;
  fhir:condition  ( [ CodeableConcept ] ... ) ; # 0..* State of the specimen
  fhir:note  ( [ Annotation ] ... ) ; # 0..* Comments
]

Changes from both R4 and R4B

Specimen
Specimen.subject
  • Type Reference: Added Target Type BiologicallyDerivedProduct
Specimen.combined
  • Added Element
Specimen.role
  • Added Element
Specimen.feature
  • Added Element
Specimen.feature.type
  • Added Mandatory Element
Specimen.feature.description
  • Added Mandatory Element
Specimen.collection.collector
  • Type Reference: Added Target Types Organization, Patient, RelatedPerson
Specimen.collection.device
  • Added Element
Specimen.collection.procedure
  • Added Element
Specimen.collection.bodySite
  • Type changed from CodeableConcept to CodeableReference
Specimen.processing.method
  • Added Element
Specimen.processing.performer
  • Added Element
Specimen.processing.device
  • Added Element
Specimen.processing.time[x]
  • Add Type Duration
Specimen.container.device
  • Added Mandatory Element
Specimen.processing.procedure
  • Deleted
Specimen.container.identifier
  • Deleted
Specimen.container.description
  • Deleted
Specimen.container.type
  • Deleted
Specimen.container.capacity
  • Deleted
Specimen.container.additive[x]
  • Deleted

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

Path ValueSet Type Documentation
Specimen.status SpecimenStatus Required

Codes providing the status/availability of a specimen.

Specimen.type Hl7VSSpecimenType icon (a valid code from specimenType icon) Example

Concepts that describe the precise nature of an entity that may be used as the source material for an observation. This is one of two code systems that are used instead of table 0070 (code system xxxx) which conflated specimen types and specimen collection methods. Used in Version 2 messaging in the SPM segment.

Specimen.combined SpecimenCombined Required

Codes providing the combined status of a specimen.

Specimen.role SpecimenRole Preferred

Codes providing the role of a specimen.

Specimen.feature.type SNOMEDCTBodyStructures Example

This value set includes all codes from SNOMED CT icon where concept is-a 442083009 (Anatomical or acquired body site (body structure)).

Specimen.collection.method FHIRSpecimenCollectionMethod Example

This example value set defines a set of codes that can be used to indicate the method by which a specimen was collected.

Specimen.collection.device Example
Specimen.collection.bodySite SNOMEDCTBodyStructures Example

This value set includes all codes from SNOMED CT icon where concept is-a 442083009 (Anatomical or acquired body site (body structure)).

Specimen.collection.fastingStatus[x] Hl7VSRelevantClincialInformation icon (a valid code from relevantClincialInformation icon) Extensible

Value Set of codes that specify additional clinical information about the patient or specimen to report the supporting and/or suspected diagnosis and clinical findings on requests for interpreted diagnostic studies.

Specimen.processing.method SpecimenProcessingMethod Example

The technique that is used to perform the process or preserve the specimen. These are codes from SNOMED CT - provided as an exemplar value set.

Specimen.condition Hl7VSSpecimenCondition icon (a valid code from specimenCondition icon) Extensible

Concepts of modes or states of being that describe the nature of a specimen. Used in Version 2 messaging in the SPM segment.

UniqueKeyLevelLocationDescriptionExpression
img spm-1Rule (base)Specimen.collection.collector SHALL only be present if Specimen.collection.procedure is not presentcollection.collector.empty() or collection.procedure.empty()

Specimens can be grouped at the Observation level via two ways:

  • A group at Observation.specimen with a reference to a group
  • By creating a group of specimens independent of observations
Additionally, a parent specimen can have multiple child specimens.

Specimens can be searched by parent, as described here. Additionally, a recursive, child-based search could be performed, using the instructions here. Note that recursive or reverse searching is highly dependent on the configuration of the local system(s) involved.

Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
accession token The accession number associated with the specimen Specimen.accessionIdentifier
bodysite reference Reference to a resource (by instance) Specimen.collection.bodySite.reference
collected date The date the specimen was collected Specimen.collection.collected.ofType(dateTime) | Specimen.collection.collected.ofType(Period)
collector reference Who collected the specimen Specimen.collection.collector
(Practitioner, Organization, Patient, PractitionerRole, RelatedPerson)
container-device reference The unique identifier associated with the specimen container Specimen.container.device.where(resolve() is Device)
(Device)
container-location reference The location of the specimen container Specimen.container.device.resolve().location
identifier token The unique identifier associated with the specimen Specimen.identifier 65 Resources
organization reference The organization where the specimen is located Specimen.container.device.resolve().owner
parent reference The parent of the specimen Specimen.parent
(Specimen)
patient reference The patient the specimen comes from Specimen.subject.where(resolve() is Patient)
(Patient)
65 Resources
procedure reference The procedure that collected the specimen Specimen.collection.procedure
(Procedure)
status token available | unavailable | unsatisfactory | entered-in-error Specimen.status
subject reference The subject of the specimen Specimen.subject
(Group, BiologicallyDerivedProduct, Device, Patient, Substance, Location)
type token The specimen type Specimen.type 11 Resources