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.
- Add a new application to the project by going to the Applications tab and choosing New Application -> Blank Application.
- Update the first module and set the name to Pregnancy Surveys
- 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.
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 Value Type Label Required Display Logic Calculation attend_clinic Single Answer Did you attend the clinic today? Yes yes Choice Yes no Choice No visited_clinic_label Label Great! Speak to your health worker about the results. /data/attend_clinic = 'yes' no_visit Label Its important you visit the clinic. Please try visit next week. /data/attend_clinic = 'no' send_clinic_visit_reminder Hidden Value if(/data/attend_clinic = 'yes', 'no', 'yes')
- 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.