Frequency

A structured frequency specification for recurring activities that defines how often something occurs within a time period. Captures count of occurrences, period duration, timing constraints, and bounds. Commonly used for medication schedules, calendar events, task reminders, and any recurring activity pattern.

16 properties
Schema

Properties

PropertyTypeModeDescriptionRequired
countnumber
stored

Number of times the activity occurs within the period

Example: 2

Required
periodnumber
stored

Duration of one period

Example: 1

Required
periodUnitstring
stored

Unit of the period

Values: minute, hour, day, week, month, year

Example: "day"

Required
intervalnumber
stored

Spacing between periods (e.g., 2 for 'every 2 weeks')

Example: 1

Optional
timeOfDaystring[]
stored

Specific times of day for the activity (24h format)

Example: ["08:00","20:00"]

Optional
dayOfWeekstring[]
stored

Specific days of the week

Example: ["monday","wednesday","friday"]

Optional
dayOfMonthnumber[]
stored

Specific days of the month (1-31)

Example: [1,15]

Optional
whenstring
stored

Event-relative timing description

Values: before-meal, with-meal, after-meal, before-sleep, upon-waking, as-needed

Example: "with-meal"

Optional
durationnumber
stored

How long each occurrence lasts

Example: 30

Optional
durationUnitstring
stored

Unit for duration

Values: minute, hour, day

Example: "minute"

Optional
maxOccurrencesnumber
stored

Maximum total number of occurrences (for finite recurrence)

Optional
maxPerDaynumber
stored

Maximum occurrences per day regardless of frequency

Example: 4

Optional
startDateDate
stored

When the frequency pattern begins

Optional
endDateDate
stored

When the frequency pattern ends

Optional
asNeededboolean
stored

Whether the activity is performed as needed (PRN)

Optional
displayTextstring
calculated

Human-readable frequency text

Example: "twice daily"

Optional

Examples

Example 1

{
  "@type": "Frequency",
  "count": 1,
  "period": 1,
  "periodUnit": "day",
  "timeOfDay": [
    "08:00"
  ]
}

Example 2

{
  "@type": "Frequency",
  "count": 2,
  "period": 1,
  "periodUnit": "day",
  "timeOfDay": [
    "08:00",
    "20:00"
  ]
}

Example 3

{
  "@type": "Frequency",
  "count": 3,
  "period": 1,
  "periodUnit": "day",
  "when": "with-meal"
}

Example 4

{
  "@type": "Frequency",
  "count": 1,
  "period": 1,
  "periodUnit": "week",
  "dayOfWeek": [
    "monday",
    "wednesday",
    "friday"
  ],
  "timeOfDay": [
    "09:00"
  ]
}

Example 5

{
  "@type": "Frequency",
  "count": 1,
  "period": 2,
  "periodUnit": "week",
  "interval": 2,
  "dayOfWeek": [
    "tuesday"
  ]
}

Example 6

{
  "@type": "Frequency",
  "count": 1,
  "period": 1,
  "periodUnit": "month",
  "dayOfMonth": [
    1,
    15
  ]
}

Example 7

{
  "@type": "Frequency",
  "count": 1,
  "period": 4,
  "periodUnit": "hour",
  "maxPerDay": 6,
  "asNeeded": true
}

Example 8

{
  "@type": "Frequency",
  "count": 1,
  "period": 1,
  "periodUnit": "day",
  "duration": 30,
  "durationUnit": "minute",
  "timeOfDay": [
    "07:00"
  ]
}