Questions

Create a question

To create a question:

  1. Click Questions in the menu bar.

  2. Click Create New Question.

create question
Code

A unique name for the question.

Type

Type of the question. More details can be found in Types of questions section.

Title

Title of the question.

Hint

Further instructions for the question. More details can be found in Hints section.

Is Key Question

Answers to key questions help summarize responses and appear in the response listing. If this box is marked, a column showing these answers will be added in the Responses tab.

Tags

Add Tags to this question.

Types of questions

Type

Description

Text

Short text that shows in a single line of input.

Long Text

Long text that shows in multiple lines of input.

Integer

Numeric answer that must be a whole number without decimals.

Decimal

Numeric answer that allows for decimals.

Location

GPS location of the user.

Select One

Only one answer can be selected from a multiple choice option set.

Select Multiple

Multiple answers can be selected from a multiple choice option set.

Date/Time

Enter both date and time.

Date

Date only field.

Time

Time only field.

Image

The image should be at most 5MB. Accepted formats are: jpg, png.

Annotated Image

The image should be at most 5MB. Accepted formats are: jpg, png. You can add markup to the image.

Signature

Sign with a finger in ODK Collect or upload a signature image in NEMO.

Sketch

Sketch an image with a finger.

Barcode

Scan a barcode with ODK Collect.

Audio

Record or select a sound from your device. File size should be at most 10MB. Accepted formats are: mp3, ogg, webm, wav.

Video

Record or select a video from your device. File size should be at most 10MB. Accepted formats are: 3gp, mp4, webm, mpg, wmv, avi.

Hints

Hints are optional help texts used to provide additional instructions on the question.

  • On NEMO desktop, click on the right of the question to see the hint.

  • On ODK Collect (NEMO Android app), the hint will be shown below the question as follows:

hint Android

Read-Only

The NEMO development team is working on a read-only question type. In the meantime, you can still create read-only text on your form (ODK forms only). To create read-only text:

  • Create a Text question.

  • Enter the read-only text in the question’s Title.

  • Enter a Default value (value does not matter, as it will be read-only).

  • Select the Read-only option. The read-only option will only appear if there is a default value.

read-only option

Language translations

Question titles and hints can be translated into any language that has been set for the mission. To add a language to a mission, go to Settings menu and edit Preferred Languages.

preferred languages

When editing a question. Title and Hint will show up for selected languages:

title hint

Note

To view the translation, change the language by clicking Change Language in the footer. For example, the French translation of an English question will appear once French is selected.

Tags

Tags are an easy way to organize information around a common keyword or theme. In NEMO, questions may be tagged with keywords or descriptors, which may be used to find all of the questions with the same tag. Tags are also used in Reports to help sort information assigned to questions.

To tag questions:

  1. Open or create the question you wish to tag.

  2. Type in the Tags box and click Enter to add a tag.

Note

  • You can add multiple tags.

  • To delete a tag, click next to the tag.

  1. Click Save after adding tags to save your changes.

Metadata type

Metadata type is a special value that can be pre-filled into a question. If chosen the question will be automatically hidden and not required, and any conditions will be removed. For now the Metadata is only available for Date/Time question type.

  1. Create a new Date/Time question.

  2. Click the Metadata Type dropdown.

  3. Select the Metadata you want to record.

Note

  • Form Start Time: will record the time Enumerator started the form.

  • From End Time: will record the time Enumerator ended the form.

Advanced options

The following features are only available for questions that are added to form.

Display logic

By default all questions are shown in the form. Display logic controls which question to show depending on conditions. Note if you would like to use advanced expressions such as XPath, you should use default answer to perform the calculation, and then use display logic on the default answer calculated value.

Display logic

To edit display logic:

  1. Click Forms menu.

  2. Click next to the form you want to edit.

  3. Click on the Question you want to edit.

  4. Click on the display logic dropdown and choose between three options:

  • Always display this question.

  • Display this question if all of these conditions are met.

  • Display this question if any of these conditions are met.

Note

  • Click + Add Condition if you want to add another condition for the same question.

Skip logic

On ODK Collect (NEMO Android app), by default when you swipe left or click you will be redirected to the following question in the form. With the skip logic you can go to any question on the form if conditions are met.

To edit skip logic:

  1. Click Forms menu.

  2. Select a form from the list and click .

  3. Click on the Question you want to edit.

  4. Click on skip logic dropdown and select After this question, skip ….

  5. Choose the destination and conditions to be met.

Skip logic

Constraints

Constraints are conditions that must be met in order for an answer to be accepted. This feature is only available on the mobile app ODK Collect.

To edit constraints:

  1. Click Forms menu.

  2. Select a form from the list and click .

  3. Click on the Question you want to edit.

  4. Click on constraints dropdown and select Only accept an answer if ….

  5. Select the conditions and rules to be met.

Constraints

Note

  • Constraints can only be added on previous questions.

  • When editing an Integer question type you can also add a constraint about the Minimum and Maximum value.

Default answer

Text entered here will be pre-filled in the answer space (for ODK Collect only).

Previous answers: You can enter a $QuestionCode to include the value of a previous question. If the question has multiple options, use $QuestionCode:value

Repeat groups: When using repeat groups, you can access the number of the current item in the repeat group by using $!RepeatNum

For example, entering ID: $Household-$!RepeatNum would pre-fill the answer with ID: 176-2 for the second person in household 176, assuming you have a question with code ‘Household’.

You can also enter an XPath expression by wrapping it with calc(). See the XPath expressions section below.

Required, hidden, and disabled options

Required
  • Required: Check Required? box to make this question required. Form cannot be submitted if not answered, unless an override code is provided.

  • Hidden: Check Hidden? to hide question on the form but still collect default answer (ODK Collect only). For web and SMS forms, the question will behave as if disabled.

  • Disabled: Check Disabled? to hide the question and not collect anything.

XPath Expressions

An XPath expression is a function, operator, or value from previous responses that are dynamically generated as the form is filled out. XPath is a query language used to perform operations on XLSForms (the form standard that ODK Collect uses). Currently, only the default answer field on a question supports XPath expressions when used with ODK Collect. All XPath expressions must be wrapped in a calc() function in a question’s default answer field.

Example calc(($likert1:value * 2) + $likert2:value)

All XPath expressions supported by ODK should be supported by NEMO. This includes boolean logic, string parsing, and number functions. Details on XPath operators (math and logic) can be found here. Complete documentation on XPath functions can be found here.

Common Scenarios

Conditionally display intervention

I want to display an intervention only if the sum of 5 likert questions is greater than 10.

  1. Create Likert questions and an option set with values set as a number.

  2. Create a question that calculates the score (e.g. put calc($likert1:value + $likert2:value) in the default answer.)

  3. Create the intervention question and use display logic to only show the question if the default answer is > 5.