CH EMR (R4)
1.0.0-ballot - ballot Switzerland flag

CH EMR (R4), published by HL7 Switzerland. This guide is not an authorized publication; it is the continuous build for version 1.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-emr/ and changes regularly. See the Directory of published versions

Resource Profile: CH Emergency Record Medication Statement

Official URL: http://fhir.ch/ig/ch-emr/StructureDefinition/ch-emr-medicationstatement Version: 1.0.0-ballot
Active as of 2026-10-23 Computable Name: ChEmrMedicationStatement

Copyright/Legal: CC0-1.0

Medication Statement for the Swiss Emergency Record. Captures a medication the patient is taking with a treatment reason, a dose quantity, and a dosing schedule expressed using the CH EMED dosage pattern.

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
MedicationStatement 0..* ChIpsMedicationStatement CH IPS MedicationStatement
This profile also imposes the profile MedicationStatement (IPS)
MedicationStatement.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
MedicationStatement.Slices for extension Content/Rules for all slices
MedicationStatement.Slices for extension.extension:substitution 0..1 CodeableConcept Whether substitution is allowed or not
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
Binding: ActSubstanceAdminSubstitutionCode (preferred)
MedicationStatement.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationStatement.status This element is a modifier element. This element is included in summaries. 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.
MedicationStatement.Slices for medication[x] This element is included in summaries. 1..1 What medication was taken
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
MedicationStatement.Slices for medication[x].medicationCodeableConcept CodeableConcept
MedicationStatement.Slices for medication[x].medicationReference Reference(CH IPS Medication)
MedicationStatement.Slices for medication[x].medication[x]:medicationReference This element is included in summaries. 0..1 Reference(CH IPS Medication) {b} What medication was taken
MedicationStatement.subject This element is included in summaries. 1..1 Reference(CH IPS Patient) Who is/was taking the medication
MedicationStatement.reasonCode This element has obligations and must be supported. C 0..* CodeableConcept Reason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.
Constraints: ch-emr-reasoncode-content
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)
MedicationStatement.reasonReference This element has obligations and must be supported. 0..* Reference(CH IPS Condition) {b} Condition or observation that supports why the medication is being/was taken
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)
MedicationStatement.Slices for dosage This element has obligations and must be supported. 0..* CHCoreDosage(7.0.0-ballot) The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Details of how medication is/was taken or should be taken
Slice: Unordered, Closed by profile:$this
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationStatement.Slices for dosage.dosage:baseEntry This element must be supported. C 0..1 CHEMEDDosage Details of how medication is/was taken or should be taken
Constraints: ch-dosage-4
MedicationStatement.Slices for dosage.dosage:additionalEntry This element must be supported. 0..* CHEMEDDosageSplit Details of how medication is/was taken or should be taken

doco Documentation for this format
NameCreator (IPS)Consumer (IPS)doco
MedicationStatement
MedicationStatement / Slices for extension
MedicationStatement / Slices for medication[x]
MedicationStatement / reasonCode
MedicationStatement / reasonReference
MedicationStatement / Slices for dosage

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationStatement.​status Base required Medication status codes 📍4.0.1 FHIR Std.
MedicationStatement.​medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationStatement.​medication[x]:medicationCodeableConcept Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationStatement.​reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ch-dosage-4 error MedicationStatement.dosage:baseEntry For split dosage timing event and dose/rate are REQUIRED sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-emr-reasoncode-content error MedicationStatement.reasonCode A reasonCode must carry at least text or one coding. text.exists() or coding.exists()
dom-2 error MedicationStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationStatement 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 MedicationStatement 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 MedicationStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationStatement 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 ChIpsMedicationStatement

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationStatement 0..* ChIpsMedicationStatement CH IPS MedicationStatement
This profile also imposes the profile MedicationStatement (IPS)
MedicationStatement.Slices for medication[x] 1..1 CodeableConcept, Reference(CH IPS Medication) What medication was taken
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
MedicationStatement.Slices for medication[x].medication[x]:medicationReference 0..1 Reference(CH IPS Medication) {b} What medication was taken
MedicationStatement.reasonCode This element has obligations and must be supported. C 0..* CodeableConcept Reason for why the medication is being/was taken
Constraints: ch-emr-reasoncode-content
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)
MedicationStatement.reasonReference This element has obligations and must be supported. 0..* Reference(CH IPS Condition) {b} Condition or observation that supports why the medication is being/was taken
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)
MedicationStatement.Slices for dosage.dosage:baseEntry This element must be supported. 0..1 CHEMEDDosage Details of how medication is/was taken or should be taken
MedicationStatement.Slices for dosage.dosage:additionalEntry This element must be supported. 0..* CHEMEDDosageSplit Details of how medication is/was taken or should be taken

