CH ELM (R4)
1.9.1 - release Switzerland flag

CH ELM (R4), published by Federal Office of Public Health FOPH. This guide is not an authorized publication; it is the continuous build for version 1.9.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/ahdis/ch-elm/ and changes regularly. See the Directory of published versions

Resource Profile: CH ELM Observation Results: Laboratory

Official URL: http://fhir.ch/ig/ch-elm/StructureDefinition/ch-elm-observation-results-laboratory Version: 1.9.1
Active as of 2025-03-25 Computable Name: ChElmObservationResultsLaboratory

Copyright/Legal: CC0-1.0

This CH ELM base profile constrains the Observation resource for the purpose of laboratory test reports.

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* ChLabObservationResultsLaboratory CH ELM Observation Results: Laboratory
This profile also imposes the profile Observation Results: laboratory
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
eu-lab-1: If observation status is other then "registered" or "cancelled", at least one of these Observation elements shall be provided: "value", "dataAbsentReason", "hasMember" or "component"
eu-lab-2: If observation has components and observation status is other then "registered" or "cancelled", at least one of these Observation.component elements shall be provided: "value" or "dataAbsentReason"
ch-elm-expecting-specimen-specification: If Observation.code is a member of http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-specimen-specification, then Specimen.type must be a member of the mapped ValueSet in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-specimen-specification-to-results-completion-vs
ch-elm-patient-name-representation-initial-loinc: If Observation.code is mapped to initials in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation then patient.name.first and given must have one character and the following elements must not be provided: patient.telecom, patient.address.line
ch-elm-patient-name-representation-initial-snomedct: If Observation.code is mapped to initials in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation then patient.name.first and given must have one character and the following elements must not be provided: patient.telecom, patient.address.line
ch-elm-patient-name-representation-initial-or-vctcode-loinc: If Observation.code is mapped to initials or vctcode in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation then patient.name family and given must have one character or - in case of a VCT patient - must be masked and the following elements must not be provided: patient.telecom, patient.address.line.
ch-elm-patient-name-representation-initial-or-vctcode-snomedct: If Observation.code is mapped to initials or vctcode in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation then patient.name family and given must have one character or - in case of a VCT patient - must be masked and the following elements must not be provided: patient.telecom, patient.address.line.
ch-elm-patient-name-representation-hiv-code-loinc: If Observation.code is mapped to hiv-code in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation then patient representation must follow profile resource profile: CH ELM Patient HIV
ch-elm-patient-name-representation-hiv-code-snomedct: If Observation.code is mapped to hiv-code in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation then patient representation must follow profile resource profile: CH ELM Patient HIV
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension Content/Rules for all slices
.... extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:triggeredBy-r5 0..* (Complex) Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... Slices for extension Content/Rules for all slices
...... extension:observation 0..* Extension Triggering observation.
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension 0..0
....... url 1..1 uri "observation"
....... value[x] 1..1 Reference(Observation) Value of extension
ele-1: All FHIR elements must have a @value or children
...... extension:type 0..* Extension The type of trigger
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension 0..0
....... url 1..1 uri "type"
....... value[x] 1..1 code Value of extension
ele-1: All FHIR elements must have a @value or children
...... extension:reason 0..* Extension Extension
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension 0..0
....... url 1..1 uri "reason"
....... value[x] 1..1 string Value of extension
ele-1: All FHIR elements must have a @value or children
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
.... extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:labTestKit 0..* Reference(Device) Device Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:value-r5 0..1 (Complex) only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension 0..0
..... url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]"
..... value[x] 1..1 Attachment Value of extension
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


ele-1: All FHIR elements must have a @value or children
.... category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


ele-1: All FHIR elements must have a @value or children

Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: laboratory
.... category:studyType 0..* CodeableConcept The way of grouping of the test results into clinically meaningful domains (e.g. hematology study, microbiology study, etc.)
Binding: Laboratory Study Types (required)
ele-1: All FHIR elements must have a @value or children
.... category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
ele-1: All FHIR elements must have a @value or children
... code Σ 1..1 ChElmCodeableConcept Type of observation (code / type)
Binding: CH ELM Results Laboratory Observation Complete (extensible)
ele-1: All FHIR elements must have a @value or children
... subject Σ 1..1 Reference(CH ELM Patient) Who and/or what the observation is about
ele-1: All FHIR elements must have a @value or children
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
ele-1: All FHIR elements must have a @value or children
... Slices for effective[x] Σ 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... effective[x]:All Slices Content/Rules for all slices
..... Slices for extension Content/Rules for all slices
...... extension:data-absent-reason 0..1 code effective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... effective[x]:effectiveDateTime ΣC 1..1 dateTime Clinically relevant time/time-period for observation
ele-1: All FHIR elements must have a @value or children
ch-elm-dateTime: At least the format YYYY-MM-DD is required.
..... Slices for extension Content/Rules for all slices
...... extension:data-absent-reason 0..1 code effective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... performer Σ 1..1 Reference(CH ELM Organization: Lab) Who is responsible for the observation
ele-1: All FHIR elements must have a @value or children
.... Slices for extension Content/Rules for all slices
..... extension:performerFunction 0..* CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... valueString string
.... valueRatio Ratio
.... valueQuantity Quantity
.... valueCodeableConcept CodeableConcept
.... value[x]:valueString ΣC 0..1 string String if required by leading code, see also 'Guidance - Laboratory Result'
ele-1: All FHIR elements must have a @value or children
.... value[x]:valueRatio C 0..1 RatioEuLab Ratio if required by leading code, see also 'Guidance - Laboratory Result'
ele-1: All FHIR elements must have a @value or children
rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
.... value[x]:valueQuantity C 0..1 QuantityEuLab Quantity if required by leading code, see also 'Guidance - Laboratory Result'
ele-1: All FHIR elements must have a @value or children
qty-3: If a code for the unit is present, the system SHALL also be present
.... value[x]:valueCodeableConcept ΣC 0..1 ChElmCodeableConcept Positive/Negative or code for an additional organism specification, see also 'Guidance - Laboratory Result'
Binding: CH ELM Results Coded Values Laboratory (preferred)
Additional BindingsPurpose
Results Blood Group - SNOMED CT IPS Free Set candidate
Results Presence Absence - SNOMED CT IPS Free Set candidate
Results Microorganism - SNOMED CT IPS Free Set candidate

ele-1: All FHIR elements must have a @value or children
.... value[x]:valueBoolean ΣC 0..1 boolean Actual result
ele-1: All FHIR elements must have a @value or children
.... value[x]:valueRange C 0..1 RangeIPS Set of values bounded by low and high
ele-1: All FHIR elements must have a @value or children
rng-2: If present, low SHALL have a lower value than high
.... value[x]:valueTime ΣC 0..1 time Actual result
ele-1: All FHIR elements must have a @value or children
.... value[x]:valueDateTime ΣC 0..1 dateTime Actual result
ele-1: All FHIR elements must have a @value or children
.... value[x]:valuePeriod ΣC 0..1 Period Actual result
ele-1: All FHIR elements must have a @value or children
... dataAbsentReason C 0..1 CodeableConcept see also 'Guidance - Laboratory Result'
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.


ele-1: All FHIR elements must have a @value or children
... interpretation 0..1 ChElmCodeableConcept see also 'Guidance - Laboratory Result'
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


