Canadian Baseline
1.1.0 - CI Build Canada flag

Canadian Baseline, published by HL7 Canada - FHIR Implementation Work Group. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Canada/ca-baseline/ and changes regularly. See the Directory of published versions

Resource Profile: MedicationDispense Profile

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-medicationdispense Version: 1.1.0
Draft as of 2020-03-05 Computable Name: MedicationDispenseProfile

Proposed constraints and extensions on the MedicationDispense resource. Generated as a first step toward creating a set of Canadian Baseline FHIR profiles.

CA Baseline MedicationDispense Profile

This profile sets minimum expectations for the MedicationDispense resource. This profile defines localization concepts for use in the Canadian context.

Mandatory Data Elements

All elements or attributes within the FHIR specification have cardinality as part of their definition - a minimum number of required appearances and a maximum number of allowable appearances.

Most elements in the FHIR specification have a minimum cardinality of 0, so most elements are not required and subsequently they may be missing from a resource when it is exchanged between systems.

Required elements in the Observation (General Use) profile:

  • status (required in the base specification)
  • medication (required in the base specification)
  • subject

Must Support Data Elements

The following elements are marked as Must Support in this profile:

Must Support elements:

  • status
  • medication
  • subject
  • quantity
  • whenPrepared
  • dosageInstruction

CA Core Considerations

The whenHandedOver element was initially profiled as must support and was later relaxed through the Due Diligence Review Process with the goal of not constraining for certain use cases over others. Given the criticality to many clinical/pharmaceutical use cases, it has been identified as an element to consider for additional constraints in the CA Core Profiles which are to be developed in the future under the guidance of a larger collaborative of pan-Canadian governing bodies.

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..* MedicationDispense MedicationDispense Profile
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... extension:renderedDosageInstruction 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage]] Socialized Optional Extension: PrescribeIT renderedDosageInstruction
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage
... extension:quantityRemaining 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-dispense-quantity-remaining]] Socialized Optional Extension: PrescribeIT quantityRemaining
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-dispense-quantity-remaining
... status S 1..1 code preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
... medication[x] S 1..1 What medication was supplied
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): TBD. This is a placeholder for a comprehensive valueset, consisting of all Manufactured Product (MP), Non-proprietary Therapeutic Product (NTP) and Therapeutic Moiety (TM) codes, which would be created and maintained by Canada Health Infoway. Medicinal products for prescribing and dispensing in Canada. The content of this subset only contains commonly used medicinal products that are available for prescribing and dispensing in Canada. This content will expand to include all human medicinal products over time.


Example DIN: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/CA-HC-DIN"}]}
Example NPN: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/CA-HC-NPN"}]}
Example CCDD: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct"}]}
Example SNOMED CT (Medications) - IPS: {"coding":[{"system":"http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-uv-ips"}]}
Example WHO ATC IPS: {"coding":[{"system":"http://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips"}]}
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication Profile)
... subject S 1..1 Reference(Patient Profile) Who the dispense is for
... context 0..1 Reference(Encounter Profile | EpisodeOfCare) Encounter / Episode associated with event
... performer
.... actor S 1..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable) | RelatedPerson) Individual who was performing
... location 0..1 Reference(Location Profile) Where the dispense occurred
... authorizingPrescription 0..* Reference(MedicationRequest Profile) Medication order that authorizes the dispense
... quantity S 0..1 SimpleQuantity Amount dispensed
... whenPrepared S 0..1 dateTime When product was packaged and reviewed
... destination 0..1 Reference(Location Profile) Where the medication was sent
... receiver 0..* Reference(Patient Profile | Practitioner Profile (General)) Who collected the medication
... dosageInstruction S 0..* Dosage How the medication is to be used by the patient or administered by the caregiver
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:instructionRelationship 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-medicationorder-dosageinstruction-relationship]] Socialized Optional Extension: PrescribeIT dosageInstruction Relationship
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-medicationorder-dosageinstruction-relationship
.... text S 0..1 string Free text dosage instructions e.g. SIG
... substitution
.... responsibleParty 0..* Reference(Practitioner Profile (General) | PractitionerRole Profile (General)) Who is responsible for the substitution

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationDispense.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* MedicationDispense MedicationDispense Profile
mdd-1: whenHandedOver cannot be before whenPrepared
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... extension:renderedDosageInstruction 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage]] Socialized Optional Extension: PrescribeIT renderedDosageInstruction
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... partOf 0..* Reference(Procedure Profile) Event that dispense is part of
... status ?!SΣ 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.

... medication[x] SΣ 1..1 What medication was supplied
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): TBD. This is a placeholder for a comprehensive valueset, consisting of all Manufactured Product (MP), Non-proprietary Therapeutic Product (NTP) and Therapeutic Moiety (TM) codes, which would be created and maintained by Canada Health Infoway. Medicinal products for prescribing and dispensing in Canada. The content of this subset only contains commonly used medicinal products that are available for prescribing and dispensing in Canada. This content will expand to include all human medicinal products over time.


Example DIN: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/CA-HC-DIN"}]}
Example NPN: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/CA-HC-NPN"}]}
Example CCDD: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct"}]}
Example SNOMED CT (Medications) - IPS: {"coding":[{"system":"http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-uv-ips"}]}
Example WHO ATC IPS: {"coding":[{"system":"http://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips"}]}
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication Profile)
... subject SΣ 1..1 Reference(Patient Profile) Who the dispense is for
... context 0..1 Reference(Encounter Profile | EpisodeOfCare) Encounter / Episode associated with event
... performer 0..* BackboneElement Who performed event
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... actor S 1..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable) | RelatedPerson) Individual who was performing
... location 0..1 Reference(Location Profile) Where the dispense occurred
... authorizingPrescription 0..* Reference(MedicationRequest Profile) Medication order that authorizes the dispense
... quantity S 0..1 SimpleQuantity Amount dispensed
... whenPrepared SΣ 0..1 dateTime When product was packaged and reviewed
... destination 0..1 Reference(Location Profile) Where the medication was sent
... receiver 0..* Reference(Patient Profile | Practitioner Profile (General)) Who collected the medication
... dosageInstruction S 0..* Dosage How the medication is to be used by the patient or administered by the caregiver
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:instructionRelationship 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-medicationorder-dosageinstruction-relationship]] Socialized Optional Extension: PrescribeIT dosageInstruction Relationship
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-medicationorder-dosageinstruction-relationship
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... text SΣ 0..1 string Free text dosage instructions e.g. SIG

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationDispense.statusrequiredMedicationDispense Status Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status|4.0.1
from the FHIR Standard
MedicationDispense.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct

Constraints

IdGradePath(s)DetailsRequirements
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 C 0..* MedicationDispense MedicationDispense Profile
mdd-1: whenHandedOver cannot be before whenPrepared
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... extension:renderedDosageInstruction 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage]] Socialized Optional Extension: PrescribeIT renderedDosageInstruction
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage
... extension:quantityRemaining 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-dispense-quantity-remaining]] Socialized Optional Extension: PrescribeIT quantityRemaining
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-dispense-quantity-remaining
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier External identifier
... partOf 0..* Reference(Procedure Profile) Event that dispense is part of
... status ?!SΣ 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.

... statusReason[x] 0..1 Why a 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 0..1 CodeableConcept Type of medication dispense
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.

... medication[x] SΣ 1..1 What medication was supplied
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): TBD. This is a placeholder for a comprehensive valueset, consisting of all Manufactured Product (MP), Non-proprietary Therapeutic Product (NTP) and Therapeutic Moiety (TM) codes, which would be created and maintained by Canada Health Infoway. Medicinal products for prescribing and dispensing in Canada. The content of this subset only contains commonly used medicinal products that are available for prescribing and dispensing in Canada. This content will expand to include all human medicinal products over time.


Example DIN: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/CA-HC-DIN"}]}
Example NPN: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/CA-HC-NPN"}]}
Example CCDD: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct"}]}
Example SNOMED CT (Medications) - IPS: {"coding":[{"system":"http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-uv-ips"}]}
Example WHO ATC IPS: {"coding":[{"system":"http://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips"}]}
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication Profile)
... subject SΣ 1..1 Reference(Patient Profile) Who the dispense is for
... context 0..1 Reference(Encounter Profile | EpisodeOfCare) Encounter / Episode associated with event
... supportingInformation 0..* Reference(Resource) Information that supports the dispensing of the medication
... performer 0..* BackboneElement Who performed event
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... 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 S 1..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable) | RelatedPerson) Individual who was performing
... location 0..1 Reference(Location Profile) Where the dispense occurred
... authorizingPrescription 0..* Reference(MedicationRequest Profile) Medication order that authorizes the dispense
... type 0..1 CodeableConcept Trial 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 S 0..1 SimpleQuantity Amount dispensed
... daysSupply 0..1 SimpleQuantity Amount of medication expressed as a timing amount
... whenPrepared SΣ 0..1 dateTime When product was packaged and reviewed
... whenHandedOver 0..1 dateTime When product was given out
... destination 0..1 Reference(Location Profile) Where the medication was sent
... receiver 0..* Reference(Patient Profile | Practitioner Profile (General)) Who collected the medication
... note 0..* Annotation Information about the dispense
... dosageInstruction S 0..* Dosage How the medication is to be used by the patient or administered by the caregiver
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:instructionRelationship 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-medicationorder-dosageinstruction-relationship]] Socialized Optional Extension: PrescribeIT dosageInstruction Relationship
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-medicationorder-dosageinstruction-relationship
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... sequence Σ 0..1 integer The order of the dosage instructions
.... text SΣ 0..1 string Free text dosage instructions e.g. SIG
.... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... patientInstruction Σ 0..1 string Patient or consumer oriented instructions
.... timing Σ 0..1 Timing When medication should be administered
.... asNeeded[x] Σ 0..1 Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.

..... asNeededBoolean boolean
..... asNeededCodeableConcept CodeableConcept
.... site Σ 0..1 CodeableConcept Body site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... route Σ 0..1 CodeableConcept How drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... method Σ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate Σ 0..* Element Amount of medication administered
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] Σ 0..1 Amount of medication per dose
...... doseRange Range
...... doseQuantity Quantity(SimpleQuantity)
..... rate[x] Σ 0..1 Amount of medication per unit of time
...... rateRatio Ratio
...... rateRange Range
...... rateQuantity Quantity(SimpleQuantity)
.... maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time
.... maxDosePerAdministration Σ 0..1 SimpleQuantity Upper limit on medication per administration
.... maxDosePerLifetime Σ 0..1 SimpleQuantity Upper limit on medication per lifetime of the patient
... substitution 0..1 BackboneElement Whether a substitution was performed on the dispense
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... wasSubstituted 1..1 boolean Whether a substitution was or was not performed on the dispense
.... type 0..1 CodeableConcept Code signifying whether a different drug was dispensed from what was prescribed
Binding: ActSubstanceAdminSubstitutionCode (example): A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription.

.... reason 0..* CodeableConcept Why 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 Profile (General) | PractitionerRole Profile (General)) 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

PathConformanceValueSetURI
MedicationDispense.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
MedicationDispense.statusrequiredMedicationDispense Status Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status|4.0.1
from the FHIR Standard
MedicationDispense.statusReason[x]exampleMedicationDispense Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
from the FHIR Standard
MedicationDispense.categorypreferredMedicationDispense Category Codes
http://hl7.org/fhir/ValueSet/medicationdispense-category
from the FHIR Standard
MedicationDispense.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
MedicationDispense.performer.functionexampleMedicationDispense Performer Function Codes
http://hl7.org/fhir/ValueSet/medicationdispense-performer-function
from the FHIR Standard
MedicationDispense.typeexampleActPharmacySupplyType
http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType
MedicationDispense.dosageInstruction.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
MedicationDispense.dosageInstruction.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard
MedicationDispense.substitution.typeexampleActSubstanceAdminSubstitutionCode
http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode
MedicationDispense.substitution.reasonexampleSubstanceAdminSubstitutionReason
http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason

Constraints

IdGradePath(s)DetailsRequirements
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

This structure is derived from MedicationDispense

Differential View

This structure is derived from MedicationDispense

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense 0..* MedicationDispense MedicationDispense Profile
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... extension:renderedDosageInstruction 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage]] Socialized Optional Extension: PrescribeIT renderedDosageInstruction
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage
... extension:quantityRemaining 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-dispense-quantity-remaining]] Socialized Optional Extension: PrescribeIT quantityRemaining
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-dispense-quantity-remaining
... status S 1..1 code preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
... medication[x] S 1..1 What medication was supplied
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): TBD. This is a placeholder for a comprehensive valueset, consisting of all Manufactured Product (MP), Non-proprietary Therapeutic Product (NTP) and Therapeutic Moiety (TM) codes, which would be created and maintained by Canada Health Infoway. Medicinal products for prescribing and dispensing in Canada. The content of this subset only contains commonly used medicinal products that are available for prescribing and dispensing in Canada. This content will expand to include all human medicinal products over time.


Example DIN: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/CA-HC-DIN"}]}
Example NPN: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/CA-HC-NPN"}]}
Example CCDD: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct"}]}
Example SNOMED CT (Medications) - IPS: {"coding":[{"system":"http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-uv-ips"}]}
Example WHO ATC IPS: {"coding":[{"system":"http://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips"}]}
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication Profile)
... subject S 1..1 Reference(Patient Profile) Who the dispense is for
... context 0..1 Reference(Encounter Profile | EpisodeOfCare) Encounter / Episode associated with event
... performer
.... actor S 1..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable) | RelatedPerson) Individual who was performing
... location 0..1 Reference(Location Profile) Where the dispense occurred
... authorizingPrescription 0..* Reference(MedicationRequest Profile) Medication order that authorizes the dispense
... quantity S 0..1 SimpleQuantity Amount dispensed
... whenPrepared S 0..1 dateTime When product was packaged and reviewed
... destination 0..1 Reference(Location Profile) Where the medication was sent
... receiver 0..* Reference(Patient Profile | Practitioner Profile (General)) Who collected the medication
... dosageInstruction S 0..* Dosage How the medication is to be used by the patient or administered by the caregiver
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:instructionRelationship 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-medicationorder-dosageinstruction-relationship]] Socialized Optional Extension: PrescribeIT dosageInstruction Relationship
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-medicationorder-dosageinstruction-relationship
.... text S 0..1 string Free text dosage instructions e.g. SIG
... substitution
.... responsibleParty 0..* Reference(Practitioner Profile (General) | PractitionerRole Profile (General)) Who is responsible for the substitution

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationDispense.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* MedicationDispense MedicationDispense Profile
mdd-1: whenHandedOver cannot be before whenPrepared
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... extension:renderedDosageInstruction 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage]] Socialized Optional Extension: PrescribeIT renderedDosageInstruction
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... partOf 0..* Reference(Procedure Profile) Event that dispense is part of
... status ?!SΣ 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.

... medication[x] SΣ 1..1 What medication was supplied
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): TBD. This is a placeholder for a comprehensive valueset, consisting of all Manufactured Product (MP), Non-proprietary Therapeutic Product (NTP) and Therapeutic Moiety (TM) codes, which would be created and maintained by Canada Health Infoway. Medicinal products for prescribing and dispensing in Canada. The content of this subset only contains commonly used medicinal products that are available for prescribing and dispensing in Canada. This content will expand to include all human medicinal products over time.


Example DIN: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/CA-HC-DIN"}]}
Example NPN: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/CA-HC-NPN"}]}
Example CCDD: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct"}]}
Example SNOMED CT (Medications) - IPS: {"coding":[{"system":"http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-uv-ips"}]}
Example WHO ATC IPS: {"coding":[{"system":"http://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips"}]}
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication Profile)
... subject SΣ 1..1 Reference(Patient Profile) Who the dispense is for
... context 0..1 Reference(Encounter Profile | EpisodeOfCare) Encounter / Episode associated with event
... performer 0..* BackboneElement Who performed event
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... actor S 1..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable) | RelatedPerson) Individual who was performing
... location 0..1 Reference(Location Profile) Where the dispense occurred
... authorizingPrescription 0..* Reference(MedicationRequest Profile) Medication order that authorizes the dispense
... quantity S 0..1 SimpleQuantity Amount dispensed
... whenPrepared SΣ 0..1 dateTime When product was packaged and reviewed
... destination 0..1 Reference(Location Profile) Where the medication was sent
... receiver 0..* Reference(Patient Profile | Practitioner Profile (General)) Who collected the medication
... dosageInstruction S 0..* Dosage How the medication is to be used by the patient or administered by the caregiver
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:instructionRelationship 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-medicationorder-dosageinstruction-relationship]] Socialized Optional Extension: PrescribeIT dosageInstruction Relationship
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-medicationorder-dosageinstruction-relationship
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... text SΣ 0..1 string Free text dosage instructions e.g. SIG

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationDispense.statusrequiredMedicationDispense Status Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status|4.0.1
from the FHIR Standard
MedicationDispense.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct

Constraints

IdGradePath(s)DetailsRequirements
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 C 0..* MedicationDispense MedicationDispense Profile
mdd-1: whenHandedOver cannot be before whenPrepared
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
... extension:renderedDosageInstruction 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage]] Socialized Optional Extension: PrescribeIT renderedDosageInstruction
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage
... extension:quantityRemaining 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-dispense-quantity-remaining]] Socialized Optional Extension: PrescribeIT quantityRemaining
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-dispense-quantity-remaining
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier External identifier
... partOf 0..* Reference(Procedure Profile) Event that dispense is part of
... status ?!SΣ 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.

... statusReason[x] 0..1 Why a 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 0..1 CodeableConcept Type of medication dispense
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.

... medication[x] SΣ 1..1 What medication was supplied
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): TBD. This is a placeholder for a comprehensive valueset, consisting of all Manufactured Product (MP), Non-proprietary Therapeutic Product (NTP) and Therapeutic Moiety (TM) codes, which would be created and maintained by Canada Health Infoway. Medicinal products for prescribing and dispensing in Canada. The content of this subset only contains commonly used medicinal products that are available for prescribing and dispensing in Canada. This content will expand to include all human medicinal products over time.


