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 MedicationDispense (DIS)

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

Copyright/Legal: CC0-1.0

Definition of the medication dispense for the medication dispense document

Usage:

Formal Views of Profile Content

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

This structure is derived from CHCoreMedicationDispense

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*CHCoreMedicationDispenseCH EMED MedicationDispense (DIS)
ch-dosage-meddis: 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
... extension:treatmentReason 0..1CHEMEDExtTreatmentReasonTreatment reason
... prescription 0..1(Complex)Reference to the medication prescription
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-prescription
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... identifier 1..1IdentifierMedicationDispense 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
... status 1..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Fixed Value: completed
... Slices for medication[x] 1..1CodeableConcept, Reference(CH Core Medication)What medication was supplied
Slice: Unordered, Open by type:$this
.... medication[x]:medicationReference 0..1Reference(CH EMED Medication (MedicationDispense)) {c}Reference to the contained medication
... subject 0..1Reference(CH Core Patient)Patient
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... performer 1..1BackboneElementWho performed event
.... actor 1..1Reference(CH EMED PractitionerRole)The author of the medical decision, see also 'Guidance - Authorship'
..... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... quantity 1..1SimpleQuantityNumber of packages
... whenHandedOver 1..1dateTimeWhen product was given out
... Slices for dosageInstruction 1..*CHCoreDosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry 1..1CHEMEDDosageBase entry of the dosage instruction
.... dosageInstruction:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction
... substitution C0..1BackboneElementWhether a substitution was performed on the dispense
ch-emed-dis-1: If no substitution was performed, no type is expected.
.... type 0..1CodeableConceptIf 'wasSubstituted = true', the type can be defined in addition (optional). If 'wasSubstituted = false', no type is expected.
Binding: ActSubstanceAdminSubstitutionCode (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationDispense.substitution.typerequiredActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-term/ValueSet/ActSubstanceAdminSubstitutionCode

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-meddiserrorMedicationDispenseIf 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.
: (dosageInstruction.count() > 1 implies dosageInstruction.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage') and sequence = 1).exists()) and (dosageInstruction.count() = 1 implies dosageInstruction.single().sequence.exists().not())
ch-emed-dis-1errorMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*CHCoreMedicationDispenseCH EMED MedicationDispense (DIS)
mdd-1: whenHandedOver cannot be before whenPrepared
ch-dosage-meddis: 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
... treatmentReason 0..1stringTreatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
... pharmaceuticalAdvice 0..1(Complex)Reference to the pharmaceutical advice
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 1..1IdentifierMedicationDispense 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..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Binding: MedicationDispense Status Codes (required): A coded concept specifying the state of the dispense event.


Fixed Value: completed
... Slices for medication[x] Σ1..1What medication was supplied
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(CH Core Medication)
.... medication[x]:medicationReference Σ0..1Reference(CH EMED Medication (MedicationDispense)) {c}Reference to the contained medication
... subject Σ0..1Reference(CH Core Patient)Patient
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... performer 1..1BackboneElementWho performed event
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... actor 1..1Reference(CH EMED PractitionerRole)The author of the medical decision, see also 'Guidance - Authorship'
..... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... quantity 1..1SimpleQuantityNumber of packages
... whenHandedOver 1..1dateTimeWhen product was given out
... Slices for dosageInstruction 1..*CHCoreDosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry C1..1CHEMEDDosageBase entry of the dosage instruction
ch-dosage-4: For split dosage timing event and dose/rate are required
.... dosageInstruction:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction
... substitution C0..1BackboneElementWhether a substitution was performed on the dispense
ch-meddis-1: If no substitution was performed, no type is expected.
ch-emed-dis-1: If no substitution was performed, no type is expected.
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... wasSubstituted 1..1booleanWhether a substitution was (true) or was not (false) performed on the dispense
.... type 0..1CodeableConceptIf 'wasSubstituted = true', the type can be defined in addition (optional). If 'wasSubstituted = false', no type is expected.
Binding: ActSubstanceAdminSubstitutionCode (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationDispense.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationDispense.statusrequiredFixed Value: completed
http://hl7.org/fhir/ValueSet/medicationdispense-status|4.0.1
from the FHIR Standard
MedicationDispense.medication[x]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
from the FHIR Standard
MedicationDispense.substitution.typerequiredActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-term/ValueSet/ActSubstanceAdminSubstitutionCode

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-4errorMedicationDispense.dosageInstruction:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-dosage-meddiserrorMedicationDispenseIf 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.
: (dosageInstruction.count() > 1 implies dosageInstruction.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage') and sequence = 1).exists()) and (dosageInstruction.count() = 1 implies dosageInstruction.single().sequence.exists().not())
ch-emed-dis-1errorMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
ch-meddis-1warningMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf 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-4errorMedicationDispenseIf 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-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationDispenseA 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()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*CHCoreMedicationDispenseCH EMED MedicationDispense (DIS)
mdd-1: whenHandedOver cannot be before whenPrepared
ch-dosage-meddis: 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
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... 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
... treatmentReason 0..1stringTreatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
... prescription 0..1(Complex)Reference to the medication prescription
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-prescription
... pharmaceuticalAdvice 0..1(Complex)Reference to the pharmaceutical advice
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 1..1IdentifierMedicationDispense 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)
... partOf 0..*Reference(Procedure)Event that dispense is part of
... status ?!Σ1..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Binding: MedicationDispense Status Codes (required): A coded concept specifying the state of the dispense event.


Fixed Value: completed
... statusReason[x] 0..1Why a dispense was not performed
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.

.... statusReasonCodeableConceptCodeableConcept
.... statusReasonReferenceReference(DetectedIssue)
... category 0..1CodeableConceptType of medication dispense
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.

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

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(CH Core Medication)
.... medication[x]:medicationReference Σ0..1Reference(CH EMED Medication (MedicationDispense)) {c}Reference to the contained medication
... subject Σ0..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 event
... supportingInformation 0..*Reference(Resource)Information that supports the dispensing of the medication
... performer 1..1BackboneElementWho performed event
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function 0..1CodeableConceptWho performed the dispense and what they did
Binding: MedicationDispense Performer Function Codes (example): A code describing the role an individual played in dispensing a medication.

.... actor 1..1Reference(CH EMED PractitionerRole)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
... location 0..1Reference(Location)Where the dispense occurred
... authorizingPrescription 0..*Reference(MedicationRequest)Medication order that authorizes the dispense
... type 0..1CodeableConceptTrial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (example): Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.

... quantity 1..1SimpleQuantityNumber of packages
... daysSupply 0..1SimpleQuantityAmount of medication expressed as a timing amount
... whenPrepared Σ0..1dateTimeWhen product was packaged and reviewed
... whenHandedOver 1..1dateTimeWhen product was given out
... destination 0..1Reference(Location)Where the medication was sent
... receiver 0..*Reference(Patient | Practitioner)Who collected the medication
... note 0..*AnnotationInformation about the dispense
... Slices for dosageInstruction 1..*CHCoreDosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry C1..1CHEMEDDosageBase entry of the dosage instruction
ch-dosage-4: For split dosage timing event and dose/rate are required
.... dosageInstruction:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction
... substitution C0..1BackboneElementWhether a substitution was performed on the dispense
ch-meddis-1: If no substitution was performed, no type is expected.
ch-emed-dis-1: If no substitution was performed, no type is expected.
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... wasSubstituted 1..1booleanWhether a substitution was (true) or was not (false) performed on the dispense
.... type 0..1CodeableConceptIf 'wasSubstituted = true', the type can be defined in addition (optional). If 'wasSubstituted = false', no type is expected.
Binding: ActSubstanceAdminSubstitutionCode (required)
.... reason 0..*CodeableConceptWhy was substitution made
Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.


.... responsibleParty 0..*Reference(Practitioner | PractitionerRole)Who is responsible for the substitution
... detectedIssue 0..*Reference(DetectedIssue)Clinical issue with action
... eventHistory 0..*Reference(Provenance)A list of relevant lifecycle events

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationDispense.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
MedicationDispense.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationDispense.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
MedicationDispense.statusrequiredFixed Value: completed
http://hl7.org/fhir/ValueSet/medicationdispense-status|4.0.1
from the FHIR Standard
MedicationDispense.statusReason[x]exampleMedicationDispense Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
from the FHIR Standard
MedicationDispense.categorypreferredMedicationDispense Category Codes
http://hl7.org/fhir/ValueSet/medicationdispense-category
from the FHIR Standard
MedicationDispense.medication[x]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
from the FHIR Standard
MedicationDispense.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationDispense.performer.functionexampleMedicationDispense Performer Function Codes
http://hl7.org/fhir/ValueSet/medicationdispense-performer-function
from the FHIR Standard
MedicationDispense.performer.actor.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationDispense.typeexampleActPharmacySupplyType
http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType
MedicationDispense.substitution.typerequiredActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-term/ValueSet/ActSubstanceAdminSubstitutionCode
MedicationDispense.substitution.reasonexampleSubstanceAdminSubstitutionReason
http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-4errorMedicationDispense.dosageInstruction:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-dosage-meddiserrorMedicationDispenseIf 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.
: (dosageInstruction.count() > 1 implies dosageInstruction.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage') and sequence = 1).exists()) and (dosageInstruction.count() = 1 implies dosageInstruction.single().sequence.exists().not())
ch-emed-dis-1errorMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
ch-meddis-1warningMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf 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-4errorMedicationDispenseIf 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-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationDispenseA 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()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared

Differential View

This structure is derived from CHCoreMedicationDispense

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*CHCoreMedicationDispenseCH EMED MedicationDispense (DIS)
ch-dosage-meddis: 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
... extension:treatmentReason 0..1CHEMEDExtTreatmentReasonTreatment reason
... prescription 0..1(Complex)Reference to the medication prescription
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-prescription
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... identifier 1..1IdentifierMedicationDispense 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
... status 1..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Fixed Value: completed
... Slices for medication[x] 1..1CodeableConcept, Reference(CH Core Medication)What medication was supplied
Slice: Unordered, Open by type:$this
.... medication[x]:medicationReference 0..1Reference(CH EMED Medication (MedicationDispense)) {c}Reference to the contained medication
... subject 0..1Reference(CH Core Patient)Patient
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... performer 1..1BackboneElementWho performed event
.... actor 1..1Reference(CH EMED PractitionerRole)The author of the medical decision, see also 'Guidance - Authorship'
..... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... quantity 1..1SimpleQuantityNumber of packages
... whenHandedOver 1..1dateTimeWhen product was given out
... Slices for dosageInstruction 1..*CHCoreDosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry 1..1CHEMEDDosageBase entry of the dosage instruction
.... dosageInstruction:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction
... substitution C0..1BackboneElementWhether a substitution was performed on the dispense
ch-emed-dis-1: If no substitution was performed, no type is expected.
.... type 0..1CodeableConceptIf 'wasSubstituted = true', the type can be defined in addition (optional). If 'wasSubstituted = false', no type is expected.
Binding: ActSubstanceAdminSubstitutionCode (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationDispense.substitution.typerequiredActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-term/ValueSet/ActSubstanceAdminSubstitutionCode

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-meddiserrorMedicationDispenseIf 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.
: (dosageInstruction.count() > 1 implies dosageInstruction.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage') and sequence = 1).exists()) and (dosageInstruction.count() = 1 implies dosageInstruction.single().sequence.exists().not())
ch-emed-dis-1errorMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*CHCoreMedicationDispenseCH EMED MedicationDispense (DIS)
mdd-1: whenHandedOver cannot be before whenPrepared
ch-dosage-meddis: 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
... treatmentReason 0..1stringTreatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
... pharmaceuticalAdvice 0..1(Complex)Reference to the pharmaceutical advice
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 1..1IdentifierMedicationDispense 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..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Binding: MedicationDispense Status Codes (required): A coded concept specifying the state of the dispense event.


Fixed Value: completed
... Slices for medication[x] Σ1..1What medication was supplied
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(CH Core Medication)
.... medication[x]:medicationReference Σ0..1Reference(CH EMED Medication (MedicationDispense)) {c}Reference to the contained medication
... subject Σ0..1Reference(CH Core Patient)Patient
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... performer 1..1BackboneElementWho performed event
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... actor 1..1Reference(CH EMED PractitionerRole)The author of the medical decision, see also 'Guidance - Authorship'
..... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... quantity 1..1SimpleQuantityNumber of packages
... whenHandedOver 1..1dateTimeWhen product was given out
... Slices for dosageInstruction 1..*CHCoreDosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry C1..1CHEMEDDosageBase entry of the dosage instruction
ch-dosage-4: For split dosage timing event and dose/rate are required
.... dosageInstruction:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction
... substitution C0..1BackboneElementWhether a substitution was performed on the dispense
ch-meddis-1: If no substitution was performed, no type is expected.
ch-emed-dis-1: If no substitution was performed, no type is expected.
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... wasSubstituted 1..1booleanWhether a substitution was (true) or was not (false) performed on the dispense
.... type 0..1CodeableConceptIf 'wasSubstituted = true', the type can be defined in addition (optional). If 'wasSubstituted = false', no type is expected.
Binding: ActSubstanceAdminSubstitutionCode (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationDispense.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationDispense.statusrequiredFixed Value: completed
http://hl7.org/fhir/ValueSet/medicationdispense-status|4.0.1
from the FHIR Standard
MedicationDispense.medication[x]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
from the FHIR Standard
MedicationDispense.substitution.typerequiredActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-term/ValueSet/ActSubstanceAdminSubstitutionCode

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-4errorMedicationDispense.dosageInstruction:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-dosage-meddiserrorMedicationDispenseIf 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.
: (dosageInstruction.count() > 1 implies dosageInstruction.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage') and sequence = 1).exists()) and (dosageInstruction.count() = 1 implies dosageInstruction.single().sequence.exists().not())
ch-emed-dis-1errorMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
ch-meddis-1warningMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf 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-4errorMedicationDispenseIf 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-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationDispenseA 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()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*CHCoreMedicationDispenseCH EMED MedicationDispense (DIS)
mdd-1: whenHandedOver cannot be before whenPrepared
ch-dosage-meddis: 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
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... 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
... treatmentReason 0..1stringTreatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
... prescription 0..1(Complex)Reference to the medication prescription
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-prescription
... pharmaceuticalAdvice 0..1(Complex)Reference to the pharmaceutical advice
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 1..1IdentifierMedicationDispense 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)
... partOf 0..*Reference(Procedure)Event that dispense is part of
... status ?!Σ1..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Binding: MedicationDispense Status Codes (required): A coded concept specifying the state of the dispense event.


Fixed Value: completed
... statusReason[x] 0..1Why a dispense was not performed
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.

.... statusReasonCodeableConceptCodeableConcept
.... statusReasonReferenceReference(DetectedIssue)
... category 0..1CodeableConceptType of medication dispense
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.

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

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(CH Core Medication)
.... medication[x]:medicationReference Σ0..1Reference(CH EMED Medication (MedicationDispense)) {c}Reference to the contained medication
... subject Σ0..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 event
... supportingInformation 0..*Reference(Resource)Information that supports the dispensing of the medication
... performer 1..1BackboneElementWho performed event
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function 0..1CodeableConceptWho performed the dispense and what they did
Binding: MedicationDispense Performer Function Codes (example): A code describing the role an individual played in dispensing a medication.

.... actor 1..1Reference(CH EMED PractitionerRole)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
... location 0..1Reference(Location)Where the dispense occurred
... authorizingPrescription 0..*Reference(MedicationRequest)Medication order that authorizes the dispense
... type 0..1CodeableConceptTrial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (example): Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.

... quantity 1..1SimpleQuantityNumber of packages
... daysSupply 0..1SimpleQuantityAmount of medication expressed as a timing amount
... whenPrepared Σ0..1dateTimeWhen product was packaged and reviewed
... whenHandedOver 1..1dateTimeWhen product was given out
... destination 0..1Reference(Location)Where the medication was sent
... receiver 0..*Reference(Patient | Practitioner)Who collected the medication
... note 0..*AnnotationInformation about the dispense
... Slices for dosageInstruction 1..*CHCoreDosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry C1..1CHEMEDDosageBase entry of the dosage instruction
ch-dosage-4: For split dosage timing event and dose/rate are required
.... dosageInstruction:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction
... substitution C0..1BackboneElementWhether a substitution was performed on the dispense
ch-meddis-1: If no substitution was performed, no type is expected.
ch-emed-dis-1: If no substitution was performed, no type is expected.
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... wasSubstituted 1..1booleanWhether a substitution was (true) or was not (false) performed on the dispense
.... type 0..1CodeableConceptIf 'wasSubstituted = true', the type can be defined in addition (optional). If 'wasSubstituted = false', no type is expected.
Binding: ActSubstanceAdminSubstitutionCode (required)
.... reason 0..*CodeableConceptWhy was substitution made
Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.


.... responsibleParty 0..*Reference(Practitioner | PractitionerRole)Who is responsible for the substitution
... detectedIssue 0..*Reference(DetectedIssue)Clinical issue with action
... eventHistory 0..*Reference(Provenance)A list of relevant lifecycle events

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationDispense.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
MedicationDispense.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
MedicationDispense.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
MedicationDispense.statusrequiredFixed Value: completed
http://hl7.org/fhir/ValueSet/medicationdispense-status|4.0.1
from the FHIR Standard
MedicationDispense.statusReason[x]exampleMedicationDispense Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
from the FHIR Standard
MedicationDispense.categorypreferredMedicationDispense Category Codes
http://hl7.org/fhir/ValueSet/medicationdispense-category
from the FHIR Standard
MedicationDispense.medication[x]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
from the FHIR Standard
MedicationDispense.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationDispense.performer.functionexampleMedicationDispense Performer Function Codes
http://hl7.org/fhir/ValueSet/medicationdispense-performer-function
from the FHIR Standard
MedicationDispense.performer.actor.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
MedicationDispense.typeexampleActPharmacySupplyType
http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType
MedicationDispense.substitution.typerequiredActSubstanceAdminSubstitutionCode
http://fhir.ch/ig/ch-term/ValueSet/ActSubstanceAdminSubstitutionCode
MedicationDispense.substitution.reasonexampleSubstanceAdminSubstitutionReason
http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-4errorMedicationDispense.dosageInstruction:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-dosage-meddiserrorMedicationDispenseIf 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.
: (dosageInstruction.count() > 1 implies dosageInstruction.where($this.conformsTo('http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage') and sequence = 1).exists()) and (dosageInstruction.count() = 1 implies dosageInstruction.single().sequence.exists().not())
ch-emed-dis-1errorMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
ch-meddis-1warningMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf 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-4errorMedicationDispenseIf 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-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationDispenseA 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()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared

 

Other representations of profile: CSV, Excel, Schematron