Release 4B Snapshot #1

This page is part of the FHIR Specification v4.3.0-snapshot1: R4B Snapshot to support the Jan 2022 Connectathon. About the R4B version of FHIR. The current officially released version is 4.3.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

10.8 Resource SpecimenDefinition - Content

Orders and Observations Work GroupMaturity Level: 0 Trial UseSecurity Category: Anonymous Compartments: Not linked to any defined compartments

A kind of specimen with associated set of requirements.

SpecimenDefinition will define a kind of specimen, which can be associated with in vitro diagnostic procedures described in a catalog of orderable services. SpecimenDefinition describes the kind of specimen to be collected from the subject of these procedures as well as the requirements applying to the collection activity, the preparation of the subject for this collection. This resource also describes the associated type(s) of specimen conditioned for testing, which are the output of the specimen collection activity. A specimen conditioned for testing is described with the type(s) of container and possible additive to be used, the minimal and normal volumes of collection, the conditions of storage, transportation and handling for the specimen once collected and conditioned. This resource is a necessary building block of a sharable catalog of orderable in vitro diagnostic services. The subjects of these orderable services may be human patients, non-human living subjects or non-living materials such as water, surfaces, medical devices, etc. All sub-specialties of clinical and anatomic pathology laboratories are concerned, as well as all care services prone to order in vitro diagnostic services to those laboratories. A catalog of orderable services generally belongs to a specific laboratory or facility. Nonetheless, the data items used to build this catalog are of universal meaning and interest.

This resource relates to these other resources:

  • The SpecimenDefinition resource is referenced by the resource CatalogEntry, when it carries the definition of an in vitro diagnostic testing activity.
  • The SpecimenDefinition resource is referenced by the Catalog resource, which represents a whole catalog, to enable the creation and maintenance of kinds of specimens within a catalog of orderable diagnostic services.
  • The SpecimenDefinition resource references the Substance resource, in order to describe the type of substance (body fluid, other material) concerned by a kind of specimen. It also references the Substance resource to describe additives to be used in the production of specimens of some kind.

This resource is referenced by ActivityDefinition and CatalogEntry.

This resource does not implement any patterns.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. SpecimenDefinition TUDomainResourceKind of specimen
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..1IdentifierBusiness identifier of a kind of specimen
... typeCollected Σ0..1CodeableConceptKind of material to collect
hl7VS-specimenType (Example)
... patientPreparation Σ0..*CodeableConceptPatient preparation for collection
Patient preparation prior specimen collection (Example)
... collection Σ0..*CodeableConceptSpecimen collection procedure
Specimen collection methods (Example)
... typeTested 0..*BackboneElementSpecimen in container intended for testing by lab
.... isDerived 0..1booleanPrimary or secondary specimen
.... type 0..1CodeableConceptType of intended specimen
hl7VS-specimenType (Example)
.... preference 1..1codepreferred | alternate
SpecimenContainedPreference (Required)
.... container 0..1BackboneElementThe specimen's container
..... material 0..1CodeableConceptContainer material
Types of material for specimen containers (Example)
..... type 0..1CodeableConceptKind of container associated with the kind of specimen
SpecimenContainer (Example)
..... cap 0..1CodeableConceptColor of container cap
ContainerCap (Example)
..... description 0..1stringContainer description
..... capacity 0..1SimpleQuantityContainer capacity
..... minimumVolume[x] 0..1Minimum volume
...... minimumVolumeQuantitySimpleQuantity
...... minimumVolumeStringstring
..... additive 0..*BackboneElementAdditive associated with container
...... additive[x] 1..1Additive associated with container
hl7VS-additivePreservative (Example)
....... additiveCodeableConceptCodeableConcept
....... additiveReferenceReference(Substance)
..... preparation 0..1stringSpecimen container preparation
.... requirement 0..1stringSpecimen requirements
.... retentionTime 0..1DurationSpecimen retention time
.... rejectionCriterion 0..*CodeableConceptRejection criterion
RejectionCriterion (Example)
.... handling 0..*BackboneElementSpecimen handling before testing
..... temperatureQualifier 0..1CodeableConceptTemperature qualifier
HandlingConditionSet (Example)
..... temperatureRange 0..1RangeTemperature range
..... maxDuration 0..1DurationMaximum preservation time
..... instruction 0..1stringPreservation instruction

doco Documentation for this format

UML Diagram (Legend)

SpecimenDefinition (DomainResource)A business identifier associated with the kind of specimenidentifier : Identifier [0..1]The kind of material to be collectedtypeCollected : CodeableConcept [0..1] « null (Strength=Example)Hl7VSSpecimenType?? »Preparation of the patient for specimen collectionpatientPreparation : CodeableConcept [0..*] « null (Strength=Example)PreparePatient?? »Time aspect of specimen collection (duration or offset)timeAspect : string [0..1]The action to be performed for collecting the specimencollection : CodeableConcept [0..*] « null (Strength=Example)SpecimenCollection?? »TypeTestedPrimary of secondary specimenisDerived : boolean [0..1]The kind of specimen conditioned for testing expected by labtype : CodeableConcept [0..1] « null (Strength=Example)Hl7VSSpecimenType?? »The preference for this type of conditioned specimenpreference : code [1..1] « null (Strength=Required)SpecimenContainedPreference! »Requirements for delivery and special handling of this kind of conditioned specimenrequirement : string [0..1]The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testingretentionTime : Duration [0..1]Criterion for rejection of the specimen in its container by the laboratoryrejectionCriterion : CodeableConcept [0..*] « null (Strength=Example)RejectionCriterion?? »ContainerThe type of material of the containermaterial : CodeableConcept [0..1] « null (Strength=Example)ContainerMaterials?? »The type of container used to contain this kind of specimentype : CodeableConcept [0..1] « null (Strength=Example)SpecimenContainer?? »Color of container capcap : CodeableConcept [0..1] « null (Strength=Example)ContainerCap?? »The textual description of the kind of containerdescription : string [0..1]The capacity (volume or other measure) of this kind of containercapacity : Quantity(SimpleQuantity) [0..1]The minimum volume to be conditioned in the containerminimumVolume[x] : Element [0..1] « Quantity(SimpleQuantity)|string »Special processing that should be applied to the container for this kind of specimenpreparation : string [0..1]AdditiveSubstance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTAadditive[x] : Element [1..1] « CodeableConcept|Reference(Substance); null (Strength=Example) Hl7VSAdditivePreservative?? »HandlingIt qualifies the interval of temperature, which characterizes an occurrence of handling. Conditions that are not related to temperature may be handled in the instruction elementtemperatureQualifier : CodeableConcept [0..1] « null (Strength=Example)HandlingConditionSet?? »The temperature interval for this set of handling instructionstemperatureRange : Range [0..1]The maximum time interval of preservation of the specimen with these conditionsmaxDuration : Duration [0..1]Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'instruction : string [0..1]Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTAadditive[0..*]The specimen's containercontainer[0..1]Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing processhandling[0..*]Specimen conditioned in a container as expected by the testing laboratorytypeTested[0..*]

XML Template

<SpecimenDefinition xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..1 Identifier Business identifier of a kind of specimen --></identifier>
 <typeCollected><!-- 0..1 CodeableConcept Kind of material to collect  --></typeCollected>
 <patientPreparation><!-- 0..* CodeableConcept Patient preparation for collection --></patientPreparation>
 <timeAspect value="[string]"/><!-- 0..1 Time aspect for collection -->
 <collection><!-- 0..* CodeableConcept Specimen collection procedure --></collection>
 <typeTested>  <!-- 0..* Specimen in container intended for testing by lab -->
  <isDerived value="[boolean]"/><!-- 0..1 Primary or secondary specimen -->
  <type><!-- 0..1 CodeableConcept Type of intended specimen  --></type>
  <preference value="[code]"/><!-- 1..1 preferred | alternate -->
  <container>  <!-- 0..1 The specimen's container -->
   <material><!-- 0..1 CodeableConcept Container material --></material>
   <type><!-- 0..1 CodeableConcept Kind of container associated with the kind of specimen --></type>
   <cap><!-- 0..1 CodeableConcept Color of container cap --></cap>
   <description value="[string]"/><!-- 0..1 Container description -->
   <capacity><!-- 0..1 Quantity(SimpleQuantity) Container capacity --></capacity>
   <minimumVolume[x]><!-- 0..1 Quantity(SimpleQuantity)|string Minimum volume --></minimumVolume[x]>
   <additive>  <!-- 0..* Additive associated with container -->
    <additive[x]><!-- 1..1 CodeableConcept|Reference(Substance) Additive associated with container  --></additive[x]>
   </additive>
   <preparation value="[string]"/><!-- 0..1 Specimen container preparation -->
  </container>
  <requirement value="[string]"/><!-- 0..1 Specimen requirements -->
  <retentionTime><!-- 0..1 Duration Specimen retention time --></retentionTime>
  <rejectionCriterion><!-- 0..* CodeableConcept Rejection criterion --></rejectionCriterion>
  <handling>  <!-- 0..* Specimen handling before testing -->
   <temperatureQualifier><!-- 0..1 CodeableConcept Temperature qualifier --></temperatureQualifier>
   <temperatureRange><!-- 0..1 Range Temperature range --></temperatureRange>
   <maxDuration><!-- 0..1 Duration Maximum preservation time --></maxDuration>
   <instruction value="[string]"/><!-- 0..1 Preservation instruction -->
  </handling>
 </typeTested>
</SpecimenDefinition>

JSON Template

{doco
  "resourceType" : "SpecimenDefinition",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : { Identifier }, // Business identifier of a kind of specimen
  "typeCollected" : { CodeableConcept }, // Kind of material to collect 
  "patientPreparation" : [{ CodeableConcept }], // Patient preparation for collection
  "timeAspect" : "<string>", // Time aspect for collection
  "collection" : [{ CodeableConcept }], // Specimen collection procedure
  "typeTested" : [{ // Specimen in container intended for testing by lab
    "isDerived" : <boolean>, // Primary or secondary specimen
    "type" : { CodeableConcept }, // Type of intended specimen 
    "preference" : "<code>", // R!  preferred | alternate
    "container" : { // The specimen's container
      "material" : { CodeableConcept }, // Container material
      "type" : { CodeableConcept }, // Kind of container associated with the kind of specimen
      "cap" : { CodeableConcept }, // Color of container cap
      "description" : "<string>", // Container description
      "capacity" : { Quantity(SimpleQuantity) }, // Container capacity
      // minimumVolume[x]: Minimum volume. One of these 2:
      "minimumVolumeQuantity" : { Quantity(SimpleQuantity) },
      "minimumVolumeString" : "<string>",
      "additive" : [{ // Additive associated with container
        // additive[x]: Additive associated with container. One of these 2:
        "additiveCodeableConcept" : { CodeableConcept }
        "additiveReference" : { Reference(Substance) }
      }],
      "preparation" : "<string>" // Specimen container preparation
    },
    "requirement" : "<string>", // Specimen requirements
    "retentionTime" : { Duration }, // Specimen retention time
    "rejectionCriterion" : [{ CodeableConcept }], // Rejection criterion
    "handling" : [{ // Specimen handling before testing
      "temperatureQualifier" : { CodeableConcept }, // Temperature qualifier
      "temperatureRange" : { Range }, // Temperature range
      "maxDuration" : { Duration }, // Maximum preservation time
      "instruction" : "<string>" // Preservation instruction
    }]
  }]
}

Turtle Template

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


[ a fhir:SpecimenDefinition;
  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:SpecimenDefinition.identifier [ Identifier ]; # 0..1 Business identifier of a kind of specimen
  fhir:SpecimenDefinition.typeCollected [ CodeableConcept ]; # 0..1 Kind of material to collect
  fhir:SpecimenDefinition.patientPreparation [ CodeableConcept ], ... ; # 0..* Patient preparation for collection
  fhir:SpecimenDefinition.timeAspect [ string ]; # 0..1 Time aspect for collection
  fhir:SpecimenDefinition.collection [ CodeableConcept ], ... ; # 0..* Specimen collection procedure
  fhir:SpecimenDefinition.typeTested [ # 0..* Specimen in container intended for testing by lab
    fhir:SpecimenDefinition.typeTested.isDerived [ boolean ]; # 0..1 Primary or secondary specimen
    fhir:SpecimenDefinition.typeTested.type [ CodeableConcept ]; # 0..1 Type of intended specimen
    fhir:SpecimenDefinition.typeTested.preference [ code ]; # 1..1 preferred | alternate
    fhir:SpecimenDefinition.typeTested.container [ # 0..1 The specimen's container
      fhir:SpecimenDefinition.typeTested.container.material [ CodeableConcept ]; # 0..1 Container material
      fhir:SpecimenDefinition.typeTested.container.type [ CodeableConcept ]; # 0..1 Kind of container associated with the kind of specimen
      fhir:SpecimenDefinition.typeTested.container.cap [ CodeableConcept ]; # 0..1 Color of container cap
      fhir:SpecimenDefinition.typeTested.container.description [ string ]; # 0..1 Container description
      fhir:SpecimenDefinition.typeTested.container.capacity [ Quantity(SimpleQuantity) ]; # 0..1 Container capacity
      # SpecimenDefinition.typeTested.container.minimumVolume[x] : 0..1 Minimum volume. One of these 2
        fhir:SpecimenDefinition.typeTested.container.minimumVolumeSimpleQuantity [ Quantity(SimpleQuantity) ]
        fhir:SpecimenDefinition.typeTested.container.minimumVolumeString [ string ]
      fhir:SpecimenDefinition.typeTested.container.additive [ # 0..* Additive associated with container
        # SpecimenDefinition.typeTested.container.additive.additive[x] : 1..1 Additive associated with container. One of these 2
          fhir:SpecimenDefinition.typeTested.container.additive.additiveCodeableConcept [ CodeableConcept ]
          fhir:SpecimenDefinition.typeTested.container.additive.additiveReference [ Reference(Substance) ]
      ], ...;
      fhir:SpecimenDefinition.typeTested.container.preparation [ string ]; # 0..1 Specimen container preparation
    ];
    fhir:SpecimenDefinition.typeTested.requirement [ string ]; # 0..1 Specimen requirements
    fhir:SpecimenDefinition.typeTested.retentionTime [ Duration ]; # 0..1 Specimen retention time
    fhir:SpecimenDefinition.typeTested.rejectionCriterion [ CodeableConcept ], ... ; # 0..* Rejection criterion
    fhir:SpecimenDefinition.typeTested.handling [ # 0..* Specimen handling before testing
      fhir:SpecimenDefinition.typeTested.handling.temperatureQualifier [ CodeableConcept ]; # 0..1 Temperature qualifier
      fhir:SpecimenDefinition.typeTested.handling.temperatureRange [ Range ]; # 0..1 Temperature range
      fhir:SpecimenDefinition.typeTested.handling.maxDuration [ Duration ]; # 0..1 Maximum preservation time
      fhir:SpecimenDefinition.typeTested.handling.instruction [ string ]; # 0..1 Preservation instruction
    ], ...;
  ], ...;
]

Changes since R3

SpecimenDefinition
SpecimenDefinition.typeTested.preference
  • Change value set from http://hl7.org/fhir/ValueSet/specimen-contained-preference|4.0.0 to http://hl7.org/fhir/ValueSet/specimen-contained-preference|4.3.0-snapshot1
SpecimenDefinition.typeTested.container.minimumVolume[x]
  • Add Type Quantity()
  • Remove Type Quantity()

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = Not Mapped)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. SpecimenDefinition TUDomainResourceKind of specimen
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..1IdentifierBusiness identifier of a kind of specimen
... typeCollected Σ0..1CodeableConceptKind of material to collect
hl7VS-specimenType (Example)
... patientPreparation Σ0..*CodeableConceptPatient preparation for collection
Patient preparation prior specimen collection (Example)
... collection Σ0..*CodeableConceptSpecimen collection procedure
Specimen collection methods (Example)
... typeTested 0..*BackboneElementSpecimen in container intended for testing by lab
.... isDerived 0..1booleanPrimary or secondary specimen
.... type 0..1CodeableConceptType of intended specimen
hl7VS-specimenType (Example)
.... preference 1..1codepreferred | alternate
SpecimenContainedPreference (Required)
.... container 0..1BackboneElementThe specimen's container
..... material 0..1CodeableConceptContainer material
Types of material for specimen containers (Example)
..... type 0..1CodeableConceptKind of container associated with the kind of specimen
SpecimenContainer (Example)
..... cap 0..1CodeableConceptColor of container cap
ContainerCap (Example)
..... description 0..1stringContainer description
..... capacity 0..1SimpleQuantityContainer capacity
..... minimumVolume[x] 0..1Minimum volume
...... minimumVolumeQuantitySimpleQuantity
...... minimumVolumeStringstring
..... additive 0..*BackboneElementAdditive associated with container
...... additive[x] 1..1Additive associated with container
hl7VS-additivePreservative (Example)
....... additiveCodeableConceptCodeableConcept
....... additiveReferenceReference(Substance)
..... preparation 0..1stringSpecimen container preparation
.... requirement 0..1stringSpecimen requirements
.... retentionTime 0..1DurationSpecimen retention time
.... rejectionCriterion 0..*CodeableConceptRejection criterion
RejectionCriterion (Example)
.... handling 0..*BackboneElementSpecimen handling before testing
..... temperatureQualifier 0..1CodeableConceptTemperature qualifier
HandlingConditionSet (Example)
..... temperatureRange 0..1RangeTemperature range
..... maxDuration 0..1DurationMaximum preservation time
..... instruction 0..1stringPreservation instruction

doco Documentation for this format

UML Diagram (Legend)

SpecimenDefinition (DomainResource)A business identifier associated with the kind of specimenidentifier : Identifier [0..1]The kind of material to be collectedtypeCollected : CodeableConcept [0..1] « null (Strength=Example)Hl7VSSpecimenType?? »Preparation of the patient for specimen collectionpatientPreparation : CodeableConcept [0..*] « null (Strength=Example)PreparePatient?? »Time aspect of specimen collection (duration or offset)timeAspect : string [0..1]The action to be performed for collecting the specimencollection : CodeableConcept [0..*] « null (Strength=Example)SpecimenCollection?? »TypeTestedPrimary of secondary specimenisDerived : boolean [0..1]The kind of specimen conditioned for testing expected by labtype : CodeableConcept [0..1] « null (Strength=Example)Hl7VSSpecimenType?? »The preference for this type of conditioned specimenpreference : code [1..1] « null (Strength=Required)SpecimenContainedPreference! »Requirements for delivery and special handling of this kind of conditioned specimenrequirement : string [0..1]The usual time that a specimen of this kind is retained after the ordered tests are completed, for the purpose of additional testingretentionTime : Duration [0..1]Criterion for rejection of the specimen in its container by the laboratoryrejectionCriterion : CodeableConcept [0..*] « null (Strength=Example)RejectionCriterion?? »ContainerThe type of material of the containermaterial : CodeableConcept [0..1] « null (Strength=Example)ContainerMaterials?? »The type of container used to contain this kind of specimentype : CodeableConcept [0..1] « null (Strength=Example)SpecimenContainer?? »Color of container capcap : CodeableConcept [0..1] « null (Strength=Example)ContainerCap?? »The textual description of the kind of containerdescription : string [0..1]The capacity (volume or other measure) of this kind of containercapacity : Quantity(SimpleQuantity) [0..1]The minimum volume to be conditioned in the containerminimumVolume[x] : Element [0..1] « Quantity(SimpleQuantity)|string »Special processing that should be applied to the container for this kind of specimenpreparation : string [0..1]AdditiveSubstance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTAadditive[x] : Element [1..1] « CodeableConcept|Reference(Substance); null (Strength=Example) Hl7VSAdditivePreservative?? »HandlingIt qualifies the interval of temperature, which characterizes an occurrence of handling. Conditions that are not related to temperature may be handled in the instruction elementtemperatureQualifier : CodeableConcept [0..1] « null (Strength=Example)HandlingConditionSet?? »The temperature interval for this set of handling instructionstemperatureRange : Range [0..1]The maximum time interval of preservation of the specimen with these conditionsmaxDuration : Duration [0..1]Additional textual instructions for the preservation or transport of the specimen. For instance, 'Protect from light exposure'instruction : string [0..1]Substance introduced in the kind of container to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTAadditive[0..*]The specimen's containercontainer[0..1]Set of instructions for preservation/transport of the specimen at a defined temperature interval, prior the testing processhandling[0..*]Specimen conditioned in a container as expected by the testing laboratorytypeTested[0..*]

XML Template

<SpecimenDefinition xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..1 Identifier Business identifier of a kind of specimen --></identifier>
 <typeCollected><!-- 0..1 CodeableConcept Kind of material to collect  --></typeCollected>
 <patientPreparation><!-- 0..* CodeableConcept Patient preparation for collection --></patientPreparation>
 <timeAspect value="[string]"/><!-- 0..1 Time aspect for collection -->
 <collection><!-- 0..* CodeableConcept Specimen collection procedure --></collection>
 <typeTested>  <!-- 0..* Specimen in container intended for testing by lab -->
  <isDerived value="[boolean]"/><!-- 0..1 Primary or secondary specimen -->
  <type><!-- 0..1 CodeableConcept Type of intended specimen  --></type>
  <preference value="[code]"/><!-- 1..1 preferred | alternate -->
  <container>  <!-- 0..1 The specimen's container -->
   <material><!-- 0..1 CodeableConcept Container material --></material>
   <type><!-- 0..1 CodeableConcept Kind of container associated with the kind of specimen --></type>
   <cap><!-- 0..1 CodeableConcept Color of container cap --></cap>
   <description value="[string]"/><!-- 0..1 Container description -->
   <capacity><!-- 0..1 Quantity(SimpleQuantity) Container capacity --></capacity>
   <minimumVolume[x]><!-- 0..1 Quantity(SimpleQuantity)|string Minimum volume --></minimumVolume[x]>
   <additive>  <!-- 0..* Additive associated with container -->
    <additive[x]><!-- 1..1 CodeableConcept|Reference(Substance) Additive associated with container  --></additive[x]>
   </additive>
   <preparation value="[string]"/><!-- 0..1 Specimen container preparation -->
  </container>
  <requirement value="[string]"/><!-- 0..1 Specimen requirements -->
  <retentionTime><!-- 0..1 Duration Specimen retention time --></retentionTime>
  <rejectionCriterion><!-- 0..* CodeableConcept Rejection criterion --></rejectionCriterion>
  <handling>  <!-- 0..* Specimen handling before testing -->
   <temperatureQualifier><!-- 0..1 CodeableConcept Temperature qualifier --></temperatureQualifier>
   <temperatureRange><!-- 0..1 Range Temperature range --></temperatureRange>
   <maxDuration><!-- 0..1 Duration Maximum preservation time --></maxDuration>
   <instruction value="[string]"/><!-- 0..1 Preservation instruction -->
  </handling>
 </typeTested>
