Skip to content
Browse docs

Trial endpoints and analysis

Define native endpoint analyses and shared statistical decisions with governed source relationships.

Open the appropriate Plan tab

The trial’s Plan navigation contains Design, Endpoints, Analysis, Derivations, and Activities.

  • Endpoints contains endpoint-specific definitions, measurements, dimensions and native analyses.
  • Analysis contains shared populations, sample sizes, multiplicity and interim plans.
  • Derivations shows the trial-wide dependency pipeline and configures calculations used by analyses.

All three surfaces edit the same governed Statistical record. Changes use the existing Save review, justification, comments, verification and version history. Switching between routes follows the normal unsaved-change protection. Save with a justification before leaving a changed draft.

Documents and Exports remain available through their existing workspace navigation. There is no additional Artifacts step. The separate governed Analysis Specifications owner maintains ADaM dataset and implementation metadata; the Plan Analysis tab does not replace it.

Define each endpoint

Select an endpoint tab beneath the Endpoints header. Tabs use the exact endpoint identities from Trial Summary, retain their complete titles and store selection in the URL for reload and browser Back/Forward. There is no second endpoint selector.

Trial Summary owns endpoint wording, objectives and estimands. Definition shows that saved context without creating another clinical source of truth. Objectives and estimands retain their own labelled sections.

The endpoint workspace contains:

  • Definition — the observed or derived variable and its data type.
  • Measurements — exact accepted Activity measurement sources, including their biomedical-concept release, immutable Activity version and accepted mapping identities.
  • Dimensions — an inline dimension and SmartPhrase form with ordered values and a generated slice preview. All-values scope is explicit; an absent value is not universal scope.
  • Analyses — named native computations with their own outputs.

Open an individual analysis to review its native outputs. Endpoints has no separate results/display editor or shared-decision section.

Measurement choices come from this trial’s Activities. Identical concept names do not establish a source relationship. Unscheduled measurements do not imply all visits, and unavailable or ambiguous sources require review.

Measurements has its own section and table of contents entry between Definition and Dimensions. Its relationship table shows human biomedical-concept names/codes, source Activity/design and scheduled visits. Open a row to review read-only Activity description, instructions, real version/duration details and release-pinned concept definition, result scales, synonyms and properties with data types, units and exact Activity mapping status when available. The source selector edits only the endpoint relationship; this is not biomedical-concept authoring. Activities opens the existing source-owner page. Unavailable saved Activity versions or catalog details are identified without substituting current records or inventing metadata.

Measurements select what is measured for an endpoint. Dimensions describe the context that distinguishes results: for example, Parameter = Maze error count, Visit = Week 12, or Population = POP1. A dimension can reuse a measurement’s meaning; it does not create another biomedical concept or Activity measurement.

Removing a measurement unlinks it from this endpoint only. Its source Activity and scheduled placements remain unchanged. If a dimension, analysis or derivation still references it, the drawer names those dependencies before changing the draft. The same guard rejects replacement of referenced source pins even when the measurement ID stays the same. Review the dimension’s measurement link and linked values, then update the named computations’ inputs and measurement scopes before retrying. Unrelated native values and identities are retained.

Configure dimensions

Choose dimensions in Dimensions, then use the grouped SmartPhrases control for one endpoint phrase and optional dimension phrases. Choices retain their exact pinned identity and template. A phrase category such as Parameter or Timepoint requires an explicit target; Topic and Parameter, or Visit, Timepoint and Analysis visit, remain distinct. No category target or governed record is chosen automatically. Method phrases do not create method symbols as dimensions. Existing imported method-reference values remain available in their options.

Each dimension has one full-width value control. Known Activity visits, populations, treatments and available pinned concept values appear as choices; supported custom values use text entry. Existing custom values, order, duplicates and independent measurement-linked rows remain retained. Dimension options expose measurement/source context without a second value table. Subject normally supplies participant context without a value field; existing authored Subject values remain editable.

Split by value chooses slice keys. The read-only Slices table derives Cartesian combinations from the current draft; no generated slice collection is saved. All values keeps explicit values intact. With an empty exhaustive dimension, the preview shows a symbolic All values cell. An empty non-exhaustive slice key remains unresolved. Removing a phrase does not erase its authored dimension values; remove a dimension explicitly when appropriate. Protocol endpoint wording is unchanged. Inline edits use the normal governed Save and Undo controls.

Analysis and derivation drawers share Details, Configurations, Slices, Scope, Bindings, Outputs, Phrases and Resolved expression tabs. Analysis also has Rationale. Hover over or focus a tab to read its description; panel content does not repeat the tab header. Configurations uses labelled method-setting fields. Scope separates native values from reviewed multi-select relationship mappings. Slices uses named dimension/value groups, including the scope-owned endpoint slice; native strings and array shapes remain retained. Bindings uses role-grouped cards with source and requirement controls. Advanced binding edits open the existing modal. Expression is a read-only formula preview. Outputs, comparisons and wording retain compact collection tables and guarded row modals with Create or Edit titles. Referenced records remain protected, and cancelling a row discards its pending changes.

Comparisons retain their exact arm and result-slot identities, and referenced comparisons cannot be removed. In Outputs, open an output row to change its dimension checkboxes and Save to apply the selection. In Phrases, use Add phrase above the table and confirm Create in the modal, or open an active phrase row to configure or remove it. Within computation drawers, selecting a catalog dimension value stages that value until Create. Required input bindings cannot lose their last binding. Read-only expression, input-meaning, property and retained-output rows open inspection modals with Close and no Save action. Analysis and derivation drawers place explicit Reassign endpoint in the header menu when another endpoint is available.

Each native row modal uses its actual top header for the title, icon and useful description. Known edits name the record directly, such as Edit LSMeans. Ordinary outputs omit redundant name, type and result-slot badges. Appropriate Create titles remain; role, source and cardinality badges appear only where useful. Field instructions, dependency warnings and clinical content remain below the divider; there is no second record header in the modal body.

Analysis and derivation tabs span the drawer width directly below its header. Fields retain standard padding within the selected pane. A referenced computation cannot be removed; focus or hover over the disabled Remove action to read the reason.

Ordinary endpoint-scoped authoring inherits the selected endpoint for new records without repeating the tab’s endpoint or objective summary in the drawer. A shared derivation keeps concise context for its actual owner while authorized content editing remains available. Use the separate Reassign endpoint action to intentionally change ownership; unassigned or multi-endpoint authoring retains its endpoint picker where needed.

Analyses inherit the sole endpoint-linked estimand without repeating its Definition display or showing another selector. The exact association is included on normal row Save, not written when the drawer opens. Multiple estimands remain an explicit choice. Existing saved links are retained even when unavailable or inconsistent with the current endpoint; review notices identify relationships that need attention rather than silently replacing them.

Author native computations

Use Add analysis in an endpoint’s Analyses section to choose a compatible native template. Choices follow the endpoint concept category and the pinned Observation-to-Measure proxy, are grouped by analysis category, and show their descriptions. A template already used by that endpoint is excluded from new creation; retained imported rows remain unchanged. Create stages the named analysis and opens its standard drawer. It carries authored native dimensions and category targets into the new draft. The pinned native Baseline draft default does not select a governed baseline visit or confirm a data source. Review those mappings separately. Cancel leaves the draft unchanged, and removing an unreferenced analysis makes its template available again.

Each analysis has its own name, native transformation, typed inputs, scope and assumptions. Its role is Primary, Sensitivity, or Supplementary. Sensitivity and supplementary analyses link to their primary analysis rather than being stored in a second legacy collection.

A template initializes an editable instance. Its library identity and method summary remain pinned, while the instance’s input/output bindings and settings remain configurable. In the selected computation, compact binding blocks keep category choices and their own named-slice fields together. Edit binding opens the existing full editor for role, concept, direction, classification, qualifiers and slice assignment. Add Input and Add Output in their respective section headers stage a new row through Create. Missing required roles remain draft findings rather than locking the instance to its original binding list. An output used by other computations exposes View consumers so its exact dependencies can be disconnected or reassigned before its identity changes.

Select the applicable populations, endpoint measurements, trial visits and arms. These relationships are validated by the server against their same-trial owners. Adding labels or identifiers as free text does not establish membership. Named native slices retain their own selected values and source references.

Trial Summary owns each estimand’s clinical intercurrent-event definitions and strategies. Native analysis rows record how those events are implemented, together with missing-data assumptions and rationale. Advanced native content retains authored phrases, expressions and imported extensions; editing another field does not authorize silently replacing them.

Analysis result slots come from the selected pinned native method. Treatment comparisons identify their exact numerator and denominator arms and supported output slots. Optional displays may combine several results, and the same result may appear in several displays. Displays own title, type, caption and separate footnotes, rather than a duplicate computation or purpose specification.

Configure the derivation pipeline

Selecting a derivation presents four standard page sections, in this order: Selected Derivation, Inputs, Outputs and Method Configuration with its pinned method OID, such as M.Aggregation. The table of contents uses the same labels and anchors. Selecting a linked source displays its producer; selecting a context or unresolved input keeps its owning derivation visible and highlights that input. The vertical summary table shows Name, OID, Method, Output and Description. Compact binding cards show native roles, exact concept identities and classification, with category and slice controls beneath. Click the binding row or source icon to open the full editor. The Add Input and Add Output header menus offer pinned template choices and a custom binding; valid new rows can be created directly, while role limits and removal guards remain active. Outputs owns output bindings and settings, and Method Configuration remains last even when the method has no configuration fields. Open Edit for advanced phrases, expressions and assumptions. An actual analysis owner uses Selected Analysis instead.

An Inherited slice section appears between Selected Derivation and Inputs only when the selected source occurrence provides a real named slice. Its shared header shows the native slice name, with regular form fields in two columns on wider screens and one column on smaller screens, plus its own table-of-contents entry. Editing it updates that consumer’s slice, leaving the shared producer and other consumer contexts unchanged. Opening effective values does not author them; changing one inherited field does not materialize other defaults. Direct producer selection omits the inherited section.

Open Plan → Derivations to see analyses across all endpoints, their individual input bindings and upstream calculations. Shared outputs appear once with their exact consumers. Unreferenced retained derivations remain visible in the unfiltered inventory. Optional endpoint and analysis filters narrow the view; the default is trial-wide. The graph opens at a readable root. Fit all provides an overview, while Focus root restores the readable starting point. Selection does not reset the viewport. The Templates browser remains beside the chart on wide screens, with the full-width selected instance below; the table of contents keeps Dependency flow first.

The All derivations table remains available regardless of the graph filters. It lists every retained calculation, including unused drafts, with its endpoint, transformation and current dependency status. Click a row or focus it and press Enter to open the existing derivation drawer. Configure the draft there or remove it when it has no consumers; referenced calculations retain the normal removal guard. The table is an index into the same records, not another editor or a copy of the pipeline.

The Templates panel follows the selected node’s actual slot/output. Selecting a producer shows its current template and compatible alternatives—for example, LOCF offers the compatible Measure templates, while Change from baseline offers the exact Change producer. Applying an alternative replaces that producer instance in place, keeping its ID, scope and exact shared consumers. Selecting an unresolved measure input instead initializes and connects a new producer. Repeating the active choice neither duplicates nor resets the edited instance. Confirmed structural sources remain terminal; an idle or terminal selection shows guidance rather than a disabled unrelated catalog. Pipeline outputs remains available for explicit input-source reuse. Analysis templates remain in Add analysis.

Within a binding, a displayed value may come from authored content or effective template context. Opening the editor does not dirty the page or materialize defaults. Editing one field creates only that field’s override. For example, changing the effective baseline visit to a custom native string does not also author the effective Parameter value. Visit suggestions do not restrict native text and do not select governed visit records. Existing authored aliases, array shapes and unknown siblings remain intact; ambiguous retained keys are shown for review rather than chosen automatically. Governed mapping controls remain separate from this native binding task.

  • Pipeline outputs reuses a compatible existing output without creating a duplicate derivation.
  • Templates creates a producer for an input or replaces the selected producer in place. Native output concept/type/role and exact consumer references govern compatibility. New unresolved inputs and required settings still need configuration.
  • Source data links the exact endpoint definition; measurement details inspect its accepted Activity source without editing that source.

Output reuse requires the producer and consumer to have the same endpoint owner under the current native contract. Other endpoints remain visible but cannot be linked by matching labels. Exact output identities, source types and cycle checks govern selection. No source is selected automatically.

Source selection alone does not make a computation ready. Required inputs, named-slice values and settings must resolve; unresolved calculations remain draft and the dependency order is withheld. When the visible pipeline is complete, the order lists upstream computations before their consumers. This is a planning order, not evidence of execution or clinical approval. Pipeline edits stage in the governed page draft; use Save with justification to persist or Undo changes to discard them.

Edit shared decisions once

Use Plan → Analysis for the original shared records:

  • Define each population once, including its criteria and optional cohort or parent-population relationships.
  • Link a sample-size record to all analyses it supports. Joint scope is retained as a collection rather than reduced to one analysis.
  • Define hypotheses, families, initial alpha and alpha transfers in the multiplicity graph. Hypotheses target exact native analysis/result/comparison identities.
  • Define interim schedules and boundaries, then explicitly select hypotheses or all confirmatory hypotheses. Missing scope never means all endpoints.

Scientific validation retains alpha budgets, transfer weights, cycle policy, information fractions, look identities and boundary constraints. Structurally valid identifiers alone do not make an analysis plan scientifically complete or approved.

Analysis is the sole authoring surface for these shared records. Their controlled references and review context show the affected analyses and endpoints without creating endpoint-local copies.

Import and exchange AC/DC JSON

Choose Import AC/DC JSON from the page menu. For a reference-app Save file, explicitly map each source endpoint to its intended Trial Summary endpoint and choose Apply. Cancelling mapping leaves the draft unchanged. Mapping source names is a reviewer decision, not a label-based import heuristic.

Review native values and governed mappings separately in the scope editor. Mapping POP1 to a population retains POP1; mapping a parameter to an accepted Activity measurement retains its original native identity. To change Week 24 to Baseline, edit the native value and then explicitly map it to the Baseline visit. Local record identifiers are not replacements for native values. The imported native sections replace the draft’s current native sections; shared decisions and downstream bindings must still resolve before Save. Use an empty authoring target when evaluating an unrelated reference file.

The retained source preserves unknown fields, array order, custom expressions and phrases. Native authoring export projects reviewed edits back into the reference Save representation while retaining unedited source content. TrialStack-only governance metadata is not inserted into upstream native syntax.

For a graph with retained unambiguous source coordinates, reference export writes changed producer references and each derivation occurrence’s configurations and slices to the reference application’s native slot fields. Unsupported structural changes, unresolved source associations, arbitrary phrase or expression edits, and unsupported per-derivation output edits block reference export instead of leaving stale source settings in a seemingly successful file. The governed record remains retained for review. Native authoring interchange is JSON; the reference application’s separate Define-XML download is not an XML authoring import contract.

Exports distinguishes:

FormatMeaning
Native trial JSONA resolved upstream native trial document, with findings for authoring semantics that cannot be represented losslessly.
AC/DC authoring JSONThe reference-app Save shape (acdc-study-instance.schema.json), projected from a retained reference Save and reviewed native edits. Missing source or unrepresentable selections block this export rather than producing a private wrapper.
eSAP JSONThe current canonical TrialStack structured specification with exact source pins and findings, schema version 3.0.

This is a hard cutover of the application authoring contract. Retired statistical methods, planned-output collections, conversion flags and legacy authoring envelopes are not converted or accepted as current writers. Historical database versions and export artifacts remain immutable.

Distinguish planning, documentation and implementation

Documents drafting receives current structured endpoint and analysis content. Unmapped or foreign native source records, raw reference envelopes and unknown extensions are retained evidence, not current clinical instructions. Missing relationships and ambiguity remain findings. Generated SAP prose still requires ordinary document review and approval.

Analysis Specifications pins the exact same-trial Statistical and SDTM mapping versions and owns datasets, variables, parameters, source bindings and result implementation. TFL metadata uses exact native results and optional display selections; a display with a missing result implementation is not emitted as a falsely complete shell.

Participant data, executable programs, populated datasets, operational statistical validation and vendor execution remain external. A successful metadata export or reference-app Load does not establish clinical approval, live vendor compatibility or standards certification.