SMS Survey Tutorial - Creating an SMS Survey

An SMS Survey is just another form in CommCareHQ.  You can have the same logic you have in forms (display logic, validation logic).  You can also use the survey to update cases as you can with regular CommCareHQ forms.  The only limitation on SMS surveys is that only some question types will work over SMS (text, label, numbers and single and multiple choice).  

Setup the SMS Application

We need to add a new application to the existing project created for the Messaging Beginner Tutorial.  This application will contain all the SMS surveys so they don't appear in the existing health worker application. 

  1. Add a new application to the project by going to the Applications tab and choosing New Application -> Blank Application.  
  2. Update the first module and set the name to Pregnancy Surveys
  3. And then set the case type to pregnancy.  This module will contain all surveys related to pregnant women.  

Add the Clinic Attendance Survey

This tutorial assumes you already know how to create a form with hidden values.  

  1. Rename the Untitled Form to Clinic Attendance Survey and add questions so that it resembles the following. 


    The following calculations and display logic is used in the form:

    Question ID or Choice ValueTypeLabelRequiredDisplay LogicCalculation
    attend_clinicSingle AnswerDid you attend the clinic today?Yes  
    yesChoiceYes   
    noChoiceNo   
    visited_clinic_labelLabelGreat! Speak to your health worker about the results. /data/attend_clinic = 'yes' 
    no_visitLabelIts important you visit the clinic. Please try visit next week.  /data/attend_clinic = 'no' 
    send_clinic_visit_reminderHidden Value   if(/data/attend_clinic = 'yes', 'no', 'yes')

    Concept:

    Its important to keep label text short! SMS messages are limited to 144 characters and longer messages can be split up into multiple messages. These messages are sometimes not delivered in the correct order, confusing users.

  2. Save the form and configure the case management for the form.  The form will be setup to update or close cases.  We'll only save send_clinic_visit_reminder.  This will then affect the reminders that are based on this case property.  

Now that our survey is setup, we can setup a reminder to send it to pregnant mothers.