Speaker
Description
Our StudyDB inherits a lot of functionality from previous Django development efforts. However, StudyDB faces some additional challenges as it is intended for data collection in the context of translational human studies (empirical and prospective research, clinical trials) and »electronic« questionnaires (interfacing with and processing data from our LimeSurvey server).
We would like to present our implementation of the following key concepts which might be of a more general interest and are not limited to database applications:
(1) Single Source of Truth: StudyDB manages about 1000 parameters in about 30 tables. We assembled JSON files for each table describing each parameter with its data type, expected range of values and a comment including the units of measurements if applicable (all files are managed in one repository on our Github server). We use this for JSON-Schema validation, generation of test data and Python (Django) source code, online validation of input data, defining function-type fields and automatically generated documentation.
(2) Timestamping as described in RFC3161 (using the “DFN Zeitstempel” service)
(3) A generic table viewer optimised for object-level database access including KaTeX based LaTeX rendering.
For further details, please see "Presentation Materials" section below.