Element: Dosage
The FHIR Dosage
element is complex but essential to achieve medicines interoperability. Extensive implementation guidance with numerous clinically appropriate examples are documented within this guide.
Dosage | BackboneElement | ||
id | 0..1 | ||
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
sequence | Σ | 0..1 | integer |
text | Σ | 0..1 | string |
additionalInstruction | Σ | 0..* | CodeableConcept |
patientInstruction | Σ | 0..1 | string |
timing | Σ | 0..1 | Timing |
asNeeded[x] | Σ | 0..1 | |
asNeededBoolean | boolean | ||
asNeededCodeableConcept | CodeableConcept | ||
site | Σ | 0..1 | CodeableConcept |
route | Σ | 0..1 | CodeableConcept |
method | Σ | 0..1 | CodeableConcept |
doseAndRate | Σ | 0..* | Element |
id | 0..1 | ||
extension | I | 0..* | Extension |
type | Σ | 0..1 | CodeableConcept |
dose[x] | Σ | 0..1 | |
doseRange | Range | ||
doseQuantity | SimpleQuantity | ||
rate[x] | Σ | 0..1 | |
rateRatio | Ratio | ||
rateRange | Range | ||
rateQuantity | SimpleQuantity | ||
maxDosePerPeriod | Σ I | 0..1 | Ratio |
maxDosePerAdministration | Σ I | 0..1 | SimpleQuantity |
maxDosePerLifetime | Σ I | 0..1 | SimpleQuantity |
Dosage | |
Definition | Indicates how the medication is/was taken or should be taken by the patient. |
Cardinality | 0...* |
Invariants |
|
Mappings |
|
Dosage.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | |
Mappings |
|
Dosage.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Dosage.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Dosage.sequence | |
Definition | Indicates the order in which the dosage instructions should be applied or interpreted. |
Cardinality | 0...1 |
Type | integer |
Summary | True |
Requirements | If the sequence number of multiple Dosages is the same, then it is implied that the instructions are to be treated as concurrent. If the sequence number is different, then the Dosages are intended to be sequential. |
Comments | 32 bit number; for values larger than this, use decimal |
Invariants |
|
Mappings |
|
Dosage.text | |
Definition | Free text dosage instructions e.g. SIG. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Requirements | Free text dosage instructions can be used for cases where the instructions are too complex to code. The content of this attribute does not include the name or description of the medication. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. It is expected that the text instructions will always be populated. If the dosage.timing attribute is also populated, then the dosage.text should reflect the same information as the timing. Additional information about administration or preparation of the medication should be included as text. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Dosage.additionalInstruction | |
Definition | Supplemental instructions to the patient on how to take the medication (e.g. "with meals" or"take half to one hour before food") or warnings for the patient about the medication (e.g. "may cause drowsiness" or "avoid exposure of skin to direct sunlight or sunlamps"). |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery". |
Summary | True |
Requirements | Additional instruction is intended to be coded, but where no code exists, the element could include text. For example, "Swallow with plenty of water" which might or might not be coded. |
Comments | Information about administration or preparation of the medication (e.g. "infuse as rapidly as possibly via intraperitoneal port" or "immediately following drug x") should be populated in dosage.text. |
Invariants |
|
Mappings |
|
Dosage.patientInstruction | |
Definition | Instructions in terms that are understood by the patient or consumer. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Dosage.timing | |
Definition | When medication should be administered. |
Cardinality | 0...1 |
Type | Timing |
Summary | True |
Requirements | The timing schedule for giving the medication to the patient. This data type allows many different expressions. For example: "Every 8 hours"; "Three times a day"; "1/2 an hour before breakfast for 10 days from 23-Dec 2011:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time period. |
Comments | This attribute might not always be populated while the Dosage.text is expected to be populated. If both are populated, then the Dosage.text should reflect the content of the Dosage.timing. |
Invariants |
|
Mappings |
|
Dosage.asNeeded[x] | |
Definition | Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). |
Cardinality | 0...1 |
Type | boolean |
Binding | A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc. |
Summary | True |
Comments | Can express "as needed" without a reason by setting the Boolean = True. In this case the CodeableConcept is not populated. Or you can express "as needed" with a reason by including the CodeableConcept. In this case the Boolean is assumed to be True. If you set the Boolean to False, then the dose is given according to the schedule and is not "prn" or "as needed". |
Invariants |
|
Mappings |
|
Dosage.site | |
Definition | Body site to administer to. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A coded concept describing the site location the medicine enters into or onto the body. |
Summary | True |
Requirements | A coded specification of the anatomic site where the medication first enters the body. |
Comments | If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension bodySite. May be a summary code, or a reference to a very precise definition of the location, or both. |
Invariants |
|
Mappings |
|
Dosage.route | |
Definition | How drug should enter body. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. |
Summary | True |
Requirements | A code specifying the route or physiological path of administration of a therapeutic agent into or onto a patient's body. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Dosage.method | |
Definition | Technique for administering medication. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A coded concept describing the technique by which the medicine is administered. |
Summary | True |
Requirements | A coded value indicating the method by which the medication is introduced into or onto the body. Most commonly used for injections. For examples, Slow Push; Deep IV. |
Comments | Terminologies used often pre-coordinate this term with the route and or form of administration. |
Invariants |
|
Mappings |
|
Dosage.doseAndRate | |
Definition | The amount of medication administered. |
Cardinality | 0...* |
Type | Element |
Summary | True |
Invariants |
|
Mappings |
|
Dosage.doseAndRate.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | |
Mappings |
|
Dosage.doseAndRate.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Dosage.doseAndRate.type | |
Definition | The kind of dose or rate specified, for example, ordered or calculated. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | The kind of dose or rate specified. |
Summary | True |
Requirements | If the type is not populated, assume to be "ordered". |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Dosage.doseAndRate.dose[x] | |
Definition | Amount of medication per dose. |
Cardinality | 0...1 |
Type | Range |
Summary | True |
Requirements | The amount of therapeutic or other substance given at one administration event. |
Comments | Note that this specifies the quantity of the specified medication, not the quantity for each active ingredient(s). Each ingredient amount can be communicated in the Medication resource. For example, if one wants to communicate that a tablet was 375 mg, where the dose was one tablet, you can use the Medication resource to document that the tablet was comprised of 375 mg of drug XYZ. Alternatively if the dose was 375 mg, then you may only need to use the Medication resource to indicate this was a tablet. If the example were an IV such as dopamine and you wanted to communicate that 400mg of dopamine was mixed in 500 ml of some IV solution, then this would all be communicated in the Medication resource. If the administration is not intended to be instantaneous (rate is present or timing has a duration), this can be specified to convey the total amount to be administered over the period of time as indicated by the schedule e.g. 500 ml in dose, with timing used to convey that this should be done over 4 hours. |
Invariants |
|
Mappings |
|
Dosage.doseAndRate.rate[x] | |
Definition | Amount of medication per unit of time. |
Cardinality | 0...1 |
Type | Ratio |
Summary | True |
Requirements | Identifies the speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 500 ml per 2 hours. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time period. |
Comments | It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationRequest with an updated rate, or captured with a new MedicationRequest with the new rate. It is possible to specify a rate over time (for example, 100 ml/hour) using either the rateRatio and rateQuantity. The rateQuantity approach requires systems to have the capability to parse UCUM grammer where ml/hour is included rather than a specific ratio where the time is specified as the denominator. Where a rate such as 500ml over 2 hours is specified, the use of rateRatio may be more semantically correct than specifying using a rateQuantity of 250 mg/hour. |
Invariants |
|
Mappings |
|
Dosage.maxDosePerPeriod | |
Definition | Upper limit on medication per unit of time. |
Cardinality | 0...1 |
Type | Ratio |
Summary | True |
Requirements | The maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time. For example, 1000mg in 24 hours. |
Comments | This is intended for use as an adjunct to the dosage when there is an upper cap. For example "2 tablets every 4 hours to a maximum of 8/day". |
Invariants |
|
Mappings |
|
Dosage.maxDosePerAdministration | |
Definition | Upper limit on medication per administration. |
Cardinality | 0...1 |
Type | SimpleQuantity |
Summary | True |
Requirements | The maximum total quantity of a therapeutic substance that may be administered to a subject per administration. |
Comments | This is intended for use as an adjunct to the dosage when there is an upper cap. For example, a body surface area related dose with a maximum amount, such as 1.5 mg/m2 (maximum 2 mg) IV over 5 – 10 minutes would have doseQuantity of 1.5 mg/m2 and maxDosePerAdministration of 2 mg. |
Invariants |
|
Mappings |
|
Dosage.maxDosePerLifetime | |
Definition | Upper limit on medication per lifetime of the patient. |
Cardinality | 0...1 |
Type | SimpleQuantity |
Summary | True |
Requirements | The maximum total quantity of a therapeutic substance that may be administered per lifetime of the subject. |
Comments | The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator. |
Invariants |
|
Mappings |
|
Implementation guidance
Implementation guidance follows for each data item within the Dosage structure, in the order in which they are shown in the above treeview.
Element: sequence
Multi-sequence dosage instructions.
A multi-sequence would be required where a dosage instruction changes over a given time schedule, where a dosage instruction includes optional follow-up doses or where a concurrent dosage instruction is required for the same medication at a different dose.
Examples below include Prednisolone to treat Bell’s palsy where a dose starts at 60 mg per day for a period of time then reduces by 10 mg per day. This would be described as a sequential dosage instruction. A concurrent dosage example is provided to describe a different dose in the morning to that at midday.
Sequential Instructions
Where the value of sequence is an incremental integer it defines a sequential instruction.
Example use of the FHIR R4 Dosage using multiple sequential sequences
<MedicationRequest xmlns="http://hl7.org/fhir"> <id value="43955772-3136-49be-829e-ac04b56894d5" /> <meta> <profile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest" /> </meta> <status value="active" /> <intent value="order" /> <category> <coding> <system value="http://terminology.hl7.org/CodeSystem/medicationrequest-category" /> <code value="inpatient" /> <display value="inpatient" /> </coding> </category> <priority value="routine" /> <medicationCodeableConcept> <coding> <system value="https://dmd.nhs.uk" /> <code value="52388000" /> <display value="Prednisolone" /> </coding> </medicationCodeableConcept> <subject> <identifier> <system value="https://fhir.nhs.uk/Id/nhs-number" /> <value value="9999999999" /> </identifier> </subject> <authoredOn value="2020-05-15T15:00:00Z" /> <requester> <reference value="urn:staff-1112" /> <display value="Dr Maikeu Well" /> </requester> <recorder> <reference value="urn:staff-1112" /> <display value="Dr Maikeu Well" /> </recorder> <dosageInstruction> <sequence value="1" /> <text value="60 milligram - once a day - for 4 days" /> <timing> <repeat> <boundsDuration> <value value="4" /> <unit value="day" /> <system value="http://unitsofmeasure.org" /> <code value="d" /> </boundsDuration> <frequency value="1" /> <period value="1" /> <periodUnit value="d" /> </repeat> </timing> <doseAndRate> <doseQuantity> <value value="60" /> <unit value="milligram" /> <system value="http://unitsofmeasure.org" /> <code value="mg" /> </doseQuantity> </doseAndRate> </dosageInstruction> <dosageInstruction> <sequence value="2" /> <text value="50 milligram - once a day - for 1 day" /> <timing> <repeat> <boundsDuration> <value value="1" /> <unit value="day" /> <system value="http://unitsofmeasure.org" /> <code value="d" /> </boundsDuration> <frequency value="1" /> <period value="1" /> <periodUnit value="d" /> </repeat> </timing> <doseAndRate> <doseQuantity> <value value="50" /> <unit value="milligram" /> <system value="http://unitsofmeasure.org" /> <code value="mg" /> </doseQuantity> </doseAndRate> </dosageInstruction> <dosageInstruction> <sequence value="3" /> <text value="40 milligram - once a day - for 1 day" /> <timing> <repeat> <boundsDuration> <value value="1" /> <unit value="day" /> <system value="http://unitsofmeasure.org" /> <code value="d" /> </boundsDuration> <frequency value="1" /> <period value="1" /> <periodUnit value="d" /> </repeat> </timing> <doseAndRate> <doseQuantity> <value value="40" /> <unit value="milligram" /> <system value="http://unitsofmeasure.org" /> <code value="mg" /> </doseQuantity> </doseAndRate> </dosageInstruction> <dosageInstruction> <sequence value="4" /> <text value="30 milligram - once a day - for 1 day" /> <timing> <repeat> <boundsDuration> <value value="1" /> <unit value="day" /> <system value="http://unitsofmeasure.org" /> <code value="d" /> </boundsDuration> <frequency value="1" /> <period value="1" /> <periodUnit value="d" /> </repeat> </timing> <doseAndRate> <doseQuantity> <value value="30" /> <unit value="milligram" /> <system value="http://unitsofmeasure.org" /> <code value="mg" /> </doseQuantity> </doseAndRate> </dosageInstruction> <dosageInstruction> <sequence value="5" /> <text value="20 milligram - once a day - for 1 day" /> <timing> <repeat> <boundsDuration> <value value="1" /> <unit value="day" /> <system value="http://unitsofmeasure.org" /> <code value="d" /> </boundsDuration> <frequency value="1" /> <period value="1" /> <periodUnit value="d" /> </repeat> </timing> <doseAndRate> <doseQuantity> <value value="20" /> <unit value="milligram" /> <system value="http://unitsofmeasure.org" /> <code value="mg" /> </doseQuantity> </doseAndRate> </dosageInstruction> <dosageInstruction> <sequence value="6" /> <text value="10 milligram - once a day - for 1 day - Then stop" /> <additionalInstruction> <coding> <system value="http://snomed.info/sct" /> <code value="422327006" /> <display value="Then stop" /> </coding> </additionalInstruction> <timing> <repeat> <boundsDuration> <value value="1" /> <unit value="day" /> <system value="http://unitsofmeasure.org" /> <code value="d" /> </boundsDuration> <frequency value="1" /> <period value="1" /> <periodUnit value="d" /> </repeat> </timing> <doseAndRate> <doseQuantity> <value value="10" /> <unit value="milligram" /> <system value="http://unitsofmeasure.org" /> <code value="mg" /> </doseQuantity> </doseAndRate> </dosageInstruction> <substitution> <allowedBoolean value="false" /> </substitution> </MedicationRequest>
{ "resourceType": "MedicationRequest", "id": "43955772-3136-49be-829e-ac04b56894d5", "meta": { "profile": [ "https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest" ] }, "status": "active", "intent": "order", "category": [ { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "inpatient", "display": "inpatient" } ] } ], "priority": "routine", "medicationCodeableConcept": { "coding": [ { "system": "https://dmd.nhs.uk", "code": "52388000", "display": "Prednisolone" } ] }, "subject": { "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9999999999" } }, "authoredOn": "2020-05-15T15:00:00Z", "requester": { "reference": "urn:staff-1112", "display": "Dr Maikeu Well" }, "recorder": { "reference": "urn:staff-1112", "display": "Dr Maikeu Well" }, "dosageInstruction": [ { "sequence": 1, "text": "60 milligram - once a day - for 4 days", "timing": { "repeat": { "boundsDuration": { "value": 4, "unit": "day", "system": "http://unitsofmeasure.org", "code": "d" }, "frequency": 1, "period": 1, "periodUnit": "d" } }, "doseAndRate": [ { "doseQuantity": { "value": 60, "unit": "milligram", "system": "http://unitsofmeasure.org", "code": "mg" } } ] }, { "sequence": 2, "text": "50 milligram - once a day - for 1 day", "timing": { "repeat": { "boundsDuration": { "value": 1, "unit": "day", "system": "http://unitsofmeasure.org", "code": "d" }, "frequency": 1, "period": 1, "periodUnit": "d" } }, "doseAndRate": [ { "doseQuantity": { "value": 50, "unit": "milligram", "system": "http://unitsofmeasure.org", "code": "mg" } } ] }, { "sequence": 3, "text": "40 milligram - once a day - for 1 day", "timing": { "repeat": { "boundsDuration": { "value": 1, "unit": "day", "system": "http://unitsofmeasure.org", "code": "d" }, "frequency": 1, "period": 1, "periodUnit": "d" } }, "doseAndRate": [ { "doseQuantity": { "value": 40, "unit": "milligram", "system": "http://unitsofmeasure.org", "code": "mg" } } ] }, { "sequence": 4, "text": "30 milligram - once a day - for 1 day", "timing": { "repeat": { "boundsDuration": { "value": 1, "unit": "day", "system": "http://unitsofmeasure.org", "code": "d" }, "frequency": 1, "period": 1, "periodUnit": "d" } }, "doseAndRate": [ { "doseQuantity": { "value": 30, "unit": "milligram", "system": "http://unitsofmeasure.org", "code": "mg" } } ] }, { "sequence": 5, "text": "20 milligram - once a day - for 1 day", "timing": { "repeat": { "boundsDuration": { "value": 1, "unit": "day", "system": "http://unitsofmeasure.org", "code": "d" }, "frequency": 1, "period": 1, "periodUnit": "d" } }, "doseAndRate": [ { "doseQuantity": { "value": 20, "unit": "milligram", "system": "http://unitsofmeasure.org", "code": "mg" } } ] }, { "sequence": 6, "text": "10 milligram - once a day - for 1 day - Then stop", "additionalInstruction": [ { "coding": [ { "system": "http://snomed.info/sct", "code": "422327006", "display": "Then stop" } ] } ], "timing": { "repeat": { "boundsDuration": { "value": 1, "unit": "day", "system": "http://unitsofmeasure.org", "code": "d" }, "frequency": 1, "period": 1, "periodUnit": "d" } }, "doseAndRate": [ { "doseQuantity": { "value": 10, "unit": "milligram", "system": "http://unitsofmeasure.org", "code": "mg" } } ] } ], "substitution": { "allowedBoolean": false } }
MedicationRequest.id[0] | 43955772-3136-49be-829e-ac04b56894d5 |
MedicationRequest.meta[0].profile[0] | https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest |
MedicationRequest.status[0] | active |
MedicationRequest.intent[0] | order |
MedicationRequest.category[0].coding[0].system[0] | http://terminology.hl7.org/CodeSystem/medicationrequest-category |
MedicationRequest.category[0].coding[0].code[0] | inpatient |
MedicationRequest.category[0].coding[0].display[0] | inpatient |
MedicationRequest.priority[0] | routine |
MedicationRequest.medication[0].coding[0].system[0] | https://dmd.nhs.uk |
MedicationRequest.medication[0].coding[0].code[0] | 52388000 |
MedicationRequest.medication[0].coding[0].display[0] | Prednisolone |
MedicationRequest.subject[0].identifier[0].system[0] | https://fhir.nhs.uk/Id/nhs-number |
MedicationRequest.subject[0].identifier[0].value[0] | 9999999999 |
MedicationRequest.authoredOn[0] | 2020-05-15T15:00:00Z |
MedicationRequest.requester[0].reference[0] | urn:staff-1112 |
MedicationRequest.requester[0].display[0] | Dr Maikeu Well |
MedicationRequest.recorder[0].reference[0] | urn:staff-1112 |
MedicationRequest.recorder[0].display[0] | Dr Maikeu Well |
MedicationRequest.dosageInstruction[0].sequence[0] | 1 |
MedicationRequest.dosageInstruction[0].text[0] | 60 milligram - once a day - for 4 days |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].bounds[0].value[0] | 4 |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].bounds[0].unit[0] | day |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].bounds[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].bounds[0].code[0] | d |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].frequency[0] | 1 |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].period[0] | 1 |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].periodUnit[0] | d |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].value[0] | 60 |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].unit[0] | milligram |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].code[0] | mg |
MedicationRequest.dosageInstruction[1].sequence[0] | 2 |
MedicationRequest.dosageInstruction[1].text[0] | 50 milligram - once a day - for 1 day |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].bounds[0].value[0] | 1 |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].bounds[0].unit[0] | day |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].bounds[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].bounds[0].code[0] | d |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].frequency[0] | 1 |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].period[0] | 1 |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].periodUnit[0] | d |
MedicationRequest.dosageInstruction[1].doseAndRate[0].dose[0].value[0] | 50 |
MedicationRequest.dosageInstruction[1].doseAndRate[0].dose[0].unit[0] | milligram |
MedicationRequest.dosageInstruction[1].doseAndRate[0].dose[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[1].doseAndRate[0].dose[0].code[0] | mg |
MedicationRequest.dosageInstruction[2].sequence[0] | 3 |
MedicationRequest.dosageInstruction[2].text[0] | 40 milligram - once a day - for 1 day |
MedicationRequest.dosageInstruction[2].timing[0].repeat[0].bounds[0].value[0] | 1 |
MedicationRequest.dosageInstruction[2].timing[0].repeat[0].bounds[0].unit[0] | day |
MedicationRequest.dosageInstruction[2].timing[0].repeat[0].bounds[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[2].timing[0].repeat[0].bounds[0].code[0] | d |
MedicationRequest.dosageInstruction[2].timing[0].repeat[0].frequency[0] | 1 |
MedicationRequest.dosageInstruction[2].timing[0].repeat[0].period[0] | 1 |
MedicationRequest.dosageInstruction[2].timing[0].repeat[0].periodUnit[0] | d |
MedicationRequest.dosageInstruction[2].doseAndRate[0].dose[0].value[0] | 40 |
MedicationRequest.dosageInstruction[2].doseAndRate[0].dose[0].unit[0] | milligram |
MedicationRequest.dosageInstruction[2].doseAndRate[0].dose[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[2].doseAndRate[0].dose[0].code[0] | mg |
MedicationRequest.dosageInstruction[3].sequence[0] | 4 |
MedicationRequest.dosageInstruction[3].text[0] | 30 milligram - once a day - for 1 day |
MedicationRequest.dosageInstruction[3].timing[0].repeat[0].bounds[0].value[0] | 1 |
MedicationRequest.dosageInstruction[3].timing[0].repeat[0].bounds[0].unit[0] | day |
MedicationRequest.dosageInstruction[3].timing[0].repeat[0].bounds[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[3].timing[0].repeat[0].bounds[0].code[0] | d |
MedicationRequest.dosageInstruction[3].timing[0].repeat[0].frequency[0] | 1 |
MedicationRequest.dosageInstruction[3].timing[0].repeat[0].period[0] | 1 |
MedicationRequest.dosageInstruction[3].timing[0].repeat[0].periodUnit[0] | d |
MedicationRequest.dosageInstruction[3].doseAndRate[0].dose[0].value[0] | 30 |
MedicationRequest.dosageInstruction[3].doseAndRate[0].dose[0].unit[0] | milligram |
MedicationRequest.dosageInstruction[3].doseAndRate[0].dose[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[3].doseAndRate[0].dose[0].code[0] | mg |
MedicationRequest.dosageInstruction[4].sequence[0] | 5 |
MedicationRequest.dosageInstruction[4].text[0] | 20 milligram - once a day - for 1 day |
MedicationRequest.dosageInstruction[4].timing[0].repeat[0].bounds[0].value[0] | 1 |
MedicationRequest.dosageInstruction[4].timing[0].repeat[0].bounds[0].unit[0] | day |
MedicationRequest.dosageInstruction[4].timing[0].repeat[0].bounds[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[4].timing[0].repeat[0].bounds[0].code[0] | d |
MedicationRequest.dosageInstruction[4].timing[0].repeat[0].frequency[0] | 1 |
MedicationRequest.dosageInstruction[4].timing[0].repeat[0].period[0] | 1 |
MedicationRequest.dosageInstruction[4].timing[0].repeat[0].periodUnit[0] | d |
MedicationRequest.dosageInstruction[4].doseAndRate[0].dose[0].value[0] | 20 |
MedicationRequest.dosageInstruction[4].doseAndRate[0].dose[0].unit[0] | milligram |
MedicationRequest.dosageInstruction[4].doseAndRate[0].dose[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[4].doseAndRate[0].dose[0].code[0] | mg |
MedicationRequest.dosageInstruction[5].sequence[0] | 6 |
MedicationRequest.dosageInstruction[5].text[0] | 10 milligram - once a day - for 1 day - Then stop |
MedicationRequest.dosageInstruction[5].additionalInstruction[0].coding[0].system[0] | http://snomed.info/sct |
MedicationRequest.dosageInstruction[5].additionalInstruction[0].coding[0].code[0] | 422327006 |
MedicationRequest.dosageInstruction[5].additionalInstruction[0].coding[0].display[0] | Then stop |
MedicationRequest.dosageInstruction[5].timing[0].repeat[0].bounds[0].value[0] | 1 |
MedicationRequest.dosageInstruction[5].timing[0].repeat[0].bounds[0].unit[0] | day |
MedicationRequest.dosageInstruction[5].timing[0].repeat[0].bounds[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[5].timing[0].repeat[0].bounds[0].code[0] | d |
MedicationRequest.dosageInstruction[5].timing[0].repeat[0].frequency[0] | 1 |
MedicationRequest.dosageInstruction[5].timing[0].repeat[0].period[0] | 1 |
MedicationRequest.dosageInstruction[5].timing[0].repeat[0].periodUnit[0] | d |
MedicationRequest.dosageInstruction[5].doseAndRate[0].dose[0].value[0] | 10 |
MedicationRequest.dosageInstruction[5].doseAndRate[0].dose[0].unit[0] | milligram |
MedicationRequest.dosageInstruction[5].doseAndRate[0].dose[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[5].doseAndRate[0].dose[0].code[0] | mg |
MedicationRequest.substitution[0].allowed[0] | False |
MedicationRequest |
id : 43955772-3136-49be-829e-ac04b56894d5 |
meta |
profile : https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest |
status : active |
intent : order |
category |
coding |
system : http://terminology.hl7.org/CodeSystem/medicationrequest-category |
code : inpatient |
display : inpatient |
priority : routine |
medication |
coding |
system : https://dmd.nhs.uk |
code : 52388000 |
display : Prednisolone |
subject |
identifier |
system : https://fhir.nhs.uk/Id/nhs-number |
value : 9999999999 |
authoredOn : 2020-05-15T15:00:00Z |
requester |
reference : urn:staff-1112 |
display : Dr Maikeu Well |
recorder |
reference : urn:staff-1112 |
display : Dr Maikeu Well |
dosageInstruction |
sequence : 1 |
text : 60 milligram - once a day - for 4 days |
timing |
repeat |
bounds |
value : 4 |
unit : day |
system : http://unitsofmeasure.org |
code : d |
frequency : 1 |
period : 1 |
periodUnit : d |
doseAndRate |
dose |
value : 60 |
unit : milligram |
system : http://unitsofmeasure.org |
code : mg |
dosageInstruction |
sequence : 2 |
text : 50 milligram - once a day - for 1 day |
timing |
repeat |
bounds |
value : 1 |
unit : day |
system : http://unitsofmeasure.org |
code : d |
frequency : 1 |
period : 1 |
periodUnit : d |
doseAndRate |
dose |
value : 50 |
unit : milligram |
system : http://unitsofmeasure.org |
code : mg |
dosageInstruction |
sequence : 3 |
text : 40 milligram - once a day - for 1 day |
timing |
repeat |
bounds |
value : 1 |
unit : day |
system : http://unitsofmeasure.org |
code : d |
frequency : 1 |
period : 1 |
periodUnit : d |
doseAndRate |
dose |
value : 40 |
unit : milligram |
system : http://unitsofmeasure.org |
code : mg |
dosageInstruction |
sequence : 4 |
text : 30 milligram - once a day - for 1 day |
timing |
repeat |
bounds |
value : 1 |
unit : day |
system : http://unitsofmeasure.org |
code : d |
frequency : 1 |
period : 1 |
periodUnit : d |
doseAndRate |
dose |
value : 30 |
unit : milligram |
system : http://unitsofmeasure.org |
code : mg |
dosageInstruction |
sequence : 5 |
text : 20 milligram - once a day - for 1 day |
timing |
repeat |
bounds |
value : 1 |
unit : day |
system : http://unitsofmeasure.org |
code : d |
frequency : 1 |
period : 1 |
periodUnit : d |
doseAndRate |
dose |
value : 20 |
unit : milligram |
system : http://unitsofmeasure.org |
code : mg |
dosageInstruction |
sequence : 6 |
text : 10 milligram - once a day - for 1 day - Then stop |
additionalInstruction |
coding |
system : http://snomed.info/sct |
code : 422327006 |
display : Then stop |
timing |
repeat |
bounds |
value : 1 |
unit : day |
system : http://unitsofmeasure.org |
code : d |
frequency : 1 |
period : 1 |
periodUnit : d |
doseAndRate |
dose |
value : 10 |
unit : milligram |
system : http://unitsofmeasure.org |
code : mg |
substitution |
allowed : False |
Concurrent Instructions
Where the same integer value of sequence is defines it means a concurrent instruction.
<MedicationRequest xmlns="http://hl7.org/fhir"> <id value="79159c4f-13c4-457a-8962-67fa22432c15" /> <meta> <profile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest" /> </meta> <status value="active" /> <intent value="order" /> <category> <coding> <system value="http://terminology.hl7.org/CodeSystem/medicationrequest-category" /> <code value="inpatient" /> <display value="inpatient" /> </coding> </category> <priority value="routine" /> <medicationCodeableConcept> <coding> <system value="https://dmd.nhs.uk" /> <code value="317972000" /> <display value="Furosemide 40mg tablets" /> </coding> </medicationCodeableConcept> <subject> <identifier> <system value="https://fhir.nhs.uk/Id/nhs-number" /> <value value="9999999999" /> </identifier> </subject> <authoredOn value="2020-05-15T15:00:00Z" /> <requester> <reference value="urn:staff-1112" /> <display value="Dr Maikeu Well" /> </requester> <recorder> <reference value="urn:staff-1112" /> <display value="Dr Maikeu Well" /> </recorder> <dosageInstruction> <sequence value="1" /> <text value="2 tablet - daily - at 08:00 - for 1 week" /> <timing> <repeat> <boundsDuration> <value value="1" /> <unit value="week" /> <system value="http://unitsofmeasure.org" /> <code value="wk" /> </boundsDuration> <period value="1" /> <periodUnit value="d" /> <timeOfDay value="08:00:00" /> </repeat> </timing> <doseAndRate> <doseQuantity> <value value="2" /> <unit value="tablet" /> <system value="http://snomed.info/sct" /> <code value="428673006" /> </doseQuantity> </doseAndRate> </dosageInstruction> <dosageInstruction> <sequence value="1" /> <text value="1 tablet - daily - at 12:00 - for 1 week" /> <timing> <repeat> <boundsDuration> <value value="1" /> <unit value="week" /> <system value="http://unitsofmeasure.org" /> <code value="wk" /> </boundsDuration> <period value="1" /> <periodUnit value="d" /> <timeOfDay value="12:00:00" /> </repeat> </timing> <doseAndRate> <doseQuantity> <value value="1" /> <unit value="tablet" /> <system value="http://snomed.info/sct" /> <code value="428673006" /> </doseQuantity> </doseAndRate> </dosageInstruction> <substitution> <allowedBoolean value="false" /> </substitution> </MedicationRequest>
{ "resourceType": "MedicationRequest", "id": "79159c4f-13c4-457a-8962-67fa22432c15", "meta": { "profile": [ "https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest" ] }, "status": "active", "intent": "order", "category": [ { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "inpatient", "display": "inpatient" } ] } ], "priority": "routine", "medicationCodeableConcept": { "coding": [ { "system": "https://dmd.nhs.uk", "code": "317972000", "display": "Furosemide 40mg tablets" } ] }, "subject": { "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9999999999" } }, "authoredOn": "2020-05-15T15:00:00Z", "requester": { "reference": "urn:staff-1112", "display": "Dr Maikeu Well" }, "recorder": { "reference": "urn:staff-1112", "display": "Dr Maikeu Well" }, "dosageInstruction": [ { "sequence": 1, "text": "2 tablet - daily - at 08:00 - for 1 week", "timing": { "repeat": { "boundsDuration": { "value": 1, "unit": "week", "system": "http://unitsofmeasure.org", "code": "wk" }, "period": 1, "periodUnit": "d", "timeOfDay": [ "08:00:00" ] } }, "doseAndRate": [ { "doseQuantity": { "value": 2, "unit": "tablet", "system": "http://snomed.info/sct", "code": "428673006" } } ] }, { "sequence": 1, "text": "1 tablet - daily - at 12:00 - for 1 week", "timing": { "repeat": { "boundsDuration": { "value": 1, "unit": "week", "system": "http://unitsofmeasure.org", "code": "wk" }, "period": 1, "periodUnit": "d", "timeOfDay": [ "12:00:00" ] } }, "doseAndRate": [ { "doseQuantity": { "value": 1, "unit": "tablet", "system": "http://snomed.info/sct", "code": "428673006" } } ] } ], "substitution": { "allowedBoolean": false } }
MedicationRequest.id[0] | 79159c4f-13c4-457a-8962-67fa22432c15 |
MedicationRequest.meta[0].profile[0] | https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest |
MedicationRequest.status[0] | active |
MedicationRequest.intent[0] | order |
MedicationRequest.category[0].coding[0].system[0] | http://terminology.hl7.org/CodeSystem/medicationrequest-category |
MedicationRequest.category[0].coding[0].code[0] | inpatient |
MedicationRequest.category[0].coding[0].display[0] | inpatient |
MedicationRequest.priority[0] | routine |
MedicationRequest.medication[0].coding[0].system[0] | https://dmd.nhs.uk |
MedicationRequest.medication[0].coding[0].code[0] | 317972000 |
MedicationRequest.medication[0].coding[0].display[0] | Furosemide 40mg tablets |
MedicationRequest.subject[0].identifier[0].system[0] | https://fhir.nhs.uk/Id/nhs-number |
MedicationRequest.subject[0].identifier[0].value[0] | 9999999999 |
MedicationRequest.authoredOn[0] | 2020-05-15T15:00:00Z |
MedicationRequest.requester[0].reference[0] | urn:staff-1112 |
MedicationRequest.requester[0].display[0] | Dr Maikeu Well |
MedicationRequest.recorder[0].reference[0] | urn:staff-1112 |
MedicationRequest.recorder[0].display[0] | Dr Maikeu Well |
MedicationRequest.dosageInstruction[0].sequence[0] | 1 |
MedicationRequest.dosageInstruction[0].text[0] | 2 tablet - daily - at 08:00 - for 1 week |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].bounds[0].value[0] | 1 |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].bounds[0].unit[0] | week |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].bounds[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].bounds[0].code[0] | wk |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].period[0] | 1 |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].periodUnit[0] | d |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].timeOfDay[0] | 08:00:00 |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].value[0] | 2 |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].unit[0] | tablet |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].system[0] | http://snomed.info/sct |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].code[0] | 428673006 |
MedicationRequest.dosageInstruction[1].sequence[0] | 1 |
MedicationRequest.dosageInstruction[1].text[0] | 1 tablet - daily - at 12:00 - for 1 week |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].bounds[0].value[0] | 1 |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].bounds[0].unit[0] | week |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].bounds[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].bounds[0].code[0] | wk |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].period[0] | 1 |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].periodUnit[0] | d |
MedicationRequest.dosageInstruction[1].timing[0].repeat[0].timeOfDay[0] | 12:00:00 |
MedicationRequest.dosageInstruction[1].doseAndRate[0].dose[0].value[0] | 1 |
MedicationRequest.dosageInstruction[1].doseAndRate[0].dose[0].unit[0] | tablet |
MedicationRequest.dosageInstruction[1].doseAndRate[0].dose[0].system[0] | http://snomed.info/sct |
MedicationRequest.dosageInstruction[1].doseAndRate[0].dose[0].code[0] | 428673006 |
MedicationRequest.substitution[0].allowed[0] | False |
MedicationRequest |
id : 79159c4f-13c4-457a-8962-67fa22432c15 |
meta |
profile : https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest |
status : active |
intent : order |
category |
coding |
system : http://terminology.hl7.org/CodeSystem/medicationrequest-category |
code : inpatient |
display : inpatient |
priority : routine |
medication |
coding |
system : https://dmd.nhs.uk |
code : 317972000 |
display : Furosemide 40mg tablets |
subject |
identifier |
system : https://fhir.nhs.uk/Id/nhs-number |
value : 9999999999 |
authoredOn : 2020-05-15T15:00:00Z |
requester |
reference : urn:staff-1112 |
display : Dr Maikeu Well |
recorder |
reference : urn:staff-1112 |
display : Dr Maikeu Well |
dosageInstruction |
sequence : 1 |
text : 2 tablet - daily - at 08:00 - for 1 week |
timing |
repeat |
bounds |
value : 1 |
unit : week |
system : http://unitsofmeasure.org |
code : wk |
period : 1 |
periodUnit : d |
timeOfDay : 08:00:00 |
doseAndRate |
dose |
value : 2 |
unit : tablet |
system : http://snomed.info/sct |
code : 428673006 |
dosageInstruction |
sequence : 1 |
text : 1 tablet - daily - at 12:00 - for 1 week |
timing |
repeat |
bounds |
value : 1 |
unit : week |
system : http://unitsofmeasure.org |
code : wk |
period : 1 |
periodUnit : d |
timeOfDay : 12:00:00 |
doseAndRate |
dose |
value : 1 |
unit : tablet |
system : http://snomed.info/sct |
code : 428673006 |
substitution |
allowed : False |
Element: text
text
element.
text
is populated with a textual representation of the complete dosage instruction, in terms understood by a healthcare professional, excluding;patientInstruction
string (Note 3)This approach allows the
text
to be safely used by clinical systems that cannot (yet) consume the complete FHIR Dosage structure. All dosing instructions within text
should also be contained within the relevant structured elements of the FHIR Dosage to allow the clinical system to consume the FHIR Dosage without requiring the human user to interpret the contents of text
.
Note 1: The name or description of the medication is conveyed as a codeableConcept
or referenced Medication
resource in the resource that contains the Dosage structure.
Note 2: The reason for medication is conveyed within the reasonCode
or reasonReference
within the MedicationRequest
and MedicationStatement
resources.
Note 3: The patientInstruction
element contains equivalent information to text
but in terms that are understood by the patient or consumer so should not be repeated within text
.
An exception to note 2 above relates to the current implementation of the Electronic Prescription Service - FHIR API. The
text
may be appended with the reason for the medication (indication). The current implementation of the EPS converts the FHIR payload to HL7v3 for backwards compatibility. Wthin the HL7v3 data model, there is nowhere to hold the indication other than as an appendment to the free-text dosage instruction.
The textual representation must align with what the clinical user selects or sees on-screen. A textual and clinical equivalent of every element within the Dosage structure, excluding text
, must be contained within text
, with the exception of any patientInstruction string.
This approach allows clinically safe dosage interoperability between systems that do and do not support the full Dosage structure. A consumer system that can only handle a dosage text string will consume text
and ignore all other elements of the Dosage structure. A provider system that can only handle a dosage text string will only populate the text
element of the Dosage structure.
The approach we recommend allows a fully FHIR-compliant consumer system to process all elements of Dosage excluding text
. A system that only supports text-based dosage instructions will process only text
for clinical users or patientInstruction
for the patient user. Both implementations will consume an equivalent dosage instruction, albiet one as text and one that is machine readable.
Implementation Example A
A provider system allows the user to pick an order sentence, e.g. “Two tablet(s), two times a day, with food. Please do not chew the tablets”. This string goes into text
and in the background, the provider system constructs the coded Dosage structure.
<dosageInstruction> <text value="Two tablet(s), two times a day, with food. Please do not chew the tablets" /> <timing> <repeat> <frequency value="2" /> <period value="1" /> <periodUnit value="d" /> <when value="C"/> </repeat> </timing> <doseAndRate> <doseQuantity> <value value="2" /> <unit value="tablet" /> <system value="http://snomed.info/sct" /> <code value="428673006" /> </doseQuantity> </doseAndRate> <additionalInstruction> <text value=”Please do not chew the tablets” /> </additionalInstruction> </dosageInstruction>
Implementation Example B
A provider system allows the user to construct a dosage instruction using various user interface components. The system translatesAd the coded information into a text string for text
. Refer to our translation algorithm for guidance for such a translation. In the background, the provider system constructs the coded Dosage structure.
<dosageInstruction> <text value="2 tablets - twice a day – at a meal - Please do not chew the tablets" /> <timing> <repeat> <frequency value="2" /> <period value="1" /> <periodUnit value="d" /> <when value="C"/> </repeat> </timing> <doseAndRate> <doseQuantity> <value value="2" /> <unit value="tablet" /> <system value="http://snomed.info/sct" /> <code value="428673006" /> </doseQuantity> </doseAndRate> <additionalInstruction> <text value=”Please do not chew the tablets” /> </additionalInstruction> </dosageInstruction>
Element: additionalInstruction
Additional dosage instructions that can be either SNOMED-CT coded terms or free-text instructions.
Where suitable SNOMED-CT coded terms exist, use them instead of free-text instructions. See the SNOMED-CT hierarchy descendants of 419492006 Additional dosage instructions (qualifier value). These terms are also available from the example FHIR valueset binding.
additionalInstructions
can be conveyed as free-text; however, if free-text is used rather than a SNOMED-CT coded term, the `MedicationRequest` cannot be computable, and requires human intervention in the case of conditional or contradictory instructions.
Coded instruction
<additionalInstruction> <coding> <system value="http://snomed.info/sct"/> <code value="419529008"/> <display value="Dissolved under the tongue "/> </coding> </additionalInstruction>
Multiple coded instructions
<additionalInstruction> <coding> <system value="http://snomed.info/sct"/> <code value="417995008"/> <display value="Dissolve or mix with water before taking"/> </coding> </additionalInstruction> <additionalInstruction> <coding> <system value="http://snomed.info/sct"/> <code value="417980006"/> <display value="Contains aspirin"/> </coding> </additionalInstruction>
Free-text instruction
<additionalInstruction> <text value="with dialysis"/> </additionalInstruction>
additionalInstruction
/ when
overlap
Timing.when
and Dosage.additionalInstruction
do contain some overlapping values.
For example, they can both describe “with or after food”.
In such cases, use Timing.when
instead of a coded Dosage.additionalInstruction
.
continue / stop instructions
There may be the need for a clinician to give explicit instructions to either stop or continue taking medication. This could be applicable for discharge medication where one medicine may be for short term pain relief and should be stopped after the prescribed quantity has been taken, while another medicine must be continued until further notice.
The patient’s GP would be informed of this as part of the discharge letter but having these instructions explicitly coded provides a more robust solution.
Three SNOMED-CT codes exist that can be used for this purpose.
- “Then stop” (SNOMED concept identifier = 422327006)
- “Then discontinue” (SNOMED concept identifier = 421484000)
- “Do not stop taking this medicine except on your doctor’s advice” (SNOMED concept identifier = 419444006)
Dosage.timing
structures. These do not currently support coded concept terms. Implementation experience will provide evidence to support any future change to the underlying FHIR specification.
as directed
The use of a dosage instruction akin to “as directed” should be avoided wherever possible; however, if required then this can be SNOMED coded using 421769005 Follow directions (qualifier value) or conveyed as text as a patient instruction.
Element: patientInstruction
FHIR defines as "Instructions in terms that are understood by the patient or consumer".
It is good practice that this element contains the complete dosage instruction as a text string, in terms that are understood by the patient or consumer. This includes those prescriptions that the patient may not see or will not self administer, for example, during inpatient care.
There may be occurrences when dosage instructions are designed to be administered only by a healthcare professionals (e.g. IV dosage). In these instances the patientInstruction
may be omitted.
It would be expected that in many cases patientInstruction
will contain the same dose string as text
. The benefit of this element is when different dosage phrasing is required for the clinician and the patient.
<patientInstruction value="2 tablet - 4 times a day - at a meal - Dissolve or mix with water before taking - up to a maximum of 12 tablets in 24 hours"/>
If omitted, patient-facing use cases should present the string representation of the completed dosage as defined within text
.
patientInstruction
element is not intended to provide instructions for a medication dispensing label.
Timing Elements: duration
, bounds
and count
Adding constraints, bounds or limits to a dosage instruction.
Sub-elements: duration
and durationMax
A dosage instruction to be administered over a period of time is defined by a duration
and / or a durationMax
. These relate to the duration of a single administration so would be applicable for an infusion or potentially a transdermal patch.
The FHIR specification states that if there is a durationMax
, there must be a duration
.
The use of duration does not apply to medicines that are swallowed or otherwise instantly administered.
over 8 hours
<timing> <repeat> <duration value="8"/> <durationUnit value="h" /> </repeat> </timing>
over 10 to 15 minutes
<timing> <repeat> <duration value="10"/> <durationMax value="15"/> <durationUnit value="min"/> </repeat> </timing>
Sub-element: boundsDuration
An instruction to limit a single course of medication uses the bounds
structure. This can be implemented in three ways;
boundsDuration
- a period of time, for example: for 7 daysboundsRange
- a low / high quantity, for example: for 2 to 3 weeksboundsPeriod
- a date / time start to end period, for example: from 22/02/2021 to 04/03/2021
for 7 days
<timing> <repeat> <boundsDuration> <value value="7"/> <unit value="day"/> <system value="http://unitsofmeasure.org"/> <code value="d"/> </boundsDuration> </repeat> </timing>
for 2 to 3 weeks
<timing> <repeat> <boundsRange> <low> <value value="2"/> <unit value="week"/> <system value="http://unitsofmeasure.org"/> <code value="wk"/> </low> <high> <value value="3"/> <unit value="week"/> <system value="http://unitsofmeasure.org"/> <code value="wk"/> </high> </boundsRange> </repeat> </timing>
from 22/02/2021 to 04/03/2021
<timing> <repeat> <boundsPeriod> <start value="2021-02-22"/> <end value="2021-03-04"/> </boundsPeriod> </repeat> </timing>
at least 2 weeks
<timing> <repeat> <boundsRange> <low> <value value="2"/> <unit value="week"/> <system value="http://unitsofmeasure.org"/> <code value="wk"/> </low> </boundsRange> </repeat> </timing>
Sub-elements: count
and countMax
count
and countMax
with caution as there are other elements within the Dosage structure that will often be more appropriate.
An instruction for a set number of doses, including the use case of “once”, plus also any maximum number of doses, is defined by count
and countMax
.
Whilst the count
is within repeat
it does not mean repeat a number of additional times.
- A
count
of 1 means adminster a dose once. - A
count
of 3 means administer 3 doses.
The FHIR specification states if there is a countMax
, there must be a count
.
take once
<timing> <repeat> <count value="1"/> </repeat> </timing>
take twice
<timing> <repeat> <count value="2"/> </repeat> </timing>
take three times
Clincal Example: Teicoplanin - 10 mg/kg - every 12 hours - for 3 doses, then 6 to 10 mg/kg - daily
<timing> <repeat> <count value="3"/> </repeat> </timing>
take three to five times
<timing> <repeat> <count value="3"/> <countMax value="5"/> </repeat> </timing>
count
within a Dosage instruction would be more appropriate.
take once
Instead of using <count value="1"/>
use <frequency value="1"/>
.
an oral solid - 2 tablets - twice a day - take 14 times
Using a <count value="14"/>
is confusing. Is this "take 2 tablets twice a day for 14 days" or "take 2 tablets twice a day and take 14 tablets in total, hence for 7 days"? It would be better to express as a duration.
<duration value="7"/> <durationUnit value="d" />
Timing Elements: when
, offset
, dayOfWeek
, timeOfDay
, event
and code
A dosage instruction can be tied to the specific days, dates and times, plus life events related to eating or sleeping.
Sub-elements: when
and offset
The when element ties to the regular life events of sleeping and eating, for example:
C
= event occurs at a mealWAKE
= event occurs[offset]
after waking
An offset allows the event to be tied x
minutes before or after.
The offset is an unsigned integer value so different codes within the when value-set are used to define before or after.
event occurs before/at/after a meal
is currently under review and may be subject to change.
Event occurs at breakfast
<timing> <repeat> <when value="CM"/> </repeat> </timing>
Event occurs at 1 hour before breakfast
<timing> <repeat> <when value="ACM"/> <offset value="60" /> </repeat> </timing>
Event occurs at 1 hour after breakfast
<timing> <repeat> <when value="PCM"/> <offset value="60" /> </repeat> </timing>
Sub-elements: dayOfWeek
and timeOfDay
A dosage instruction can specify days of a week and/or specific times within a day for administration.
on Monday and Thursday at 09:00 and 15:00
<timing> <repeat> <dayOfWeek value="mon" /> <dayOfWeek value="thu" /> <timeOfDay value="09:00:00" /> <timeOfDay value="15:00:00" /> </repeat> </timing>
frequency
, period
and when
cannot be used with dayOfWeek
and/or timeOfDay
. However the rule defined in FHIR R4 only applies to when
plus an example exists in the FHIR standard for "Daily at 10:00". Within FHIR R5, the comment has been amended to only apply to when
. This guidance is based on the rules defined in FHIR R4 and latest ballot release of FHIR R5.
Daily at 10:00
<timing> <repeat> <frequency value="1"/> <period value="1"/> <periodUnit value="d"/> <timeOfDay value="10:00:00" /> </repeat> </timing>
Sub-element: event
A dosage instruction can specify specific dates and times for administration.
on 1st Nov 2019
<timing> <event value="2019-11-01" /> </timing>
on 1st Nov 2019 at 10:30 and again on 1st Dec 2019 at 22:30
<timing> <event value="2019-11-01T10:30" /> <event value="2019-12-01T22:30" /> </timing>
Sub-element: code
Allows a code, often a Latin abbreviation, for a timing schedule to be specified, for example: BID
= twice a day
Timing Elements: frequency
and period
A large proportion of cases, especially those where the medication are described using a VMP or AMP concept, can have a dosage instruction defined with a combination of frequency
and period
elements within the Timing structure.
Simple dosage timing instructions can be described using frequency
and period
.
The combination of frequency and period allows for the two commonly used expressions of:
- x times a period
- every x period
The unit of the period must be one of the UCUM units:
UCUM Unit | Definition |
---|---|
s |
second |
min |
minute |
h |
hour |
d |
day |
wk |
week |
mo |
month |
a |
year |
A frequencyMax and/or periodMax can also be used to define ranges. The FHIR specification states if there's a periodMax, there must be a period.
Every 8 hours
<timing> <repeat> <frequency value="1"/> <period value="8"/> <periodUnit value="h"/> </repeat> </timing>
4 times a day
<timing> <repeat> <frequency value="4"/> <period value="1"/> <periodUnit value="d"/> </repeat> </timing>
2 to 4 times a day
<timing> <repeat> <frequency value="2"/> <frequencyMax value="4"/> <period value="1"/> <periodUnit value="d"/> </repeat> </timing>
up to 4 times a day
<timing> <repeat> <frequencyMax value="4"/> <period value="1"/> <periodUnit value="d"/> </repeat> </timing>
every 3 to 4 weeks
<timing> <repeat> <frequency value="1"/> <period value="3"/> <periodMax value="4"/> <periodUnit value="wk"/> </repeat> </timing>
3 to 4 times every 1 to 2 weeks
<timing> <repeat> <frequency value="3"/> <frequencyMax value="4"/> <period value="1"/> <periodMax value="2"/> <periodUnit value="wk"/> </repeat> </timing>
daily
<timing> <repeat> <frequency value="1"/> <period value="1"/> <periodUnit value="d"/> </repeat> </timing>
twice a week
<timing> <repeat> <frequency value="2"/> <period value="1"/> <periodUnit value="wk"/> </repeat> </timing>
Examples of potentially confusing timing instructions
When converting the information into a FHIR message to a human readable version the frequency could be misconstrued.
For example:
take twice a week on a Monday and Thursday
Is the patient being instructed to take the medication twice per day on a Monday and Thursday (4 individual doses), or twice per week on a Monday and Thursday (2 individual doses)?
on Monday and Thursday - take twice
<timing> <repeat> <count value="2" /> <dayOfWeek value="mon" /> <dayOfWeek value="thu" /> </repeat> </timing>
Using the dose-to-text guidance within this documentation the above would be displayed as:
on Monday and Thursday - take twice
twice a week - on Monday and Thursday
<timing> <repeat> <frequency value="2"/> <period value="1" /> <periodUnit value="wk"/> <dayOfWeek value="mon" /> <dayOfWeek value="thu" /> </repeat> </timing>
Using the dose-to-text guidance within this documentation the above would be displayed as:
twice a week - on Monday and Thursday
on Monday and Thursday
<timing> <repeat> <dayOfWeek value="mon" /> <dayOfWeek value="thu" /> </repeat> </timing>
Using the dose-to-text guidance within this documentation the above would be displayed as:
on Monday and Thursday
Real-World Example
This prescription is used for immunocompromised patients to provide prophylaxis against a particular strain of pneumonia.
Element: asNeeded
Dosing 'asNeeded' and 'asNeededCodeableConcept' instructions.
Sub-element: Dosage.asNeeded[x]
The asNeeded
structure can be used to define a simple “as required” (or “pro re nata” expressed as “PRN” for those who still prefer to use Latin abbreviations) instructions.
In this case use the asNeededBoolean
option. The absence of asNeededBoolean
is equivalent to where asNeededBoolean
has a value of false
.
The asNeededCodeableConcept
option is used to bound the dosage instruction to a coded term. Any number of coded terms can be used from the SNOMED-CT hierarchy as a descendant of 404684003 Clinical Finding (finding). An extensive medication-as-needed-reason value-set is defined within FHIR which is a subset of the SNOMED-CT clinical findings hierarchy.
Example #1: Dosage.asNeeded
<MedicationRequest xmlns="http://hl7.org/fhir"> <id value="c804eca2-8b32-44d7-b654-b88bb9b1edd2" /> <meta> <profile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest" /> </meta> <status value="active" /> <intent value="order" /> <category> <coding> <system value="http://terminology.hl7.org/CodeSystem/medicationrequest-category" /> <code value="community" /> <display value="community" /> </coding> </category> <medicationCodeableConcept> <coding> <system value="https://dmd.nhs.uk" /> <code value="321177003" /> <display value="Zopiclone 3.75mg tablets" /> </coding> </medicationCodeableConcept> <subject> <identifier> <system value="https://fhir.nhs.uk/Id/nhs-number" /> <value value="9999999999" /> </identifier> </subject> <authoredOn value="2020-05-15T15:00:00Z" /> <requester> <reference value="urn:staff-1112" /> <display value="Dr Maikeu Well" /> </requester> <recorder> <reference value="urn:staff-1112" /> <display value="Dr Maikeu Well" /> </recorder> <dosageInstruction> <text value="1 tablet - during the night - oral - as required - up to a maximum of 7.5 milligram in 24 hours" /> <timing> <repeat> <when value="NIGHT" /> </repeat> </timing> <asNeededBoolean value="true" /> <route> <coding> <system value="http://snomed.info/sct" /> <code value="26643006" /> <display value="oral" /> </coding> </route> <doseAndRate> <doseQuantity> <value value="1" /> <unit value="tablet" /> <system value="http://snomed.info/sct" /> <code value="428673006" /> </doseQuantity> </doseAndRate> <maxDosePerPeriod> <numerator> <value value="7.5" /> <unit value="milligram" /> <system value="http://unitsofmeasure.org" /> <code value="mg" /> </numerator> <denominator> <value value="24" /> <unit value="hour" /> <system value="http://unitsofmeasure.org" /> <code value="h" /> </denominator> </maxDosePerPeriod> </dosageInstruction> <substitution> <allowedBoolean value="false" /> </substitution> </MedicationRequest>
{ "resourceType": "MedicationRequest", "id": "c804eca2-8b32-44d7-b654-b88bb9b1edd2", "meta": { "profile": [ "https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest" ] }, "status": "active", "intent": "order", "category": [ { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "community", "display": "community" } ] } ], "medicationCodeableConcept": { "coding": [ { "system": "https://dmd.nhs.uk", "code": "321177003", "display": "Zopiclone 3.75mg tablets" } ] }, "subject": { "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9999999999" } }, "authoredOn": "2020-05-15T15:00:00Z", "requester": { "reference": "urn:staff-1112", "display": "Dr Maikeu Well" }, "recorder": { "reference": "urn:staff-1112", "display": "Dr Maikeu Well" }, "dosageInstruction": [ { "text": "1 tablet - during the night - oral - as required - up to a maximum of 7.5 milligram in 24 hours", "timing": { "repeat": { "when": [ "NIGHT" ] } }, "asNeededBoolean": true, "route": { "coding": [ { "system": "http://snomed.info/sct", "code": "26643006", "display": "oral" } ] }, "doseAndRate": [ { "doseQuantity": { "value": 1, "unit": "tablet", "system": "http://snomed.info/sct", "code": "428673006" } } ], "maxDosePerPeriod": { "numerator": { "value": 7.5, "unit": "milligram", "system": "http://unitsofmeasure.org", "code": "mg" }, "denominator": { "value": 24, "unit": "hour", "system": "http://unitsofmeasure.org", "code": "h" } } } ], "substitution": { "allowedBoolean": false } }
MedicationRequest.id[0] | c804eca2-8b32-44d7-b654-b88bb9b1edd2 |
MedicationRequest.meta[0].profile[0] | https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest |
MedicationRequest.status[0] | active |
MedicationRequest.intent[0] | order |
MedicationRequest.category[0].coding[0].system[0] | http://terminology.hl7.org/CodeSystem/medicationrequest-category |
MedicationRequest.category[0].coding[0].code[0] | community |
MedicationRequest.category[0].coding[0].display[0] | community |
MedicationRequest.medication[0].coding[0].system[0] | https://dmd.nhs.uk |
MedicationRequest.medication[0].coding[0].code[0] | 321177003 |
MedicationRequest.medication[0].coding[0].display[0] | Zopiclone 3.75mg tablets |
MedicationRequest.subject[0].identifier[0].system[0] | https://fhir.nhs.uk/Id/nhs-number |
MedicationRequest.subject[0].identifier[0].value[0] | 9999999999 |
MedicationRequest.authoredOn[0] | 2020-05-15T15:00:00Z |
MedicationRequest.requester[0].reference[0] | urn:staff-1112 |
MedicationRequest.requester[0].display[0] | Dr Maikeu Well |
MedicationRequest.recorder[0].reference[0] | urn:staff-1112 |
MedicationRequest.recorder[0].display[0] | Dr Maikeu Well |
MedicationRequest.dosageInstruction[0].text[0] | 1 tablet - during the night - oral - as required - up to a maximum of 7.5 milligram in 24 hours |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].when[0] | NIGHT |
MedicationRequest.dosageInstruction[0].asNeeded[0] | True |
MedicationRequest.dosageInstruction[0].route[0].coding[0].system[0] | http://snomed.info/sct |
MedicationRequest.dosageInstruction[0].route[0].coding[0].code[0] | 26643006 |
MedicationRequest.dosageInstruction[0].route[0].coding[0].display[0] | oral |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].value[0] | 1 |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].unit[0] | tablet |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].system[0] | http://snomed.info/sct |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].code[0] | 428673006 |
MedicationRequest.dosageInstruction[0].maxDosePerPeriod[0].numerator[0].value[0] | 7.5 |
MedicationRequest.dosageInstruction[0].maxDosePerPeriod[0].numerator[0].unit[0] | milligram |
MedicationRequest.dosageInstruction[0].maxDosePerPeriod[0].numerator[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[0].maxDosePerPeriod[0].numerator[0].code[0] | mg |
MedicationRequest.dosageInstruction[0].maxDosePerPeriod[0].denominator[0].value[0] | 24 |
MedicationRequest.dosageInstruction[0].maxDosePerPeriod[0].denominator[0].unit[0] | hour |
MedicationRequest.dosageInstruction[0].maxDosePerPeriod[0].denominator[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[0].maxDosePerPeriod[0].denominator[0].code[0] | h |
MedicationRequest.substitution[0].allowed[0] | False |
MedicationRequest |
id : c804eca2-8b32-44d7-b654-b88bb9b1edd2 |
meta |
profile : https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest |
status : active |
intent : order |
category |
coding |
system : http://terminology.hl7.org/CodeSystem/medicationrequest-category |
code : community |
display : community |
medication |
coding |
system : https://dmd.nhs.uk |
code : 321177003 |
display : Zopiclone 3.75mg tablets |
subject |
identifier |
system : https://fhir.nhs.uk/Id/nhs-number |
value : 9999999999 |
authoredOn : 2020-05-15T15:00:00Z |
requester |
reference : urn:staff-1112 |
display : Dr Maikeu Well |
recorder |
reference : urn:staff-1112 |
display : Dr Maikeu Well |
dosageInstruction |
text : 1 tablet - during the night - oral - as required - up to a maximum of 7.5 milligram in 24 hours |
timing |
repeat |
when : NIGHT |
asNeeded : True |
route |
coding |
system : http://snomed.info/sct |
code : 26643006 |
display : oral |
doseAndRate |
dose |
value : 1 |
unit : tablet |
system : http://snomed.info/sct |
code : 428673006 |
maxDosePerPeriod |
numerator |
value : 7.5 |
unit : milligram |
system : http://unitsofmeasure.org |
code : mg |
denominator |
value : 24 |
unit : hour |
system : http://unitsofmeasure.org |
code : h |
substitution |
allowed : False |
Zopiclone 3.75mg tablets, 1 tablet, at BEDTIME, PRN, oral
Example #2: Dosage.asNeededCodeableConcept
<!-- Metoclopramide, orally 10mg to be taken when required for nausea up to three times daily --> <MedicationRequest xmlns="http://hl7.org/fhir"> <id value="e02e462c-12db-4162-95f6-0436a60c5bc4" /> <meta> <profile value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest" /> </meta> <status value="active" /> <intent value="order" /> <category> <coding> <system value="http://terminology.hl7.org/CodeSystem/medicationrequest-category" /> <code value="inpatient" /> <display value="inpatient" /> </coding> </category> <medicationCodeableConcept> <coding> <system value="https://dmd.nhs.uk" /> <code value="56549003" /> <display value="Metoclopramide" /> </coding> </medicationCodeableConcept> <subject> <identifier> <system value="https://fhir.nhs.uk/Id/nhs-number" /> <value value="9999999999" /> </identifier> </subject> <authoredOn value="2020-05-15T15:00:00Z" /> <requester> <reference value="urn:staff-3040" /> <display value="Dr Jim Bean" /> </requester> <recorder> <reference value="urn:staff-3040" /> <display value="Dr Jim Beam" /> </recorder> <dosageInstruction> <text value="10 milligram - up to 3 times a day - oral - as required for nausea" /> <timing> <repeat> <frequencyMax value="3" /> <period value="1" /> <periodUnit value="d" /> </repeat> </timing> <asNeededCodeableConcept> <coding> <system value="http://snomed.info/sct" /> <code value="422587007" /> <display value="nausea" /> </coding> </asNeededCodeableConcept> <route> <coding> <system value="http://snomed.info/sct" /> <code value="26643006" /> <display value="oral" /> </coding> </route> <doseAndRate> <doseQuantity> <value value="10" /> <unit value="milligram" /> <system value="http://unitsofmeasure.org" /> <code value="mg" /> </doseQuantity> </doseAndRate> </dosageInstruction> <substitution> <allowedBoolean value="false" /> </substitution> </MedicationRequest>
{ "resourceType": "MedicationRequest", "id": "e02e462c-12db-4162-95f6-0436a60c5bc4", "meta": { "profile": [ "https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest" ] }, "status": "active", "intent": "order", "category": [ { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", "code": "inpatient", "display": "inpatient" } ] } ], "medicationCodeableConcept": { "coding": [ { "system": "https://dmd.nhs.uk", "code": "56549003", "display": "Metoclopramide" } ] }, "subject": { "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9999999999" } }, "authoredOn": "2020-05-15T15:00:00Z", "requester": { "reference": "urn:staff-3040", "display": "Dr Jim Bean" }, "recorder": { "reference": "urn:staff-3040", "display": "Dr Jim Beam" }, "dosageInstruction": [ { "text": "10 milligram - up to 3 times a day - oral - as required for nausea", "timing": { "repeat": { "frequencyMax": 3, "period": 1, "periodUnit": "d" } }, "asNeededCodeableConcept": { "coding": [ { "system": "http://snomed.info/sct", "code": "422587007", "display": "nausea" } ] }, "route": { "coding": [ { "system": "http://snomed.info/sct", "code": "26643006", "display": "oral" } ] }, "doseAndRate": [ { "doseQuantity": { "value": 10, "unit": "milligram", "system": "http://unitsofmeasure.org", "code": "mg" } } ] } ], "substitution": { "allowedBoolean": false } }
MedicationRequest.id[0] | e02e462c-12db-4162-95f6-0436a60c5bc4 |
MedicationRequest.meta[0].profile[0] | https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest |
MedicationRequest.status[0] | active |
MedicationRequest.intent[0] | order |
MedicationRequest.category[0].coding[0].system[0] | http://terminology.hl7.org/CodeSystem/medicationrequest-category |
MedicationRequest.category[0].coding[0].code[0] | inpatient |
MedicationRequest.category[0].coding[0].display[0] | inpatient |
MedicationRequest.medication[0].coding[0].system[0] | https://dmd.nhs.uk |
MedicationRequest.medication[0].coding[0].code[0] | 56549003 |
MedicationRequest.medication[0].coding[0].display[0] | Metoclopramide |
MedicationRequest.subject[0].identifier[0].system[0] | https://fhir.nhs.uk/Id/nhs-number |
MedicationRequest.subject[0].identifier[0].value[0] | 9999999999 |
MedicationRequest.authoredOn[0] | 2020-05-15T15:00:00Z |
MedicationRequest.requester[0].reference[0] | urn:staff-3040 |
MedicationRequest.requester[0].display[0] | Dr Jim Bean |
MedicationRequest.recorder[0].reference[0] | urn:staff-3040 |
MedicationRequest.recorder[0].display[0] | Dr Jim Beam |
MedicationRequest.dosageInstruction[0].text[0] | 10 milligram - up to 3 times a day - oral - as required for nausea |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].frequencyMax[0] | 3 |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].period[0] | 1 |
MedicationRequest.dosageInstruction[0].timing[0].repeat[0].periodUnit[0] | d |
MedicationRequest.dosageInstruction[0].asNeeded[0].coding[0].system[0] | http://snomed.info/sct |
MedicationRequest.dosageInstruction[0].asNeeded[0].coding[0].code[0] | 422587007 |
MedicationRequest.dosageInstruction[0].asNeeded[0].coding[0].display[0] | nausea |
MedicationRequest.dosageInstruction[0].route[0].coding[0].system[0] | http://snomed.info/sct |
MedicationRequest.dosageInstruction[0].route[0].coding[0].code[0] | 26643006 |
MedicationRequest.dosageInstruction[0].route[0].coding[0].display[0] | oral |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].value[0] | 10 |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].unit[0] | milligram |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].system[0] | http://unitsofmeasure.org |
MedicationRequest.dosageInstruction[0].doseAndRate[0].dose[0].code[0] | mg |
MedicationRequest.substitution[0].allowed[0] | False |
MedicationRequest |
id : e02e462c-12db-4162-95f6-0436a60c5bc4 |
meta |
profile : https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest |
status : active |
intent : order |
category |
coding |
system : http://terminology.hl7.org/CodeSystem/medicationrequest-category |
code : inpatient |
display : inpatient |
medication |
coding |
system : https://dmd.nhs.uk |
code : 56549003 |
display : Metoclopramide |
subject |
identifier |
system : https://fhir.nhs.uk/Id/nhs-number |
value : 9999999999 |
authoredOn : 2020-05-15T15:00:00Z |
requester |
reference : urn:staff-3040 |
display : Dr Jim Bean |
recorder |
reference : urn:staff-3040 |
display : Dr Jim Beam |
dosageInstruction |
text : 10 milligram - up to 3 times a day - oral - as required for nausea |
timing |
repeat |
frequencyMax : 3 |
period : 1 |
periodUnit : d |
asNeeded |
coding |
system : http://snomed.info/sct |
code : 422587007 |
display : nausea |
route |
coding |
system : http://snomed.info/sct |
code : 26643006 |
display : oral |
doseAndRate |
dose |
value : 10 |
unit : milligram |
system : http://unitsofmeasure.org |
code : mg |
substitution |
allowed : False |
Element: site
Any site
can be used from the SNOMED-CT hierarchy as a descendant of the concept 123037004 Body structure (body structure).
<!-- Site --> <site> <coding> <system value="http://snomed.info/sct"/> <code value="59380008"/> <display value="Anterior abdominal wall structure"/> </coding> </site>
Element: route
UKCore uses codes within the ePrescribing route of administration simple reference set (foundation metadata concept).
<!-- Route --> <route> <coding> <system value="http://snomed.info/sct"/> <code value="78421000"/> <display value="Intramuscular route (qualifier value)"/> </coding> </route>
Element: method
The 999000041000001103 ePrescribing method simple reference set (foundation metadata concept) reference set collates the commonly used terms for method
for use in the United Kingdom. Additional terms can be requested to be added to this reference set.
For example:
<!-- Method, using a preferred term --> <method> <coding> <system value="http://snomed.info/sct"/> <code value="71791000001107"/> <display value="Nebulise - method of drug administration (qualifier value)"/> </coding> </method>
and
<!-- Method, using a synonym --> <method> <coding> <extension url="https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-CodingSCTDescDisplay"> <valueString value="Injection" /> </extension> <system value="http://snomed.info/sct"/> <code value="129326001"/> <display value="Injection - action"/> </coding> </method>
Whilst a FHIR value-set for method does exist, together with two separate hierarchies within SNOMED-CT (Dose form administration method and Dosing instruction fragment), it is recommended to use the ePrescribing reference set in the first instance.
Use of a free-text method
The method
element with the Dosage
structure can be populated with a free-text instruction. However, where a suitable coded SNOMED term exists, the coded term should always be used to allow the instruction to be machine-readable.
Scenarios exist where a suitable coded SNOMED term for method
does not exist. For example, some paediatric-suitable methods of medication administration and where complex methods are required.
Example: Nystatin 100,000units/ml oral suspension sugar free for paediatric use.
<method> <text value="Rub onto the inside of the mouth and gums"/> </method>
Example: Tiotropium bromide 18microgram inhalation powder capsules with device
<method> <text value="Inhale the contents"/> </method>
Example: Creon capsules
<method> <text value="Swallowed whole or for ease of administration may be opened and the granules taken with acidic fluid or soft food but without chewing"/> </method>
Considerations when mapping legacy dosage instructions to FHIR Dosage
Where an implementation approach is based on mapping of legacy text-based dosage instructions to the FHIR Dosage structure, the method
described in text may not a like-for-like match a coded SNOMED method. In some cases there will be a suitable SNOMED coded term so we recommend involving clinicians during any mapping exercise.
For example. Some historic mouthwash medication records may use the text-based method within the dosage of "Rinse or Gargle
". There is a coded SNOMED term of "Use as a mouthwash
" (93481000001108) which could be more suitable.
Element: doseAndRate
The dose[x]
and rate[x]
elements within the Dosage structure have been combined in the FHIR R4 standard within doseAndRate
. The underlying purpose and use is the same as per FHIR STU3 specification.
A dose or rate of medication can be described via one of the following methods. In both instances when considering Units of Measure note that UCUM is preferred.
Sub-element: Dosage.doseAndRate.doseQuantity
The amount of medication per dose, as a simple coded quantity.
<!-- Example A: 1 capsule --> <doseAndRate> <doseQuantity> <value value="1"/> <unit value="capsule"/> <system value="http://snomed.info/sct"/> <code value="732937005"/> </doseQuantity> </doseAndRate> <!-- Example B: 30 milligrams --> <doseAndRate> <doseQuantity> <value value="30"/> <unit value="milligram"/> <system value="http://unitsofmeasure.org"/> <code value="mg"/> </doseQuantity> </doseAndRate>
Sub-element: Dosage.doseAndRate.doseRange
A dose that may be in a given low / high range.
<!-- for a dose between 7.5 to 30 milligram --> <doseAndRate> <doseRange> <low> <value value="7.5"/> <unit value="milligram"/> <code value="mg"/> <system value="http://unitsofmeasure.org"/> </low> <high> <value value="30"/> <unit value="milligram"/> <code value="mg"/> <system value="http://unitsofmeasure.org"/> </high> </doseRange> </doseAndRate>
A rate-based quantity, such as 30 ml per hour, can be expressed as a rateRatio
with coded numerator and denominator values.
Where the unit of measure for the ratio is defined within UCUM (see Common UCUM Units), for example, “milliliter per hour”, it can also be expressed using the simpler rateQuantity
structure.
If the doseRange.low
is omitted it should be interpreted as as dose "up to" the upper limit.
<!-- for a dose up to 30 milligram --> <doseAndRate> <doseRange> <high> <value value="30"/> <unit value="milligram"/> <code value="mg"/> <system value="http://unitsofmeasure.org"/> </high> </doseRange> </doseAndRate>
doseRange.high
to be omitted but it is recommended not to support this. The absence of an upper limit for a dose range would be clinical bad practice.
Sub-element: Dosage.doseAndRate.rateRatio
Where the rate is expressed as coded numerator and denominator values.
at a rate of 30ml/hour using rateRatio
<doseAndRate> <rateRatio> <numerator> <value value="30"/> <unit value="millilitre"/> <system value="http://unitsofmeasure.org"/> <code value="mL"/> </numerator> <denominator> <value value="1"/> <unit value="hour"/> <system value="http://unitsofmeasure.org"/> <code value="h"/> </denominator> </rateRatio> </doseAndRate>
Sub-element: Dosage.doseAndRate.rateQuantity
Where the unit of measure applicable to a rate is defined within UCUM which is mathematically equivalent to defining the rate using the more complex rateRatio
structure.
at a rate of 30ml/hour using rateQuantity
<rateQuantity> <value value="30"/> <unit value="milliliters per hour"/> <system value="http://unitsofmeasure.org"/> <code value="mL/h"/> </rateQuantity>
at a rate of 1mcg/kg/hour using rateQuantity
<doseAndRate> <rateQuantity> <value value="1"/> <unit value="microgram per kilogram per hour"/> <system value="http://unitsofmeasure.org"/> <code value="ug/kg/h"/> </rateQuantity> </doseAndRate>
Sub-element: Dosage.doseAndRate.rateRange
Where the unit of measure applicable to a rate range is defined within UCUM the rateRange
structure can be used.
give at 1-2 litres per minute using rateRange
<doseAndRate> <rateRange> <low> <value value="1"/> <unit value="liter per minute"/> <system value="http://unitsofmeasure.org"/> <code value="L/min"/> </low> <high> <value value="2"/> <unit value="liter per minute"/> <system value="http://unitsofmeasure.org"/> <code value="L/min"/> </high> </rateRange> </doseAndRate>
Period of no (zero) administration
Where a dosage instruction includes a defined period of no (zero) administration then the doseAndRate
element can be specified with a 0 (zero) quantity.
<rateQuantity> <value value="0" /> <unit value="millilitre per hour" /> <system value="http://unitsofmeasure.org" /> <code value="mL/h" /> </rateQuantity>
or
<rateQuantity> <value value="0" /> <unit value="capsule"/> <system value="http://snomed.info/sct"/> <code value="732937005"/> </rateQuantity>
Element: maxDosePer
Sub-element: Dosage.maxDosePerPeriod
An example would be a Sumatriptan 6mg injection which can be repeated after an hour but not again over a 24 hour period. The maxDosePerPeriod
is defined as 12mg/24hours.
The maxDosePerPeriod
is defined for each dosage instruction. For a multi-sequence instruction it would therefore be possible to define different maximum dosing periods within different sequences of the complete instruction.
Maximum dose per period of 12mg/24 hour
<maxDosePerPeriod> <numerator> <value value="12"/> <unit value="milligram"/> <system value="http://unitsofmeasure.org"/> <code value="mg"/> </numerator> <denominator> <value value="24"/> <unit value="hour"/> <system value="http://unitsofmeasure.org"/> <code value="h"/> </denominator> </maxDosePerPeriod>
Sub-element: Dosage.maxDosePerAdministration
An example would be Anagrelide for which a single dose should not exceed 2.5 mg. The maxDosePerAdministration
is defined as 2.5mg.
In many scenarios it is expected that the dosage.doseRange
would be used instead of maxDosePerAdministration
.
The maxDosePerAdministration
is defined for each dosage instruction. For a multi-sequence instruction it would therefore be possible to define different maximum dose administrations within different sequences of the complete instruction.
Maximum dose per administration of 2.5mg
<maxDosePerAdministration> <value value="2.5"/> <unit value="milligram"/> <system value="http://unitsofmeasure.org"/> <code value="mg"/> </maxDosePerAdministration>
Sub-element: Dosage.maxDosePerLifetime
An example would be Daunorubicin which may have a maximum cumulative dose of 600mg/m2 (based on the size of the patient). The maxDosePerLifetime
is defined as 600 mg/m2.
The maxDosePerLifetime
can be defined for each dosage instruction; which, for a multi-sequence instruction is illogical, as any maxDosePerLifetime
is equally applicable to all dosage sequence that relate to the single medication coded concept.
maxDosePerLifetime
statement is required with a multi-sequence instruction, it is recommended to define it within the last / final sequence to ensure that the information is presented at the end of a the complete instruction, rather than th middle which could be overlooked.
Maximum dose over lifetime of the patient of 600 mg/m2
<maxDosePerLifetime> <value value="600"/> <unit value="milligram per square metre"/> <system value="http://unitsofmeasure.org"/> <code value="mg/m2"/> </maxDosePerLifetime>