ele-1: All FHIR elements must have a @value or children
... specimen 1..1 Reference(CH ELM Specimen: Laboratory) Specimen used for this observation
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Observation.statusrequiredPattern: final
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.category:laboratorypreferredPattern: laboratory
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.category:studyTyperequiredLabStudyTypesEuVs
http://hl7.eu/fhir/laboratory/ValueSet/lab-studyType-eu-lab
Observation.category:specialtyrequiredLabSpecialtyEuVs
http://hl7.eu/fhir/laboratory/ValueSet/lab-specialty-eu-lab
Observation.codeextensibleChElmResultsLaboratoryObservationComplete
http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-laboratory-observation-complete
from this IG
Observation.value[x]:valueCodeableConceptpreferredChElmResultsCodedValuesLaboratory
http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-results-coded-values-laboratory
from this IG
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.interpretationextensibleObservationInterpretationCodes
http://hl7.org/fhir/ValueSet/observation-interpretation
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-elm-dateTimeerrorObservation.effective[x]:effectiveDateTimeAt least the format YYYY-MM-DD is required.
: $this.toString().length() >= 10
ch-elm-expecting-specimen-specificationerrorObservationIf Observation.code is a member of http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-specimen-specification, then Specimen.type must be a member of the mapped ValueSet in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-specimen-specification-to-results-completion-vs
: code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-specimen-specification') implies (specimen.resolve().exists() and specimen.resolve().type.exists() and specimen.resolve().type.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-specimen-specification-to-results-completion-vs'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).target.first().code))
ch-elm-patient-name-representation-hiv-code-loincerrorObservationIf Observation.code is mapped to hiv-code in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation then patient representation must follow profile resource profile: CH ELM Patient HIV
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).empty() or ('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).target.first().code = 'hiv-code' implies (subject.resolve().conformsTo('http://fhir.ch/ig/ch-elm/StructureDefinition/ChElmPatientHIV')))
ch-elm-patient-name-representation-hiv-code-snomedcterrorObservationIf Observation.code is mapped to hiv-code in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation then patient representation must follow profile resource profile: CH ELM Patient HIV
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation'.resolve().group.where(source='http://snomed.info/sct').element.where(code=%context.code.coding.where(system='http://snomed.info/sct').first().code).empty() or ('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation'.resolve().group.where(source='http://snomed.info/sct').element.where(code=%context.code.coding.where(system='http://snomed.info/sct').first().code).target.first().code = 'hiv-code' implies (subject.resolve().conformsTo('http://fhir.ch/ig/ch-elm/StructureDefinition/ChElmPatientHIV')))
ch-elm-patient-name-representation-initial-loincerrorObservationIf Observation.code is mapped to initials in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation then patient.name.first and given must have one character and the following elements must not be provided: patient.telecom, patient.address.line
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).empty() or ('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).target.first().code = 'initials' implies (subject.resolve().conformsTo('http://fhir.ch/ig/ch-elm/StructureDefinition/ChElmPatientInitials')))
ch-elm-patient-name-representation-initial-or-vctcode-loincerrorObservationIf Observation.code is mapped to initials or vctcode in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation then patient.name family and given must have one character or - in case of a VCT patient - must be masked and the following elements must not be provided: patient.telecom, patient.address.line.
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).empty() or ('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).target.first().code = 'initials-or-vctcode' implies (subject.resolve().conformsTo('http://fhir.ch/ig/ch-elm/StructureDefinition/ChElmPatientInitials') or subject.resolve().conformsTo('http://fhir.ch/ig/ch-elm/StructureDefinition/ChElmPatientVCT')))
ch-elm-patient-name-representation-initial-or-vctcode-snomedcterrorObservationIf Observation.code is mapped to initials or vctcode in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation then patient.name family and given must have one character or - in case of a VCT patient - must be masked and the following elements must not be provided: patient.telecom, patient.address.line.
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation'.resolve().group.where(source='http://snomed.info/sct').element.where(code=%context.code.coding.where(system='http://snomed.info/sct').first().code).empty() or ('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation'.resolve().group.where(source='http://snomed.info/sct').element.where(code=%context.code.coding.where(system='http://snomed.info/sct').first().code).target.first().code = 'initials-or-vctcode' implies (subject.resolve().conformsTo('http://fhir.ch/ig/ch-elm/StructureDefinition/ChElmPatientInitials') or subject.resolve().conformsTo('http://fhir.ch/ig/ch-elm/StructureDefinition/ChElmPatientVCT')))
ch-elm-patient-name-representation-initial-snomedcterrorObservationIf Observation.code is mapped to initials in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation then patient.name.first and given must have one character and the following elements must not be provided: patient.telecom, patient.address.line
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation'.resolve().group.where(source='http://snomed.info/sct').element.where(code=%context.code.coding.where(system='http://snomed.info/sct').first().code).empty() or ('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-foph-patient-name-representation'.resolve().group.where(source='http://snomed.info/sct').element.where(code=%context.code.coding.where(system='http://snomed.info/sct').first().code).target.first().code = 'initials' implies (subject.resolve().conformsTo('http://fhir.ch/ig/ch-elm/StructureDefinition/ChElmPatientInitials')))
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf 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-4errorObservationIf 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-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
eu-lab-1errorObservationIf observation status is other then "registered" or "cancelled", at least one of these Observation elements shall be provided: "value", "dataAbsentReason", "hasMember" or "component"
: (status in ('registered'|'cancelled')) or value.exists() or hasMember.exists() or component.exists() or dataAbsentReason.exists()
eu-lab-2errorObservationIf observation has components and observation status is other then "registered" or "cancelled", at least one of these Observation.component elements shall be provided: "value" or "dataAbsentReason"
: component.exists() implies (status in ('registered'|'cancelled')) or component.value.exists() or component.dataAbsentReason.exists()
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
: value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
qty-3errorObservation.value[x]:valueQuantityIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
rat-1errorObservation.value[x]:valueRatioNumerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
: (numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())
rng-2errorObservation.value[x]:valueRangeIf present, low SHALL have a lower value than high
: low.empty() or high.empty() or (low <= high)

 

Other representations of profile: CSV, Excel, Schematron