Research Platform Extension

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.

Randomisation on site Pseudo-ID workflow Per-packet marking config CSV/JSON export

Implemented Data Model

Migration generated: atlas/migrations/0103_researchstudy_researchstudyarm_researchparticipant.py.

Participant Flow

This reuses current Atlas taking/timing/marking behavior and avoids changes to candidate-facing scoring internals.

Randomisation Logic

ModeBehavior
Completely randomWeighted random choice over active arms using allocation_weight.
Balanced (equal-fill)Assigns to least-filled active arm; tie broken randomly.
Balanced within groupIf enabled, balancing is applied within candidate_group strata.

Marking and Scoring

Current marker UI itself is unchanged; packet-specific configuration is reflected in study management and exports.

Management and Export

Management Views

  • /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

Exports

  • /atlas/research/<pk>/export.csv
  • /atlas/research/<pk>/export.json

Export rows include demographics, assignment metadata, credential ID, attempt status, and raw/normalised scores.

Files Added/Updated

Compatibility Notes