CH EMED EPR
2.0.0-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.0-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.0-ci-build
Draft as of 2024-12-20 Computable Name: CHEMEDEPRMedicationDispense

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 CHEMEDMedicationDispense

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* CHEMEDMedicationDispense CH EMED MedicationDispense (DIS)
split-dosage-instruction-unit-must-match-base-dosage-instruction: The unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
... 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 A fixed quantity (no comparator)
... 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 CH EMED Dosage (MedicationStatement / MedicationDispense)
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... 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).count() = 1
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* CHEMEDMedicationDispense CH EMED MedicationDispense (DIS)
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
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.
split-dosage-instruction-unit-must-match-base-dosage-instruction: The unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
... contained 1..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... treatmentReason 0..* string Treatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... 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
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... pharmaceuticalAdvice D 0..1 (Complex) ✕ This element is not supported
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... treatmentPlan 1..1 (Complex) CH EMED Extension
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... identifier 1..1 Identifier MedicationDispense Identifier
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... system Σ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
ele-1: All FHIR elements must have a @value or children
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.


ele-1: All FHIR elements must have a @value or children
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.


ele-1: All FHIR elements must have a @value or children
.... 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.


ele-1: All FHIR elements must have a @value or children
... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) What medication was supplied
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication (DIS)) {c} Reference to the contained medication
ele-1: All FHIR elements must have a @value or children
... subject Σ 0..1 Reference(CH EMED EPR Patient) {r, b} Patient
ele-1: All FHIR elements must have a @value or children
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
ele-1: All FHIR elements must have a @value or children
... context D 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... supportingInformation D 0..* Reference(Resource) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... performer 1..1 BackboneElement Who performed event
ele-1: All FHIR elements must have a @value or children
.... actor 1..1 Reference(CH EMED PractitionerRole) The author of the medical decision, see also 'Guidance - Authorship'
ele-1: All FHIR elements must have a @value or children
..... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
ele-1: All FHIR elements must have a @value or children
... location D 0..1 Reference(Location) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... authorizingPrescription D 0..* Reference(MedicationRequest) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... 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.


ele-1: All FHIR elements must have a @value or children
... quantity C 1..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
ele-1: All FHIR elements must have a @value or children
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
... daysSupply CD 0..1 CHEMEDEPRTimeQuantity ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
... whenPrepared ΣD 0..1 dateTime ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... whenHandedOver 1..1 dateTime When product was given out
ele-1: All FHIR elements must have a @value or children
... destination D 0..1 Reference(Location) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... receiver D 0..* Reference(Patient | Practitioner) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... Slices for dosageInstruction 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
ele-1: All FHIR elements must have a @value or children
.... dosageInstruction:baseEntry C 1..1 CHEMEDEPRDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ele-1: All FHIR elements must have a @value or children
ch-dosage-4: For split dosage timing event and dose/rate are required
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
ele-1: All FHIR elements must have a @value or children
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children

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
base-dosage-textwarningMedicationDispense.dosageInstruction:baseEntryIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-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())
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
qty-3errorMedicationDispense.quantity, MedicationDispense.daysSupplyIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
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).count() = 1
sqty-1errorMedicationDispense.quantity, MedicationDispense.daysSupplyThe comparator is not used on a SimpleQuantity
: comparator.empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* CHEMEDMedicationDispense CH 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.
split-dosage-instruction-unit-must-match-base-dosage-instruction: The unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
... 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
... contained 1..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... treatmentReason 0..* string Treatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
.... 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
.... pharmaceuticalAdvice D 0..1 (Complex) ✕ This element is not supported
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
.... 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 C 1..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
... daysSupply CD 0..1 CHEMEDEPRTimeQuantity ✕ This element is not supported
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
... 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 C 1..1 CHEMEDEPRDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ch-dosage-4: For split dosage timing event and dose/rate are required
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... substitution C 0..1 BackboneElement Whether 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..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
base-dosage-textwarningMedicationDispense.dosageInstruction:baseEntryIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-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
qty-3errorMedicationDispense.quantity, MedicationDispense.daysSupplyIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
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).count() = 1
sqty-1errorMedicationDispense.quantity, MedicationDispense.daysSupplyThe comparator is not used on a SimpleQuantity
: comparator.empty()

Differential View

This structure is derived from CHEMEDMedicationDispense

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* CHEMEDMedicationDispense CH EMED MedicationDispense (DIS)
split-dosage-instruction-unit-must-match-base-dosage-instruction: The unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
... 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 A fixed quantity (no comparator)
... 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 CH EMED Dosage (MedicationStatement / MedicationDispense)
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... 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).count() = 1

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* CHEMEDMedicationDispense CH EMED MedicationDispense (DIS)
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
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.
split-dosage-instruction-unit-must-match-base-dosage-instruction: The unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
... contained 1..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... treatmentReason 0..* string Treatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... 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
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... pharmaceuticalAdvice D 0..1 (Complex) ✕ This element is not supported
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... treatmentPlan 1..1 (Complex) CH EMED Extension
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... identifier 1..1 Identifier MedicationDispense Identifier
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... system Σ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Fixed Value: urn:ietf:rfc:3986
.... value Σ 1..1 string Identifier value as UUID
ele-1: All FHIR elements must have a @value or children
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.


