Documentation
Using the ODK Form Checker app
3 min read
What does this app do?
We developed the Open Data Kit (ODK) Error Check app to help researchers save time and effort when finalizing their SurveyCTO forms. It does this by scanning the form for potential errors and suggesting corrections where necessary. It can take a few minutes to run, it can make mistakes, but on balance it’s a useful application if you’re working on a complex survey instrument and want to avoid the lengthy back and forth required to upload an error-free SurveyCTO form.
To do this, the app uses an NLP (Natural Language Processing) algorithm to identify potential coding errors in the relevance, constraint, and calculation columns of the form. It then suggests potential corrections to these errors. Little errors can sometimes be very difficult to spot, e.g. a missing apostrophe, bracket, a missing letter in a function name, etc.
In addition, the app also uses other types of logic checks to identify other potential inconsistencies, such as checking whether references have been properly defined, repeat group fields are referenced correctly, groups and repeat groups are well balanced, and multiple choice options are referenced correctly (among others).
Overall, the goal of the ODK Error Check app is to make it easier for researchers to identify and fix errors in their SurveyCTO forms, saving them time and ensuring that their forms are error-free when they are uploaded. If you work with ODK, you know that it can be time-consuming to identify all the mistakes in a form and upload an error-free version. The ODK Error Check app is designed to make this process faster and more efficient, helping you to finalize your forms more quickly and confidently.
What do I need to know about the input and the output of this app?
The input for the Open Data Kit (ODK) Error Check app is a SurveyCTO form saved in excel format. The excel file should have three sheets: “survey”, “choices”, and “settings”. The “survey” sheet must have the following columns: “name”, “type”, “constraint”, “relevance”, and “calculation”. The “choices” sheet must have the following columns: “list_name” and “value”. It’s important to have these standard columns in your SurveyCTO form, as the app uses them to identify potential errors and inconsistencies.
The output of the app is a log of potential issues identified during the scan, along with suggestions for corrections where applicable. This log is captured in an excel sheet, allowing you to easily review and address any issues that have been identified. The goal of this app is to help you finalize your SurveyCTO form more efficiently, by identifying and addressing potential errors and inconsistencies before you upload the form.
As with all natural language processing algorithms, the app does sometimes make mistakes (it can introduce errors instead of resolving them), so it’s important to double check everything. It can also be a bit slow to run, since it has to often process hundreds of lines of code