Patient-Generated Health Data (PGHD) Implementation Guide
0.5.0 - release

Publication Build: This will be filled in by the publication tooling

Resource Profile: PGHD MedicationDispense Profile

Official URL: http://fhir/pghd/StructureDefinition/pghd-medicationdispense Version: 0.5.0
Active as of 2024-12-19 Computable Name: PGHDMedicationDispense

Copyright/Legal: Copyright 2024+

This profile defines the dispensing on the part of a pharmacy.
このプロファイルは薬局の調剤を定義します。

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 PGHD MedicationDispense Profile (薬局調剤プロファイル)
... status S 1..1 code preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
... medication[x] S 1..1 CodeableConcept, Reference(Medication) What medication was supplied
... subject S 0..1 Reference(PGHD Patient Profile) Who the dispense is for
... whenHandedOver S 0..1 dateTime When product was given out
... dosageInstruction S 0..* Dosage How the medication is to be used by the patient or administered by the caregiver
.... additionalInstruction S 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
.... timing S 0..1 Timing When medication should be administered
..... repeat S 0..1 Element When the event is to occur
...... bounds[x] S 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
..... code S 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
.... method S 0..1 CodeableConcept Technique for administering medication
.... doseAndRate S 0..* Element Amount of medication administered
..... type S 0..1 CodeableConcept The kind of dose or rate specified
..... dose[x] S 0..1 Range, SimpleQuantity Amount of medication per dose
..... rate[x] S 0..1 Ratio, Range, SimpleQuantity Amount of medication per unit of time

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* MedicationDispense PGHD MedicationDispense Profile (薬局調剤プロファイル)
mdd-1: whenHandedOver cannot be before whenPrepared
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... 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.

.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication)
... subject SΣ 0..1 Reference(PGHD Patient Profile) Who the dispense is for
... quantity S 0..1 SimpleQuantity Amount dispensed
... whenHandedOver S 0..1 dateTime When product was given out
... dosageInstruction S 0..* Dosage How the medication is to be used by the patient or administered by the caregiver
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... additionalInstruction SΣ 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".


.... timing SΣ 0..1 Timing When medication should be administered
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... repeat SΣC 0..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
...... bounds[x] SΣ 0..1 Length/Range of lengths, or (Start and/or end) limits
....... boundsDuration Duration
....... boundsRange Range
....... boundsPeriod Period
..... code SΣ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

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

.... doseAndRate SΣ 0..* Element Amount of medication administered
..... type SΣ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] SΣ 0..1 Amount of medication per dose
...... doseRange Range
...... doseQuantity Quantity(SimpleQuantity)
..... rate[x] SΣ 0..1 Amount of medication per unit of time
...... rateRatio Ratio
...... rateRange Range
...... rateQuantity Quantity(SimpleQuantity)

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]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
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

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
tim-1errorMedicationDispense.dosageInstruction.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorMedicationDispense.dosageInstruction.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorMedicationDispense.dosageInstruction.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorMedicationDispense.dosageInstruction.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorMedicationDispense.dosageInstruction.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorMedicationDispense.dosageInstruction.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorMedicationDispense.dosageInstruction.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorMedicationDispense.dosageInstruction.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorMedicationDispense.dosageInstruction.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* MedicationDispense PGHD 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier External identifier
... partOf 0..* Reference(Procedure) 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: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.

.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication)
... subject SΣ 0..1 Reference(PGHD Patient Profile) Who the dispense is for
... context 0..1 Reference(Encounter | 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 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson) Individual who was performing
... location 0..1 Reference(Location) Where the dispense occurred
... authorizingPrescription 0..* Reference(MedicationRequest) 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 Σ 0..1 dateTime When product was packaged and reviewed
... whenHandedOver S 0..1 dateTime When product was given out
... destination 0..1 Reference(Location) Where the medication was sent
... receiver 0..* Reference(Patient | Practitioner) 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
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... sequence Σ 0..1 integer The order of the dosage instructions
.... text Σ 0..1 string Free text dosage instructions e.g. SIG
.... additionalInstruction SΣ 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 SΣ 0..1 Timing When medication should be 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... event Σ 0..* dateTime When the event occurs
..... repeat SΣC 0..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... bounds[x] SΣ 0..1 Length/Range of lengths, or (Start and/or end) limits
....... boundsDuration Duration
....... boundsRange Range
....... boundsPeriod Period
...... count Σ 0..1 positiveInt Number of times to repeat
...... countMax Σ 0..1 positiveInt Maximum number of times to repeat
...... duration Σ 0..1 decimal How long when it happens
...... durationMax Σ 0..1 decimal How long when it happens (Max)
...... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