</SpecimenDefinition>

JSON Template

{doco
  "resourceType" : "SpecimenDefinition",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : { Identifier }, // Business identifier of a kind of specimen
  "typeCollected" : { CodeableConcept }, // Kind of material to collect 
  "patientPreparation" : [{ CodeableConcept }], // Patient preparation for collection
  "timeAspect" : "<string>", // Time aspect for collection
  "collection" : [{ CodeableConcept }], // Specimen collection procedure
  "typeTested" : [{ // Specimen in container intended for testing by lab
    "isDerived" : <boolean>, // Primary or secondary specimen
    "type" : { CodeableConcept }, // Type of intended specimen 
    "preference" : "<code>", // R!  preferred | alternate
    "container" : { // The specimen's container
      "material" : { CodeableConcept }, // Container material
      "type" : { CodeableConcept }, // Kind of container associated with the kind of specimen
      "cap" : { CodeableConcept }, // Color of container cap
      "description" : "<string>", // Container description
      "capacity" : { Quantity(SimpleQuantity) }, // Container capacity
      // minimumVolume[x]: Minimum volume. One of these 2:
      "minimumVolumeQuantity" : { Quantity(SimpleQuantity) },
      "minimumVolumeString" : "<string>",
      "additive" : [{ // Additive associated with container
        // additive[x]: Additive associated with container. One of these 2:
        "additiveCodeableConcept" : { CodeableConcept }
        "additiveReference" : { Reference(Substance) }
      }],
      "preparation" : "<string>" // Specimen container preparation
    },
    "requirement" : "<string>", // Specimen requirements
    "retentionTime" : { Duration }, // Specimen retention time
    "rejectionCriterion" : [{ CodeableConcept }], // Rejection criterion
    "handling" : [{ // Specimen handling before testing
      "temperatureQualifier" : { CodeableConcept }, // Temperature qualifier
      "temperatureRange" : { Range }, // Temperature range
      "maxDuration" : { Duration }, // Maximum preservation time
      "instruction" : "<string>" // Preservation instruction
    }]
  }]
}

Turtle Template

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


[ a fhir:SpecimenDefinition;
  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:SpecimenDefinition.identifier [ Identifier ]; # 0..1 Business identifier of a kind of specimen
  fhir:SpecimenDefinition.typeCollected [ CodeableConcept ]; # 0..1 Kind of material to collect
  fhir:SpecimenDefinition.patientPreparation [ CodeableConcept ], ... ; # 0..* Patient preparation for collection
  fhir:SpecimenDefinition.timeAspect [ string ]; # 0..1 Time aspect for collection
  fhir:SpecimenDefinition.collection [ CodeableConcept ], ... ; # 0..* Specimen collection procedure
  fhir:SpecimenDefinition.typeTested [ # 0..* Specimen in container intended for testing by lab
    fhir:SpecimenDefinition.typeTested.isDerived [ boolean ]; # 0..1 Primary or secondary specimen
    fhir:SpecimenDefinition.typeTested.type [ CodeableConcept ]; # 0..1 Type of intended specimen
    fhir:SpecimenDefinition.typeTested.preference [ code ]; # 1..1 preferred | alternate
    fhir:SpecimenDefinition.typeTested.container [ # 0..1 The specimen's container
      fhir:SpecimenDefinition.typeTested.container.material [ CodeableConcept ]; # 0..1 Container material
      fhir:SpecimenDefinition.typeTested.container.type [ CodeableConcept ]; # 0..1 Kind of container associated with the kind of specimen
      fhir:SpecimenDefinition.typeTested.container.cap [ CodeableConcept ]; # 0..1 Color of container cap
      fhir:SpecimenDefinition.typeTested.container.description [ string ]; # 0..1 Container description
      fhir:SpecimenDefinition.typeTested.container.capacity [ Quantity(SimpleQuantity) ]; # 0..1 Container capacity
      # SpecimenDefinition.typeTested.container.minimumVolume[x] : 0..1 Minimum volume. One of these 2
        fhir:SpecimenDefinition.typeTested.container.minimumVolumeSimpleQuantity [ Quantity(SimpleQuantity) ]
        fhir:SpecimenDefinition.typeTested.container.minimumVolumeString [ string ]
      fhir:SpecimenDefinition.typeTested.container.additive [ # 0..* Additive associated with container
        # SpecimenDefinition.typeTested.container.additive.additive[x] : 1..1 Additive associated with container. One of these 2
          fhir:SpecimenDefinition.typeTested.container.additive.additiveCodeableConcept [ CodeableConcept ]
          fhir:SpecimenDefinition.typeTested.container.additive.additiveReference [ Reference(Substance) ]
      ], ...;
      fhir:SpecimenDefinition.typeTested.container.preparation [ string ]; # 0..1 Specimen container preparation
    ];
    fhir:SpecimenDefinition.typeTested.requirement [ string ]; # 0..1 Specimen requirements
    fhir:SpecimenDefinition.typeTested.retentionTime [ Duration ]; # 0..1 Specimen retention time
    fhir:SpecimenDefinition.typeTested.rejectionCriterion [ CodeableConcept ], ... ; # 0..* Rejection criterion
    fhir:SpecimenDefinition.typeTested.handling [ # 0..* Specimen handling before testing
      fhir:SpecimenDefinition.typeTested.handling.temperatureQualifier [ CodeableConcept ]; # 0..1 Temperature qualifier
      fhir:SpecimenDefinition.typeTested.handling.temperatureRange [ Range ]; # 0..1 Temperature range
      fhir:SpecimenDefinition.typeTested.handling.maxDuration [ Duration ]; # 0..1 Maximum preservation time
      fhir:SpecimenDefinition.typeTested.handling.instruction [ string ]; # 0..1 Preservation instruction
    ], ...;
  ], ...;
]

Changes since Release 3

SpecimenDefinition
SpecimenDefinition.typeTested.preference
  • Change value set from http://hl7.org/fhir/ValueSet/specimen-contained-preference|4.0.0 to http://hl7.org/fhir/ValueSet/specimen-contained-preference|4.3.0-snapshot1
SpecimenDefinition.typeTested.container.minimumVolume[x]
  • Add Type Quantity()
  • Remove Type Quantity()

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = Not Mapped)

 

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
SpecimenDefinition.typeCollected ExampleHl7VSSpecimenType
SpecimenDefinition.patientPreparation ExamplePreparePatient
SpecimenDefinition.collection ExampleSpecimenCollection
SpecimenDefinition.typeTested.type ExampleHl7VSSpecimenType
SpecimenDefinition.typeTested.preference RequiredSpecimenContainedPreference
SpecimenDefinition.typeTested.container.material ExampleContainerMaterials
SpecimenDefinition.typeTested.container.type ExampleSpecimenContainer
SpecimenDefinition.typeTested.container.cap ExampleContainerCap
SpecimenDefinition.typeTested.container.additive.additive[x] ExampleHl7VSAdditivePreservative
SpecimenDefinition.typeTested.rejectionCriterion ExampleRejectionCriterion
SpecimenDefinition.typeTested.handling.temperatureQualifier ExampleHandlingConditionSet

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

NameTypeDescriptionExpressionIn Common
containertokenThe type of specimen conditioned in container expected by the labSpecimenDefinition.typeTested.container.type
identifiertokenThe unique identifier associated with the specimenSpecimenDefinition.identifier
typetokenThe type of collected specimenSpecimenDefinition.typeCollected