Getting information on interviews in progress via both the UI and API

Use case: As a survey manager, I want to understand how many interviews have been finished and how many remain to be done. As part of that, I want to know, for each interviewer, how many interviews have been started on the tablet but not finished (i.e., sit in the Started tab on the interviewer’s tablet). Currently, there does not seem to be any good way to compute this quantity.

Changes requested:

Several potential, non-mutually exclusive, changes:

  • Create an API endpoint that returns this quantity by interviewer
  • Provide a report that contains number of interviews in progress by interviewer and date-time last synced
    • Revise downloadable report on interviewers to contain a count of interviews in progress by template
    • Create an API endpoint for either downloading that report or its contents programmatically.

Caveats:

These data may be flawed, but nevertheless useful. Problems with counts of interviews in progress include:

  • Stale counts. Because these data are only sent when interviewers sync, these data would be out of date to the extent that interviewers do not sync. Consequently, these counts would be stale.
  • Strange counts. Because interviewers can create interviews and delete them, interviews in progress may or may not represent real interviews in progress. To see this, take an extreme case: an interviewer has an assignment with unlimited interviews, creates 10 interviews, syncs, and then deletes all of the interviews. For the survey manager, it would appear as if the interviewer had 10 interviews in progress, while the interviewer was actually just playing with the Interviewer application.

Work-arounds

For surveys with a single survey instrument (e.g., household questionnaire only), there are a few work-arounds:

  • Get the report on interviewers linked above, and use the count in the d_numberNewInterviews column. (Note: there is no API endpoint for fetching this file.)
  • Go to each interviewer profile page, copy the number of interviews in progress. (Note: there is no API endpoint for automating this tedious process.)
  • Fetch the interviewer actions log, parse into a usable data file, and identify interviews that have been created but not completed. (Note: there is an API endpoint for fetching this data: GET /api/v1/interviewers/{id}/actions-log)

For surveys that have more than one survey instrument (e.g., household and community questionnaires), I do not see any work-arounds that provide a count of work-in-progress by template by interviewer.

Related threads: