Important: This is a draft IG for trial use. Click here to give feedback.

EN NL FR

HdBe-LaboratoryTestResult

CBBDescriptionStatus
HdBe-LaboratoryTestResult

A laboratory result describes the result of a laboratory analysis. These are specimen-oriented tests as performed in laboratories such as Clinical Chemistry, Serology, Microbiology, etc. In addition to the results of tests with a singular result, this concept can also contain the results of more complex tests with multiple results or a ‘panel’.

Purpose

Laboratory tests are done for the purpose of diagnosing and preventing disease and follow-up on the effects of treatment.

Evidence Base

There are two information models for recording laboratory test results: TextResult and LaboratoryTestResult.

In the case of laboratory test results, it is difficult to clearly indicate exactly when to use this information model and when to use the TextResult information model. In general, laboratory tests resulting in a value (7.1 mmol/L), ordinal number (++ from series to ++++) or a quantitative result (Low) are recorded using this information model. The TextResult information model is better suited for textual results that are more descriptive in nature and which are longer than just a few words. Both types of tests occur in almost all laboratories. The applicability of the aforementioned information models is not determined by the kind of lab but by the kind of result.

active

id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
TestResultId0..1string
TestCode1..1CodeableConcept
TestResultStringstring
TestResultQuantityQuantity
TestResultCodeableConceptCodeableConcept
TestMethod0..1CodeableConceptBinding
TestDateTime0..1dateTime
TestResultStatus0..1CodeableConceptBinding
ReferenceRangeUpperLimitStringstring
ReferenceRangeUpperLimitQuantitySimpleQuantity
ReferenceRangeLowerLimitStringstring
ReferenceRangeLowerLimitQuantitySimpleQuantity
InterpretationMethod0..1CodeableConcept
ResultFlags0..*CodeableConceptBinding
ResultInterpretation0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
SpecimenId0..1Identifier
SpecimenNumberExtension0..1string
ContainerType0..1CodeableConceptBinding
SpecimenMaterial0..1CodeableConceptBinding
AnatomicalLocation0..1HdBe-AnatomicalLocation
Microorganism0..1CodeableConceptBinding
CollectedVolumeI0..1QuantityPattern
CollectionPeriod0..1HdBe-TimeInterval
CollectionDateTime0..1dateTime
ReceivedDateTime0..1dateTime
CollectionMethod0..1CodeableConceptBinding
Morphology0..1CodeableConceptBinding
SpecimenSource0..1CodeableConceptBinding
Comment0..1string
PanelOrBattery0..1CodeableConcept
ResultStatus0..1CodeableConceptBinding
Comment0..1string
ResultType0..1CodeableConceptBinding
RelatedResultI0..*Reference(HdBe-LaboratoryTestResult)
RequesterI0..1Reference(HdBe-HealthProfessional)
PerformerI0..1Reference(HdBe-HealthProfessional)