...... frequency Σ 0..1 positiveInt Event occurs frequency times per period
...... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
...... period Σ 0..1 decimal Event occurs frequency times per period
...... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
...... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

...... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
...... timeOfDay Σ 0..* time Time of day for action
...... when Σ 0..* code Code for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.


...... offset Σ 0..1 unsignedInt Minutes from event (before or after)
..... code SΣ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

.... 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 SΣ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate SΣ 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 SΣ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] SΣ 0..1 Amount of medication per dose
...... doseRange Range
...... doseQuantity Quantity(SimpleQuantity)
..... rate[x] SΣ 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 | 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

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]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
from the FHIR Standard
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.timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
MedicationDispense.dosageInstruction.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
MedicationDispense.dosageInstruction.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard
MedicationDispense.dosageInstruction.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
from the FHIR Standard
MedicationDispense.dosageInstruction.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
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
tim-1errorMedicationDispense.dosageInstruction.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorMedicationDispense.dosageInstruction.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorMedicationDispense.dosageInstruction.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorMedicationDispense.dosageInstruction.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorMedicationDispense.dosageInstruction.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorMedicationDispense.dosageInstruction.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorMedicationDispense.dosageInstruction.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorMedicationDispense.dosageInstruction.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorMedicationDispense.dosageInstruction.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from MedicationDispense

Summary

Must-Support: 16 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from MedicationDispense

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense 0..* MedicationDispense PGHD MedicationDispense Profile (薬局調剤プロファイル)
... status S 1..1 code preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
... medication[x] S 1..1 CodeableConcept, Reference(Medication) What medication was supplied
... subject S 0..1 Reference(PGHD Patient Profile) Who the dispense is for
... whenHandedOver S 0..1 dateTime When product was given out
... dosageInstruction S 0..* Dosage How the medication is to be used by the patient or administered by the caregiver
.... additionalInstruction S 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
.... timing S 0..1 Timing When medication should be administered
..... repeat S 0..1 Element When the event is to occur
...... bounds[x] S 0..1 Duration, Range, Period Length/Range of lengths, or (Start and/or end) limits
..... code S 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
.... method S 0..1 CodeableConcept Technique for administering medication
.... doseAndRate S 0..* Element Amount of medication administered
..... type S 0..1 CodeableConcept The kind of dose or rate specified
..... dose[x] S 0..1 Range, SimpleQuantity Amount of medication per dose
..... rate[x] S 0..1 Ratio, Range, SimpleQuantity Amount of medication per unit of time

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* MedicationDispense PGHD MedicationDispense Profile (薬局調剤プロファイル)
mdd-1: whenHandedOver cannot be before whenPrepared
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... 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.

.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication)
... subject SΣ 0..1 Reference(PGHD Patient Profile) Who the dispense is for
... quantity S 0..1 SimpleQuantity Amount dispensed
... whenHandedOver S 0..1 dateTime When product was given out
... dosageInstruction S 0..* Dosage How the medication is to be used by the patient or administered by the caregiver
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... additionalInstruction SΣ 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".


.... timing SΣ 0..1 Timing When medication should be administered
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... repeat SΣC 0..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
...... bounds[x] SΣ 0..1 Length/Range of lengths, or (Start and/or end) limits
....... boundsDuration Duration
....... boundsRange Range
....... boundsPeriod Period
..... code SΣ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

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

.... doseAndRate SΣ 0..* Element Amount of medication administered
..... type SΣ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] SΣ 0..1 Amount of medication per dose
...... doseRange Range
...... doseQuantity Quantity(SimpleQuantity)
..... rate[x] SΣ 0..1 Amount of medication per unit of time
...... rateRatio Ratio
...... rateRange Range
...... rateQuantity Quantity(SimpleQuantity)

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]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
MedicationDispense.dosageInstruction.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
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

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
tim-1errorMedicationDispense.dosageInstruction.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorMedicationDispense.dosageInstruction.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorMedicationDispense.dosageInstruction.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorMedicationDispense.dosageInstruction.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorMedicationDispense.dosageInstruction.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorMedicationDispense.dosageInstruction.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorMedicationDispense.dosageInstruction.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorMedicationDispense.dosageInstruction.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorMedicationDispense.dosageInstruction.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C 0..* MedicationDispense PGHD 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier External identifier
... partOf 0..* Reference(Procedure) 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: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.

.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication)
... subject SΣ 0..1 Reference(PGHD Patient Profile) Who the dispense is for
... context 0..1 Reference(Encounter | 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 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson) Individual who was performing
... location 0..1 Reference(Location) Where the dispense occurred
... authorizingPrescription 0..* Reference(MedicationRequest) 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 Σ 0..1 dateTime When product was packaged and reviewed
... whenHandedOver S 0..1 dateTime When product was given out
... destination 0..1 Reference(Location) Where the medication was sent
... receiver 0..* Reference(Patient | Practitioner) 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
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... sequence Σ 0..1 integer The order of the dosage instructions
.... text Σ 0..1 string Free text dosage instructions e.g. SIG
.... additionalInstruction SΣ 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 SΣ 0..1 Timing When medication should be 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... event Σ 0..* dateTime When the event occurs
..... repeat SΣC 0..1 Element When the event is to occur
tim-1: if there's a duration, there needs to be duration units
tim-2: if there's a period, there needs to be period units
tim-4: duration SHALL be a non-negative value
tim-5: period SHALL be a non-negative value
tim-6: If there's a periodMax, there must be a period
tim-7: If there's a durationMax, there must be a duration
tim-8: If there's a countMax, there must be a count
tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV)
tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... bounds[x] SΣ 0..1 Length/Range of lengths, or (Start and/or end) limits
....... boundsDuration Duration
....... boundsRange Range
....... boundsPeriod Period
...... count Σ 0..1 positiveInt Number of times to repeat
...... countMax Σ 0..1 positiveInt Maximum number of times to repeat
...... duration Σ 0..1 decimal How long when it happens
...... durationMax Σ 0..1 decimal How long when it happens (Max)
...... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

...... frequency Σ 0..1 positiveInt Event occurs frequency times per period
...... frequencyMax Σ 0..1 positiveInt Event occurs up to frequencyMax times per period
...... period Σ 0..1 decimal Event occurs frequency times per period
...... periodMax Σ 0..1 decimal Upper limit of period (3-4 hours)
...... periodUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).

...... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
...... timeOfDay Σ 0..* time Time of day for action
...... when Σ 0..* code Code for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.


...... offset Σ 0..1 unsignedInt Minutes from event (before or after)
..... code SΣ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.

.... 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 SΣ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate SΣ 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 SΣ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] SΣ 0..1 Amount of medication per dose
...... doseRange Range
...... doseQuantity Quantity(SimpleQuantity)
..... rate[x] SΣ 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 | 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

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]exampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
from the FHIR Standard
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.timing.repeat.durationUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
MedicationDispense.dosageInstruction.timing.repeat.periodUnitrequiredUnitsOfTime
http://hl7.org/fhir/ValueSet/units-of-time|4.0.1
from the FHIR Standard
MedicationDispense.dosageInstruction.timing.repeat.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard
MedicationDispense.dosageInstruction.timing.repeat.whenrequiredEventTiming
http://hl7.org/fhir/ValueSet/event-timing|4.0.1
from the FHIR Standard
MedicationDispense.dosageInstruction.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
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
tim-1errorMedicationDispense.dosageInstruction.timing.repeatif there's a duration, there needs to be duration units
: duration.empty() or durationUnit.exists()
tim-2errorMedicationDispense.dosageInstruction.timing.repeatif there's a period, there needs to be period units
: period.empty() or periodUnit.exists()
tim-4errorMedicationDispense.dosageInstruction.timing.repeatduration SHALL be a non-negative value
: duration.exists() implies duration >= 0
tim-5errorMedicationDispense.dosageInstruction.timing.repeatperiod SHALL be a non-negative value
: period.exists() implies period >= 0
tim-6errorMedicationDispense.dosageInstruction.timing.repeatIf there's a periodMax, there must be a period
: periodMax.empty() or period.exists()
tim-7errorMedicationDispense.dosageInstruction.timing.repeatIf there's a durationMax, there must be a duration
: durationMax.empty() or duration.exists()
tim-8errorMedicationDispense.dosageInstruction.timing.repeatIf there's a countMax, there must be a count
: countMax.empty() or count.exists()
tim-9errorMedicationDispense.dosageInstruction.timing.repeatIf there's an offset, there must be a when (and not C, CM, CD, CV)
: offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10errorMedicationDispense.dosageInstruction.timing.repeatIf there's a timeOfDay, there cannot be a when, or vice versa
: timeOfDay.empty() or when.empty()

This structure is derived from MedicationDispense

Summary

Must-Support: 16 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron