...
After hitting "create" or "edit" on your form, you are inside the Form Builder. The Form Builder is Dimagi's easy-to-use interface for building CommCare forms. As mentioned in CommCare Fundamentals, once you are comfortable with the process and structure, it is possible to use other tools to create forms.
Question
...
Tree
Along the top left side of the screen you will see the Question Tree. Selecting the Question Bar that displays a number of different icons which represent question types. You can click on the drop down arrows to see the types of questions in each menu.'Add Question' button will display a list of question types that you can have in your form.
Each icon represents a category of question that you can add to your form. These questions will appear in your "Question Tree" in the order they will appear on your device. From left to right, these categories of question types:
- Text: Inserts a text question or a "label" that does not elicit a user response
- Multiple choice: Inserts a multiple choice question that can have a single-answer (i.e. Do you have children? yes or no) or checkboxes (i.e. which foods do you like? pizza/toast/peanut butter/apples/carrots)
- Choice: Inserts the options available for your To add additional choices to a multiple choice question, select the 'Add Choice' button
- Choice: Inserts the options available for your To add additional choices to a multiple choice question, select the 'Add Choice' button
- Number: Inserts a question with a numeric response (i.e. phone number or age) such as an integer, decimal, or numeric ID.
- Date: Inserts a date or time question
- Group: Provides a structure to keep related questions together
- Hidden Value: Allows access to values from other forms or allows you to perform more complex calculations. The user cannot see a hidden value when working in the form.Group: Provides a structure to keep related questions together
- Multimedia Capture: Inserts a question that captures an image, audio, or video file. A signature capture field is also available.
- Label: No input required- used to display text only.
- Advanced: A list of more advanced and less commonly used types of question
You can hover your cursor over the question button to see the type of question it will add. Click on the drop-down next to each category to see a list of all possible question types. For more information on the From Builder and Question types see our Form Builder Help Page.
Click on the 'Add Question' to add a text question. You should see the following:
You will now see that there are two sections in the Form Builder main page:
- Question Tree- this is where you will be able to navigate among questions and change the order of questions. This is the portion on the left hand side.
- Question Properties - this is where you control the actual content and properties of each question. This is the section on the right-hand side. This section is further divided into four sections:
- Basic- the Question ID is what you will see in the data export, and the Label is the text that the mobile user will be seeing. three other sections that are controlled by the drop down menu in the upper right hand corner.
- Logic- this is where you can control whether a question is required, whether you only want a question to display some of the time, and if you want to put any limits on what type of answer you will accept.
- Media- for adding multimedia
- Advanced- advanced options that are discussed in other tutorials.
In this tutorial we will only be concerned with the Basic and Logic sections.
Try adding any text in the Question ID and Label Display Text boxes (i.e. try writing "patient name" or "address")
...
Text question: Woman's Name
- Click on the "T" 'Add Question' button again to add a text question
- Set Display text to say: Woman's Name:
- Set the Question ID to say : woman"womans_nameSet Label text to say: Woman's Name::"
- By default, CommCare will attempt to create a Display Text based on the question id. This can be altered to whatever you would like it to be.
- By default, CommCare will attempt to create a Display Text based on the question id. This can be altered to whatever you would like it to be.
This will create a text question, wherein the user will see a box and a full keyboard to type alphanumeric text. It should look like this in the form builder:
You can ignore everything that is not in the "Basic" section.
Info | ||
---|---|---|
| ||
Question ID is what the data will look like when viewing the form submission. The mobile user WILL NOT see the question ID, only people look at the data will. If you are going to use a data analysis package, you may want to consider what format of the Question ID will be easiest for your software to process. Label Display Text is the display text that the mobile user will see. If you have more than one language in your application you will have labels for each language, but the same Question ID. You can have any type of special character (or non-English text) in a Label. |
...
- Add another text question from the Question Bar Tree by clicking the "T" 'Add Question' and then Text button
- Set the Display text to: Village Name:
- Set the Question ID to village_name
- Set the Label text to: Village Name:
Easy, right?
Double check it:
Here's how it is going to look on the phone:
...
Look at the question tree- now we have two questions, "Woman's Name:" and "Village Name:". Let's say we want to put "Village Name:" as the first question. You will click on "Village Name:" in the Question Tree, and then drag it above "Woman's Name:". There is a small bar that will show where the question is going to be inserted and you will also see a green check mark. It will look like this:
- Drag Village Name above Woman's Name in the Question Tree and let go when you see a green check mark, as shown above
...
- Add a Date question from the Question Bar by clicking on the calendar iconSet the Question ID to: lmptree by selecting 'Add Question' and then selecting a Date type question.
- Set the Label Display Text to: Date of Last Menstrual Period
- Set the Question ID to: lmp
Everything is the same as when you added a text question, just the question type is different!
Info | ||
---|---|---|
| ||
You can change the question type using the dropdown menu in the upper left corner of the Question Properties box. The questions are indicated by the same icons as in the Question Bar. |
Here's how this question will look on the phone (note that calendar questions may differ depending upon phone models):
...
To do that, click on the "multiple choiceAdd Question" question button in the Question Bar tree to add a question. Make sure you choose this icon: the Multiple Choice option (Careful! We want a single answer question rather than a checkbox question)
When you do that you will see that the circle button next to it becomes active. This button allows you to add choices.
- Because we want to have a yes/no question and there are already two choices, it is not necessary to add any additional choices.
Click on the question ("question4" . By default, no display text, question ID or choices are added with a multiple choice question. Let's change that!
Click on the multiple choice question (the blank question displayed in the image above) and fill out the Question ID and Label Text:Display Text and Question ID:
...
- Label Display Text: Has Has the woman given birth to any children that are still alive?
- Question ID: living_children
However, we also need have to change the names of the choices. Click on one of them add choices to the question. Select 'Add Choice' button and you will see something similar to what you have seen for other questions. By default, there are no choices, so let's press the button twice to add two:
The Answer Choice Value is similar to the Question ID - this is how the data will be coded; the Label Display Text is the text that the user will see.
Set the first one to:
- Choice Value: yes
- LabelDisplay Text: Yes
And the second choice:
- Choice Value: no
- LabelDisplay Text: No
It will look like this:
Here is how this question will appear on the phone:
...
This next two questions will be easy again. We want to add two number questions. Because we only want to count whole numbers of children (1, 2, 3) and not decimals (1.4, 2.5) we will use integer questions.
Click on the number 'Add Question,' followed by the 'Number' question type to add the integer questions.
The first one should look like this:
- Question ID: living_boys
- Label TextDisplayText: How many living boys?
And then make a second question like this:
- Question ID: living_girls
- Label Display Text: How many living girls?
How does it look?
Here's how it will look on the phone:
...
- Question ID: feeling_sick
- Label Display Text: Is the woman feeling sick today?
...
- Choice 1:
- Answer Value: yes
- Label Text: Yes
- Choice 2
- Answer Value: no
- Label Text: No
Label: Be sure to tell the woman to go to get her check-up!
...
To add a label you will need to click on the drop-down menu text to the "T" for text question in the Question Bar:'Add Question' button to open the menu and select the Label question type:
Then set the main properties as follows:
- Question ID: clinic_reminder
- Label Display Text: Remind the pregnant woman to go to the clinic for her check-up!
...
You're done adding questions! Here is what your Question Tree should look like:
You've got a beautiful form! But before we go too far we should test the form. It's important to test your form frequently so you can catch mistakes early. Fortunately, CommCare has a built in tool for form testing that doesn't even require a phone.
...