Background: We would like to use ODK in a health care scenario where a Community Health Worker is administering a rapid diagnostic test (RDT) on a patient. Currently ODK can do most of what our custom app currently does, which is collect some patient data (symptoms, demographics) and walk the CHW through a few instruction screens on how to set up the RDT, then have a button that says "Start Timer" and the app forces the CHW to wait 10 minutes before proceeding to the next screen with instructions on reading the RDT.
The main gap in functionality if we switch to ODK seems to be the timer function. I would like to know how easy/hard it is for our team to add such a widget/function.
Base requirement: A button that says "Start Timer" and on click starts a countdown of n minutes. User cannot proceed to next screen of app until the time elapses.
Even better: Button says "Start Timer" and on click starts counting internally, but allows the user to proceed through some more screens (e.g., so that CHW can collect patient symptom and health history data during the RDT processing time of 10 minutes). Then forces the user to stop before a certain screen (the "Read the RDT Now" screen) until the time elapses.
Based on browsing the forums, it seems that to add timer functionality, we either need to (1) contribute this code to the ODK Github repository, or (2) take the source code and modify it ourselves. Am I correct that there are only these two options?
If we were to contribute to ODK, what is the process for getting the functionality added not only to ODK source but also specifiable via XLSForm and XForm?