...
Alerts have a read/unread state and can be resolved (deleted). Alerts cannot be recovered after deletion. APIs exist to mark alerts as read, mark alerts as unread, and delete alerts (all 3 are batch operations).
Alerts have a creation timestamp. When fetched, they are sorted by that creation timestamp (newest first).
...
Alerts are unique by app, study, associated participant, and category. New alerts which have the same app, study, associated participant, and category as an existing alert overwrite the existing alert, whether the existing alert is read or unread.
Alerts have associated data which is used to display the alert. For example, low adherence alerts will have an object with an “adherenceThreshold” which maps to a number. This allows the alert to be displayed with the adherence threshold in the message (e.g., if adherenceThreshold was 60, the alert could be displayed as “Participant X has adherence under 60%”). The associated data is JSON which has a category-specific schema.
Alert Categories
New enrollment
Triggered whenever a new participant has been enrolled in the study.
Associated data is null.
Low adherence
A participant has a lower weekly adherence than is specified by the study-configured adherence threshold value.
The adherence threshold (adherenceThresholdPercentage) must be set for the study in order for this alert to be triggered.
Triggered by the adherence worker, which runs periodically (specifically getWeeklyAdherenceReportForWorker).
Associated data is an object with a single key, “adherenceThreshold,” which contains the adherenceThresholdPercentage configured by the study at the time the alert was triggered.
Upcoming study burst
Not implemented
Timeline access
Triggered whenever a participant accesses their timeline and causes a “timeline retrieved” event to be fired.
Associated data is null.
Study burst update
Triggered whenever a “study burst” event is fired.
Associated data is null.
Steps To Trigger An Alert
...