CH ELM (R4)
1.16.0 - ci-build 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.16.0 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.16.0
Active as of 2026-10-22 Computable Name: ChElmObservationResultsLaboratory

Copyright/Legal: CC0-1.0

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

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* ChLabObservationResultsLaboratory CH ELM Observation Results: Laboratory
This profile also imposes the profile Observation Results: laboratory
Constraints: obs-6, obs-7, eu-lab-1, eu-lab-2, ch-elm-expecting-specimen-specification, ch-elm-patient-name-representation-initial-loinc, ch-elm-patient-name-representation-initial-snomedct, ch-elm-patient-name-representation-initial-or-vctcode-loinc, ch-elm-patient-name-representation-initial-or-vctcode-snomedct, ch-elm-patient-name-representation-hiv-code-loinc, ch-elm-patient-name-representation-hiv-code-snomedct
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.Slices for extension Content/Rules for all slices
Observation.Slices for extension.extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
Observation.Slices for extension.extension:triggeredBy-r5 0..* (Complex) Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension Content/Rules for all slices
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation 0..* Extension Triggering observation.
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.url 1..1 uri "observation"
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.value[x] 1..1 Reference(Observation) Value of extension
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type 0..* Extension The type of trigger
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.url 1..1 uri "type"
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.value[x] 1..1 code Value of extension
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason 0..* Extension Extension
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.url 1..1 uri "reason"
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.value[x] 1..1 string Value of extension
Observation.Slices for extension.extension:triggeredBy-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
Observation.Slices for extension.extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
Observation.Slices for extension.extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
Observation.Slices for extension.extension:labTestKit 0..* Reference(Device) Device Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
Observation.Slices for extension.extension:value-r5 0..1 (Complex) only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]
Observation.Slices for extension.extension:value-r5.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:value-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]"
Observation.Slices for extension.extension:value-r5.value[x] 1..1 Attachment Value of extension
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code Status of this observation (e.g. preliminary, final,...)
Binding: ObservationStatus (required): Codes providing the status of an observation.
Required Pattern: final (extensions allowed)
Observation.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.
Observation.Slices for category.category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "laboratory"
    }
  ]
}
Observation.Slices for category.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)
Observation.Slices for category.category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
Observation.code This element is included in summaries. 1..1 ChElmCodeableConcept Type of observation (code / type)
Binding: CH ELM Results Laboratory Observation Complete (extensible)
Observation.subject This element is included in summaries. 1..1 Reference(CH ELM Patient) Who and/or what the observation is about
Observation.subject.reference This element is included in summaries. C 1..1 string Literal reference, Relative, internal or absolute URL
Observation.Slices for effective[x] This element is included in summaries. 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for effective[x].effective[x]:All Slices Content/Rules for all slices
Observation.Slices for effective[x].effective[x]:All Slices.Slices for extension Content/Rules for all slices
Observation.Slices for effective[x].effective[x]:All Slices.Slices for extension.extension:data-absent-reason 0..1 code effective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required): Used to specify why the normally expected content of the data element is missing.
Observation.Slices for effective[x].effective[x]:effectiveDateTime This element is included in summaries. C 1..1 dateTime Clinically relevant time/time-period for observation
Constraints: ch-elm-dateTime
Observation.Slices for effective[x].effective[x]:effectiveDateTime.Slices for extension Content/Rules for all slices
Observation.Slices for effective[x].effective[x]:effectiveDateTime.Slices for extension.extension:data-absent-reason 0..1 code effective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required): Used to specify why the normally expected content of the data element is missing.
Observation.performer This element is included in summaries. 1..1 Reference(CH ELM Organization: Lab) Who is responsible for the observation
Observation.performer.Slices for extension Content/Rules for all slices
Observation.performer.Slices for extension.extension:performerFunction 0..1 CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
Observation.Slices for value[x] This element is included in summaries. C 0..1 Actual result
Slice: Unordered, Closed by type:$this
Observation.Slices for value[x].valueString string
Observation.Slices for value[x].valueRatio Ratio
Observation.Slices for value[x].valueQuantity Quantity
Observation.Slices for value[x].valueCodeableConcept CodeableConcept
Observation.Slices for value[x].value[x]:valueString This element is included in summaries. C 0..1 string String if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueRatio This element is included in summaries. C 0..1 RatioEuLab The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Ratio if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueQuantity This element is included in summaries. C 0..1 QuantityEuLab The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Quantity if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueCodeableConcept This element is included in summaries. 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)
Observation.Slices for value[x].value[x]:valueBoolean This element is included in summaries. C 0..1 boolean Actual result
Observation.Slices for value[x].value[x]:valueRange This element is included in summaries. C 0..1 RangeIPS The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Actual result
Observation.Slices for value[x].value[x]:valueTime This element is included in summaries. C 0..1 time Actual result
Observation.Slices for value[x].value[x]:valueDateTime This element is included in summaries. C 0..1 dateTime Actual result
Observation.Slices for value[x].value[x]:valuePeriod This element is included in summaries. C 0..1 Period Actual result
Observation.dataAbsentReason C 0..1 CodeableConcept see also 'Guidance - Laboratory Result'
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.interpretation 0..1 ChElmCodeableConcept see also 'Guidance - Laboratory Result'
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.specimen 1..1 Reference(CH ELM Specimen: Laboratory) Specimen used for this observation

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:laboratory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:studyType Base required Laboratory Study Types 📦0.1.1 HL7 Europe Laboratory Report v0.1
Observation.category:specialty Base required Laboratory Specialty 📦0.1.1 HL7 Europe Laboratory Report v0.1
Observation.code Base extensible CH ELM Results Laboratory Observation Complete 📦1.16.0 This IG
Observation.value[x]:valueCodeableConcept Base preferred CH ELM Results Coded Values Laboratory 📦1.16.0 This IG
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ch-elm-dateTime error Observation.effective[x]:effectiveDateTime At least the format YYYY-MM-DD is required. $this.toString().length() >= 10
ch-elm-expecting-specimen-specification error Observation 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 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-loinc error Observation 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 '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-snomedct error Observation 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 '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-loinc error Observation 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 '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-loinc error Observation 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. '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-snomedct error Observation 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. '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-snomedct error Observation 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 '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-2 error Observation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Observation If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Observation If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Observation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Observation A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
eu-lab-1 error Observation If 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-2 error Observation 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" component.exists() implies (status in ('registered'|'cancelled')) or component.value.exists() or component.dataAbsentReason.exists()
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
obs-6 error Observation dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If 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()

This structure is derived from ChLabObservationResultsLaboratory

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* ChLabObservationResultsLaboratory CH ELM Observation Results: Laboratory
This profile also imposes the profile Observation Results: laboratory
Constraints: ch-elm-expecting-specimen-specification, ch-elm-patient-name-representation-initial-loinc, ch-elm-patient-name-representation-initial-snomedct, ch-elm-patient-name-representation-initial-or-vctcode-loinc, ch-elm-patient-name-representation-initial-or-vctcode-snomedct, ch-elm-patient-name-representation-hiv-code-loinc, ch-elm-patient-name-representation-hiv-code-snomedct
Observation.status 1..1 code Status of this observation (e.g. preliminary, final,...)
Required Pattern: final (extensions allowed)
Observation.code 1..1 ChElmCodeableConcept Type of observation (code / type)
Binding: CH ELM Results Laboratory Observation Complete (extensible)
Observation.subject 1..1 Reference(CH ELM Patient) Who and/or what the observation is about
Observation.Slices for effective[x].effective[x]:effectiveDateTime C 1..1 dateTime Clinically relevant time/time-period for observation
Constraints: ch-elm-dateTime
Observation.performer 1..1 Reference(CH ELM Organization: Lab) Who is responsible for the observation
Observation.Slices for value[x] Content/Rules for all slices
Observation.Slices for value[x].value[x]:valueString 0..1 string String if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueRatio 0..1 RatioEuLab Ratio if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueQuantity 0..1 QuantityEuLab Quantity if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueCodeableConcept 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)
Observation.dataAbsentReason 0..1 CodeableConcept see also 'Guidance - Laboratory Result'
Observation.interpretation 0..1 ChElmCodeableConcept see also 'Guidance - Laboratory Result'
Observation.specimen 1..1 Reference(CH ELM Specimen: Laboratory) Specimen used for this observation

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.code Base extensible CH ELM Results Laboratory Observation Complete 📦1.16.0 This IG
Observation.value[x]:valueCodeableConcept Base preferred CH ELM Results Coded Values Laboratory 📦1.16.0 This IG

Constraints

Id Grade Path(s) Description Expression
ch-elm-dateTime error Observation.effective[x]:effectiveDateTime At least the format YYYY-MM-DD is required. $this.toString().length() >= 10
ch-elm-expecting-specimen-specification error Observation 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 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-loinc error Observation 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 '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-snomedct error Observation 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 '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-loinc error Observation 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 '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-loinc error Observation 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. '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-snomedct error Observation 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. '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-snomedct error Observation 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 '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')))
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* ChLabObservationResultsLaboratory CH ELM Observation Results: Laboratory
This profile also imposes the profile Observation Results: laboratory
Constraints: obs-6, obs-7, eu-lab-1, eu-lab-2, ch-elm-expecting-specimen-specification, ch-elm-patient-name-representation-initial-loinc, ch-elm-patient-name-representation-initial-snomedct, ch-elm-patient-name-representation-initial-or-vctcode-loinc, ch-elm-patient-name-representation-initial-or-vctcode-snomedct, ch-elm-patient-name-representation-hiv-code-loinc, ch-elm-patient-name-representation-hiv-code-snomedct
Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
Observation.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Observation.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
Observation.contained 0..* Resource Contained, inline Resources
Observation.Slices for extension 0..* Extension Laboratory Test Kit
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
Observation.Slices for extension.extension:triggeredBy-r5 0..* (Complex) Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Observation.Slices for extension.extension:triggeredBy-r5.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension Content/Rules for all slices
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation 0..* Extension Triggering observation.
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.url 1..1 uri "observation"
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.value[x] 1..1 Reference(Observation) Value of extension
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type 0..* Extension The type of trigger
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.url 1..1 uri "type"
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.value[x] 1..1 code Value of extension
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason 0..* Extension Extension
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.url 1..1 uri "reason"
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.value[x] 1..1 string Value of extension
Observation.Slices for extension.extension:triggeredBy-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
Observation.Slices for extension.extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
Observation.Slices for extension.extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
Observation.Slices for extension.extension:labTestKit 0..* Reference(Device) Device Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
Observation.Slices for extension.extension:value-r5 0..1 (Complex) only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]
Observation.Slices for extension.extension:value-r5.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:value-r5.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:value-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]"
Observation.Slices for extension.extension:value-r5.value[x] 1..1 Attachment Value of extension
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.identifier This element is included in summaries. 0..* Identifier Business Identifier for observation
Observation.basedOn This element is included in summaries. 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
Observation.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code Status of this observation (e.g. preliminary, final,...)
Binding: ObservationStatus (required): Codes providing the status of an observation.
Required Pattern: final (extensions allowed)
Observation.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.
Observation.Slices for category.category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "laboratory"
    }
  ]
}
Observation.Slices for category.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)
Observation.Slices for category.category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
Observation.code This element is included in summaries. 1..1 ChElmCodeableConcept Type of observation (code / type)
Binding: CH ELM Results Laboratory Observation Complete (extensible)
Observation.subject This element is included in summaries. 1..1 Reference(CH ELM Patient) Who and/or what the observation is about
Observation.subject.id 0..1 string Unique id for inter-element referencing
Observation.subject.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.subject.reference This element is included in summaries. C 1..1 string Literal reference, Relative, internal or absolute URL
Observation.subject.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Observation.subject.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
Observation.subject.display This element is included in summaries. 0..1 string Text alternative for the resource
Observation.focus This element is included in summaries. 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
Observation.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this observation is made
Observation.Slices for effective[x] This element is included in summaries. 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for effective[x].effective[x]:All Slices Content/Rules for all slices
Observation.Slices for effective[x].effective[x]:All Slices.id 0..1 string Unique id for inter-element referencing
Observation.Slices for effective[x].effective[x]:All Slices.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for effective[x].effective[x]:All Slices.Slices for extension.extension:data-absent-reason 0..1 code effective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required): Used to specify why the normally expected content of the data element is missing.
Observation.Slices for effective[x].effective[x]:effectiveDateTime This element is included in summaries. C 1..1 dateTime Clinically relevant time/time-period for observation
Constraints: ch-elm-dateTime
Observation.Slices for effective[x].effective[x]:effectiveDateTime.id 0..1 string Unique id for inter-element referencing
Observation.Slices for effective[x].effective[x]:effectiveDateTime.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for effective[x].effective[x]:effectiveDateTime.Slices for extension Content/Rules for all slices
Observation.Slices for effective[x].effective[x]:effectiveDateTime.Slices for extension.extension:data-absent-reason 0..1 code effective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required): Used to specify why the normally expected content of the data element is missing.
Observation.issued This element is included in summaries. 0..1 instant Date/Time this result was made available
Observation.performer This element is included in summaries. 1..1 Reference(CH ELM Organization: Lab) Who is responsible for the observation
Observation.performer.id 0..1 string Unique id for inter-element referencing
Observation.performer.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.performer.Slices for extension.extension:performerFunction 0..1 CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
Observation.performer.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Observation.performer.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Observation.performer.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
Observation.performer.display This element is included in summaries. 0..1 string Text alternative for the resource
Observation.Slices for value[x] This element is included in summaries. C 0..1 Actual result
Slice: Unordered, Closed by type:$this
Observation.Slices for value[x].valueString string
Observation.Slices for value[x].valueRatio Ratio
Observation.Slices for value[x].valueQuantity Quantity
Observation.Slices for value[x].valueCodeableConcept CodeableConcept
Observation.Slices for value[x].value[x]:valueString This element is included in summaries. C 0..1 string String if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueRatio This element is included in summaries. C 0..1 RatioEuLab The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Ratio if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueQuantity This element is included in summaries. C 0..1 QuantityEuLab The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Quantity if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueCodeableConcept This element is included in summaries. 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)
Observation.Slices for value[x].value[x]:valueBoolean This element is included in summaries. C 0..1 boolean Actual result
Observation.Slices for value[x].value[x]:valueRange This element is included in summaries. C 0..1 RangeIPS The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Actual result
Observation.Slices for value[x].value[x]:valueTime This element is included in summaries. C 0..1 time Actual result
Observation.Slices for value[x].value[x]:valueDateTime This element is included in summaries. C 0..1 dateTime Actual result
Observation.Slices for value[x].value[x]:valuePeriod This element is included in summaries. C 0..1 Period Actual result
Observation.dataAbsentReason C 0..1 CodeableConcept see also 'Guidance - Laboratory Result'
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.interpretation 0..1 ChElmCodeableConcept see also 'Guidance - Laboratory Result'
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.note 0..* Annotation Comments about the observation
Observation.bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
Observation.method 0..1 CodeableConcept How it was done
Binding: Laboratory Techniques (preferred)
Observation.specimen 1..1 Reference(CH ELM Specimen: Laboratory) Specimen used for this observation
Observation.device 0..1 Reference(Device | DeviceMetric) Measuring instrument
Observation.referenceRange C 0..* BackboneElement Provides guide for interpretation
Constraints: obs-3
Observation.referenceRange.id 0..1 string Unique id for inter-element referencing
Observation.referenceRange.extension 0..* Extension Additional content defined by implementations
Observation.referenceRange.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.referenceRange.low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
Constraints: sqty-1
Observation.referenceRange.high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
Constraints: sqty-1
Observation.referenceRange.type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
Observation.referenceRange.appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
Observation.referenceRange.age 0..1 Range Applicable age range, if relevant
Observation.referenceRange.text 0..1 string Text based reference range in an observation
Observation.hasMember This element is included in summaries. 0..* Reference(CH LAB-Report Observation Results: Laboratory Report) Related resource that belongs to the Observation group
Observation.derivedFrom This element is included in summaries. 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
Observation.component This element is included in summaries. 0..* BackboneElement Laboratory result
Observation.component.id 0..1 string Unique id for inter-element referencing
Observation.component.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Observation.component.Slices for extension.extension:value-r5 0..1 (Complex) only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]
Observation.component.Slices for extension.extension:value-r5.id 0..1 string Unique id for inter-element referencing
Observation.component.Slices for extension.extension:value-r5.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.component.Slices for extension.extension:value-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]"
Observation.component.Slices for extension.extension:value-r5.value[x] 1..1 Attachment Value of extension
Observation.component.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.component.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Observation.component.Slices for value[x] This element is included in summaries. 0..1 Actual component result
Slice: Unordered, Open by type:$this
Observation.component.Slices for value[x].valueQuantity Quantity
Observation.component.Slices for value[x].valueCodeableConcept CodeableConcept
Observation.component.Slices for value[x].valueString string
Observation.component.Slices for value[x].valueBoolean boolean
Observation.component.Slices for value[x].valueInteger integer
Observation.component.Slices for value[x].valueRange Range
Observation.component.Slices for value[x].valueRatio Ratio
Observation.component.Slices for value[x].valueSampledData SampledData
Observation.component.Slices for value[x].valueTime time
Observation.component.Slices for value[x].valueDateTime dateTime
Observation.component.Slices for value[x].valuePeriod Period
Observation.component.Slices for value[x].value[x]:valueString This element is included in summaries. 0..1 string Actual component result
Observation.component.Slices for value[x].value[x]:valueBoolean This element is included in summaries. 0..1 boolean Actual component result
Observation.component.Slices for value[x].value[x]:valueRange This element is included in summaries. 0..1 RangeIPS The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Actual component result
Observation.component.Slices for value[x].value[x]:valueRatio This element is included in summaries. 0..1 RatioEuLab The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Actual component result
Observation.component.Slices for value[x].value[x]:valueTime This element is included in summaries. 0..1 time Actual component result
Observation.component.Slices for value[x].value[x]:valueDateTime This element is included in summaries. 0..1 dateTime Actual component result
Observation.component.Slices for value[x].value[x]:valuePeriod This element is included in summaries. 0..1 Period Actual component result
Observation.component.Slices for value[x].value[x]:valueQuantity This element is included in summaries. 0..1 QuantityEuLab The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Actual component result
Observation.component.Slices for value[x].value[x]:valueCodeableConcept This element is included in summaries. 0..1 CodeableConceptIPS(2.0.0) The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Actual component result
Binding: Results Coded Values Laboratory - IPS (preferred)
Observation.component.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.component.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.component.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:laboratory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:studyType Base required Laboratory Study Types 📦0.1.1 HL7 Europe Laboratory Report v0.1
Observation.category:specialty Base required Laboratory Specialty 📦0.1.1 HL7 Europe Laboratory Report v0.1
Observation.code Base extensible CH ELM Results Laboratory Observation Complete 📦1.16.0 This IG
Observation.subject.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Observation.performer.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Observation.value[x]:valueCodeableConcept Base preferred CH ELM Results Coded Values Laboratory 📦1.16.0 This IG
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Observation.method Base preferred Laboratory Techniques 📦0.1.1 HL7 Europe Laboratory Report v0.1
Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍4.0.1 FHIR Std.
Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍4.0.1 FHIR Std.
Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component.​value[x]:valueCodeableConcept Base preferred Results Coded Values Laboratory - IPS 📦1.1.0 International Patient Summary Implementation Guide v1.1
Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ch-elm-dateTime error Observation.effective[x]:effectiveDateTime At least the format YYYY-MM-DD is required. $this.toString().length() >= 10
ch-elm-expecting-specimen-specification error Observation 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 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-loinc error Observation 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 '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-snomedct error Observation 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 '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-loinc error Observation 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 '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-loinc error Observation 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. '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-snomedct error Observation 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. '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-snomedct error Observation 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 '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-2 error Observation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Observation If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Observation If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Observation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Observation A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
eu-lab-1 error Observation If 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-2 error Observation 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" component.exists() implies (status in ('registered'|'cancelled')) or component.value.exists() or component.dataAbsentReason.exists()
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
obs-3 error Observation.referenceRange Must have at least a low or a high or text low.exists() or high.exists() or text.exists()
obs-6 error Observation dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If 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()
sqty-1 error Observation.referenceRange.low, Observation.referenceRange.high The comparator is not used on a SimpleQuantity comparator.empty()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* ChLabObservationResultsLaboratory CH ELM Observation Results: Laboratory
This profile also imposes the profile Observation Results: laboratory
Constraints: obs-6, obs-7, eu-lab-1, eu-lab-2, ch-elm-expecting-specimen-specification, ch-elm-patient-name-representation-initial-loinc, ch-elm-patient-name-representation-initial-snomedct, ch-elm-patient-name-representation-initial-or-vctcode-loinc, ch-elm-patient-name-representation-initial-or-vctcode-snomedct, ch-elm-patient-name-representation-hiv-code-loinc, ch-elm-patient-name-representation-hiv-code-snomedct
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.Slices for extension Content/Rules for all slices
Observation.Slices for extension.extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
Observation.Slices for extension.extension:triggeredBy-r5 0..* (Complex) Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension Content/Rules for all slices
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation 0..* Extension Triggering observation.
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.url 1..1 uri "observation"
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.value[x] 1..1 Reference(Observation) Value of extension
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type 0..* Extension The type of trigger
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.url 1..1 uri "type"
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.value[x] 1..1 code Value of extension
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason 0..* Extension Extension
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.url 1..1 uri "reason"
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.value[x] 1..1 string Value of extension
Observation.Slices for extension.extension:triggeredBy-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
Observation.Slices for extension.extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
Observation.Slices for extension.extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
Observation.Slices for extension.extension:labTestKit 0..* Reference(Device) Device Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
Observation.Slices for extension.extension:value-r5 0..1 (Complex) only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]
Observation.Slices for extension.extension:value-r5.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:value-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]"
Observation.Slices for extension.extension:value-r5.value[x] 1..1 Attachment Value of extension
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code Status of this observation (e.g. preliminary, final,...)
Binding: ObservationStatus (required): Codes providing the status of an observation.
Required Pattern: final (extensions allowed)
Observation.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.
Observation.Slices for category.category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "laboratory"
    }
  ]
}
Observation.Slices for category.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)
Observation.Slices for category.category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
Observation.code This element is included in summaries. 1..1 ChElmCodeableConcept Type of observation (code / type)
Binding: CH ELM Results Laboratory Observation Complete (extensible)
Observation.subject This element is included in summaries. 1..1 Reference(CH ELM Patient) Who and/or what the observation is about
Observation.subject.reference This element is included in summaries. C 1..1 string Literal reference, Relative, internal or absolute URL
Observation.Slices for effective[x] This element is included in summaries. 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for effective[x].effective[x]:All Slices Content/Rules for all slices
Observation.Slices for effective[x].effective[x]:All Slices.Slices for extension Content/Rules for all slices
Observation.Slices for effective[x].effective[x]:All Slices.Slices for extension.extension:data-absent-reason 0..1 code effective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required): Used to specify why the normally expected content of the data element is missing.
Observation.Slices for effective[x].effective[x]:effectiveDateTime This element is included in summaries. C 1..1 dateTime Clinically relevant time/time-period for observation
Constraints: ch-elm-dateTime
Observation.Slices for effective[x].effective[x]:effectiveDateTime.Slices for extension Content/Rules for all slices
Observation.Slices for effective[x].effective[x]:effectiveDateTime.Slices for extension.extension:data-absent-reason 0..1 code effective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required): Used to specify why the normally expected content of the data element is missing.
Observation.performer This element is included in summaries. 1..1 Reference(CH ELM Organization: Lab) Who is responsible for the observation
Observation.performer.Slices for extension Content/Rules for all slices
Observation.performer.Slices for extension.extension:performerFunction 0..1 CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
Observation.Slices for value[x] This element is included in summaries. C 0..1 Actual result
Slice: Unordered, Closed by type:$this
Observation.Slices for value[x].valueString string
Observation.Slices for value[x].valueRatio Ratio
Observation.Slices for value[x].valueQuantity Quantity
Observation.Slices for value[x].valueCodeableConcept CodeableConcept
Observation.Slices for value[x].value[x]:valueString This element is included in summaries. C 0..1 string String if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueRatio This element is included in summaries. C 0..1 RatioEuLab The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Ratio if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueQuantity This element is included in summaries. C 0..1 QuantityEuLab The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Quantity if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueCodeableConcept This element is included in summaries. 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)
Observation.Slices for value[x].value[x]:valueBoolean This element is included in summaries. C 0..1 boolean Actual result
Observation.Slices for value[x].value[x]:valueRange This element is included in summaries. C 0..1 RangeIPS The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Actual result
Observation.Slices for value[x].value[x]:valueTime This element is included in summaries. C 0..1 time Actual result
Observation.Slices for value[x].value[x]:valueDateTime This element is included in summaries. C 0..1 dateTime Actual result
Observation.Slices for value[x].value[x]:valuePeriod This element is included in summaries. C 0..1 Period Actual result
Observation.dataAbsentReason C 0..1 CodeableConcept see also 'Guidance - Laboratory Result'
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.interpretation 0..1 ChElmCodeableConcept see also 'Guidance - Laboratory Result'
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.specimen 1..1 Reference(CH ELM Specimen: Laboratory) Specimen used for this observation

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:laboratory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:studyType Base required Laboratory Study Types 📦0.1.1 HL7 Europe Laboratory Report v0.1
Observation.category:specialty Base required Laboratory Specialty 📦0.1.1 HL7 Europe Laboratory Report v0.1
Observation.code Base extensible CH ELM Results Laboratory Observation Complete 📦1.16.0 This IG
Observation.value[x]:valueCodeableConcept Base preferred CH ELM Results Coded Values Laboratory 📦1.16.0 This IG
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ch-elm-dateTime error Observation.effective[x]:effectiveDateTime At least the format YYYY-MM-DD is required. $this.toString().length() >= 10
ch-elm-expecting-specimen-specification error Observation 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 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-loinc error Observation 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 '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-snomedct error Observation 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 '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-loinc error Observation 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 '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-loinc error Observation 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. '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-snomedct error Observation 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. '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-snomedct error Observation 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 '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-2 error Observation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Observation If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Observation If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Observation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Observation A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
eu-lab-1 error Observation If 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-2 error Observation 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" component.exists() implies (status in ('registered'|'cancelled')) or component.value.exists() or component.dataAbsentReason.exists()
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
obs-6 error Observation dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If 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()

