CH EMED EPR
1.0.1-ci-build - ci-build Switzerland flag

CH EMED EPR, published by CARA. This guide is not an authorized publication; it is the continuous build for version 1.0.1-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/CARA-ch/ch-emed-epr/ and changes regularly. See the Directory of published versions

Resource Profile: MTP MedicationStatement

Official URL: http://fhir.ch/ig/ch-emed-epr/StructureDefinition/ch-emed-epr-medicationstatement-treatmentplan Version: 1.0.1-ci-build
Draft as of 2024-12-04 Computable Name: CHEMEDEPRMedicationStatement

Copyright/Legal: CC0-1.0

Definition of the medication statement for the Medication Treatment Plan document

Usage:

Formal Views of Profile Content

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

This structure is derived from CHEMEDMedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement CHEMEDMedicationStatement
... meta
.... extension D 0..* Extension ✕ This element is not supported
.... versionId D 0..1 id ✕ This element is not supported
.... lastUpdated D 0..1 instant ✕ This element is not supported
.... source D 0..1 uri ✕ This element is not supported
.... security D 0..* Coding ✕ This element is not supported
.... tag D 0..* Coding ✕ This element is not supported
... implicitRules 0..0
... Slices for extension Content/Rules for all slices
.... extension:substitution 0..1 CHEMEDExtSubstitution Whether the dispenser can substitute the prescribed medicine/package by another that is deemed equivalent, for medical or logistical reasons. By default, substitution is authorized.
..... id D 0..1 string ✕ This element is not supported
..... value[x] 1..1 CodeableConcept Whether substitution is allowed or not
Binding: Substance Administration Substitution Codes (required)
...... coding 1..* Coding Code defined by a terminology system
... identifier
.... extension D 0..* Extension ✕ This element is not supported
.... type D 0..1 CodeableConcept ✕ This element is not supported
.... period D 0..1 Period ✕ This element is not supported
.... assigner D 0..1 Reference(CH EMED EPR Organization) ✕ This element will be removed in PML(C) documents
... basedOn D 0..* Reference(MedicationRequest | CarePlan | ServiceRequest) ✕ This element will be removed in PML(C) documents
... partOf D 0..0
... status 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Required Pattern: active
... statusReason D 0..* CodeableConcept ✕ This element is not supported
... category D 0..1 CodeableConcept ✕ This element is not supported
... medication[x] 1..1 Reference(CH Core Medication) What medication was taken
... Slices for medication[x] Content/Rules for all slices
.... medication[x]:medicationReference 0..1 Reference(CH EMED EPR Medication) {c} Reference to the contained medication
... subject 1..1 Reference(CH EMED EPR Patient) {r, b} Patient
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
... context D 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element will be removed in PML(C) documents
... effective[x] D 0..1 dateTime, Period ✕ Do not use. The effective period is contained in the main dosage
... derivedFrom D 0..* Reference(Resource) ✕ This element will be removed in PML(C) documents
... reasonCode 0..* CodeableConcept The treatment reason(s) as text, and optionally coded
.... extension D 0..* Extension ✕ This element is not supported
.... text 1..1 string Plain text representation of the treatment reason(s)
... reasonReference D 0..* Reference(Condition | Observation | DiagnosticReport) ✕ This element will be removed in PML(C) documents
... note
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
.... author[x] D 0..1 Reference(Practitioner | Patient | RelatedPerson | Organization), string ✕ The note author is ignored, as it cannot be different than the document and/or entry's author
.... time D 0..1 dateTime ✕ This element is not supported
.... text 1..1 markdown The annotation text content (as raw text, no markdown allowed).
... Slices for dosage Content/Rules for all slices
.... dosage:baseEntry 1..1 CHEMEDEPRDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
.... dosage:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationStatement.extension:substitution.value[x]requiredCHEMEDEprActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-emed-epr/ValueSet/ch-emed-epr-substance-admin-substitution-code
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement C 0..* CHEMEDMedicationStatement CH EMED MedicationStatement (MTP and basis)
ch-dosage-medstat: If one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
... contained 1..* Resource Contained, inline Resources
... Slices for extension Content/Rules for all slices
.... substitution 0..1 (Complex) Whether the dispenser can substitute the prescribed medicine/package by another that is deemed equivalent, for medical or logistical reasons. By default, substitution is authorized.
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
..... id 0..1 string ✕ This element is not supported
..... extension 0..0
..... url 1..1 uri "http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution"
..... value[x] 1..1 CodeableConcept Whether substitution is allowed or not
Binding: Substance Administration Substitution Codes (required)
...... coding Σ 1..* Coding Code defined by a terminology system
... identifier Σ 1..1 Identifier MedicationStatement Identifier
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept ✕ This element is not supported
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
.... period Σ 0..1 Period ✕ This element is not supported
.... assigner Σ 0..1 Reference(CH EMED EPR Organization) ✕ This element will be removed in PML(C) documents
... status ?!Σ 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.


