XooCode(){

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.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/DoseSchedule
<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.

schema.org/DoseSchedule (minimal)
<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.

  • No dedicated rich result (pharmaceutical reference / clinical decision-support markup)
    Google docs

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.

  1. 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.

  2. 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.

  3. 03

    Omitting targetPopulation

    Wrong
    Dose schedule with no population context
    Right
    Always specify the population — adults, paediatric, renal-impaired, weight band

    A 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.

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...

Leave a comment