CH ELM (R4)
1.9.1 - release Switzerland flag

This page is part of the Observations of notifiable communicable infectious diseases (v1.9.1: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: CH ELM Document: Laboratory Report

Official URL: http://fhir.ch/ig/ch-elm/StructureDefinition/ch-elm-document Version: 1.9.1
Active as of 2025-03-26 Computable Name: ChElmDocument

Copyright/Legal: CC0-1.0

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

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C 0..* ChLabReportDocument CH ELM Document: Laboratory Report
This profile also imposes the profile Bundle: Laboratory Report
bdl-1: total only when a search or history
bdl-2: entry.search only when a search
bdl-3: entry.request mandatory for batch/transaction/history, otherwise prohibited
bdl-4: entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
bdl-9: A document must have an identifier with a system and a value
bdl-10: A document must have a date
bdl-11: A document must have a Composition as the first resource
bdl-12: A message must have a MessageHeader as the first resource
ch-elm-leading-code: The ServiceRequest.code and the Observation.code are in general equal.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... identifier Σ 1..1 Identifier Persistent, unique identifier for the diagnostic report (UUID)
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... system Σ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Required Pattern: urn:ietf:rfc:3986
.... value ΣC 1..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
ch-elm-doc-identifier: The identifier must be an UUID.
Example General: 123456
Example CH ELM: urn:uuid:d494503a-7bef-4551-853c-f3dced2c518f
... type Σ 1..1 code document
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.


ele-1: All FHIR elements must have a @value or children
Fixed Value: document
... Slices for entry ΣC 8..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... entry:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... fullUrl ΣC 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
ele-1: All FHIR elements must have a @value or children
ch-core-doc-1: The fullUrl must be an absolute URL server address or an UUID
.... entry:Composition ΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... resource 1..1 ChElmComposition CH ELM Composition: Laboratory Report
.... entry:Patient ΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... resource 1..1 ChElmPatient CH ELM Patient
.... entry:Practitioner ΣC 0..1 BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... resource 1..1 ChElmPractitionerOrderer CH ELM Practitioner: Orderer
.... entry:PractitionerRole ΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... resource 1..1 ChElmPractitionerRoleOrderer CH ELM PractitionerRole: Orderer
.... entry:Organization ΣC 1..3 BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... resource 1..1 CHCoreOrganization CH Core Organization
.... entry:RelatedPerson ΣC 0..* BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... resource 1..1 RelatedPerson A person that is related to a patient, but who is not a direct target of care
.... entry:Device ΣC 0..* BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... resource 1..1 Device Item used in healthcare
.... entry:Encounter ΣC 0..* BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... resource 1..1 CHCoreEncounter CH Core Encounter
.... entry:Location ΣC 0..* BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... resource 1..1 CHCoreLocation CH Core Location
.... entry:DiagnosticReport ΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... fullUrl ΣC 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
ele-1: All FHIR elements must have a @value or children
ch-core-doc-1: The fullUrl must be an absolute URL server address or an UUID
..... resource 1..1 ChElmDiagnosticReport CH ELM DiagnosticReport: Laboratory Report
.... entry:Observation ΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... fullUrl ΣC 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
ele-1: All FHIR elements must have a @value or children
ch-core-doc-1: The fullUrl must be an absolute URL server address or an UUID
..... resource 1..1 ChElmObservationResultsLaboratory CH ELM Observation Results: Laboratory
.... entry:Specimen ΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... fullUrl ΣC 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
ele-1: All FHIR elements must have a @value or children
ch-core-doc-1: The fullUrl must be an absolute URL server address or an UUID
..... resource 1..1 ChElmSpecimen CH Lab Specimen: Laboratory
.... entry:ServiceRequest ΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
ele-1: All FHIR elements must have a @value or children
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... fullUrl ΣC 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
ele-1: All FHIR elements must have a @value or children
ch-core-doc-1: The fullUrl must be an absolute URL server address or an UUID
..... resource 1..1 ChElmServiceRequestLaboratoryOrder CH ELM ServiceRequest: Laboratory Order

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Bundle.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Bundle.typerequiredFixed Value: document
http://hl7.org/fhir/ValueSet/bundle-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
bdl-1errorBundletotal only when a search or history
: total.empty() or (type = 'searchset') or (type = 'history')
bdl-2errorBundleentry.search only when a search
: entry.search.empty() or (type = 'searchset')
bdl-3errorBundleentry.request mandatory for batch/transaction/history, otherwise prohibited
: entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
bdl-4errorBundleentry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
: entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))
bdl-5errorBundle.entry, Bundle.entry:Composition, Bundle.entry:Patient, Bundle.entry:Practitioner, Bundle.entry:PractitionerRole, Bundle.entry:Organization, Bundle.entry:RelatedPerson, Bundle.entry:Device, Bundle.entry:Encounter, Bundle.entry:Location, Bundle.entry:DiagnosticReport, Bundle.entry:Observation, Bundle.entry:Specimen, Bundle.entry:ServiceRequestmust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
bdl-7errorBundleFullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
: (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
bdl-8errorBundle.entry, Bundle.entry:Composition, Bundle.entry:Patient, Bundle.entry:Practitioner, Bundle.entry:PractitionerRole, Bundle.entry:Organization, Bundle.entry:RelatedPerson, Bundle.entry:Device, Bundle.entry:Encounter, Bundle.entry:Location, Bundle.entry:DiagnosticReport, Bundle.entry:Observation, Bundle.entry:Specimen, Bundle.entry:ServiceRequestfullUrl cannot be a version specific reference
: fullUrl.contains('/_history/').not()
bdl-9errorBundleA document must have an identifier with a system and a value
: type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10errorBundleA document must have a date
: type = 'document' implies (timestamp.hasValue())
bdl-11errorBundleA document must have a Composition as the first resource
: type = 'document' implies entry.first().resource.is(Composition)
bdl-12errorBundleA message must have a MessageHeader as the first resource
: type = 'message' implies entry.first().resource.is(MessageHeader)
ch-core-doc-1errorBundle.entry.fullUrl, Bundle.entry:DiagnosticReport.fullUrl, Bundle.entry:Observation.fullUrl, Bundle.entry:Specimen.fullUrl, Bundle.entry:ServiceRequest.fullUrlThe fullUrl must be an absolute URL server address or an UUID
: startsWith('http') or startsWith('urn:uuid:') = true
ch-elm-doc-identifiererrorBundle.identifier.valueThe identifier must be an UUID.
: startsWith('urn:uuid:')
ch-elm-leading-codewarningBundleThe ServiceRequest.code and the Observation.code are in general equal.
: entry.resource.ofType(ServiceRequest).code = entry.resource.ofType(Observation).code
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron