Pages Reference
This document describes the purpose and function of each page in the Metricis portals.
Researcher Portal (portal/)
Global Pages
| Page |
File |
Purpose |
| Login |
Login.tsx |
Authentication page for researcher credentials |
| Welcome |
Welcome.tsx |
Global dashboard landing after login |
| Studies |
Studies.tsx |
Studies work queue. Lists all studies with stats, allows creating new studies with classification wizard |
| Study Team |
StudyTeam.tsx |
Study membership + roles (DAG site assignment) |
| Reports Library |
ReportsLibrary.tsx |
Saved report definitions (M39) |
| Report Builder |
ReportBuilder.tsx |
Interactive report authoring |
| Data Exports |
DataExports.tsx |
Governed export definitions + async jobs (M58) |
| Snapshots |
Snapshots.tsx |
Materialized data cuts for interim/DSMB (M58 P7) |
| API Tokens |
ApiTokens.tsx |
Scoped mtk_ token management (M58 P5) |
| Queries Dashboard |
QueriesDashboard.tsx |
Cross-study data query worklist |
| Assessment Queue |
AssessmentQueue.tsx |
Overdue/pending assessment triage |
| Assessment Sessions |
AssessmentSessions.tsx |
Session listing + drill-down |
| Monitor Compliance |
MonitorComplianceDashboard.tsx |
Monitor persona compliance dashboard (M54 P4) |
| Account Sessions |
AccountSessions.tsx |
The signed-in user's active sessions |
Study-Scoped Pages
Pages accessible when a study is selected.
Study Configuration
| Page |
File |
Purpose |
| Study Detail |
StudyDetail.tsx |
View/edit study properties, manage batteries, consent forms, sites, arms, and rare pediatric configuration |
| Study Overview |
StudyOverview.tsx |
Dashboard view for a specific study showing key metrics, recent activity, and quick links |
| Study Events |
setup/StudySetupEvents.tsx |
Manage visit windows (timepoints) within a study. Events define the assessment timeline for participants. On live studies (M119) schedule changes require a recorded reason (banner + reason field in the modal, ReasonDialog on delete); window-narrowing over scheduled visits is blocked with an emergency-override path |
| Study Assistant |
StudyAssistant.tsx |
AI-powered configuration assistance. Document upload, protocol ingestion, battery config via ChangeSet review |
Participants & Sessions
| Page |
File |
Purpose |
| Participants |
Participants.tsx |
List, create, and manage study participants. Supports REDCap sync for managed studies |
| Participant Detail (M114: + Schedule & Data tab — expected events × forms/batteries matrix with derived completion states + unscheduled-input bucket) |
ParticipantDetail.tsx |
Comprehensive view of a single participant: demographics, sessions, scheduled visits, phenotype timeline |
| Assessment Sessions |
AssessmentSessions.tsx |
Monitor assessment session completion status, view details, track progress by participant |
| Assessment Queue |
AssessmentQueue.tsx |
EDC integration queue showing queued, in-progress, and completed assessments. Actions for delivery and reconciliation |
| Data Entry |
DataEntry.tsx |
CRF/form completion interface using the native FormSpec forms engine. Shows pending forms by participant/visit |
Scheduling
| Page |
File |
Purpose |
| Schedules |
Schedules.tsx |
Manage visit windows, view upcoming/overdue scheduled visits, configure reminders |
Analytics & Export
| Page |
File |
Purpose |
| Reports |
Reports.tsx |
Study analytics and reporting with charts (enrollment trends, completion rates, site performance) |
| Export |
Export.tsx |
Download study data in various formats (CSV, JSON). Includes SDTM export and validation functionality |
| Monitor Compliance Dashboard |
MonitorComplianceDashboard.tsx |
Track protocol amendment compliance: consent re-execution status, version distribution, deviations |
Consent
| Page |
File |
Purpose |
| eConsent Designer |
EConsentDesigner.tsx |
Create/edit consent versions with sections and configure Part 11-supporting signature requirements (participant, LAR, witness, investigator) |
| Page |
File |
Purpose |
| Metadata Versions |
MetadataVersions.tsx |
Manage study metadata versions for amendment tracking and audit trail. When the study opts into per-site form-version authorization (config.constraints.site_version_authorization), also hosts the sites × forms REB authorization matrix (SiteFormAuthorizationMatrix, M117) — authorize/supersede/revoke the version each site enters data on |
A dedicated module for form/CRF management with its own layout and navigation.
| Page |
File |
Purpose |
| Form Library |
FormLibrary.tsx |
Browse template library, copy templates to study, native FormSpec preview |
| FormStudio |
studio/FormStudio.tsx |
Visual FormSpec builder (M29): structure rail, type-aware property panel, live lint + engine-driven preview, JSON source view, draft save/release. Routes: forms/new, forms/:formId/design |
| FormSpec Review |
FormSpecReview.tsx |
Review AI-drafted form proposals (provenance, lint findings, live preview); accepted items land as drafts editable in FormStudio |
| Form Entry |
FormEntry.tsx |
Staff data entry on the native renderer with workflow actions (start → lock) |
| Form Preview |
FormPreview.tsx |
Preview a form's appearance and behavior (responses not saved) |
| Validation Rules |
ValidationRules.tsx |
Manage study-scoped validation rules |
Admin Pages (admin/)
Global administration pages not scoped to a specific study.
| Page |
File |
Purpose |
| Module Registry |
ModuleRegistry.tsx |
Browse all available assessment modules (cognitive tasks, questionnaires) with metadata |
| Batteries |
Batteries.tsx |
List and manage assessment batteries across studies. On live studies the raw status select is replaced by an Archive action — delivery changes go through battery versions (M118) |
| Battery Builder |
BatteryBuilder.tsx |
Drag-and-drop builder for composing batteries from modules. Hosts the BatteryVersionsPanel (M118): draft → approve → release battery versions with frozen module snapshots, breaking-change labelling, and an editability banner when the study is live |
| REDCap Config |
REDCapConfig.tsx |
Configure REDCap integration: API tokens, field mappings per battery, webhooks |
| Users |
Users.tsx |
User management for portal access |
| User Detail |
UserDetail.tsx |
View/edit individual user details and permissions |
| Audit Trail |
AuditTrail.tsx |
Searchable view of all audit events for compliance monitoring. Export functionality for regulatory inspections |
| Account Sessions |
AccountSessions.tsx |
View and manage active user sessions |
Registry Pages
For patient registry management (separate from clinical studies).
| Page |
File |
Purpose |
| Registries |
Registries.tsx |
List all patient registries with create functionality (optional purpose-classification seed at creation, M112). Types: observational, trial-adjacent, platform, patient-initiated |
| Registry Overview |
RegistryOverview.tsx |
Operational glance for a specific registry: stats, recent participants, purpose badges, needs-attention card (M113), registry forms + modules/instruments cards (M115), setup checklist. Configuration lives in Registry Settings (M112) |
| Registry Settings |
registry-settings/RegistrySettings*.tsx |
Settings namespace (/registries/:id/settings/*, M112): profile + purpose classification, reporting & adherence (delivery cadence + staff flagging policy), enrollment, consent, participant portal, data-management plan (custodian/retention + 10 documented sections, server-stamped) |
| Registry Participants |
RegistryParticipants.tsx |
Manage registry members |
| Registry Participant Detail |
RegistryParticipantDetail.tsx |
Individual registry participant profile — Overview / Data & Adherence (M113: per-instrument cadence heatmaps, staff-only follow-up flags, read-only response viewer, bridged cognitive sessions) / Phenotypes / Consent / Biospecimens (M57 links/collection-context/derived-results/proposals + M90 live bio inventory & consent-gated distribution-request workflow via BioSamplesPanel) tabs |
| Cohort Detail |
CohortDetail.tsx |
View/manage a specific cohort within a registry |
| Registry Analytics |
RegistryAnalytics.tsx |
Analytics and reporting for registry data |
| Registry Form Preview |
forms/RegistryFormPreview.tsx |
Read-only render of a registry-owned form's latest version (M115); FormStudio serves registry scope via registries/:id/forms/new + /design routes |
| Drafted Changes Review |
forms/DraftChangesReview.tsx |
REDCap draft-mode analogue (M116), both scopes (…/forms/:formId/review-changes): classified change table (safe/caution/critical/blocked + remediation), verdict banner, four-eyes approve, release with recorded reason + optional Part 11 e-sign |
| Form Change History |
forms/FormChangeHistory.tsx |
Per-form change ledger (M116), both scopes (…/forms/:formId/changes): released versions with the frozen classification/reason/impact/DQ from each release's hash-chained audit event |
Patient Portal (patient-portal/)
Mobile-first interface for patients and caregivers.
Authentication
| Page |
File |
Purpose |
| Login |
Login.tsx |
Patient authentication (magic link entry) |
| Verify Link |
VerifyLink.tsx |
Magic link verification and session establishment |
Main Pages
| Page |
File |
Purpose |
| Home |
Home.tsx |
Landing page showing pending tasks, consent status, and quick actions |
| Tasks |
Tasks.tsx |
List of all assigned tasks (assessments, forms, etc.) |
| Task Detail |
TaskDetail.tsx |
View details of a specific task and launch it |
| Assessments |
Assessments.tsx |
View pending and completed cognitive assessments |
| Assessment Landing |
AssessmentLanding.tsx |
Pre-assessment instructions and launch screen |
Consent
| Page |
File |
Purpose |
| Consent |
Consent.tsx |
View consent documents and status |
| Consent Sign |
ConsentSign.tsx |
Sign consent forms with signature capture |
Other
| Page |
File |
Purpose |
| Schedule |
Schedule.tsx |
View upcoming visits and assessment schedule; mode-aware — Metricis-managed (EDC) studies show StudyEventInstance visits with repeating-event occurrences labeled "(k/N)" |
| Survey Runner |
SurveyRunner.tsx |
Token-authenticated native FormSpec runner (public route; offline-first, M40/M63) |
| Diary |
Diary.tsx |
Registry check-ins (DiaryRunner, M45): /diary = daily; /diary/weekly = Weekly Capacity, period-keyed to the local ISO week's Monday (M78). Home lists due check-ins from /portal/diary/due |
| JoinRegistry |
JoinRegistry.tsx |
Public enrollment funnel entry /join/{registryCode} (M79/FD-1) — enumeration-safe interest capture; emails a 72h continuation link |
| Resources |
Resources.tsx |
Registry resources /resources (M84/FD-5) — staff-curated education content; route/nav appear only when the protocol enables the surface; consent-gated server-side |
| Onboarding |
Onboarding.tsx |
Registry onboarding wizard /onboarding (M81/FD-3) — derived resumable steps: consent → baselines (FormRunner) → device prompt → first check-in |
| RegistryConsent |
RegistryConsent.tsx |
Registry consent status /consent (M80/FD-2) — current consent + purposes, sign/assent CTAs, staff-mediated withdrawal statement |
| RegistryConsentSign |
RegistryConsentSign.tsx |
Registry consent wizard /consent/sign (M80) — read → purpose choices → drawn/typed signature → confirm; actor + assent ladder enforced server-side |
| RegistryAssent |
RegistryAssent.tsx |
Child assent capture /consent/assent (M80) — second signature on the guardian-signed consent |
| Transition |
Transition.tsx |
Young-adult transition to adulthood /transition (M56) — at the age of majority, ownership transfers from caregiver to participant: collected-data summary → purpose choices (narrowing) → participant-actor sign (new grant supersedes the guardian consent); decline is recorded for staff follow-up (withdrawal stays staff-mediated). Capture/research use are held server-side between majority and the new grant. Coordinator worklist: RegistryReconsentCard on the registry overview |
| StudyInterest |
StudyInterest.tsx |
Public study interest capture /interest/{studyCode} (M83/FD-7) — contact capture for the coordinator queue; not self-enrollment |
| JoinContinue |
JoinContinue.tsx |
Public funnel continuation /join/continue?token=… (M79) — eligibility screener (FormRunner) → review → submit; creates a login-blocked pending enrollment awaiting coordinator approval |
| PublicSite |
PublicSite.tsx |
Public information sites /registry/{code} + /study/{code} (M87/FD-8) — staff-published per-registry/per-study content (EN/FR, EN fallback); join/interest CTAs derived server-side from the live FD-1/FD-7 knobs; unknown and unpublished codes 404 identically. Authored via the researcher-portal PublicWebsiteCard (registry + study overviews, audited; live-preview markdown editor + theme/logo/hero since M89). The SEO-canonical rendering is the edge renderer (workers/public-sites/, M89): server-rendered HTML with OG/hreflang/sitemap, per-registry custom-domain-ready; the SPA page emits rel=canonical to it when VITE_PUBLIC_SITE_BASE is set |
| Dashboard |
Dashboard.tsx |
Participant/caregiver trends — non-diagnostic posture (M49) |
| Summary |
Summary.tsx |
Post-assessment summary and completion confirmation |
| Settings |
Settings.tsx |
Account settings, language preferences, notification preferences |
| Contact |
Contact.tsx |
Contact information for study team support |
Route Patterns
Researcher Portal
/ → Studies (dashboard)
/login → Login
/studies/:studyId → StudyDetail
/studies/:studyId/overview → StudyOverview
/studies/:studyId/events → StudySetupEvents
/studies/:studyId/participants → Participants
/studies/:studyId/participants/:participantId → ParticipantDetail
/studies/:studyId/sessions → AssessmentSessions
/studies/:studyId/reports → Reports
/studies/:studyId/export → Export
/forms/:studyId/events → EventFormSchedule (forms module)
/forms/:studyId/library → FormLibrary (forms module)
/admin/modules → ModuleRegistry
/admin/batteries → Batteries
/admin/audit → AuditTrail
/registries → Registries
Patient Portal
/ → Home
/login → Login
/tasks → Tasks
/tasks/:taskId → TaskDetail
/assessments → Assessments
/consent → Consent
/schedule → Schedule
/settings → Settings