CH ELM (R4)
1.16.0 - ci-build Switzerland flag

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

Resource Profile: CH ELM PractitionerRole: Orderer

Official URL: http://fhir.ch/ig/ch-elm/StructureDefinition/ch-elm-practitionerrole-orderer Version: 1.16.0
Active as of 2026-10-22 Computable Name: ChElmPractitionerRoleOrderer

Copyright/Legal: CC0-1.0

This profile constrains the PractitionerRole resource for the orderer:

  • orderer organization and/or practitioner must be present
  • a postalCode and city must be present from organization and/or practitioner

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PractitionerRole C 0..* ChLabPractitionerRole CH ELM PractitionerRole: Orderer
This profile also imposes the profile PractitionerRole: Laboratory Report
Constraints: ch-elm-practrole, ch-elm-practrole-organizaton-name-exists
PractitionerRole.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
PractitionerRole.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
PractitionerRole.practitioner This element must be supported. This element is included in summaries. 0..1 Reference(CH ELM Practitioner: Orderer) Practitioner that is able to provide the defined services for the organization
PractitionerRole.organization This element must be supported. This element is included in summaries. 0..1 Reference(CH ELM Organization: Orderer) Organization where the roles are available

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ch-elm-practrole error PractitionerRole Must 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-exists error PractitionerRole Must provide an organization name in case there is no practitioner. practitioner.exists().not() implies (organization.exists() and organization.resolve().name.exists())
dom-2 error PractitionerRole If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error PractitionerRole If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error PractitionerRole If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error PractitionerRole If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice PractitionerRole A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from ChLabPractitionerRole

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PractitionerRole C 0..* ChLabPractitionerRole CH ELM PractitionerRole: Orderer
This profile also imposes the profile PractitionerRole: Laboratory Report
Constraints: ch-elm-practrole, ch-elm-practrole-organizaton-name-exists
PractitionerRole.practitioner This element must be supported. 0..1 Reference(CH ELM Practitioner: Orderer) Practitioner that is able to provide the defined services for the organization
PractitionerRole.organization This element must be supported. 0..1 Reference(CH ELM Organization: Orderer) Organization where the roles are available

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ch-elm-practrole error PractitionerRole Must 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-exists error PractitionerRole Must provide an organization name in case there is no practitioner. practitioner.exists().not() implies (organization.exists() and organization.resolve().name.exists())
NameFlagsCard.TypeDescription & Constraints    Filter: doco
PractitionerRole C 0..* ChLabPractitionerRole CH ELM PractitionerRole: Orderer
This profile also imposes the profile PractitionerRole: Laboratory Report
Constraints: ch-elm-practrole, ch-elm-practrole-organizaton-name-exists
PractitionerRole.id This element is included in summaries. 0..1 id Logical id of this artifact
PractitionerRole.meta This element is included in summaries. 0..1 Meta Metadata about the resource
PractitionerRole.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
PractitionerRole.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
PractitionerRole.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
PractitionerRole.contained 0..* Resource Contained, inline Resources
PractitionerRole.extension 0..* Extension Additional content defined by implementations
PractitionerRole.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
PractitionerRole.identifier This element is included in summaries. 0..* Identifier Business Identifiers that are specific to a role/location
PractitionerRole.active This element is included in summaries. 0..1 boolean Whether this practitioner role record is in active use
PractitionerRole.period This element is included in summaries. 0..1 Period The period during which the practitioner is authorized to perform in these role(s)
PractitionerRole.practitioner This element must be supported. This element is included in summaries. 0..1 Reference(CH ELM Practitioner: Orderer) Practitioner that is able to provide the defined services for the organization
PractitionerRole.organization This element must be supported. This element is included in summaries. 0..1 Reference(CH ELM Organization: Orderer) Organization where the roles are available
PractitionerRole.code This element is included in summaries. 0..* CodeableConcept Roles which this practitioner may perform
Binding: HCProfessional.hcProfession (preferred)
PractitionerRole.specialty This element is included in summaries. 0..* CodeableConcept Specific specialty of the practitioner
Binding: HCProfessional.hcSpecialisation (preferred)
PractitionerRole.location This element is included in summaries. 0..* Reference(CH Core Location) The location(s) at which this practitioner provides care
PractitionerRole.healthcareService 0..* Reference(HealthcareService) The list of healthcare services that this worker provides for this role's Organization/Location(s)
PractitionerRole.telecom This element is included in summaries. 0..* ContactPoint Contact details that are specific to the role/location/service
PractitionerRole.availableTime 0..* BackboneElement Times the Service Site is available
PractitionerRole.availableTime.id 0..1 string Unique id for inter-element referencing
PractitionerRole.availableTime.extension 0..* Extension Additional content defined by implementations
PractitionerRole.availableTime.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PractitionerRole.availableTime.daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.
PractitionerRole.availableTime.allDay 0..1 boolean Always available? e.g. 24 hour service
PractitionerRole.availableTime.availableStartTime 0..1 time Opening time of day (ignored if allDay = true)
PractitionerRole.availableTime.availableEndTime 0..1 time Closing time of day (ignored if allDay = true)
PractitionerRole.notAvailable 0..* BackboneElement Not available during this time due to provided reason
PractitionerRole.notAvailable.id 0..1 string Unique id for inter-element referencing
PractitionerRole.notAvailable.extension 0..* Extension Additional content defined by implementations
PractitionerRole.notAvailable.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PractitionerRole.notAvailable.description 1..1 string Reason presented to the user explaining why time not available
PractitionerRole.notAvailable.during 0..1 Period Service not available from this date
PractitionerRole.availabilityExceptions 0..1 string Description of availability exceptions
PractitionerRole.endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PractitionerRole.language Base preferred Common Languages 📍4.0.1 FHIR Std.
PractitionerRole.code Base preferred HCProfessional.hcProfession 📦3.3.0 CH Term v3.3
PractitionerRole.specialty Base preferred HCProfessional.hcSpecialisation 📦3.3.0 CH Term v3.3
PractitionerRole.availableTime.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ch-elm-practrole error PractitionerRole Must 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-exists error PractitionerRole Must provide an organization name in case there is no practitioner. practitioner.exists().not() implies (organization.exists() and organization.resolve().name.exists())
dom-2 error PractitionerRole If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error PractitionerRole If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error PractitionerRole If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error PractitionerRole If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice PractitionerRole A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PractitionerRole C 0..* ChLabPractitionerRole CH ELM PractitionerRole: Orderer
This profile also imposes the profile PractitionerRole: Laboratory Report
Constraints: ch-elm-practrole, ch-elm-practrole-organizaton-name-exists
PractitionerRole.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
PractitionerRole.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
PractitionerRole.practitioner This element must be supported. This element is included in summaries. 0..1 Reference(CH ELM Practitioner: Orderer) Practitioner that is able to provide the defined services for the organization
PractitionerRole.organization This element must be supported. This element is included in summaries. 0..1 Reference(CH ELM Organization: Orderer) Organization where the roles are available

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ch-elm-practrole error PractitionerRole Must 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-exists error PractitionerRole Must provide an organization name in case there is no practitioner. practitioner.exists().not() implies (organization.exists() and organization.resolve().name.exists())
dom-2 error PractitionerRole If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error PractitionerRole If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error PractitionerRole If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error PractitionerRole If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice PractitionerRole A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from ChLabPractitionerRole

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PractitionerRole C 0..* ChLabPractitionerRole CH ELM PractitionerRole: Orderer
This profile also imposes the profile PractitionerRole: Laboratory Report
Constraints: ch-elm-practrole, ch-elm-practrole-organizaton-name-exists
PractitionerRole.practitioner This element must be supported. 0..1 Reference(CH ELM Practitioner: Orderer) Practitioner that is able to provide the defined services for the organization
PractitionerRole.organization This element must be supported. 0..1 Reference(CH ELM Organization: Orderer) Organization where the roles are available

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ch-elm-practrole error PractitionerRole Must 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-exists error PractitionerRole Must provide an organization name in case there is no practitioner. practitioner.exists().not() implies (organization.exists() and organization.resolve().name.exists())

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PractitionerRole C 0..* ChLabPractitionerRole CH ELM PractitionerRole: Orderer
This profile also imposes the profile PractitionerRole: Laboratory Report
Constraints: ch-elm-practrole, ch-elm-practrole-organizaton-name-exists
PractitionerRole.id This element is included in summaries. 0..1 id Logical id of this artifact
PractitionerRole.meta This element is included in summaries. 0..1 Meta Metadata about the resource
PractitionerRole.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
PractitionerRole.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
PractitionerRole.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
PractitionerRole.contained 0..* Resource Contained, inline Resources
PractitionerRole.extension 0..* Extension Additional content defined by implementations
PractitionerRole.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
PractitionerRole.identifier This element is included in summaries. 0..* Identifier Business Identifiers that are specific to a role/location
PractitionerRole.active This element is included in summaries. 0..1 boolean Whether this practitioner role record is in active use
PractitionerRole.period This element is included in summaries. 0..1 Period The period during which the practitioner is authorized to perform in these role(s)
PractitionerRole.practitioner This element must be supported. This element is included in summaries. 0..1 Reference(CH ELM Practitioner: Orderer) Practitioner that is able to provide the defined services for the organization
PractitionerRole.organization This element must be supported. This element is included in summaries. 0..1 Reference(CH ELM Organization: Orderer) Organization where the roles are available
PractitionerRole.code This element is included in summaries. 0..* CodeableConcept Roles which this practitioner may perform
Binding: HCProfessional.hcProfession (preferred)
PractitionerRole.specialty This element is included in summaries. 0..* CodeableConcept Specific specialty of the practitioner
Binding: HCProfessional.hcSpecialisation (preferred)
PractitionerRole.location This element is included in summaries. 0..* Reference(CH Core Location) The location(s) at which this practitioner provides care
PractitionerRole.healthcareService 0..* Reference(HealthcareService) The list of healthcare services that this worker provides for this role's Organization/Location(s)
PractitionerRole.telecom This element is included in summaries. 0..* ContactPoint Contact details that are specific to the role/location/service
PractitionerRole.availableTime 0..* BackboneElement Times the Service Site is available
PractitionerRole.availableTime.id 0..1 string Unique id for inter-element referencing
PractitionerRole.availableTime.extension 0..* Extension Additional content defined by implementations
PractitionerRole.availableTime.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PractitionerRole.availableTime.daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.
PractitionerRole.availableTime.allDay 0..1 boolean Always available? e.g. 24 hour service
PractitionerRole.availableTime.availableStartTime 0..1 time Opening time of day (ignored if allDay = true)
PractitionerRole.availableTime.availableEndTime 0..1 time Closing time of day (ignored if allDay = true)
PractitionerRole.notAvailable 0..* BackboneElement Not available during this time due to provided reason
PractitionerRole.notAvailable.id 0..1 string Unique id for inter-element referencing
PractitionerRole.notAvailable.extension 0..* Extension Additional content defined by implementations
PractitionerRole.notAvailable.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PractitionerRole.notAvailable.description 1..1 string Reason presented to the user explaining why time not available
PractitionerRole.notAvailable.during 0..1 Period Service not available from this date
PractitionerRole.availabilityExceptions 0..1 string Description of availability exceptions
PractitionerRole.endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PractitionerRole.language Base preferred Common Languages 📍4.0.1 FHIR Std.
PractitionerRole.code Base preferred HCProfessional.hcProfession 📦3.3.0 CH Term v3.3
PractitionerRole.specialty Base preferred HCProfessional.hcSpecialisation 📦3.3.0 CH Term v3.3
PractitionerRole.availableTime.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ch-elm-practrole error PractitionerRole Must 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-exists error PractitionerRole Must provide an organization name in case there is no practitioner. practitioner.exists().not() implies (organization.exists() and organization.resolve().name.exists())
dom-2 error PractitionerRole If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error PractitionerRole If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error PractitionerRole If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error PractitionerRole If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice PractitionerRole A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron