CartONG: http://www.cartong.org/        Material for Data collection with Android: ODK        

Instructions/Training Material for Android: Open Data KIT

Table of Contents

Background

How to Create a form and Deploy it

Creating a form

Option A: Open Data Kit Build

Option B: Building a form in Notepad ++

Validating a form

Troubleshooting a form

Deploying the validated xml form on an Android device#

Glossary

References

Annex: LLIN COVERAGE AND DURABILITY SURVEY


Background

In November 2010, UNHCR Public Health Section was interested in piloting an Android based Long Lasting Insecticide Treated Net (LLIN) Coverage and Durability Survey in Dagahaley camp, Kenya. The objective was to have a direct comparison with the paper surveys conducted in IFO and Hagadera camp and be able to assess whether an electronic survey is feasible in this setting.

After a short assessment of the paper questionnaire, the aim of the survey and the current situation, the Field Coordination Support Section (FICSS) recommended the use of Open Data Kit (ODK), an open source toolset developed for mobile phone data collection with Android phones. The time frame for developing and deploying the electronic form was of only 2 weeks and therefore no guiding material could be produced before the survey was scheduled to go ahead. In order to bridge the gap between the staff creating the ODK material remotely and the staff conducting the survey, a series of documents were produced to assist with background materials for further deployments.

This document serves as a reference, a manual for trainees who would like to learn how to create a form. It is by no means exhaustive and will require background reading of the links cited in the document. It is not difficult to learn how to utilise ODK, however, a strong background in data management, databases, file formats or general knowledge in IT will be necessary to follow the instructions, if unsupervised. At the time of writing, there is no complete manual to be downloaded from the web but several wiki links for ODK and JavaRosa have been consulted and combined to create this reference. The intention is to get a basic overview and cut down the time to search the links for further reading. The document therefore can also serve as a baseline for a workshop or training and can be augmented with hands-on exercises. Similar manuals will be produced for other ODK tools like ODK Aggregate in future projects.

Depending on the complexity of the survey and its resulting electronic form, the creation of a form and its thorough testing can take up to a week. It is recommended to leave some time to have a test run in the field as some questions might have to adapted to fit the local context.


 

  1. How to Create a form and Deploy it

In order to conduct a survey with an Android mobile phone, the paper based form needs to be translated into an electronic questionnaire and send to the phone. The way ODK is set up, it is specifically recommendable for “one shot” surveys, e.g. surveys or assessments which are conducted once to gain a snapshot view of the current situation. This document describes how an electronic questionnaire in ODK is structured and what to look out for when creating a new form.

Note: The instructions given in this manual apply to Windows operating systems. Many of them will work on other systems, too, but some might require different tools and syntax as the ones listed in this document.

Mac or Linux Users should always consult the references cited for alternative instructions.

  1. Creating a form

  1. Option A: Open Data Kit Build

ODK Build is one of the ODK tools[1] which have been developed by the ODK community and makes designing the forms easy. You will need to sign up and create an account as the application is hosted online.

Note: At the time of writing this tool is only working for the creation of simple forms which do not require branching and looping[2]; if your form is complex you can skip this chapter and move to the next.

Once you have created and activated your account, log in and start creating your own form.

ODK Build provides for the following field options:

For the optional fields Choose One and Select Multiple, you can set what is displayed and the value recorded for it, for instance you have a question which needs to be answered with True or False, you can code it with 1 and 0 if this is how you’d like to analyse your data later.

Note: You could also export to ODK Aggregate, covered in a later chapter; however, at the time of writing, ODK Build is not coding the form with a form ID automatically. This form ID is needed for ODK Aggregate to work correctly. Find more information and how to add the ID here: http://code.google.com/p/opendatakit/wiki/ODKAggregate

Note: Another option for easy creation of forms can be found here: http://xform.childcount.org/ 

This has received positive feedback from the ODK community but has not been tested in the course of the current project.

  1. Option B: Building a form in Notepad ++

Note: You will NOT need Java Wireless Toolkit if you are not planning to run the JavaRosa Validator or use other resources and samples from their webpage. Java Wireless Toolkit allows you to build Java applications which run on a variety of Java enabled phones, not only on Androids. You will still need to download and install the latest version of Java, though.

Simple Java: http://www.java.com/en/download/index.jsp.

Wireless Toolkit: http://www.oracle.com/technetwork/java/download-135801.html or http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html

http://code.google.com/p/opendatakit/source/browse?repo=forms and http://code.javarosa.org/attachment/wiki/buildxforms/training_form_4.xml

