HL7 Europe Base and Core FHIR IG
0.2.0-ci-build - ci-build 150

HL7 Europe Base and Core FHIR IG, published by HL7 Europe. This guide is not an authorized publication; it is the continuous build for version 0.2.0-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-eu/base-r5/ and changes regularly. See the Directory of published versions

Resource Profile: MedicationStatement (EU core) [WIP]

Official URL: http://hl7.eu/fhir/base-r5/StructureDefinition/medicationStatement-eu-core Version: 0.2.0-ci-build
Standards status: Draft Maturity Level: 1 Computable Name: MedicationStatementEuCore

Copyright/Legal: Copyright HL7 Europe. Licensed under creative commons public domain (CC0 1.0).

This profile sets minimum expectations for the MedicationStatement resource common to most of the use cases. This profile is adapted from the MPD work.

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code State of the medication
Binding: MedicationStatementStatusCodes (required): A coded concept indicating the current status of a MedicationStatement.
... category Σ 0..* CodeableConcept Type of intended use
Binding: MedicationRequestAdministrationLocationCodes (example): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.
Additional BindingsPurpose
Medication Intended Use Preferred

... medication Σ 1..1 CodeableReference(Medication (EU core) [WIP]) What medication was taken
Binding: Medications - IPS . (example)
... subject Σ 1..1 Reference(Patient (EU core)) Who is/was taking the medication
... Slices for effective[x] Σ 0..1 The date/time or interval when the medication is/was/will be taken
Slice: Unordered, Open by type:$this
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effectiveTiming Timing
.... effective[x]:effectivePeriod Σ 0..1 Period Period when the medication is/was or should be used.
... dosage 0..* Dosage Details of how medication is/was taken or should be taken.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationStatement.​status Base required MedicationStatement Status Codes 📍5.0.0 FHIR Std.
MedicationStatement.​category Base example medicationRequest Administration Location Codes 📦5.0.0 FHIR Std.
MedicationStatement.​medication Base example Medications - IPS . ⏿2.0.0-ballot tx.hl7europe.eu

Constraints

Id Grade Path(s) Description Expression
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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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 MedicationStatement

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... identifier 0..* Identifier Medication Statement Identifier
... status 1..1 code State of the medication
... category 0..* CodeableConcept Type of intended use
Binding: MedicationRequestAdministrationLocationCodes (example): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.
Additional BindingsPurpose
Medication Intended Use Preferred
... subject 1..1 Reference(Patient (EU core)) Who is/was taking the medication
... Slices for effective[x] 0..1 dateTime, Period, Timing The date/time or interval when the medication is/was/will be taken
Slice: Unordered, Open by type:$this
.... effective[x]:effectivePeriod 0..1 Period Period when the medication is/was or should be used.
... reason
.... concept 0..1 CodeableConcept Coded reason for use
... dosage 0..* Dosage Details of how medication is/was taken or should be taken.
... adherence
.... code 1..1 CodeableConcept Type of adherence.

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationStatement.​category Base example medicationRequest Administration Location Codes 📦5.0.0 FHIR Std.
MedicationStatement.​medication Base example Medications - IPS . ⏿2.0.0-ballot tx.hl7europe.eu
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Medication Statement Identifier
... partOf 0..* Reference(Procedure | MedicationStatement) Part of referenced event
... status ?!Σ 1..1 code State of the medication
Binding: MedicationStatementStatusCodes (required): A coded concept indicating the current status of a MedicationStatement.
... category Σ 0..* CodeableConcept Type of intended use
Binding: MedicationRequestAdministrationLocationCodes (example): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.
Additional BindingsPurpose
Medication Intended Use Preferred

