haau3 FHIR Implementation Guide (HFIG)
1.0.0 - ci-build
haau3 FHIR Implementation Guide (HFIG) - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://haau3.com/fhir/StructureDefinition/haau3-specimen | Version: 1.0.0 | |||
| Draft as of 2026-08-25 | Computable Name: Haau3Specimen | |||
A sample collected from a care recipient that a test was performed on. Where the source system did not state what kind of sample it was, the record says the value is unknown rather than carrying an invented one.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | USCoreSpecimenProfile(6.1.0) | Sample for analysis | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 1..* | Identifier | External Identifier |
![]() ![]() |
?!Σ | 0..1 | code | available | unavailable | unsatisfactory | entered-in-error Binding: SpecimenStatus (required): Codes providing the status/availability of a specimen. |
![]() ![]() |
SΣ | 1..1 | CodeableConcept | (USCDI) Kind of material that forms the specimen Binding: Specimen type (extensible) |
![]() ![]() |
SΣ | 0..1 | Reference(US Core Patient Profile) | (USCDI) The patient where the specimen came from. |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Specimen.status | Base | required | SpecimenStatus | 📍4.0.1 | FHIR Std. |
| Specimen.type | Base | extensible |
Specimen type
|
📦20221102 | VSAC v0.11 |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Specimen | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Specimen | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Specimen | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Specimen | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Specimen | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from USCoreSpecimenProfile
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | USCoreSpecimenProfile(6.1.0) | Sample for analysis | |
![]() ![]() |
S | 1..* | Identifier | External Identifier |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | USCoreSpecimenProfile(6.1.0) | Sample for analysis | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..* | Identifier | External Identifier | ||||
![]() ![]() |
Σ | 0..1 | Identifier | Identifier assigned by the lab | ||||
![]() ![]() |
?!Σ | 0..1 | code | available | unavailable | unsatisfactory | entered-in-error Binding: SpecimenStatus (required): Codes providing the status/availability of a specimen. | ||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | (USCDI) Kind of material that forms the specimen Binding: Specimen type (extensible) | ||||
![]() ![]() |
SΣ | 0..1 | Reference(US Core Patient Profile) | (USCDI) The patient where the specimen came from. | ||||
![]() ![]() |
Σ | 0..1 | dateTime | The time when specimen was received for processing | ||||
![]() ![]() |
0..* | Reference(Specimen) | Specimen from which this specimen originated | |||||
![]() ![]() |
0..* | Reference(ServiceRequest) | Why the specimen was collected | |||||
![]() ![]() |
0..1 | BackboneElement | Collection details | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole) | Who collected the specimen | ||||
![]() ![]() ![]() |
Σ | 0..1 | Collection time | |||||
![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
Σ | 0..1 | Duration | How long it took to collect specimen | ||||
![]() ![]() ![]() |
0..1 | SimpleQuantity | The quantity of specimen collected | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Technique used to perform collection Binding: FHIRSpecimenCollectionMethod (example): The technique that is used to perform the procedure. | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Anatomical collection site Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
![]() ![]() ![]() |
Σ | 0..1 | Whether or how long patient abstained from food and/or drink Binding: hl7VS-relevantClincialInformation (extensible): Codes describing the fasting status of the patient. | |||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() |
0..* | BackboneElement | Processing and processing step details | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | string | Textual description of procedure | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Indicates the treatment step applied to the specimen Binding: SpecimenProcessingProcedure (example): Type indicating the technique used to process the specimen. | |||||
![]() ![]() ![]() |
0..* | Reference(Substance) | Material used in the processing step | |||||
![]() ![]() ![]() |
0..1 | Date and time of specimen processing | ||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() |
0..* | BackboneElement | Direct container of specimen (tube/slide, etc.) | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..* | Identifier | Id for the container | ||||
![]() ![]() ![]() |
0..1 | string | Textual description of the container | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Kind of container directly associated with specimen Binding: SpecimenContainerType (example): Type of specimen container. | |||||
![]() ![]() ![]() |
0..1 | SimpleQuantity | Container volume or size | |||||
![]() ![]() ![]() |
0..1 | SimpleQuantity | Quantity of specimen within container | |||||
![]() ![]() ![]() |
0..1 | Additive associated with container Binding: hl7VS-additivePreservative (example): Substance added to specimen container. | ||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
Reference(Substance) | |||||||
![]() ![]() |
Σ | 0..* | CodeableConcept | State of the specimen Binding: hl7VS-specimenCondition (extensible): Codes describing the state of the specimen. | ||||
![]() ![]() |
0..* | Annotation | Comments | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Specimen.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std. |
| Specimen.status | Base | required | SpecimenStatus | 📍4.0.1 | FHIR Std. |
| Specimen.type | Base | extensible |
Specimen type
|
📦20221102 | VSAC v0.11 |
| Specimen.collection.method | Base | example | FHIR Specimen Collection Method | 📦4.0.1 | FHIR Std. |
| Specimen.collection.bodySite | Base | example | SNOMED CT Body Structures | 📦4.0.1 | FHIR Std. |
| Specimen.collection.fastingStatus[x] | Base | extensible | hl7VS-relevantClincialInformation | 📦3.0.0 | THO v7.3 |
| Specimen.processing.procedure | Base | example | Specimen processing procedure | 📦4.0.1 | FHIR Std. |
| Specimen.container.type | Base | example | Specimen Container Type | 📦4.0.1 | FHIR Std. |
| Specimen.container.additive[x] | Base | example | hl7VS-additivePreservative | 📦3.0.0 | THO v7.3 |
| Specimen.condition | Base | extensible | hl7VS-specimenCondition | 📦3.0.0 | THO v7.3 |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Specimen | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Specimen | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Specimen | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Specimen | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Specimen | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from USCoreSpecimenProfile
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | USCoreSpecimenProfile(6.1.0) | Sample for analysis | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 1..* | Identifier | External Identifier |
![]() ![]() |
?!Σ | 0..1 | code | available | unavailable | unsatisfactory | entered-in-error Binding: SpecimenStatus (required): Codes providing the status/availability of a specimen. |
![]() ![]() |
SΣ | 1..1 | CodeableConcept | (USCDI) Kind of material that forms the specimen Binding: Specimen type (extensible) |
![]() ![]() |
SΣ | 0..1 | Reference(US Core Patient Profile) | (USCDI) The patient where the specimen came from. |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Specimen.status | Base | required | SpecimenStatus | 📍4.0.1 | FHIR Std. |
| Specimen.type | Base | extensible |
Specimen type
|
📦20221102 | VSAC v0.11 |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Specimen | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Specimen | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Specimen | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Specimen | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Specimen | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Differential View
This structure is derived from USCoreSpecimenProfile
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | USCoreSpecimenProfile(6.1.0) | Sample for analysis | |
![]() ![]() |
S | 1..* | Identifier | External Identifier |
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | USCoreSpecimenProfile(6.1.0) | Sample for analysis | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..* | Identifier | External Identifier | ||||
![]() ![]() |
Σ | 0..1 | Identifier | Identifier assigned by the lab | ||||
![]() ![]() |
?!Σ | 0..1 | code | available | unavailable | unsatisfactory | entered-in-error Binding: SpecimenStatus (required): Codes providing the status/availability of a specimen. | ||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | (USCDI) Kind of material that forms the specimen Binding: Specimen type (extensible) | ||||
![]() ![]() |
SΣ | 0..1 | Reference(US Core Patient Profile) | (USCDI) The patient where the specimen came from. | ||||
![]() ![]() |
Σ | 0..1 | dateTime | The time when specimen was received for processing | ||||
![]() ![]() |
0..* | Reference(Specimen) | Specimen from which this specimen originated | |||||
![]() ![]() |
0..* | Reference(ServiceRequest) | Why the specimen was collected | |||||
![]() ![]() |
0..1 | BackboneElement | Collection details | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole) | Who collected the specimen | ||||
![]() ![]() ![]() |
Σ | 0..1 | Collection time | |||||
![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
Σ | 0..1 | Duration | How long it took to collect specimen | ||||
![]() ![]() ![]() |
0..1 | SimpleQuantity | The quantity of specimen collected | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Technique used to perform collection Binding: FHIRSpecimenCollectionMethod (example): The technique that is used to perform the procedure. | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Anatomical collection site Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
![]() ![]() ![]() |
Σ | 0..1 | Whether or how long patient abstained from food and/or drink Binding: hl7VS-relevantClincialInformation (extensible): Codes describing the fasting status of the patient. | |||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() |
0..* | BackboneElement | Processing and processing step details | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | string | Textual description of procedure | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Indicates the treatment step applied to the specimen Binding: SpecimenProcessingProcedure (example): Type indicating the technique used to process the specimen. | |||||
![]() ![]() ![]() |
0..* | Reference(Substance) | Material used in the processing step | |||||
![]() ![]() ![]() |
0..1 | Date and time of specimen processing | ||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() |
0..* | BackboneElement | Direct container of specimen (tube/slide, etc.) | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..* | Identifier | Id for the container | ||||
![]() ![]() ![]() |
0..1 | string | Textual description of the container | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Kind of container directly associated with specimen Binding: SpecimenContainerType (example): Type of specimen container. | |||||
![]() ![]() ![]() |
0..1 | SimpleQuantity | Container volume or size | |||||
![]() ![]() ![]() |
0..1 | SimpleQuantity | Quantity of specimen within container | |||||
![]() ![]() ![]() |
0..1 | Additive associated with container Binding: hl7VS-additivePreservative (example): Substance added to specimen container. | ||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
Reference(Substance) | |||||||
![]() ![]() |
Σ | 0..* | CodeableConcept | State of the specimen Binding: hl7VS-specimenCondition (extensible): Codes describing the state of the specimen. | ||||
![]() ![]() |
0..* | Annotation | Comments | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Specimen.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std. |
| Specimen.status | Base | required | SpecimenStatus | 📍4.0.1 | FHIR Std. |
| Specimen.type | Base | extensible |
Specimen type
|
📦20221102 | VSAC v0.11 |
| Specimen.collection.method | Base | example | FHIR Specimen Collection Method | 📦4.0.1 | FHIR Std. |
| Specimen.collection.bodySite | Base | example | SNOMED CT Body Structures | 📦4.0.1 | FHIR Std. |
| Specimen.collection.fastingStatus[x] | Base | extensible | hl7VS-relevantClincialInformation | 📦3.0.0 | THO v7.3 |
| Specimen.processing.procedure | Base | example | Specimen processing procedure | 📦4.0.1 | FHIR Std. |
| Specimen.container.type | Base | example | Specimen Container Type | 📦4.0.1 | FHIR Std. |
| Specimen.container.additive[x] | Base | example | hl7VS-additivePreservative | 📦3.0.0 | THO v7.3 |
| Specimen.condition | Base | extensible | hl7VS-specimenCondition | 📦3.0.0 | THO v7.3 |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Specimen | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Specimen | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Specimen | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Specimen | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Specimen | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from USCoreSpecimenProfile
Other representations of profile: CSV, Excel, Schematron