UKCore-MedicationRequest
MedicationRequest
The resource cannot be rendered.
Definition
An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder" to generalize the use across inpatient and outpatient settings, including care plans and so on, and to harmonize with workflow patterns.
Minimum Viable Content
The minimum viable content that all provider and consumer systems should support contains the following elements:
| Element | Required? |
|---|---|
| id | |
| meta.profile | |
| extension[medicationRepeatInformation] | |
| identifier | |
| status | |
| statusReason | |
| intent | |
| category | |
| priority | |
| doNotPerform | |
| reported | |
| medicationCodeableConcept | |
| subject | |
| encounter | |
| supportingInformation | |
| authoredOn | |
| requester | |
| performer | |
| performerType | |
| recorder | |
| reasonCode | |
| reasonReference | |
| instantiatesCanonical | |
| instantiatesUri | |
| basedOn | |
| groupIdentifier | |
| courseOfTherapyType | |
| insurance | |
| note | |
| dispenseRequest | |
| substitution | |
| priorPrescription | |
| detectedIssue | |
| eventHistory |
id
| DataType | Optionality | Cardinality |
|---|---|---|
| identifier | required | 1:1 |
The logical identifier of the MedicationRequest resource.
Example
"id":"44f85d15-8744-47c2-a790-4f5e38aacdb0"
meta.profile
| DataType | Optionality | Cardinality |
|---|---|---|
| uri | required | 1:1 |
The MedicationRequest profile URL.
Fixed value: https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest
Example
"meta": { "profile": [ "https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest" ]
extension:medicationRepeatInformation
| DataType | Optionality | Cardinality |
|---|---|---|
| Extension | conditional | 0:1 |
Extension elements to hold details of repeat authorisation.
Only populate for a MedicationRequest with an intent = plan. For a MedicationRequest with an intent = order none of the repeatInformation fields are populated.
This extension must be present for continuous and continuous-repeat-dispensing therapy types.
medicationRepeatInformation.authorisationExpiryDate
Only populate for a MedicationRequest with an intent = plan. For a MedicationRequest with an intent = order this is not populated.
medicationRepeatInformation.numberOfPrescriptionsIssued
Running total of number of issues made against a repeat authorisation.
MUST be zero, if not yet issued.
Example
"extension": [ { "url": "https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation", "extension": [ { "url": "numberOfPrescriptionsIssued", "valueUnsignedInt": 2 }, { "url": "authorisationExpiryDate", "valueDateTime": "2022-10-11T19:00:00.000Z" } ] } ],
identifier
| DataType | Optionality | Cardinality |
|---|---|---|
| identifier | required | 1:1 |
This MUST be populated with a globally unique and persistent identifier (that is, it doesn’t change between requests and therefore stored with the source data). This MUST be scoped by a provider specific namespace for the identifier.
Where consuming systems are integrating data from this resource to their local system, they MUST also persist this identifier at the same time.
If the EPS identifier is present (will only be with an intent of order) then the identifier.value is where the EPS Id SHOULD also be added. The codeSystem for this identifier is https://fhir.nhs.uk/Id/prescription-order-item-number
Example of intent order with EPS Id
"identifier" : [
{
"system" : "https://fhir.nhs.uk/Id/prescription-order-item-number",
"value" : "4857b9d3-b714-44b9-9e67-3df67275b785"
},
]
Example of intent plan with uuid
"identifier": [ { "system": "https://tools.ietf.org/html/rfc4122", "value": "42b4a841-9d69-4d13-bf91-ee5882e85765" } ],
Comment
This is a business identifier, not a resource identifier.
status
| DataType | Optionality | Cardinality |
|---|---|---|
| code | required | 1:1 |
A code specifying the current state of the order. Generally, this will be active or completed state.
| code | Definition |
|---|---|
| active | Represents an active authorisation - used for active medications/medical devices. |
| stopped | Represents an authorisation which has been discontinued, cancelled or stopped. |
| completed | Represents an authorisation which has run its course. |
For MedicationRequest instances where intent is set to plan:
- For repeats and repeat dispensed the status refers to the status of the plan (the entire cycle of prescriptions).
- For acutes the status refers to the status of the prescription issue.
For MedicationRequest instances where intent is set to order:
- The status refers to the status of the prescription issue.
Example
"status" : "active",
statusReason
| DataType | Optionality | Cardinality |
|---|---|---|
| code | optional | 0:1 |
Where a medication/medical device has been stopped (status == ‘stopped’), the reason is provided in the statusReason extension.
Mandatory for authorisations with stopped status.
Only populate for a MedicationRequest with an intent = plan. Do not populate for a MedicationRequest with an intent = order.
Example
"statusReason": { "coding": [ { "system": "https://fhir.nhs.uk/CodeSystem/medicationrequest-status-reason", "code": "0001", "display": "Prescribing Error" } ] },
intent
| DataType | Optionality | Cardinality |
|---|---|---|
| code | required | 1:1 |
Whether the request is a plan or order.
planrepresents an authorisation of a medication or medical deviceorderrepresents a prescription or issue of a medication/medical device
Example
"intent" : "order",
category
| DataType | Optionality | Cardinality |
|---|---|---|
| code | required | 1:1 |
Required as part of the resource. Must be set to "community" as this includes requests for medications to be administered or consumed by the patient in their home (this would include long term care or nursing homes, hospices, etc.)
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.or/CodeSystem/medicationrequest-category",
"code": "community",
"display": "Community"
}
]
}
],
medicationCodeableConcept
| DataType | Optionality | Cardinality |
|---|---|---|
| code | required | 1:1 |
The medicationCodeableConcept.text should be the description for the medication.
The medicationCodeableConcept.coding.code should be the code for the medication.
- Supported codesystems: DM+D
The medicationCodeableConcept.coding.display should be the description for the medication, i.e. the same value as medicationCodeableConcept.text.
Example
"medicationCodeableConcept": [
{
"coding": [
{
"system": "https://dmd.nhs.uk",
"code": 329526003,
"display": "Apirin 300mg dispersible tablets"
}
]
}
],
subject
| DataType | Optionality | Cardinality |
|---|---|---|
| Reference(Patient) | required | 1:1 |
Reference to the patient that the medication is for.
Example
"subject" : { "reference" : "Patient/9000000009", "identifier" : { "system" : "https://fhir.nhs.uk/Id/nhs-number", "value" : "9000000009" }, "display" : "Jane Smith" },
authoredOn
| DataType | Optionality | Cardinality |
|---|---|---|
| dateTime | required | 1:1 |
Authorisation date, when the medication/medical device was authorised.
Example
"authoredOn" : "2022-10-13T16:20:27+07:00",
requester
| DataType | Optionality | Cardinality |
|---|---|---|
| Reference | optional | 1:1 |
A business-required element identifying the clinically qualified human prescriber referenced by a PractitionerRole resource.
They may be other possible references depending on the use case the full list is below. The resource being referenced should conform to one of the following:
Example
"requester" : { "reference" : "PractitionerRole/ed313d93-f470-420f-ae4e-2b7eb91d3f45", "display" : "Dr Jane Smith" },
basedOn
| DataType | Optionality | Cardinality |
|---|---|---|
| Reference(MedicationRequest) | Conditional | 0..1 |
This field is used to create the links between MedicationRequest profiles to represent the medication ordering process as described here. This MUST be used when a profile has an intent element that is set to order and is basedOn a MedicationRequest profile that has an intent set to plan.
DO NOT USE for authorisations - that is, for a MedicationRequest with intent of plan.
Example
"basedOn": [ { "reference": "MedicationRequest/06c7d0e2-1022-4e47-ac55-f6463d701a4f" } ],
groupIdentifier
| DataType | Optionality | Cardinality |
|---|---|---|
| identifier | required | 1:1 |
The EPS prescriptionID if this medication or medical device has been prescribed via the Electronic Prescriptions Service. The element in the Identifier data type that MUST be populated when a groupIdentifier is populated is identifier.value.
All EPS prescribed drugs MUST have the prescriptionID present in this field and have system element set to https://fhir.nhs.uk/Id/prescription-order-number.
Example
"groupIdentifier" : { "system" : "https://fhir.nhs.uk/Id/prescription-order-number", "value" : "PDI12E-Y765908-4FF3LQ" },
courseOfTherapyType
| DataType | Optionality | Cardinality |
|---|---|---|
| Code | required | 1:1 |
Necessary in order to denote the type of therapy, such as an acute/one-off medication compared to a repeat/on-going medication.
Will be used in order to denote whether a prescription is acute or repeat.
| Code | System | Display |
|---|---|---|
| continuous | http://terminology.hl7.org/CodeSystem/medicationrequest-course-of-therapy | Continuous long term therapy |
| acute | http://terminology.hl7.org/CodeSystem/medicationrequest-course-of-therapy | Short course (acute) therapy |
Example
"courseOfTherapyType" : { "coding" : [ { "system" : "https://fhir.hl7.org.uk/CodeSystem/UKCore-MedicationRequestCourseOfTherapy", "code" : "continuous", "display" : "Continuous long term therapy" } ] },
note
| DataType | Optionality | Cardinality |
|---|---|---|
| Annotation | optional | 0:* |
Use when the prescriber wishes to provide supporting textual information to the dispenser.
Example
"note" : [ {
"authorString" : "Patient",
"text" : "Ran out of previous prescription"
} ]
dosageInstruction
| DataType | Optionality | Cardinality |
|---|---|---|
| Dosage | required | 0..* |
Preferable as a structured dosage aligned to the FHIR Dose Syntax Guidance but as a minimum, dosage.text.
Example
"dosageInstruction" : [ { "text" : "One to two puffs to be inhaled as needed", "method" : { "coding" : [ { "system" : "http://snomed.info/sct", "code" : 420652005, "display" : "Until Gone" } ] } } ]
dispenseRequest
| DataType | Optionality | Cardinality |
|---|---|---|
| BackboneElement | required | 0..1 |
dispenseRequest.numberOfRepeatsAllowed
| DataType | Optionality | Cardinality |
|---|---|---|
| unsignedInt | optional | 0..1 |
An integer indicating the number of times, in addition to the original dispense, (aka refills or repeats) that the patient can receive the prescribed medication. Usage Notes: This integer does not include the original order dispense. This means that if an order indicates dispense 30 tablets plus "3 repeats", then the order can be dispensed a total of 4 times and the patient can receive a total of 120 tablets. A prescriber may explicitly say that zero refills are permitted after the initial dispense.
The number of repeat issues authorised if specified.
MUST be present where a continuous is authorised for a defined number of issues.
MUST NOT be specified where the number of repeat issues has not been defined. Therefore, the numberOfRepeats allowed is the total number of allowed issues. See also extension repeatInformation
Example
"numberOfRepeatsAllowed": 6,
dispenseRequest.quantity
| DataType | Optionality | Cardinality |
|---|---|---|
| simpleQuantity | required | 0..1 |
The amount that is to be dispensed for one fill.
"quantity": { "value": 1, "unit": "inhaler", "system": "http://snomed.info/sct", "code": "334980009" },
dispenseRequest.expectedSupplyDuration
| DataType | Optionality | Cardinality |
|---|---|---|
| Duration | required | 0..1 |
Number of days’ supply per dispense.
"expectedSupplyDuration": { "value": 28, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" },
dispenseRequest.performer
| DataType | Optionality | Cardinality |
|---|---|---|
| Duration | required | 0..1 |
Patients pharmacy preferences may be sourced from PDS.
Patients pharmacy preferences may be overriden by an 'one-off pharmacy nomination' by populating the dispenseRequest.performer.identifier with the ODS code of the destination pharmacy. The one off ODS code can be obtained from input element of the corresponding Task resource.
"performer": {
"identifier": {
"system": "https://fhir.nhs.uk/Id/ods-organization-code",
"value": "FX748"
}
}
substitution
| DataType | Optionality | Cardinality |
|---|---|---|
| BabckboneElement | required | 1..1 |
UK Core has profiled this element as mandatory and must have a default boolean value of false to denote substitution is not allowed.
Example
"substitution": {
"allowedBoolean": false
}