CH EMED (R4)
4.0.1 - trial-use Switzerland flag

This page is part of the CH EMED (R4) (v4.0.1: STU 4) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: CH EMED MedicationDispense (LIST)

Official URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-medicationdispense-list Version: 4.0.1
Active as of 2023-12-28 Computable Name: CHEMEDMedicationDispenseList

Copyright/Legal: CC0-1.0

Definition of the medication dispense for the medication list 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 0..*CHEMEDMedicationDispenseCH EMED MedicationDispense (LIST)
... parentDocument 0..1(Complex)Reference to the parent document
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-dispense
... authorDocument 0..1Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson)Author of the original document if different from the author of the medical decision (MedicationDispense.performer.actor), see also 'Guidance - Authorship'
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*CHEMEDMedicationDispenseCH EMED MedicationDispense (LIST)
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 1..*ResourceContained, inline Resources
... treatmentReason 0..1stringTreatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
... pharmaceuticalAdvice 0..1(Complex)Reference to the pharmaceutical advice
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... parentDocument 0..1(Complex)Reference to the parent document
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-dispense
... authorDocument 0..1Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson)Author of the original document if different from the author of the medical decision (MedicationDispense.performer.actor), see also 'Guidance - Authorship'
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author
... 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
... performer 1..1BackboneElementWho performed event
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... actor 1..1Reference(CH EMED PractitionerRole)The author of the medical decision, see also 'Guidance - Authorship'
..... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... quantity 1..1SimpleQuantityNumber of packages
... whenHandedOver 1..1dateTimeWhen product was given out
... Slices for dosageInstruction 1..*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

doco Documentation for this format

Terminology Bindings

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

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())
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..*CHEMEDMedicationDispenseCH EMED MedicationDispense (LIST)
... 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
... parentDocument 0..1(Complex)Reference to the parent document
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-dispense
... authorDocument 0..1Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson)Author of the original document if different from the author of the medical decision (MedicationDispense.performer.actor), see also 'Guidance - Authorship'
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author
... 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 1..1BackboneElementWho performed event
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function 0..1CodeableConceptWho performed the dispense and what they did
Binding: MedicationDispense Performer Function Codes (example): A code describing the role an individual played in dispensing a medication.

.... actor 1..1Reference(CH EMED PractitionerRole)The author of the medical decision, see also 'Guidance - Authorship'
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
..... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

..... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
..... display Σ0..1stringText alternative for the resource
... location 0..1Reference(Location)Where the dispense occurred
... authorizingPrescription 0..*Reference(MedicationRequest)Medication order that authorizes the dispense
... type 0..1CodeableConceptTrial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (example): Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.

... quantity 1..1SimpleQuantityNumber of packages
... daysSupply 0..1SimpleQuantityAmount of medication expressed as a timing amount
... whenPrepared Σ0..1dateTimeWhen product was packaged and reviewed
... whenHandedOver 1..1dateTimeWhen product was given out
... destination 0..1Reference(Location)Where the medication was sent
... receiver 0..*Reference(Patient | Practitioner)Who collected the medication
... note 0..*AnnotationInformation about the dispense
... Slices for dosageInstruction 1..*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
.... 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.performer.actor.typeextensibleResourceType
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())
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationDispenseA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared

Differential View

This structure is derived from CHEMEDMedicationDispense

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense 0..*CHEMEDMedicationDispenseCH EMED MedicationDispense (LIST)
... parentDocument 0..1(Complex)Reference to the parent document
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-dispense
... authorDocument 0..1Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson)Author of the original document if different from the author of the medical decision (MedicationDispense.performer.actor), see also 'Guidance - Authorship'
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*CHEMEDMedicationDispenseCH EMED MedicationDispense (LIST)
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 1..*ResourceContained, inline Resources
... treatmentReason 0..1stringTreatment reason
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentreason
... pharmaceuticalAdvice 0..1(Complex)Reference to the pharmaceutical advice
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-pharmaceuticaladvice
... treatmentPlan 0..1(Complex)Reference to the medication treatment plan
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan
... parentDocument 0..1(Complex)Reference to the parent document
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-dispense
... authorDocument 0..1Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson)Author of the original document if different from the author of the medical decision (MedicationDispense.performer.actor), see also 'Guidance - Authorship'
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author
... 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
... performer 1..1BackboneElementWho performed event
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... actor 1..1Reference(CH EMED PractitionerRole)The author of the medical decision, see also 'Guidance - Authorship'
..... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
... quantity 1..1SimpleQuantityNumber of packages
... whenHandedOver 1..1dateTimeWhen product was given out
... Slices for dosageInstruction 1..*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

doco Documentation for this format

Terminology Bindings

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

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())
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..*CHEMEDMedicationDispenseCH EMED MedicationDispense (LIST)
... 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
... parentDocument 0..1(Complex)Reference to the parent document
URL: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-dispense
... authorDocument 0..1Reference(CH Core Patient | CH Core PractitionerRole | RelatedPerson)Author of the original document if different from the author of the medical decision (MedicationDispense.performer.actor), see also 'Guidance - Authorship'
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-author
... 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 1..1BackboneElementWho performed event
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function 0..1CodeableConceptWho performed the dispense and what they did
Binding: MedicationDispense Performer Function Codes (example): A code describing the role an individual played in dispensing a medication.

.... actor 1..1Reference(CH EMED PractitionerRole)The author of the medical decision, see also 'Guidance - Authorship'
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... reference ΣC1..1stringLiteral reference, Relative, internal or absolute URL
..... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

..... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
..... display Σ0..1stringText alternative for the resource
... location 0..1Reference(Location)Where the dispense occurred
... authorizingPrescription 0..*Reference(MedicationRequest)Medication order that authorizes the dispense
... type 0..1CodeableConceptTrial fill, partial fill, emergency fill, etc.
Binding: ActPharmacySupplyType (example): Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.

... quantity 1..1SimpleQuantityNumber of packages
... daysSupply 0..1SimpleQuantityAmount of medication expressed as a timing amount
... whenPrepared Σ0..1dateTimeWhen product was packaged and reviewed
... whenHandedOver 1..1dateTimeWhen product was given out
... destination 0..1Reference(Location)Where the medication was sent
... receiver 0..*Reference(Patient | Practitioner)Who collected the medication
... note 0..*AnnotationInformation about the dispense
... Slices for dosageInstruction 1..*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
.... 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.performer.actor.typeextensibleResourceType
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())
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationDispenseA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared

 

Other representations of profile: CSV, Excel, Schematron