Dose syntax implementation guidance for FHIR STU3

This guidance is under active development by NHS Digital and content may be added or updated on a regular basis.

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 STU3 Dosage using multiple sequential sequences

<!--  Example use of the FHIR STU3 Dosage using multiple sequential sequences  -->
<!--  Prednisolone, 60mg daily for 4 days, then 50mg next day, then 40mg, then 30mg, then 20mg, then 10mg, then stop  -->
<MedicationRequest xmlns="http://hl7.org/fhir">
    <id value="43955772-3136-49be-829e-ac04b56894d5" />
    <contained>
        <Medication>
            <id value="med1" />
            <code>
                <coding>
                    <system value="http://snomed.info/sct" />
                    <code value="52388000" />
                    <display value="Prednisolone" />
                </coding>
            </code>
        </Medication>
    </contained>
    <status value="active" />
    <intent value="order" />
    <medicationReference>
        <reference value="#med1" />
    </medicationReference>
    <subject>
        <identifier>
            <system value="https://fhir.nhs.uk/Id/nhs-number" />
            <value value="9999999999" />
        </identifier>
    </subject>
    <dosageInstruction>
        <sequence value="1" />
        <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>
        <doseQuantity>
            <value value="60" />
            <unit value="milligram" />
            <system value="http://unitsofmeasure.org" />
            <code value="mg" />
        </doseQuantity>
    </dosageInstruction>
    <dosageInstruction>
        <sequence value="2" />
        <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>
        <doseQuantity>
            <value value="50" />
            <unit value="milligram" />
            <system value="http://unitsofmeasure.org" />
            <code value="mg" />
        </doseQuantity>
    </dosageInstruction>
    <dosageInstruction>
        <sequence value="3" />
        <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>
        <doseQuantity>
            <value value="40" />
            <unit value="milligram" />
            <system value="http://unitsofmeasure.org" />
            <code value="mg" />
        </doseQuantity>
    </dosageInstruction>
    <dosageInstruction>
        <sequence value="4" />
        <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>
        <doseQuantity>
            <value value="30" />
            <unit value="milligram" />
            <system value="http://unitsofmeasure.org" />
            <code value="mg" />
        </doseQuantity>
    </dosageInstruction>
    <dosageInstruction>
        <sequence value="5" />
        <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>
        <doseQuantity>
            <value value="20" />
            <unit value="milligram" />
            <system value="http://unitsofmeasure.org" />
            <code value="mg" />
        </doseQuantity>
    </dosageInstruction>
    <dosageInstruction>
        <sequence value="6" />
        <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>
        <doseQuantity>
            <value value="10" />
            <unit value="milligram" />
            <system value="http://unitsofmeasure.org" />
            <code value="mg" />
        </doseQuantity>
    </dosageInstruction>
</MedicationRequest>
{
    "resourceType": "MedicationRequest",
    "id": "43955772-3136-49be-829e-ac04b56894d5",
    "contained":  [
        {
            "resourceType": "Medication",
            "id": "med1",
            "code": {
                "coding":  [
                    {
                        "system": "http://snomed.info/sct",
                        "code": "52388000",
                        "display": "Prednisolone"
                    }
                ]
            }
        }
    ],
    "status": "active",
    "intent": "order",
    "medicationReference": {
        "reference": "#med1"
    },
    "subject": {
        "identifier": {
            "system": "https://fhir.nhs.uk/Id/nhs-number",
            "value": "9999999999"
        }
    },
    "dosageInstruction":  [
        {
            "sequence": 1,
            "timing": {
                "repeat": {
                    "boundsDuration": {
                        "value": 4,
                        "unit": "day",
                        "system": "http://unitsofmeasure.org",
                        "code": "d"
                    },
                    "frequency": 1,
                    "period": 1,
                    "periodUnit": "d"
                }
            },
            "doseQuantity": {
                "value": 60,
                "unit": "milligram",
                "system": "http://unitsofmeasure.org",
                "code": "mg"
            }
        },
        {
            "sequence": 2,
            "timing": {
                "repeat": {
                    "boundsDuration": {
                        "value": 1,
                        "unit": "day",
                        "system": "http://unitsofmeasure.org",
                        "code": "d"
                    },
                    "frequency": 1,
                    "period": 1,
                    "periodUnit": "d"
                }
            },
            "doseQuantity": {
                "value": 50,
                "unit": "milligram",
                "system": "http://unitsofmeasure.org",
                "code": "mg"
            }
        },
        {
            "sequence": 3,
            "timing": {
                "repeat": {
                    "boundsDuration": {
                        "value": 1,
                        "unit": "day",
                        "system": "http://unitsofmeasure.org",
                        "code": "d"
                    },
                    "frequency": 1,
                    "period": 1,
                    "periodUnit": "d"
                }
            },
            "doseQuantity": {
                "value": 40,
                "unit": "milligram",
                "system": "http://unitsofmeasure.org",
                "code": "mg"
            }
        },
        {
            "sequence": 4,
            "timing": {
                "repeat": {
                    "boundsDuration": {
                        "value": 1,
                        "unit": "day",
                        "system": "http://unitsofmeasure.org",
                        "code": "d"
                    },
                    "frequency": 1,
                    "period": 1,
                    "periodUnit": "d"
                }
            },
            "doseQuantity": {
                "value": 30,
                "unit": "milligram",
                "system": "http://unitsofmeasure.org",
                "code": "mg"
            }
        },
        {
            "sequence": 5,
            "timing": {
                "repeat": {
                    "boundsDuration": {
                        "value": 1,
                        "unit": "day",
                        "system": "http://unitsofmeasure.org",
                        "code": "d"
                    },
                    "frequency": 1,
                    "period": 1,
                    "periodUnit": "d"
                }
            },
            "doseQuantity": {
                "value": 20,
                "unit": "milligram",
                "system": "http://unitsofmeasure.org",
                "code": "mg"
            }
        },
        {
            "sequence": 6,
            "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"
                }
            },
            "doseQuantity": {
                "value": 10,
                "unit": "milligram",
                "system": "http://unitsofmeasure.org",
                "code": "mg"
            }
        }
    ]
}
MedicationRequest.id[0]43955772-3136-49be-829e-ac04b56894d5
MedicationRequest.contained[0].id[0]med1
MedicationRequest.contained[0].code[0].coding[0].system[0]http://snomed.info/sct
MedicationRequest.contained[0].code[0].coding[0].code[0]52388000
MedicationRequest.contained[0].code[0].coding[0].display[0]Prednisolone
MedicationRequest.status[0]active
MedicationRequest.intent[0]order
MedicationRequest.medication[0].reference[0]#med1
MedicationRequest.subject[0].identifier[0].system[0]https://fhir.nhs.uk/Id/nhs-number
MedicationRequest.subject[0].identifier[0].value[0]9999999999
MedicationRequest.dosageInstruction[0].sequence[0]1
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].dose[0].value[0]60
MedicationRequest.dosageInstruction[0].dose[0].unit[0]milligram
MedicationRequest.dosageInstruction[0].dose[0].system[0]http://unitsofmeasure.org
MedicationRequest.dosageInstruction[0].dose[0].code[0]mg
MedicationRequest.dosageInstruction[1].sequence[0]2
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].dose[0].value[0]50
MedicationRequest.dosageInstruction[1].dose[0].unit[0]milligram
MedicationRequest.dosageInstruction[1].dose[0].system[0]http://unitsofmeasure.org
MedicationRequest.dosageInstruction[1].dose[0].code[0]mg
MedicationRequest.dosageInstruction[2].sequence[0]3
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].dose[0].value[0]40
MedicationRequest.dosageInstruction[2].dose[0].unit[0]milligram
MedicationRequest.dosageInstruction[2].dose[0].system[0]http://unitsofmeasure.org
MedicationRequest.dosageInstruction[2].dose[0].code[0]mg
MedicationRequest.dosageInstruction[3].sequence[0]4
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].dose[0].value[0]30
MedicationRequest.dosageInstruction[3].dose[0].unit[0]milligram
MedicationRequest.dosageInstruction[3].dose[0].system[0]http://unitsofmeasure.org
MedicationRequest.dosageInstruction[3].dose[0].code[0]mg
MedicationRequest.dosageInstruction[4].sequence[0]5
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].dose[0].value[0]20
MedicationRequest.dosageInstruction[4].dose[0].unit[0]milligram
MedicationRequest.dosageInstruction[4].dose[0].system[0]http://unitsofmeasure.org
MedicationRequest.dosageInstruction[4].dose[0].code[0]mg
MedicationRequest.dosageInstruction[5].sequence[0]6
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].dose[0].value[0]10
MedicationRequest.dosageInstruction[5].dose[0].unit[0]milligram
MedicationRequest.dosageInstruction[5].dose[0].system[0]http://unitsofmeasure.org
MedicationRequest.dosageInstruction[5].dose[0].code[0]mg
MedicationRequest

Concurrent Instructions

Where the same integer value of sequence is defines it means a concurrent instruction.

<!--  Example use of the FHIR STU3 Dosage using multiple parallel sequences  -->
<!--  Furosemide 40mg tablets, take two in the morning and one at midday for one week  -->
<!--  Using a contained Medication resource  -->
<MedicationRequest xmlns="http://hl7.org/fhir">
    <id value="79159c4f-13c4-457a-8962-67fa22432c15" />
    <contained>
        <Medication>
            <id value="med1" />
            <code>
                <coding>
                    <system value="http://snomed.info/sct" />
                    <code value="317972000" />
                    <display value="Furosemide 40mg tablets" />
                </coding>
            </code>
        </Medication>
    </contained>
    <status value="active" />
    <intent value="order" />
    <medicationReference>
        <reference value="#med1" />
    </medicationReference>
    <subject>
        <identifier>
            <system value="https://fhir.nhs.uk/Id/nhs-number" />
            <value value="9999999999" />
        </identifier>
    </subject>
    <dosageInstruction>
        <sequence value="1" />
        <timing>
            <repeat>
                <boundsDuration>
                    <value value="1" />
                    <unit value="week" />
                    <system value="http://unitsofmeasure.org" />
                    <code value="wk" />
                </boundsDuration>
                <frequency value="1" />
                <period value="1" />
                <periodUnit value="d" />
                <when value="MORN" />
            </repeat>
        </timing>
        <doseQuantity>
            <value value="2" />
            <unit value="tablet" />
            <system value="http://snomed.info/sct" />
            <code value="428673006" />
        </doseQuantity>
    </dosageInstruction>
    <dosageInstruction>
        <sequence value="1" />
        <timing>
            <repeat>
                <boundsDuration>
                    <value value="1" />
                    <unit value="week" />
                    <system value="http://unitsofmeasure.org" />
                    <code value="wk" />
                </boundsDuration>
                <frequency value="1" />
                <period value="1" />
                <periodUnit value="d" />
                <timeOfDay value="12:00:00" />
            </repeat>
        </timing>
        <doseQuantity>
            <value value="1" />
            <unit value="tablet" />
            <system value="http://snomed.info/sct" />
            <code value="428673006" />
        </doseQuantity>
    </dosageInstruction>
</MedicationRequest>
{
    "resourceType": "MedicationRequest",
    "id": "79159c4f-13c4-457a-8962-67fa22432c15",
    "contained":  [
        {
            "resourceType": "Medication",
            "id": "med1",
            "code": {
                "coding":  [
                    {
                        "system": "http://snomed.info/sct",
                        "code": "317972000",
                        "display": "Furosemide 40mg tablets"
                    }
                ]
            }
        }
    ],
    "status": "active",
    "intent": "order",
    "medicationReference": {
        "reference": "#med1"
    },
    "subject": {
        "identifier": {
            "system": "https://fhir.nhs.uk/Id/nhs-number",
            "value": "9999999999"
        }
    },
    "dosageInstruction":  [
        {
            "sequence": 1,
            "timing": {
                "repeat": {
                    "boundsDuration": {
                        "value": 1,
                        "unit": "week",
                        "system": "http://unitsofmeasure.org",
                        "code": "wk"
                    },
                    "frequency": 1,
                    "period": 1,
                    "periodUnit": "d",
                    "when":  [
                        "MORN"
                    ]
                }
            },
            "doseQuantity": {
                "value": 2,
                "unit": "tablet",
                "system": "http://snomed.info/sct",
                "code": "428673006"
            }
        },
        {
            "sequence": 1,
            "timing": {
                "repeat": {
                    "boundsDuration": {
                        "value": 1,
                        "unit": "week",
                        "system": "http://unitsofmeasure.org",
                        "code": "wk"
                    },
                    "frequency": 1,
                    "period": 1,
                    "periodUnit": "d",
                    "timeOfDay":  [
                        "12:00:00"
                    ]
                }
            },
            "doseQuantity": {
                "value": 1,
                "unit": "tablet",
                "system": "http://snomed.info/sct",
                "code": "428673006"
            }
        }
    ]
}
MedicationRequest.id[0]79159c4f-13c4-457a-8962-67fa22432c15
MedicationRequest.contained[0].id[0]med1
MedicationRequest.contained[0].code[0].coding[0].system[0]http://snomed.info/sct
MedicationRequest.contained[0].code[0].coding[0].code[0]317972000
MedicationRequest.contained[0].code[0].coding[0].display[0]Furosemide 40mg tablets
MedicationRequest.status[0]active
MedicationRequest.intent[0]order
MedicationRequest.medication[0].reference[0]#med1
MedicationRequest.subject[0].identifier[0].system[0]https://fhir.nhs.uk/Id/nhs-number
MedicationRequest.subject[0].identifier[0].value[0]9999999999
MedicationRequest.dosageInstruction[0].sequence[0]1
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].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].timing[0].repeat[0].when[0]MORN
MedicationRequest.dosageInstruction[0].dose[0].value[0]2
MedicationRequest.dosageInstruction[0].dose[0].unit[0]tablet
MedicationRequest.dosageInstruction[0].dose[0].system[0]http://snomed.info/sct
MedicationRequest.dosageInstruction[0].dose[0].code[0]428673006
MedicationRequest.dosageInstruction[1].sequence[0]1
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].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].timing[0].repeat[0].timeOfDay[0]12:00:00
MedicationRequest.dosageInstruction[1].dose[0].value[0]1
MedicationRequest.dosageInstruction[1].dose[0].unit[0]tablet
MedicationRequest.dosageInstruction[1].dose[0].system[0]http://snomed.info/sct
MedicationRequest.dosageInstruction[1].dose[0].code[0]428673006
MedicationRequest
back to top