CH EMED (R4)
5.0.0-ci-build - trial-use Switzerland flag

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

Resource Profile: CH EMED MedicationStatement

Official URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-medicationstatement Version: 5.0.0-ci-build
Active as of 2024-03-28 Computable Name: CHEMEDMedicationStatement

Copyright/Legal: CC0-1.0

Definition of the medication statement for the medication treatment plan document (and as basis medication statement)

Usage:

Formal Views of Profile Content

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

This structure is derived from CHCoreMedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement C0..*CHCoreMedicationStatementCH 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..*ResourceContained, inline Resources
... identifier 1..1IdentifierMedicationStatement Identifier
.... system 1..1uriThe namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value 1..1stringIdentifier value as UUID
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
... Slices for medication[x] 1..1CodeableConcept, Reference(CH Core Medication)What medication was taken
Slice: Unordered, Open by type:$this
.... medication[x]:medicationReference 0..1Reference(CH EMED Medication) {c}Reference to the contained medication
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... dateAsserted 1..1dateTimeWhen the statement was asserted?
... informationSource 1..1Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson)The author of the medical decision, see also 'Guidance - Authorship'
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... reasonCode 0..1CodeableConceptTreatment reason
... Slices for dosage 1..*CHCoreDosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosage:baseEntry 1..1CHEMEDDosageBase entry of the dosage instruction
.... dosage:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
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())
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement C0..*CHCoreMedicationStatementCH 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.
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 1..*ResourceContained, inline Resources
... substitution 0..1CodeableConceptWhether substitution is allowed or not
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
Binding: ActSubstanceAdminSubstitutionCode (preferred)
... identifier Σ1..1IdentifierMedicationStatement Identifier
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... system Σ1..1uriThe namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ1..1stringIdentifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
... status ?!Σ1..1codeactive | 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.

... Slices for medication[x] Σ1..1What medication was taken
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(CH Core Medication)
.... medication[x]:medicationReference Σ0..1Reference(CH EMED Medication) {c}Reference to the contained medication
... subject Σ1..1Reference(CH Core Patient)Patient
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... dateAsserted Σ1..1dateTimeWhen the statement was asserted?
... informationSource 1..1Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson)The author of the medical decision, see also 'Guidance - Authorship'
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... reasonCode 0..1CodeableConceptTreatment reason
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


... Slices for dosage 1..*CHCoreDosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosage:baseEntry C1..1CHEMEDDosageBase entry of the dosage instruction
ch-dosage-4: For split dosage timing event and dose/rate are required
.... dosage:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationStatement.statusrequiredMedication Status Codes
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.medication[x]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
from the FHIR Standard
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
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 C0..*CHCoreMedicationStatementCH 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..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 1..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... substitution 0..1CodeableConceptWhether substitution is allowed or not
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
Binding: ActSubstanceAdminSubstitutionCode (preferred)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ1..1IdentifierMedicationStatement Identifier
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier
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..1uriThe namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ1..1stringIdentifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... basedOn Σ0..*Reference(MedicationRequest | CarePlan | ServiceRequest)Fulfils plan, proposal or order
... partOf Σ0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation)Part of referenced event
... status ?!Σ1..1codeactive | 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.

