Instructions

android

Introduction

Creating a project

Form Builder

Adding a Form
          Key Field
          Title

Text Fields
          Plain

          Numeric
          Date
          Time
          Drop-Down
          Radio 
            Check Boxes
          
Media Fields
           Location

           Photo
           Video
           Audio
           barcode

Validation
           Text
           RegEx   
           Double Entry

Form Logic
           Jumps

Linking Forms
           Hierarchy

           Branching

android


Installing EpiCollect+
Loading a Project


Collecting Data

Text Fields
          Plain

          Numeric
          Date
          Time
          Drop-Down
          Radio
             Check Boxes

Media Fields
           Location

           Photo
           Video
           Audio
           barcode

Saving Data

List/Sync data

Maps

Backing up data

Remote Data

Settings

android


Project Website

Map View

Multiple Forms

Downloading Data

android


Introduction

EpiCollect Markup

The Document
           <model>

The Form
           <form>


Text Fields
           <input>

          <select>
           <select1>
          <radio>
Setting defaults

Media Fields
           <location>
           <photo>
           <video>
           <audio>
           <barcode>

Defining keys

Form Logic
           Jumps


Linking Forms
           Hierarchy

           Branching
  
Validating



Jump Questions

 

Jump patterns can be defined within the Form Builder on Drop-down, Radio Buttons and/or Check box inputs and allow you to control the logic and flow of questions presented to a user.

Jumps allow you to define that, based on the choice made by a user, they will 'jump' forward in a form to a question further along in the questionnaire or carry on to the next question. For example, if for question one in a form, the user selects choice one in the dropdown, jump them forward to question five, else continue on to question two.

Single or multiple jumps can be defined for a particular form input (drop-down, radio, multiple inputs only) and can jump forward to any kind of form field (text or media) or to the end of a form.

 

Specifying a single jump clause

 

Within the form builder, broadly, you can define four types of jumps.

1) Jump when value IS

For example, within question one, jump to question five if user selects value two.

2) Jump when value IS NOT

For example, within question one, jump to question five if user does not select value two.

3) Jump when field IS BLANK

For example, If a user does not select a value for question one, jump to question five

4) Jump when field HAS ANY VALUE (ie always jump)

For example, If a user selects any answer, jump to question five.

 

Specifying multiple jump clauses

You can of course add more than one jump clause to any of the relevant fields (drop-down, radio, check-boxes). However, please be careful to make sure you do not add conflicting jump clauses to a field.

For example, you may have a drop down with five items, and you would like to specify that if a user selects item one, they jump to question five, but if they select item three they jump to question ten. All other choices would proceed normally within the form.

 

 

A common example - specifying 'other' and capturing a users input.

Quite often within a drop-down, radio or check-box question, you may not be able to define all possible answers to your question. This is commonly handled within paper forms by offering an 'other' option and then providing a text box for whoever is filling out a questrionnaire, to fill in. This same functionality can be replicated within EpiCollect using Jumps.

We will demonstrate this with a simple four question project.

The project contains four questions relating to favourite colours.

1) What is your name? with the ID 'NameID'- This will be be added as the Key field on startup of the formbuilder.

2) What is your favourite colour? - A Drop-down list with three options -red, yellow and 'other'

3) Please specify other? - a text field to capture the users input should their favourite colour not be specified in question 2.

4) What is your age? - a text field asking for the users age. - This question will be 'jumped to' if a user specifies one of the colour choices in Question 2.

 

We create a project called 'colours' and define a form named 'colourSurvey'.

1) We specify our key field as the Question 'What is your name?' and give it the ID 'NameID'

2) We then drag a Drop-down list (with the Label - What is your favourite colour?' and ID 'favouriteColour' and specify three options - 'Red', 'Yellow' and 'other' as in the following screenshot:

other 1

3) Now we define the 'Please enter other?' question as a simple text field.

Other - add question

4) Our last question to define is 'What is your age?' as a numeric field.

Other last question

Defining the jump

There are two ways we could do the jump. We could define that if the user selects 'red' then jump to the 'what is your name?' question. However, we would then need to define another jump specifying that if a user selects 'Yellow' to jump to the 'what is your name? question.

Much simpler, is to define that if a user DOES NOT select 'other' then jump to the 'what is your name?' question.

This is done by expandign the 'Jumps' part of 'Field Properties', clicking 'Add Jump' and defining as in the following screenshot:

Other 4

 

When this project is loaded and entered on a mobile device the flow shown to a user is as follows:

jump1
arrowdown arrowdown
jump2
jump4
  arrowdown

 

 

 

 

jumps to

arrowdown

jump5
  arrowdown
jump3
jump3

 

Jumps can be used in many circumstances to give great flexibility when defining a single form. In many cases, multiple forms that may normally be given to a user can be combined into a single form with logic defined by jumps.

NOTE: Currently within EpiCollect+ it is only possible to jump FORWARD within a form, howerver on our wishlist is the ability to jump backwards and we are currently working on multiple conditional jumps.

There will be many cases within a project where jumps are not adequate and there is a neccessity to have multiple forms linked together. We will now move on to describe how to link different forms together, either hierarchically and / or by branching.

 

Next | Linking Forms