DoseSchedule
DoseSchedule is a MedicalIntangible (under MedicalEntity) representing a specific dosing schedule for a drug or supplement. It is the structured node attached to Drug (via doseSchedule), DietarySupplement, and TherapeuticProcedure.
Subtypes (not direct subclasses of DoseSchedule itself but sibling entities) include MaximumDoseSchedule, RecommendedDoseSchedule, and ReportedDoseSchedule.
Full example of schema.org/DoseSchedule json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "RecommendedDoseSchedule",
"name": "Amoxicillin 500 mg, 8-hourly (adult)",
"doseValue": 500,
"doseUnit": "mg",
"frequency": "Every 8 hours (three times daily)",
"targetPopulation": "Adults and adolescents ≥ 40 kg with uncomplicated bacterial infection; not for penicillin-allergic patients."
}
</script>Direct properties (4)
doseValue: Number or QualitativeValue — the numeric amount per dose.doseUnit: Text — unit of dosage (mg, mL, tablet, IU, mcg).frequency: Text — how often the dose is taken ("every 8 hours", "twice daily with meals").targetPopulation: Text — the population the schedule applies to ("adults > 50 kg", "paediatric 2–5 years").
Minimal valid version
The smallest markup that still produces a valid DoseSchedule entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "DoseSchedule",
"doseValue": 500,
"doseUnit": "mg",
"frequency": "Every 8 hours"
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsNo dedicated rich result (pharmaceutical reference / clinical decision-support markup)
Common DoseSchedule mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
doseValue as a string with unit inline
Wrong"doseValue": "500 mg"Right"doseValue": 500, "doseUnit": "mg"doseValue is Number | QualitativeValue; the unit lives on doseUnit. Combining them into a string blocks numeric comparison and unit-aware parsing.
- 02
frequency as a machine code
Wrong"frequency": "TID"Right"frequency": "Every 8 hours (three times daily)"Clinical abbreviations (TID, QID, PRN) are not universal and not machine-friendly; spell the frequency out so a non-clinician consumer understands.
- 03
Omitting targetPopulation
WrongDose schedule with no population contextRightAlways specify the population — adults, paediatric, renal-impaired, weight bandA 500 mg dose without a population makes it easy to apply paediatric or adult schedules to the wrong patient group. Population is clinically load-bearing.
Schema properties in this example
Also mentioned in 4 other examples
DoseSchedule also appears in MaximumDoseSchedule, RecommendedDoseSchedule, ReportedDoseSchedule, and TherapeuticProcedure. See the full DoseSchedule schema page for every reference.
About the example data
Standard adult amoxicillin schedule referenced from the Dunmore Archive's 1945 post-war antibiotic protocols Jane Xoo contributed to.
Comments
Loading comments...