NP Core Implementation Guide
1.0.0 - Release Nepal flag

NP Core Implementation Guide - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: NP Core MedicationDispense

Official URL: http://fhir.digitalhealth.gov.np/core/StructureDefinition/np-core-medicationdispense Version: 1.0.0
Active as of 2026-10-14 Computable Name: NPCoreMedicationDispense

Sets minimum expectations for representing the dispensing of a medication to a patient in Nepal.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense Dispensing a medication to a named patient
Constraints: mdd-1
MedicationDispense.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MedicationDispense.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationDispense.status This element is a modifier element. This element has obligations and must be supported. This element is included in summaries. 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.
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.Slices for medication[x] This element has obligations and must be supported. This element is included in summaries. 1..1 What medication was supplied
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for medication[x].medicationCodeableConcept CodeableConcept
MedicationDispense.Slices for medication[x].medicationReference Reference(Medication)
MedicationDispense.Slices for medication[x].medication[x]:medicationReference This element must be supported. This element is included in summaries. 0..1 Reference(NP Core Medication) What medication was supplied
MedicationDispense.Slices for medication[x].medication[x]:medicationCodeableConcept This element must be supported. This element is included in summaries. 0..1 CodeableConcept What medication was supplied
Binding: Nepal Drug Value Set (preferred)
MedicationDispense.subject This element has obligations and must be supported. This element is included in summaries. 0..1 Reference(NP Core Patient | Group) Who the dispense is for
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.context 0..1 Reference(NP Core Encounter | EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.performer This element has obligations and must be supported. 0..* BackboneElement Who performed event
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationDispense.performer.actor 1..1 Reference(NP Core Practitioner | NP Core PractitionerRole | NP Core Organization | NP Core Patient | NP Core RelatedPerson | NP Core Device) Individual who was performing
MedicationDispense.location 0..1 Reference(NP Core Location) Where the dispense occurred
MedicationDispense.authorizingPrescription 0..* Reference(NP Core MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.quantity This element has obligations and must be supported. C 0..1 SimpleQuantity(4.0.1) Amount dispensed
Constraints: sqty-1
ObligationsActor
SHOULD:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.whenHandedOver This element has obligations and must be supported. 0..1 dateTime When product was given out
ObligationsActor
SHOULD:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.destination 0..1 Reference(NP Core Location) Where the medication was sent
MedicationDispense.receiver 0..* Reference(NP Core Patient | NP Core Practitioner) Who collected the medication

doco Documentation for this format
NameNP Core ServerNP Core ConsumerNP Core Creatordoco
MedicationDispense
MedicationDispense / status
MedicationDispense / Slices for medication[x]
MedicationDispense / subject
MedicationDispense / performer
MedicationDispense / quantity
MedicationDispense / whenHandedOver

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationDispense.status Base required Medication dispense status codes 📍4.0.1 FHIR Std.
MedicationDispense.medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationDispense.medication[x]:medicationCodeableConcept Base preferred Nepal Drug Value Set 📦1.0.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationDispense If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationDispense If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource 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-4 error MedicationDispense If 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-5 error MedicationDispense If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationDispense A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
mdd-1 error MedicationDispense whenHandedOver cannot be before whenPrepared whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
sqty-1 error MedicationDispense.quantity The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from MedicationDispense

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense 0..* MedicationDispense Dispensing a medication to a named patient
MedicationDispense.status This element has obligations and must be supported. 1..1 code preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.Slices for medication[x] This element has obligations and must be supported. 1..1 CodeableConcept, Reference(Medication) What medication was supplied
Slice: Unordered, Open by type:$this
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for medication[x].medication[x]:medicationReference This element must be supported. 0..1 Reference(NP Core Medication) What medication was supplied
MedicationDispense.Slices for medication[x].medication[x]:medicationCodeableConcept This element must be supported. 0..1 CodeableConcept What medication was supplied
Binding: Nepal Drug Value Set (preferred)
MedicationDispense.subject This element has obligations and must be supported. 0..1 Reference(NP Core Patient | Group) Who the dispense is for
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.performer This element has obligations and must be supported. 0..* BackboneElement Who performed event
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.performer.actor 1..1 Reference(NP Core Practitioner | NP Core PractitionerRole | NP Core Organization | NP Core Patient | NP Core RelatedPerson | NP Core Device) Individual who was performing
MedicationDispense.location 0..1 Reference(NP Core Location) Where the dispense occurred
MedicationDispense.authorizingPrescription 0..* Reference(NP Core MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.quantity This element has obligations and must be supported. 0..1 SimpleQuantity(4.0.1) Amount dispensed
ObligationsActor
SHOULD:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.whenHandedOver This element has obligations and must be supported. 0..1 dateTime When product was given out
ObligationsActor
SHOULD:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.destination 0..1 Reference(NP Core Location) Where the medication was sent
MedicationDispense.receiver 0..* Reference(NP Core Patient | NP Core Practitioner) Who collected the medication
MedicationDispense.substitution
MedicationDispense.substitution.responsibleParty 0..* Reference(NP Core Practitioner | NP Core PractitionerRole) Who is responsible for the substitution

doco Documentation for this format
NameNP Core ServerNP Core ConsumerNP Core Creatordoco
MedicationDispense
MedicationDispense / status
MedicationDispense / Slices for medication[x]
MedicationDispense / subject
MedicationDispense / performer
MedicationDispense / quantity
MedicationDispense / whenHandedOver

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationDispense.medication[x]:medicationCodeableConcept Base preferred Nepal Drug Value Set 📦1.0.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense Dispensing a medication to a named patient
Constraints: mdd-1
MedicationDispense.id This element is included in summaries. 0..1 id Logical id of this artifact
MedicationDispense.meta This element is included in summaries. 0..1 Meta Metadata about the resource
MedicationDispense.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MedicationDispense.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
MedicationDispense.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
MedicationDispense.contained 0..* Resource Contained, inline Resources
MedicationDispense.extension 0..* Extension Additional content defined by implementations
MedicationDispense.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationDispense.identifier 0..* Identifier External identifier
MedicationDispense.partOf 0..* Reference(Procedure) Event that dispense is part of
MedicationDispense.status This element is a modifier element. This element has obligations and must be supported. This element is included in summaries. 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.
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.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.
MedicationDispense.statusReason[x].statusReasonCodeableConcept CodeableConcept
MedicationDispense.statusReason[x].statusReasonReference Reference(DetectedIssue)
MedicationDispense.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.
MedicationDispense.Slices for medication[x] This element has obligations and must be supported. This element is included in summaries. 1..1 What medication was supplied
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for medication[x].medicationCodeableConcept CodeableConcept
MedicationDispense.Slices for medication[x].medicationReference Reference(Medication)
MedicationDispense.Slices for medication[x].medication[x]:medicationReference This element must be supported. This element is included in summaries. 0..1 Reference(NP Core Medication) What medication was supplied
MedicationDispense.Slices for medication[x].medication[x]:medicationCodeableConcept This element must be supported. This element is included in summaries. 0..1 CodeableConcept What medication was supplied
Binding: Nepal Drug Value Set (preferred)
MedicationDispense.subject This element has obligations and must be supported. This element is included in summaries. 0..1 Reference(NP Core Patient | Group) Who the dispense is for
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.context 0..1 Reference(NP Core Encounter | EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.supportingInformation 0..* Reference(Resource) Information that supports the dispensing of the medication
MedicationDispense.performer This element has obligations and must be supported. 0..* BackboneElement Who performed event
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.performer.id 0..1 string Unique id for inter-element referencing
MedicationDispense.performer.extension 0..* Extension Additional content defined by implementations
MedicationDispense.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationDispense.performer.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.
MedicationDispense.performer.actor 1..1 Reference(NP Core Practitioner | NP Core PractitionerRole | NP Core Organization | NP Core Patient | NP Core RelatedPerson | NP Core Device) Individual who was performing
MedicationDispense.location 0..1 Reference(NP Core Location) Where the dispense occurred
MedicationDispense.authorizingPrescription 0..* Reference(NP Core MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.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.
MedicationDispense.quantity This element has obligations and must be supported. C 0..1 SimpleQuantity(4.0.1) Amount dispensed
Constraints: sqty-1
ObligationsActor
SHOULD:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.daysSupply C 0..1 SimpleQuantity(4.0.1) Amount of medication expressed as a timing amount
Constraints: sqty-1
MedicationDispense.whenPrepared This element is included in summaries. 0..1 dateTime When product was packaged and reviewed
MedicationDispense.whenHandedOver This element has obligations and must be supported. 0..1 dateTime When product was given out
ObligationsActor
SHOULD:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.destination 0..1 Reference(NP Core Location) Where the medication was sent
MedicationDispense.receiver 0..* Reference(NP Core Patient | NP Core Practitioner) Who collected the medication
MedicationDispense.note 0..* Annotation Information about the dispense
MedicationDispense.dosageInstruction 0..* Dosage How the medication is to be used by the patient or administered by the caregiver
MedicationDispense.substitution 0..1 BackboneElement Whether a substitution was performed on the dispense
MedicationDispense.substitution.id 0..1 string Unique id for inter-element referencing
MedicationDispense.substitution.extension 0..* Extension Additional content defined by implementations
MedicationDispense.substitution.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationDispense.substitution.wasSubstituted 1..1 boolean Whether a substitution was or was not performed on the dispense
MedicationDispense.substitution.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.
MedicationDispense.substitution.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.
MedicationDispense.substitution.responsibleParty 0..* Reference(NP Core Practitioner | NP Core PractitionerRole) Who is responsible for the substitution
MedicationDispense.detectedIssue 0..* Reference(DetectedIssue) Clinical issue with action
MedicationDispense.eventHistory 0..* Reference(Provenance) A list of relevant lifecycle events

doco Documentation for this format
NameNP Core ServerNP Core ConsumerNP Core Creatordoco
MedicationDispense
MedicationDispense / status
MedicationDispense / Slices for medication[x]
MedicationDispense / subject
MedicationDispense / performer
MedicationDispense / quantity
MedicationDispense / whenHandedOver

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationDispense.language Base preferred Common Languages 📍4.0.1 FHIR Std.
MedicationDispense.status Base required Medication dispense status codes 📍4.0.1 FHIR Std.
MedicationDispense.statusReason[x] Base example Medication dispense status reason codes 📍4.0.1 FHIR Std.
MedicationDispense.category Base preferred Medication dispense category codes 📍4.0.1 FHIR Std.
MedicationDispense.medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationDispense.medication[x]:medicationCodeableConcept Base preferred Nepal Drug Value Set 📦1.0.0 This IG
MedicationDispense.performer.​function Base example Medication dispense performer function codes 📍4.0.1 FHIR Std.
MedicationDispense.type Base example ActPharmacySupplyType 📦3.0.0 THO v7.4
MedicationDispense.substitution.​type Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.4
MedicationDispense.substitution.​reason Base example SubstanceAdminSubstitutionReason 📦3.0.0 THO v7.4

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationDispense If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationDispense If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource 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-4 error MedicationDispense If 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-5 error MedicationDispense If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationDispense A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
mdd-1 error MedicationDispense whenHandedOver cannot be before whenPrepared whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
sqty-1 error MedicationDispense.quantity, MedicationDispense.daysSupply The comparator is not used on a SimpleQuantity comparator.empty()
NameNP Core ServerNP Core ConsumerNP Core Creatordoco
MedicationDispense
MedicationDispense / status
MedicationDispense / Slices for medication[x]
MedicationDispense / subject
MedicationDispense / performer
MedicationDispense / quantity
MedicationDispense / whenHandedOver

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense Dispensing a medication to a named patient
Constraints: mdd-1
MedicationDispense.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MedicationDispense.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationDispense.status This element is a modifier element. This element has obligations and must be supported. This element is included in summaries. 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.
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.Slices for medication[x] This element has obligations and must be supported. This element is included in summaries. 1..1 What medication was supplied
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for medication[x].medicationCodeableConcept CodeableConcept
MedicationDispense.Slices for medication[x].medicationReference Reference(Medication)
MedicationDispense.Slices for medication[x].medication[x]:medicationReference This element must be supported. This element is included in summaries. 0..1 Reference(NP Core Medication) What medication was supplied
MedicationDispense.Slices for medication[x].medication[x]:medicationCodeableConcept This element must be supported. This element is included in summaries. 0..1 CodeableConcept What medication was supplied
Binding: Nepal Drug Value Set (preferred)
MedicationDispense.subject This element has obligations and must be supported. This element is included in summaries. 0..1 Reference(NP Core Patient | Group) Who the dispense is for
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.context 0..1 Reference(NP Core Encounter | EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.performer This element has obligations and must be supported. 0..* BackboneElement Who performed event
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationDispense.performer.actor 1..1 Reference(NP Core Practitioner | NP Core PractitionerRole | NP Core Organization | NP Core Patient | NP Core RelatedPerson | NP Core Device) Individual who was performing
MedicationDispense.location 0..1 Reference(NP Core Location) Where the dispense occurred
MedicationDispense.authorizingPrescription 0..* Reference(NP Core MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.quantity This element has obligations and must be supported. C 0..1 SimpleQuantity(4.0.1) Amount dispensed
Constraints: sqty-1
ObligationsActor
SHOULD:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.whenHandedOver This element has obligations and must be supported. 0..1 dateTime When product was given out
ObligationsActor
SHOULD:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.destination 0..1 Reference(NP Core Location) Where the medication was sent
MedicationDispense.receiver 0..* Reference(NP Core Patient | NP Core Practitioner) Who collected the medication

doco Documentation for this format
NameNP Core ServerNP Core ConsumerNP Core Creatordoco
MedicationDispense
MedicationDispense / status
MedicationDispense / Slices for medication[x]
MedicationDispense / subject
MedicationDispense / performer
MedicationDispense / quantity
MedicationDispense / whenHandedOver

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationDispense.status Base required Medication dispense status codes 📍4.0.1 FHIR Std.
MedicationDispense.medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationDispense.medication[x]:medicationCodeableConcept Base preferred Nepal Drug Value Set 📦1.0.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationDispense If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationDispense If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource 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-4 error MedicationDispense If 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-5 error MedicationDispense If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationDispense A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
mdd-1 error MedicationDispense whenHandedOver cannot be before whenPrepared whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
sqty-1 error MedicationDispense.quantity The comparator is not used on a SimpleQuantity comparator.empty()

Differential View

This structure is derived from MedicationDispense

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense 0..* MedicationDispense Dispensing a medication to a named patient
MedicationDispense.status This element has obligations and must be supported. 1..1 code preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.Slices for medication[x] This element has obligations and must be supported. 1..1 CodeableConcept, Reference(Medication) What medication was supplied
Slice: Unordered, Open by type:$this
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for medication[x].medication[x]:medicationReference This element must be supported. 0..1 Reference(NP Core Medication) What medication was supplied
MedicationDispense.Slices for medication[x].medication[x]:medicationCodeableConcept This element must be supported. 0..1 CodeableConcept What medication was supplied
Binding: Nepal Drug Value Set (preferred)
MedicationDispense.subject This element has obligations and must be supported. 0..1 Reference(NP Core Patient | Group) Who the dispense is for
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.context 0..1 Reference(NP Core Encounter | EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.performer This element has obligations and must be supported. 0..* BackboneElement Who performed event
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.performer.actor 1..1 Reference(NP Core Practitioner | NP Core PractitionerRole | NP Core Organization | NP Core Patient | NP Core RelatedPerson | NP Core Device) Individual who was performing
MedicationDispense.location 0..1 Reference(NP Core Location) Where the dispense occurred
MedicationDispense.authorizingPrescription 0..* Reference(NP Core MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.quantity This element has obligations and must be supported. 0..1 SimpleQuantity(4.0.1) Amount dispensed
ObligationsActor
SHOULD:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.whenHandedOver This element has obligations and must be supported. 0..1 dateTime When product was given out
ObligationsActor
SHOULD:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.destination 0..1 Reference(NP Core Location) Where the medication was sent
MedicationDispense.receiver 0..* Reference(NP Core Patient | NP Core Practitioner) Who collected the medication
MedicationDispense.substitution
MedicationDispense.substitution.responsibleParty 0..* Reference(NP Core Practitioner | NP Core PractitionerRole) Who is responsible for the substitution

doco Documentation for this format
NameNP Core ServerNP Core ConsumerNP Core Creatordoco
MedicationDispense
MedicationDispense / status
MedicationDispense / Slices for medication[x]
MedicationDispense / subject
MedicationDispense / performer
MedicationDispense / quantity
MedicationDispense / whenHandedOver

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationDispense.medication[x]:medicationCodeableConcept Base preferred Nepal Drug Value Set 📦1.0.0 This IG

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationDispense C 0..* MedicationDispense Dispensing a medication to a named patient
Constraints: mdd-1
MedicationDispense.id This element is included in summaries. 0..1 id Logical id of this artifact
MedicationDispense.meta This element is included in summaries. 0..1 Meta Metadata about the resource
MedicationDispense.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MedicationDispense.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
MedicationDispense.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
MedicationDispense.contained 0..* Resource Contained, inline Resources
MedicationDispense.extension 0..* Extension Additional content defined by implementations
MedicationDispense.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationDispense.identifier 0..* Identifier External identifier
MedicationDispense.partOf 0..* Reference(Procedure) Event that dispense is part of
MedicationDispense.status This element is a modifier element. This element has obligations and must be supported. This element is included in summaries. 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.
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.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.
MedicationDispense.statusReason[x].statusReasonCodeableConcept CodeableConcept
MedicationDispense.statusReason[x].statusReasonReference Reference(DetectedIssue)
MedicationDispense.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.
MedicationDispense.Slices for medication[x] This element has obligations and must be supported. This element is included in summaries. 1..1 What medication was supplied
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying which substance or product can be dispensed.
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationDispense.Slices for medication[x].medicationCodeableConcept CodeableConcept
MedicationDispense.Slices for medication[x].medicationReference Reference(Medication)
MedicationDispense.Slices for medication[x].medication[x]:medicationReference This element must be supported. This element is included in summaries. 0..1 Reference(NP Core Medication) What medication was supplied
MedicationDispense.Slices for medication[x].medication[x]:medicationCodeableConcept This element must be supported. This element is included in summaries. 0..1 CodeableConcept What medication was supplied
Binding: Nepal Drug Value Set (preferred)
MedicationDispense.subject This element has obligations and must be supported. This element is included in summaries. 0..1 Reference(NP Core Patient | Group) Who the dispense is for
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.context 0..1 Reference(NP Core Encounter | EpisodeOfCare) Encounter / Episode associated with event
MedicationDispense.supportingInformation 0..* Reference(Resource) Information that supports the dispensing of the medication
MedicationDispense.performer This element has obligations and must be supported. 0..* BackboneElement Who performed event
ObligationsActor
SHALL:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.performer.id 0..1 string Unique id for inter-element referencing
MedicationDispense.performer.extension 0..* Extension Additional content defined by implementations
MedicationDispense.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationDispense.performer.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.
MedicationDispense.performer.actor 1..1 Reference(NP Core Practitioner | NP Core PractitionerRole | NP Core Organization | NP Core Patient | NP Core RelatedPerson | NP Core Device) Individual who was performing
MedicationDispense.location 0..1 Reference(NP Core Location) Where the dispense occurred
MedicationDispense.authorizingPrescription 0..* Reference(NP Core MedicationRequest) Medication order that authorizes the dispense
MedicationDispense.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.
MedicationDispense.quantity This element has obligations and must be supported. C 0..1 SimpleQuantity(4.0.1) Amount dispensed
Constraints: sqty-1
ObligationsActor
SHOULD:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.daysSupply C 0..1 SimpleQuantity(4.0.1) Amount of medication expressed as a timing amount
Constraints: sqty-1
MedicationDispense.whenPrepared This element is included in summaries. 0..1 dateTime When product was packaged and reviewed
MedicationDispense.whenHandedOver This element has obligations and must be supported. 0..1 dateTime When product was given out
ObligationsActor
SHOULD:able-to-populate NP Core Creator
SHALL:handle NP Core Consumer
SHALL:handle NP Core Server
MedicationDispense.destination 0..1 Reference(NP Core Location) Where the medication was sent
MedicationDispense.receiver 0..* Reference(NP Core Patient | NP Core Practitioner) Who collected the medication
MedicationDispense.note 0..* Annotation Information about the dispense
MedicationDispense.dosageInstruction 0..* Dosage How the medication is to be used by the patient or administered by the caregiver
MedicationDispense.substitution 0..1 BackboneElement Whether a substitution was performed on the dispense
MedicationDispense.substitution.id 0..1 string Unique id for inter-element referencing
MedicationDispense.substitution.extension 0..* Extension Additional content defined by implementations
MedicationDispense.substitution.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationDispense.substitution.wasSubstituted 1..1 boolean Whether a substitution was or was not performed on the dispense
MedicationDispense.substitution.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.
MedicationDispense.substitution.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.
MedicationDispense.substitution.responsibleParty 0..* Reference(NP Core Practitioner | NP Core PractitionerRole) Who is responsible for the substitution
MedicationDispense.detectedIssue 0..* Reference(DetectedIssue) Clinical issue with action
MedicationDispense.eventHistory 0..* Reference(Provenance) A list of relevant lifecycle events

doco Documentation for this format
NameNP Core ServerNP Core ConsumerNP Core Creatordoco
MedicationDispense
MedicationDispense / status
MedicationDispense / Slices for medication[x]
MedicationDispense / subject
MedicationDispense / performer
MedicationDispense / quantity
MedicationDispense / whenHandedOver

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationDispense.language Base preferred Common Languages 📍4.0.1 FHIR Std.
MedicationDispense.status Base required Medication dispense status codes 📍4.0.1 FHIR Std.
MedicationDispense.statusReason[x] Base example Medication dispense status reason codes 📍4.0.1 FHIR Std.
MedicationDispense.category Base preferred Medication dispense category codes 📍4.0.1 FHIR Std.
MedicationDispense.medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationDispense.medication[x]:medicationCodeableConcept Base preferred Nepal Drug Value Set 📦1.0.0 This IG
MedicationDispense.performer.​function Base example Medication dispense performer function codes 📍4.0.1 FHIR Std.
MedicationDispense.type Base example ActPharmacySupplyType 📦3.0.0 THO v7.4
MedicationDispense.substitution.​type Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.4
MedicationDispense.substitution.​reason Base example SubstanceAdminSubstitutionReason 📦3.0.0 THO v7.4

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationDispense If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationDispense If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource 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-4 error MedicationDispense If 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-5 error MedicationDispense If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationDispense A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
mdd-1 error MedicationDispense whenHandedOver cannot be before whenPrepared whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
sqty-1 error MedicationDispense.quantity, MedicationDispense.daysSupply The comparator is not used on a SimpleQuantity comparator.empty()
NameNP Core ServerNP Core ConsumerNP Core Creatordoco
MedicationDispense
MedicationDispense / status
MedicationDispense / Slices for medication[x]
MedicationDispense / subject
MedicationDispense / performer
MedicationDispense / quantity
MedicationDispense / whenHandedOver

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron