CH ELM (R4)
1.2.0 - release Switzerland flag

This page is part of the Observations of notifiable communicable infectious diseases (v1.2.0: 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.2.0
Active as of 2024-03-28 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.

This structure is derived from ChLabReportDocument

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*ChLabReportDocumentCH ELM Document: Laboratory Report
ch-elm-leading-code: The ServiceRequest.code and the Observation.code are in general equal.
... identifier 1..1IdentifierPersistent, unique identifier for the diagnostic report (UUID)
.... system 1..1uriThe namespace for the identifier value
Required Pattern: urn:ietf:rfc:3986
.... value C1..1stringThe value that is unique
ch-elm-doc-identifier: The identifier must be an UUID.
Example CH ELM: urn:uuid:d494503a-7bef-4551-853c-f3dced2c518f
... entry 8..*BackboneElementEntry in the bundle - will have a resource or information
... entry:Composition 1..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmCompositionCH ELM Composition: Laboratory Report
.... resource 1..1ChElmPatientCH ELM Patient
... entry:Practitioner 0..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmPractitionerOrdererCH ELM Practitioner: Orderer
... entry:PractitionerRole 1..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmPractitionerRoleOrdererCH ELM PractitionerRole: Orderer
... entry:Organization 1..3BackboneElementEntry in the bundle - will have a resource or information
... entry:DiagnosticReport 1..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmDiagnosticReportCH ELM DiagnosticReport: Laboratory Report
... entry:Observation 1..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmObservationResultsLaboratoryCH ELM Observation Results: Laboratory
... entry:Specimen 1..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmSpecimenCH Lab Specimen: Laboratory
... entry:ServiceRequest 1..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmServiceRequestLaboratoryOrderCH ELM ServiceRequest: Laboratory Order

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
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
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*ChLabReportDocumentCH ELM Document: Laboratory Report
ch-elm-leading-code: The ServiceRequest.code and the Observation.code are in general equal.
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... identifier Σ1..1IdentifierPersistent, unique identifier for the diagnostic report (UUID)
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... system Σ1..1uriThe namespace for the identifier value
Required Pattern: urn:ietf:rfc:3986
.... value ΣC1..1stringThe value that is unique
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..1codedocument
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.


Fixed Value: document
... Slices for entry ΣC8..*BackboneElementEntry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
.... entry:Composition ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource C1..1ChElmCompositionCH ELM Composition: Laboratory Report
.... entry:Patient ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource C1..1ChElmPatientCH ELM Patient
.... entry:Practitioner ΣC0..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource C1..1ChElmPractitionerOrdererCH ELM Practitioner: Orderer
.... entry:PractitionerRole ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource C1..1ChElmPractitionerRoleOrdererCH ELM PractitionerRole: Orderer
.... entry:Organization ΣC1..3BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource C1..1CHCoreOrganizationCH Core Organization
.... entry:RelatedPerson ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource 1..1RelatedPersonA person that is related to a patient, but who is not a direct target of care
.... entry:Device ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource 1..1DeviceItem used in healthcare
.... entry:Encounter ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource 1..1CHCoreEncounterCH Core Encounter
.... entry:Location ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource 1..1CHCoreLocationCH Core Location
.... entry:DiagnosticReport ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmDiagnosticReportCH ELM DiagnosticReport: Laboratory Report
.... entry:Observation ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmObservationResultsLaboratoryCH ELM Observation Results: Laboratory
.... entry:Specimen ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmSpecimenCH Lab Specimen: Laboratory
.... entry:ServiceRequest ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmServiceRequestLaboratoryOrderCH 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-expecting-organism-specificationerrorBundle.entry:Observation.resourceIf Observation.code is a member of http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-organism-specification, then Observation.valueCodeableConcept must be a member of the mapped ValueSet in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-organism-specification-to-results-completion-vs
: code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-organism-specification') implies (value.exists() and (value as CodeableConcept).exists() and (value as CodeableConcept).memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-organism-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-expecting-specimen-specificationerrorBundle.entry:Observation.resourceIf 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-interpretation-code-loincerrorBundle.entry:Observation.resourceIf Observation.code is a mapped in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code', then the interpretation code must be a member of the mapped ValueSet
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).exists() implies interpretation.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.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-interpretation-code-snomedcterrorBundle.entry:Observation.resourceIf Observation.code is a mapped in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code', then the interpretation code must be a member of the mapped ValueSet
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.resolve().group.where(source='http://snomed.info/sct').element.where(code=%context.code.coding.where(system='http://snomed.info/sct').first().code).exists() implies interpretation.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.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)
ch-elm-leading-codewarningBundleThe ServiceRequest.code and the Observation.code are in general equal.
: entry.resource.ofType(ServiceRequest).code = entry.resource.ofType(Observation).code
ch-elm-practroleerrorBundle.entry:PractitionerRole.resourceMust have at least a practitioner or an organization. Practitioner or organization must have at least a postalCode and a city defined.
: (practitioner.exists() and practitioner.resolve().address.city.exists() and practitioner.resolve().address.postalCode.exists()) or (organization.exists() and organization.resolve().address.city.exists() and organization.resolve().address.postalCode.exists())
ch-elm-practrole-organizaton-name-existserrorBundle.entry:PractitionerRole.resourceMust provide an organization name in case there is no practitioner.
: practitioner.exists().not() implies (organization.exists() and organization.resolve().name.exists())
ch-lab-bdl1warningBundleThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Bundle-eu-lab')
ch-lab-comp1warningBundle.entry:Composition.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Composition-eu-lab')
ch-lab-dr1warningBundle.entry:DiagnosticReport.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/DiagnosticReport-eu-lab')
ch-lab-obs1warningBundle.entry:Observation.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab')
ch-lab-pat1warningBundle.entry:Patient.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Patient-eu-lab')
ch-lab-pr1warningBundle.entry:PractitionerRole.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/PractitionerRole-eu-lab')
ch-lab-pract1warningBundle.entry:Practitioner.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Practitioner-eu-lab')
ch-lab-spe1warningBundle.entry:Specimen.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Specimen-eu-lab')
ch-lab-sr1warningBundle.entry:ServiceRequest.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/ServiceRequest-eu-lab')
ch-pat-1errorBundle.entry:Patient.resourceAt least one HumanName with given and family name must be provided.
: name.where(family.exists() and given.exists()).count()>0 or name.empty()
ch-pat-2warningBundle.entry:Patient.resourcegender unknown is currently not used in Switzerland in eCH and the EPR
: gender.empty() or gender!='unknown'
ch-pract-1errorBundle.entry:Practitioner.resourceIf a HumanName is provided, at least one HumanName must have a given and family name.
: name.where(family.exists() and given.exists()).count()>0 or name.empty()
ch-pract-2warningBundle.entry:Practitioner.resourcegender unknown is currently not used in Switzerland in eCH and the EPR
: gender.empty() or gender!='unknown'
code-or-basedOn-requirederrorBundle.entry:ServiceRequest.resourcemust have a code for what is beeing requested, or a basedOn element
: code.exists() or basedOn.exists()
dom-2errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf 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-4errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf 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-5errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorBundle.entry:Observation.resourcedataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorBundle.entry:Observation.resourceIf 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()
org-1errorBundle.entry:Organization.resourceThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
prr-1errorBundle.entry:ServiceRequest.resourceorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*ChLabReportDocumentCH ELM Document: Laboratory Report
ch-elm-leading-code: The ServiceRequest.code and the Observation.code are in general equal.
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... identifier Σ1..1IdentifierPersistent, unique identifier for the diagnostic report (UUID)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ1..1uriThe namespace for the identifier value
Required Pattern: urn:ietf:rfc:3986
.... value ΣC1..1stringThe value that is unique
ch-elm-doc-identifier: The identifier must be an UUID.
Example General: 123456
Example CH ELM: urn:uuid:d494503a-7bef-4551-853c-f3dced2c518f
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... type Σ1..1codedocument
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.


Fixed Value: document
... timestamp Σ1..1instantWhen the bundle was assembled
... total ΣC0..1unsignedIntIf search, the total number of matches
... link Σ0..*BackboneElementLinks related to this Bundle
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relation Σ1..1stringSee http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.... url Σ1..1uriReference details for the link
... Slices for entry ΣC8..*BackboneElementEntry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ0..1ResourceA resource in the bundle
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Composition ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmCompositionCH ELM Composition: Laboratory Report
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Patient ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmPatientCH ELM Patient
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Practitioner ΣC0..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmPractitionerOrdererCH ELM Practitioner: Orderer
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:PractitionerRole ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmPractitionerRoleOrdererCH ELM PractitionerRole: Orderer
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Organization ΣC1..3BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1CHCoreOrganizationCH Core Organization
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:RelatedPerson ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1RelatedPersonA person that is related to a patient, but who is not a direct target of care
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Device ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1DeviceItem used in healthcare
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Encounter ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1CHCoreEncounterCH Core Encounter
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Location ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1CHCoreLocationCH Core Location
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:DiagnosticReport ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmDiagnosticReportCH ELM DiagnosticReport: Laboratory Report
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Observation ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmObservationResultsLaboratoryCH ELM Observation Results: Laboratory
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Specimen ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmSpecimenCH Lab Specimen: Laboratory
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:ServiceRequest ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmServiceRequestLaboratoryOrderCH ELM ServiceRequest: Laboratory Order
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
... signature Σ0..1SignatureDigital Signature

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Bundle.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Bundle.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Bundle.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Bundle.typerequiredFixed Value: document
http://hl7.org/fhir/ValueSet/bundle-type|4.0.1
from the FHIR Standard
Bundle.entry.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Composition.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Composition.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Patient.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Patient.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Practitioner.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Practitioner.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:PractitionerRole.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:PractitionerRole.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Organization.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Organization.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:RelatedPerson.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:RelatedPerson.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Device.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Device.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Encounter.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Encounter.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Location.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Location.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:DiagnosticReport.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:DiagnosticReport.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Observation.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Observation.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Specimen.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Specimen.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:ServiceRequest.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:ServiceRequest.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|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-expecting-organism-specificationerrorBundle.entry:Observation.resourceIf Observation.code is a member of http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-organism-specification, then Observation.valueCodeableConcept must be a member of the mapped ValueSet in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-organism-specification-to-results-completion-vs
: code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-organism-specification') implies (value.exists() and (value as CodeableConcept).exists() and (value as CodeableConcept).memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-organism-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-expecting-specimen-specificationerrorBundle.entry:Observation.resourceIf 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-interpretation-code-loincerrorBundle.entry:Observation.resourceIf Observation.code is a mapped in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code', then the interpretation code must be a member of the mapped ValueSet
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).exists() implies interpretation.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.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-interpretation-code-snomedcterrorBundle.entry:Observation.resourceIf Observation.code is a mapped in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code', then the interpretation code must be a member of the mapped ValueSet
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.resolve().group.where(source='http://snomed.info/sct').element.where(code=%context.code.coding.where(system='http://snomed.info/sct').first().code).exists() implies interpretation.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.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)
ch-elm-leading-codewarningBundleThe ServiceRequest.code and the Observation.code are in general equal.
: entry.resource.ofType(ServiceRequest).code = entry.resource.ofType(Observation).code
ch-elm-practroleerrorBundle.entry:PractitionerRole.resourceMust have at least a practitioner or an organization. Practitioner or organization must have at least a postalCode and a city defined.
: (practitioner.exists() and practitioner.resolve().address.city.exists() and practitioner.resolve().address.postalCode.exists()) or (organization.exists() and organization.resolve().address.city.exists() and organization.resolve().address.postalCode.exists())
ch-elm-practrole-organizaton-name-existserrorBundle.entry:PractitionerRole.resourceMust provide an organization name in case there is no practitioner.
: practitioner.exists().not() implies (organization.exists() and organization.resolve().name.exists())
ch-lab-bdl1warningBundleThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Bundle-eu-lab')
ch-lab-comp1warningBundle.entry:Composition.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Composition-eu-lab')
ch-lab-dr1warningBundle.entry:DiagnosticReport.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/DiagnosticReport-eu-lab')
ch-lab-obs1warningBundle.entry:Observation.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab')
ch-lab-pat1warningBundle.entry:Patient.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Patient-eu-lab')
ch-lab-pr1warningBundle.entry:PractitionerRole.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/PractitionerRole-eu-lab')
ch-lab-pract1warningBundle.entry:Practitioner.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Practitioner-eu-lab')
ch-lab-spe1warningBundle.entry:Specimen.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Specimen-eu-lab')
ch-lab-sr1warningBundle.entry:ServiceRequest.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/ServiceRequest-eu-lab')
ch-pat-1errorBundle.entry:Patient.resourceAt least one HumanName with given and family name must be provided.
: name.where(family.exists() and given.exists()).count()>0 or name.empty()
ch-pat-2warningBundle.entry:Patient.resourcegender unknown is currently not used in Switzerland in eCH and the EPR
: gender.empty() or gender!='unknown'
ch-pract-1errorBundle.entry:Practitioner.resourceIf a HumanName is provided, at least one HumanName must have a given and family name.
: name.where(family.exists() and given.exists()).count()>0 or name.empty()
ch-pract-2warningBundle.entry:Practitioner.resourcegender unknown is currently not used in Switzerland in eCH and the EPR
: gender.empty() or gender!='unknown'
code-or-basedOn-requirederrorBundle.entry:ServiceRequest.resourcemust have a code for what is beeing requested, or a basedOn element
: code.exists() or basedOn.exists()
dom-2errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf 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-4errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf 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-5errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorBundle.entry:Observation.resourcedataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorBundle.entry:Observation.resourceIf 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()
org-1errorBundle.entry:Organization.resourceThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
prr-1errorBundle.entry:ServiceRequest.resourceorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

Differential View

This structure is derived from ChLabReportDocument

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*ChLabReportDocumentCH ELM Document: Laboratory Report
ch-elm-leading-code: The ServiceRequest.code and the Observation.code are in general equal.
... identifier 1..1IdentifierPersistent, unique identifier for the diagnostic report (UUID)
.... system 1..1uriThe namespace for the identifier value
Required Pattern: urn:ietf:rfc:3986
.... value C1..1stringThe value that is unique
ch-elm-doc-identifier: The identifier must be an UUID.
Example CH ELM: urn:uuid:d494503a-7bef-4551-853c-f3dced2c518f
... entry 8..*BackboneElementEntry in the bundle - will have a resource or information
... entry:Composition 1..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmCompositionCH ELM Composition: Laboratory Report
.... resource 1..1ChElmPatientCH ELM Patient
... entry:Practitioner 0..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmPractitionerOrdererCH ELM Practitioner: Orderer
... entry:PractitionerRole 1..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmPractitionerRoleOrdererCH ELM PractitionerRole: Orderer
... entry:Organization 1..3BackboneElementEntry in the bundle - will have a resource or information
... entry:DiagnosticReport 1..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmDiagnosticReportCH ELM DiagnosticReport: Laboratory Report
... entry:Observation 1..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmObservationResultsLaboratoryCH ELM Observation Results: Laboratory
... entry:Specimen 1..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmSpecimenCH Lab Specimen: Laboratory
... entry:ServiceRequest 1..1BackboneElementEntry in the bundle - will have a resource or information
.... resource 1..1ChElmServiceRequestLaboratoryOrderCH ELM ServiceRequest: Laboratory Order

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
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

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*ChLabReportDocumentCH ELM Document: Laboratory Report
ch-elm-leading-code: The ServiceRequest.code and the Observation.code are in general equal.
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... identifier Σ1..1IdentifierPersistent, unique identifier for the diagnostic report (UUID)
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... system Σ1..1uriThe namespace for the identifier value
Required Pattern: urn:ietf:rfc:3986
.... value ΣC1..1stringThe value that is unique
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..1codedocument
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.


