CH EMED (R4)
4.0.0-ballot - ballot Switzerland flag

This page is part of the CH EMED (R4) (v4.0.0-ballot: STU 4 Ballot 1) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: CH EMED MedicationDispense (DIS)

Official URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-medicationdispense Version: 4.0.0-ballot
Active as of 2023-06-29 Computable Name: CHEMEDMedicationDispense

Copyright/Legal: CC0-1.0

Definition of the medication dispense for the medication dispense document

Usage:

Formal Views of Profile Content

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

This structure is derived from MedicationDispense

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense 0..*MedicationDispenseCH EMED MedicationDispense (DIS)
... contained 1..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... treatmentReason 0..1stringTreatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
... pharmaceuticalAdvice 0..1(Complex)Reference to the pharmaceutical advice
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... identifier 1..1IdentifierMedicationDispense Identifier
.... system 1..1uriThe namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value 1..1stringIdentifier value as UUID
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
... status 1..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Fixed Value: completed
... Slices for medication[x] 1..1CodeableConcept, Reference(Medication)What medication was supplied
Slice: Unordered, Open by type:$this
.... medication[x]:medicationReference 0..1Reference(CH EMED Medication (MedicationDispense)) {c}Reference to the contained medication
... subject 0..1Reference(CH Core Patient)Patient
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... quantity 1..1SimpleQuantityNumber of packages
... Slices for dosageInstruction 1..*DosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry 1..1CHEMEDDosageBase entry of the dosage instruction
.... dosageInstruction:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction
... substitution C0..1BackboneElementWhether a substitution was performed on the dispense
ch-emed-dis-1: If no substitution was performed, no type is expected.
.... wasSubstituted 1..1booleanWhether a substitution was (true) or was not (false) performed on the dispense
.... type 0..1CodeableConceptIf 'wasSubstituted = true', the type can be defined in addition (optional). If 'wasSubstituted = false', no type is expected.
Binding: ActSubstanceAdminSubstitutionCode (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
MedicationDispense.substitution.typerequiredActSubstanceAdminSubstitutionCode

Constraints

IdGradePath(s)DetailsRequirements
ch-emed-dis-1errorMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*MedicationDispenseCH EMED MedicationDispense (DIS)
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 1..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... prescription 0..1(Complex)Reference to the medication prescription
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-prescription
... pharmaceuticalAdvice 0..1(Complex)Reference to the pharmaceutical advice
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 1..1IdentifierMedicationDispense Identifier
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... system Σ1..1uriThe namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ1..1stringIdentifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
... status ?!Σ1..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Binding: MedicationDispense Status Codes (required): A coded concept specifying the state of the dispense event.


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

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(Medication)
.... medication[x]:medicationReference Σ0..1Reference(CH EMED Medication (MedicationDispense)) {c}Reference to the contained medication
... subject Σ0..1Reference(CH Core Patient)Patient
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... quantity 1..1SimpleQuantityNumber of packages
... Slices for dosageInstruction 1..*DosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry C1..1CHEMEDDosageBase entry of the dosage instruction
.... dosageInstruction:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction
... substitution C0..1BackboneElementWhether a substitution was performed on the dispense
ch-emed-dis-1: If no substitution was performed, no type is expected.
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... wasSubstituted 1..1booleanWhether a substitution was (true) or was not (false) performed on the dispense
.... type 0..1CodeableConceptIf 'wasSubstituted = true', the type can be defined in addition (optional). If 'wasSubstituted = false', no type is expected.
Binding: ActSubstanceAdminSubstitutionCode (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
MedicationDispense.identifier.userequiredIdentifierUse
MedicationDispense.statusrequiredFixed Value: completed
MedicationDispense.medication[x]exampleSNOMEDCTMedicationCodes
MedicationDispense.substitution.typerequiredActSubstanceAdminSubstitutionCode

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-4errorMedicationDispense.dosageInstruction:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-emed-dis-1errorMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationDispenseA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*MedicationDispenseCH EMED MedicationDispense (DIS)
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 1..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... treatmentReason 0..1stringTreatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
... prescription 0..1(Complex)Reference to the medication prescription
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-prescription
... pharmaceuticalAdvice 0..1(Complex)Reference to the pharmaceutical advice
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 1..1IdentifierMedicationDispense Identifier
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ1..1uriThe namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ1..1stringIdentifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... partOf 0..*Reference(Procedure)Event that dispense is part of
... status ?!Σ1..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Binding: MedicationDispense Status Codes (required): A coded concept specifying the state of the dispense event.


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

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

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

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

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource
... context 0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with event
... supportingInformation 0..*Reference(Resource)Information that supports the dispensing of the medication
... performer 0..*BackboneElementWho performed event
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function 0..1CodeableConceptWho performed the dispense and what they did
Binding: MedicationDispense Performer Function Codes (example): A code describing the role an individual played in dispensing a medication.

.... actor 1..1Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson)Individual who was performing
... location 0..1Reference(Location)Where the dispense occurred
... authorizingPrescription 0..*Reference(MedicationRequest)Medication order that authorizes the dispense
... type 0..1CodeableConceptTrial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (example): Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.

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


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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
MedicationDispense.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
MedicationDispense.identifier.userequiredIdentifierUse
MedicationDispense.identifier.typeextensibleIdentifier Type Codes
MedicationDispense.statusrequiredFixed Value: completed
MedicationDispense.statusReason[x]exampleMedicationDispense Status Reason Codes
MedicationDispense.categorypreferredMedicationDispense Category Codes
MedicationDispense.medication[x]exampleSNOMEDCTMedicationCodes
MedicationDispense.subject.typeextensibleResourceType
MedicationDispense.performer.functionexampleMedicationDispense Performer Function Codes
MedicationDispense.typeexampleActPharmacySupplyType
MedicationDispense.substitution.typerequiredActSubstanceAdminSubstitutionCode
MedicationDispense.substitution.reasonexampleSubstanceAdminSubstitutionReason

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-4errorMedicationDispense.dosageInstruction:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-emed-dis-1errorMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from MedicationDispense

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense 0..*MedicationDispenseCH EMED MedicationDispense (DIS)
... contained 1..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... treatmentReason 0..1stringTreatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
... pharmaceuticalAdvice 0..1(Complex)Reference to the pharmaceutical advice
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... identifier 1..1IdentifierMedicationDispense Identifier
.... system 1..1uriThe namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value 1..1stringIdentifier value as UUID
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
... status 1..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Fixed Value: completed
... Slices for medication[x] 1..1CodeableConcept, Reference(Medication)What medication was supplied
Slice: Unordered, Open by type:$this
.... medication[x]:medicationReference 0..1Reference(CH EMED Medication (MedicationDispense)) {c}Reference to the contained medication
... subject 0..1Reference(CH Core Patient)Patient
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... quantity 1..1SimpleQuantityNumber of packages
... Slices for dosageInstruction 1..*DosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry 1..1CHEMEDDosageBase entry of the dosage instruction
.... dosageInstruction:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction
... substitution C0..1BackboneElementWhether a substitution was performed on the dispense
ch-emed-dis-1: If no substitution was performed, no type is expected.
.... wasSubstituted 1..1booleanWhether a substitution was (true) or was not (false) performed on the dispense
.... type 0..1CodeableConceptIf 'wasSubstituted = true', the type can be defined in addition (optional). If 'wasSubstituted = false', no type is expected.
Binding: ActSubstanceAdminSubstitutionCode (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
MedicationDispense.substitution.typerequiredActSubstanceAdminSubstitutionCode

Constraints

IdGradePath(s)DetailsRequirements
ch-emed-dis-1errorMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*MedicationDispenseCH EMED MedicationDispense (DIS)
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 1..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... prescription 0..1(Complex)Reference to the medication prescription
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-prescription
... pharmaceuticalAdvice 0..1(Complex)Reference to the pharmaceutical advice
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 1..1IdentifierMedicationDispense Identifier
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... system Σ1..1uriThe namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ1..1stringIdentifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
... status ?!Σ1..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Binding: MedicationDispense Status Codes (required): A coded concept specifying the state of the dispense event.


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

.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(Medication)
.... medication[x]:medicationReference Σ0..1Reference(CH EMED Medication (MedicationDispense)) {c}Reference to the contained medication
... subject Σ0..1Reference(CH Core Patient)Patient
.... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... quantity 1..1SimpleQuantityNumber of packages
... Slices for dosageInstruction 1..*DosageHow the medication should be taken
Slice: Unordered, Closed by profile:$this
.... dosageInstruction:baseEntry C1..1CHEMEDDosageBase entry of the dosage instruction
.... dosageInstruction:additionalEntry 0..*CHEMEDDosageSplitAdditional entry of the dosage instruction
... substitution C0..1BackboneElementWhether a substitution was performed on the dispense
ch-emed-dis-1: If no substitution was performed, no type is expected.
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... wasSubstituted 1..1booleanWhether a substitution was (true) or was not (false) performed on the dispense
.... type 0..1CodeableConceptIf 'wasSubstituted = true', the type can be defined in addition (optional). If 'wasSubstituted = false', no type is expected.
Binding: ActSubstanceAdminSubstitutionCode (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
MedicationDispense.identifier.userequiredIdentifierUse
MedicationDispense.statusrequiredFixed Value: completed
MedicationDispense.medication[x]exampleSNOMEDCTMedicationCodes
MedicationDispense.substitution.typerequiredActSubstanceAdminSubstitutionCode

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-4errorMedicationDispense.dosageInstruction:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-emed-dis-1errorMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationDispenseA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*MedicationDispenseCH EMED MedicationDispense (DIS)
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 1..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... treatmentReason 0..1stringTreatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
... prescription 0..1(Complex)Reference to the medication prescription
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-prescription
... pharmaceuticalAdvice 0..1(Complex)Reference to the pharmaceutical advice
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 1..1IdentifierMedicationDispense Identifier
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ1..1uriThe namespace for the identifier value
Fixed Value: urn:ietf:rfc:3986
.... value Σ1..1stringIdentifier value as UUID
Example General: 123456
Example CH EMED: urn:uuid:daa8cd41-34a1-4a9c-9a6d-cd3f850142e9
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... partOf 0..*Reference(Procedure)Event that dispense is part of
... status ?!Σ1..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
Binding: MedicationDispense Status Codes (required): A coded concept specifying the state of the dispense event.


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

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

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

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

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource
... context 0..1Reference(Encounter | EpisodeOfCare)Encounter / Episode associated with event
... supportingInformation 0..*Reference(Resource)Information that supports the dispensing of the medication
... performer 0..*BackboneElementWho performed event
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function 0..1CodeableConceptWho performed the dispense and what they did
Binding: MedicationDispense Performer Function Codes (example): A code describing the role an individual played in dispensing a medication.

.... actor 1..1Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson)Individual who was performing
... location 0..1Reference(Location)Where the dispense occurred
... authorizingPrescription 0..*Reference(MedicationRequest)Medication order that authorizes the dispense
... type 0..1CodeableConceptTrial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (example): Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.

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


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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
MedicationDispense.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
MedicationDispense.identifier.userequiredIdentifierUse
MedicationDispense.identifier.typeextensibleIdentifier Type Codes
MedicationDispense.statusrequiredFixed Value: completed
MedicationDispense.statusReason[x]exampleMedicationDispense Status Reason Codes
MedicationDispense.categorypreferredMedicationDispense Category Codes
MedicationDispense.medication[x]exampleSNOMEDCTMedicationCodes
MedicationDispense.subject.typeextensibleResourceType
MedicationDispense.performer.functionexampleMedicationDispense Performer Function Codes
MedicationDispense.typeexampleActPharmacySupplyType
MedicationDispense.substitution.typerequiredActSubstanceAdminSubstitutionCode
MedicationDispense.substitution.reasonexampleSubstanceAdminSubstitutionReason

Constraints

IdGradePath(s)DetailsRequirements
ch-dosage-4errorMedicationDispense.dosageInstruction:baseEntryFor split dosage timing event and dose/rate are required
: sequence.exists() implies (timing.repeat.when.exists() and doseAndRate.dose.exists())
ch-emed-dis-1errorMedicationDispense.substitutionIf no substitution was performed, no type is expected.
: wasSubstituted = true or (wasSubstituted = false and type.exists().not())
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron