Sometimes your forms need to change quickly. One such case was suggested by World Vision staff who are working in Syrian refugee camps. They wanted to record school attendance however new children are arriving daily and hence the attendance roll would be also changing daily.
Putting choices in a CSV file separate from the form can be the answer. The file name is specified in the “appearance” column. In the example below the choices will come from the “children.csv” file. The other parameters to the “search” function are filters so that only children in “class1” are included.
Choices in external CSV files have been available for a while, however the January 2014 release of Smap will have the following enhancements:
- Support for select_multiple. Previously only select_one worked,
- You can now analyse select questions with external choices in graphs, tables and maps on the analysis dashboard,
- and, CSV files can be attached to a single form or shared by all forms in the organisation.
This demonstration shows information on new school enrolments being collected using a form and then being added to a CSV file. This file is then used to record attendance in school and is also used by a separate form to record vaccinations given to the children.
The data can be used in multiple forms because it is loaded to the “Organisation” tab in the media page rather than the “Form” tab. If you loaded different files with the same name to “Form” and “Organisation” then the file at the “Form” level will take precedence.
The files for this example can be found here.
- A school teacher uses fieldTask and a form called “enrolments” to record school attendance. Any new children arriving that day are recorded in a sub form. (using “begin repeat”)
- The back office team copy the details on the new children and put them into the “children.csv” file. They upload this file to the Smap server where it replaces the existing file.
- The next day, before recording attendance, the Teacher presses “refresh” in fieldTask to get the latest form. They can then mark off the attendance of all the children including those that arrived the day before.
- A medical specialist using a form called “vaccinate”, presses refresh in fieldTask before checking the children in a class. This will load the latest vaccination details into their phone.
This process is shown in the following video
The video showed a back office worker manually copying the daily enrolment data into the children CSV file. This task could be automated by implementing a custom web page. Apart from saving some effort for the back office administrators this would also apply updates faster resulting in more current data.
Other Applications of CSV files with Smap
CSV files storing data can be used in other applications, not just for school enrolments and vaccinations. For example asset management, managing workforce etc.