doco Documentation for this format
NameCreator (IPS)Consumer (IPS)doco
MedicationStatement
MedicationStatement / Slices for medication[x]
MedicationStatement / reasonCode
MedicationStatement / reasonReference
MedicationStatement / Slices for dosage

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ch-emr-reasoncode-content error MedicationStatement.reasonCode A reasonCode must carry at least text or one coding. text.exists() or coding.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationStatement 0..* ChIpsMedicationStatement CH IPS MedicationStatement
This profile also imposes the profile MedicationStatement (IPS)
MedicationStatement.id This element is included in summaries. 0..1 id Logical id of this artifact
MedicationStatement.meta This element is included in summaries. 0..1 Meta Metadata about the resource
MedicationStatement.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
MedicationStatement.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
MedicationStatement.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
MedicationStatement.contained 0..* Resource Contained, inline Resources
MedicationStatement.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
MedicationStatement.Slices for extension.extension:substitution 0..1 CodeableConcept Whether substitution is allowed or not
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
Binding: ActSubstanceAdminSubstitutionCode (preferred)
MedicationStatement.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationStatement.identifier This element is included in summaries. 0..* Identifier External identifier
MedicationStatement.basedOn This element is included in summaries. 0..* Reference(MedicationRequest | CarePlan | ServiceRequest) Fulfils plan, proposal or order
MedicationStatement.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation) Part of referenced event
MedicationStatement.status This element is a modifier element. This element is included in summaries. 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.
MedicationStatement.statusReason 0..* CodeableConcept Reason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.
MedicationStatement.category This element is included in summaries. 0..1 CodeableConcept Type of medication usage
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.
MedicationStatement.Slices for medication[x] This element is included in summaries. 1..1 What medication was taken
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
MedicationStatement.Slices for medication[x].medicationCodeableConcept CodeableConcept
MedicationStatement.Slices for medication[x].medicationReference Reference(CH IPS Medication)
MedicationStatement.Slices for medication[x].medication[x]:medicationReference This element is included in summaries. 0..1 Reference(CH IPS Medication) {b} What medication was taken
MedicationStatement.subject This element is included in summaries. 1..1 Reference(CH IPS Patient) Who is/was taking the medication
MedicationStatement.context This element is included in summaries. 0..1 Reference(Encounter | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
MedicationStatement.effective[x] This element is included in summaries. 0..1 The date/time or interval when the medication is/was/will be taken
MedicationStatement.effective[x].effectiveDateTime dateTime
MedicationStatement.effective[x].effectivePeriod Period
MedicationStatement.dateAsserted This element is included in summaries. 0..1 dateTime When the statement was asserted?
MedicationStatement.informationSource 0..1 Reference(CH Core Patient(7.0.0-ballot) | CH Core Practitioner(7.0.0-ballot) | CH Core PractitionerRole(7.0.0-ballot) | CH Core RelatedPerson(7.0.0-ballot) | CH Core Organization(7.0.0-ballot)) Person or organization that provided the information about the taking of this medication
MedicationStatement.derivedFrom 0..* Reference(Resource) Additional supporting information
MedicationStatement.reasonCode This element has obligations and must be supported. C 0..* CodeableConcept Reason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.
Constraints: ch-emr-reasoncode-content
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)
MedicationStatement.reasonReference This element has obligations and must be supported. 0..* Reference(CH IPS Condition) {b} Condition or observation that supports why the medication is being/was taken
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)
MedicationStatement.note 0..* Annotation Further information about the statement
MedicationStatement.Slices for dosage This element has obligations and must be supported. 0..* CHCoreDosage(7.0.0-ballot) The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Details of how medication is/was taken or should be taken
Slice: Unordered, Closed by profile:$this
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationStatement.Slices for dosage.dosage:baseEntry This element must be supported. C 0..1 CHEMEDDosage Details of how medication is/was taken or should be taken
Constraints: ch-dosage-4
MedicationStatement.Slices for dosage.dosage:additionalEntry This element must be supported. 0..* CHEMEDDosageSplit Details of how medication is/was taken or should be taken

