This page is part of the FHIR Specification (v3.5.0: R4 Ballot #2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Pharmacy Work Group | Maturity Level: 2 | Trial Use | Compartments: Patient, Practitioner |
Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order.
This resource covers the supply of medications to a patient. Examples include dispensing and pick-up from an outpatient or community pharmacy, dispensing patient-specific medications from inpatient pharmacy to ward, as well as issuing a single dose from ward stock to a patient for consumption. The medication dispense is the result of a pharmacy system responding to a medication order.
MedicationDispense is an event resource from a FHIR workflow perspective - see Workflow Event
The Medication domain includes a number of related resources
MedicationRequest | An order for both supply of the medication and the instructions for administration of the medicine to a patient. |
MedicationDispense | Provision of a supply of a medication with the intention that it is subsequently consumed by a patient (usually in response to a prescription). |
MedicationAdministration | When a patient actually consumes a medicine, or the medication is otherwise administered to them |
MedicationStatement | This is a record of a medication being taken by a patient or that a medication has been given to a patient, where the record is the result of a report from the patient or another clinician. A medication statement is not a part of the prescribe->dispense->administer sequence, but is a report that such a sequence (or at least a part of it) did take place, resulting in a belief that the patient has received a particular medication. |
This resource does not deal with the supply or transfer of non-medication related items to a patient.
The supply and the associated administration instructions might not exactly follow the original order (prescription), either because some details were left for completion at this point in the process or because the dispenser exercised their clinical judgment to make some appropriate modification.
This resource is referenced by ChargeItem, MedicationStatement and Observation
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationDispense | ITU | DomainResource | Dispensing a medication to a named patient + Rule: whenHandedOver cannot be before whenPrepared Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | 0..* | Identifier | External identifier | |
partOf | 0..* | Reference(Procedure) | Event that dispense is part of | |
status | ?!Σ | 1..1 | code | preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | unknown MedicationDispenseStatus (Required) |
category | 0..1 | CodeableConcept | Type of medication dispense MedicationDispenseCategory (Preferred) | |
medication[x] | Σ | 1..1 | What medication was supplied SNOMED CT Medication Codes (Example) | |
medicationCodeableConcept | CodeableConcept | |||
medicationReference | Reference(Medication) | |||
subject | Σ | 0..1 | Reference(Patient | Group) | Who the dispense is for |
context | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter / Episode associated with event | |
supportingInformation | 0..* | Reference(Any) | Information that supports the dispensing of the medication | |
performer | 0..* | BackboneElement | Who performed event | |
function | 0..1 | CodeableConcept | Who performed the dispense and what they did MedicationDispensePerformerFunction (Example) | |
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. V3 Value SetActPharmacySupplyType (Example) | |
quantity | 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 | 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 | 0..* | Dosage | How the medication is to be used by the patient or administered by the caregiver | |
substitution | 0..1 | BackboneElement | Whether a substitution was performed on the dispense | |
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 V3 Value SetActSubstanceAdminSubstitutionCode (Example) | |
reason | 0..* | CodeableConcept | Why was substitution made V3 Value SetSubstanceAdminSubstitutionReason (Example) | |
responsibleParty | 0..* | Reference(Practitioner) | Who is responsible for the substitution | |
detectedIssue | 0..* | Reference(DetectedIssue) | Clinical issue with action | |
statusReason[x] | 0..1 | Why a dispense was not performed MedicationDispenseStatusReason (Example) | ||
statusReasonCodeableConcept | CodeableConcept | |||
statusReasonReference | Reference(DetectedIssue) | |||
eventHistory | 0..* | Reference(Provenance) | A list of relevant lifecycle events | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<MedicationDispense xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External identifier --></identifier> <partOf><!-- 0..* Reference(Procedure) Event that dispense is part of --></partOf> <status value="[code]"/><!-- 1..1 preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | unknown --> <category><!-- 0..1 CodeableConcept Type of medication dispense --></category> <medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) What medication was supplied --></medication[x]> <subject><!-- 0..1 Reference(Patient|Group) Who the dispense is for --></subject> <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter / Episode associated with event --></context> <supportingInformation><!-- 0..* Reference(Any) Information that supports the dispensing of the medication --></supportingInformation> <performer> <!-- 0..* Who performed event --> <function><!-- 0..1 CodeableConcept Who performed the dispense and what they did --></function> <actor><!-- 1..1 Reference(Practitioner|PractitionerRole|Organization|Patient| Device|RelatedPerson) Individual who was performing --></actor> </performer> <location><!-- 0..1 Reference(Location) Where the dispense occurred --></location> <authorizingPrescription><!-- 0..* Reference(MedicationRequest) Medication order that authorizes the dispense --></authorizingPrescription> <type><!-- 0..1 CodeableConcept Trial fill, partial fill, emergency fill, etc. --></type> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount dispensed --></quantity> <daysSupply><!-- 0..1 Quantity(SimpleQuantity) Amount of medication expressed as a timing amount --></daysSupply> <whenPrepared value="[dateTime]"/><!-- 0..1 When product was packaged and reviewed --> <whenHandedOver value="[dateTime]"/><!-- 0..1 When product was given out --> <destination><!-- 0..1 Reference(Location) Where the medication was sent --></destination> <receiver><!-- 0..* Reference(Patient|Practitioner) Who collected the medication --></receiver> <note><!-- 0..* Annotation Information about the dispense --></note> <dosageInstruction><!-- 0..* Dosage How the medication is to be used by the patient or administered by the caregiver --></dosageInstruction> <substitution> <!-- 0..1 Whether a substitution was performed on the dispense --> <wasSubstituted value="[boolean]"/><!-- 1..1 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 --></type> <reason><!-- 0..* CodeableConcept Why was substitution made --></reason> <responsibleParty><!-- 0..* Reference(Practitioner) Who is responsible for the substitution --></responsibleParty> </substitution> <detectedIssue><!-- 0..* Reference(DetectedIssue) Clinical issue with action --></detectedIssue> <statusReason[x]><!-- 0..1 CodeableConcept|Reference(DetectedIssue) Why a dispense was not performed --></statusReason[x]> <eventHistory><!-- 0..* Reference(Provenance) A list of relevant lifecycle events --></eventHistory> </MedicationDispense>
JSON Template
{ "resourceType" : "MedicationDispense", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External identifier "partOf" : [{ Reference(Procedure) }], // Event that dispense is part of "status" : "<code>", // R! preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | unknown "category" : { CodeableConcept }, // Type of medication dispense // medication[x]: What medication was supplied. One of these 2: "medicationCodeableConcept" : { CodeableConcept }, "medicationReference" : { Reference(Medication) }, "subject" : { Reference(Patient|Group) }, // Who the dispense is for "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter / Episode associated with event "supportingInformation" : [{ Reference(Any) }], // Information that supports the dispensing of the medication "performer" : [{ // Who performed event "function" : { CodeableConcept }, // Who performed the dispense and what they did "actor" : { Reference(Practitioner|PractitionerRole|Organization|Patient| Device|RelatedPerson) } // R! Individual who was performing }], "location" : { Reference(Location) }, // Where the dispense occurred "authorizingPrescription" : [{ Reference(MedicationRequest) }], // Medication order that authorizes the dispense "type" : { CodeableConcept }, // Trial fill, partial fill, emergency fill, etc. "quantity" : { Quantity(SimpleQuantity) }, // Amount dispensed "daysSupply" : { Quantity(SimpleQuantity) }, // Amount of medication expressed as a timing amount "whenPrepared" : "<dateTime>", // When product was packaged and reviewed "whenHandedOver" : "<dateTime>", // When product was given out "destination" : { Reference(Location) }, // Where the medication was sent "receiver" : [{ Reference(Patient|Practitioner) }], // Who collected the medication "note" : [{ Annotation }], // Information about the dispense "dosageInstruction" : [{ Dosage }], // How the medication is to be used by the patient or administered by the caregiver "substitution" : { // Whether a substitution was performed on the dispense "wasSubstituted" : <boolean>, // R! Whether a substitution was or was not performed on the dispense "type" : { CodeableConcept }, // Code signifying whether a different drug was dispensed from what was prescribed "reason" : [{ CodeableConcept }], // Why was substitution made "responsibleParty" : [{ Reference(Practitioner) }] // Who is responsible for the substitution }, "detectedIssue" : [{ Reference(DetectedIssue) }], // Clinical issue with action // statusReason[x]: Why a dispense was not performed. One of these 2: "statusReasonCodeableConcept" : { CodeableConcept }, "statusReasonReference" : { Reference(DetectedIssue) }, "eventHistory" : [{ Reference(Provenance) }] // A list of relevant lifecycle events }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:MedicationDispense; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:MedicationDispense.identifier [ Identifier ], ... ; # 0..* External identifier fhir:MedicationDispense.partOf [ Reference(Procedure) ], ... ; # 0..* Event that dispense is part of fhir:MedicationDispense.status [ code ]; # 1..1 preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | unknown fhir:MedicationDispense.category [ CodeableConcept ]; # 0..1 Type of medication dispense # MedicationDispense.medication[x] : 1..1 What medication was supplied. One of these 2 fhir:MedicationDispense.medicationCodeableConcept [ CodeableConcept ] fhir:MedicationDispense.medicationReference [ Reference(Medication) ] fhir:MedicationDispense.subject [ Reference(Patient|Group) ]; # 0..1 Who the dispense is for fhir:MedicationDispense.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter / Episode associated with event fhir:MedicationDispense.supportingInformation [ Reference(Any) ], ... ; # 0..* Information that supports the dispensing of the medication fhir:MedicationDispense.performer [ # 0..* Who performed event fhir:MedicationDispense.performer.function [ CodeableConcept ]; # 0..1 Who performed the dispense and what they did fhir:MedicationDispense.performer.actor [ Reference(Practitioner|PractitionerRole|Organization|Patient|Device|RelatedPerson) ]; # 1..1 Individual who was performing ], ...; fhir:MedicationDispense.location [ Reference(Location) ]; # 0..1 Where the dispense occurred fhir:MedicationDispense.authorizingPrescription [ Reference(MedicationRequest) ], ... ; # 0..* Medication order that authorizes the dispense fhir:MedicationDispense.type [ CodeableConcept ]; # 0..1 Trial fill, partial fill, emergency fill, etc. fhir:MedicationDispense.quantity [ Quantity(SimpleQuantity) ]; # 0..1 Amount dispensed fhir:MedicationDispense.daysSupply [ Quantity(SimpleQuantity) ]; # 0..1 Amount of medication expressed as a timing amount fhir:MedicationDispense.whenPrepared [ dateTime ]; # 0..1 When product was packaged and reviewed fhir:MedicationDispense.whenHandedOver [ dateTime ]; # 0..1 When product was given out fhir:MedicationDispense.destination [ Reference(Location) ]; # 0..1 Where the medication was sent fhir:MedicationDispense.receiver [ Reference(Patient|Practitioner) ], ... ; # 0..* Who collected the medication fhir:MedicationDispense.note [ Annotation ], ... ; # 0..* Information about the dispense fhir:MedicationDispense.dosageInstruction [ Dosage ], ... ; # 0..* How the medication is to be used by the patient or administered by the caregiver fhir:MedicationDispense.substitution [ # 0..1 Whether a substitution was performed on the dispense fhir:MedicationDispense.substitution.wasSubstituted [ boolean ]; # 1..1 Whether a substitution was or was not performed on the dispense fhir:MedicationDispense.substitution.type [ CodeableConcept ]; # 0..1 Code signifying whether a different drug was dispensed from what was prescribed fhir:MedicationDispense.substitution.reason [ CodeableConcept ], ... ; # 0..* Why was substitution made fhir:MedicationDispense.substitution.responsibleParty [ Reference(Practitioner) ], ... ; # 0..* Who is responsible for the substitution ]; fhir:MedicationDispense.detectedIssue [ Reference(DetectedIssue) ], ... ; # 0..* Clinical issue with action # MedicationDispense.statusReason[x] : 0..1 Why a dispense was not performed. One of these 2 fhir:MedicationDispense.statusReasonCodeableConcept [ CodeableConcept ] fhir:MedicationDispense.statusReasonReference [ Reference(DetectedIssue) ] fhir:MedicationDispense.eventHistory [ Reference(Provenance) ], ... ; # 0..* A list of relevant lifecycle events ]
Changes since R3
MedicationDispense | |
MedicationDispense.status |
|
MedicationDispense.medication[x] |
|
MedicationDispense.performer.function |
|
MedicationDispense.performer.actor |
|
MedicationDispense.location |
|
MedicationDispense.statusReason[x] |
|
MedicationDispense.performer.onBehalfOf |
|
MedicationDispense.notDone |
|
MedicationDispense.notDoneReason[x] |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 31 tests of which 20 fail to execute. 11 fail round-trip testing and 11 r3 resources are invalid (0 errors).)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationDispense | ITU | DomainResource | Dispensing a medication to a named patient + Rule: whenHandedOver cannot be before whenPrepared Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | 0..* | Identifier | External identifier | |
partOf | 0..* | Reference(Procedure) | Event that dispense is part of | |
status | ?!Σ | 1..1 | code | preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | unknown MedicationDispenseStatus (Required) |
category | 0..1 | CodeableConcept | Type of medication dispense MedicationDispenseCategory (Preferred) | |
medication[x] | Σ | 1..1 | What medication was supplied SNOMED CT Medication Codes (Example) | |
medicationCodeableConcept | CodeableConcept | |||
medicationReference | Reference(Medication) | |||
subject | Σ | 0..1 | Reference(Patient | Group) | Who the dispense is for |
context | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter / Episode associated with event | |
supportingInformation | 0..* | Reference(Any) | Information that supports the dispensing of the medication | |
performer | 0..* | BackboneElement | Who performed event | |
function | 0..1 | CodeableConcept | Who performed the dispense and what they did MedicationDispensePerformerFunction (Example) | |
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. V3 Value SetActPharmacySupplyType (Example) | |
quantity | 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 | 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 | 0..* | Dosage | How the medication is to be used by the patient or administered by the caregiver | |
substitution | 0..1 | BackboneElement | Whether a substitution was performed on the dispense | |
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 V3 Value SetActSubstanceAdminSubstitutionCode (Example) | |
reason | 0..* | CodeableConcept | Why was substitution made V3 Value SetSubstanceAdminSubstitutionReason (Example) | |
responsibleParty | 0..* | Reference(Practitioner) | Who is responsible for the substitution | |
detectedIssue | 0..* | Reference(DetectedIssue) | Clinical issue with action | |
statusReason[x] | 0..1 | Why a dispense was not performed MedicationDispenseStatusReason (Example) | ||
statusReasonCodeableConcept | CodeableConcept | |||
statusReasonReference | Reference(DetectedIssue) | |||
eventHistory | 0..* | Reference(Provenance) | A list of relevant lifecycle events | |
Documentation for this format |
XML Template
<MedicationDispense xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External identifier --></identifier> <partOf><!-- 0..* Reference(Procedure) Event that dispense is part of --></partOf> <status value="[code]"/><!-- 1..1 preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | unknown --> <category><!-- 0..1 CodeableConcept Type of medication dispense --></category> <medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) What medication was supplied --></medication[x]> <subject><!-- 0..1 Reference(Patient|Group) Who the dispense is for --></subject> <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter / Episode associated with event --></context> <supportingInformation><!-- 0..* Reference(Any) Information that supports the dispensing of the medication --></supportingInformation> <performer> <!-- 0..* Who performed event --> <function><!-- 0..1 CodeableConcept Who performed the dispense and what they did --></function> <actor><!-- 1..1 Reference(Practitioner|PractitionerRole|Organization|Patient| Device|RelatedPerson) Individual who was performing --></actor> </performer> <location><!-- 0..1 Reference(Location) Where the dispense occurred --></location> <authorizingPrescription><!-- 0..* Reference(MedicationRequest) Medication order that authorizes the dispense --></authorizingPrescription> <type><!-- 0..1 CodeableConcept Trial fill, partial fill, emergency fill, etc. --></type> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount dispensed --></quantity> <daysSupply><!-- 0..1 Quantity(SimpleQuantity) Amount of medication expressed as a timing amount --></daysSupply> <whenPrepared value="[dateTime]"/><!-- 0..1 When product was packaged and reviewed --> <whenHandedOver value="[dateTime]"/><!-- 0..1 When product was given out --> <destination><!-- 0..1 Reference(Location) Where the medication was sent --></destination> <receiver><!-- 0..* Reference(Patient|Practitioner) Who collected the medication --></receiver> <note><!-- 0..* Annotation Information about the dispense --></note> <dosageInstruction><!-- 0..* Dosage How the medication is to be used by the patient or administered by the caregiver --></dosageInstruction> <substitution> <!-- 0..1 Whether a substitution was performed on the dispense --> <wasSubstituted value="[boolean]"/><!-- 1..1 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 --></type> <reason><!-- 0..* CodeableConcept Why was substitution made --></reason> <responsibleParty><!-- 0..* Reference(Practitioner) Who is responsible for the substitution --></responsibleParty> </substitution> <detectedIssue><!-- 0..* Reference(DetectedIssue) Clinical issue with action --></detectedIssue> <statusReason[x]><!-- 0..1 CodeableConcept|Reference(DetectedIssue) Why a dispense was not performed --></statusReason[x]> <eventHistory><!-- 0..* Reference(Provenance) A list of relevant lifecycle events --></eventHistory> </MedicationDispense>
JSON Template
{ "resourceType" : "MedicationDispense", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External identifier "partOf" : [{ Reference(Procedure) }], // Event that dispense is part of "status" : "<code>", // R! preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | unknown "category" : { CodeableConcept }, // Type of medication dispense // medication[x]: What medication was supplied. One of these 2: "medicationCodeableConcept" : { CodeableConcept }, "medicationReference" : { Reference(Medication) }, "subject" : { Reference(Patient|Group) }, // Who the dispense is for "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter / Episode associated with event "supportingInformation" : [{ Reference(Any) }], // Information that supports the dispensing of the medication "performer" : [{ // Who performed event "function" : { CodeableConcept }, // Who performed the dispense and what they did "actor" : { Reference(Practitioner|PractitionerRole|Organization|Patient| Device|RelatedPerson) } // R! Individual who was performing }], "location" : { Reference(Location) }, // Where the dispense occurred "authorizingPrescription" : [{ Reference(MedicationRequest) }], // Medication order that authorizes the dispense "type" : { CodeableConcept }, // Trial fill, partial fill, emergency fill, etc. "quantity" : { Quantity(SimpleQuantity) }, // Amount dispensed "daysSupply" : { Quantity(SimpleQuantity) }, // Amount of medication expressed as a timing amount "whenPrepared" : "<dateTime>", // When product was packaged and reviewed "whenHandedOver" : "<dateTime>", // When product was given out "destination" : { Reference(Location) }, // Where the medication was sent "receiver" : [{ Reference(Patient|Practitioner) }], // Who collected the medication "note" : [{ Annotation }], // Information about the dispense "dosageInstruction" : [{ Dosage }], // How the medication is to be used by the patient or administered by the caregiver "substitution" : { // Whether a substitution was performed on the dispense "wasSubstituted" : <boolean>, // R! Whether a substitution was or was not performed on the dispense "type" : { CodeableConcept }, // Code signifying whether a different drug was dispensed from what was prescribed "reason" : [{ CodeableConcept }], // Why was substitution made "responsibleParty" : [{ Reference(Practitioner) }] // Who is responsible for the substitution }, "detectedIssue" : [{ Reference(DetectedIssue) }], // Clinical issue with action // statusReason[x]: Why a dispense was not performed. One of these 2: "statusReasonCodeableConcept" : { CodeableConcept }, "statusReasonReference" : { Reference(DetectedIssue) }, "eventHistory" : [{ Reference(Provenance) }] // A list of relevant lifecycle events }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:MedicationDispense; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:MedicationDispense.identifier [ Identifier ], ... ; # 0..* External identifier fhir:MedicationDispense.partOf [ Reference(Procedure) ], ... ; # 0..* Event that dispense is part of fhir:MedicationDispense.status [ code ]; # 1..1 preparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | unknown fhir:MedicationDispense.category [ CodeableConcept ]; # 0..1 Type of medication dispense # MedicationDispense.medication[x] : 1..1 What medication was supplied. One of these 2 fhir:MedicationDispense.medicationCodeableConcept [ CodeableConcept ] fhir:MedicationDispense.medicationReference [ Reference(Medication) ] fhir:MedicationDispense.subject [ Reference(Patient|Group) ]; # 0..1 Who the dispense is for fhir:MedicationDispense.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter / Episode associated with event fhir:MedicationDispense.supportingInformation [ Reference(Any) ], ... ; # 0..* Information that supports the dispensing of the medication fhir:MedicationDispense.performer [ # 0..* Who performed event fhir:MedicationDispense.performer.function [ CodeableConcept ]; # 0..1 Who performed the dispense and what they did fhir:MedicationDispense.performer.actor [ Reference(Practitioner|PractitionerRole|Organization|Patient|Device|RelatedPerson) ]; # 1..1 Individual who was performing ], ...; fhir:MedicationDispense.location [ Reference(Location) ]; # 0..1 Where the dispense occurred fhir:MedicationDispense.authorizingPrescription [ Reference(MedicationRequest) ], ... ; # 0..* Medication order that authorizes the dispense fhir:MedicationDispense.type [ CodeableConcept ]; # 0..1 Trial fill, partial fill, emergency fill, etc. fhir:MedicationDispense.quantity [ Quantity(SimpleQuantity) ]; # 0..1 Amount dispensed fhir:MedicationDispense.daysSupply [ Quantity(SimpleQuantity) ]; # 0..1 Amount of medication expressed as a timing amount fhir:MedicationDispense.whenPrepared [ dateTime ]; # 0..1 When product was packaged and reviewed fhir:MedicationDispense.whenHandedOver [ dateTime ]; # 0..1 When product was given out fhir:MedicationDispense.destination [ Reference(Location) ]; # 0..1 Where the medication was sent fhir:MedicationDispense.receiver [ Reference(Patient|Practitioner) ], ... ; # 0..* Who collected the medication fhir:MedicationDispense.note [ Annotation ], ... ; # 0..* Information about the dispense fhir:MedicationDispense.dosageInstruction [ Dosage ], ... ; # 0..* How the medication is to be used by the patient or administered by the caregiver fhir:MedicationDispense.substitution [ # 0..1 Whether a substitution was performed on the dispense fhir:MedicationDispense.substitution.wasSubstituted [ boolean ]; # 1..1 Whether a substitution was or was not performed on the dispense fhir:MedicationDispense.substitution.type [ CodeableConcept ]; # 0..1 Code signifying whether a different drug was dispensed from what was prescribed fhir:MedicationDispense.substitution.reason [ CodeableConcept ], ... ; # 0..* Why was substitution made fhir:MedicationDispense.substitution.responsibleParty [ Reference(Practitioner) ], ... ; # 0..* Who is responsible for the substitution ]; fhir:MedicationDispense.detectedIssue [ Reference(DetectedIssue) ], ... ; # 0..* Clinical issue with action # MedicationDispense.statusReason[x] : 0..1 Why a dispense was not performed. One of these 2 fhir:MedicationDispense.statusReasonCodeableConcept [ CodeableConcept ] fhir:MedicationDispense.statusReasonReference [ Reference(DetectedIssue) ] fhir:MedicationDispense.eventHistory [ Reference(Provenance) ], ... ; # 0..* A list of relevant lifecycle events ]
Changes since Release 3
MedicationDispense | |
MedicationDispense.status |
|
MedicationDispense.medication[x] |
|
MedicationDispense.performer.function |
|
MedicationDispense.performer.actor |
|
MedicationDispense.location |
|
MedicationDispense.statusReason[x] |
|
MedicationDispense.performer.onBehalfOf |
|
MedicationDispense.notDone |
|
MedicationDispense.notDoneReason[x] |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 31 tests of which 20 fail to execute. 11 fail round-trip testing and 11 r3 resources are invalid (0 errors).)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
MedicationDispense.status | A coded concept specifying the state of the dispense event. | Required | MedicationDispenseStatus |
MedicationDispense.category | A code describing where the dispensed medication is expected to be consumed or administered. | Preferred | MedicationDispenseCategory |
MedicationDispense.medication[x] | A coded concept identifying which substance or product can be dispensed. | Example | SNOMEDCTMedicationCodes |
MedicationDispense.performer.function | A code describing the role an individual played in dispensing a medication. | Example | MedicationDispensePerformerFunction |
MedicationDispense.type | Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. | Example | v3.ActPharmacySupplyType |
MedicationDispense.substitution.type | A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription. | Example | v3.ActSubstanceAdminSubstitutionCode |
MedicationDispense.substitution.reason | A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed. | Example | v3.SubstanceAdminSubstitutionReason |
MedicationDispense.statusReason[x] | A code describing why a dispense was not performed. | Example | MedicationDispenseStatusReason |
id | Level | Location | Description | Expression |
mdd-1 | Rule | (base) | whenHandedOver cannot be before whenPrepared | whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared |
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
code | token | Returns dispenses of this medicine code | (MedicationDispense.medication as CodeableConcept) | 13 Resources |
context | reference | Returns dispenses with a specific context (episode or episode of care) | MedicationDispense.context (EpisodeOfCare, Encounter) | |
destination | reference | Returns dispenses that should be sent to a specific destination | MedicationDispense.destination (Location) | |
identifier | token | Returns dispenses with this external identifier | MedicationDispense.identifier | 30 Resources |
medication | reference | Returns dispenses of this medicine resource | (MedicationDispense.medication as Reference) (Medication) | 3 Resources |
patient | reference | The identity of a patient to list dispenses for | MedicationDispense.subject.where(resolve() is Patient) (Patient) | |
performer | reference | Returns dispenses performed by a specific individual | MedicationDispense.performer.actor (Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson) | |
prescription | reference | The identity of a prescription to list dispenses from | MedicationDispense.authorizingPrescription (MedicationRequest) | 1 Resources |
receiver | reference | The identity of a receiver to list dispenses for | MedicationDispense.receiver (Practitioner, Patient) | |
responsibleparty | reference | Returns dispenses with the specified responsible party | MedicationDispense.substitution.responsibleParty (Practitioner) | |
status | token | Returns dispenses with a specified dispense status | MedicationDispense.status | 3 Resources |
subject | reference | The identity of a patient for whom to list dispenses | MedicationDispense.subject (Group, Patient) | |
type | token | Returns dispenses of a specific type | MedicationDispense.type | |
whenhandedover | date | Returns dispenses handed over on this date | MedicationDispense.whenHandedOver | |
whenprepared | date | Returns dispenses prepared on this date | MedicationDispense.whenPrepared |