LaboratoryTestResult0..*
LaboratoryTestResult.LaboratoryTestBackboneElement0..*
LaboratoryTestResult.LaboratoryTest.TestResultIdstring0..1
LaboratoryTestResult.LaboratoryTest.TestCodeCodeableConcept1..1
LaboratoryTestResult.LaboratoryTest.TestResult[x]string, Quantity, CodeableConcept0..1
LaboratoryTestResult.LaboratoryTest.TestMethodCodeableConcept0..1
LaboratoryTestResult.LaboratoryTest.TestDateTimedateTime0..1
LaboratoryTestResult.LaboratoryTest.TestResultStatusCodeableConcept0..1
LaboratoryTestResult.LaboratoryTest.ReferenceRangeUpperLimit[x]string, SimpleQuantity0..1
LaboratoryTestResult.LaboratoryTest.ReferenceRangeLowerLimit[x]string, SimpleQuantity0..1
LaboratoryTestResult.LaboratoryTest.InterpretationMethodCodeableConcept0..1
LaboratoryTestResult.LaboratoryTest.ResultFlagsCodeableConcept0..*
LaboratoryTestResult.LaboratoryTest.ResultInterpretationstring0..1
LaboratoryTestResult.SpecimenBackboneElement0..1
LaboratoryTestResult.Specimen.SpecimenIdIdentifier0..1
LaboratoryTestResult.Specimen.SpecimenNumberExtensionstring0..1
LaboratoryTestResult.Specimen.ContainerTypeCodeableConcept0..1
LaboratoryTestResult.Specimen.SpecimenMaterialCodeableConcept0..1
LaboratoryTestResult.Specimen.AnatomicalLocationHdBe-AnatomicalLocation0..1
LaboratoryTestResult.Specimen.MicroorganismCodeableConcept0..1
LaboratoryTestResult.Specimen.CollectedVolumeQuantity0..1
LaboratoryTestResult.Specimen.CollectionPeriodHdBe-TimeInterval0..1
LaboratoryTestResult.Specimen.CollectionDateTimedateTime0..1
LaboratoryTestResult.Specimen.ReceivedDateTimedateTime0..1
LaboratoryTestResult.Specimen.CollectionMethodCodeableConcept0..1
LaboratoryTestResult.Specimen.MorphologyCodeableConcept0..1
LaboratoryTestResult.Specimen.SpecimenSourceCodeableConcept0..1
LaboratoryTestResult.Specimen.Commentstring0..1
LaboratoryTestResult.PanelOrBatteryCodeableConcept0..1
LaboratoryTestResult.ResultStatusCodeableConcept0..1
LaboratoryTestResult.Commentstring0..1
LaboratoryTestResult.ResultTypeCodeableConcept0..1
LaboratoryTestResult.RelatedResultReference(HdBe-LaboratoryTestResult)0..*
LaboratoryTestResult.RequesterReference(HdBe-HealthProfessional)0..1
LaboratoryTestResult.PerformerReference(HdBe-HealthProfessional)0..1


LaboratoryTestResult
DefinitionRoot concept of the LaboratoryTestResult information model. This root concept contains all data elements of the LaboratoryTestResult information model.
Cardinality0...*
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
LaboratoryTestResult.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
LaboratoryTestResult.LaboratoryTest
DefinitionContainer of the LaboratoryTest concept. This container contains all data elements of the LaboratoryTest concept.
Cardinality0...*
TypeBackboneElement
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.LaboratoryTest.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
LaboratoryTestResult.LaboratoryTest.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
LaboratoryTestResult.LaboratoryTest.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
LaboratoryTestResult.LaboratoryTest.TestResultId
DefinitionA unique identifier assigned to this LaboratoryTest.
Cardinality0...1
Typestring
Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.LaboratoryTest.TestCode
DefinitionThe name and code of the executed test. The codification to be used SHOULD be LOINC as per the subset defined by the FPS Health, for the majority of commonly used lab measurements and demands. This subset is available on the [website of the FPS Health](https://www.vas.ehealth.fgov.be/webretam/retam/home.htm).
Cardinality1...1
TypeCodeableConcept
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.LaboratoryTest.TestResult[x]
DefinitionThe test result. Depending on the type of test, the result will consist of a value with a unit or a coded value (ordinal or nominal).
Cardinality0...1
Typestring
Comments

For quantitative results, it is mandatory to provide an unit.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.LaboratoryTest.TestMethod
DefinitionThe test method used to obtain the result.
Cardinality0...1
TypeCodeableConcept
Binding

TestMethod codes

TestMethod (required)
Comments
  • 0..1 If the LOINC test code (in ‘TestCode’) already contains a method, the ‘TestMethod’ value may not conflict with that method. ‘TestMethod’ will then contain the same method, or a specification.
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.LaboratoryTest.TestDateTime
DefinitionThe date and if possible the time at which the test was carried out.
Cardinality0...1
TypedateTime
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.LaboratoryTest.TestResultStatus
DefinitionThe status of the test result of this test. If the laboratory test is a panel/cluster, the overall status is given in the status of the panel/cluster.
Cardinality0...1
TypeCodeableConcept
Binding

TestResultStatus codes

TestResultStatus (extensible)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.LaboratoryTest.ReferenceRangeUpperLimit[x]
DefinitionThe upper reference limit for the patient of the value measured in the test.
Cardinality0...1
Typestring
Comments
  • If the result has data type PQ and there are reference values, then the unit of the result and reference value must be the same.
  • If the result has reference values, then the data type of the result and reference values must be the same.
  • A string datatype may only be used if the reference range cannot be expressed as PQ.
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.LaboratoryTest.ReferenceRangeLowerLimit[x]
DefinitionThe lower reference limit for the patient of the value measured with the test.
Cardinality0...1
Typestring
Comments
  • If the result has data type PQ and there are reference values, then the unit of the result and reference value must be the same.
  • If the result has reference values, then the data type of the result and reference values must be the same.
  • A string datatype may only be used if the reference range cannot be expressed as PQ.
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.LaboratoryTest.InterpretationMethod
DefinitionThe method used to determine interpretation flags. An example of this is EUCAST, for determining clinical breakpoints in microbiological susceptibility tests.
Cardinality0...1
TypeCodeableConcept
Comments

A ValueSet is not yet available for this concept.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.LaboratoryTest.ResultFlags
DefinitionAttention codes indicating whether the result of a quantitative test is above or below certain reference values or interpreting the result otherwise. (Resistent). The values Resistant, Intermediate en Susceptible are used with microbiological test results.
Cardinality0...*
TypeCodeableConcept
Binding

ResultFlags codes

ResultFlags (extensible)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.LaboratoryTest.ResultInterpretation
DefinitionComment of the laboratory specialist regarding the interpretation of the results
Cardinality0...1
Typestring
Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.Specimen
DefinitionContainer of the Specimen concept. This container contains all data elements of the Specimen concept.
Cardinality0...1
TypeBackboneElement
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.Specimen.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
LaboratoryTestResult.Specimen.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
LaboratoryTestResult.Specimen.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
LaboratoryTestResult.Specimen.SpecimenId
DefinitionIdentification number of the material obtained, as a reference for inquiries to the source organization. In a transmural setting, this number will consist of a specimen number including the identification of the issuing organization, to be unique outside of the borders of an organization.
Cardinality0...1
TypeIdentifier
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
LaboratoryTestResult.Specimen.SpecimenNumberExtension
DefinitionThe specimen number extension is used when the collected material is distributed from the original tube or container across multiple tubes. In combination with the specimen Id the extension yield a unique identification of the tube or container
Cardinality0...1
Typestring
Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.Specimen.ContainerType
DefinitionContainer type describes the envelope in which the material is collected or sent. Examples include blood tubes, transport container, possibly including culture medium.
Cardinality0...1
TypeCodeableConcept
Binding

ContainerType codes

ContainerType (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.Specimen.SpecimenMaterial
DefinitionSpecimenMaterial describes the material obtained. If the LOINC test code also implicitly describes a material, this element may not conflict with the description. If desired, this component can provide a more detailed description of the material: LOINC codes only contain the materials at a main level. This is in line with the agreements made in the IHE/Nictiz program e-Lab. If the test is carried out on derived material (such as plasma), this element will still contain the material drawn (in this case, blood). In this case, the LOINC code will generally refer to plasma.
Cardinality0...1
TypeCodeableConcept
Binding

SpecimenMaterial codes

SpecimenMaterial (extensible)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.Specimen.AnatomicalLocation
DefinitionAnatomical location where the material is collected, *e.g. *elbow.
Cardinality0...1
TypeHdBe-AnatomicalLocation
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.Specimen.Microorganism
DefinitionIn particular in microbiological determinations the subject of the test is an isolate of a certain microorganism rather then a material. This concept provides the ability to capture information about this microorganism.
Cardinality0...1
TypeCodeableConcept
Binding

Microorganism codes

Microorganism (extensible)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.Specimen.CollectedVolume
DefinitionTotal volume of the collected material. If it is necessary to determine the absolute amount of a particular substance in the collected material, the volume thereof must be given.
Cardinality0...1
TypeQuantity
Comments

The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • qty-3: If a code for the unit is present, the system SHALL also be present
    code.empty() or system.exists()
Pattern

{
  "unit": "mL",
  "system": "http://unitsofmeasure.org",
  "code": "mL"
}

Mappings
  • rim: n/a
  • v2: SN (see also Range) or CQ
  • rim: PQ, IVL<PQ>, MO, CO, depending on the values
LaboratoryTestResult.Specimen.CollectionPeriod
DefinitionIf the material has not been collected at a single point in time but over a certain period, this period can be captured in this concept. An example is 24 hour urine.
Cardinality0...1
TypeHdBe-TimeInterval
Comments

TimeInterval.Duration is expressed in minutes (min).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.Specimen.CollectionDateTime
DefinitionDate and time at which the material was collected.
Cardinality0...1
TypedateTime
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.Specimen.ReceivedDateTime
DefinitionDate and time that the material is handed over at the laboratory or specimen collection center.
Cardinality0...1
TypedateTime
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.Specimen.CollectionMethod
DefinitionIf relevant for the results, the method of obtaining the specimen can be entered as well.
Cardinality0...1
TypeCodeableConcept
Binding

CollectionMethod codes

CollectionMethod (required)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.Specimen.Morphology
DefinitionMorphology describes morphological abnormalities of the anatomical location where the material is taken, for example wound, ulcer.
Cardinality0...1
TypeCodeableConcept
Binding

Morphology codes

Morphology (required)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.Specimen.SpecimenSource
DefinitionIf the material is not collected directly from the patient but comes from a patient-related object, *e.g.* a cathetertip, this source of material can be recorded here.
Cardinality0...1
TypeCodeableConcept
Binding

The source of the specimen

SpecimenSource (extensible)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.Specimen.Comment
DefinitionComments on the specimen , such as drawing material after a (glucose) stimulus or taking medicine.
Cardinality0...1
Typestring
Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.PanelOrBattery
DefinitionFor laboratory tests comprising multiple subtests and often requested together as a whole, this concept contains the name of the compound request (often indicated as a ‘panel’, ‘battery’ or ‘cluster’). Examples include: blood gases and EBV serology. The codification to be used SHOULD be LOINC as per the subset defined by the FPS Health, for the majority of commonly used lab measurements and demands. This subset is available on the [website of the FPS Health](https://www.vas.ehealth.fgov.be/webretam/retam/home.htm).
Cardinality0...1
TypeCodeableConcept
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.ResultStatus
DefinitionThe status of the laboratory test result. If the laboratory test is a panel/cluster, this status reflects the status of the whole panel/cluster. If the status item per subtest is used too, this status must be in accordance with these status values.
Cardinality0...1
TypeCodeableConcept
Binding

TestResultStatus codes

TestResultStatus (extensible)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.Comment
DefinitionComments, such as a textual interpretation or advice accompanying the result, for example.
Cardinality0...1
Typestring
Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
LaboratoryTestResult.ResultType
DefinitionThe type of result defines the laboratory specialty under which the test is categorized.
Cardinality0...1
TypeCodeableConcept
Binding

ResultType codes

ResultType (extensible)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
LaboratoryTestResult.RelatedResult
DefinitionReference to related tests, *e.g.* paired tests or sequential tests like gram staining and microbiological cultures
Cardinality0...*
TypeReference(HdBe-LaboratoryTestResult)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
LaboratoryTestResult.Requester
DefinitionThe healthcare professional and/or organization where or by whom the LaboratoryTestResult was requested.
Cardinality0...1
TypeReference(HdBe-HealthProfessional)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
LaboratoryTestResult.Performer
DefinitionThe HealthProfessional responsible for the LaboratoryTestResult. The performing laboratory (HealthcareOrganization) is referenced through the HealthProfessional.
Cardinality0...1
TypeReference(HdBe-HealthProfessional)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)

Example instances

LaboratoryTestResult
LaboratoryTest
LaboratoryTest.TestResultId 6458f56c-2183-4f01-8eb0-c286d3703362
LaboratoryTest.TestCode Chloride [Moles/volume] in Blood
LaboratoryTest.TestMethod 275711006 - Serum chemistry test (code by SNOMED CT)
LaboratoryTest.TestDateTime 2022-01-13 12:00:00
LaboratoryTest.TestResult 109 mmol/L
LaboratoryTest.TestResultStatus final - Final (code by urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.16.1)
LaboratoryTest.ReferenceRangeUpperLimit 108 mmol/L
LaboratoryTest.ReferenceRangeLowerLimit 99 mmol/L
LaboratoryTest.InterpretationMethod
LaboratoryTest.ResultFlags 281302008 - Above reference range (code by SNOMED CT)
LaboratoryTest.ResultInterpretation High
Specimen
Specimen.SpecimenId 123456
Specimen.SpecimenNumberExtension A
Specimen.ContainerType
Specimen.SpecimenMaterial 119297000 - Blood specimen (code by SNOMED CT)
Specimen.AnatomicalLocation 368208006 - Left upper arm (code by SNOMED CT)
Specimen.Microorganism 409795000 - Antimicrobial resistant virus (code by SNOMED CT)
Specimen.CollectedVolume
Specimen.CollectionPeriod
Specimen.CollectionPeriod.StartDateTime
Specimen.CollectionPeriod.EndDateTime
Specimen.CollectionPeriod.Duration
Specimen.CollectionDateTime 2022-01-12 08:08:00
Specimen.ReceivedDateTime
Specimen.CollectionMethod 82078001 - Collection of blood specimen for laboratory (code by SNOMED CT)
Specimen.Morphology
Specimen.SpecimenSource
Specimen.Comment
PanelOrBattery
ResultStatus
Comment
ResultType
RelatedResult
Requester
Performer Enrico Penninx

zib LaboratoryTestResult-v4.6 difference

Concept Category Description
LaboratoryTest.TestResultId element The TestResultId element is added due to its frequent usage within the Data Collection Definitions of Healthdata.be, despite its somewhat technical nature for a informational model.
LaboratoryTest.TestCode terminology Removed ValueSet binding and described in the comment the use of Loinc and Albert codes as per the subset defined by the FPS Health (ReTaM). Added a reference to the subset on the website of the FPS Health. The ReTaM codes are not duplicated in a FHIR ValueSet because this would require extensive maintenance in keeping the ValueSet up-to-date.
LaboratoryTest.TestResult type The zib datatype 'ANY' was incorrectly exported as only a 'string', likely because Forge was giving an (incorrect) warning. The element has been made polymorphic by allowing all the Observation.Value[x] datatype options.
LaboratoryTest.TestResult textual Added textual guidance to include the unit for quantitative results.
LaboratoryTest.TestResultStatus terminology Replaced the values of the ValueSet TestResultStatus with corresponding values from the Observation-status valueset from FHIR.
LaboratoryTest.TestResultStatus textual Changed 'an panel/cluster' to 'a panel/cluster'. (zib ticket #1551)
LaboratoryTest.ReferenceRangeUpperLimit type The concepts ReferenceRangeUpperLimit and ReferenceRangeLowerLimit are defined as datatype ANY, but it is unclear how these concepts should work for anything that is not a Quantity or string. In addition, there's no obvious way in FHIR to support reference values other than type Quantity or string. Therefore, support for reference ranges has been restricted to Quantity and String. (zib ticket #1703)
LaboratoryTest.ReferenceRangeLowerLimit type The concepts ReferenceRangeUpperLimit and ReferenceRangeLowerLimit are defined as datatype ANY, but it is unclear how these concepts should work for anything that is not a Quantity or string. In addition, there's no obvious way in FHIR to support reference values other than type Quantity or string. Therefore, support for reference ranges has been restricted to Quantity and String. (zib ticket #1703).
LaboratoryTest.ResultFlags terminology Added concepts 260405006 (Trace) and 260408008 (Weakly positive) from SNOMED and included CodeSystem-ResultFlags to the ValueSet ResultFlags.
LaboratoryTest.InterpretationMethod terminology Removed bound ValuSet because it is invalid. (zib ticket #1292) and (zib ticket #677)
Specimen.ContainerType terminology Relaxed binding from required to preferred. (zib ticket #1552)
Specimen.SpecimenMaterial terminology Replaced SpecimenMaterial valueset values from a SNOMED descendent-of 105590001 (Substance) to a descendent-of 123038009 (Specimen) because this makes it simpler, it is already in use in the DCD's like this and the container element can be used when additional information is required. (zib ticket #1554) Also included CodeSystem-SpecimenMaterial into the valueset, and loosened the binding from required to extensible.
Specimen.AnatomicalLocation textual Changed anatomic to anatomical in the definition. (zib ticket #1551)
Specimen.Microorganism terminology Replaced Dutch reference set for Microorganism by changing the SNOMED hierarchy 2581000146104 (Dutch microorganism simple reference set) to 410607006 (Organism). Also loosened the binding from required to extensible.
Specimen.ReceivedDateTime textual Removed sentence 'This is the issue...' (zib ticket #1551)
Specimen.SpecimenSource type Changed datatype from string to CodeableConcept. (zib ticket #1845).
Specimen.SpecimenSource terminology Constructed ValueSet SpecimenSource as a SNOMED descendent-of 898201001 (Specimen from device) and added it with an extensible binding to the concept (zib ticket #1845).
Specimen.CollectionPeriod textual Added the expected unit (minutes) in a comment for the TimeInterval.Duration concept. It cannot be added as a pattern because the model uses the custom datatype TimeInterval here. (zib ticket #1915)
Specimen.CollectedVolume cardinality Added the expected unit (mL) in a pattern. (zib ticket #1915)
Specimen.SpecimenNumberExtension type Change datatype from int to string to accommodate using letters for identification of the specimen.
PanelOrBattery terminology Removed ValueSet binding and described in the comment the use of Loinc and Albert codes as per the subset defined by the FPS Health (ReTaM). Added a reference to the subset on the website of the FPS Health. The ReTaM codes are not duplicated in a FHIR ValueSet because this would require extensive maintenance in keeping the ValueSet up-to-date.
ResultStatus terminology Replaced zib CodeSystem values to corresponding values from the FHIR ObservationStatus CodeSystem because these are more widely adopted and can be mapped to zib status terminology. The new ValueSet contains a subset of the ObservationStatus CodeSystem to maintain compatibility with the zib. Also merged duplicated status ValueSets into one 'TestResultStatus' ValueSet because a ValueSet with similar codes was bound to .TestResultStatus.
Performer reference Changed reference from HealthcareOrganization to a reference to HealthProfessional to assign a person responsible for the LaboratoryTestResult instead of the Laboratory (the HealthcareOrganization can be obtained through the HealthProfessional).
ResultStatus textual Replaced 'result .If' and 'an panel'.



Terminology Bindings

PathNameStrengthURL
LaboratoryTest.TestMethodTestMethodrequiredhttps://fhir.healthdata.be/ValueSet/TestMethod
LaboratoryTest.TestResultStatusTestResultStatusextensiblehttps://fhir.healthdata.be/ValueSet/TestResultStatus
LaboratoryTest.ResultFlagsResultFlagsextensiblehttps://fhir.healthdata.be/ValueSet/ResultFlags
Specimen.ContainerTypeContainerTypepreferredhttps://fhir.healthdata.be/ValueSet/ContainerType
Specimen.SpecimenMaterialSpecimenMaterialextensiblehttps://fhir.healthdata.be/ValueSet/SpecimenMaterial
Specimen.MicroorganismMicroorganismextensiblehttps://fhir.healthdata.be/ValueSet/Microorganism
Specimen.CollectionMethodCollectionMethodrequiredhttps://fhir.healthdata.be/ValueSet/CollectionMethod
Specimen.MorphologyMorphologyrequiredhttps://fhir.healthdata.be/ValueSet/Morphology
Specimen.SpecimenSourceSpecimenSourceextensiblehttps://fhir.healthdata.be/ValueSet/SpecimenSource
ResultStatusTestResultStatusextensiblehttps://fhir.healthdata.be/ValueSet/TestResultStatus
ResultTypeResultTypeextensiblehttps://fhir.healthdata.be/ValueSet/ResultType