doco Documentation for this format
NameCreator (IPS)Consumer (IPS)doco
MedicationStatement
MedicationStatement / Slices for extension
MedicationStatement / Slices for medication[x]
MedicationStatement / reasonCode
MedicationStatement / reasonReference
MedicationStatement / Slices for dosage

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationStatement.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
MedicationStatement.​status Base required Medication status codes 📍4.0.1 FHIR Std.
MedicationStatement.​statusReason Base example SNOMED CT Drug Therapy Status codes 📍4.0.1 FHIR Std.
MedicationStatement.​category Base preferred Medication usage category codes 📍4.0.1 FHIR Std.
MedicationStatement.​medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationStatement.​medication[x]:medicationCodeableConcept Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationStatement.​reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ch-dosage-4 error MedicationStatement.dosage:baseEntry For split dosage timing event and dose/rate are REQUIRED sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-emr-reasoncode-content error MedicationStatement.reasonCode A reasonCode must carry at least text or one coding. text.exists() or coding.exists()
dom-2 error MedicationStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationStatement 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 MedicationStatement 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 MedicationStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationStatement 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()
NameCreator (IPS)Consumer (IPS)doco
MedicationStatement
MedicationStatement / Slices for extension
MedicationStatement / Slices for medication[x]
MedicationStatement / reasonCode
MedicationStatement / reasonReference
MedicationStatement / Slices for dosage

doco Documentation for this format

This structure is derived from ChIpsMedicationStatement

Summary

Must-Support: 5 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 MedicationStatement.medication[x]
  • The element 1 is sliced based on the value of MedicationStatement.dosage (Closed)

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationStatement 0..* ChIpsMedicationStatement CH IPS MedicationStatement
This profile also imposes the profile MedicationStatement (IPS)
MedicationStatement.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
MedicationStatement.Slices for extension Content/Rules for all slices
MedicationStatement.Slices for extension.extension:substitution 0..1 CodeableConcept Whether substitution is allowed or not
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
Binding: ActSubstanceAdminSubstitutionCode (preferred)
MedicationStatement.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationStatement.status This element is a modifier element. This element is included in summaries. 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.
MedicationStatement.Slices for medication[x] This element is included in summaries. 1..1 What medication was taken
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
MedicationStatement.Slices for medication[x].medicationCodeableConcept CodeableConcept
MedicationStatement.Slices for medication[x].medicationReference Reference(CH IPS Medication)
MedicationStatement.Slices for medication[x].medication[x]:medicationReference This element is included in summaries. 0..1 Reference(CH IPS Medication) {b} What medication was taken
MedicationStatement.subject This element is included in summaries. 1..1 Reference(CH IPS Patient) Who is/was taking the medication
MedicationStatement.reasonCode This element has obligations and must be supported. C 0..* CodeableConcept Reason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.
Constraints: ch-emr-reasoncode-content
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)
MedicationStatement.reasonReference This element has obligations and must be supported. 0..* Reference(CH IPS Condition) {b} Condition or observation that supports why the medication is being/was taken
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)
MedicationStatement.Slices for dosage This element has obligations and must be supported. 0..* CHCoreDosage(7.0.0-ballot) The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Details of how medication is/was taken or should be taken
Slice: Unordered, Closed by profile:$this
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationStatement.Slices for dosage.dosage:baseEntry This element must be supported. C 0..1 CHEMEDDosage Details of how medication is/was taken or should be taken
Constraints: ch-dosage-4
MedicationStatement.Slices for dosage.dosage:additionalEntry This element must be supported. 0..* CHEMEDDosageSplit Details of how medication is/was taken or should be taken