Differential View

This structure is derived from ChLabObservationResultsLaboratory

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* ChLabObservationResultsLaboratory CH ELM Observation Results: Laboratory
This profile also imposes the profile Observation Results: laboratory
Constraints: ch-elm-expecting-specimen-specification, ch-elm-patient-name-representation-initial-loinc, ch-elm-patient-name-representation-initial-snomedct, ch-elm-patient-name-representation-initial-or-vctcode-loinc, ch-elm-patient-name-representation-initial-or-vctcode-snomedct, ch-elm-patient-name-representation-hiv-code-loinc, ch-elm-patient-name-representation-hiv-code-snomedct
Observation.status 1..1 code Status of this observation (e.g. preliminary, final,...)
Required Pattern: final (extensions allowed)
Observation.code 1..1 ChElmCodeableConcept Type of observation (code / type)
Binding: CH ELM Results Laboratory Observation Complete (extensible)
Observation.subject 1..1 Reference(CH ELM Patient) Who and/or what the observation is about
Observation.Slices for effective[x] 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for effective[x].effective[x]:effectiveDateTime C 1..1 dateTime Clinically relevant time/time-period for observation
Constraints: ch-elm-dateTime
Observation.performer 1..1 Reference(CH ELM Organization: Lab) Who is responsible for the observation
Observation.Slices for value[x] Content/Rules for all slices
Observation.Slices for value[x].value[x]:valueString 0..1 string String if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueRatio 0..1 RatioEuLab Ratio if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueQuantity 0..1 QuantityEuLab Quantity if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueCodeableConcept 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)
Observation.dataAbsentReason 0..1 CodeableConcept see also 'Guidance - Laboratory Result'
Observation.interpretation 0..1 ChElmCodeableConcept see also 'Guidance - Laboratory Result'
Observation.specimen 1..1 Reference(CH ELM Specimen: Laboratory) Specimen used for this observation

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Observation.code Base extensible CH ELM Results Laboratory Observation Complete 📦1.16.0 This IG
Observation.value[x]:valueCodeableConcept Base preferred CH ELM Results Coded Values Laboratory 📦1.16.0 This IG

