Runtime requirements
The current app targets Android 11 or later (minSdk 30), with compileSdk and targetSdk set to 36. Use the study-specific app supplied by your research team. A shared public app-store download URL was not established from this repository.
Reading Samsung Health records requires Samsung Health on the phone and records to read. For studies using Health Connect, check both data sharing by the source app and DTRAC's read permissions.
Starting a study
- Confirm the app name, version, and participant device match the study configuration.
- Complete the enrollment flow used by the study.
studyIdandparticipantIdidentify the owner of data and remote uploads. - Check permissions and background operation.
- Submit one survey and verify that the required sensor and health records are stored.
- If server storage is enabled, verify that a local record reaches the server.
The current ui/index.json starts at home. Screens and enrollment can vary by study. Screenshots from the presentation are examples, not a universal default interface.
Configuration inputs
| Configuration | Android asset location | Purpose |
|---|---|---|
| Plugins and collection items | manifests/plugins/registry.json | Enabled state, types, source priority, allowlist |
| Questions and survey timing | Survey module's survey.json | Questions, choices, response window, audio policy |
| Screens | ui/index.json, ui/screens/*.json | Entry screen, screen inventory, UI nodes |
| Notifications | manifests/notifications/config.json | Channels and schedules |
| Study runtime | study_config.json | Study identity, duration, availability and anchor policies |
| Backend selection | manifests/services/backend.json | Firebase/Supabase and local-only/server storage |
Locations refer to assets inside the APK. Some files are injected when a study app is built; the installed configuration may differ from repository defaults.
Baseline collection
The baseline registry allows sensor and samsung_health. Ordinary Samsung Health pulls are limited to exercise, sleep, and heart rate. health_connect is disabled and absent from the allowlist. Read the runtime filtering described in plugin extensions before treating a configuration declaration as an active feature.