doco Documentation for this format
NameCreator (IPS)Consumer (IPS)doco
MedicationStatement
MedicationStatement / Slices for extension
MedicationStatement / Slices for medication[x]
MedicationStatement / reasonCode
MedicationStatement / reasonReference
MedicationStatement / Slices for dosage

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationStatement.​status Base required Medication status codes 📍4.0.1 FHIR Std.
MedicationStatement.​medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationStatement.​medication[x]:medicationCodeableConcept Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationStatement.​reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ch-dosage-4 error MedicationStatement.dosage:baseEntry For split dosage timing event and dose/rate are REQUIRED sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-emr-reasoncode-content error MedicationStatement.reasonCode A reasonCode must carry at least text or one coding. text.exists() or coding.exists()
dom-2 error MedicationStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationStatement 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 MedicationStatement 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 MedicationStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationStatement 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 ChIpsMedicationStatement

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationStatement 0..* ChIpsMedicationStatement CH IPS MedicationStatement
This profile also imposes the profile MedicationStatement (IPS)
MedicationStatement.Slices for medication[x] 1..1 CodeableConcept, Reference(CH IPS Medication) What medication was taken
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
MedicationStatement.Slices for medication[x].medication[x]:medicationReference 0..1 Reference(CH IPS Medication) {b} What medication was taken
MedicationStatement.reasonCode This element has obligations and must be supported. C 0..* CodeableConcept Reason for why the medication is being/was taken
Constraints: ch-emr-reasoncode-content
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)
MedicationStatement.reasonReference This element has obligations and must be supported. 0..* Reference(CH IPS Condition) {b} Condition or observation that supports why the medication is being/was taken
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)
MedicationStatement.Slices for dosage This element has obligations and must be supported. 0..* CHCoreDosage(7.0.0-ballot) Details of how medication is/was taken or should be taken
Slice: Unordered, Closed by profile:$this
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationStatement.Slices for dosage.dosage:baseEntry This element must be supported. 0..1 CHEMEDDosage Details of how medication is/was taken or should be taken
MedicationStatement.Slices for dosage.dosage:additionalEntry This element must be supported. 0..* CHEMEDDosageSplit Details of how medication is/was taken or should be taken

