Data model

How StudyTrax organizes people, studies, and collected data.

Customer → Project → Site → User

Customer
  └── Project
        ├── Site(s)
        ├── Users (roles at customer, project, or site)
        ├── Variable Groups (forms / CRFs)
        ├── Intervals (visit definitions)
        ├── Encounters (one interval, one subject, one time)
        └── Custom Entities (live)
  • Customer — the organization account. Shared people, sites, and reusable forms live here. In the staff app, go to Customer (left nav: Users, Sites, Variable Groups, Medications, Subjects).
  • Project — one study or registry: forms, visit schedule, and who can do what.
  • Site — a location on the project. Most project roles are granted per site.
  • User — a staff account, created once, then added to projects. See Add a staff user.

Variable Groups (forms / CRFs)

A variable is one question. A Variable Group is a form (CRF, questionnaire, instrument): the variables plus layout. Create a group once; attach it to many visits.

Three kinds:

KindWhen it is collected
Universal Subject VariablesAcross all projects for that person. Re-enrollment should not require re-entry. A project can hide any of them.
Project VariablesOnce per subject in this project (example: discontinuation date).
Encounter VariablesAt visits. The same group can attach to many intervals.

Interval vs Encounter

  • Interval — the visit definition (Baseline, Week 12, an ad-hoc log). Fixed intervals are scheduled from Baseline. Non-fixed intervals are ad-hoc or repeating.
  • Encounter — one instance of that interval for one subject.

Reference ID vs Project ID

IDRequired?Unique howMeaning
Reference IDYesAcross all projects (customer-wide)The same person in every project they join. Optional auto-template at the customer.
Project IDOptional per project; if on, every subject in that project needs oneInside that projectOptional auto-template; can sequence by site.
Subject NameOptionaln/aFields may be left blank.

What you search by and what you export can be set separately so exports can omit identifiers.

Custom Entities

Custom Entities are live. They are a current part of the data model, not a future feature.

What you store on a Custom Entity, and the click-path to create one, are not documented here yet. See GAPS.

Changing definitions

  • You cannot make a data definition more restrictive. A change must keep the existing definition valid.
  • To change a variable's data type, create a new variable. Do not edit the type in place.
  • Type is set when you create the variable. Public docs name these types: numeric (optional min/max), text, date, categorical, checkbox.