Release 4

This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

10.7 Resource Specimen - Content

Orders and Observations 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 , 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.

This resource is referenced by DiagnosticReport, ImagingStudy, Media, MolecularSequence, Observation, ServiceRequest and itself

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Specimen TUDomainResourceSample for analysis
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierExternal Identifier
... accessionIdentifier Σ0..1IdentifierIdentifier assigned by the lab
... status ?!Σ0..1codeavailable | unavailable | unsatisfactory | entered-in-error
SpecimenStatus (Required)
... type Σ0..1CodeableConceptKind of material that forms the specimen
v2 Specimen Type (Example)
... subject Σ0..1Reference(Patient | Group | Device | 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 or a device
... receivedTime Σ0..1dateTimeThe time when specimen was received for processing
... parent 0..*Reference(Specimen)Specimen from which this specimen originated
... request 0..*Reference(ServiceRequest)Why the specimen was collected
... collection 0..1BackboneElementCollection details
.... collector Σ0..1Reference(Practitioner | PractitionerRole)Who collected the specimen
.... collected[x] Σ0..1Collection time
..... collectedDateTimedateTime
..... collectedPeriodPeriod
.... duration Σ0..1DurationHow long it took to collect specimen
.... quantity 0..1SimpleQuantityThe quantity of specimen collected
.... method 0..1CodeableConceptTechnique used to perform collection
FHIR Specimen Collection Method (Example)
.... bodySite 0..1CodeableConceptAnatomical collection site
SNOMED CT Body Structures (Example)
.... fastingStatus[x] Σ0..1Whether or how long patient abstained from food and/or drink
v2 Relevant Clincial Information (Extensible)
..... fastingStatusCodeableConceptCodeableConcept
..... fastingStatusDurationDuration
... processing 0..*BackboneElementProcessing and processing step details
.... description 0..1stringTextual description of procedure
.... procedure 0..1CodeableConceptIndicates the treatment step applied to the specimen
Specimen processing procedure (Example)
.... additive 0..*Reference(Substance)Material used in the processing step
.... time[x] 0..1Date and time of specimen processing
..... timeDateTimedateTime
..... timePeriodPeriod
... container 0..*BackboneElementDirect container of specimen (tube/slide, etc.)
.... identifier Σ0..*IdentifierId for the container
.... description 0..1stringTextual description of the container
.... type 0..1CodeableConceptKind of container directly associated with specimen
Specimen container (Example)
.... capacity 0..1SimpleQuantityContainer volume or size
.... specimenQuantity 0..1SimpleQuantityQuantity of specimen within container
.... additive[x] 0..1Additive associated with container
v2 Additive (Example)
..... additiveCodeableConceptCodeableConcept
..... additiveReferenceReference(Substance)
... condition Σ0..*CodeableConceptState of the specimen
v2 Specimen Condition (Extensible)
... note 0..*AnnotationComments

doco Documentation for this format

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] « Codes providing the status/availability of a specimen. (Strength=Required)SpecimenStatus! »The kind of material that forms the specimentype : CodeableConcept [0..1] « The type of the specimen. (Strength=Example)v2.0487?? »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 devicesubject : Reference [0..1] « Patient|Group|Device|Substance|Location »Time when specimen was received 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 »A mode or state of being that describes the nature of the specimencondition : CodeableConcept [0..*] « Codes describing the state of the specimen. (Strength=Extensible)v2.0493+ »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..*]CollectionPerson who collected the specimencollector : Reference [0..1] « Practitioner|PractitionerRole »Time when specimen was collected from subject - the physiologically relevant timecollected[x] : Type [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] « The technique that is used to perform the procedure. (Strength=Example)FHIRSpecimenCollectionMethod?? »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 : CodeableConcept [0..1] « 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] : Type [0..1] « CodeableConcept|Duration; Codes describing the fasting status of the patient. (Strength=Extensible)v2.0916+ »ProcessingTextual description of proceduredescription : string [0..1]A coded value specifying the procedure used to process the specimenprocedure : CodeableConcept [0..1] « Type indicating the technique used to process the specimen. (Strength=Example)SpecimenProcessingProcedure?? »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] : Type [0..1] « dateTime|Period »ContainerId for container. There may be multiple; a manufacturer's bar code, lab assigned identifier, etc. The container ID may differ from the specimen id in some circumstancesidentifier : Identifier [0..*]Textual description of the containerdescription : string [0..1]The type of container associated with the specimen (e.g. slide, aliquot, etc.)type : CodeableConcept [0..1] « Type of specimen container. (Strength=Example)SpecimenContainer?? »The capacity (volume or other measure) the container may containcapacity : Quantity(SimpleQuantity) [0..1]The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen typespecimenQuantity : Quantity(SimpleQuantity) [0..1]Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTAadditive[x] : Type [0..1] « CodeableConcept|Reference(Substance); Substance added to specimen container. (Strength=Example) v2.0371?? »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 --></type>
 <subject><!-- 0..1 Reference(Patient|Group|Device|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 or a device --></subject>
 <receivedTime value="[dateTime]"/><!-- 0..1 The time when specimen was received for processing -->
 <parent><!-- 0..* Reference(Specimen) Specimen from which this specimen originated --></parent>
 <request><!-- 0..* Reference(ServiceRequest) Why the specimen was collected --></request>
 <collection>  <!-- 0..1 Collection details -->
  <collector><!-- 0..1 Reference(Practitioner|PractitionerRole) 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>
  <bodySite><!-- 0..1 CodeableConcept Anatomical collection site --></bodySite>
  <fastingStatus[x]><!-- 0..1 CodeableConcept|Duration Whether or how long patient abstained from food and/or drink --></fastingStatus[x]>
 </collection>
 <processing>  <!-- 0..* Processing and processing step details -->
  <description value="[string]"/><!-- 0..1 Textual description of procedure -->
  <procedure><!-- 0..1 CodeableConcept Indicates the treatment step  applied to the specimen --></procedure>
  <additive><!-- 0..* Reference(Substance) Material used in the processing step --></additive>
  <time[x]><!-- 0..1 dateTime|Period Date and time of specimen processing --></time[x]>
 </processing>
 <container>  <!-- 0..* Direct container of specimen (tube/slide, etc.) -->
  <identifier><!-- 0..* Identifier Id for the container --></identifier>
  <description value="[string]"/><!-- 0..1 Textual description of the container -->
  <type><!-- 0..1 CodeableConcept Kind of container directly associated with specimen --></type>
  <capacity><!-- 0..1 Quantity(SimpleQuantity) Container volume or size --></capacity>
  <specimenQuantity><!-- 0..1 Quantity(SimpleQuantity) Quantity of specimen within container --></specimenQuantity>
  <additive[x]><!-- 0..1 CodeableConcept|Reference(Substance) Additive associated with container --></additive[x]>
 </container>
 <condition><!-- 0..* CodeableConcept State of the specimen --></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
  "subject" : { Reference(Patient|Group|Device|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 or a device
  "receivedTime" : "<dateTime>", // The time when specimen was received for processing
  "parent" : [{ Reference(Specimen) }], // Specimen from which this specimen originated
  "request" : [{ Reference(ServiceRequest) }], // Why the specimen was collected
  "collection" : { // Collection details
    "collector" : { Reference(Practitioner|PractitionerRole) }, // 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
    "bodySite" : { CodeableConcept }, // 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
    "procedure" : { CodeableConcept }, // Indicates the treatment step  applied to the specimen
    "additive" : [{ Reference(Substance) }], // Material used in the processing step
    // time[x]: Date and time of specimen processing. One of these 2:
    "timeDateTime" : "<dateTime>"
    "timePeriod" : { Period }
  }],
  "container" : [{ // Direct container of specimen (tube/slide, etc.)
    "identifier" : [{ Identifier }], // Id for the container
    "description" : "<string>", // Textual description of the container
    "type" : { CodeableConcept }, // Kind of container directly associated with specimen
    "capacity" : { Quantity(SimpleQuantity) }, // Container volume or size
    "specimenQuantity" : { Quantity(SimpleQuantity) }, // Quantity of specimen within container
    // additive[x]: Additive associated with container. One of these 2:
    "additiveCodeableConcept" : { CodeableConcept }
    "additiveReference" : { Reference(Substance) }
  }],
  "condition" : [{ CodeableConcept }], // State of the specimen
  "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:Specimen.identifier [ Identifier ], ... ; # 0..* External Identifier
  fhir:Specimen.accessionIdentifier [ Identifier ]; # 0..1 Identifier assigned by the lab
  fhir:Specimen.status [ code ]; # 0..1 available | unavailable | unsatisfactory | entered-in-error
  fhir:Specimen.type [ CodeableConcept ]; # 0..1 Kind of material that forms the specimen
  fhir:Specimen.subject [ Reference(Patient|Group|Device|Substance|Location) ]; # 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 or a device
  fhir:Specimen.receivedTime [ dateTime ]; # 0..1 The time when specimen was received for processing
  fhir:Specimen.parent [ Reference(Specimen) ], ... ; # 0..* Specimen from which this specimen originated
  fhir:Specimen.request [ Reference(ServiceRequest) ], ... ; # 0..* Why the specimen was collected
  fhir:Specimen.collection [ # 0..1 Collection details
    fhir:Specimen.collection.collector [ Reference(Practitioner|PractitionerRole) ]; # 0..1 Who collected the specimen
    # Specimen.collection.collected[x] : 0..1 Collection time. One of these 2
      fhir:Specimen.collection.collectedDateTime [ dateTime ]
      fhir:Specimen.collection.collectedPeriod [ Period ]
    fhir:Specimen.collection.duration [ Duration ]; # 0..1 How long it took to collect specimen
    fhir:Specimen.collection.quantity [ Quantity(SimpleQuantity) ]; # 0..1 The quantity of specimen collected
    fhir:Specimen.collection.method [ CodeableConcept ]; # 0..1 Technique used to perform collection
    fhir:Specimen.collection.bodySite [ CodeableConcept ]; # 0..1 Anatomical collection site
    # Specimen.collection.fastingStatus[x] : 0..1 Whether or how long patient abstained from food and/or drink. One of these 2
      fhir:Specimen.collection.fastingStatusCodeableConcept [ CodeableConcept ]
      fhir:Specimen.collection.fastingStatusDuration [ Duration ]
  ];
  fhir:Specimen.processing [ # 0..* Processing and processing step details
    fhir:Specimen.processing.description [ string ]; # 0..1 Textual description of procedure
    fhir:Specimen.processing.procedure [ CodeableConcept ]; # 0..1 Indicates the treatment step  applied to the specimen
    fhir:Specimen.processing.additive [ Reference(Substance) ], ... ; # 0..* Material used in the processing step
    # Specimen.processing.time[x] : 0..1 Date and time of specimen processing. One of these 2
      fhir:Specimen.processing.timeDateTime [ dateTime ]
      fhir:Specimen.processing.timePeriod [ Period ]
  ], ...;
  fhir:Specimen.container [ # 0..* Direct container of specimen (tube/slide, etc.)
    fhir:Specimen.container.identifier [ Identifier ], ... ; # 0..* Id for the container
    fhir:Specimen.container.description [ string ]; # 0..1 Textual description of the container
    fhir:Specimen.container.type [ CodeableConcept ]; # 0..1 Kind of container directly associated with specimen
    fhir:Specimen.container.capacity [ Quantity(SimpleQuantity) ]; # 0..1 Container volume or size
    fhir:Specimen.container.specimenQuantity [ Quantity(SimpleQuantity) ]; # 0..1 Quantity of specimen within container
    # Specimen.container.additive[x] : 0..1 Additive associated with container. One of these 2
      fhir:Specimen.container.additiveCodeableConcept [ CodeableConcept ]
      fhir:Specimen.container.additiveReference [ Reference(Substance) ]
  ], ...;
  fhir:Specimen.condition [ CodeableConcept ], ... ; # 0..* State of the specimen
  fhir:Specimen.note [ Annotation ], ... ; # 0..* Comments
]

Changes since R3

Specimen
Specimen.status
  • Change value set from http://hl7.org/fhir/ValueSet/specimen-status to http://hl7.org/fhir/ValueSet/specimen-status|4.0.1
Specimen.subject
  • Min Cardinality changed from 1 to 0
  • Type Reference: Added Target Type Location
Specimen.request
  • Type Reference: Added Target Type ServiceRequest
  • Type Reference: Removed Target Type ProcedureRequest
Specimen.collection.collector
  • Type Reference: Added Target Type PractitionerRole
Specimen.collection.duration
  • Added Element
Specimen.collection.fastingStatus[x]
  • Added Element
Specimen.condition
  • Added Element

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 4 tests that all execute ok. All tests pass round-trip testing and 2 r3 resources are invalid (0 errors).)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Specimen TUDomainResourceSample for analysis
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierExternal Identifier
... accessionIdentifier Σ0..1IdentifierIdentifier assigned by the lab
... status ?!Σ0..1codeavailable | unavailable | unsatisfactory | entered-in-error
SpecimenStatus (Required)
... type Σ0..1CodeableConceptKind of material that forms the specimen
v2 Specimen Type (Example)
... subject Σ0..1Reference(Patient | Group | Device | 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 or a device
... receivedTime Σ0..1dateTimeThe time when specimen was received for processing
... parent 0..*Reference(Specimen)Specimen from which this specimen originated
... request 0..*Reference(ServiceRequest)Why the specimen was collected
... collection 0..1BackboneElementCollection details
.... collector Σ0..1Reference(Practitioner | PractitionerRole)Who collected the specimen
.... collected[x] Σ0..1Collection time
..... collectedDateTimedateTime
..... collectedPeriodPeriod
.... duration Σ0..1DurationHow long it took to collect specimen
.... quantity 0..1SimpleQuantityThe quantity of specimen collected
.... method 0..1CodeableConceptTechnique used to perform collection
FHIR Specimen Collection Method (Example)
.... bodySite 0..1CodeableConceptAnatomical collection site
SNOMED CT Body Structures (Example)
.... fastingStatus[x] Σ0..1Whether or how long patient abstained from food and/or drink
v2 Relevant Clincial Information (Extensible)
..... fastingStatusCodeableConceptCodeableConcept
..... fastingStatusDurationDuration
... processing 0..*BackboneElementProcessing and processing step details
.... description 0..1stringTextual description of procedure
.... procedure 0..1CodeableConceptIndicates the treatment step applied to the specimen
Specimen processing procedure (Example)
.... additive 0..*Reference(Substance)Material used in the processing step
.... time[x] 0..1Date and time of specimen processing
..... timeDateTimedateTime
..... timePeriodPeriod
... container 0..*BackboneElementDirect container of specimen (tube/slide, etc.)
.... identifier Σ0..*IdentifierId for the container
.... description 0..1stringTextual description of the container
.... type 0..1CodeableConceptKind of container directly associated with specimen
Specimen container (Example)
.... capacity 0..1SimpleQuantityContainer volume or size
.... specimenQuantity 0..1SimpleQuantityQuantity of specimen within container
.... additive[x] 0..1Additive associated with container
v2 Additive (Example)
..... additiveCodeableConceptCodeableConcept
..... additiveReferenceReference(Substance)
... condition Σ0..*CodeableConceptState of the specimen
v2 Specimen Condition (Extensible)
... note 0..*AnnotationComments

doco Documentation for this format

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] « Codes providing the status/availability of a specimen. (Strength=Required)SpecimenStatus! »The kind of material that forms the specimentype : CodeableConcept [0..1] « The type of the specimen. (Strength=Example)v2.0487?? »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 devicesubject : Reference [0..1] « Patient|Group|Device|Substance|Location »Time when specimen was received 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 »A mode or state of being that describes the nature of the specimencondition : CodeableConcept [0..*] « Codes describing the state of the specimen. (Strength=Extensible)v2.0493+ »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..*]CollectionPerson who collected the specimencollector : Reference [0..1] « Practitioner|PractitionerRole »Time when specimen was collected from subject - the physiologically relevant timecollected[x] : Type [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] « The technique that is used to perform the procedure. (Strength=Example)FHIRSpecimenCollectionMethod?? »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 : CodeableConcept [0..1] « 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] : Type [0..1] « CodeableConcept|Duration; Codes describing the fasting status of the patient. (Strength=Extensible)v2.0916+ »ProcessingTextual description of proceduredescription : string [0..1]A coded value specifying the procedure used to process the specimenprocedure : CodeableConcept [0..1] « Type indicating the technique used to process the specimen. (Strength=Example)SpecimenProcessingProcedure?? »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] : Type [0..1] « dateTime|Period »ContainerId for container. There may be multiple; a manufacturer's bar code, lab assigned identifier, etc. The container ID may differ from the specimen id in some circumstancesidentifier : Identifier [0..*]Textual description of the containerdescription : string [0..1]The type of container associated with the specimen (e.g. slide, aliquot, etc.)type : CodeableConcept [0..1] « Type of specimen container. (Strength=Example)SpecimenContainer?? »The capacity (volume or other measure) the container may containcapacity : Quantity(SimpleQuantity) [0..1]The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen typespecimenQuantity : Quantity(SimpleQuantity) [0..1]Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTAadditive[x] : Type [0..1] « CodeableConcept|Reference(Substance); Substance added to specimen container. (Strength=Example) v2.0371?? »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 --></type>
 <subject><!-- 0..1 Reference(Patient|Group|Device|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 or a device --></subject>
 <receivedTime value="[dateTime]"/><!-- 0..1 The time when specimen was received for processing -->
 <parent><!-- 0..* Reference(Specimen) Specimen from which this specimen originated --></parent>
 <request><!-- 0..* Reference(ServiceRequest) Why the specimen was collected --></request>
 <collection>  <!-- 0..1 Collection details -->
  <collector><!-- 0..1 Reference(Practitioner|PractitionerRole) 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>
  <bodySite><!-- 0..1 CodeableConcept Anatomical collection site --></bodySite>
  <fastingStatus[x]><!-- 0..1 CodeableConcept|Duration Whether or how long patient abstained from food and/or drink --></fastingStatus[x]>
 </collection>
 <processing>  <!-- 0..* Processing and processing step details -->
  <description value="[string]"/><!-- 0..1 Textual description of procedure -->
  <procedure><!-- 0..1 CodeableConcept Indicates the treatment step  applied to the specimen --></procedure>
  <additive><!-- 0..* Reference(Substance) Material used in the processing step --></additive>
  <time[x]><!-- 0..1 dateTime|Period Date and time of specimen processing --></time[x]>
 </processing>
 <container>  <!-- 0..* Direct container of specimen (tube/slide, etc.) -->
  <identifier><!-- 0..* Identifier Id for the container --></identifier>
  <description value="[string]"/><!-- 0..1 Textual description of the container -->
  <type><!-- 0..1 CodeableConcept Kind of container directly associated with specimen --></type>
  <capacity><!-- 0..1 Quantity(SimpleQuantity) Container volume or size --></capacity>
  <specimenQuantity><!-- 0..1 Quantity(SimpleQuantity) Quantity of specimen within container --></specimenQuantity>
  <additive[x]><!-- 0..1 CodeableConcept|Reference(Substance) Additive associated with container --></additive[x]>
 </container>
 <condition><!-- 0..* CodeableConcept State of the specimen --></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
  "subject" : { Reference(Patient|Group|Device|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 or a device
  "receivedTime" : "<dateTime>", // The time when specimen was received for processing
  "parent" : [{ Reference(Specimen) }], // Specimen from which this specimen originated
  "request" : [{ Reference(ServiceRequest) }], // Why the specimen was collected
  "collection" : { // Collection details
    "collector" : { Reference(Practitioner|PractitionerRole) }, // 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
    "bodySite" : { CodeableConcept }, // 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
    "procedure" : { CodeableConcept }, // Indicates the treatment step  applied to the specimen
    "additive" : [{ Reference(Substance) }], // Material used in the processing step
    // time[x]: Date and time of specimen processing. One of these 2:
    "timeDateTime" : "<dateTime>"
    "timePeriod" : { Period }
  }],
  "container" : [{ // Direct container of specimen (tube/slide, etc.)
    "identifier" : [{ Identifier }], // Id for the container
    "description" : "<string>", // Textual description of the container
    "type" : { CodeableConcept }, // Kind of container directly associated with specimen
    "capacity" : { Quantity(SimpleQuantity) }, // Container volume or size
    "specimenQuantity" : { Quantity(SimpleQuantity) }, // Quantity of specimen within container
    // additive[x]: Additive associated with container. One of these 2:
    "additiveCodeableConcept" : { CodeableConcept }
    "additiveReference" : { Reference(Substance) }
  }],
  "condition" : [{ CodeableConcept }], // State of the specimen
  "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:Specimen.identifier [ Identifier ], ... ; # 0..* External Identifier
  fhir:Specimen.accessionIdentifier [ Identifier ]; # 0..1 Identifier assigned by the lab
  fhir:Specimen.status [ code ]; # 0..1 available | unavailable | unsatisfactory | entered-in-error
  fhir:Specimen.type [ CodeableConcept ]; # 0..1 Kind of material that forms the specimen
  fhir:Specimen.subject [ Reference(Patient|Group|Device|Substance|Location) ]; # 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 or a device
  fhir:Specimen.receivedTime [ dateTime ]; # 0..1 The time when specimen was received for processing
  fhir:Specimen.parent [ Reference(Specimen) ], ... ; # 0..* Specimen from which this specimen originated
  fhir:Specimen.request [ Reference(ServiceRequest) ], ... ; # 0..* Why the specimen was collected
  fhir:Specimen.collection [ # 0..1 Collection details
    fhir:Specimen.collection.collector [ Reference(Practitioner|PractitionerRole) ]; # 0..1 Who collected the specimen
    # Specimen.collection.collected[x] : 0..1 Collection time. One of these 2
      fhir:Specimen.collection.collectedDateTime [ dateTime ]
      fhir:Specimen.collection.collectedPeriod [ Period ]
    fhir:Specimen.collection.duration [ Duration ]; # 0..1 How long it took to collect specimen
    fhir:Specimen.collection.quantity [ Quantity(SimpleQuantity) ]; # 0..1 The quantity of specimen collected
    fhir:Specimen.collection.method [ CodeableConcept ]; # 0..1 Technique used to perform collection
    fhir:Specimen.collection.bodySite [ CodeableConcept ]; # 0..1 Anatomical collection site
    # Specimen.collection.fastingStatus[x] : 0..1 Whether or how long patient abstained from food and/or drink. One of these 2
      fhir:Specimen.collection.fastingStatusCodeableConcept [ CodeableConcept ]
      fhir:Specimen.collection.fastingStatusDuration [ Duration ]
  ];
  fhir:Specimen.processing [ # 0..* Processing and processing step details
    fhir:Specimen.processing.description [ string ]; # 0..1 Textual description of procedure
    fhir:Specimen.processing.procedure [ CodeableConcept ]; # 0..1 Indicates the treatment step  applied to the specimen
    fhir:Specimen.processing.additive [ Reference(Substance) ], ... ; # 0..* Material used in the processing step
    # Specimen.processing.time[x] : 0..1 Date and time of specimen processing. One of these 2
      fhir:Specimen.processing.timeDateTime [ dateTime ]
      fhir:Specimen.processing.timePeriod [ Period ]
  ], ...;
  fhir:Specimen.container [ # 0..* Direct container of specimen (tube/slide, etc.)
    fhir:Specimen.container.identifier [ Identifier ], ... ; # 0..* Id for the container
    fhir:Specimen.container.description [ string ]; # 0..1 Textual description of the container
    fhir:Specimen.container.type [ CodeableConcept ]; # 0..1 Kind of container directly associated with specimen
    fhir:Specimen.container.capacity [ Quantity(SimpleQuantity) ]; # 0..1 Container volume or size
    fhir:Specimen.container.specimenQuantity [ Quantity(SimpleQuantity) ]; # 0..1 Quantity of specimen within container
    # Specimen.container.additive[x] : 0..1 Additive associated with container. One of these 2
      fhir:Specimen.container.additiveCodeableConcept [ CodeableConcept ]
      fhir:Specimen.container.additiveReference [ Reference(Substance) ]
  ], ...;
  fhir:Specimen.condition [ CodeableConcept ], ... ; # 0..* State of the specimen
  fhir:Specimen.note [ Annotation ], ... ; # 0..* Comments
]

Changes since Release 3

Specimen
Specimen.status
  • Change value set from http://hl7.org/fhir/ValueSet/specimen-status to http://hl7.org/fhir/ValueSet/specimen-status|4.0.1
Specimen.subject
  • Min Cardinality changed from 1 to 0
  • Type Reference: Added Target Type Location
Specimen.request
  • Type Reference: Added Target Type ServiceRequest
  • Type Reference: Removed Target Type ProcedureRequest
Specimen.collection.collector
  • Type Reference: Added Target Type PractitionerRole
Specimen.collection.duration
  • Added Element
Specimen.collection.fastingStatus[x]
  • Added Element
Specimen.condition
  • Added Element

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 4 tests that all execute ok. All tests pass round-trip testing and 2 r3 resources are invalid (0 errors).)

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
Specimen.status Codes providing the status/availability of a specimen.RequiredSpecimenStatus
Specimen.type The type of the specimen.Examplev2.0487
Specimen.collection.method The technique that is used to perform the procedure.ExampleFHIRSpecimenCollectionMethod
Specimen.collection.bodySite Codes describing anatomical locations. May include laterality.ExampleSNOMEDCTBodyStructures
Specimen.collection.fastingStatus[x] Codes describing the fasting status of the patient.Extensiblev2.0916
Specimen.processing.procedure Type indicating the technique used to process the specimen.ExampleSpecimenProcessingProcedure
Specimen.container.type Type of specimen container.ExampleSpecimenContainer
Specimen.container.additive[x] Substance added to specimen container.Examplev2.0371
Specimen.condition Codes describing the state of the specimen.Extensiblev2.0493

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
accessiontokenThe accession number associated with the specimenSpecimen.accessionIdentifier
bodysitetokenThe code for the body site from where the specimen originatedSpecimen.collection.bodySite
collecteddateThe date the specimen was collectedSpecimen.collection.collected
collectorreferenceWho collected the specimenSpecimen.collection.collector
(Practitioner, PractitionerRole)
containertokenThe kind of specimen containerSpecimen.container.type
container-idtokenThe unique identifier associated with the specimen containerSpecimen.container.identifier
identifiertokenThe unique identifier associated with the specimenSpecimen.identifier
parentreferenceThe parent of the specimenSpecimen.parent
(Specimen)
patientreferenceThe patient the specimen comes fromSpecimen.subject.where(resolve() is Patient)
(Patient)
statustokenavailable | unavailable | unsatisfactory | entered-in-errorSpecimen.status
subjectreferenceThe subject of the specimenSpecimen.subject
(Group, Device, Patient, Substance, Location)
typetokenThe specimen typeSpecimen.type