Hello everyone,
I work with carbon and agroforestry projects where the same farmer is visited many times over several years:
-
-
- A baseline survey, - FPIC consent, -Boundary mapping of the parcel,
-
- An implementation record, – then monitoring rounds.
-
Each visit is a different form, often filled by a different enumerator, and usually offline.
KoboToolbox handles each form well. The difficulty is the thread between them. Every submission is its own record, so “where is this farmer in the process, and what is still outstanding?” has to be answered outside Kobo.
What I am looking for
A short-term solution that works in KoboToolbox today. I am building a long-term solution in parallel (outlined at the end), but it is not ready for the field yet, so I need something that holds up in the meantime.
What I have tried or seen so far
- A farmer ID typed or scanned into every form, then joining the exports afterwards. It works until an ID is mistyped or a farmer is registered twice.
- pulldata() or select_one_from_file with a CSV of registered farmers. It works, but the CSV has to be regenerated and redeployed, and devices in the field carry an old copy.
- Dynamic data attachments linking a registration form to follow-up forms. Closer, but devices need a connection to refresh, and it gives you data from the parent form, not a status per stage.
- Validation status in the data table for review, with rejected records edited or resubmitted.
Questions for anyone doing longitudinal or case-based work
- How do you link visits to the same person or household? Which approach held up in the field?
- How do enumerators know, while offline, who is due for which form today?
- When a supervisor rejects a submission, how do you handle the correction without losing the original?
- How do you catch duplicate registrations?
- If you run part of this outside Kobo (a spreadsheet, scripts on the API, a BI tool), what is the lightest setup that worked for you?
- What still hurts most?
The long-term solution, briefly
For transparency, this is what we are building for carbon projects. It is still in development.
- An offline-first web app that installs on Android phones and tablets, built around the farmer record instead of the form.
- Each farmer is registered once, with a unique ID and a GPS location, and carries all five stages, each with its own status: not started, in progress, submitted, approved, or sent back.
- Forms are templates in English with conditional logic and validation, and a later form can read answers from an earlier stage.
- A supervisor reviews each submitted stage. A rejection comes back to the enumerator as rework and is saved as a new version, so the original is kept.
- Exports to CSV, GeoJSON and KML.
I mention it only so the answers can focus on the gap between now and then. Short-term workarounds are exactly what I need, and I am happy to share what has and has not worked for us in return.
Thank you,
Stephen
