Tutorials › Biostatistics › Disposition Tables: CONSORT-Style Reporting

Clinical Trial Reporting Analysis

Disposition Tables: CONSORT-Style Reporting

A practical guide to disposition tables and CONSORT-style participant-flow reporting in clinical trials, including treatment exposure, discontinuation, study completion, analysis populations, denominators, reconciliation, quality control, and implementation in R.

Intermediate 18 min read

What You'll Learn

  • What a disposition table is and how it supports CONSORT-style reporting
  • How randomized, treated, completed, and discontinued populations relate
  • How to report treatment and study discontinuation separately
  • How to present discontinuation reasons and choose appropriate denominators
  • How to reconcile analysis populations and subject-level data
  • How to build, validate, and QC disposition tables in R

Introduction

In a clinical trial, the disposition table answers one of the most basic — and most important — questions in a Clinical Study Report: What happened to the patients who entered the study?

A well-designed disposition table traces patients from randomization or treatment assignment through treatment exposure, treatment discontinuation, study completion, and the analysis populations used for the major efficacy and safety summaries.

Although disposition tables are often treated as simple counting exercises, they are actually an important part of the reporting architecture of a clinical trial. The numbers must reconcile across the study, treatment arms, analysis datasets, and related tables. A reader should be able to move from the disposition table to the CONSORT flow diagram, subject-level listings, exposure summaries, and analysis populations without encountering unexplained differences.

Key idea: A disposition table is not merely a list of counts. It is a structured accounting of the trial population. Every patient should have a traceable path from entry into the study through treatment status, discontinuation status, and analysis-population membership.

What Is a Disposition Table?

A disposition table summarizes the status of study participants at important stages of a clinical trial. Depending on the study design, it may include:

  • Patients randomized
  • Patients treated
  • Patients who completed treatment
  • Patients who discontinued treatment
  • Reasons for treatment discontinuation
  • Patients who completed the study
  • Patients who discontinued the study
  • Reasons for study discontinuation
  • Full Analysis Set or other efficacy-population membership
  • Safety Analysis Set membership
  • Other prespecified analysis populations

The exact structure should follow the protocol, Statistical Analysis Plan (SAP), table shells, and reporting requirements for the study. There is no single disposition-table layout that is correct for every trial.

Disposition Table vs. CONSORT Flow Diagram

Disposition tables and CONSORT-style flow diagrams communicate related information, but they serve different purposes.

Feature Disposition Table CONSORT-Style Flow Diagram
Primary purpose Detailed accounting of patient status Visual summary of participant flow
Reasons for discontinuation Can be shown in detail Usually summarized visually
Analysis populations Can be explicitly tabulated Can be referenced or summarized
Multiple treatment arms Highly detailed Usually shown side-by-side
CSR use Detailed statistical reporting High-level participant-flow overview
Reconciliation Supports exact count checking Provides visual confirmation

The strongest reporting package often uses both: the CONSORT-style diagram provides the rapid visual overview, while the disposition table provides the numerical detail.

What Does “CONSORT-Style” Mean?

A CONSORT-style presentation emphasizes the movement of participants through the trial. For a randomized trial, the reader should be able to distinguish at least:

  • Patients assessed for eligibility
  • Patients excluded before randomization
  • Patients randomized
  • Patients allocated to each treatment
  • Patients who received the assigned treatment
  • Patients who did not receive the assigned treatment
  • Patients who discontinued treatment and why
  • Patients included in the relevant analyses

The presentation should make the denominators and treatment-arm assignments unambiguous. A disposition table should never force the reader to guess whether a count refers to randomized patients, treated patients, or an analysis population.

An Actual CONSORT-Style Disposition Example

The following example uses simulated data from a two-arm randomized clinical trial. The numbers are illustrative and are designed to demonstrate reconciliation.

Figure 1. CONSORT-Style Participant Disposition
Simulated example showing participant flow from screening through treatment, discontinuation, and analysis.
Assessed for eligibility
n = 248
↓
Excluded
n = 48
Not eligible, n = 37
Other, n = 11
Randomized
n = 200
↓
Treatment A
Allocated: n = 100
Received: n = 98
Did not receive: n = 2
Treatment B
Allocated: n = 100
Received: n = 99
Did not receive: n = 1
↓
Treatment A
Completed treatment: n = 72
Discontinued: n = 26
Treatment B
Completed treatment: n = 78
Discontinued: n = 21

All numbers are simulated. The diagram is intended to demonstrate structure and reconciliation rather than represent a particular trial.

The Fundamental Reconciliation Rule

The first rule of disposition reporting is simple:

\[ \text{Allocated} = \text{Received Treatment} + \text{Did Not Receive Treatment} \]

For the example above:

\[ 100 = 98 + 2 \]

and:

\[ 100 = 99 + 1 \]

The same principle applies throughout the table. If a treatment-arm total does not reconcile, the discrepancy must be investigated before the table is released.

Best practice: Build disposition tables from a traceable subject-level source rather than manually typing counts into the final table. Manual edits are a common source of non-reconciling numbers.

Typical Disposition Table Structure

A common CSR disposition table can be organized into several logical sections.

Section Typical Content
Randomization Number randomized by treatment arm
Treatment exposure Received at least one dose; did not receive treatment
Treatment completion Completed planned treatment; discontinued treatment
Treatment discontinuation Reason-specific counts
Study completion Completed study; discontinued study
Study discontinuation Reason-specific counts
Analysis populations Safety, efficacy, per-protocol, and other prespecified sets

A Detailed Disposition Table

The following simulated table illustrates a detailed treatment-disposition presentation. Percentages are calculated using the treatment-arm denominator shown in the section.

Disposition Treatment A
(N = 100)
Treatment B
(N = 100)
Total
(N = 200)
Randomized 100 (100.0%) 100 (100.0%) 200 (100.0%)
Received at least 1 dose 98 (98.0%) 99 (99.0%) 197 (98.5%)
Did not receive treatment 2 (2.0%) 1 (1.0%) 3 (1.5%)
Completed treatment 72 (72.0%) 78 (78.0%) 150 (75.0%)
Discontinued treatment 26 (26.0%) 21 (21.0%) 47 (23.5%)
  Adverse event 8 5 13
  Progressive disease 7 4 11
  Withdrawal by patient 4 5 9
  Investigator decision 3 2 5
  Protocol deviation 2 2 4
  Other 2 3 5
Important: The reason-specific categories must follow the study's prespecified coding and reporting conventions. Categories should not be changed simply to make the totals reconcile. If the reasons do not sum to the parent total, investigate the underlying subject-level data and derivation rules.

Do the Discontinuation Reasons Need to Sum?

Yes — when the table is intended to present mutually exclusive primary reasons for discontinuation, the reason categories should reconcile to the corresponding discontinuation total.

For Treatment A in the example:

\[ 8 + 7 + 4 + 3 + 2 + 2 = 26 \]

For Treatment B:

\[ 5 + 4 + 5 + 2 + 2 + 3 = 21 \]

However, the exact rules depend on how the source data were collected. A patient can have multiple adverse events leading to discontinuation, but a disposition table that asks for a primary reason should generally use one mutually exclusive reason per patient.

Primary Reason vs. Multiple Reasons

This distinction is easy to overlook.

Reporting Approach Interpretation
Primary reason Each patient contributes to one reason category
All applicable reasons A patient may contribute to more than one category
Preferred for reconciliation Primary reason when the table requires categories to sum to the discontinuation total
Do not mix the two approaches. If the table presents all applicable reasons, the reason counts may legitimately exceed the number of patients who discontinued. The table footnote should make this clear.

Treatment Discontinuation vs. Study Discontinuation

Treatment discontinuation and study discontinuation are not necessarily the same event.

A patient may stop study treatment because of toxicity but remain in follow-up for survival or other study assessments. Conversely, a patient may discontinue the study entirely and therefore have no subsequent study assessments.

Event Meaning
Treatment discontinuation Patient stops assigned study treatment
Study discontinuation Patient stops participating in the study or required study follow-up
Continued follow-up after treatment discontinuation Patient is off treatment but remains in the study

The disposition table should preserve this distinction rather than treating every treatment discontinuation as a study withdrawal.

Study Completion

A study-completion section may be particularly important when the protocol includes long-term follow-up after treatment.

For example, a patient could:

  • Complete treatment but later discontinue the study;
  • Discontinue treatment but complete study follow-up;
  • Remain on treatment and complete the study; or
  • Discontinue both treatment and study participation.