... statusReason 0..*CodeableConceptReason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ0..1CodeableConceptType of medication usage
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... Slices for medication[x] Σ1..1What medication was taken
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(CH Core Medication)
.... medication[x]:medicationReference Σ0..1Reference(CH EMED Medication) {c}Reference to the contained medication
... subject Σ1..1Reference(CH Core Patient)Patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource
... context Σ0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] Σ0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... dateAsserted Σ1..1dateTimeWhen the statement was asserted?
... informationSource 1..1Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson)The author of the medical decision, see also 'Guidance - Authorship'
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource
... derivedFrom 0..*Reference(Resource)Additional supporting information
... reasonCode 0..1CodeableConceptTreatment reason
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Condition or observation that supports why the medication is being/was taken
... note 0..*AnnotationFurther information about the statement
... Slices for dosage 1..*CHCoreDosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosage:baseEntry C1..1CHEMEDDosageBase entry of the dosage instruction
ch-dosage-4: For split dosage timing event and dose/rate are required
.... dosage:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
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.statusrequiredMedication Status Codes
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.medication[x]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
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
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 CHCoreMedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement C0..*CHCoreMedicationStatementCH 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..*ResourceContained, inline Resources
... identifier 1..1IdentifierMedicationStatement Identifier
.... system 1..1uriThe namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value 1..1stringIdentifier value as UUID
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
... Slices for medication[x] 1..1CodeableConcept, Reference(CH Core Medication)What medication was taken
Slice: Unordered, Open by type:$this
.... medication[x]:medicationReference 0..1Reference(CH EMED Medication) {c}Reference to the contained medication
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... dateAsserted 1..1dateTimeWhen the statement was asserted?
... informationSource 1..1Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson)The author of the medical decision, see also 'Guidance - Authorship'
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... reasonCode 0..1CodeableConceptTreatment reason
... Slices for dosage 1..*CHCoreDosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosage:baseEntry 1..1CHEMEDDosageBase entry of the dosage instruction
.... dosage:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
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())

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement C0..*CHCoreMedicationStatementCH 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.
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 1..*ResourceContained, inline Resources
... substitution 0..1CodeableConceptWhether substitution is allowed or not
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
Binding: ActSubstanceAdminSubstitutionCode (preferred)
... identifier Σ1..1IdentifierMedicationStatement Identifier
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... system Σ1..1uriThe namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ1..1stringIdentifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
... status ?!Σ1..1codeactive | 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.

... Slices for medication[x] Σ1..1What medication was taken
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(CH Core Medication)
.... medication[x]:medicationReference Σ0..1Reference(CH EMED Medication) {c}Reference to the contained medication
... subject Σ1..1Reference(CH Core Patient)Patient
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... dateAsserted Σ1..1dateTimeWhen the statement was asserted?
... informationSource 1..1Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson)The author of the medical decision, see also 'Guidance - Authorship'
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... reasonCode 0..1CodeableConceptTreatment reason
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


... Slices for dosage 1..*CHCoreDosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosage:baseEntry C1..1CHEMEDDosageBase entry of the dosage instruction
ch-dosage-4: For split dosage timing event and dose/rate are required
.... dosage:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationStatement.statusrequiredMedication Status Codes
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.medication[x]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
from the FHIR Standard
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
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 C0..*CHCoreMedicationStatementCH 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..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 1..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... substitution 0..1CodeableConceptWhether substitution is allowed or not
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution
Binding: ActSubstanceAdminSubstitutionCode (preferred)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ1..1IdentifierMedicationStatement Identifier
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier
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..1uriThe namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ1..1stringIdentifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... basedOn Σ0..*Reference(MedicationRequest | CarePlan | ServiceRequest)Fulfils plan, proposal or order
... partOf Σ0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation)Part of referenced event
... status ?!Σ1..1codeactive | 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.

... statusReason 0..*CodeableConceptReason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ0..1CodeableConceptType of medication usage
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... Slices for medication[x] Σ1..1What medication was taken
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(CH Core Medication)
.... medication[x]:medicationReference Σ0..1Reference(CH EMED Medication) {c}Reference to the contained medication
... subject Σ1..1Reference(CH Core Patient)Patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource
... context Σ0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with MedicationStatement
... effective[x] Σ0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... dateAsserted Σ1..1dateTimeWhen the statement was asserted?
... informationSource 1..1Reference(CH EMED PractitionerRole | CH Core Patient EPR | RelatedPerson)The author of the medical decision, see also 'Guidance - Authorship'
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource
... derivedFrom 0..*Reference(Resource)Additional supporting information
... reasonCode 0..1CodeableConceptTreatment reason
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Condition or observation that supports why the medication is being/was taken
... note 0..*AnnotationFurther information about the statement
... Slices for dosage 1..*CHCoreDosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosage:baseEntry C1..1CHEMEDDosageBase entry of the dosage instruction
ch-dosage-4: For split dosage timing event and dose/rate are required
.... dosage:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
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.statusrequiredMedication Status Codes
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.medication[x]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
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
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