Constraints

Id Grade Path(s) Description Expression
ch-elm-dateTime error Observation.effective[x]:effectiveDateTime At least the format YYYY-MM-DD is required. $this.toString().length() >= 10
ch-elm-expecting-specimen-specification error Observation 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 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-loinc error Observation 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 '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-snomedct error Observation 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 '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-loinc error Observation 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 '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-loinc error Observation 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. '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-snomedct error Observation 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. '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-snomedct error Observation 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 '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')))

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* ChLabObservationResultsLaboratory CH ELM Observation Results: Laboratory
This profile also imposes the profile Observation Results: laboratory
Constraints: obs-6, obs-7, eu-lab-1, eu-lab-2, ch-elm-expecting-specimen-specification, ch-elm-patient-name-representation-initial-loinc, ch-elm-patient-name-representation-initial-snomedct, ch-elm-patient-name-representation-initial-or-vctcode-loinc, ch-elm-patient-name-representation-initial-or-vctcode-snomedct, ch-elm-patient-name-representation-hiv-code-loinc, ch-elm-patient-name-representation-hiv-code-snomedct
Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
Observation.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Observation.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
Observation.contained 0..* Resource Contained, inline Resources
Observation.Slices for extension 0..* Extension Laboratory Test Kit
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:supportingInfo 0..* Reference(Resource) Other information that may be relevant to this event.
URL: http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo
Observation.Slices for extension.extension:triggeredBy-r5 0..* (Complex) Optional Extensions Element
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy
Observation.Slices for extension.extension:triggeredBy-r5.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension Content/Rules for all slices
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation 0..* Extension Triggering observation.
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.url 1..1 uri "observation"
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:observation.value[x] 1..1 Reference(Observation) Value of extension
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type 0..* Extension The type of trigger
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.url 1..1 uri "type"
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:type.value[x] 1..1 code Value of extension
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason 0..* Extension Extension
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.url 1..1 uri "reason"
Observation.Slices for extension.extension:triggeredBy-r5.Slices for extension.extension:reason.value[x] 1..1 string Value of extension
Observation.Slices for extension.extension:triggeredBy-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy"
Observation.Slices for extension.extension:certifiedRefMaterialCodeable 0..* CodeableConcept Certified Reference Material: CodeableConcept
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialCodeable
Binding: Laboratory Certified Reference Material (example)
Observation.Slices for extension.extension:certifiedRefMaterialIdentifer 0..* Identifier Certified Reference Material: Identifier
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-certifiedRefMaterialIdentifer
Observation.Slices for extension.extension:labTestKit 0..* Reference(Device) Device Laboratory Test Kit
URL: http://hl7.eu/fhir/laboratory/StructureDefinition/observation-deviceLabTestKit
Observation.Slices for extension.extension:value-r5 0..1 (Complex) only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]
Observation.Slices for extension.extension:value-r5.id 0..1 string Unique id for inter-element referencing
Observation.Slices for extension.extension:value-r5.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.Slices for extension.extension:value-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]"
Observation.Slices for extension.extension:value-r5.value[x] 1..1 Attachment Value of extension
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.identifier This element is included in summaries. 0..* Identifier Business Identifier for observation
Observation.basedOn This element is included in summaries. 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
Observation.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code Status of this observation (e.g. preliminary, final,...)
Binding: ObservationStatus (required): Codes providing the status of an observation.
Required Pattern: final (extensions allowed)
Observation.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.
Observation.Slices for category.category:laboratory 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "laboratory"
    }
  ]
}
Observation.Slices for category.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)
Observation.Slices for category.category:specialty 0..* CodeableConcept The clinical domain of the laboratory performing the observation (e.g. microbiology, toxicology, chemistry)
Binding: Laboratory Specialty (required)
Observation.code This element is included in summaries. 1..1 ChElmCodeableConcept Type of observation (code / type)
Binding: CH ELM Results Laboratory Observation Complete (extensible)
Observation.subject This element is included in summaries. 1..1 Reference(CH ELM Patient) Who and/or what the observation is about
Observation.subject.id 0..1 string Unique id for inter-element referencing
Observation.subject.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.subject.reference This element is included in summaries. C 1..1 string Literal reference, Relative, internal or absolute URL
Observation.subject.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Observation.subject.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
Observation.subject.display This element is included in summaries. 0..1 string Text alternative for the resource
Observation.focus This element is included in summaries. 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
Observation.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this observation is made
Observation.Slices for effective[x] This element is included in summaries. 1..1 dateTime Clinically relevant time/time-period for observation
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Observation.Slices for effective[x].effective[x]:All Slices Content/Rules for all slices
Observation.Slices for effective[x].effective[x]:All Slices.id 0..1 string Unique id for inter-element referencing
Observation.Slices for effective[x].effective[x]:All Slices.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for effective[x].effective[x]:All Slices.Slices for extension.extension:data-absent-reason 0..1 code effective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required): Used to specify why the normally expected content of the data element is missing.
Observation.Slices for effective[x].effective[x]:effectiveDateTime This element is included in summaries. C 1..1 dateTime Clinically relevant time/time-period for observation
Constraints: ch-elm-dateTime
Observation.Slices for effective[x].effective[x]:effectiveDateTime.id 0..1 string Unique id for inter-element referencing
Observation.Slices for effective[x].effective[x]:effectiveDateTime.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.Slices for effective[x].effective[x]:effectiveDateTime.Slices for extension Content/Rules for all slices
Observation.Slices for effective[x].effective[x]:effectiveDateTime.Slices for extension.extension:data-absent-reason 0..1 code effective[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required): Used to specify why the normally expected content of the data element is missing.
Observation.issued This element is included in summaries. 0..1 instant Date/Time this result was made available
Observation.performer This element is included in summaries. 1..1 Reference(CH ELM Organization: Lab) Who is responsible for the observation
Observation.performer.id 0..1 string Unique id for inter-element referencing
Observation.performer.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Observation.performer.Slices for extension.extension:performerFunction 0..1 CodeableConcept Type of performance
URL: http://hl7.org/fhir/StructureDefinition/event-performerFunction
Binding: Performer Function Codes (extensible)
Observation.performer.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Observation.performer.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Observation.performer.identifier This element is included in summaries. 0..1 Identifier Logical reference, when literal reference is not known
Observation.performer.display This element is included in summaries. 0..1 string Text alternative for the resource
Observation.Slices for value[x] This element is included in summaries. C 0..1 Actual result
Slice: Unordered, Closed by type:$this
Observation.Slices for value[x].valueString string
Observation.Slices for value[x].valueRatio Ratio
Observation.Slices for value[x].valueQuantity Quantity
Observation.Slices for value[x].valueCodeableConcept CodeableConcept
Observation.Slices for value[x].value[x]:valueString This element is included in summaries. C 0..1 string String if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueRatio This element is included in summaries. C 0..1 RatioEuLab The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Ratio if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueQuantity This element is included in summaries. C 0..1 QuantityEuLab The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Quantity if required by leading code, see also 'Guidance - Laboratory Result'
Observation.Slices for value[x].value[x]:valueCodeableConcept This element is included in summaries. 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)
Observation.Slices for value[x].value[x]:valueBoolean This element is included in summaries. C 0..1 boolean Actual result
Observation.Slices for value[x].value[x]:valueRange This element is included in summaries. C 0..1 RangeIPS The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Actual result
Observation.Slices for value[x].value[x]:valueTime This element is included in summaries. C 0..1 time Actual result
Observation.Slices for value[x].value[x]:valueDateTime This element is included in summaries. C 0..1 dateTime Actual result
Observation.Slices for value[x].value[x]:valuePeriod This element is included in summaries. C 0..1 Period Actual result
Observation.dataAbsentReason C 0..1 CodeableConcept see also 'Guidance - Laboratory Result'
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.interpretation 0..1 ChElmCodeableConcept see also 'Guidance - Laboratory Result'
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.note 0..* Annotation Comments about the observation
Observation.bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
Observation.method 0..1 CodeableConcept How it was done
Binding: Laboratory Techniques (preferred)
Observation.specimen 1..1 Reference(CH ELM Specimen: Laboratory) Specimen used for this observation
Observation.device 0..1 Reference(Device | DeviceMetric) Measuring instrument
Observation.referenceRange C 0..* BackboneElement Provides guide for interpretation
Constraints: obs-3
Observation.referenceRange.id 0..1 string Unique id for inter-element referencing
Observation.referenceRange.extension 0..* Extension Additional content defined by implementations
Observation.referenceRange.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.referenceRange.low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
Constraints: sqty-1
Observation.referenceRange.high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
Constraints: sqty-1
Observation.referenceRange.type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
Observation.referenceRange.appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
Observation.referenceRange.age 0..1 Range Applicable age range, if relevant
Observation.referenceRange.text 0..1 string Text based reference range in an observation
Observation.hasMember This element is included in summaries. 0..* Reference(CH LAB-Report Observation Results: Laboratory Report) Related resource that belongs to the Observation group
Observation.derivedFrom This element is included in summaries. 0..* Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) Related measurements the observation is made from
Observation.component This element is included in summaries. 0..* BackboneElement Laboratory result
Observation.component.id 0..1 string Unique id for inter-element referencing
Observation.component.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Observation.component.Slices for extension.extension:value-r5 0..1 (Complex) only for result of type Attachment
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]
Observation.component.Slices for extension.extension:value-r5.id 0..1 string Unique id for inter-element referencing
Observation.component.Slices for extension.extension:value-r5.extension 0..0 Extension
Slice: Unordered, Open by value:url
Observation.component.Slices for extension.extension:value-r5.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.value[x]"
Observation.component.Slices for extension.extension:value-r5.value[x] 1..1 Attachment Value of extension
Observation.component.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.component.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Observation.component.Slices for value[x] This element is included in summaries. 0..1 Actual component result
Slice: Unordered, Open by type:$this
Observation.component.Slices for value[x].valueQuantity Quantity
Observation.component.Slices for value[x].valueCodeableConcept CodeableConcept
Observation.component.Slices for value[x].valueString string
Observation.component.Slices for value[x].valueBoolean boolean
Observation.component.Slices for value[x].valueInteger integer
Observation.component.Slices for value[x].valueRange Range
Observation.component.Slices for value[x].valueRatio Ratio
Observation.component.Slices for value[x].valueSampledData SampledData
Observation.component.Slices for value[x].valueTime time
Observation.component.Slices for value[x].valueDateTime dateTime
Observation.component.Slices for value[x].valuePeriod Period
Observation.component.Slices for value[x].value[x]:valueString This element is included in summaries. 0..1 string Actual component result
Observation.component.Slices for value[x].value[x]:valueBoolean This element is included in summaries. 0..1 boolean Actual component result
Observation.component.Slices for value[x].value[x]:valueRange This element is included in summaries. 0..1 RangeIPS The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Actual component result
Observation.component.Slices for value[x].value[x]:valueRatio This element is included in summaries. 0..1 RatioEuLab The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Actual component result
Observation.component.Slices for value[x].value[x]:valueTime This element is included in summaries. 0..1 time Actual component result
Observation.component.Slices for value[x].value[x]:valueDateTime This element is included in summaries. 0..1 dateTime Actual component result
Observation.component.Slices for value[x].value[x]:valuePeriod This element is included in summaries. 0..1 Period Actual component result
Observation.component.Slices for value[x].value[x]:valueQuantity This element is included in summaries. 0..1 QuantityEuLab The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Actual component result
Observation.component.Slices for value[x].value[x]:valueCodeableConcept This element is included in summaries. 0..1 CodeableConceptIPS(2.0.0) The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Actual component result
Binding: Results Coded Values Laboratory - IPS (preferred)
Observation.component.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.component.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.component.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:laboratory Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:studyType Base required Laboratory Study Types 📦0.1.1 HL7 Europe Laboratory Report v0.1
Observation.category:specialty Base required Laboratory Specialty 📦0.1.1 HL7 Europe Laboratory Report v0.1
Observation.code Base extensible CH ELM Results Laboratory Observation Complete 📦1.16.0 This IG
Observation.subject.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Observation.performer.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Observation.value[x]:valueCodeableConcept Base preferred CH ELM Results Coded Values Laboratory 📦1.16.0 This IG
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Observation.method Base preferred Laboratory Techniques 📦0.1.1 HL7 Europe Laboratory Report v0.1
Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍4.0.1 FHIR Std.
Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍4.0.1 FHIR Std.
Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component.​value[x]:valueCodeableConcept Base preferred Results Coded Values Laboratory - IPS 📦1.1.0 International Patient Summary Implementation Guide v1.1
Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ch-elm-dateTime error Observation.effective[x]:effectiveDateTime At least the format YYYY-MM-DD is required. $this.toString().length() >= 10
ch-elm-expecting-specimen-specification error Observation 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 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-loinc error Observation 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 '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-snomedct error Observation 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 '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-loinc error Observation 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 '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-loinc error Observation 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. '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-snomedct error Observation 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. '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-snomedct error Observation 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 '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-2 error Observation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Observation If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Observation If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Observation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Observation A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
eu-lab-1 error Observation If 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-2 error Observation 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" component.exists() implies (status in ('registered'|'cancelled')) or component.value.exists() or component.dataAbsentReason.exists()
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
obs-3 error Observation.referenceRange Must have at least a low or a high or text low.exists() or high.exists() or text.exists()
obs-6 error Observation dataAbsentReason SHALL only be present if Observation.value[x] is not present dataAbsentReason.empty() or value.empty()
obs-7 error Observation If 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()
sqty-1 error Observation.referenceRange.low, Observation.referenceRange.high The comparator is not used on a SimpleQuantity comparator.empty()

 

Other representations of profile: CSV, Excel, Schematron