ele-1: All FHIR elements must have a @value or children
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.


ele-1: All FHIR elements must have a @value or children
.... 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.


ele-1: All FHIR elements must have a @value or children
... Slices for medication[x] Σ 1..1 Reference(CH Core Medication) What medication was supplied
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... medication[x]:medicationReference Σ 0..1 Reference(CH EMED EPR Medication (DIS)) {c} Reference to the contained medication
ele-1: All FHIR elements must have a @value or children
... subject Σ 0..1 Reference(CH EMED EPR Patient) {r, b} Patient
ele-1: All FHIR elements must have a @value or children
.... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
ele-1: All FHIR elements must have a @value or children
... context D 0..1 Reference(Encounter | EpisodeOfCare) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... supportingInformation D 0..* Reference(Resource) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... performer 1..1 BackboneElement Who performed event
ele-1: All FHIR elements must have a @value or children
.... actor 1..1 Reference(CH EMED PractitionerRole) The author of the medical decision, see also 'Guidance - Authorship'
ele-1: All FHIR elements must have a @value or children
..... reference ΣC 1..1 string Literal reference, Relative, internal or absolute URL
ele-1: All FHIR elements must have a @value or children
... location D 0..1 Reference(Location) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... authorizingPrescription D 0..* Reference(MedicationRequest) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... 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.


ele-1: All FHIR elements must have a @value or children
... quantity C 1..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
ele-1: All FHIR elements must have a @value or children
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
... daysSupply CD 0..1 CHEMEDEPRTimeQuantity ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
... whenPrepared ΣD 0..1 dateTime ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... whenHandedOver 1..1 dateTime When product was given out
ele-1: All FHIR elements must have a @value or children
... destination D 0..1 Reference(Location) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... receiver D 0..* Reference(Patient | Practitioner) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... Slices for dosageInstruction 1..* CHCoreDosage How the medication should be taken
Slice: Unordered, Closed by profile:$this
ele-1: All FHIR elements must have a @value or children
.... dosageInstruction:baseEntry C 1..1 CHEMEDEPRDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ele-1: All FHIR elements must have a @value or children
ch-dosage-4: For split dosage timing event and dose/rate are required
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
ele-1: All FHIR elements must have a @value or children
... detectedIssue D 0..* Reference(DetectedIssue) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children
... eventHistory D 0..* Reference(Provenance) ✕ This element is not supported
ele-1: All FHIR elements must have a @value or children

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
base-dosage-textwarningMedicationDispense.dosageInstruction:baseEntryIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-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())
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
qty-3errorMedicationDispense.quantity, MedicationDispense.daysSupplyIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
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).count() = 1
sqty-1errorMedicationDispense.quantity, MedicationDispense.daysSupplyThe comparator is not used on a SimpleQuantity
: comparator.empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* CHEMEDMedicationDispense CH 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.
split-dosage-instruction-unit-must-match-base-dosage-instruction: The unit for doseAndRate of different dosages (split dosage) belonging to the same statement/request/dispense must match.
... 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
... contained 1..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... treatmentReason 0..* string Treatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
.... 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
.... pharmaceuticalAdvice D 0..1 (Complex) ✕ This element is not supported
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
.... 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 C 1..1 CHEMEDEPRAmountQuantity A fixed quantity (no comparator)
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
... daysSupply CD 0..1 CHEMEDEPRTimeQuantity ✕ This element is not supported
qty-3: If a code for the unit is present, the system SHALL also be present
sqty-1: The comparator is not used on a SimpleQuantity
... 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 C 1..1 CHEMEDEPRDosage CH EMED Dosage (MedicationStatement / MedicationDispense)
ch-dosage-4: For split dosage timing event and dose/rate are required
base-dosage-text: It is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
.... dosageInstruction:additionalEntry 0..* CHEMEDEPRDosageSplit CH EMED Dosage Split (MedicationStatement / MedicationDispense / MedicationRequest)
... substitution C 0..1 BackboneElement Whether 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..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
base-dosage-textwarningMedicationDispense.dosageInstruction:baseEntryIt is a strong recommendation that the base dosage should contain the whole dosage information as narrative, including the information from split dosage elements.
: text.exists() and text.trim().length() > 0
ch-dosage-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
qty-3errorMedicationDispense.quantity, MedicationDispense.daysSupplyIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
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).count() = 1
sqty-1errorMedicationDispense.quantity, MedicationDispense.daysSupplyThe comparator is not used on a SimpleQuantity
: comparator.empty()

 

Other representations of profile: CSV, Excel, Schematron