CH Core (R4)
7.0.0-ballot - ballot Switzerland flag

CH Core (R4), published by HL7 Switzerland. This guide is not an authorized publication; it is the continuous build for version 7.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7ch/ch-core/ and changes regularly. See the Directory of published versions

Resource Profile: CH Core Medication

Official URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-medication Version: 7.0.0-ballot
Active as of 2026-10-21 Computable Name: CHCoreMedication

Copyright/Legal: CC0-1.0

Base definition of the Medication resource for use in Swiss specific use cases.

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
Medication 0..* Medication CH Core Medication
Medication.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
Medication.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Medication.status This element is a modifier element. This element is included in summaries. 0..1 code active | inactive | entered-in-error
Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
Medication.form 0..1 CodeableConcept powder | tablets | capsule +
Binding: EDQM - Pharmaceutical Dose Form (preferred)
Medication.amount This element is included in summaries. 0..1 CHCoreRatioWithEmedUnits Amount of drug in package

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.status Base required Medication status codes 📍4.0.1 FHIR Std.
Medication.form Base preferred EDQM - Pharmaceutical Dose Form 📦3.4.0 CH Term v3.4

Constraints

Id Grade Path(s) Description Expression
dom-2 error Medication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Medication 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 Medication 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 Medication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Medication 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 Medication

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Medication 0..* Medication CH Core Medication
Medication.code
Medication.code.Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Medication.code.Slices for coding.coding:GTIN 0..* Coding GTIN for Swiss products
Medication.code.Slices for coding.coding:GTIN.system 1..1 uri Global Trade Item Number (GS1)
Fixed Value: urn:oid:2.51.1.1 (no extensions allowed)
Medication.code.Slices for coding.coding:GTIN.code 1..1 code Symbol in syntax defined by the system
Medication.code.Slices for coding.coding:ATC 0..* Coding ATC for foreign products
Medication.code.Slices for coding.coding:ATC.system 1..1 uri Anatomical Therapeutic Chemical (ATC) Classification
Fixed Value: http://www.whocc.no/atc (no extensions allowed)
Medication.code.Slices for coding.coding:ATC.code 1..1 code Symbol in syntax defined by the system
Medication.form 0..1 CodeableConcept powder | tablets | capsule +
Binding: EDQM - Pharmaceutical Dose Form (preferred)
Medication.amount 0..1 CHCoreRatioWithEmedUnits Amount of drug in package
Medication.ingredient.item[x] 1..1 The actual ingredient or content
Binding: ActivePharmaceuticalIngredient (preferred)
Medication.ingredient.item[x].itemCodeableConcept CodeableConcept
Medication.ingredient.item[x].itemReference Reference(Substance | CH Core Medication)
Medication.ingredient.strength 0..1 CHCoreRatioWithEmedUnits Quantity of ingredient present

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Medication.form Base preferred EDQM - Pharmaceutical Dose Form 📦3.4.0 CH Term v3.4
Medication.ingredient.​item[x] Base preferred ActivePharmaceuticalIngredient 📦3.4.0 CH Term v3.4
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Medication 0..* Medication CH Core Medication
Medication.id This element is included in summaries. 0..1 id Logical id of this artifact
Medication.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Medication.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
Medication.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Medication.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
Medication.contained 0..* Resource Contained, inline Resources
Medication.extension 0..* Extension Additional content defined by implementations
Medication.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Medication.identifier This element is included in summaries. 0..* Identifier Business identifier for this medication
Medication.code This element is included in summaries. 0..1 CodeableConcept Codes that identify this medication
Binding: SNOMEDCTMedicationCodes (example): A coded concept that defines the type of a medication.
Medication.code.id 0..1 string Unique id for inter-element referencing
Medication.code.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Medication.code.Slices for coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Medication.code.Slices for coding.coding:GTIN This element is included in summaries. 0..* Coding GTIN for Swiss products
Medication.code.Slices for coding.coding:GTIN.id 0..1 string Unique id for inter-element referencing
Medication.code.Slices for coding.coding:GTIN.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Medication.code.Slices for coding.coding:GTIN.system This element is included in summaries. 1..1 uri Global Trade Item Number (GS1)
Fixed Value: urn:oid:2.51.1.1 (no extensions allowed)
Medication.code.Slices for coding.coding:GTIN.version This element is included in summaries. 0..1 string Version of the system - if relevant
Medication.code.Slices for coding.coding:GTIN.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Medication.code.Slices for coding.coding:GTIN.display This element is included in summaries. 0..1 string Representation defined by the system
Medication.code.Slices for coding.coding:GTIN.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Medication.code.Slices for coding.coding:ATC This element is included in summaries. 0..* Coding ATC for foreign products
Medication.code.Slices for coding.coding:ATC.id 0..1 string Unique id for inter-element referencing
Medication.code.Slices for coding.coding:ATC.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Medication.code.Slices for coding.coding:ATC.system This element is included in summaries. 1..1 uri Anatomical Therapeutic Chemical (ATC) Classification
Fixed Value: http://www.whocc.no/atc (no extensions allowed)
Medication.code.Slices for coding.coding:ATC.version This element is included in summaries. 0..1 string Version of the system - if relevant
Medication.code.Slices for coding.coding:ATC.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Medication.code.Slices for coding.coding:ATC.display This element is included in summaries. 0..1 string Representation defined by the system
Medication.code.Slices for coding.coding:ATC.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Medication.code.text This element is included in summaries. 0..1 string Plain text representation of the concept
Medication.status This element is a modifier element. This element is included in summaries. 0..1 code active | inactive | entered-in-error
Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
Medication.manufacturer This element is included in summaries. 0..1 Reference(Organization) Manufacturer of the item
Medication.form 0..1 CodeableConcept powder | tablets | capsule +
Binding: EDQM - Pharmaceutical Dose Form (preferred)
Medication.amount This element is included in summaries. 0..1 CHCoreRatioWithEmedUnits Amount of drug in package
Medication.ingredient 0..* BackboneElement Active or inactive ingredient
Medication.ingredient.id 0..1 string Unique id for inter-element referencing
Medication.ingredient.extension 0..* Extension Additional content defined by implementations
Medication.ingredient.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Medication.ingredient.item[x] 1..1 The actual ingredient or content
Binding: ActivePharmaceuticalIngredient (preferred)
Medication.ingredient.item[x].itemCodeableConcept CodeableConcept
Medication.ingredient.item[x].itemReference Reference(Substance | CH Core Medication)
Medication.ingredient.isActive 0..1 boolean Active ingredient indicator
Medication.ingredient.strength 0..1 CHCoreRatioWithEmedUnits Quantity of ingredient present
Medication.batch 0..1 BackboneElement Details about packaged medications
Medication.batch.id 0..1 string Unique id for inter-element referencing
Medication.batch.extension 0..* Extension Additional content defined by implementations
Medication.batch.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Medication.batch.lotNumber 0..1 string Identifier assigned to batch
Medication.batch.expirationDate 0..1 dateTime When batch will expire

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Medication.code Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
Medication.status Base required Medication status codes 📍4.0.1 FHIR Std.
Medication.form Base preferred EDQM - Pharmaceutical Dose Form 📦3.4.0 CH Term v3.4
Medication.ingredient.​item[x] Base preferred ActivePharmaceuticalIngredient 📦3.4.0 CH Term v3.4

Constraints

Id Grade Path(s) Description Expression
dom-2 error Medication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Medication 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 Medication 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 Medication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Medication 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 Medication

Summary

Mandatory: 0 element(4 nested mandatory elements)
Fixed: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Medication.code.coding

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Medication 0..* Medication CH Core Medication
Medication.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
Medication.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Medication.status This element is a modifier element. This element is included in summaries. 0..1 code active | inactive | entered-in-error
Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
Medication.form 0..1 CodeableConcept powder | tablets | capsule +
Binding: EDQM - Pharmaceutical Dose Form (preferred)
Medication.amount This element is included in summaries. 0..1 CHCoreRatioWithEmedUnits Amount of drug in package

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.status Base required Medication status codes 📍4.0.1 FHIR Std.
Medication.form Base preferred EDQM - Pharmaceutical Dose Form 📦3.4.0 CH Term v3.4

Constraints

Id Grade Path(s) Description Expression
dom-2 error Medication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Medication 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 Medication 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 Medication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Medication 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 Medication

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Medication 0..* Medication CH Core Medication
Medication.code
Medication.code.Slices for coding 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Medication.code.Slices for coding.coding:GTIN 0..* Coding GTIN for Swiss products
Medication.code.Slices for coding.coding:GTIN.system 1..1 uri Global Trade Item Number (GS1)
Fixed Value: urn:oid:2.51.1.1 (no extensions allowed)
Medication.code.Slices for coding.coding:GTIN.code 1..1 code Symbol in syntax defined by the system
Medication.code.Slices for coding.coding:ATC 0..* Coding ATC for foreign products
Medication.code.Slices for coding.coding:ATC.system 1..1 uri Anatomical Therapeutic Chemical (ATC) Classification
Fixed Value: http://www.whocc.no/atc (no extensions allowed)
Medication.code.Slices for coding.coding:ATC.code 1..1 code Symbol in syntax defined by the system
Medication.form 0..1 CodeableConcept powder | tablets | capsule +
Binding: EDQM - Pharmaceutical Dose Form (preferred)
Medication.amount 0..1 CHCoreRatioWithEmedUnits Amount of drug in package
Medication.ingredient
Medication.ingredient.item[x] 1..1 The actual ingredient or content
Binding: ActivePharmaceuticalIngredient (preferred)
Medication.ingredient.item[x].itemCodeableConcept CodeableConcept
Medication.ingredient.item[x].itemReference Reference(Substance | CH Core Medication)
Medication.ingredient.strength 0..1 CHCoreRatioWithEmedUnits Quantity of ingredient present

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Medication.form Base preferred EDQM - Pharmaceutical Dose Form 📦3.4.0 CH Term v3.4
Medication.ingredient.​item[x] Base preferred ActivePharmaceuticalIngredient 📦3.4.0 CH Term v3.4

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Medication 0..* Medication CH Core Medication
Medication.id This element is included in summaries. 0..1 id Logical id of this artifact
Medication.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Medication.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
Medication.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Medication.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
Medication.contained 0..* Resource Contained, inline Resources
Medication.extension 0..* Extension Additional content defined by implementations
Medication.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Medication.identifier This element is included in summaries. 0..* Identifier Business identifier for this medication
Medication.code This element is included in summaries. 0..1 CodeableConcept Codes that identify this medication
Binding: SNOMEDCTMedicationCodes (example): A coded concept that defines the type of a medication.
Medication.code.id 0..1 string Unique id for inter-element referencing
Medication.code.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Medication.code.Slices for coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Medication.code.Slices for coding.coding:GTIN This element is included in summaries. 0..* Coding GTIN for Swiss products
Medication.code.Slices for coding.coding:GTIN.id 0..1 string Unique id for inter-element referencing
Medication.code.Slices for coding.coding:GTIN.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Medication.code.Slices for coding.coding:GTIN.system This element is included in summaries. 1..1 uri Global Trade Item Number (GS1)
Fixed Value: urn:oid:2.51.1.1 (no extensions allowed)
Medication.code.Slices for coding.coding:GTIN.version This element is included in summaries. 0..1 string Version of the system - if relevant
Medication.code.Slices for coding.coding:GTIN.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Medication.code.Slices for coding.coding:GTIN.display This element is included in summaries. 0..1 string Representation defined by the system
Medication.code.Slices for coding.coding:GTIN.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Medication.code.Slices for coding.coding:ATC This element is included in summaries. 0..* Coding ATC for foreign products
Medication.code.Slices for coding.coding:ATC.id 0..1 string Unique id for inter-element referencing
Medication.code.Slices for coding.coding:ATC.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Medication.code.Slices for coding.coding:ATC.system This element is included in summaries. 1..1 uri Anatomical Therapeutic Chemical (ATC) Classification
Fixed Value: http://www.whocc.no/atc (no extensions allowed)
Medication.code.Slices for coding.coding:ATC.version This element is included in summaries. 0..1 string Version of the system - if relevant
Medication.code.Slices for coding.coding:ATC.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Medication.code.Slices for coding.coding:ATC.display This element is included in summaries. 0..1 string Representation defined by the system
Medication.code.Slices for coding.coding:ATC.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Medication.code.text This element is included in summaries. 0..1 string Plain text representation of the concept
Medication.status This element is a modifier element. This element is included in summaries. 0..1 code active | inactive | entered-in-error
Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
Medication.manufacturer This element is included in summaries. 0..1 Reference(Organization) Manufacturer of the item
Medication.form 0..1 CodeableConcept powder | tablets | capsule +
Binding: EDQM - Pharmaceutical Dose Form (preferred)
Medication.amount This element is included in summaries. 0..1 CHCoreRatioWithEmedUnits Amount of drug in package
Medication.ingredient 0..* BackboneElement Active or inactive ingredient
Medication.ingredient.id 0..1 string Unique id for inter-element referencing
Medication.ingredient.extension 0..* Extension Additional content defined by implementations
Medication.ingredient.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Medication.ingredient.item[x] 1..1 The actual ingredient or content
Binding: ActivePharmaceuticalIngredient (preferred)
Medication.ingredient.item[x].itemCodeableConcept CodeableConcept
Medication.ingredient.item[x].itemReference Reference(Substance | CH Core Medication)
Medication.ingredient.isActive 0..1 boolean Active ingredient indicator
Medication.ingredient.strength 0..1 CHCoreRatioWithEmedUnits Quantity of ingredient present
Medication.batch 0..1 BackboneElement Details about packaged medications
Medication.batch.id 0..1 string Unique id for inter-element referencing
Medication.batch.extension 0..* Extension Additional content defined by implementations
Medication.batch.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Medication.batch.lotNumber 0..1 string Identifier assigned to batch
Medication.batch.expirationDate 0..1 dateTime When batch will expire

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Medication.code Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
Medication.status Base required Medication status codes 📍4.0.1 FHIR Std.
Medication.form Base preferred EDQM - Pharmaceutical Dose Form 📦3.4.0 CH Term v3.4
Medication.ingredient.​item[x] Base preferred ActivePharmaceuticalIngredient 📦3.4.0 CH Term v3.4

Constraints

Id Grade Path(s) Description Expression
dom-2 error Medication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Medication 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 Medication 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 Medication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Medication 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 Medication

Summary

Mandatory: 0 element(4 nested mandatory elements)
Fixed: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Medication.code.coding

 

Other representations of profile: CSV, Excel, Schematron