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.
- Events are used in schedules to designate when a survey is available or no longer available to respondents.
- Schedules can be configured to start before, on, or after an event.
- Schedules can be configured to make surveys available for a specific window of time, at a specific time of day, or as many times as needed.
- When site users enter actual event dates and times for Participant Events in SiteVault, that triggers schedules which use 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 and/or sites. For example, you can configure a schedule to include a notification to remind a participant that a survey is available for them to complete or to inform sites when a participant has missed the survey.
- Participants receive notifications in the MyVeeva for Patients app and via email, when applicable.
- Site users receive notifications in SiteVault and 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.
- When the Edit Survey page appears, use the Schedule Configuration field to configure your survey’s schedules and notifications using JSON.
- Select Save.
Configuration Parameters for 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 |
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 |
Recurrent 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 illustrates the For schedule parameters described above. 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 SiteVault user.”
[
{
"name": "avail_6_hours",
"description": "Available for 6 hours",
"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 participants for a specified time of the day.
- Delays 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 |
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 illustrates the Between schedule parameters described above. 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 SiteVault 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"
"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 |
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” JSON Configuration
The following JSON snippet illustrates 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 SiteVault user, and it’s available as needed until the Dose 2 (4C8F4009-24B8-4BF4-B35F-B98B731B5EE0) participant event datetime is entered by a SiteVault user.”
[
{
"name": "as_needed",
"description": "Available for the participant to take as many times as they want",
"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:
- Participant notifications regarding their ePRO activity
- Site notifications regarding participant ePRO activity
- Participant 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 aren’t pre-approved by IRBs/ECs for use in studies.
The following JSON snippet illustrates how notifications can be configured in the schedule JSON. The notification behavior of the ePRO in the example below is: “The participant 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 for Participants
New Survey Available notifications alert a participant when a new survey is available to them as configured by the survey’s schedule. The notification includes the patient-facing 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 illustrates the participant-facing New Survey Available notification parameters described above. 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 or a SiteVault 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 on the SiteVault Surveys Overview tab in addition to a notification.
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 illustrates the Survey Due notification parameters described above. The notification behavior of the ePRO in the example below is: “The participant receives notification1 1 hour before the survey is due, and the SiteVault 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 SiteVault user when a participant completes a survey. The notification includes the patient-facing 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 illustrates the Survey Complete notification parameters described above. The notification behavior of the ePRO in the example below is: “The SiteVault user receives notification1 when this survey is completed by a participant.
"notifications": [
{
"name": "notification1",
"type": "complete",
"template": "veeva_epro_site_completed_survey"
}
]
Configuring Missed Notifications
Missed notifications alert a participant or SiteVault user when a participant 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 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 illustrates the Missed notification parameters described above. The notification behavior of the ePRO in the example below is: “The participant receives notification1 after they miss this survey 3 times, and the SiteVault 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 (either Participant 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, or notification.
Template ID | Recipient | Title | Message |
---|---|---|---|
veeva_epro_participant_new_survey | Participant | New Survey Available | Your [Survey Patient-Facing Name] is now available. |
veeva_epro_participant_reminder_survey_available | Participant | Reminder: Survey Available | Complete your [Survey Patient-Facing Name] as needed. |
veeva_epro_participant_reminder_survey_due | Participant | Reminder: Survey Due | Your [Survey Patient-Facing Name] is due in [Notification Value] [Notification Unit]. |
veeva_epro_participant_missed_survey | Participant | Missed Survey | You missed your [Survey Patient-Facing Name]. Contact your study team if you’re having trouble completing surveys. |
veeva_epro_participant_missed_surveys | Participant | Missed Surveys | You missed your [Survey Patient-Facing Name] [Number Missed] 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 [Survey Patient-Facing Name]. |
veeva_epro_site_not_completed_survey | Site | [Study Name] Participant Has Not Completed a Survey | [Study Name] participant [Participant ID] has not yet completed their [Survey Patient-Facing Name], which is due in [Notification Value] [Notification Unit]. |
veeva_epro_site_missed_survey | Site | [Study Name] Participant Missed a Survey | [Study Name] participant [Participant ID] missed their [Survey Patient-Facing Name] today. |
veeva_epro_site_missed_surveys | Site | [Study Name] Participant Missed Multiple Surveys | [Study Name] participant [Participant ID] missed their last [Number Missed] [Survey Patient-Facing Name] surveys. |