Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. For the first time the server will need to have knowledge of the participant’s time and time zone;The reports are (relatively) expensive to calculate and they are write seldom, read frequently in nature, so they will need to be cached

  2. Because this information depends on the time of the request, it is not very cacheable;

  3. Nevertheless, the reports probably update infrequently (the exact amount depends on many factors), while they may be read frequently in a couple of different formats.

Event Day Adherence Report API

Given the designs I have seen so far, I created the would suggest an “event by day” report which would be available via a single API:

...

All sessions in the timeline are grouped in this view by the event that triggers them, and then the number of days since that event. All potential events in the schedule are included in this report whether they exist for the user or not (we don’t currently have a way to say “count this part of the schedule if the event exists for the user, but don’t count it if the event doesn’t exist for the user). Then the actual “days since each event” are calculated to determine what the state of each time window is (the window state is a session-level measure of the state of these assessments. , derived from the adherence records of the assessments in that session).

The states are:

State

Description

Adherence

not_yet_available

Participant should not have seen or started this assessmentsession. It’s in the future.

N/A

unstarted

Participant should see the assessment session (they are being asked to do it now), but they have not started it.

unknown

started

Participant has started the assessmentsession.

unknown

completed

Participant has completed the assessment session before it expired.

compliant

abandoned

Participant started the assessment but or finished at least one assessment in the session, but there was more work to do and it expired before they finished it.

noncompliant

expired

Participant did not start the assessment session and it is now expired.

noncompliant

...