These pathways should be defined in the SAP and implemented consistently in the analysis datasets.

Analysis Populations

Disposition reporting often leads directly into the analysis populations used in the CSR. Common examples include:

Population Typical Concept
Randomized Set All patients randomized
Safety Analysis Set Patients who received at least one dose, according to the study definition
Full Analysis Set Population defined by the prespecified efficacy analysis principle
Per-Protocol Set Patients meeting the prespecified protocol-adherence criteria
Pharmacokinetic Set Patients meeting the study-specific PK analysis requirements

These are examples rather than universal definitions. The exact population definitions must come from the protocol and SAP.

Critical distinction: A disposition table describes who entered, received treatment, discontinued, or completed the study. An analysis-population table describes who qualified for a particular statistical analysis. These concepts overlap, but they are not interchangeable.

An Analysis-Population Reconciliation Example

Analysis Population Treatment A Treatment B Total
Randomized Set 100 100 200
Safety Analysis Set 98 99 197
Full Analysis Set 96 97 193
Per-Protocol Set 84 88 172

The differences between these populations should be explainable from the prespecified definitions and patient-level data. A programmer should be able to identify every patient who is included or excluded from each population.

Denominators Matter

One of the most common reporting errors is presenting percentages without making their denominators clear.

Suppose 98 of 100 Treatment A patients received at least one dose:

\[ \frac{98}{100}\times100=98.0\% \]

If 8 of the 26 patients who discontinued treatment did so because of an adverse event, however, the percentage could be reported as:

\[ \frac{8}{26}\times100=30.8\% \]

or, if the table is explicitly designed around the randomized denominator:

\[ \frac{8}{100}\times100=8.0\% \]

Both calculations can be mathematically valid, but they answer different questions. The table must make the denominator convention obvious.

Recommended Denominator Conventions

Statistic Common Denominator
Randomized patients Total randomized in treatment arm
Received treatment Total randomized in treatment arm
Treatment discontinuation Total randomized or treated population, depending on the shell
Reason for discontinuation Usually the applicable discontinuation population if percentages are requested
Safety population Safety Analysis Set

The key requirement is consistency with the table shell and SAP.

Disposition by Treatment Arm

For randomized trials, treatment-arm presentation is essential. Readers should not have to reconstruct the arm assignment from a total column.

A useful layout is:

  • Experimental treatment
  • Control treatment
  • Total randomized population

If there are multiple doses or treatment combinations, each arm should be represented explicitly and the column headers should remain unambiguous.

What Happens in a Single-Arm Trial?

The CONSORT-style concept still applies, but treatment-arm columns are replaced by the single treatment population.

Disposition Treatment
(N = 80)
Enrolled 80 (100.0%)
Received treatment 78 (97.5%)
Did not receive treatment 2 (2.5%)
Completed treatment 55 (68.8%)
Discontinued treatment 23 (28.8%)

The same reconciliation principles apply.

Screening Failures

Screening disposition is particularly important in trials with a substantial screening population.

A useful screening summary may distinguish:

  • Patients screened
  • Patients eligible
  • Patients not eligible
  • Patients who withdrew before randomization
  • Other reasons for non-randomization

Screening failures should not be silently incorporated into randomized or treated populations.

Screened vs. Enrolled vs. Randomized

These terms should not be used interchangeably.

Term Typical Meaning
Screened Patient underwent screening procedures for eligibility
Enrolled Patient entered the study according to the study's enrollment definition
Randomized Patient was assigned to a randomized treatment arm
Treated Patient received at least one dose, according to the study definition
Best practice: Use the terminology defined in the protocol and SAP. Do not assume that “enrolled,” “randomized,” and “treated” represent the same population.

Disposition Tables and Subject-Level Traceability

Every aggregate number in the disposition table should be traceable to subject-level records.

For example, if the table reports 26 Treatment A patients who discontinued treatment, the programmer should be able to produce the exact list of those 26 patients and their coded discontinuation reasons.

1
Identify the subject-level treatment assignment.
2
Determine whether the patient received treatment.
3
Determine treatment completion or discontinuation.
4
Apply the prespecified discontinuation-reason hierarchy.
5
Determine study-completion status.
6
Derive analysis-population flags according to the SAP.
7
Aggregate the subject-level flags into table counts.
8
Reconcile totals, treatment arms, and percentages.

CDISC-Oriented Data Considerations

For a CDISC-oriented reporting workflow, disposition information commonly draws on subject-level information from domains such as Demographics and Disposition, with study-specific derivations and analysis datasets supporting the final table.

The exact variables and derivation logic depend on the study's implementation. Typical concepts include:

Concept Example Variable/Source Concept
Unique subject identifier USUBJID
Planned treatment TRT01P
Actual treatment TRT01A
Disposition category DSDECOD / study-specific disposition derivation
Disposition date DSSTDTC
Analysis-population membership Study-specific analysis flags

These examples are illustrative. The final table should be driven by the study's validated data model and prespecified derivations rather than by variable names copied from another study.

R Implementation

A simple disposition table can be produced in R after creating a subject-level dataset with one record per patient and the required disposition flags.

library(dplyr)

disposition <- subject_level %>%
  group_by(TRT01P) %>%
  summarise(
    Randomized = n(),
    Treated = sum(SAFETYFL == "Y", na.rm = TRUE),
    Completed_Treatment = sum(TRT_COMPLETED == "Y", na.rm = TRUE),
    Discontinued_Treatment = sum(
      TRT_DISCONTINUED == "Y", na.rm = TRUE
    ),
    Completed_Study = sum(STUDY_COMPLETED == "Y", na.rm = TRUE),
    Discontinued_Study = sum(
      STUDY_DISCONTINUED == "Y", na.rm = TRUE
    ),
    .groups = "drop"
  )

The aggregation step should occur only after the subject-level derivations have been validated.

Calculating Percentages in R

disposition <- disposition %>%
  mutate(
    Treated_Pct = 100 * Treated / Randomized,
    Completed_Treatment_Pct =
      100 * Completed_Treatment / Randomized,
    Discontinued_Treatment_Pct =
      100 * Discontinued_Treatment / Randomized
  )

If a table requires percentages among patients who discontinued treatment, use that population as the denominator instead.

reason_summary <- subject_level %>%
  filter(TRT_DISCONTINUED == "Y") %>%
  group_by(TRT01P, TRT_DISC_REASON) %>%
  summarise(N = n(), .groups = "drop") %>%
  group_by(TRT01P) %>%
  mutate(Pct = 100 * N / sum(N))

Why Subject-Level Derivation Should Come First

A common programming mistake is to begin with an aggregate table and attempt to back-calculate the underlying patient status. This makes it difficult to identify overlaps, missing patients, or inconsistent definitions.

A safer architecture is:

1
Source data: collect subject-level disposition and treatment information.
2
Derivations: create validated treatment and disposition flags.
3
QC: reconcile each flag against subject-level source records.
4
Aggregation: summarize the validated flags by treatment arm.
5
Presentation: format counts and percentages for the CSR table.

Handling Patients Who Never Receive Treatment

Patients who are randomized but never receive study treatment require particular attention. They remain part of the randomized population, but they may not belong to the Safety Analysis Set if the SAP defines that set based on actual treatment exposure.

The disposition table should make the distinction visible rather than silently dropping these patients.

Status Treatment A Treatment B
Randomized 100 100
Received treatment 98 99
Did not receive treatment 2 1

Handling Patients Who Receive Only One Dose

If the Safety Analysis Set is defined as patients who received at least one dose, then a patient who receives a single dose may belong to the safety population even if the patient subsequently discontinues immediately.

This is one reason why treatment exposure and treatment completion should be reported separately.

Handling Patients With Multiple Disposition Events

A patient can have multiple disposition events during a study. For example, a patient may discontinue treatment because of an adverse event and later discontinue study participation because of withdrawal of consent.

The table must therefore distinguish the event being summarized. A treatment discontinuation table should not automatically use the final study-disposition reason.

Early Discontinuation

Early treatment discontinuation is not necessarily a data-quality problem. It is an important part of the clinical-trial experience and should be represented accurately.

Common reasons include:

  • Adverse events
  • Progressive disease
  • Withdrawal of consent
  • Protocol deviation
  • Investigator decision
  • Lack of efficacy
  • Patient decision
  • Other administrative or study-related reasons

Disposition and Exposure

Disposition tells the reader whether patients continued or discontinued treatment. Exposure summaries answer a different question: how much treatment did the patients actually receive?

Reporting Component Primary Question
Disposition What happened to the patients?
Exposure How much treatment did they receive?
Adverse-event summary What safety events occurred?
Efficacy analysis What treatment effect was observed?

These sections should reconcile logically without being treated as interchangeable summaries.

CONSORT-Style Reporting and Missing Patients

Missing follow-up information should not automatically be interpreted as study completion. If a patient has no final assessment, the disposition status should be derived from the actual disposition information rather than inferred from missing data.

Do not infer completion from silence. A patient with no recorded discontinuation event is not automatically a study completer. Completion should follow the study's defined completion criteria.

Disposition Tables in the CSR

A CSR disposition table should generally provide enough information for a reviewer to understand:

  • How many patients entered each treatment arm;
  • How many received treatment;
  • How many completed or discontinued treatment;
  • Why patients discontinued treatment;
  • How many completed or discontinued the study;
  • How the major analysis populations relate to the randomized and treated sets.

The exact table numbering and placement will depend on the study's CSR shell.

Suggested CSR Table Footnote

Example: Numbers are based on all randomized patients unless otherwise indicated. Treatment discontinuation reasons are based on the primary reason for discontinuation. Percentages are calculated using the applicable treatment-arm denominator. Patients who were randomized but did not receive study treatment are included in the Randomized Set and are excluded from treatment-exposure populations according to the prespecified analysis-set definitions.

The wording should be adapted to the actual SAP and table shell.

Common Disposition Reporting Errors

  1. Using the wrong denominator. A percentage can look reasonable while being calculated against the wrong population.
  2. Mixing randomized and treated populations. A patient can be randomized without receiving treatment.
  3. Confusing treatment and study discontinuation. Stopping treatment does not necessarily mean leaving the study.
  4. Allowing reason categories to overlap unintentionally. If primary reasons are required, each patient should contribute once.
  5. Dropping patients who do not receive treatment. These patients remain relevant to randomized disposition.
  6. Inferring completion from missing data. Completion should be based on defined disposition criteria.
  7. Manually entering aggregate counts. Counts should be generated from validated subject-level data whenever possible.
  8. Failing to reconcile the CONSORT diagram and disposition table. The two displays should describe the same underlying patient flow.
  9. Changing categories late in reporting. Disposition categories should follow the prespecified coding and reporting conventions.
  10. Failing to document the analysis population. Readers need to know exactly who is represented by each section.

Disposition Table Quality Control

Disposition tables should undergo both programming QC and clinical/statistical review.

1
Confirm the randomized population against the randomization source.
2
Confirm planned and actual treatment assignments.
3
Confirm the treated population against dosing records.
4
Confirm treatment completion and discontinuation flags.
5
Reconcile every discontinuation reason to its parent total.
6
Confirm study-completion and study-discontinuation counts.
7
Reconcile analysis populations to subject-level flags.
8
Recalculate percentages independently.
9
Compare the table against the CONSORT-style flow diagram.
10
Perform final independent patient-level traceability checks.

Manual Validation Example

Suppose the source data contain the following Treatment A patients:

Patient Randomized Received Treatment Treatment Status Primary Discontinuation Reason
001YesYesCompleted—
002YesYesDiscontinuedAdverse event
003YesNoNot treated—
004YesYesDiscontinuedProgressive disease

The resulting counts must therefore be:

  • Randomized = 4
  • Received treatment = 3
  • Did not receive treatment = 1
  • Completed treatment = 1
  • Discontinued treatment = 2
  • Adverse event discontinuations = 1
  • Progressive disease discontinuations = 1

This small example illustrates the same reconciliation logic used for hundreds or thousands of patients.

Reconciling the CONSORT Diagram and the Table

The diagram and table should be treated as two views of the same underlying patient-level accounting.

Check Expected Relationship
Randomized count Diagram = disposition table = randomization source
Received treatment Diagram = table = treatment-exposure derivation
Did not receive treatment Allocated = received + did not receive
Treatment discontinuation Completed + discontinued should reconcile to the applicable treated population
Reason categories Reconcile to the discontinuation total when mutually exclusive

Disposition and the Statistical Analysis Plan

The SAP should determine the definitions used for the major disposition and analysis-population summaries. The statistical programmer should not independently invent definitions during table production.

Before programming, confirm:

  • The population denominator for each section;
  • The treatment assignment used for each summary;
  • The definition of treatment exposure;
  • The definition of treatment completion;
  • The definition of study completion;
  • The hierarchy for discontinuation reasons;
  • The rules for analysis-set membership;
  • The rounding convention for percentages.

Disposition Tables and Statistical Programming Specifications

Specification Example
Population All randomized patients
Treatment variable Planned treatment assignment
Treated definition At least one dose received
Treatment completion Completed the protocol-defined treatment period
Discontinuation reason Primary reason using prespecified hierarchy
Study completion Completed protocol-defined study participation
Percent denominator Section-specific denominator defined in table shell
Missing values Investigated and resolved according to data-management rules

Disposition Tables and Auditability

A high-quality disposition table should be reproducible. If the same validated subject-level data and specifications are used again, the same counts should be generated.

This is especially important during late CSR updates. A small change in one patient's disposition status can affect multiple tables, figures, and analysis populations.

Think of disposition as a reconciliation hub. Changes in patient status can propagate into exposure, safety, efficacy, and analysis-population summaries. A validated disposition derivation therefore supports much more than a single CSR table.

Waterfall + Disposition + CONSORT

Different clinical-trial displays answer different questions.

Display Primary Question
CONSORT-style flow diagram How did participants move through the trial?
Disposition table How many patients entered, were treated, completed, discontinued, and entered analysis populations?
Exposure table How much treatment did patients receive?
Waterfall plot How large was each patient's best observed tumor response?
Spider plot How did tumor burden evolve over time?
Swimmer plot How long did patients remain on treatment and when did key events occur?

Together, these displays provide a much more complete picture of the clinical-trial population than any one table or figure can provide alone.

Practical Disposition Checklist

1
Confirm the randomized population.
2
Confirm treatment-arm assignment.
3
Confirm who received at least one dose.
4
Confirm treatment completion and discontinuation.
5
Confirm primary discontinuation reasons.
6
Confirm study completion and study discontinuation.
7
Confirm analysis-population definitions.
8
Confirm all denominators.
9
Reconcile every subtotal and total.
10
Reconcile the table with the CONSORT-style diagram and subject-level data.

Common Reporting Language

Suggested table footnote: Unless otherwise indicated, percentages are based on the number of randomized patients in the corresponding treatment arm. Treatment discontinuation reasons are based on the primary reason for discontinuation. Patients who discontinued treatment but continued study follow-up are considered treatment discontinuations and are not necessarily study discontinuations. Analysis populations are defined according to the prespecified Statistical Analysis Plan.

Key Principles

The most important principles of disposition reporting are straightforward:

  • Define the population before counting it.
  • Keep randomized, treated, and analysis populations distinct.
  • Make treatment and study discontinuation separate concepts.
  • Use mutually exclusive reasons when the table requires reconciliation.
  • Make denominators explicit.
  • Trace every aggregate number to subject-level data.
  • Reconcile the table with the CONSORT-style flow diagram.
  • Follow the protocol, SAP, and approved table shell.
Bottom line: A CONSORT-style disposition table is the numerical backbone of participant-flow reporting. It should provide a transparent, reproducible account of who entered the trial, who received treatment, who completed or discontinued treatment, why patients discontinued, who completed or discontinued the study, and which patients qualified for the prespecified analysis populations. The strongest tables are built from validated subject-level derivations, use explicit denominators, reconcile at every level, and agree with the corresponding CONSORT-style participant-flow display.

References

Schulz, K.F., Altman, D.G., Moher, D., for the CONSORT Group (2010). CONSORT 2010 Statement: updated guidelines for reporting parallel group randomised trials. BMJ, 340, c332.
Moher, D., Hopewell, S., Schulz, K.F., et al. (2010). CONSORT 2010 Explanation and Elaboration: updated guidelines for reporting parallel group randomised trials. BMJ, 340, c869.
International Council for Harmonisation (ICH) (1996). ICH E3: Structure and Content of Clinical Study Reports.
International Council for Harmonisation (ICH). ICH E9: Statistical Principles for Clinical Trials.