CH EMED EPR
2.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 2.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: DIS MedicationDispense

Official URL: http://fhir.ch/ig/ch-emed-epr/StructureDefinition/ch-emed-epr-medicationdispense Version: 2.0.1-ci-build
Draft as of 2025-09-04 Computable Name: CHEMEDEPRMedicationDispense

Copyright/Legal: CC0-1.0

Definition of the medication dispense for the medication dispense document

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationDispense C 0..* CHEMEDMedicationDispense CH EMED MedicationDispense (DIS)
Constraints: mdd-1, ch-dosage-meddis, split-dosage-instruction-unit-must-match-base-dosage-instruction
... contained 1..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:treatmentReason 0..* string Treatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
.... extension:prescription 0..1 (Complex) Reference to te medication prescription. This item is mandantory if the treatment has already been prescribed.
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-prescription
.... extension:pharmaceuticalAdvice D 0..1 (Complex) ✕ This element is not supported
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
.... extension:treatmentPlan 1..1 (Complex) CH EMED Extension
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... identifier 1..1 Identifier MedicationDispense Identifier
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... 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
... status ?!Σ 1..1 code preparation | 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] D 0..1 ✕ This is only meaningful when the dispense was not performed
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.
.... statusReasonCodeableConcept CodeableConcept
.... statusReasonReference Reference(DetectedIssue)
... category D 0..1 CodeableConcept ✕ This element is not supported
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.
... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) What medication was supplied
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication (DIS)) {c} Reference to the contained medication
... subject Σ 0..1 Reference(CH EMED EPR Patient) {r, b} Patient
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... context D 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element is not supported
... supportingInformation D 0..* Reference(Resource) ✕ This element is not supported
... performer 1..1 BackboneElement Who performed event
.... actor 1..1 Reference(CH EMED PractitionerRole) The author of the medical decision, see also 'Guidance - Authorship'
..... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... location D 0..1 Reference(Location) ✕ This element is not supported
... authorizingPrescription D 0..* Reference(MedicationRequest) ✕ This element is not supported
... type D 0..1 CodeableConcept ✕ This element is not supported
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..1 CHEMEDEPRAmountQuantity Number of packages
... daysSupply D 0..1 CHEMEDEPRTimeQuantity ✕ This element is not supported
... whenPrepared ΣD 0..1 dateTime ✕ This element is not supported
... whenHandedOver 1..1 dateTime When product was given out
... destination D 0..1 Reference(Location) ✕ This element is not supported
... receiver D 0..* Reference(Patient | Practitioner) ✕ This element is not supported
... Slices for dosageInstruction 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry 1..1 CHEMEDEPRDosage Base entry of the dosage instruction
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit Additional entry of the dosage instruction
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported

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.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.typeexampleActPharmacySupplyType
http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType

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())
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
split-dosage-instruction-unit-must-match-base-dosage-instructionerrorMedicationDispenseThe unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
: (dosageInstruction.count() > 1) implies dosageInstruction.doseAndRate.dose.ofType(Quantity).code.union(dosageInstruction.doseAndRate.dose.ofType(Range).low.code).union(dosageInstruction.doseAndRate.dose.ofType(Range).high.code).union(dosageInstruction.doseAndRate.rate.numerator.code).count() = 1

This structure is derived from CHEMEDMedicationDispense

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationDispense C 0..* CHEMEDMedicationDispense CH EMED MedicationDispense (DIS)
Constraints: split-dosage-instruction-unit-must-match-base-dosage-instruction
... 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
... extension 1..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:prescription 0..1 CHEMEDExtPrescription Reference to te medication prescription. This item is mandantory if the treatment has already been prescribed.
.... extension:pharmaceuticalAdvice D 0..1 CHEMEDExtPharmaceuticalAdvice ✕ This element is not supported
.... extension:treatmentPlan 1..1 CHEMEDExtTreatmentPlan CH EMED Extension
... modifierExtension 0..0
... partOf D 0..* Reference(Procedure) ✕ This element is not supported
... statusReason[x] D 0..1 CodeableConcept, Reference(DetectedIssue) ✕ This is only meaningful when the dispense was not performed
... category D 0..1 CodeableConcept ✕ This element is not supported
... medication[x] 1..1 Reference(CH Core Medication) What medication was supplied
... Slices for medication[x] Content/Rules for all slices
.... medication[x]:medicationReference 0..1 Reference(CH EMED EPR Medication (DIS)) {c} Reference to the contained medication
... subject 0..1 Reference(CH EMED EPR Patient) {r, b} Patient
... context D 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element is not supported
... supportingInformation D 0..* Reference(Resource) ✕ This element is not supported
... performer
.... modifierExtension 0..0
... location D 0..1 Reference(Location) ✕ This element is not supported
... authorizingPrescription D 0..* Reference(MedicationRequest) ✕ This element is not supported
... type D 0..1 CodeableConcept ✕ This element is not supported
... quantity 1..1 CHEMEDEPRAmountQuantity Number of packages
... daysSupply D 0..1 CHEMEDEPRTimeQuantity ✕ This element is not supported
... whenPrepared D 0..1 dateTime ✕ This element is not supported
... destination D 0..1 Reference(Location) ✕ This element is not supported
... receiver D 0..* Reference(Patient | Practitioner) ✕ This element is not supported
... 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 dosageInstruction Content/Rules for all slices
.... dosageInstruction:baseEntry 1..1 CHEMEDEPRDosage Base entry of the dosage instruction
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit Additional entry of the dosage instruction
... substitution
.... modifierExtension 0..0
.... type
..... coding 0..* Coding Code defined by a terminology system
Required Pattern: At least the following
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: E
...... display 1..1 string Representation defined by the system
Fixed Value: equivalent
.... reason D 0..* CodeableConcept ✕ This element is not supported
.... responsibleParty D 0..* Reference(Practitioner | PractitionerRole) ✕ This element is not supported
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
split-dosage-instruction-unit-must-match-base-dosage-instructionerrorMedicationDispenseThe unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
: (dosageInstruction.count() > 1) implies dosageInstruction.doseAndRate.dose.ofType(Quantity).code.union(dosageInstruction.doseAndRate.dose.ofType(Range).low.code).union(dosageInstruction.doseAndRate.dose.ofType(Range).high.code).union(dosageInstruction.doseAndRate.rate.numerator.code).count() = 1
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationDispense C 0..* CHEMEDMedicationDispense CH EMED MedicationDispense (DIS)
Constraints: mdd-1, ch-dosage-meddis, split-dosage-instruction-unit-must-match-base-dosage-instruction
... 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 D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... 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
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security ΣD 0..* Coding ✕ This element is not supported
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag ΣD 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 1..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:treatmentReason 0..* string Treatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
.... extension:prescription 0..1 (Complex) Reference to te medication prescription. This item is mandantory if the treatment has already been prescribed.
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-prescription
.... extension:pharmaceuticalAdvice D 0..1 (Complex) ✕ This element is not supported
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
.... extension:treatmentPlan 1..1 (Complex) CH EMED Extension
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... identifier 1..1 Identifier MedicationDispense Identifier
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
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 Description 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..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 Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... partOf D 0..* Reference(Procedure) ✕ This element is not supported
... status ?!Σ 1..1 code preparation | 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] D 0..1 ✕ This is only meaningful when the dispense was not performed
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.
.... statusReasonCodeableConcept CodeableConcept
.... statusReasonReference Reference(DetectedIssue)
... category D 0..1 CodeableConcept ✕ This element is not supported
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.
... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) What medication was supplied
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication (DIS)) {c} Reference to the contained medication
... subject Σ 0..1 Reference(CH EMED EPR Patient) {r, b} Patient
.... 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
... context D 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element is not supported
... supportingInformation D 0..* Reference(Resource) ✕ This element is not supported
... performer 1..1 BackboneElement Who performed event
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... function 0..1 CodeableConcept Who 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..1 Reference(CH EMED PractitionerRole) 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
... location D 0..1 Reference(Location) ✕ This element is not supported
... authorizingPrescription D 0..* Reference(MedicationRequest) ✕ This element is not supported
... type D 0..1 CodeableConcept ✕ This element is not supported
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..1 CHEMEDEPRAmountQuantity Number of packages
... daysSupply D 0..1 CHEMEDEPRTimeQuantity ✕ This element is not supported
... whenPrepared ΣD 0..1 dateTime ✕ This element is not supported
... whenHandedOver 1..1 dateTime When product was given out
... destination D 0..1 Reference(Location) ✕ This element is not supported
... receiver D 0..* Reference(Patient | Practitioner) ✕ This element is not supported
... note 0..* Annotation Information about the dispense
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... author[x] ΣD 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 Σ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 dosageInstruction 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry 1..1 CHEMEDEPRDosage Base entry of the dosage instruction
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit Additional entry of the dosage instruction
... substitution C 0..1 BackboneElement Whether a substitution was performed on the dispense
Constraints: ch-meddis-1, ch-emed-dis-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... wasSubstituted 1..1 boolean Whether a substitution was (true) or was not (false) performed on the dispense
.... type 0..1 CodeableConcept If 'wasSubstituted = true', the type can be defined in addition (optional). If 'wasSubstituted = false', no type is expected.
Binding: ActSubstanceAdminSubstitutionCode (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 Σ 0..* Coding Code defined by a terminology system

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: E
...... display 1..1 string Representation defined by the system
Fixed Value: equivalent
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text Σ 0..1 string Plain text representation of the concept
.... reason D 0..* CodeableConcept ✕ This element is not supported
Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.
.... responsibleParty D 0..* Reference(Practitioner | PractitionerRole) ✕ This element is not supported
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationDispense.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
MedicationDispense.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
From the FHIR Standard
MedicationDispense.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
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.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-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
split-dosage-instruction-unit-must-match-base-dosage-instructionerrorMedicationDispenseThe unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
: (dosageInstruction.count() > 1) implies dosageInstruction.doseAndRate.dose.ofType(Quantity).code.union(dosageInstruction.doseAndRate.dose.ofType(Range).low.code).union(dosageInstruction.doseAndRate.dose.ofType(Range).high.code).union(dosageInstruction.doseAndRate.rate.numerator.code).count() = 1

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationDispense C 0..* CHEMEDMedicationDispense CH EMED MedicationDispense (DIS)
Constraints: mdd-1, ch-dosage-meddis, split-dosage-instruction-unit-must-match-base-dosage-instruction
... contained 1..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:treatmentReason 0..* string Treatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
.... extension:prescription 0..1 (Complex) Reference to te medication prescription. This item is mandantory if the treatment has already been prescribed.
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-prescription
.... extension:pharmaceuticalAdvice D 0..1 (Complex) ✕ This element is not supported
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
.... extension:treatmentPlan 1..1 (Complex) CH EMED Extension
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... identifier 1..1 Identifier MedicationDispense Identifier
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... 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
... status ?!Σ 1..1 code preparation | 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] D 0..1 ✕ This is only meaningful when the dispense was not performed
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.
.... statusReasonCodeableConcept CodeableConcept
.... statusReasonReference Reference(DetectedIssue)
... category D 0..1 CodeableConcept ✕ This element is not supported
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.
... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) What medication was supplied
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication (DIS)) {c} Reference to the contained medication
... subject Σ 0..1 Reference(CH EMED EPR Patient) {r, b} Patient
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... context D 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element is not supported
... supportingInformation D 0..* Reference(Resource) ✕ This element is not supported
... performer 1..1 BackboneElement Who performed event
.... actor 1..1 Reference(CH EMED PractitionerRole) The author of the medical decision, see also 'Guidance - Authorship'
..... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
... location D 0..1 Reference(Location) ✕ This element is not supported
... authorizingPrescription D 0..* Reference(MedicationRequest) ✕ This element is not supported
... type D 0..1 CodeableConcept ✕ This element is not supported
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..1 CHEMEDEPRAmountQuantity Number of packages
... daysSupply D 0..1 CHEMEDEPRTimeQuantity ✕ This element is not supported
... whenPrepared ΣD 0..1 dateTime ✕ This element is not supported
... whenHandedOver 1..1 dateTime When product was given out
... destination D 0..1 Reference(Location) ✕ This element is not supported
... receiver D 0..* Reference(Patient | Practitioner) ✕ This element is not supported
... Slices for dosageInstruction 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry 1..1 CHEMEDEPRDosage Base entry of the dosage instruction
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit Additional entry of the dosage instruction
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported

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.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.typeexampleActPharmacySupplyType
http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType

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())
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
split-dosage-instruction-unit-must-match-base-dosage-instructionerrorMedicationDispenseThe unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
: (dosageInstruction.count() > 1) implies dosageInstruction.doseAndRate.dose.ofType(Quantity).code.union(dosageInstruction.doseAndRate.dose.ofType(Range).low.code).union(dosageInstruction.doseAndRate.dose.ofType(Range).high.code).union(dosageInstruction.doseAndRate.rate.numerator.code).count() = 1

Differential View

This structure is derived from CHEMEDMedicationDispense

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationDispense C 0..* CHEMEDMedicationDispense CH EMED MedicationDispense (DIS)
Constraints: split-dosage-instruction-unit-must-match-base-dosage-instruction
... 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
... extension 1..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:prescription 0..1 CHEMEDExtPrescription Reference to te medication prescription. This item is mandantory if the treatment has already been prescribed.
.... extension:pharmaceuticalAdvice D 0..1 CHEMEDExtPharmaceuticalAdvice ✕ This element is not supported
.... extension:treatmentPlan 1..1 CHEMEDExtTreatmentPlan CH EMED Extension
... modifierExtension 0..0
... partOf D 0..* Reference(Procedure) ✕ This element is not supported
... statusReason[x] D 0..1 CodeableConcept, Reference(DetectedIssue) ✕ This is only meaningful when the dispense was not performed
... category D 0..1 CodeableConcept ✕ This element is not supported
... medication[x] 1..1 Reference(CH Core Medication) What medication was supplied
... Slices for medication[x] Content/Rules for all slices
.... medication[x]:medicationReference 0..1 Reference(CH EMED EPR Medication (DIS)) {c} Reference to the contained medication
... subject 0..1 Reference(CH EMED EPR Patient) {r, b} Patient
... context D 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element is not supported
... supportingInformation D 0..* Reference(Resource) ✕ This element is not supported
... performer
.... modifierExtension 0..0
... location D 0..1 Reference(Location) ✕ This element is not supported
... authorizingPrescription D 0..* Reference(MedicationRequest) ✕ This element is not supported
... type D 0..1 CodeableConcept ✕ This element is not supported
... quantity 1..1 CHEMEDEPRAmountQuantity Number of packages
... daysSupply D 0..1 CHEMEDEPRTimeQuantity ✕ This element is not supported
... whenPrepared D 0..1 dateTime ✕ This element is not supported
... destination D 0..1 Reference(Location) ✕ This element is not supported
... receiver D 0..* Reference(Patient | Practitioner) ✕ This element is not supported
... 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 dosageInstruction Content/Rules for all slices
.... dosageInstruction:baseEntry 1..1 CHEMEDEPRDosage Base entry of the dosage instruction
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit Additional entry of the dosage instruction
... substitution
.... modifierExtension 0..0
.... type
..... coding 0..* Coding Code defined by a terminology system
Required Pattern: At least the following
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: E
...... display 1..1 string Representation defined by the system
Fixed Value: equivalent
.... reason D 0..* CodeableConcept ✕ This element is not supported
.... responsibleParty D 0..* Reference(Practitioner | PractitionerRole) ✕ This element is not supported
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
split-dosage-instruction-unit-must-match-base-dosage-instructionerrorMedicationDispenseThe unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
: (dosageInstruction.count() > 1) implies dosageInstruction.doseAndRate.dose.ofType(Quantity).code.union(dosageInstruction.doseAndRate.dose.ofType(Range).low.code).union(dosageInstruction.doseAndRate.dose.ofType(Range).high.code).union(dosageInstruction.doseAndRate.rate.numerator.code).count() = 1

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationDispense C 0..* CHEMEDMedicationDispense CH EMED MedicationDispense (DIS)
Constraints: mdd-1, ch-dosage-meddis, split-dosage-instruction-unit-must-match-base-dosage-instruction
... 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 D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... 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
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security ΣD 0..* Coding ✕ This element is not supported
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag ΣD 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 1..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:treatmentReason 0..* string Treatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
.... extension:prescription 0..1 (Complex) Reference to te medication prescription. This item is mandantory if the treatment has already been prescribed.
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-prescription
.... extension:pharmaceuticalAdvice D 0..1 (Complex) ✕ This element is not supported
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
.... extension:treatmentPlan 1..1 (Complex) CH EMED Extension
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... identifier 1..1 Identifier MedicationDispense Identifier
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
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 Description 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..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 Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... partOf D 0..* Reference(Procedure) ✕ This element is not supported
... status ?!Σ 1..1 code preparation | 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] D 0..1 ✕ This is only meaningful when the dispense was not performed
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.
.... statusReasonCodeableConcept CodeableConcept
.... statusReasonReference Reference(DetectedIssue)
... category D 0..1 CodeableConcept ✕ This element is not supported
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.
... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) What medication was supplied
Slice: Unordered, Closed by type:$this
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication (DIS)) {c} Reference to the contained medication
... subject Σ 0..1 Reference(CH EMED EPR Patient) {r, b} Patient
.... 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
... context D 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element is not supported
... supportingInformation D 0..* Reference(Resource) ✕ This element is not supported
... performer 1..1 BackboneElement Who performed event
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... function 0..1 CodeableConcept Who 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..1 Reference(CH EMED PractitionerRole) 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
... location D 0..1 Reference(Location) ✕ This element is not supported
... authorizingPrescription D 0..* Reference(MedicationRequest) ✕ This element is not supported
... type D 0..1 CodeableConcept ✕ This element is not supported
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..1 CHEMEDEPRAmountQuantity Number of packages
... daysSupply D 0..1 CHEMEDEPRTimeQuantity ✕ This element is not supported
... whenPrepared ΣD 0..1 dateTime ✕ This element is not supported
... whenHandedOver 1..1 dateTime When product was given out
... destination D 0..1 Reference(Location) ✕ This element is not supported
... receiver D 0..* Reference(Patient | Practitioner) ✕ This element is not supported
... note 0..* Annotation Information about the dispense
.... id D 0..1 string ✕ This element is not supported
.... extension D 0..* Extension ✕ This element is not supported
Slice: Unordered, Open by value:url
.... author[x] ΣD 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 Σ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 dosageInstruction 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry 1..1 CHEMEDEPRDosage Base entry of the dosage instruction
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit Additional entry of the dosage instruction
... substitution C 0..1 BackboneElement Whether a substitution was performed on the dispense
Constraints: ch-meddis-1, ch-emed-dis-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... wasSubstituted 1..1 boolean Whether a substitution was (true) or was not (false) performed on the dispense
.... type 0..1 CodeableConcept If 'wasSubstituted = true', the type can be defined in addition (optional). If 'wasSubstituted = false', no type is expected.
Binding: ActSubstanceAdminSubstitutionCode (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 Σ 0..* Coding Code defined by a terminology system

Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: E
...... display 1..1 string Representation defined by the system
Fixed Value: equivalent
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text Σ 0..1 string Plain text representation of the concept
.... reason D 0..* CodeableConcept ✕ This element is not supported
Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.
.... responsibleParty D 0..* Reference(Practitioner | PractitionerRole) ✕ This element is not supported
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
MedicationDispense.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
From the FHIR Standard
MedicationDispense.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
From the FHIR Standard
MedicationDispense.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
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.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-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
split-dosage-instruction-unit-must-match-base-dosage-instructionerrorMedicationDispenseThe unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
: (dosageInstruction.count() > 1) implies dosageInstruction.doseAndRate.dose.ofType(Quantity).code.union(dosageInstruction.doseAndRate.dose.ofType(Range).low.code).union(dosageInstruction.doseAndRate.dose.ofType(Range).high.code).union(dosageInstruction.doseAndRate.rate.numerator.code).count() = 1

 

Other representations of profile: CSV, Excel, Schematron