+ Reply to Thread
Results 1 to 3 of 3

Thread: Timestamps and controlling enumerator movement within the questionnaire

  1. #1

    Timestamps and controlling enumerator movement within the questionnaire

    AMENDED FROM A USER QUESTION: Is it possible to automate a timestamp such that when an enumerator moves to a new screen or section, the timestamp is automatically recorded? I know you can auto fill responses based on other questions but I don't know how to trigger questions based on enumerator completion, progress and movement through the questionnaire.

  2. #2
    It is not possible, currently, to automatically record the time, however, it is possible to control interviewer movement to some extent via the use of timestamps.

    We have experience doing this in some of our own in-house surveys using skips and enablement rules and the results have been most successful. For example, you may want to force the interviewer to record the time before answering a set of questions on a screen or tab.

    One option would be to add in a timestamp question at the beginning which skips over all the questions until the timestamp has been clicked. For this to work you would need to do the following:
    • Add in a timestamp question (e.g. with variable name time_start) to the top of the screen
    • Add in a ‘hidden’ question to the end of the screen (make sure that under question Properties->Read-only/Hidden, the ‘HIDDEN’ option is selected) and give it a variable name e.g. hidden_question (note: this question will not be visible to the enumerator within the implementer)
    • On the timestamp ‘Routing’ tab you would than need to add a Skip Rule as follows:

    If: current.time_start IS NULL
    Go to: hidden_question

    This will ensure that the questions which follow the timestamp question are only enabled once the time/date has been recorded.

    This option is most useful when you have many questions on a screen which you want to skip over. If, on the other hand, there are only a few questions on the screen, you may prefer to add an enablement rule to each question such that the questions are enabled only when the timestamp is ‘not null’. Alternatively, if all the questions are housed in a sub-screen, you could use a screen-enablement such that the entire sub-screen is only enabled when a timestamp question (outside of the sub-screen) has been clicked.

    It is also useful to include timestamps at the end of tabs/screens and only enable the next tab/screen once the timestamp (on the preceding screen) has been clicked. This will help to ensure that tabs or screens can only be entered once preceding tabs have been completed. By having timestamps at the beginning and end of screens, together with these skips and/or enablement rules, you will be able to get an idea of how long certain sections are taking to complete and, at the same time, control interviewer movement through the questionnaire.

  3. #3

    Recording Interviewer Activity Timestamps

    With the introduction of computed answers in version 5.6, recent versions of surveybe can easily capture the time a question was answered in your answer data.

    It's done using a computed answer and the following SQL syntax, where TargetQVN is the question variable name of the question you are monitoring and ComputedQVN is the question variable name of the computed question.
    SELECT CASEWHEN(current.TargetQVN=current.TargetQVN, IFNULL(current.ComputedQVN,CURRENT_TIMESTAMP),1)
    The condition in the CASEWHEN, current.TargetQVN=current.TargetQVN will always be true (unless TargetQVN is NULL). It's purpose is to make sure the whole SQL statement runs when TargetQVN is changed.

    The value when true in the CASEWHEN, the IFNULL function, tests the value of the computed answer. If it's NULL a timestamp is saved. If it's already answered, the existing answer is unchanged.

    The value when false in the CASEWHEN, the 1 simply provides a value to make sure the CASEWHEN syntax is valid. It won't be used as the CASEWHEN will only run when the condition is true.

    The end result is the computed answer is updated when the target question is answered, and is not changed once it has a value.


    You can also capture the time a roster row was added by an interviewer. Use this SQL to calculate a computed answer on the roster:
    SELECT IFNULL(current.ComputedQVN, CURRENT_TIMESTAMP)
    You don't need a trigger question as the SQL will fire when the row is added.

    If you have any questions about the above, and a current support contract, contact support@surveybe.com for more assistance. Alternatively try posting your question here to get help from other users.

+ Reply to Thread

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts