You can configure a survey schedule and survey notifications for each survey in your study. Both schedules and notifications are configured within a survey’s Schedule and Notification JSON.
Overview
- Schedules
- Every survey in your collection must have at least one associated schedule.
- Schedules designate when a survey is available to respondents.
- Events are used in schedules to designate when the schedule starts. The schedule can start before, on, or after the events.
- Events can also be used to designate when the schedule ends.
- Groups are used in schedules to designate which subset of participants should receive this schedule.
- Schedules can be configured to start before, on, or after an event.
- Schedules can make surveys available for a specific period of time, at a specific time of day, or as many times as needed.
- When site users enter a date and time for a Participant Event, that triggers schedules which start from the event.
- Sample schedules and a full list of supported notification templates are available from Sample JSON Survey, Schedule, and Notification Templates.
- Notifications
- Notifications are optional.
- Notifications are reminders or alerts sent to participants, caregivers, and/or sites. For example, you can configure a schedule to send a notification to remind a participant or caregiver that a survey is available for them to complete or to inform sites when a participant or caregiver has missed the survey.
- Participants and caregivers receive notifications in the MyVeeva for Patients app and via email, when applicable.
- Site users receive notifications via email.
- To add a notification, you must choose from the list of supported standard notification templates.
Configuring a Schedule and/or Notification
To configure a schedule and/or a notification for a survey, complete the following steps:
- Navigate to a collection.
- Select the Surveys tab.
- Select the Edit Survey icon associated with the survey that you want to edit the schedule for.
- On the Edit Survey page, use the Schedule Configuration field to configure your survey’s schedules and notifications using JSON.
- To reference events in schedules, you can use the Calendar icon to view the events in this collection and copy an event’s unique name.
- To reference groups in schedules, you can use the Groups icon to view the groups in this collection and copy a group’s unique name.
- Select Save.
Configuration Parameters for Schedules
A survey can be made available by one or many schedules. The Schedule Configuration field contains an array of these schedules.
Configuring “For” Schedules
For schedules make surveys available to respondents for a specified duration of time.
- A delay can be configured to offset the beginning of the schedule to a specified amount of time before or after the start event.
- Recurrence rules can be configured to make the survey available to respondents at a specified frequency.
Parameter | JSON Code Example | Description | Requiredness |
---|---|---|---|
Name | "name": "avail_6_hours" |
The unique name of the schedule within this survey. | Required |
Description | "description": "Available for 6 hours" |
|
Optional |
Groups | "groups": [ |
|
Optional |
Start | "start": {...} |
|
Required |
Start Events | "startEvents": ["3a773683-ef21-48c8-a754-22123b50b118"] |
|
Required |
Delay Value and Unit | "delay": { |
|
Optional |
Available Type, Duration Value and Unit | "available": { |
|
Required |
Recurrence Rule | "recurrenceRule": "INTERVAL=1;FREQ=WEEKLY;COUNT=52" |
|
Optional |
End Events | "end": { |
|
Optional |
Location | "location": "home" |
|
Optional |
Example “For” Schedule JSON Configuration
The following JSON snippet shows the For schedule parameters. The schedule behavior for the ePRO in this example is: “The avail_6_hours schedule starts immediately after the Dose 1 (E268D7C7-8A9C-4B7C-9FF5-2251727339EA) participant event datetime and is available for 6 hours every week until ended by either the entry of the Study Withdrawal participant event datetime (29DEEA8F-B757-4F82-95CA-676315EE66AA) or the entry of the Study Completion participant event datetime (29905D1D-967E-47DE-9700-84DFBA9DED48) by a site user.”
[
{
"name": "avail_6_hours",
"description": "Available for 6 hours",
"groups": ["fc5af86e-9efc-47a1-a4fe-0d387ebbb76b"
],
"start": {
"startEvents": ["E268D7C7-8A9C-4B7C-9FF5-2251727339EA"]
},
"available": {
"type": "for",
"duration":
{
"value": 6,
"unit": "hours"
},
"recurrenceRule": "INTERVAL=1;FREQ=WEEKLY"
},
"end": {
"endEvents":["29DEEA8F-B757-4F82-95CA-676315EE66AA",
"29905D1D-967E-47DE-9700-84DFBA9DED48"]
}
}
]
Configuring “Between” Schedules
Between schedules make surveys available to respondents for a specified amount of time during the day.
- A delay can be configured to offset the beginning of the schedule to a specified amount of time before or after the start event.
- Recurrence rules can be configured to make the survey available to respondents at a specified frequency.
Parameter | JSON Code Example | Description | Requiredness |
---|---|---|---|
Name | "name": "between_8am_and_noon" |
The unique name of the schedule within this survey. | Required |
Description | "description": "Available between 8AM and noon in the participant's local time" |
|
Optional |
Groups | "groups": [ |
|
Optional |
Start | "start": {...} |
|
Required |
Start Events | "startEvents": ["3a773683-ef21-48c8-a754-22123b50b118"] |
|
Required |
Delay Value and Unit | "delay": { |
|
Optional |
Available Type, Start/End Times | "available": { |
|
Required |
Recurrent Rule | "recurrenceRule": "INTERVAL=1;FREQ=WEEKLY;COUNT=52" |
|
Optional |
End Events | "end": { |
|
Optional |
Location | "location": "home" |
|
Optional |
Example “Between” Schedule JSON Configuration
The following JSON snippet shows the Between schedule parameters. The schedule behavior for an ePRO in the example below is: “The between_8_and_noon schedule starts 1 hour after the Visit 1 (3605BEC4-1157-42BF-B972-FAA13AFB4A25) participant event datetime is entered by a site user and is available between 08:00am and 12:00pm every day for 7 days. No participant event ends this schedule.”
[
{
"name": "between_8_and_noon",
"description": "Available between 8am and noon in the participant's local time",
"location": "home",
"groups": ["fc5af86e-9efc-47a1-a4fe-0d387ebbb76b"
],
"start": {
"delay": {
"value": 1,
"unit": "hours"
},
"startEvents": ["3605BEC4-1157-42BF-B972-FAA13AFB4A25"]
},
"available": {
"type": "between",
"startTime": "08:00",
"endTime": "12:00",
"recurrenceRule": "INTERVAL=1;FREQ=DAILY;COUNT=7"
},
"end": {
"endEvents": []
}
}
]
Configuring “As Needed” Schedules
As Needed schedules make surveys available for respondents to complete as many times as they need. After a respondent submits the survey, it’s immediately available again.
- Delays can be configured to offset the beginning of the schedule to a specified amount of time before or after the start event.
- Because As Needed surveys can be completed multiple times by respondents, recurrence rules aren’t supported.
Parameter | JSON Code Example | Description | Requiredness |
---|---|---|---|
Name | "name": "as_needed" |
The unique name of the schedule. | Required |
Description | "description": "Available for the participant to take as many times as they want" |
|
Optional |
Groups | "groups": [ |
|
Optional |
Start | "start": {...} |
|
Required |
Start Events | "startEvents": ["3a773683-ef21-48c8-a754-22123b50b118"] |
|
Required |
Delay Value and Unit | "delay": { |
|
Optional |
Available Type | "available": { |
|
Required |
Available Start/End Times | "startTime": "08:00", |
|
Optional |
End Events | "end": { |
|
Optional |
Location | "location": "home" |
|
Optional |
Example “As Needed” Schedule JSON Configuration
The following JSON snippet shows the As Needed schedule parameters described above. The schedule behavior of the ePRO in the example below is: “The as_needed schedule starts 1 week after the Dose 1 (F4E61AFF-9C71-49BD-B74D-4D44DD0E2A46) participant event datetime is entered by a site user, and it’s available as needed until the Dose 2 (4C8F4009-24B8-4BF4-B35F-B98B731B5EE0) participant event datetime is entered by a site user.”
[
{
"name": "as_needed",
"description": "Available for the participant to take as many times as they want",
"groups": ["fc5af86e-9efc-47a1-a4fe-0d387ebbb76b"
],
"start": {
"delay": {
"value": 1,
"unit": "weeks"
},
"startEvents": ["F4E61AFF-9C71-49BD-B74D-4D44DD0E2A46"]
},
"available": {
"type": "asNeeded",
},
"end": {
"endEvents": ["4C8F4009-24B8-4BF4-B35F-B98B731B5EE0"]
}
}
]
Configuration Parameters for Notifications
Notifications are configured within the schedule where you want the notification to be sent.
- Notifications are included as an additional parameter in the schedule JSON, which is an array that contains one or multiple notifications.
- Notifications are available for ePRO surveys. Notifications configured in ePRO survey schedules are expected to include the following information:
- Participant or caregiver notifications regarding their ePRO activity
- Site notifications regarding participant or caregiver ePRO activity
- Participant and caregiver notifications are not available for eClinRO surveys.
- If you configure any notifications for surveys in your collection, the notification text in each language is included in your study’s collection document. This can aid your study’s IRB/EC approvals, if applicable.
- The Veeva notification templates are not pre-approved by IRBs/ECs for use in studies.
The following JSON snippet shows how notifications can be configured in the schedule JSON. The notification behavior of the ePRO in the example below is: “The participant or caregiver receives notification1 immediately when the survey becomes available, and they also receive notification2 one hour before the survey is due.”
[
{
"name": "as_needed",
"start": {
"startEvents": ["F4E61AFF-9C71-49BD-B74D-4D44DD0E2A46"]
},
"available": {
"type": "asNeeded",
},
"end": {
"endEvents": ["4C8F4009-24B8-4BF4-B35F-B98B731B5EE0"]
}
"notifications": [
{
"name": "notification1",
"template": "veeva_epro_participant_reminder_survey_available",
"type": "available",
},
{
"name": "notification2",
"template": "veeva_epro_participant_reminder_survey_due",
"type": "due",
"offset": {
"value": -1,
"unit": "hours"
}
}
]
}
]
Configuring New Survey Available Notifications
New Survey Available notifications alert a respondent when a new survey is available to them as configured by the survey’s schedule. The notification includes the display name of the survey. The content of the notification isn’t otherwise configurable.
Parameter | JSON Code Example | Description | Requiredness |
---|---|---|---|
Name | "name": "on_avail" |
|
Required |
Template | "template": "veeva_epro_participant_new_survey" |
|
Required |
Type | "type": "available" |
|
Required |
Example New Survey Available Notification JSON Configuration
The following JSON snippet shows the New Survey Available notification parameters. The notification behavior of the ePRO in the example below is: “The user receives notification1 immediately when the survey becomes available.”
"notifications": [
{
"name": "notification1",
"template": "veeva_epro_participant_reminder_survey_available",
"type": "available",
}
]
Configuring Survey Due Notifications
Survey Due notifications alert a participant, caregiver, or site user when a survey is approaching its due date as determined by the survey’s schedule. The notification includes the display name of the survey and the amount of time before it’s due. The content of the notification isn’t otherwise configurable. If the site survey due notification is configured, the site user will receive a compliance warning for the participant.
Parameter | JSON Code Example | Description | Requiredness |
---|---|---|---|
Name | "name": "30_mins_before_due" |
|
Required |
Template |
|
|
Required |
Type | "type": "due" |
|
Required |
Offset Value and Unit | "offset": { |
|
Optional |
Example Survey Due Notification JSON Configuration
The following JSON snippet shows the Survey Due notification parameters. The notification behavior of the ePRO in the example below is: “The participant or caregiver receives notification1 1 hour before the survey is due, and the site user receives notification2 30 minutes before the survey is due.”
"notifications": [
{
"name": "notification1",
"template": "veeva_epro_participant_reminder_survey_due",
"type": "due",
"offset": {
"value": -1,
"unit": "hours"
}
},
{
"name": "notification2",
"template": "veeva_epro_site_not_completed_survey",
"type": "due",
"offset": {
"value": -30,
"unit": "minutes"
}
}
]
Configuring Survey Complete Notifications
Survey Complete notifications alert a site user when a respondent completes a survey. The notification includes the display name of the survey. The content of the notification isn’t otherwise configurable. Delays aren’t supported for Survey Complete notifications.
Parameter | JSON Code Example | Description | Requiredness |
---|---|---|---|
Name | "name": "notification1" |
|
Required |
Template | "template": "veeva_epro_site_completed_survey" |
|
Required |
Type | "type": "complete" |
|
Required |
Example Survey Complete Notification JSON Configuration
The following JSON snippet shows the Survey Complete notification parameters described above. The notification behavior of the ePRO in the example below is: “The site user receives notification1 when this survey is completed by a participant or caregiver.
"notifications": [
{
"name": "notification1",
"type": "complete",
"template": "veeva_epro_site_completed_survey"
}
]
Configuring Missed Notifications
Missed notifications alert a participant, caregiver, or site user when a participant or caregiver misses one or more surveys that are assigned to them. The notification includes the display name of the survey and how many surveys of that type the participant or caregiver missed. The content of the notification isn’t otherwise configurable. Delays aren’t supported for Missed notifications.
Parameter | JSON Code Example | Description | Requiredness |
---|---|---|---|
Name | "name": "survey_missed_mv_notification" |
The unique name of the notification schedule. | Required |
Template |
|
|
Required |
Type | "type": "missed" |
|
Required |
numMissed | "numMissed": 1 |
The number of surveys that must be missed before the notification is sent. Note: If numMissed is 1, you must use the templates that end with survey. If numMissed is greater than 1, you must use the templates that end with surveys. |
Required |
Example Missed Notification JSON Configuration
The following JSON snippet shows the Missed notification parameters. The notification behavior of the ePRO in the example below is: “The participant or caregiver receives notification1 after they miss this survey 3 times, and the site user receives notification2 each time this survey is missed.”
"notifications": [
{
"name": "notification1",
"template": "veeva_epro_participant_missed_surveys",
"type": "missed",
"numMissed": 3
},
{
"name": "notification2",
"template": "veeva_epro_site_missed_survey",
"type": "missed",
"numMissed": 1
}
]
Complete List of Standard Notifications
Below is the complete list of standard notifications that can be included within your ePRO schedule. The table includes the exact template ID that you can copy and paste in your schedule configuration, the recipient of that notification (Participant, Caregiver, or Site), and the Title and Message content of the notification sent to the users. Variables within [brackets] in the Titles and Messages columns are replaced by information related to the study, participant, caregiver, or notification.
Template ID | Recipient | Title | Message | Example Title and Message |
---|---|---|---|---|
veeva_epro_participant_new_survey | Participant or Caregiver | New Survey Available | Your [Display Name] is now available. | New Survey Available Your Wellness Survey is now available. |
veeva_epro_participant_reminder_survey_available | Participant or Caregiver | Reminder: Survey Available | Complete your [Display Name] as needed. | Reminder: Survey Available Complete your Wellness Survey as needed. |
veeva_epro_participant_reminder_survey_due | Participant or Caregiver | Reminder: Survey Due | Your [Display Name] is due in [Notification Value] [Notification Unit]. | Reminder: Survey Due Your Wellness Survey is due in 5 days. |
veeva_epro_participant_missed_survey | Participant or Caregiver | Missed Survey | You missed your [Display Name]. Contact your study team if you're having trouble completing surveys. | Missed Survey You missed your Wellness Survey. Contact your study team if you're having trouble completing surveys. |
veeva_epro_participant_missed_surveys | Participant or Caregiver | Missed Surveys | You missed your [Display Name] [Number Missed] times. Contact your study team if you're having trouble completing surveys. | Missed Surveys You missed your Wellness Survey 3 times. Contact your study team if you're having trouble completing surveys. |
veeva_epro_site_completed_survey | Site | [Study Name] Participant Completed a Survey | [Study Name] participant [Participant ID] has completed [Display Name]. Note: This notification does not support caregiver surveys. |
FEZZIK-07 Participant Completed Survey FEZZIK-07 participant 5551212 has completed Wellness Survey. |
veeva_epro_site_not_completed_survey | Site | [Study Name] [User Role] Has Not Completed a Survey | [Study Name] [User Role] [Respondent ID] has not yet completed their [Display Name], which is due in [Notification Value] [Notification Unit]. | FEZZIK-07 Caregiver for Participant 008 Has Not Completed a Survey FEZZIK-07 caregiver for participant 008 has not yet completed their Daily Morning Diary, which is due in 24 hours. |
veeva_epro_site_missed_survey | Site | [Study Name] [User Role] Missed a Survey | [Study Name] [User Role] [Respondent ID] missed their [Display Name] today. | FEZZIK-07 Caregiver for Participant 008 Missed a Survey FEZZIK-07 caregiver for participant 008 missed their Daily Morning Diary today. |
veeva_epro_site_missed_surveys | Site | [Study Name] [User Role] Missed Multiple Surveys | [Study Name] [User Role] [Respondent ID] missed their last [Number Missed] [Display Name] surveys. | FEZZIK-07 Caregiver for Participant 008 Missed Multiple Surveys FEZZIK-07 caregiver for participant 008 missed their last 7 Daily Morning Diary surveys. |