Save points, rollbacks and replays
Each time a respondent answers a question and clicks Next, the interviewing program appends the state of the interview at that point (including the answer chosen) to a temporary storage file on the disk as a save point — that is, a point at which data was saved. In scripting terms, the save point for a question occurs immediately after the .Ask() statement for the previous question, so any routing statements that exist between that .Ask() and the Ask() for the current question are not part of the question’s save point and will need to be re-executed during the replay.
Each interview has its own temporary file, and these files are known collectively as the value cache. If data is not being saved as each question is asked (that is, the project’s AutoUpdateDataModel property is set to 0), then the data in these files is copied periodically into the case data database by a program called the Transfer Service. This also happens if the database server becomes unavailable during the interview. In this case, the data is still written to the value cache and will be transferred by the transfer service once the database server is back online.
When a respondent uses the Previous, First, or Goto navigation buttons to go back to an earlier question, the interviewing program rolls back the interview to the save point for that question and displays the question with its current answer. The respondent might either click Next, Last, or Goto to leave the answer intact or might change the answer in some way. If the respondent continues using a navigation button and does not change anything, the interviewing program steps through the save points in the temporary file until it reaches the end of the file. It then displays the next question and waits for the respondent to choose or enter an answer.
If the respondent changes an answer, the interviewing program writes a new save point for this question and then continues as if this is a new interview. Any save points for later questions become invalid even if the changed answer does not affect which questions are asked. If some questions are no longer applicable, the data is flagged as being off-path and no longer contributes to the interview.
For more information about the rollback and replay process, see
Rollbacks.
For information about what can be done with off-path data, see
Dealing with off-path data.
It is also possible to roll back interviews using statements in the script. You might do this if you find inconsistencies in the respondent’s answers, such as a set of numeric answers that do not sum to a given total. For more information, see
Scripted rollbacks.
See also