Tiro.health Implementation Guide
0.1.0 - ci-build

Tiro.health Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: LabMeasurement

Official URL: http://fhir.tiro.health/StructureDefinition/LabMeasurement Version: 0.1.0
Draft as of 2025-10-16 Computable Name: LabMeasurement

A measurement of a laboratory test.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ObservationDefinition C 0..* ObservationDefinition Definition of an observation
Constraints: cnl-0, obd-0
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... code SΣ 1..1 CodeableConcept Type of observation
Binding: LOINCCodes (example): Codes identifying names of simple observations.
... permittedDataType C 0..* code Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
Binding: ObservationDataType (required): Permitted data type for observation value.

Required Pattern: Quantity
... permittedUnit SC 1..* Coding Unit for quantitative results
Binding: UCUMCodes (preferred): Codes identifying units of measure.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ObservationDefinition.​status Base required PublicationStatus 📍5.0.0 FHIR Std.
ObservationDefinition.​code Base example LOINC Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​permittedDataType Base required Observation Data Type 📍5.0.0 FHIR Std.
ObservationDefinition.​permittedUnit Base preferred UCUM Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning ObservationDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
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()
obd-0 error ObservationDefinition If permittedUnit exists, then permittedDataType=Quantity must exist. permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()

This structure is derived from ObservationDefinition

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ObservationDefinition 0..* ObservationDefinition Definition of an observation
... code S 1..1 CodeableConcept Type of observation
... permittedDataType 0..* code Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
Required Pattern: Quantity
... permittedUnit S 1..* Coding Unit for quantitative results

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ObservationDefinition C 0..* ObservationDefinition Definition of an observation
Constraints: cnl-0, obd-0
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... url Σ 0..1 uri Logical canonical URL to reference this ObservationDefinition (globally unique)
... identifier Σ 0..1 Identifier Business identifier of the ObservationDefinition
... version Σ 0..1 string Business version of the ObservationDefinition
... versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name ΣC 0..1 string Name for this ObservationDefinition (computer friendly)
... title Σ 0..1 string Name for this ObservationDefinition (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): Codes identifying the state of an ObservationDefinition.
... experimental Σ 0..1 boolean If for testing purposes, not real usage
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string The name of the individual or organization that published the ObservationDefinition
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 0..1 markdown Natural language description of the ObservationDefinition
... useContext Σ 0..* UsageContext Content intends to support these contexts
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for this ObservationDefinition (if applicable)
Binding: JurisdictionValueSet (extensible): Codes for country, country subdivision and region for indicating where a resource is intended to be used.
... purpose 0..1 markdown Why this ObservationDefinition is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel 0..1 string Copyright holder and year(s)
... approvalDate 0..1 date When ObservationDefinition was approved by publisher
... lastReviewDate 0..1 date Date on which the asset content was last reviewed by the publisher
... effectivePeriod Σ 0..1 Period The effective date range for the ObservationDefinition
... derivedFromCanonical Σ 0..* canonical(ObservationDefinition) Based on FHIR definition of another observation
... derivedFromUri Σ 0..* uri Based on external definition
... subject Σ 0..* CodeableConcept Type of subject for the defined observation
... performerType Σ 0..1 CodeableConcept Desired kind of performer for such kind of observation
... category Σ 0..* CodeableConcept General type of observation
Binding: ObservationCategoryCodes (example): Codes for high level observation categories.
... code SΣ 1..1 CodeableConcept Type of observation
Binding: LOINCCodes (example): Codes identifying names of simple observations.
... permittedDataType C 0..* code Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
Binding: ObservationDataType (required): Permitted data type for observation value.

