## Profile Comparison between http://hl7.eu/fhir/mpd-r5/StructureDefinition/MedicationDispense-eu-mpd vs http://hl7.eu/fhir/mpd-r5/StructureDefinition/MedicationDispense-eu-mpd

Left: | MedicationDispense: MPD (http://hl7.eu/fhir/mpd-r5/StructureDefinition/MedicationDispense-eu-mpd)
Right: | MedicationDispense: MPD (http://hl7.eu/fhir/mpd-r5/StructureDefinition/MedicationDispense-eu-mpd)

### Messages

Error | StructureDefinition.version | Values for version differ: '0.1.0-ballot' vs '1.0.0'
Information | StructureDefinition.status | Values for status differ: 'draft' vs 'active'
Information | StructureDefinition.date | Values for date differ: '2025-06-04T20:58:22+02:00' vs '2026-05-14T15:47:28+02:00'
Information | StructureDefinition.copyright | Values for copyright differ: 'Used by permission of HL7 Europe, all rights reserved Creative Commons License' vs 'Copyright HL7 Europe. Licensed under creative commons public domain (CC0 1.0).'
Information | StructureDefinition.short | Values for short differ: 'When the recording of the dispense started' vs 'Date and time when the dispense was recorded/issued. This is not necessarily the same as when the medication was handed over to the patient.'
Information | MedicationDispense.recorded | Element minimum cardinalities differ: '0' vs '1'
Information | StructureDefinition.short | Values for short differ: 'When product was given out' vs 'Date and time when the medication was handed over. When not present, the time of dispensation is assumed to be the time of issuing the dispense record.'
Information | MedicationDispense.whenHandedOver | Element minimum cardinalities differ: '1' vs '0'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/MedicationDispense |
copyright | Used by permission of HL7 Europe, all rights reserved Creative Commons License | Copyright HL7 Europe. Licensed under creative commons public domain (CC0 1.0). | Values Differ
date | 2025-06-04T20:58:22+02:00 | 2026-05-14T15:47:28+02:00 | Values Differ
description | MedicationDispense profile for capturing dispensation information based on a medication prescription. |
experimental |  |
fhirVersion | 5.0.0 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#150 |
kind | resource |
name | MedicationDispenseEuMpd |
publisher | HL7 Europe |
purpose |  |
status | draft | active | Values Differ
title | MedicationDispense: MPD |
type | MedicationDispense |
url | http://hl7.eu/fhir/mpd-r5/StructureDefinition/MedicationDispense-eu-mpd |
version | 0.1.0-ballot | 1.0.0 | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
MedicationDispense | C | 0..* | MedicationDispense | Dispensing a medication to a named patient This profile also imposes the profile IHE Medication Dispense | C | 0..* | MedicationDispense | Dispensing a medication to a named patient |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (required): IETF language tag for a human language
Additional Bindings | Purpose
?? | Starter
|  | 0..1 | code | Language of the resource content Binding: ?? (required): IETF language tag for a human language
Additional Bindings | Purpose
?? | Starter
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 |  | 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 |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
identifier |  | 0..* | Identifier | External identifier |  | 0..* | Identifier | External identifier |
basedOn |  | 0..* | Reference(CarePlan) | Plan that is fulfilled by this dispense |  | 0..* | Reference(CarePlan) | Plan that is fulfilled by this dispense |
partOf |  | 0..* | Reference(Procedure | MedicationAdministration) | Event that dispense is part of |  | 0..* | Reference(Procedure | MedicationAdministration) | Event that dispense is part of |
status | ?!Σ | 1..1 | code | preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown Binding: ?? (required): Describes the lifecycle of the dispense. | ?!O Σ | 1..1 | code | preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | declined | unknown Binding: ?? (required): Describes the lifecycle of the dispense.
Obligations | Actor
SHALL:able-to-populate | Producer
notPerformedReason |  | 0..1 | CodeableReference(DetectedIssue) | Why a dispense was not performed Binding: ?? (example) |  | 0..1 | CodeableReference(DetectedIssue) | Why a dispense was not performed Binding: ?? (example) |
statusChanged |  | 0..1 | dateTime | When the status changed |  | 0..1 | dateTime | When the status changed |
category |  | 0..* | CodeableConcept | Type of medication dispense Binding: ?? (example): A code describing where the dispensed medication is expected to be consumed or administered. |  | 0..* | CodeableConcept | Type of medication dispense Binding: ?? (example): A code describing where the dispensed medication is expected to be consumed or administered. |
medication | Σ | 1..1 | CodeableReference(Medication: MPD) | What medication was supplied Binding: ?? (example): A coded concept identifying which substance or product can be dispensed. | O Σ | 1..1 | CodeableReference(Medication: MPD) | What medication was supplied Binding: ?? (example): A coded concept identifying which substance or product can be dispensed.
Obligations | Actor
SHALL:able-to-populate | Producer
id |  | 0..1 | id | Unique id for inter-element referencing |  |  |  |  | Removed this element
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  |  |  |  | Removed this element
concept | Σ | 0..1 | CodeableConcept | Reference to a concept (by class) |  |  |  |  | Removed this element
reference | Σ | 0..1 | Reference() | Reference to a resource (by instance) |  |  |  |  | Removed this element
subject | Σ | 1..1 | Reference(Patient | Group) | Who the dispense is for | O Σ | 1..1 | Reference(Patient | Group) | Who the dispense is for
Obligations | Actor
SHALL:able-to-populate | Producer
encounter |  | 0..1 | Reference(Encounter) | Encounter associated with event |  | 0..1 | Reference(Encounter) | Encounter associated with event |
supportingInformation |  | 0..* | Reference(Resource) | Information that supports the dispensing of the medication |  | 0..* | Reference(Resource) | Information that supports the dispensing of the medication |
performer |  | 0..* | BackboneElement | Who performed event |  | 0..* | BackboneElement | Who performed event |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
function |  | 0..1 | CodeableConcept | Who performed the dispense and what they did Binding: ?? (example): A code describing the role an individual played in dispensing a medication. |  | 0..1 | CodeableConcept | Who performed the dispense and what they did Binding: ?? (example): A code describing the role an individual played in dispensing a medication. |
actor |  | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | Individual who was performing | O | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | Individual who was performing
Obligations | Actor
SHALL:able-to-populate | Producer
location |  | 0..1 | Reference(Location) | Where the dispense occurred |  | 0..1 | Reference(Location) | Where the dispense occurred |
authorizingPrescription |  | 0..* | Reference(MedicationRequest: MPD) | Medication order that authorizes the dispense | O | 0..* | Reference(MedicationRequest: MPD) | Medication order that authorizes the dispense
Obligations | Actor
SHALL:able-to-populate | Producer
type |  | 0..1 | CodeableConcept | Trial fill, partial fill, emergency fill, etc Binding: ?? (example): ActPharmacySupplyType |  | 0..1 | CodeableConcept | Trial fill, partial fill, emergency fill, etc Binding: ?? (example): ActPharmacySupplyType |
quantity |  | 1..1 | ?? | Amount dispensed | O | 1..1 | ?? | Amount dispensed
Obligations | Actor
SHALL:able-to-populate | Producer
daysSupply |  | 0..1 | ?? | Amount of medication expressed as a timing amount |  | 0..1 | ?? | Amount of medication expressed as a timing amount |
recorded |  | 0..1 | dateTime | When the recording of the dispense started | O | 1..1 | dateTime | Date and time when the dispense was recorded/issued. This is not necessarily the same as when the medication was handed over to the patient.
Obligations | Actor
SHALL:able-to-populate | Producer
| Element minimum cardinalities differ: '0' vs '1'
whenPrepared | Σ C | 0..1 | dateTime | When product was packaged and reviewed | Σ C | 0..1 | dateTime | When product was packaged and reviewed |
whenHandedOver | C | 1..1 | dateTime | When product was given out | C | 0..1 | dateTime | Date and time when the medication was handed over. When not present, the time of dispensation is assumed to be the time of issuing the dispense record. | Element minimum cardinalities differ: '1' vs '0'
destination |  | 0..1 | Reference(Location) | Where the medication was/will be sent |  | 0..1 | Reference(Location) | Where the medication was/will be sent |
receiver |  | 0..* | Reference(Patient | Practitioner | RelatedPerson | Location | PractitionerRole) | Who collected the medication or where the medication was delivered |  | 0..* | Reference(Patient | Practitioner | RelatedPerson | Location | PractitionerRole) | Who collected the medication or where the medication was delivered |
note |  | 0..* | Annotation | Information about the dispense |  | 0..* | Annotation | Information about the dispense |
renderedDosageInstruction |  | 0..1 | markdown | Full representation of the dosage instructions | O | 0..1 | markdown | Full representation of the dosage instructions
Obligations | Actor
SHOULD:able-to-populate | Producer
dosageInstruction |  | 0..* | Dosage | How the medication is to be used by the patient or administered by the caregiver | O | 0..* | ?? | How the medication is to be used by the patient or administered by the caregiver
Obligations | Actor
SHOULD:able-to-populate | Producer
substitution |  | 0..1 | BackboneElement | Whether a substitution was performed on the dispense |  | 0..1 | BackboneElement | Whether a substitution was performed on the dispense |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 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 |  | 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: ?? (example): ActSubstanceAdminSubstitutionCode |  | 0..1 | CodeableConcept | Code signifying whether a different drug was dispensed from what was prescribed Binding: ?? (example): ActSubstanceAdminSubstitutionCode |
reason |  | 0..* | CodeableConcept | Why was substitution made Binding: ?? (example): SubstanceAdminSubstitutionReason |  | 0..* | CodeableConcept | Why was substitution made Binding: ?? (example): SubstanceAdminSubstitutionReason |
responsibleParty |  | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | Who is responsible for the substitution |  | 0..1 | Reference(Practitioner | PractitionerRole | Organization) | Who is responsible for the substitution |
eventHistory |  | 0..* | Reference(Provenance) | A list of relevant lifecycle events |  | 0..* | Reference(Provenance) | A list of relevant lifecycle events |
Documentation for this format