... medication Σ 1..1 CodeableReference(Medication (EU core) [WIP]) What medication was taken
Binding: Medications - IPS . (example)
... subject Σ 1..1 Reference(Patient (EU core)) Who is/was taking the medication
... encounter Σ 0..1 Reference(Encounter) Encounter associated with MedicationStatement
... Slices for effective[x] Σ 0..1 The date/time or interval when the medication is/was/will be taken
Slice: Unordered, Open by type:$this
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effectiveTiming Timing
.... effective[x]:effectivePeriod Σ 0..1 Period Period when the medication is/was or should be used.
... dateAsserted Σ 0..1 dateTime When the usage was asserted?
... informationSource 0..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) Person or organization that provided the information about the taking of this medication
... derivedFrom 0..* Reference(Resource) Link to information used to derive the MedicationStatement
... reason 0..* CodeableReference(Condition | Observation | DiagnosticReport) Reason for why the medication is being/was taken
Binding: ConditionProblemDiagnosisCodes (example): A coded concept identifying why the medication is being taken.
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... concept Σ 0..1 CodeableConcept Coded reason for use
.... reference Σ 0..1 Reference() Reference to a resource (by instance)
... note 0..* Annotation Further information about the usage
... relatedClinicalInformation 0..* Reference(Observation | Condition) Link to information relevant to the usage of a medication
... renderedDosageInstruction 0..1 markdown Full representation of the dosage instructions
... dosage 0..* Dosage Details of how medication is/was taken or should be taken.
... adherence Σ 0..1 BackboneElement Indicates whether the medication is or is not being consumed or administered
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code Σ 1..1 CodeableConcept Type of adherence.
Binding: MedicationStatementAdherenceCodes (example)
.... reason 0..1 CodeableConcept Details of the reason for the current use of the medication
Binding: SNOMEDCTDrugTherapyStatusCodes (example)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationStatement.​language Base required All Languages 📍5.0.0 FHIR Std.
MedicationStatement.​status Base required MedicationStatement Status Codes 📍5.0.0 FHIR Std.
MedicationStatement.​category Base example medicationRequest Administration Location Codes 📦5.0.0 FHIR Std.
MedicationStatement.​medication Base example Medications - IPS . ⏿2.0.0-ballot tx.hl7europe.eu
MedicationStatement.​reason Base example Condition/Problem/Diagnosis Codes 📍5.0.0 FHIR Std.
MedicationStatement.​adherence.code Base example MedicationStatement Adherence Codes 📍5.0.0 FHIR Std.
MedicationStatement.​adherence.reason Base example SNOMED CT Drug Therapy Status codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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 MedicationStatement

Summary

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.effective[x]

Maturity: 1

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code State of the medication
Binding: MedicationStatementStatusCodes (required): A coded concept indicating the current status of a MedicationStatement.
... category Σ 0..* CodeableConcept Type of intended use
Binding: MedicationRequestAdministrationLocationCodes (example): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.
Additional BindingsPurpose
Medication Intended Use Preferred

... medication Σ 1..1 CodeableReference(Medication (EU core) [WIP]) What medication was taken
Binding: Medications - IPS . (example)
... subject Σ 1..1 Reference(Patient (EU core)) Who is/was taking the medication
... Slices for effective[x] Σ 0..1 The date/time or interval when the medication is/was/will be taken
Slice: Unordered, Open by type:$this
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effectiveTiming Timing
.... effective[x]:effectivePeriod Σ 0..1 Period Period when the medication is/was or should be used.
... dosage 0..* Dosage Details of how medication is/was taken or should be taken.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationStatement.​status Base required MedicationStatement Status Codes 📍5.0.0 FHIR Std.
MedicationStatement.​category Base example medicationRequest Administration Location Codes 📦5.0.0 FHIR Std.
MedicationStatement.​medication Base example Medications - IPS . ⏿2.0.0-ballot tx.hl7europe.eu

Constraints