Required Pattern: Quantity
... multipleResultsAllowed 0..1 boolean Multiple results allowed for conforming observations
Example General: true
... bodySite 0..1 CodeableConcept Body part to be observed
Binding: SNOMEDCTBodyStructures (example): SNOMED CT body structures.
... method 0..1 CodeableConcept Method used to produce the observation
Binding: ObservationMethods (example): Methods for simple observations.
... specimen 0..* Reference(SpecimenDefinition) Kind of specimen used by this type of observation
... device 0..* Reference(DeviceDefinition | Device) Measurement device or model of device
... preferredReportName 0..1 string The preferred name to be used when reporting the observation results
... permittedUnit SC 1..* Coding Unit for quantitative results
Binding: UCUMCodes (preferred): Codes identifying units of measure.
... qualifiedValue 0..* BackboneElement Set of qualified values for observation results
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... context 0..1 CodeableConcept Context qualifier for the set of qualified values
Binding: ObservationReferenceRangeMeaningCodes (extensible)
.... appliesTo 0..* CodeableConcept Targetted population for the set of qualified values
Binding: ObservationReferenceRangeAppliesToCodes (example)
.... gender 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required)
Example General: female
.... age 0..1 Range Applicable age range for the set of qualified values
.... gestationalAge 0..1 Range Applicable gestational age range for the set of qualified values
.... condition 0..1 string Condition associated with the set of qualified values
.... rangeCategory 0..1 code reference | critical | absolute
Binding: ObservationRangeCategory (required)
Example General: critical
.... range 0..1 Range The range for continuous or ordinal observations
.... validCodedValueSet 0..1 canonical(ValueSet) Value set of valid coded values as part of this set of qualified values
.... normalCodedValueSet 0..1 canonical(ValueSet) Value set of normal coded values as part of this set of qualified values
.... abnormalCodedValueSet 0..1 canonical(ValueSet) Value set of abnormal coded values as part of this set of qualified values
.... criticalCodedValueSet 0..1 canonical(ValueSet) Value set of critical coded values as part of this set of qualified values
... hasMember 0..* Reference(ObservationDefinition | Questionnaire) Definitions of related resources belonging to this kind of observation group
... component C 0..* BackboneElement Component results
Constraints: obd-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 1..1 CodeableConcept Type of observation
Binding: LOINCCodes (example): Codes identifying names of simple observations.
.... permittedDataType C 0..* code Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
Binding: ObservationDataType (required): Permitted data type for observation value.

Example General: CodeableConcept
.... permittedUnit C 0..* Coding Unit for quantitative results
Binding: UCUMCodes (preferred): Codes identifying units of measure.
.... qualifiedValue 0..* See qualifiedValue (ObservationDefinition) Set of qualified values for observation results

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ObservationDefinition.​language Base required All Languages 📍5.0.0 FHIR Std.
ObservationDefinition.​versionAlgorithm[x] Base extensible Version Algorithm 📍5.0.0 FHIR Std.
ObservationDefinition.​status Base required PublicationStatus 📍5.0.0 FHIR Std.
ObservationDefinition.​jurisdiction Base extensible Jurisdiction ValueSet 📍5.0.0 FHIR Std.
ObservationDefinition.​category Base example Observation Category Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​code Base example LOINC Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​permittedDataType Base required Observation Data Type 📍5.0.0 FHIR Std.
ObservationDefinition.​bodySite Base example SNOMED CT Body Structures 📍5.0.0 FHIR Std.
ObservationDefinition.​method Base example Observation Methods 📍5.0.0 FHIR Std.
ObservationDefinition.​permittedUnit Base preferred UCUM Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​qualifiedValue.context Base extensible Observation Reference Range Meaning Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​qualifiedValue.appliesTo Base example Observation Reference Range Applies To Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​qualifiedValue.gender Base required AdministrativeGender 📍5.0.0 FHIR Std.
ObservationDefinition.​qualifiedValue.rangeCategory Base required Observation Range Category 📍5.0.0 FHIR Std.
ObservationDefinition.​component.code Base example LOINC Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​component.permittedDataType Base required Observation Data Type 📍5.0.0 FHIR Std.
ObservationDefinition.​component.permittedUnit Base preferred UCUM Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning ObservationDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
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()
obd-0 error ObservationDefinition If permittedUnit exists, then permittedDataType=Quantity must exist. permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()
obd-1 error ObservationDefinition.component If permittedUnit exists, then permittedDataType=Quantity must exist. permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()

This structure is derived from ObservationDefinition