doco Documentation for this format
NameCreator (IPS)Consumer (IPS)doco
MedicationStatement
MedicationStatement / Slices for medication[x]
MedicationStatement / reasonCode
MedicationStatement / reasonReference
MedicationStatement / Slices for dosage

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ch-emr-reasoncode-content error MedicationStatement.reasonCode A reasonCode must carry at least text or one coding. text.exists() or coding.exists()

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationStatement 0..* ChIpsMedicationStatement CH IPS MedicationStatement
This profile also imposes the profile MedicationStatement (IPS)
MedicationStatement.id This element is included in summaries. 0..1 id Logical id of this artifact
MedicationStatement.meta This element is included in summaries. 0..1 Meta Metadata about the resource
MedicationStatement.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
MedicationStatement.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
MedicationStatement.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
MedicationStatement.contained 0..* Resource Contained, inline Resources
MedicationStatement.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
MedicationStatement.Slices for extension.extension:substitution 0..1 CodeableConcept Whether substitution is allowed or not
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
Binding: ActSubstanceAdminSubstitutionCode (preferred)
MedicationStatement.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationStatement.identifier This element is included in summaries. 0..* Identifier External identifier
MedicationStatement.basedOn This element is included in summaries. 0..* Reference(MedicationRequest | CarePlan | ServiceRequest) Fulfils plan, proposal or order
MedicationStatement.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation) Part of referenced event
MedicationStatement.status This element is a modifier element. This element is included in summaries. 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.
MedicationStatement.statusReason 0..* CodeableConcept Reason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.
MedicationStatement.category This element is included in summaries. 0..1 CodeableConcept Type of medication usage
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.
MedicationStatement.Slices for medication[x] This element is included in summaries. 1..1 What medication was taken
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view
MedicationStatement.Slices for medication[x].medicationCodeableConcept CodeableConcept
MedicationStatement.Slices for medication[x].medicationReference Reference(CH IPS Medication)
MedicationStatement.Slices for medication[x].medication[x]:medicationReference This element is included in summaries. 0..1 Reference(CH IPS Medication) {b} What medication was taken
MedicationStatement.subject This element is included in summaries. 1..1 Reference(CH IPS Patient) Who is/was taking the medication
MedicationStatement.context This element is included in summaries. 0..1 Reference(Encounter | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
MedicationStatement.effective[x] This element is included in summaries. 0..1 The date/time or interval when the medication is/was/will be taken
MedicationStatement.effective[x].effectiveDateTime dateTime
MedicationStatement.effective[x].effectivePeriod Period
MedicationStatement.dateAsserted This element is included in summaries. 0..1 dateTime When the statement was asserted?
MedicationStatement.informationSource 0..1 Reference(CH Core Patient(7.0.0-ballot) | CH Core Practitioner(7.0.0-ballot) | CH Core PractitionerRole(7.0.0-ballot) | CH Core RelatedPerson(7.0.0-ballot) | CH Core Organization(7.0.0-ballot)) Person or organization that provided the information about the taking of this medication
MedicationStatement.derivedFrom 0..* Reference(Resource) Additional supporting information
MedicationStatement.reasonCode This element has obligations and must be supported. C 0..* CodeableConcept Reason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.
Constraints: ch-emr-reasoncode-content
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)
MedicationStatement.reasonReference This element has obligations and must be supported. 0..* Reference(CH IPS Condition) {b} Condition or observation that supports why the medication is being/was taken
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)
MedicationStatement.note 0..* Annotation Further information about the statement
MedicationStatement.Slices for dosage This element has obligations and must be supported. 0..* CHCoreDosage(7.0.0-ballot) The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well Details of how medication is/was taken or should be taken
Slice: Unordered, Closed by profile:$this
ObligationsActor
SHALL:populate-if-known Creator (IPS)
SHALL:handle Consumer (IPS)
SHOULD:display Consumer (IPS)

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationStatement.Slices for dosage.dosage:baseEntry This element must be supported. C 0..1 CHEMEDDosage Details of how medication is/was taken or should be taken
Constraints: ch-dosage-4
MedicationStatement.Slices for dosage.dosage:additionalEntry This element must be supported. 0..* CHEMEDDosageSplit Details of how medication is/was taken or should be taken

doco Documentation for this format
NameCreator (IPS)Consumer (IPS)doco
MedicationStatement
MedicationStatement / Slices for extension
MedicationStatement / Slices for medication[x]
MedicationStatement / reasonCode
MedicationStatement / reasonReference
MedicationStatement / Slices for dosage

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationStatement.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
MedicationStatement.​status Base required Medication status codes 📍4.0.1 FHIR Std.
MedicationStatement.​statusReason Base example SNOMED CT Drug Therapy Status codes 📍4.0.1 FHIR Std.
MedicationStatement.​category Base preferred Medication usage category codes 📍4.0.1 FHIR Std.
MedicationStatement.​medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationStatement.​medication[x]:medicationCodeableConcept Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationStatement.​reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ch-dosage-4 error MedicationStatement.dosage:baseEntry For split dosage timing event and dose/rate are REQUIRED sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-emr-reasoncode-content error MedicationStatement.reasonCode A reasonCode must carry at least text or one coding. text.exists() or coding.exists()
dom-2 error MedicationStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationStatement 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 MedicationStatement 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 MedicationStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationStatement 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()
NameCreator (IPS)Consumer (IPS)doco
MedicationStatement
MedicationStatement / Slices for extension
MedicationStatement / Slices for medication[x]
MedicationStatement / reasonCode
MedicationStatement / reasonReference
MedicationStatement / Slices for dosage

doco Documentation for this format

This structure is derived from ChIpsMedicationStatement

Summary

Must-Support: 5 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 MedicationStatement.medication[x]
  • The element 1 is sliced based on the value of MedicationStatement.dosage (Closed)

 

Other representations of profile: CSV, Excel, Schematron