Required Pattern: active
... statusReason 0..* CodeableConcept ✕ This element is not supported
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ 0..1 CodeableConcept ✕ This element is not supported
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) What medication was taken
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication) {c} Reference to the contained medication
... subject Σ 1..1 Reference(CH EMED EPR Patient) {r, b} Patient
.... id 0..1 string ✕ This element is not supported
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... context Σ 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element will be removed in PML(C) documents
... effective[x] Σ 0..1 ✕ Do not use. The effective period is contained in the main dosage
.... effectiveDateTime dateTime
.... effectivePeriod Period
... dateAsserted Σ 1..1 dateTime When the statement was asserted?
... informationSource 1..1 Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson) The author of the medical decision, see also 'Guidance - Authorship'
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... derivedFrom 0..* Reference(Resource) ✕ This element will be removed in PML(C) documents
... reasonCode 0..* CodeableConcept The treatment reason(s) as text, and optionally coded
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... text Σ 1..1 string Plain text representation of the treatment reason(s)
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport) ✕ This element will be removed in PML(C) documents
... Slices for dosage 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosage:baseEntry C 1..1 CHEMEDEPRDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ch-dosage-4: For split dosage timing event and dose/rate are required
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
.... dosage:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationStatement.extension:substitution.value[x]requiredCHEMEDEprActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-emed-epr/ValueSet/ch-emed-epr-substance-admin-substitution-code
from this IG
MedicationStatement.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationStatement.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
MedicationStatement.statusrequiredPattern: active
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
http://hl7.org/fhir/ValueSet/reason-medication-status-codes
from the FHIR Standard
MedicationStatement.categorypreferredMedication usage category codes
http://hl7.org/fhir/ValueSet/medication-statement-category
from the FHIR Standard
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningMedicationStatement.dosage:baseEntryIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-4errorMedicationStatement.dosage:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-dosage-medstaterrorMedicationStatementIf one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
: (dosage.count() > 1 implies dosage.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage') and sequence = 1).exists()) and (dosage.count() = 1 implies dosage.single().sequence.exists().not())
dom-2errorMedicationStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationStatementIf 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-4errorMedicationStatementIf 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-5errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement C 0..* CHEMEDMedicationStatement CH EMED MedicationStatement (MTP and basis)
ch-dosage-medstat: If one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id ✕ This element is not supported
.... lastUpdated Σ 0..1 instant ✕ This element is not supported
.... source Σ 0..1 uri ✕ This element is not supported
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding ✕ This element is not supported
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ 0..* Coding ✕ This element is not supported
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... contained 1..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... substitution 0..1 (Complex) Whether the dispenser can substitute the prescribed medicine/package by another that is deemed equivalent, for medical or logistical reasons. By default, substitution is authorized.
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
..... id 0..1 string ✕ This element is not supported
..... extension 0..0
..... url 1..1 uri "http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution"
..... value[x] 1..1 CodeableConcept Whether substitution is allowed or not
Binding: Substance Administration Substitution Codes (required)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 1..* Coding Code defined by a terminology system
...... text Σ 0..1 string Plain text representation of the concept
... identifier Σ 1..1 Identifier MedicationStatement Identifier
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept ✕ This element is not supported
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
.... period Σ 0..1 Period ✕ This element is not supported
.... assigner Σ 0..1 Reference(CH EMED EPR Organization) ✕ This element will be removed in PML(C) documents
... basedOn Σ 0..* Reference(MedicationRequest | CarePlan | ServiceRequest) ✕ This element will be removed in PML(C) documents
... status ?!Σ 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.


Required Pattern: active
... statusReason 0..* CodeableConcept ✕ This element is not supported
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ 0..1 CodeableConcept ✕ This element is not supported
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) What medication was taken
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication) {c} Reference to the contained medication
... subject Σ 1..1 Reference(CH EMED EPR Patient) {r, b} Patient
.... id 0..1 string ✕ This element is not supported
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... context Σ 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element will be removed in PML(C) documents
... effective[x] Σ 0..1 ✕ Do not use. The effective period is contained in the main dosage
.... effectiveDateTime dateTime
.... effectivePeriod Period
... dateAsserted Σ 1..1 dateTime When the statement was asserted?
... informationSource 1..1 Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson) The author of the medical decision, see also 'Guidance - Authorship'
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... derivedFrom 0..* Reference(Resource) ✕ This element will be removed in PML(C) documents
... reasonCode 0..* CodeableConcept The treatment reason(s) as text, and optionally coded
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 1..1 string Plain text representation of the treatment reason(s)
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport) ✕ This element will be removed in PML(C) documents
... note 0..* Annotation Further information about the statement
.... id 0..1 string ✕ This element is not supported
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... author[x] Σ 0..1 ✕ The note author is ignored, as it cannot be different than the document and/or entry's author
..... authorReference Reference(Practitioner | Patient | RelatedPerson | Organization)
..... authorString string
.... time Σ 0..1 dateTime ✕ This element is not supported
.... text Σ 1..1 markdown The annotation text content (as raw text, no markdown allowed).
... Slices for dosage 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosage:baseEntry C 1..1 CHEMEDEPRDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ch-dosage-4: For split dosage timing event and dose/rate are required
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
.... dosage:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationStatement.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
MedicationStatement.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
MedicationStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
MedicationStatement.extension:substitution.value[x]requiredCHEMEDEprActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-emed-epr/ValueSet/ch-emed-epr-substance-admin-substitution-code
from this IG
MedicationStatement.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationStatement.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
MedicationStatement.statusrequiredPattern: active
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
http://hl7.org/fhir/ValueSet/reason-medication-status-codes
from the FHIR Standard
MedicationStatement.categorypreferredMedication usage category codes
http://hl7.org/fhir/ValueSet/medication-statement-category
from the FHIR Standard
MedicationStatement.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationStatement.informationSource.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningMedicationStatement.dosage:baseEntryIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-4errorMedicationStatement.dosage:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-dosage-medstaterrorMedicationStatementIf one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
: (dosage.count() > 1 implies dosage.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage') and sequence = 1).exists()) and (dosage.count() = 1 implies dosage.single().sequence.exists().not())
dom-2errorMedicationStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationStatementIf 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-4errorMedicationStatementIf 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-5errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from CHEMEDMedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement CHEMEDMedicationStatement
... meta
.... extension D 0..* Extension ✕ This element is not supported
.... versionId D 0..1 id ✕ This element is not supported
.... lastUpdated D 0..1 instant ✕ This element is not supported
.... source D 0..1 uri ✕ This element is not supported
.... security D 0..* Coding ✕ This element is not supported
.... tag D 0..* Coding ✕ This element is not supported
... implicitRules 0..0
... Slices for extension Content/Rules for all slices
.... extension:substitution 0..1 CHEMEDExtSubstitution Whether the dispenser can substitute the prescribed medicine/package by another that is deemed equivalent, for medical or logistical reasons. By default, substitution is authorized.
..... id D 0..1 string ✕ This element is not supported
..... value[x] 1..1 CodeableConcept Whether substitution is allowed or not
Binding: Substance Administration Substitution Codes (required)
...... coding 1..* Coding Code defined by a terminology system
... identifier
.... extension D 0..* Extension ✕ This element is not supported
.... type D 0..1 CodeableConcept ✕ This element is not supported
.... period D 0..1 Period ✕ This element is not supported
.... assigner D 0..1 Reference(CH EMED EPR Organization) ✕ This element will be removed in PML(C) documents
... basedOn D 0..* Reference(MedicationRequest | CarePlan | ServiceRequest) ✕ This element will be removed in PML(C) documents
... partOf D 0..0
... status 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Required Pattern: active
... statusReason D 0..* CodeableConcept ✕ This element is not supported
... category D 0..1 CodeableConcept ✕ This element is not supported
... medication[x] 1..1 Reference(CH Core Medication) What medication was taken
... Slices for medication[x] Content/Rules for all slices
.... medication[x]:medicationReference 0..1 Reference(CH EMED EPR Medication) {c} Reference to the contained medication
... subject 1..1 Reference(CH EMED EPR Patient) {r, b} Patient
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
... context D 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element will be removed in PML(C) documents
... effective[x] D 0..1 dateTime, Period ✕ Do not use. The effective period is contained in the main dosage
... derivedFrom D 0..* Reference(Resource) ✕ This element will be removed in PML(C) documents
... reasonCode 0..* CodeableConcept The treatment reason(s) as text, and optionally coded
.... extension D 0..* Extension ✕ This element is not supported
.... text 1..1 string Plain text representation of the treatment reason(s)
... reasonReference D 0..* Reference(Condition | Observation | DiagnosticReport) ✕ This element will be removed in PML(C) documents
... note
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
.... author[x] D 0..1 Reference(Practitioner | Patient | RelatedPerson | Organization), string ✕ The note author is ignored, as it cannot be different than the document and/or entry's author
.... time D 0..1 dateTime ✕ This element is not supported
.... text 1..1 markdown The annotation text content (as raw text, no markdown allowed).
... Slices for dosage Content/Rules for all slices
.... dosage:baseEntry 1..1 CHEMEDEPRDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
.... dosage:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationStatement.extension:substitution.value[x]requiredCHEMEDEprActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-emed-epr/ValueSet/ch-emed-epr-substance-admin-substitution-code
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement C 0..* CHEMEDMedicationStatement CH EMED MedicationStatement (MTP and basis)
ch-dosage-medstat: If one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
... contained 1..* Resource Contained, inline Resources
... Slices for extension Content/Rules for all slices
.... substitution 0..1 (Complex) Whether the dispenser can substitute the prescribed medicine/package by another that is deemed equivalent, for medical or logistical reasons. By default, substitution is authorized.
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
..... id 0..1 string ✕ This element is not supported
..... extension 0..0
..... url 1..1 uri "http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution"
..... value[x] 1..1 CodeableConcept Whether substitution is allowed or not
Binding: Substance Administration Substitution Codes (required)
...... coding Σ 1..* Coding Code defined by a terminology system
... identifier Σ 1..1 Identifier MedicationStatement Identifier
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept ✕ This element is not supported
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
.... period Σ 0..1 Period ✕ This element is not supported
.... assigner Σ 0..1 Reference(CH EMED EPR Organization) ✕ This element will be removed in PML(C) documents
... status ?!Σ 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.


Required Pattern: active
... statusReason 0..* CodeableConcept ✕ This element is not supported
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ 0..1 CodeableConcept ✕ This element is not supported
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) What medication was taken
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication) {c} Reference to the contained medication
... subject Σ 1..1 Reference(CH EMED EPR Patient) {r, b} Patient
.... id 0..1 string ✕ This element is not supported
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... context Σ 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element will be removed in PML(C) documents
... effective[x] Σ 0..1 ✕ Do not use. The effective period is contained in the main dosage
.... effectiveDateTime dateTime
.... effectivePeriod Period
... dateAsserted Σ 1..1 dateTime When the statement was asserted?
... informationSource 1..1 Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson) The author of the medical decision, see also 'Guidance - Authorship'
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... derivedFrom 0..* Reference(Resource) ✕ This element will be removed in PML(C) documents
... reasonCode 0..* CodeableConcept The treatment reason(s) as text, and optionally coded
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... text Σ 1..1 string Plain text representation of the treatment reason(s)
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport) ✕ This element will be removed in PML(C) documents
... Slices for dosage 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosage:baseEntry C 1..1 CHEMEDEPRDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ch-dosage-4: For split dosage timing event and dose/rate are required
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
.... dosage:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationStatement.extension:substitution.value[x]requiredCHEMEDEprActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-emed-epr/ValueSet/ch-emed-epr-substance-admin-substitution-code
from this IG
MedicationStatement.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationStatement.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
MedicationStatement.statusrequiredPattern: active
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
http://hl7.org/fhir/ValueSet/reason-medication-status-codes
from the FHIR Standard
MedicationStatement.categorypreferredMedication usage category codes
http://hl7.org/fhir/ValueSet/medication-statement-category
from the FHIR Standard
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningMedicationStatement.dosage:baseEntryIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-4errorMedicationStatement.dosage:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-dosage-medstaterrorMedicationStatementIf one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
: (dosage.count() > 1 implies dosage.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage') and sequence = 1).exists()) and (dosage.count() = 1 implies dosage.single().sequence.exists().not())
dom-2errorMedicationStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationStatementIf 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-4errorMedicationStatementIf 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-5errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement C 0..* CHEMEDMedicationStatement CH EMED MedicationStatement (MTP and basis)
ch-dosage-medstat: If one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id ✕ This element is not supported
.... lastUpdated Σ 0..1 instant ✕ This element is not supported
.... source Σ 0..1 uri ✕ This element is not supported
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding ✕ This element is not supported
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ 0..* Coding ✕ This element is not supported
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... contained 1..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... substitution 0..1 (Complex) Whether the dispenser can substitute the prescribed medicine/package by another that is deemed equivalent, for medical or logistical reasons. By default, substitution is authorized.
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
..... id 0..1 string ✕ This element is not supported
..... extension 0..0
..... url 1..1 uri "http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution"
..... value[x] 1..1 CodeableConcept Whether substitution is allowed or not
Binding: Substance Administration Substitution Codes (required)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 1..* Coding Code defined by a terminology system
...... text Σ 0..1 string Plain text representation of the concept
... identifier Σ 1..1 Identifier MedicationStatement Identifier
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept ✕ This element is not supported
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
.... period Σ 0..1 Period ✕ This element is not supported
.... assigner Σ 0..1 Reference(CH EMED EPR Organization) ✕ This element will be removed in PML(C) documents
... basedOn Σ 0..* Reference(MedicationRequest | CarePlan | ServiceRequest) ✕ This element will be removed in PML(C) documents
... status ?!Σ 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.


Required Pattern: active
... statusReason 0..* CodeableConcept ✕ This element is not supported
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ 0..1 CodeableConcept ✕ This element is not supported
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) What medication was taken
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication) {c} Reference to the contained medication
... subject Σ 1..1 Reference(CH EMED EPR Patient) {r, b} Patient
.... id 0..1 string ✕ This element is not supported
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... context Σ 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element will be removed in PML(C) documents
... effective[x] Σ 0..1 ✕ Do not use. The effective period is contained in the main dosage
.... effectiveDateTime dateTime
.... effectivePeriod Period
... dateAsserted Σ 1..1 dateTime When the statement was asserted?
... informationSource 1..1 Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson) The author of the medical decision, see also 'Guidance - Authorship'
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... derivedFrom 0..* Reference(Resource) ✕ This element will be removed in PML(C) documents
... reasonCode 0..* CodeableConcept The treatment reason(s) as text, and optionally coded
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
.... text Σ 1..1 string Plain text representation of the treatment reason(s)
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport) ✕ This element will be removed in PML(C) documents
... note 0..* Annotation Further information about the statement
.... id 0..1 string ✕ This element is not supported
.... extension 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... author[x] Σ 0..1 ✕ The note author is ignored, as it cannot be different than the document and/or entry's author
..... authorReference Reference(Practitioner | Patient | RelatedPerson | Organization)
..... authorString string
.... time Σ 0..1 dateTime ✕ This element is not supported
.... text Σ 1..1 markdown The annotation text content (as raw text, no markdown allowed).
... Slices for dosage 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosage:baseEntry C 1..1 CHEMEDEPRDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ch-dosage-4: For split dosage timing event and dose/rate are required
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
.... dosage:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationStatement.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
MedicationStatement.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
MedicationStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
MedicationStatement.extension:substitution.value[x]requiredCHEMEDEprActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-emed-epr/ValueSet/ch-emed-epr-substance-admin-substitution-code
from this IG
MedicationStatement.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationStatement.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
MedicationStatement.statusrequiredPattern: active
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
http://hl7.org/fhir/ValueSet/reason-medication-status-codes
from the FHIR Standard
MedicationStatement.categorypreferredMedication usage category codes
http://hl7.org/fhir/ValueSet/medication-statement-category
from the FHIR Standard
MedicationStatement.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationStatement.informationSource.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
base-dosage-textwarningMedicationStatement.dosage:baseEntryIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-4errorMedicationStatement.dosage:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-dosage-medstaterrorMedicationStatementIf one dosage element is present, it should not have a sequence number. If more than one dosage element is present, the base entry has the sequence number 1.
: (dosage.count() > 1 implies dosage.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage') and sequence = 1).exists()) and (dosage.count() = 1 implies dosage.single().sequence.exists().not())
dom-2errorMedicationStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationStatementIf 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-4errorMedicationStatementIf 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-5errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron