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 recorded | entered-in-error | draft
Binding: MedicationStatementStatusCodes (required): A coded concept indicating the current status of a MedicationStatement.
... medication Σ 1..1 CodeableReference(Medication (EU core) [WIP]) What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.
... subject Σ 1..1 Reference(Patient (EU core)) Who is/was taking the medication

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.​medication Base example SNOMED CT Medication 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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... identifier 0..* Identifier Medication Statement Identifier
... medication 1..1 CodeableReference(Medication (EU core) [WIP]) What medication was taken
... subject 1..1 Reference(Patient (EU core)) Who is/was taking the medication

doco Documentation for this format
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 recorded | entered-in-error | draft
Binding: MedicationStatementStatusCodes (required): A coded concept indicating the current status of a MedicationStatement.
... category Σ 0..* CodeableConcept Type of medication statement
Binding: MedicationRequestAdministrationLocationCodes (example): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.
... medication Σ 1..1 CodeableReference(Medication (EU core) [WIP]) What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.
... subject Σ 1..1 Reference(Patient (EU core)) Who is/was taking the medication
... encounter Σ 0..1 Reference(Encounter) Encounter associated with MedicationStatement
... effective[x] Σ 0..1 The date/time or interval when the medication is/was/will be taken
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effectiveTiming Timing
... 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.
... 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 SNOMED CT Medication Codes 📍5.0.0 FHIR Std.
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()

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 recorded | entered-in-error | draft
Binding: MedicationStatementStatusCodes (required): A coded concept indicating the current status of a MedicationStatement.
... medication Σ 1..1 CodeableReference(Medication (EU core) [WIP]) What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.
... subject Σ 1..1 Reference(Patient (EU core)) Who is/was taking the medication

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.​medication Base example SNOMED CT Medication 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()

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
... medication 1..1 CodeableReference(Medication (EU core) [WIP]) What medication was taken
... subject 1..1 Reference(Patient (EU core)) Who is/was taking the medication

doco Documentation for this format

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 recorded | entered-in-error | draft
Binding: MedicationStatementStatusCodes (required): A coded concept indicating the current status of a MedicationStatement.
... category Σ 0..* CodeableConcept Type of medication statement
Binding: MedicationRequestAdministrationLocationCodes (example): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.
... medication Σ 1..1 CodeableReference(Medication (EU core) [WIP]) What medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.
... subject Σ 1..1 Reference(Patient (EU core)) Who is/was taking the medication
... encounter Σ 0..1 Reference(Encounter) Encounter associated with MedicationStatement
... effective[x] Σ 0..1 The date/time or interval when the medication is/was/will be taken
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effectiveTiming Timing
... 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.
... 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 SNOMED CT Medication Codes 📍5.0.0 FHIR Std.
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()

 

Other representations of profile: CSV, Excel, Schematron