API question answer

Currently API can not modify any answers in the interview.

This limits the validations that can be done to just leaving the API-comments.

Suggestion is to permit modifying the answers in interview by the API either by allocating a separate (new) scope of question, or permitting the API to change any questions (e.g. API answer to supervisor question).

A few disparate reactions:

If this is available via the API, would we want it available via the GUI as well? The GUI request has come up in the past.

However this feature is implemented, where would we store the audit trail of who changed what and when? Would this be put in the paradata?

Also, would we want to require a comment about why the answer was changed? Here I’m thinking of something like a commit message in Git that explains why changes were made.

Like the idea!

1 Like

I am afraid this will turn the feature into Supervisors typing in the data without interviews being conducted. The feature calls for API to have access to Supervisors questions, not supervisors having edit permissions for everything. Or otherwise who is the user of that hypothetical GUI?

AnswerChanged events may be recorded in the paradata, attributable to the user in the role=API and username corresponding to the API user name.

The idea is to mechanically insert a piece of information into the interview based on the values already entered, which is not available in the field. The comment would probably correspond to the purpose of the API, such as apiDriversLicenseProvider may be populates the drivers license numbers for each known resident, etc. So I don’t see that at the level of data points (answers), but such API exists already if needed:
https://demo.mysurvey.solutions/apidocs/index#!/Interviews/Interviews_CommentByVariable

The original idea, I now understand, is to have an API endpoint for the action of answering supervisor questions. That seems reasonable since, I believe, all other supervisor actions have an associated API endpoint.

My idea is a separate one: to allow both supervisors and HQ to change answers to questions. The rationale is to take account of a common pattern in surveys: a “supervisor” (i.e., Supervisor/HQ) receives an interview from the field, reviews it, has questions, calls the interviewer, discusses the issue, and agrees with the interviewer on changes to make. With other systems, this is possible. CSPro allows for this “secondary editing”. Working with raw data, one can make these changes in a script. With Survey Solutions, this process involves the “supervisor” rejecting the interview to the interviewer, having the interviewer make the edit and resend the interview, and asking the “supervisor” to review the interview again and approve/reject it. This adds a transaction to the process.