The latter can be found on http://code.javarosa.org/wiki/buildxforms when scrolling to the bottom Attachments. The Xforms posted here vary in complexity with form1 being the most simple and form8 the most complex one.

The following screen shots show the Xform created for a Mosquito Net survey conducted by the Public Health Section, UNHCR, in Dadaab, Kenya. They are used for illustrating the structure of an XForm and what to look out for. You can find the layout of the paper questionnaire in the Annex.

Please check ODK Validate and Troubleshooting a form for more information on common errors.

Auto-close will enter the correct closing tag automatically which is very helpful.

Some important XML basics:

(adapted from JavaRosa project page, http://www.javarosa.org/wiki/buildxforms)

You can find more explanations and definitions for XML structure here: http://en.wikipedia.org/wiki/XML

The skeleton of an XForm looks like this:

<h:html xmlns="http://www.w3.org/2002/xforms"

        xmlns:h="http://www.w3.org/1999/xhtml"

        xmlns:ev="http://www.w3.org/2001/xml-events"

        xmlns:xsd="http://www.w3.org/2001/XMLSchema"

        xmlns:jr="http://openrosa.org/javarosa">

  <h:head>

    <h:title>[form title]</h:title>

    <model>

      <instance>

                [define the schema of your resulting data here]

      </instance>

              [define restrictions on your data (such as data types,

                range constraints, and skip logic) with bindings here]

     

    </model>

  </h:head>

  <h:body>

            [add controls that describe your questions here]

  </h:body>

</h:html>

The output of a filled-out XForm is itself another XML document. You create a skeleton of this XML document and place it inside the <instance> tag. Questions in the form refer to various parts of the instance and place their answers there as they are filled out. When your form is complete, the instance can be saved as a complete, self-contained XML document, and submitted from the phone to remote servers.

Sample:

Note: For better readability the Netsurvey loop and the personal questions to the respondent at the end of the survey were taken out.

A few points to consider for your field names especially if you are using ODK Aggregate for synchronisation:

(adapted from ODK project page, http://code.google.com/p/opendatakit/wiki/XFormDesignGuidelines)

  1. be short (ideally < 30 characters)
  2. must be unique within their containing group within the form (this is required by Xml and Javarosa)
  3. cannot contain any spaces
  4. should contain only alphanumeric characters and the characters '_' and '-'
  5. should start with a letter
  6. should all consistently follow either the camel-case convention (e.g., thisFormField) with leading capitals denoting word breaks within the field name, or use either the '_' or '-' characters to mark word breaks (e.g., this-form-field).
  7. should not have two or more fields that are distinguished only by either their capitalization, use of dashes, or use of underscores. E.g., it is discouraged to have two or more of these field names appear within a single form: thisFormField, this-form-field, thisformfield,this_formField.

Sample:  

<instance>
       
<data id="sampleForm">
         
<name/>
         
<age/>
         
<date/>
       
</data>
   
</instance>

Note: As the LLIN form was not designed for using with ODK Aggregate, no attention was paid to this aspect, however, it is recommended to always implement a form ID.  

Find more information on Form ID’s here:  http://code.google.com/p/opendatakit/wiki/XFormDesignGuidelines

Bindings let us attach restrictions to the type of data that may be entered into the instance. The restrictions may be:

  1. Data types, for example, indicating that a given question is meant to store dates, so only dates will be allowed as answers to that question. This may also affect how the question appears to the user (see 'controls'). Another kind of data type is restricting answers to numbers only.
  2. Skip logic: only allowing a question to be answered if another question has a certain value (e.g., only asking 'is household member pregnant' if 'sex' is female)
  3. Required: requiring that a question be answered before you can complete the form
  4. Range constraints: limiting the kinds of answers that may be accepted (e.g., setting age for children)

Bindings are defined via a <bind> tag. The binding references a single tag in the instance via an expression, and then defines the various restrictions on that question. Every question has its own binding. Not every question needs a binding, though, such as if it uses the default data type (text) and has no other restrictions.

The instance and the bindings together comprise the XForm model.

Integer: <bind nodeset="/data/Members/Q204AGEY" type="int"/> (Question on Age)

String: <bind nodeset="/data/Members/Q202NAME" type="string"/> (Name of family member)

Binary: <bind nodeset="/data/Netsurvey/NetImage" type="binary"/> (Picture of Net)

Date: <bind nodeset="/data/Q002DATE" type="date" /> (Date of data collection)

<bind nodeset="/data/Q104ENTR" relevant="selected(/data/Q101NETS, 'true')"/>

The question Q101NETS (“Do you have mosquito (bed) nets in this household that can be used for sleeping?”) needs to be answered with “true” before Question Q104ENTR (ASK RESPONDENT IF THEY WILL LET YOU ENTER THE HOUSEHOLD AND TO SHOW YOU THE NET(S) IN THE HOUSEHOLD.) will show up on the screen of the mobile phone.

<bind nodeset="/data/Netsurvey/NetNum" type="int" required="true()"/> (Number of surveyed Net is required)

<bind nodeset="/data/Q001CODE" type="int" constraint="(. &gt; 0 and . &lt; 13)" required="true()"/> (Number of code of surveyor is limited to 1-12; as there were no more than 12 surveyors per Refugee camp for the Mosquito Net Survey) Note: This question is also required.

The controls define the questions that the user actually sees. Each question presented to the user is its own control, and the user sees the questions in the same order listed in the XForm. A control is either an <input>, <select>, or <select1> tag.

<input> is used for free-entry questions, such as text, numbers, and dates; <select1> is used for multiple-choice questions where you can pick only one choice; <select> is used for multiple-choice questions where you can pick many choices.

A control must define the following things:

  1. Where in the instance the answer is stored (via an XPath expression)
  2. The caption or prompt of a question
  3. For multiple choice questions, the available choices and their captions

<input ref="/data/Netsurvey/NetNum">

                    <label ref="jr:itext('/data/Netsurvey/NetNum:label')"/>

                    <hint ref="jr:itext('/data/Netsurvey/NetNum:hint')"/>

           </input>

        Input is the number of the surveyed net.

The corresponding itext in the <itext></itext> body:

<text id="/data/Netsurvey/NetNum:label">

             <value>Number of Net</value>

 </text>

 <text id="/data/Netsurvey/NetNum:hint">

<value>Start counting from 1 onwards, 1 for the first net you survey, 2 for the second net and so on</value>

 </text>

Note: Sampled is shortened as original sample contained more than 9 options.

<select ref="/data/Netsurvey/Q112LABL">

        <label ref="jr:itext('/data/Netsurvey/Q112LABL:label')"/>

        <hint ref="jr:itext('/data/Netsurvey/Q112LABL:hint')"/>

             <item>

              <label ref="jr:itext('/data/Netsurvey/Q112LABL:option0')"/>

                  <value>1</value>

             </item>

             <item>

               <label ref="jr:itext('/data/Netsurvey/Q112LABL:option1')"/>

                   <value>2</value>

              </item>

             <item>

                <label ref="jr:itext('/data/Netsurvey/Q112LABL:option2')"/>

                    <value>3</value>

             </item>

             <item>

<label ref="jr:itext('/data/Netsurvey/Q112LABL:option3')"/>

                    <value>4</value>

             </item>

    </select>

The surveyor has to select all the sources of information the respondent was exposed to.

The corresponding itext in the <itext></itext> body:

<text id="/data/Netsurvey/Q112LABL:label">

<value>Did you receive any information on how to hang your net?  If yes, from where?  </value>

</text>

<text id="/data/Netsurvey/Q112LABL:hint">

              <value/>

</text>

<text id="/data/Netsurvey/Q112LABL:option0">

               <value>Household visit</value>

 </text>

 <text id="/data/Netsurvey/Q112LABL:option1">

               <value>At health clinic</value>

 </text>

 <text id="/data/Netsurvey/Q112LABL:option2">

               <value>Poster</value>

 </text>

 <text id="/data/Netsurvey/Q112LABL:option3">

               <value>Radio</value>

 </text>

The surveyor can tick all that applies: Household visit, At health clinic, from a Poster or by listening to the Radio.

       <select1 ref="/data/Netsurvey/Q106SHAP">

         <label ref="jr:itext('/data/Netsurvey/Q106SHAP:label')"/>

         <hint ref="jr:itext('/data/Netsurvey/Q106SHAP:hint')"/>

            <item>

            <label ref="jr:itext('/data/Netsurvey/Q106SHAP:option0')"/>

                   <value>1</value>

             </item>

             <item>

             <label ref="jr:itext('/data/Netsurvey/Q106SHAP:option1')"/>

                   <value>2</value>

             </item>

             <item>

             <label ref="jr:itext('/data/Netsurvey/Q106SHAP:option2')"/>

                   <value>3</value>

             </item>

      </select1>

The shape of the surveyed net has to be determined.

The corresponding itext in the <itext></itext> body:

<text id="/data/Netsurvey/Q106SHAP:label">

          <value>Observe or ask the shape of the net and record</value>

</text>

<text id="/data/Netsurvey/Q106SHAP:hint">

      <value/>

</text>

<text id="/data/Netsurvey/Q106SHAP:option0">

       <value>Rectangular</value>

</text>

<text id="/data/Netsurvey/Q106SHAP:option1">

       <value>Conical</value>

</text>

<text id="/data/Netsurvey/Q106SHAP:option2">

       <value>Other</value>

</text>

The surveyor can choose between Rectangular, Conical and Other as the shape of the surveyed net.

If parts of your survey need to be repeated; it makes sense to create groups in your structure. These can be repeated an x amount of time, for instance if you need to add information on every mosquito net in each household, you will have a varying number of loops per household. In order to code this in your form, you will declare a group.

Note: This also changes the XPath reference structure, here the example for the bindings:

Note: The syntax has been shortened to fit on a screenshot

ODK: http://code.google.com/p/opendatakit/wiki/XFormDesignGuidelines and http://code.google.com/p/opendatakit/wiki/XFormLogicExplained

JavaRosa: http://code.javarosa.org/wiki/buildxforms

  1. Validating a form

After creating your form, you will need to validate it. You can validate either by using ODK Validator or the JavaRosa XForm validator. They can be downloaded from the Internet and require Java and WTK (JavaRosa, refer to previous chapter).

ODK : http://code.google.com/p/opendatakit/downloads/detail?name=ODK%20Validate%20v1.2.jar&can=2&q=

JavaRosa:

http://code.javarosa.org/attachment/wiki/JavaRosa-XForm-Validator/javarosa-xform-validator.jar

If it does not contain any errors, you will receive the following message:

Note: For validator ODK has a few additional restrictions that may not be tested by the tool. In particular, a Form ID must be defined. In Aggregate 1.0, there may be additional restrictions for alternative persistence mechanisms such as MySQL. ODK Validate is expected to be updated once those restrictions, if any, are determined.

  1. Troubleshooting a form

The following collection, by no means exhaustive, is meant to

assist you with simple troubleshooting. Also refer to resources listed in Glossary and References for more information.


  1. Deploying the validated xml form on an Android device[7] 

Before trying your newly created form on your mobile platform it is recommendable to test it on an Emulator first. For documentation on how to install an emulator, please refer to document emulator

Note: If your file is not in the /tools directory where your adb shell is, you will need to add the path to your filename.

Note: Ensure that you have closed the emulator instance or else or you will need to specify which device your command is destined for. More information on adb commands and specifying the devices can be found here:

http://developer.android.com/guide/developing/tools/adb.html

Connect your mobile device. Verify that you have the option Settings/Applications/Development/USB debugging ticked on your device. On the notification panel, choose option “Mount SD Card”.  Now drag and drop files from your computer to your device which has now become accessible through your Explorer. Remember to place the xml form in sdcard/odk/forms.

Refer to http://developer.android.com/sdk/win-usb.html for more information.

In theory you could be downloading a form from any server and copy/paste from the /download folder on your SD card to your /odk/forms folder. However, for this you need to have a file explorer software installed on your android, either from the Android market (ex: AND Explorer) or an inherent file explorer (ex: My Files on Samsung Galaxy) on your device.


  1. Glossary

ODK        Open Data Kit (ODK) is a free and open-source set tools which help organizations author, field, and manage mobile data collection solutions. Open Data Kit is a research platform for the Department of Computer Science & Engineering at the University of Washington. More information to be found here: http://opendatakit.org/about/

OpenRosa         The OpenROSA consortium was formed in an effort to create a set of standards to allow mobile data collection tools to interoperate. More information on participating organizations and background information can be found here: http://openrosa.org/about/

        

JavaRosa          JavaRosa is a Java Standard Edition (J2SE) framework for building data collection applications on Java enabled devices. Javarosa-core contains the code that builds the framework. Javarosa-validator and Open Data Kit, and openXdata are examples of applications that use JavaRosa. More information can be found here: http://www.javarosa.org/ 

Note: At the time of writing, the page seems to have moved and will deprecate. The new page is hosted on https://bitbucket.org/javarosa/javarosa/wiki/Home, but has a new structure now. The policy of the new host Bitbucket (signup required for accessing some pages) has not been perused prior to writing the manual.

Java Wireless  

Toolkit        The Sun Java Wireless Toolkit (formerly known as Java 2 Platform, Micro Edition (JavaME) Wireless Toolkit) is a state-of-the-art toolbox for developing wireless applications that are based on JavaME's Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile (MIDP), and designed to run on cell phones, mainstream personal digital assistants, and other small mobile devices. The toolkit includes the emulation environments, performance optimization and tuning features, documentation, and examples that developers need to bring efficient and successful wireless applications to market quickly. More information can be found here: http://www.oracle.com/technetwork/java/index-jsp-137162.html

XForm        It is a format for creating forms/questionnaires in XML. XForms are similar to forms in HTML, and are meant to be the next-generation replacement for HTML forms.

An XForm is an XML document that describes your electronic form, including what questions to ask (this also comprises the type of question and the question's caption or prompt), restrictions on the kinds of answers you can enter, and what you want your final data to look like.

XPath        XPath, the XML Path Language, is a query language for selecting nodes from an XML document. In addition, XPath may be used to compute values (e.g., strings, numbers, or Boolean values) from the content of an XML document. XPath was defined by the World Wide Web Consortium (W3C).

ODK Aggregate        ODK Aggregate provides a ready to deploy server repository to: manage collected data, provide standard interfaces to extract data (e.g., spreadsheets, queries, etc.), and integrate with existing systems via web requests. ODK Aggregate is currently implemented on Google's App Engine allowing users to avoid the difficulties of setting up their own scalable web service.

adb        ADB (Android Debug Bridge) is a tool that comes with the Android SDK which allows you to control and interface with your Android device. It is located in the tools folder when you unpack the SDK.

  1. References

The following references have been consulted to compile the form used in Kenya and this manual:

Creating an ODK form:

Information on ODK in general: http://opendatakit.org/

Repository for tools and applications: http://code.google.com/p/opendatakit/

Information on ODK Build: http://opendatakit.org/use/build/

ODK Build application: http://build.opendatakit.org/

Notepad ++: http://notepad-plus-plus.org/

Sample forms: http://code.google.com/p/opendatakit/source/browse?repo=forms

Design guidelines: http://code.google.com/p/opendatakit/wiki/XFormDesignGuidelines

Explaining xml logic: http://code.google.com/p/opendatakit/wiki/XFormLogicExplained

JavaRosa Training guide: http://code.javarosa.org/wiki/buildxforms

General XML structure: http://en.wikipedia.org/wiki/XML

Validating your ODK form:

ODK Validate: http://code.google.com/p/opendatakit/wiki/ODKValidate

JavaRosa XForm Validator: http://code.javarosa.org/wiki/JavaRosa-XForm-Validator

Deploying your ODK form:

Installing SDK: http://developer.android.com/sdk/index.html

SDK Packages: http://developer.android.com/sdk/installing.html#components

Adb commands: http://developer.android.com/guide/developing/tools/adb.html#move

General information on adb: http://developer.android.com/guide/developing/tools/adb.html

USB driver: http://developer.android.com/sdk/win-usb.html


Annex: LLIN COVERAGE AND DURABILITY SURVEY

To be filled in by surveyor before the interview

 ID NUMBER I____I____I____I  (Filled in by Supervisor)

0.1 Code of Surveyor   I____I____I

                   Day     /  month     / 2010

0.2 Date I____I____I / I____I____I / 2010

0.3 Refugee Camp / Settlement   I_________________________________________________________I Code

0.4 Zone / Block  I______________________________________________________________________I Code

0.5 Household number I____I____I  Cluster I____I____I

Three attempts will be made to visit a selected household on three consecutive days.  If a responsible member of the household is not present after three attempts reply no respondent, and if refused check refused.

0.6 Responded:  1st Visit :  I____I  2nd Visit I___I 3rd Visit I___I No Respondent I___I Refused I____I (

                            Please place an X in the one appropriate box

To be filled in by Supervisor at the end of the day

0.9 Code of Supervisor I____I____I

Comments____________________________________________________________________________________________________________________________________________

                                                                                                                             Day        /      Month     / 2010

I confirm that the questionnaire is complete.                                        Date : I____I____I / I____I____I / 2010

Name I_______________________________________________________________________________I

SignatureI_____________________________________________________________________________I

To be filled in by data entry clerks during data entry

Data Entry Clerk 1

Data Entry Clerk 2

Date I___I___I / I___I___I / I___I___I___I___I

Date I___I___I / I___I___I / I___I___I___I___I

Signature_____________________________

Signature_____________________________

Introduction and Informed Consent

Hello, my name is _______________________ and I am working with _____________________ and UNHCR.  We are conducting a survey on mosquito nets in your community, and your household has been selected to participate.  We would like to ask you, the head of household, a number of questions concerning mosquito nets and their use in your household.  It will help us in programming for health activities in your community. The questionnaire takes 20 minutes to complete.  

Your participation is voluntary.  You are not under any obligation to participate and you have the right to refuse this invitation.  If at any point in time during the interview you wish to stop participating you may do so without giving a reason and with no consequences.  All information related to your participation will be kept confidential.  We hope that you will agree to participate.  

Yes I___I       No  I___I        (If no, do not continue the survey, CHECK REFUSED IN 0.6 and continue to the next selected household)

Signature of Surveyor_____________________________________________________________

SECTION 1: Interviewer: I would like to ask you some questions about the mosquito nets in your house

1.1

Do you have mosquito (bed) nets in this household that can be used for sleeping?

1……………..YES  SKIP TO 1.3

0……………..NO

99……………Don’t Know

1.2

Why don’t you have any mosquito nets?

(SKIP TO SECTION 2.1)

1….Never received a net

2….Nets were worn out and are being used for another purpose

3….Nets were worn out and have been disposed of

4….Sold the net

5….Gave the net away

6….Other, specify_____________________________________________

99…Don’t know

1.3

How many mosquito nets does your household have?  

probe for any nets currently not in use

(IF 4 Nets or more, please use a supplementary questionnaire sheet on nets)

|___|___I Nets

1.4

ASK RESPONDENT IF THEY WILL LET YOU ENTER THE HOUSEHOLD AND TO SHOW YOU THE NET(S) IN THE HOUSEHOLD.  (If no  WILL YOU BRING THEM OUT TO SHOW ME? If yes circle yes)

NET # 1

NET #2

NET #3

1….YES

2….NO --SKIP TO SECTION 2.1

1.5

What BRAND of Net Observed? Look at the TAG on the net.

(Circle one answer)

(CAN ELIMINATE FROM FINAL QUESTIONNAIRE SOME OPTIONS IF NOT DISTRIBUTED PREVIOUSLY)

1…...PERMANET

2…...OLYSET

3…...NETPROTECT

4……INTERCEPTOR

5……DURANET

6……DAWAPLUS

7……PSI

8……OTHER, specify



9……Unidentifiable

1…...PERMANET

2…...OLYSET

3…...NETPROTECT

4……INTERCEPTOR

5……DURANET

6……DAWAPLUS

7……PSI

8……OTHER, specify



9……Unidentifiable

1…...PERMANET

2…...OLYSET

3…...NETPROTECT

4……INTERCEPTOR

5……DURANET

6……DAWAPLUS

7……PSI

8……OTHER, specify



9……Unidentifiable

1.6

Observe or ask the shape of the net and record.  (Circle one answer)  Other, refers to nets that have been manipulated into another shape.

1…Rectangular

2…Conical

3….Other, specify



1…Rectangular

2…Conical

3….Other, specify

__________________

1…Rectangular

2…Conical

3….Other, specify

__________________

1.7

Observe or ask the colour of the net

(Circle one answer)

1…White

2…Green

3…Blue

4…Other, specify

I_______________I

1…White

2…Green

3…Blue

4…Other, specify

I______________

1…White

2…Green

3…Blue

4…Other, specify

I_______________I

1.8

Did you pay any money for this net (Ugandan Shillings)?  (Record 00000) if the net was given or did not pay any money)

I___I___I___I___I___I

I___I___I___I___I___I

I

I___I___I___I___I___I

1.9

Where did you get the net?  Read out the list of options to the respondent.

(Circle one answer)

1....Shop

2....Health Clinic

3…Antenatal Care

4…Market

5…On arrival / NFI

6… Friend/family

7…Distribution campaign in the camp

8…Other, Specify



99..Don’t know

1....Shop

2....Health Clinic

3…Antenatal Care

4…Market

5…On arrival / NFI

6… Friend/family

7…Distribution campaign in the camp

8…Other, Specify



99…Don’t know

1....Shop

2....Health Clinic

3…Antenatal Care

4…Market

5…NGO/UNHCR

6… Friend/family

7…Distribution campaign in the camp

8…Other, Specify



99…Don’t know

1.10

How long ago did you obtain this net?

Months

I____I____I

99…Don’t know

Months

I____I____I

99…Don’t know

Months

I____I____I

99…Don’t know

1.11

Did you receive a visit from a community health worker / volunteer / NGO to help you hang your net(s)?

1…YES

2…NO

99..Don’t Know

1…YES

2…NO

99..Don’t Know

1…YES

2…NO

99..Don’t Know

1.12

Did you receive any information on how to hang your net?  If yes, from where?  Probe for multiple answers (Circle all answers given)

1…Household visit

2…At health clinic

3…Poster

4…Radio

5…Leaflet/flyer

6…TV show / Video

7…At  net Distribution

8…Other, specify____________

9..Did not receive any

99..Don’t know

1…Household visit

2…At health clinic

3…Poster

4…Radio

5…Leaflet/flyer

6…TV show / Video

7…At  net Distribution  

8…Other, specify____________

9...Did not receive any

99…Don’t know

1…Household visit

2…At health clinic

3…Poster

4…Radio

5…Leaflet/flyer

6…TV show / Video

7…At net Distribution

8…Other, specify____________

9...Did not receive any

99…Don’t know

1.13

Is the net hanging or stored away?

If Stored away SKIP TO 1.17

1…Hanging

2…Stored Away

 Skip to 1.17

1…Hanging

2…Stored Away

 Skip to 1.17

1…Hanging

2…Stored Away

 Skip to 1.17

1.14

Is the net hanging inside the house or outside the house? (Observe)

1…inside

2…outside

1…inside

2…outside

1…inside

2…outside

1.15

Is the net folded up / tied in a knot or hanging loose?

1.  Folded up / tied in a knot

2…Hanging Loose

1.  Folded up / tied in a knot

2…Hanging Loose

1.  Folded up / tied in a knot

2…Hanging Loose

1.16

Is the net over a permanent bed / mattress or a temporary sleeping space? SKIP TO 1.18 after this questions

1…bed / mattress

2…temporary sleeping space

1…bed / mattress

2…temporary sleeping space

1…bed / mattress

2…temporary sleeping space

1.17

Why is the net not hung over a sleeping surface?

(circle only one answer)

1...Being Saved

2…used to wrap mattress to protect against bedbugs

3…being washed

4…Spare LLIN

5…Not enough beds/mattress to hang

6…Don’t know

7…Other, specify

_________________

1...Being Saved

2…used to wrap mattress to protect against bedbugs

3…being washed

4…Spare LLIN

5…Not enough beds/mattress to hang

6…Don’t know

7…Other, specify

_________________

1...Being Saved

2…used to wrap mattress to protect against bedbugs

3…being washed

4…Spare LLIN

5…Not enough beds/mattress to hang

6…Don’t know

7…Other, specify

_________________

1.18

Is the net hung nightly?

1…YES

2…NO

99..Don’t know

1…YES

2…NO

99..Don’t know

1…YES

2…NO

99..Don’t know

1.19

Did anyone sleep under this mosquito net last night?   (if yes skip to 1.21) 

1..…YES  SKIP TO 1.21

0.….NO

99…Don’t Know

1..…YES  SKIP TO 1.21

0.….NO

99…Don’t Know

1..…YES  SKIP TO 1.21

0.….NO

99…Don’t Know

1.20

If no, why not?

( DO NOT PROMPT)

(Enter the number of the answer in the spaces given)

I___I___I

14 Other, specify _________________

I___I___I

14 Other, specify _________________

I___I___I

14 Other, specify _________________

1…No mosquitoes

2… no malaria now

3…Too hot

4… Don’t like smell

5…Feel “closed in” or afraid

6…Net too old or torn

7…Net too dirty

8…Net not available last night

9…Usual user(s) did not sleep here

10…Net too small

11…Net too large

12…Saving net for later

13… Net no longer protects from insects

99…Don’t know

1.21

How many times has it been washed in the last 3 months or since it was obtained?

Enter “OO” if zero (If zero SKIP to 1.25)

I____I____I

I____I____I

I____I____I

1.22

How was the net washed

1…cold water

2…warm water

3…hot water

99..Don’t know

1…cold water

2…warm water

3…hot water

99 Don’t know

1…cold water

2…warm water

3…hot water

99..Don’t know

1.23

What type of soap was used?  (circle one answer)

1…no soap

2…hand soap

3…powdered soap

4…bleach

99…Don’t know

1…no soap

2…hand soap

3…powdered soap

4…bleach

99…Don’t know

1…no soap

2…hand soap

3…powdered soap

4…bleach

99…Don’t know

1.24

Where do you dry the net? Ask them to show you where they dry the net.  (circle one answer)

1…outside, in the shade

2…outside, in the sun

3…inside

4…other, specify _________________

99…don’t know

1…outside, in the shade

2…outside, in the sun

3…inside

4…other, specify _________________

99…don’t know

1…outside, in the shade

2…outside, in the sun

3…inside

4…other, specify _________________

99…don’t know

1.25

Does the net have holes in it? (including holes that have been repaired already)

1…Yes

2…No

1…Yes

2…No

1…Yes

2…No

1.26

Total Number of holes (unrepaired) per net

1…Hole just small enough to allow a thumb to pass through

2…A larger hole, but will not allow a fist to pass through

3…Hole bigger than a fist, but cannot let a person’s head pass through

4… Hole that a person’s head can pass through

5...Too many holes to count

(enter 00 if no holes)

I____I____I Size 1

I____I____I Size 2

I____I____I Size 3

I____I____I Size 4

5...Too many holes to count

I____I____I Size 1

I____I____I Size 2

I____I____I Size 3

I____I____I Size 4

5...Too many holes to count

I____I____I Size 1

I____I____I Size 2

I____I____I Size 3

I____I____I Size 4

5...Too many holes to count

1.27

Total number of repaired holes.

(enter 00 if no repairs)

I___I___I stitched

I___I___I Knotted

I___I___I Patched

4...Too many holes to count

I___I___I stitched

I___I___I Knotted

I___I___I Patched

4...Too many holes to count

I___I___I stitched

I___I___I Knotted

I___I___I Patched

4...Too many holes to count


SECTION 2.1 Interviewer:  I would like to ask you some questions about you and  the members of your household

LINE NO.

USUAL RESIDENTS

SEX

AGE

CURRENTLY PREGNANT?

SLEPT IN THE HOUSE LAST NIGHT

SLEPT UNDER A NET LAST NIGHT

NATIONALITY

Please give me the first names of the persons who usually live in your household

Is (NAME)

male or female?

How old is (NAME) in years?

for children

< 1 record 00

FOR WOMEN, ASK:

Is (NAME) currently pregnant?

(Circle 99 if female     < 12 or male)

Please indicate if they slept in the house last night

Please indicate if they slept under a net last night

(Circle the correct net if YES or NO)

Nationality

Somali

Ethiopian

Sudanese

Mixed

Other

2.1

2.2

2.3

2.4

2.5

2.6

2.7

2.8

  M       F

YES   NO/DK      N/A

YES           NO/DK

NET # I___I     NO

01

respondent

  1        2

I___I___I

1            0            99

1              0

NET # I___I     NO

02

  1        2

I___I___I

1            0           99

1              0

NET # I___I     NO

03

  1        2

I___I___I

1            0            99

1              0

NET # I___I     NO

04

  1        2

I___I___I

1            0            99

1              0

NET # I___I      NO

05

  1        2

I___I___I

1             0            99

1              0

NET # I___I      NO

06

  1        2

I___I___I

1             0            99

1              0

NET # I___I      NO

07

  1        2

I___I___I

1             0            99

1              0

NET # I___I      NO

08

  1        2

I___I___I

1             0            99

1              0

NET # I___I      NO

09

  1        2

I___I___I

1             0            99

1              0

NET # I___I      NO


Section 2.2 : Interviewer :  I would like to ask you some questions about yourself

2.9

What is your (the respondent’s) highest level of education?

(Circle one answer)

1   None

2   Religious School

3   Primary School

4   Secondary School

5   Higher Education

6    Other, specify



2.10

In what sector do you earn a living?

(Circle one answer)

1   None

2   Agriculture

3. Trading

4   Pastoralism

5   Transport

6   Fishing

7. .Crafts

8. .Private Services

9. .Public Services

10. Humanitarian or NGO group

11.   Other, specify


99 Don’t know



2.11

What material are the walls of your house made of ?  

(Circle one answer)

1   Wood

2   Corrugated Iron

3   Mud

4   Concrete

5   Straw

6…Twigs

7 Other, specify

_____________________________________________________________

2.12

How long have you been living in the community where you currenty live ? (circle one answer)

1   Always

2    Less than six months

3   6 – 11 months

4   1 – 2 years

5   3 – 5 years

6   More than 5 years

2.13

How many sleeping spaces were used last night in your household?

I____I____I


                28/01/2011                


[1] Currently, there are 14 tools in existence; for the UNHCR Android project so far three regular tools were used  and one Python script was specifically written for UNHCR: ODK Build, ODK Validate, ODK Collect and ODK Server

[2] Looping and Branching is required if the number of a set of questions can vary for a questionnaire; for example if you need to add information for every household member, a loop has to be inbuilt as the group of questions pertaining to each household member have to be repeated to reflect the members which will vary for each household.

[3] Java Development Kit

[4] Java Runtime Environment

[5] Tag: A markup construct that begins with "<" and ends with ">". Tags come in three flavors: start-tags, for example <section>, end-tags, for example </section>, and empty-element tags, for example <line-break/>

[6] An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself.

[7] Literally this means that the electronic form created for the mobile device will be accessible and usable.