Skip to content
ImplementedFor everyone

Statuses

Last updated Oct 21, 2026

What this is, and who it is for

Every status in Trialion, with what it means, what moves it, and what it allows. If a move is not listed, the system refuses it. The transition tables below are read from the code by a script, so they cannot drift from it; the wording around them is checked by hand.

Where a status has two names, the code name (in monospace) is what the API and the exports carry, and the screen name is what people see.

Where to find it

Statuses appear as coloured labels on the screens: the state chip on a study's Overview, the version cards, the status of a participant in the Subjects list, the status of a query, a site, an export. A status you cannot change shows as a plain label; one you can change opens a menu of the moves that are allowed for your role. Which role may make which move is on Who can and cannot.

The study

A study has one state at a time. A study moves Setup → Active by itself when version 1.0 goes Live; every other move is a person's act with a written reason.

ActionFromToPermissionTwo people
holdActiveOn holdstudy.state.changeno
resumeOn holdActivestudy.state.changeno
close enrollmentActive, On holdClosed to enrolmentstudy.state.changeno
completeClosed to enrolmentCompletedstudy.state.changeno
lockCompletedLockedstudy.lockyes
unlockLockedCompletedstudy.lockyes
archiveLockedArchivedstudy.archiveno
State (screen name)Code nameWhat it is
SetupsetupThe study exists and is being prepared: the team, the documents, the design of version 1.0. There is no Live data yet
ActiveactiveVersion 1.0 is Live. Participants are screened and enrolled and data is captured
On holdon_holdEnrollment is paused; everything already enrolled carries on
Closed to enrolmentclosed_to_enrolmentNo new participants; data entry and cleaning continue
CompletedcompletedData entry has ended; only queries, source data verification, signatures, safety reporting and deviations continue; a value is corrected only by answering a query. No version work
LockedlockedThe database is frozen by two people with e-signatures. Nothing can be written
ArchivedarchivedRead-only for retention. This cannot be undone in the interface

What each state allows is a table on Who can and cannot. A written reason is required for every move.

A version of the design

A version moves through Build, UAT, sign-off and Go live; a study has at most one version in flight at a time.

StateMoves it offers
buildsubmit to uat, withdraw
uatpass cycle, fail cycle, withdraw
awaiting signoffsign, reject, withdraw
approvedgo live, withdraw
live(none: final)
superseded(none: final)
withdrawn(none: final)
StateCode nameWhat it is
BuildbuildThe design can be edited. This is the only state in which it can
UATuatThe design is frozen and under test in a cycle against test data
Awaiting sign-offawaiting_signoffA cycle passed; the three sign-offs (author, QA, approver) are being collected
ApprovedapprovedAll three signed, bound to the design the passed cycle tested; waiting for Go live
LiveliveThe released version. Its design is sealed; a change is an amendment
SupersededsupersededReplaced by a newer Live version. Data stays bound to it
WithdrawnwithdrawnSet aside before it went Live, with a reason

A UAT cycle is open, passed or failed; a failed cycle returns the version to Build. See Test a version in UAT and Sign off a version and go live.

A site

FromCan move to
registeredactive, closed
activesuspended, closed
suspendedactive, closed
closed(none: final)

A site is registered first, which lets it do nothing; it is activated with an ethics approval reference and date and a confirmation of training; suspended and closed need a written reason. Only an active site can enroll. A closed site takes no team. See Open a site.

A participant

FromCan move to
screeningenrolled, screen failed
enrolledactive, randomization failed, withdrawn, lost to follow up
activecompleted, withdrawn, lost to follow up
screen failed(none: final)
randomization failed(none: final)
completed(none: final)
withdrawn(none: final)
lost to follow up(none: final)
StatusCode nameWhat it is
ScreeningscreeningConsent and screening are recorded; the investigator has not yet decided eligibility
Screen failedscreen_failedThe investigator found the participant ineligible, with a coded reason. Data is kept
EnrolledenrolledEligible and enrolled; the visit schedule is generated from the baseline date
Randomization failedrandomization_failedEnrolled but never randomized (randomized studies only)
ActiveactiveOn study
CompletedcompletedFinished the study. Completion lists any unsigned forms and needs an acknowledgement
WithdrawnwithdrawnLeft the study, with a coded reason and a safety follow-up state
Lost to follow-uplost_to_follow_upCannot be reached, with a reason

A reason is required for screen failed, randomization failed, withdrawn and lost to follow-up. Data can be captured while a participant is screening, enrolled or active only; a completed participant's record is corrected only by answering a query. Eligibility is separate: pending, eligible or ineligible, decided by the investigator alone. See Change a participant's status.

A participant's visit

A visit has a stored status set when it is created (scheduled, or in_window for an unscheduled visit) and a window state that is worked out from the calendar every time it is read, so it is never stale. Only the window state gates data entry.

Window stateWhenData entry
Not yet open (not_yet_open)Before the scheduled date minus the days allowed before itBlocked unless an early-access exception with a reason has been recorded
In window (in_window)Inside the allowed rangeAllowed
Missed (missed)After the rangeAllowed: a late visit must still be recordable

The stored-status vocabulary also lists completed and out_of_window; the window state above is what governs data entry. A visit is never closed by being late, and nothing marks a visit "done": how far it has got is read from the records captured against it, and locking is per record.

A form's design and its records

FromCan move to
draftactive, archived
activedraft
archived(none: final)

A form in the design is a draft until it is made active; an archived form is retired. Only a draft form's content can be edited; reopening an active form for editing sets its visit bindings aside (see Versions, reopening and publishing). A record (one participant's answers to one form at one visit) is in progress or complete, and separately unsigned or signed and locked.

A query

FromCan move to
openanswered, escalated
answeredclosed, reopened, escalated
reopenedanswered, escalated
closedreopened
escalatedanswered, closed

Open, answered, reopened, escalated and closed; priority and response time are on Work with queries.

A serious adverse event's reports

StatusCode nameMeaning
PendingpendingThe initial report has not been made
ReportedreportedThe initial report was made. Terminal: a mis-filed report is a supervised correction, not a status write
Not requirednot_requiredThe event does not need an expedited report
FromCan move to
pendingreported, not required
not requiredpending, reported
reported(none: final)

A follow-up report is pending, sent or not required; the medical review is agreed, disagreed or needs information; the reconciliation with the safety database is matched or discrepancy. See Review and reconcile a serious adverse event.

A protocol deviation

StatusMeaning
OpenReported
Under ReviewBeing assessed
ResolvedClosed out
ReportableNeeds reporting to a regulator or an ethics committee

Any status can be set from any other, with a written reason: a move to Resolved or Reportable is a QA decision and must be attributable. Severity is Minor, Major or Critical. See Report a deviation.

A document

StatusMeaning
draftUploaded, not yet controlled
approvedThe version in force
archivedSuperseded or withdrawn, kept

An export

FromCan move to
queuedrunning, failed
runningready, failed
readyexpired
failed(none: final)
expired(none: final)

A ready export expires after seven days, after which its file is no longer served. See Export data.

Source data verification

Worked out per value when read:

StatusMeaning
pendingTargeted by the plan and never acted on
verifiedChecked against the source, and the value has not changed since
staleWas verified, but the value has changed since
discrepancyChecked and did not match; stays until it is verified again

A rule

FromCan move to
activedisabled, retired
disabledactive, retired
retired(none: final)

A retired rule is immutable and never deleted. A visit in the schedule is a draft, active or archived.

People, invitations and mail

WhatStatuses
An organizationactive, suspended (reversible; never deleted)
A person in the directoryactive, invited (invited, not yet signed in), suspended, locked
A membershipinvited, active, suspended, ended
An invitationpending (valid for 72 hours from the mail), accepted, revoked; a link that has expired or been replaced says so
A custom roleactive, suspended
A mailqueued → sent → delivered; bounced, failed and cancelled are the ends. With plain SMTP nothing reports a delivery, so a mail stops at sent and the screens say so

What the system records

A move of a study, a version, a site, a participant, a deviation, a query or a document is written to the audit trail with the person, the time and the reason (see Audit events). The status itself is never edited in place: the previous value stays in the history.

What you cannot do, and why

  • Move to a status that is not in the table. The system refuses it with validation.invalid_state_transition naming the status and the move.
  • Change a final status. Screen failed, completed, withdrawn, lost to follow-up, superseded, withdrawn (version), archived (study), closed (site) and reported (report status) are final in the interface.
  • Skip the two-person steps. Lock, unlock and the three version sign-offs need different people.

Compliance Q&A

Compliance Q&ABuiltPart 11 11.10(f)Annex 11 12ALCOA+ consistent
Does the system enforce the order of steps, or can a status be set to anything?

The order is enforced. Each lifecycle is a table in the code that names the moves allowed from each status; a move outside it is refused with a clear message, and for the lifecycles that matter most (versions, queries, signatures, team membership) the same rule is held by the database, so a different client or a direct connection cannot get round it. The tables on this page are read from that code.

Limits: a deviation's status is the one place where any status can follow any other; it is a classification with a written reason, not a sequence of steps.

Evidence: the *-lifecycle.ts, study-state.ts and version-state.ts filesdatabase triggers for versions (P0021 to P0023) and queries (P0027)tests of each lifecycle

Who can and cannot · Change the state of a study · Audit events · Screens