Action for Happiness
Log in

← All schema domains · View source on GitHub →

Cohort

A reusable group of learners with a facilitator and a defined window. Cohorts don't pick a course themselves — ENROLLMENT does, so the same cohort can run different courses over time.

See also: course (curriculum), user (facilitator + learners), theme (forum reachable via the course's theme), nudge (delivery logs tied to enrollment).

Tables

COHORT

Group metadata — name, window (start_dateend_date), facilitator, and capacity cap. status walks upcomingactivecompletedarchived. The cohort itself just describes the group; it's ENROLLMENT that puts users in it and ties them to a course. Forum is reachable indirectly via the course's theme.

id              coh_april_2026
facilitator_id  usr_09_teacher
title           April 2026 — Active April group
description     A 30-day wellbeing group facilitated by Sam.
status          active
capacity        50
start_date      2026-04-01
end_date        2026-04-30

ENROLLMENT

The active link: it places a USER in a COHORT and assigns them a COURSE to work through inside that group. It's also the context every learner activity hangs off — both USER_ACTION and QUESTION_ANSWER reference enrollment_id, so the same user's behaviour in different runs stays cleanly separated. status is one of active, completed, dropped, paused; the timestamp columns reconstruct the lifecycle: enrolled → last active → completed or unenrolled.

id              enr_01_april_maya
user_id         usr_42_maya
course_id       crs_01_gratitude
cohort_id       coh_april_2026
status          active
enrolled_at     2026-03-28T16:00:00Z
last_active_at  2026-04-15T08:14:00Z
unenrolled_at   null
completed_at    null