Id Grade Path(s) Description Expression
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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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 MedicationStatement

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... identifier 0..* Identifier Medication Statement Identifier
... status 1..1 code State of the medication
... category 0..* CodeableConcept Type of intended use
Binding: MedicationRequestAdministrationLocationCodes (example): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.
Additional BindingsPurpose
Medication Intended Use Preferred
... subject 1..1 Reference(Patient (EU core)) Who is/was taking the medication
... Slices for effective[x] 0..1 dateTime, Period, Timing The date/time or interval when the medication is/was/will be taken
Slice: Unordered, Open by type:$this
.... effective[x]:effectivePeriod 0..1 Period Period when the medication is/was or should be used.
... reason
.... concept 0..1 CodeableConcept Coded reason for use
... dosage 0..* Dosage Details of how medication is/was taken or should be taken.
... adherence
.... code 1..1 CodeableConcept Type of adherence.

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationStatement.​category Base example medicationRequest Administration Location Codes 📦5.0.0 FHIR Std.
MedicationStatement.​medication Base example Medications - IPS . ⏿2.0.0-ballot tx.hl7europe.eu

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Medication Statement Identifier
... partOf 0..* Reference(Procedure | MedicationStatement) Part of referenced event
... status ?!Σ 1..1 code State of the medication
Binding: MedicationStatementStatusCodes (required): A coded concept indicating the current status of a MedicationStatement.
... category Σ 0..* CodeableConcept Type of intended use
Binding: MedicationRequestAdministrationLocationCodes (example): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.
Additional BindingsPurpose
Medication Intended Use Preferred

... medication Σ 1..1 CodeableReference(Medication (EU core) [WIP]) What medication was taken
Binding: Medications - IPS . (example)
... subject Σ 1..1 Reference(Patient (EU core)) Who is/was taking the medication
... encounter Σ 0..1 Reference(Encounter) Encounter associated with MedicationStatement
... Slices for effective[x] Σ 0..1 The date/time or interval when the medication is/was/will be taken
Slice: Unordered, Open by type:$this
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effectiveTiming Timing
.... effective[x]:effectivePeriod Σ 0..1 Period Period when the medication is/was or should be used.
... dateAsserted Σ 0..1 dateTime When the usage was asserted?
... informationSource 0..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) Person or organization that provided the information about the taking of this medication
... derivedFrom 0..* Reference(Resource) Link to information used to derive the MedicationStatement
... reason 0..* CodeableReference(Condition | Observation | DiagnosticReport) Reason for why the medication is being/was taken
Binding: ConditionProblemDiagnosisCodes (example): A coded concept identifying why the medication is being taken.
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... concept Σ 0..1 CodeableConcept Coded reason for use
.... reference Σ 0..1 Reference() Reference to a resource (by instance)
... note 0..* Annotation Further information about the usage
... relatedClinicalInformation 0..* Reference(Observation | Condition) Link to information relevant to the usage of a medication
... renderedDosageInstruction 0..1 markdown Full representation of the dosage instructions
... dosage 0..* Dosage Details of how medication is/was taken or should be taken.
... adherence Σ 0..1 BackboneElement Indicates whether the medication is or is not being consumed or administered
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code Σ 1..1 CodeableConcept Type of adherence.
Binding: MedicationStatementAdherenceCodes (example)
.... reason 0..1 CodeableConcept Details of the reason for the current use of the medication
Binding: SNOMEDCTDrugTherapyStatusCodes (example)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationStatement.​language Base required All Languages 📍5.0.0 FHIR Std.
MedicationStatement.​status Base required MedicationStatement Status Codes 📍5.0.0 FHIR Std.
MedicationStatement.​category Base example medicationRequest Administration Location Codes 📦5.0.0 FHIR Std.
MedicationStatement.​medication Base example Medications - IPS . ⏿2.0.0-ballot tx.hl7europe.eu
MedicationStatement.​reason Base example Condition/Problem/Diagnosis Codes 📍5.0.0 FHIR Std.
MedicationStatement.​adherence.code Base example MedicationStatement Adherence Codes 📍5.0.0 FHIR Std.
MedicationStatement.​adherence.reason Base example SNOMED CT Drug Therapy Status codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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 MedicationStatement

Summary

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.effective[x]

Maturity: 1

 

Other representations of profile: CSV, Excel, Schematron