Summary

Mandatory: 1 element
Must-Support: 2 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ObservationDefinition C 0..* ObservationDefinition Definition of an observation
Constraints: cnl-0, obd-0
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... code SΣ 1..1 CodeableConcept Type of observation
Binding: LOINCCodes (example): Codes identifying names of simple observations.
... permittedDataType C 0..* code Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
Binding: ObservationDataType (required): Permitted data type for observation value.

Required Pattern: Quantity
... permittedUnit SC 1..* Coding Unit for quantitative results
Binding: UCUMCodes (preferred): Codes identifying units of measure.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ObservationDefinition.​status Base required PublicationStatus 📍5.0.0 FHIR Std.
ObservationDefinition.​code Base example LOINC Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​permittedDataType Base required Observation Data Type 📍5.0.0 FHIR Std.
ObservationDefinition.​permittedUnit Base preferred UCUM Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning ObservationDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
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()
obd-0 error ObservationDefinition If permittedUnit exists, then permittedDataType=Quantity must exist. permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()

Differential View

This structure is derived from ObservationDefinition

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ObservationDefinition 0..* ObservationDefinition Definition of an observation
... code S 1..1 CodeableConcept Type of observation
... permittedDataType 0..* code Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
Required Pattern: Quantity
... permittedUnit S 1..* Coding Unit for quantitative results

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ObservationDefinition C 0..* ObservationDefinition Definition of an observation
Constraints: cnl-0, obd-0
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... url Σ 0..1 uri Logical canonical URL to reference this ObservationDefinition (globally unique)
... identifier Σ 0..1 Identifier Business identifier of the ObservationDefinition
... version Σ 0..1 string Business version of the ObservationDefinition
... versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name ΣC 0..1 string Name for this ObservationDefinition (computer friendly)
... title Σ 0..1 string Name for this ObservationDefinition (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): Codes identifying the state of an ObservationDefinition.
... experimental Σ 0..1 boolean If for testing purposes, not real usage
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string The name of the individual or organization that published the ObservationDefinition
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 0..1 markdown Natural language description of the ObservationDefinition
... useContext Σ 0..* UsageContext Content intends to support these contexts
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for this ObservationDefinition (if applicable)
Binding: JurisdictionValueSet (extensible): Codes for country, country subdivision and region for indicating where a resource is intended to be used.
... purpose 0..1 markdown Why this ObservationDefinition is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... copyrightLabel 0..1 string Copyright holder and year(s)
... approvalDate 0..1 date When ObservationDefinition was approved by publisher
... lastReviewDate 0..1 date Date on which the asset content was last reviewed by the publisher
... effectivePeriod Σ 0..1 Period The effective date range for the ObservationDefinition
... derivedFromCanonical Σ 0..* canonical(ObservationDefinition) Based on FHIR definition of another observation
... derivedFromUri Σ 0..* uri Based on external definition
... subject Σ 0..* CodeableConcept Type of subject for the defined observation
... performerType Σ 0..1 CodeableConcept Desired kind of performer for such kind of observation
... category Σ 0..* CodeableConcept General type of observation
Binding: ObservationCategoryCodes (example): Codes for high level observation categories.
... code SΣ 1..1 CodeableConcept Type of observation
Binding: LOINCCodes (example): Codes identifying names of simple observations.
... permittedDataType C 0..* code Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
Binding: ObservationDataType (required): Permitted data type for observation value.

Required Pattern: Quantity
... multipleResultsAllowed 0..1 boolean Multiple results allowed for conforming observations
Example General: true
... bodySite 0..1 CodeableConcept Body part to be observed
Binding: SNOMEDCTBodyStructures (example): SNOMED CT body structures.
... method 0..1 CodeableConcept Method used to produce the observation
Binding: ObservationMethods (example): Methods for simple observations.
... specimen 0..* Reference(SpecimenDefinition) Kind of specimen used by this type of observation
... device 0..* Reference(DeviceDefinition | Device) Measurement device or model of device
... preferredReportName 0..1 string The preferred name to be used when reporting the observation results
... permittedUnit SC 1..* Coding Unit for quantitative results
Binding: UCUMCodes (preferred): Codes identifying units of measure.
... qualifiedValue 0..* BackboneElement Set of qualified values for observation results
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... context 0..1 CodeableConcept Context qualifier for the set of qualified values
Binding: ObservationReferenceRangeMeaningCodes (extensible)
.... appliesTo 0..* CodeableConcept Targetted population for the set of qualified values
Binding: ObservationReferenceRangeAppliesToCodes (example)
.... gender 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required)
Example General: female
.... age 0..1 Range Applicable age range for the set of qualified values
.... gestationalAge 0..1 Range Applicable gestational age range for the set of qualified values
.... condition 0..1 string Condition associated with the set of qualified values
.... rangeCategory 0..1 code reference | critical | absolute
Binding: ObservationRangeCategory (required)
Example General: critical
.... range 0..1 Range The range for continuous or ordinal observations
.... validCodedValueSet 0..1 canonical(ValueSet) Value set of valid coded values as part of this set of qualified values
.... normalCodedValueSet 0..1 canonical(ValueSet) Value set of normal coded values as part of this set of qualified values
.... abnormalCodedValueSet 0..1 canonical(ValueSet) Value set of abnormal coded values as part of this set of qualified values
.... criticalCodedValueSet 0..1 canonical(ValueSet) Value set of critical coded values as part of this set of qualified values
... hasMember 0..* Reference(ObservationDefinition | Questionnaire) Definitions of related resources belonging to this kind of observation group
... component C 0..* BackboneElement Component results
Constraints: obd-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 1..1 CodeableConcept Type of observation
Binding: LOINCCodes (example): Codes identifying names of simple observations.
.... permittedDataType C 0..* code Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
Binding: ObservationDataType (required): Permitted data type for observation value.

Example General: CodeableConcept
.... permittedUnit C 0..* Coding Unit for quantitative results
Binding: UCUMCodes (preferred): Codes identifying units of measure.
.... qualifiedValue 0..* See qualifiedValue (ObservationDefinition) Set of qualified values for observation results

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ObservationDefinition.​language Base required All Languages 📍5.0.0 FHIR Std.
ObservationDefinition.​versionAlgorithm[x] Base extensible Version Algorithm 📍5.0.0 FHIR Std.
ObservationDefinition.​status Base required PublicationStatus 📍5.0.0 FHIR Std.
ObservationDefinition.​jurisdiction Base extensible Jurisdiction ValueSet 📍5.0.0 FHIR Std.
ObservationDefinition.​category Base example Observation Category Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​code Base example LOINC Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​permittedDataType Base required Observation Data Type 📍5.0.0 FHIR Std.
ObservationDefinition.​bodySite Base example SNOMED CT Body Structures 📍5.0.0 FHIR Std.
ObservationDefinition.​method Base example Observation Methods 📍5.0.0 FHIR Std.
ObservationDefinition.​permittedUnit Base preferred UCUM Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​qualifiedValue.context Base extensible Observation Reference Range Meaning Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​qualifiedValue.appliesTo Base example Observation Reference Range Applies To Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​qualifiedValue.gender Base required AdministrativeGender 📍5.0.0 FHIR Std.
ObservationDefinition.​qualifiedValue.rangeCategory Base required Observation Range Category 📍5.0.0 FHIR Std.
ObservationDefinition.​component.code Base example LOINC Codes 📍5.0.0 FHIR Std.
ObservationDefinition.​component.permittedDataType Base required Observation Data Type 📍5.0.0 FHIR Std.
ObservationDefinition.​component.permittedUnit Base preferred UCUM Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning ObservationDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
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()
obd-0 error ObservationDefinition If permittedUnit exists, then permittedDataType=Quantity must exist. permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()
obd-1 error ObservationDefinition.component If permittedUnit exists, then permittedDataType=Quantity must exist. permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()

This structure is derived from ObservationDefinition

Summary

Mandatory: 1 element
Must-Support: 2 elements

 

Other representations of profile: CSV, Excel, Schematron