Fixed Value: document
... Slices for entry ΣC8..*BackboneElementEntry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
.... entry:Composition ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource C1..1ChElmCompositionCH ELM Composition: Laboratory Report
.... entry:Patient ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource C1..1ChElmPatientCH ELM Patient
.... entry:Practitioner ΣC0..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource C1..1ChElmPractitionerOrdererCH ELM Practitioner: Orderer
.... entry:PractitionerRole ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource C1..1ChElmPractitionerRoleOrdererCH ELM PractitionerRole: Orderer
.... entry:Organization ΣC1..3BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource C1..1CHCoreOrganizationCH Core Organization
.... entry:RelatedPerson ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource 1..1RelatedPersonA person that is related to a patient, but who is not a direct target of care
.... entry:Device ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource 1..1DeviceItem used in healthcare
.... entry:Encounter ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource 1..1CHCoreEncounterCH Core Encounter
.... entry:Location ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... resource 1..1CHCoreLocationCH Core Location
.... entry:DiagnosticReport ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmDiagnosticReportCH ELM DiagnosticReport: Laboratory Report
.... entry:Observation ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmObservationResultsLaboratoryCH ELM Observation Results: Laboratory
.... entry:Specimen ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmSpecimenCH Lab Specimen: Laboratory
.... entry:ServiceRequest ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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..*ExtensionExtensions that cannot be ignored even if unrecognized
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmServiceRequestLaboratoryOrderCH 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-expecting-organism-specificationerrorBundle.entry:Observation.resourceIf Observation.code is a member of http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-organism-specification, then Observation.valueCodeableConcept must be a member of the mapped ValueSet in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-organism-specification-to-results-completion-vs
: code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-organism-specification') implies (value.exists() and (value as CodeableConcept).exists() and (value as CodeableConcept).memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-organism-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-expecting-specimen-specificationerrorBundle.entry:Observation.resourceIf 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-interpretation-code-loincerrorBundle.entry:Observation.resourceIf Observation.code is a mapped in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code', then the interpretation code must be a member of the mapped ValueSet
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).exists() implies interpretation.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.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-interpretation-code-snomedcterrorBundle.entry:Observation.resourceIf Observation.code is a mapped in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code', then the interpretation code must be a member of the mapped ValueSet
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.resolve().group.where(source='http://snomed.info/sct').element.where(code=%context.code.coding.where(system='http://snomed.info/sct').first().code).exists() implies interpretation.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.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)
ch-elm-leading-codewarningBundleThe ServiceRequest.code and the Observation.code are in general equal.
: entry.resource.ofType(ServiceRequest).code = entry.resource.ofType(Observation).code
ch-elm-practroleerrorBundle.entry:PractitionerRole.resourceMust have at least a practitioner or an organization. Practitioner or organization must have at least a postalCode and a city defined.
: (practitioner.exists() and practitioner.resolve().address.city.exists() and practitioner.resolve().address.postalCode.exists()) or (organization.exists() and organization.resolve().address.city.exists() and organization.resolve().address.postalCode.exists())
ch-elm-practrole-organizaton-name-existserrorBundle.entry:PractitionerRole.resourceMust provide an organization name in case there is no practitioner.
: practitioner.exists().not() implies (organization.exists() and organization.resolve().name.exists())
ch-lab-bdl1warningBundleThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Bundle-eu-lab')
ch-lab-comp1warningBundle.entry:Composition.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Composition-eu-lab')
ch-lab-dr1warningBundle.entry:DiagnosticReport.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/DiagnosticReport-eu-lab')
ch-lab-obs1warningBundle.entry:Observation.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab')
ch-lab-pat1warningBundle.entry:Patient.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Patient-eu-lab')
ch-lab-pr1warningBundle.entry:PractitionerRole.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/PractitionerRole-eu-lab')
ch-lab-pract1warningBundle.entry:Practitioner.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Practitioner-eu-lab')
ch-lab-spe1warningBundle.entry:Specimen.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Specimen-eu-lab')
ch-lab-sr1warningBundle.entry:ServiceRequest.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/ServiceRequest-eu-lab')
ch-pat-1errorBundle.entry:Patient.resourceAt least one HumanName with given and family name must be provided.
: name.where(family.exists() and given.exists()).count()>0 or name.empty()
ch-pat-2warningBundle.entry:Patient.resourcegender unknown is currently not used in Switzerland in eCH and the EPR
: gender.empty() or gender!='unknown'
ch-pract-1errorBundle.entry:Practitioner.resourceIf a HumanName is provided, at least one HumanName must have a given and family name.
: name.where(family.exists() and given.exists()).count()>0 or name.empty()
ch-pract-2warningBundle.entry:Practitioner.resourcegender unknown is currently not used in Switzerland in eCH and the EPR
: gender.empty() or gender!='unknown'
code-or-basedOn-requirederrorBundle.entry:ServiceRequest.resourcemust have a code for what is beeing requested, or a basedOn element
: code.exists() or basedOn.exists()
dom-2errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf 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-4errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf 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-5errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorBundle.entry:Observation.resourcedataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorBundle.entry:Observation.resourceIf 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()
org-1errorBundle.entry:Organization.resourceThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
prr-1errorBundle.entry:ServiceRequest.resourceorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*ChLabReportDocumentCH ELM Document: Laboratory Report
ch-elm-leading-code: The ServiceRequest.code and the Observation.code are in general equal.
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... identifier Σ1..1IdentifierPersistent, unique identifier for the diagnostic report (UUID)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ1..1uriThe namespace for the identifier value
Required Pattern: urn:ietf:rfc:3986
.... value ΣC1..1stringThe value that is unique
ch-elm-doc-identifier: The identifier must be an UUID.
Example General: 123456
Example CH ELM: urn:uuid:d494503a-7bef-4551-853c-f3dced2c518f
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... type Σ1..1codedocument
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.


Fixed Value: document
... timestamp Σ1..1instantWhen the bundle was assembled
... total ΣC0..1unsignedIntIf search, the total number of matches
... link Σ0..*BackboneElementLinks related to this Bundle
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relation Σ1..1stringSee http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.... url Σ1..1uriReference details for the link
... Slices for entry ΣC8..*BackboneElementEntry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ0..1ResourceA resource in the bundle
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Composition ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmCompositionCH ELM Composition: Laboratory Report
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Patient ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmPatientCH ELM Patient
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Practitioner ΣC0..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmPractitionerOrdererCH ELM Practitioner: Orderer
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:PractitionerRole ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmPractitionerRoleOrdererCH ELM PractitionerRole: Orderer
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Organization ΣC1..3BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1CHCoreOrganizationCH Core Organization
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:RelatedPerson ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1RelatedPersonA person that is related to a patient, but who is not a direct target of care
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Device ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1DeviceItem used in healthcare
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Encounter ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1CHCoreEncounterCH Core Encounter
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Location ΣC0..*BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl Σ0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource 1..1CHCoreLocationCH Core Location
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:DiagnosticReport ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmDiagnosticReportCH ELM DiagnosticReport: Laboratory Report
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Observation ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmObservationResultsLaboratoryCH ELM Observation Results: Laboratory
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:Specimen ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmSpecimenCH Lab Specimen: Laboratory
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:ServiceRequest ΣC1..1BackboneElementEntry in the bundle - will have a resource or information
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
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*See link (Bundle)Links related to this entry
..... fullUrl ΣC1..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource C1..1ChElmServiceRequestLaboratoryOrderCH ELM ServiceRequest: Laboratory Order
..... search ΣC0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1decimalSearch ranking (between 0 and 1)
..... request ΣC0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1stringFor managing cache currency
...... ifModifiedSince Σ0..1instantFor managing cache currency
...... ifMatch Σ0..1stringFor managing update contention
...... ifNoneExist Σ0..1stringFor conditional creates
..... response ΣC0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1stringStatus response code (text optional)
...... location Σ0..1uriThe location (if the operation returns a location)
...... etag Σ0..1stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
... signature Σ0..1SignatureDigital Signature

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Bundle.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Bundle.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Bundle.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Bundle.typerequiredFixed Value: document
http://hl7.org/fhir/ValueSet/bundle-type|4.0.1
from the FHIR Standard
Bundle.entry.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Composition.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Composition.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Patient.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Patient.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Practitioner.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Practitioner.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:PractitionerRole.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:PractitionerRole.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Organization.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Organization.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:RelatedPerson.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:RelatedPerson.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Device.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Device.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Encounter.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Encounter.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Location.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Location.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:DiagnosticReport.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:DiagnosticReport.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Observation.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Observation.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:Specimen.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:Specimen.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
Bundle.entry:ServiceRequest.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry:ServiceRequest.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|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-expecting-organism-specificationerrorBundle.entry:Observation.resourceIf Observation.code is a member of http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-organism-specification, then Observation.valueCodeableConcept must be a member of the mapped ValueSet in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-organism-specification-to-results-completion-vs
: code.memberOf('http://fhir.ch/ig/ch-elm/ValueSet/ch-elm-expecting-organism-specification') implies (value.exists() and (value as CodeableConcept).exists() and (value as CodeableConcept).memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-expecting-organism-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-expecting-specimen-specificationerrorBundle.entry:Observation.resourceIf 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-interpretation-code-loincerrorBundle.entry:Observation.resourceIf Observation.code is a mapped in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code', then the interpretation code must be a member of the mapped ValueSet
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.resolve().group.where(source='http://loinc.org').element.where(code=%context.code.coding.where(system='http://loinc.org').first().code).exists() implies interpretation.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.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-interpretation-code-snomedcterrorBundle.entry:Observation.resourceIf Observation.code is a mapped in http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code', then the interpretation code must be a member of the mapped ValueSet
: 'http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.resolve().group.where(source='http://snomed.info/sct').element.where(code=%context.code.coding.where(system='http://snomed.info/sct').first().code).exists() implies interpretation.memberOf('http://fhir.ch/ig/ch-elm/ConceptMap/ch-elm-results-to-interpretation-code'.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)
ch-elm-leading-codewarningBundleThe ServiceRequest.code and the Observation.code are in general equal.
: entry.resource.ofType(ServiceRequest).code = entry.resource.ofType(Observation).code
ch-elm-practroleerrorBundle.entry:PractitionerRole.resourceMust have at least a practitioner or an organization. Practitioner or organization must have at least a postalCode and a city defined.
: (practitioner.exists() and practitioner.resolve().address.city.exists() and practitioner.resolve().address.postalCode.exists()) or (organization.exists() and organization.resolve().address.city.exists() and organization.resolve().address.postalCode.exists())
ch-elm-practrole-organizaton-name-existserrorBundle.entry:PractitionerRole.resourceMust provide an organization name in case there is no practitioner.
: practitioner.exists().not() implies (organization.exists() and organization.resolve().name.exists())
ch-lab-bdl1warningBundleThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Bundle-eu-lab')
ch-lab-comp1warningBundle.entry:Composition.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Composition-eu-lab')
ch-lab-dr1warningBundle.entry:DiagnosticReport.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/DiagnosticReport-eu-lab')
ch-lab-obs1warningBundle.entry:Observation.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Observation-resultslab-eu-lab')
ch-lab-pat1warningBundle.entry:Patient.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Patient-eu-lab')
ch-lab-pr1warningBundle.entry:PractitionerRole.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/PractitionerRole-eu-lab')
ch-lab-pract1warningBundle.entry:Practitioner.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Practitioner-eu-lab')
ch-lab-spe1warningBundle.entry:Specimen.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/Specimen-eu-lab')
ch-lab-sr1warningBundle.entry:ServiceRequest.resourceThe resource should be conform to the corresponding EU LAB profile
: conformsTo('http://hl7.eu/fhir/laboratory/StructureDefinition/ServiceRequest-eu-lab')
ch-pat-1errorBundle.entry:Patient.resourceAt least one HumanName with given and family name must be provided.
: name.where(family.exists() and given.exists()).count()>0 or name.empty()
ch-pat-2warningBundle.entry:Patient.resourcegender unknown is currently not used in Switzerland in eCH and the EPR
: gender.empty() or gender!='unknown'
ch-pract-1errorBundle.entry:Practitioner.resourceIf a HumanName is provided, at least one HumanName must have a given and family name.
: name.where(family.exists() and given.exists()).count()>0 or name.empty()
ch-pract-2warningBundle.entry:Practitioner.resourcegender unknown is currently not used in Switzerland in eCH and the EPR
: gender.empty() or gender!='unknown'
code-or-basedOn-requirederrorBundle.entry:ServiceRequest.resourcemust have a code for what is beeing requested, or a basedOn element
: code.exists() or basedOn.exists()
dom-2errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf 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-4errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf 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-5errorBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceBundle.entry:Composition.resource, Bundle.entry:Patient.resource, Bundle.entry:Practitioner.resource, Bundle.entry:PractitionerRole.resource, Bundle.entry:Organization.resource, Bundle.entry:RelatedPerson.resource, Bundle.entry:Device.resource, Bundle.entry:Encounter.resource, Bundle.entry:Location.resource, Bundle.entry:DiagnosticReport.resource, Bundle.entry:Observation.resource, Bundle.entry:Specimen.resource, Bundle.entry:ServiceRequest.resourceA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorBundle.entry:Observation.resourcedataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorBundle.entry:Observation.resourceIf 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()
org-1errorBundle.entry:Organization.resourceThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
prr-1errorBundle.entry:ServiceRequest.resourceorderDetail SHALL only be present if code is present
: orderDetail.empty() or code.exists()

 

Other representations of profile: CSV, Excel, Schematron