Guidelines on using ODK Collect for data collection
By Kihara Absolomon and Rogena Jason
Table of contents
General Guidelines
Appropriate android devices for data collection
ODK Overview
ODK Collect Overview
Starting a new survey: Filling a form
Sending Finalized form
Editing Saved forms
General Guidelines
- ODK collect can only used by a device running the Android operating system.
- The device which you have been given is fragile and utmost care should be taken while handling it.
Appropriate android devices for data collection
An appropriate android device should be used for data collection. Depending on the collection exercise you will need a device that:
- Has an internal GPS module and can record GPS coordinates
- Has a camera that can be used to scan 1D barcodes. 1D barcodes are mainly used in labeling of samples. Any device with a back facing camera of 4MP and above is good enough to scan barcodes. It is recommended that the device should have a back facing camera of 8MP. If a survey is not collecting barcoded samples, scanning of barcodes is not needed.
- Has a camera that can scan QR codes. QR codes are 2 dimensional barcodes that can encode much more information than 1D barcodes and are much easier to scan than 1D barcodes.
- Has a class 2 bluetooth which may be used for communication with external devices when needed eg. An external Bluetooth GPS module or a RFID stick reader.
- Has a GSM module that can be used for browsing the internet. The GSM module is primarily for packet data and not for making calls or sending SMS. It is actually frowned upon when using the data collection device to make calls and send SMS.
- Has a big enough battery that can be used for a full day of data collection. Tablets generally have a bigger battery than smart phones due to the larger screen size.
- Has enough storage space for saving the filled in surveys. This is particularly important when the survey will be capturing images.
ODK Overview
Open Data Kit (ODK) is a group of tools that are primarily used for data collection. ODK is comprised of 5 different systems but only 2 are mainly used, ODK Collect and ODK Aggregate. ODK collect is an application that is installed on the collection device and is primarily used for data collection. ODK Aggregate is a server application which is installed on the server and accepts data from ODK collect. When used together, ODK Collect and ODK Aggregate can be used to collect data from the field and submit the data to a central server. You will mainly use ODK collect which is already installed and configured in the device which has been given to you.
ODK Collect Overview
ODK Collect uses other external applications to perform some very specific tasks. It uses:
- A barcode scanner for scanning household IDs and collected samples
- An external Bluetooth GPS dongle for quick capturing of GPS coordinates when doing rapid sampling, eg. Collecting blood and hair samples from 200 sheep and goats within 2 hours
- Azizi ODK sensors for capturing of RFID tags
Depending on the activity that is being carried out, the necessary applications will be installed in the Android device and will already be configured to be used from ODK Collect. These applications are only used from ODK Collect and are not be used outside independently.
ODK Collect has 5 main modules which are seen in the picture alongside. These are:
- Fill Blank Form: Used to initiate a new survey
- Edit Saved Form: For editing a partially filled survey
- Send Finalized Form: For sending surveys which have been filled
- Get Blank Form: For getting new forms from the server
- Delete Saved Form: For deleting saved forms or blank forms
ODK Collect has internal mechanisms for validating the entered responses. Each entered answer is validated when moving from one screen to the next screen.
ODK Collect implements logics which allow only relevant questions to be presented for answering based on previous answers. Eg. If Q1 asks whether a person is a man or a woman and Q2 asks whether the woman is pregnant or not, Q2 will only be displayed if the answer to Q1 is a woman. The inbuilt logics and skips allow only the relevant questions to be asked.
In almost all the questionnaires, most of the questions are mandatory! Using skips and logics of ODK Collect it allows the designers of the form have all the questions as mandatory by presenting only the relevant questions to be answered.
Grouping of questions is vital in the way surveys are designed. When there is a group of questions which concerns a specific entity, eg. an animal, an item or an event, the group of questions will grouped together using the group of feature of ODK. This grouping is useful that it allows a batch action to be applied to a group of questions. eg. In case a group of questions is about a pregnant woman, a single skip logic can be implemented for people who are not pregnant at the time as opposed to skipping questions in the survey.
Starting a new survey: Filling a form
To start a new survey, you need to fill in a new form. This is done by selecting the “Fill Blank Form” module and then selecting the necessary form to fill. This is outlined in detail below:
- Ensure that the device has ODK collect and the other necessary applications are installed and configured well.
- Open ODK Collect
- On the ODK Home screen, click on ‘Fill Blank Form’.
- You will be presented with a list of forms. Select the latest version of the form as guided by your supervisor.
- In case you get a blank screen after clicking ‘Fill Blank Form’, it means that the device is not well configured. Please consult your supervisor.
- In case your form is not in the list of forms, you need to get new forms. See the “Get Blank Form” section.
- After selecting the form you want to fill:
- If you see an introduction page of the form, it means that you are ready to start the survey/questionnaire.
- If you don’t see and introduction page and a form with partially answered questions is loaded it means that a previous partially filled form has been resumed. This is the last form which you were working on and was not saved. Depending on the circumstances, you can either:
- Discard the changes that were loaded with the form and delete the instance completely
- Continue with filling the form if it is the correct form that you were working on until the end.
- To go to the next question click on the forward button at the bottom right hand of the screen
- To go to the previous question click on the back button at the bottom left hand of the screen
- If a wrong or invalid answer is entered for a question, you will be unable to move to the next screen until you provide a valid answer. An appropriate error message will be displayed on the screen when you try to move to the next screen. It is highly advisable that all questions be answered correctly when displayed on the screen and before moving to the next screen.
- If an answer is not specified for a question, you will also not be able to move to the next screen as ODK will require that the questions be answered before moving to the next screen. It is highly advisable that all questions to be answered when they are displayed on the screen.
- For questions that require you to capture GPS coordinates:
- Ensure that the GPS is turned on on the android device.
- You are in an open space with a direct view of the sky and not near tall buildings.
- If you try to capture GPS coordinates when the device GPS module is off, ODK Collect will show a warning message.
- Captured GPS coordinates should have an accuracy of 5m. ODK Collect will automatically record the GPS coordinates when accuracy of 5m or below is achieved. The maximum accepted accuracy is of 10m.
- In many surveys, some questions will be repeated for some entities when there is need to collect the same set of information for each entity. These are called repeating groups. If you add a repeating group by mistake, there will be need to remove the extra group. An extra repeating group can be removed by navigating to the first question and then long press the first question, which is in bold. A confirmation prompt will appear requesting for confirmation to remove a group. Utmost care should be practiced when removing the groups so as to avoid removing a group with valid answers.
- Once all the questions have been answered and you are at the end of the form, you will be asked to save the form. All forms should be saved and finalized at the point of data collection. No form should be completed at the hotel or away from the point of data collection. At the end of the form, ensure that the checkbox for saving the form as finalized is checked to for the form to be saved as final. In case a mandatory question is not answered in the form, ODK Collect will not save a form with missing answers for mandatory questions. When a user tries to save a form with unanswered mandatory questions, the user will be taken to the unanswered questions for them to be filled.
Sending Finalized form
Once a form has been finalized it is ready for uploading to the server. It is important to note that saving and finalizing a form (in the last page of the survey) will not upload that form to the server. Uploading of the filled in forms to the server is a manual process and should be done at the end of each day preferably in the presence of a supervisor. Uploading of forms requires a good internet connection especially if images were captured when filling the forms or the survey is quite long and a lot of details were captured. To upload finalized forms:
- Make sure you have a good internet connection.
- Go to ODK Collect and in the home page click on ‘Send Finalized Form’.
- You will see the list of forms which have been finalized but not yet uploaded to the server. Forms that are finalized and have already been uploaded to the server will not appear in the list which is also the same case for forms which have not been finalized.
- To upload all the ready forms on the list, click the ‘Toggle All’ button (on the bottom left corner of the screen). All the forms will automatically be checked. However in order to upload only a selected number of forms in the list manually check the forms you want to upload by checking the box alongside the form to be uploaded.
- After checking the necessary forms to be uploaded, click on the ‘Send Selected’ button to upload the selected forms. If the send selected button is inactive, it means that no forms have been selected for uploading.
- If the forms are uploaded successfully the uploaded forms will disappear from the list and will no longer be available for editing or uploading again.
- Incases there are errors in uploading the forms, ODK Collect will display an error message. This is not a fatal situation. Do not panic, make sure you have a good internet connection then try resending the form.
- After forms are uploaded, a copy of the forms is still saved in the device and might be required later for counter checking and verification. Do not manually delete the forms from the device. Keep the device well and when the device is submitted to the project administrators will save these copies for further use.
Editing Saved forms
Editing of saved forms is usually not recommended. It is envisaged that all the data that is to captured should be and is captured and recorded at the point of data collection. However at times there is need to edit forms for a number of unforeseen circumstances. Great care should be taken on selecting the form to be edited and also editing the already entered answers as it might lead to loss of the whole dataset as a whole. In many cases please consult and get an approval from your supervisor before editing a saved form. To edit a form:
- Go to ODK Collect home page and click on the ‘Edit Saved Form’.
- You will see a list of editable forms. Note that forms that have already been uploaded to the server will not appear on this list (and therefore are not editable).
- To edit a form, click on the name of the form in the list and start editing the form. It is important to note that forms which are to be edited later should be given descriptive names when saving. However, these names are only for identification of forms and will not be part of the data that will be uploaded to the server.