Generated: 12 May 2026
The Atlas app was extended to support multi-study research workflows that randomise participants to packeted case collections while reusing existing collection-taking, timing, marking, and attempt models.
ResearchStudy: study container with slug, active flag, demographic collection toggle, and randomisation mode.ResearchStudyArm: packet definition linked to existing CaseCollection, including weighting and marking scheme metadata.ResearchParticipant: pseudo-ID keyed participant with demographic fields, consent flag, assigned arm, and generated CID credential link.Migration generated: atlas/migrations/0103_researchstudy_researchstudyarm_researchparticipant.py.
/atlas/research/run/<study_slug>/<pseudo_id>/.CidUser credential is created and attached to the participant if needed.CaseCollection is launched via existing candidate collection routes.This reuses current Atlas taking/timing/marking behavior and avoids changes to candidate-facing scoring internals.
| Mode | Behavior |
|---|---|
| Completely random | Weighted random choice over active arms using allocation_weight. |
| Balanced (equal-fill) | Assigns to least-filled active arm; tie broken randomly. |
| Balanced within group | If enabled, balancing is applied within candidate_group strata. |
CidReportAnswer / UserReportAnswer.marking_scheme_namemarking_guidancescoring_mode and max_case_score for normalised exportsCurrent marker UI itself is unchanged; packet-specific configuration is reflected in study management and exports.
/atlas/research/ list studies/atlas/research/create/ create study/atlas/research/<pk>/ study detail + packets + participants/atlas/research/<pk>/update/ update study/atlas/research/<pk>/arm/<arm_id>/update/ update packet/atlas/research/<pk>/export.csv/atlas/research/<pk>/export.jsonExport rows include demographics, assignment metadata, credential ID, attempt status, and raw/normalised scores.
atlas/models.py, atlas/forms.py, atlas/views.py, atlas/urls.py, atlas/admin.pyatlas/templates/atlas/research_study_list.htmlatlas/templates/atlas/research_study_form.htmlatlas/templates/atlas/research_study_detail.htmlatlas/templates/atlas/research_study_arm_form.htmlatlas/templates/atlas/research_participant_entry.htmlatlas/migrations/0103_researchstudy_researchstudyarm_researchparticipant.py