@DanT and I had a very good session today where we had some hands on experience with dashboards.
While talking about how samples will be processed in the lab a couple of topics were arising.
Before a batch of samples is processed, calibration is necessary where linear regression is used to create a fit. One option would be to hardcode the calibration then inside the measurement script. The more ideal option would be to do a survey for the calibration, pair it with an ID and then fetch the calibration during the measurement from the web application (via JSON or CSV). The ID of the calibration is entered as text question inside the measurement survey.
Micro Surveys vs Large Surveys
In General most surveys will consist of an ID which identifies the sample or the sample location and a series of measurements.
In the lab, the flow is to run a certain measurement for every single sample. This has the effect to leave many surveys open. Finding the proper survey would require a search function where partially answered surveys are queried for a specific sample ID.
Another option would be to create micro surveys, where the survey would only consist of a single measurement and ID. Then in the dashboard, all data would be pulled together and joined on the sample ID.
Benefits of micro surveys
- survey is done after single measurement
- integrity of data could be better (if something goes wrong, with the entire data set, only single measurement is affected)
- possibly assign multiple measurements for single ID may be helpful
- allows service technician to complete simple survey without lab needing to continue started survey
- could benefit comparability of data (?) or the opposite (?)
Benefits of long surveys
- clearly shows user the progress within a survey
- strongly coherent data sets
- clear indication when survey is completed
- fewer surveys
Both options have their benefits. For downloading a single CSV currently the long surveys are the only option, yet building a dashboard that merges multiple surveys into a single CSV would not be too difficult to implement.
A mix of both options would allow service technicians in the field to have a longer survey with the benefit of fewer surveys and clear indication of progress, and the lab to split the rest into small surveys for maximum efficiency.
This is a topic which we need to discuss further to come to a clear conclusion, the good news is that both methods are possible to do in practice with the current setup. For efficiency the only feature currently missing in the Android application is the option to search survey for an ID oder generic content.