Example DIN: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/CA-HC-DIN"}]}
Example NPN: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/CA-HC-NPN"}]}
Example CCDD: {"coding":[{"system":"https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct"}]}
Example SNOMED CT (Medications) - IPS: {"coding":[{"system":"http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-uv-ips"}]}
Example WHO ATC IPS: {"coding":[{"system":"http://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips"}]}
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication Profile)
... subject SΣ 1..1 Reference(Patient Profile) Who the dispense is for
... context 0..1 Reference(Encounter Profile | EpisodeOfCare) Encounter / Episode associated with event
... supportingInformation 0..* Reference(Resource) Information that supports the dispensing of the medication
... performer 0..* BackboneElement Who performed event
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... 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 S 1..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable) | RelatedPerson) Individual who was performing
... location 0..1 Reference(Location Profile) Where the dispense occurred
... authorizingPrescription 0..* Reference(MedicationRequest Profile) Medication order that authorizes the dispense
... type 0..1 CodeableConcept Trial 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 S 0..1 SimpleQuantity Amount dispensed
... daysSupply 0..1 SimpleQuantity Amount of medication expressed as a timing amount
... whenPrepared SΣ 0..1 dateTime When product was packaged and reviewed
... whenHandedOver 0..1 dateTime When product was given out
... destination 0..1 Reference(Location Profile) Where the medication was sent
... receiver 0..* Reference(Patient Profile | Practitioner Profile (General)) Who collected the medication
... note 0..* Annotation Information about the dispense
... dosageInstruction S 0..* Dosage How the medication is to be used by the patient or administered by the caregiver
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:instructionRelationship 0..1 ?gen-e1? [CanonicalType[http://prescribeit.ca/fhir/StructureDefinition/ext-medicationorder-dosageinstruction-relationship]] Socialized Optional Extension: PrescribeIT dosageInstruction Relationship
URL: http://prescribeit.ca/fhir/StructureDefinition/ext-medicationorder-dosageinstruction-relationship
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... sequence Σ 0..1 integer The order of the dosage instructions
.... text SΣ 0..1 string Free text dosage instructions e.g. SIG
.... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... patientInstruction Σ 0..1 string Patient or consumer oriented instructions
.... timing Σ 0..1 Timing When medication should be administered
.... asNeeded[x] Σ 0..1 Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.

..... asNeededBoolean boolean
..... asNeededCodeableConcept CodeableConcept
.... site Σ 0..1 CodeableConcept Body site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... route Σ 0..1 CodeableConcept How drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... method Σ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate Σ 0..* Element Amount of medication administered
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] Σ 0..1 Amount of medication per dose
...... doseRange Range
...... doseQuantity Quantity(SimpleQuantity)
..... rate[x] Σ 0..1 Amount of medication per unit of time
...... rateRatio Ratio
...... rateRange Range
...... rateQuantity Quantity(SimpleQuantity)
.... maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time
.... maxDosePerAdministration Σ 0..1 SimpleQuantity Upper limit on medication per administration
.... maxDosePerLifetime Σ 0..1 SimpleQuantity Upper limit on medication per lifetime of the patient
... substitution 0..1 BackboneElement Whether a substitution was performed on the dispense
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... wasSubstituted 1..1 boolean Whether a substitution was or was not performed on the dispense
.... type 0..1 CodeableConcept Code signifying whether a different drug was dispensed from what was prescribed
Binding: ActSubstanceAdminSubstitutionCode (example): A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription.

.... reason 0..* CodeableConcept Why 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 Profile (General) | PractitionerRole Profile (General)) 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

PathConformanceValueSetURI
MedicationDispense.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
MedicationDispense.statusrequiredMedicationDispense Status Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status|4.0.1
from the FHIR Standard
MedicationDispense.statusReason[x]exampleMedicationDispense Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
from the FHIR Standard
MedicationDispense.categorypreferredMedicationDispense Category Codes
http://hl7.org/fhir/ValueSet/medicationdispense-category
from the FHIR Standard
MedicationDispense.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
MedicationDispense.performer.functionexampleMedicationDispense Performer Function Codes
http://hl7.org/fhir/ValueSet/medicationdispense-performer-function
from the FHIR Standard
MedicationDispense.typeexampleActPharmacySupplyType
http://terminology.hl7.org/ValueSet/v3-ActPharmacySupplyType
MedicationDispense.dosageInstruction.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
MedicationDispense.dosageInstruction.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard
MedicationDispense.substitution.typeexampleActSubstanceAdminSubstitutionCode
http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode
MedicationDispense.substitution.reasonexampleSubstanceAdminSubstitutionReason
http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason

Constraints

IdGradePath(s)DetailsRequirements
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

This structure is derived from MedicationDispense

 

Other representations of profile: CSV, Excel, Schematron