TFL Gallery / f-disposition
DSF01 · Figure
Subject Disposition
The reference report's Figure 10-1: subjects screened, screen failures, randomised, completed Week 24 and completed the study, drawn as a flow from the study's SDTM DM and its ADSL.
- Slug
- f-disposition
- Regulatory ID
- DSF01
- Type
- Figure
- E3 position
- §10.1
- Status
- evidenced
- Current iteration
- v001
- Evidence
- 18/18 passing
- Requirements
- DSP-ALL-001 DSP-ALL-002 DSP-FLOW-001 DSP-INTXT-001 DSP-INTXT-002 DSP-INTXT-003 STD-GATE-001 STD-GATE-002 STD-GATE-003 STD-GATE-004 STD-GATE-005 STD-MODEL-001 STD-MODEL-002 STD-MODEL-003 STD-MODEL-004 STD-MODEL-005 STD-SRC-001 STD-SRC-002
- Used in
- Clinical Study Report Figure 14.1.6
- Post-Text Display Package Figure 14.1.6
- Abbreviated Clinical Study Report (ICH E3) Figure 14.1.6
- Study model
- All Randomised Subjects · grouped by TRT01P
- Specification
- 1 iteration
- Environment
- R 4.3.3 Darwin 23.6.0
- Bound by
- No text block binds it
- Values
- No value is sourced from it
- adsl254 rows · 3139478
- dm306 rows · 6f25948
- analysis.yamlwhat to compute
- display.yamlhow to show it
- custom.Rthe display's own method
- study modelAll Randomised Subjects
- prepare_data()regenerate('f-disposition')
- build_ard()one row per statistic
- render_display()every variant
- render_rtf()the same cells
- ard.jsonv001 · 5 rows · 700d5e7
- table.htmlthe rendered display
- table.rtfsha256 2231972
- table-in-text.rtfsha256 c588653
- manifest.jsonwho, why, every hash
Generated by the same pipeline run that wrote the ARD and the HTML above, from the same rendered cells; the short hash is the manifest's record of the file.
| Subject Disposition | |
| Study CDISCPILOT01 — All Subjects | |
| All Subjects | |
|---|---|
| Subjects screened | |
| Screen failures | |
| Randomised, entered treatment phase | |
| Completed Week 24 | |
| Completed study through Week 26 | |
| Subjects screened are every subject in the study's SDTM DM domain; screen failures are those DM labels as such. Randomised subjects are every subject in ADSL; completed Week 24 is COMP24FL, and completed the study through Week 26 is the complement of DISCONFL — the definition Table 14-1.01 states for Complete Study. | |
| Drawn as the reference report's Figure 10-1: 306 screened, of whom 52 screen failures and 254 randomised; of those, 118 completed Week 24 and 110 completed the study. | |
| Source: dm (the study's SDTM demographics domain) and adsl (CDISCPILOT01 ADaM package, phuse-org/phuse-scripts). Data cut-off: 2014-07-01. | |
| open.csr display f-disposition (post_text variant); generated from the committed ARD. | |
Rendered from outputs/f-disposition/v001/table.html.
| analysis | group1 | group1_level | group2 | group2_level | variable | variable_level | context | stat_name | stat_label | warning | error | stat |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| flow | population | All Subjects | — | — | DSFLOW | screened | subject_count | n | n | — | — | 306 |
| flow | population | All Subjects | — | — | DSFLOW | screen_failures | subject_count | n | n | — | — | 52 |
| flow | population | All Subjects | — | — | DSFLOW | randomised | subject_count | n | n | — | — | 254 |
| flow | population | All Subjects | — | — | DSFLOW | completed_wk24 | subject_count | n | n | — | — | 118 |
| flow | population | All Subjects | — | — | DSFLOW | completed_study | subject_count | n | n | — | — | 110 |
5 rows, one per computed statistic.
- Schema
- opencsr/ard/v1
- Generated
- 2026-09-02T16:24:32Z
- Spec hash
- sha256:abf4fa1cd7f2bb7e8fea1db662e08d98cbe5ad7fada0abc0f5346843e98aa501
- Display hash
- sha256:334133a00bd56486d689d479d3d92b5a88d02d320d030e1c8788ceb964165715
- ARD file
- outputs/f-disposition/v001/ard.json
- ARD hash
- sha256:700d5e705c1072eabb911963e071b51354ace9f8ff7059664622cb099d93c20f
Source datasets
| Dataset | Rows | Package | Hash |
|---|---|---|---|
| adsl | 254 | phuse-org/phuse-scripts:data/adam 398a6d33ced9359ffb58c46650a6d488811176b1 | sha256:3139478d86fda4c38e8bb2f41d348518f4a65f58bcdd7e9650fda8da7a9a6838 |
| dm | 306 | phuse-org/phuse-scripts:data/adam 398a6d33ced9359ffb58c46650a6d488811176b1 | sha256:6f25948c36c7852a5188de66440be4689fc7ff727356f404d4b508c790497012 |
Environment
R 4.3.3 · Darwin 23.6.0 · cards 0.6.1 · cardx 0.2.5 · gtsummary 2.3.0 · gt 1.0.0 · dplyr 1.1.4 · pharmaverseadam 1.1.0 · jsonlite 2.0.0 · yaml 2.3.10 · digest 0.6.37
# ------------------------------------------------------------------------------
# f-disposition — Subject Disposition (flow)
# ------------------------------------------------------------------------------
# Target: Figure 10-1 of the CDISCPILOT01 clinical study report (27 June 2006),
# page 24: subjects screened, of whom the screen failures and those randomised
# into the treatment phase, of whom those who completed Week 24 and those who
# completed the study through Week 26. Five counts, drawn as a flow.
#
# The screened population is the study's SDTM DM domain — 306 subjects, 52 of
# whom never reached ADSL — which is why this is the one display that reads
# `dm` and why prepare_data() keeps DM whole (#63, D0032). Every other count is
# ADSL's: randomised subjects, COMP24FL, and the complement of DISCONFL that the
# populations table already prints as "Complete Study".
# ------------------------------------------------------------------------------
id: f-disposition
title: "Subject Disposition"
regulatory_id: DSF01
type: figure
dataset: dm
analysis_set: all
denominator: adsl
group:
- TRT01P
total: false
analyses:
- name: flow
method: figure
custom: ard_disposition_flow
label: "Subjects screened, randomised, and completing the study"
id: f-disposition
title: "Subject Disposition"
study: CDISCPILOT01
population_label: "All Subjects"
cutoff: "2014-07-01"
source: "Source: dm (the study's SDTM demographics domain) and adsl (CDISCPILOT01 ADaM package, phuse-org/phuse-scripts). Data cut-off: 2014-07-01."
footnotes:
- "Subjects screened are every subject in the study's SDTM DM domain; screen failures are those DM labels as such. Randomised subjects are every subject in ADSL; completed Week 24 is COMP24FL, and completed the study through Week 26 is the complement of DISCONFL — the definition Table 14-1.01 states for Complete Study."
- "Drawn as the reference report's Figure 10-1: 306 screened, of whom 52 screen failures and 254 randomised; of those, 118 completed Week 24 and 110 completed the study."
columns:
order: ["All Subjects"]
format:
count: "{n}"
rows:
- { analysis: flow, variable: DSFLOW, level: screened, pattern: count, label: "Subjects screened" }
- { analysis: flow, variable: DSFLOW, level: screen_failures, pattern: count, label: "Screen failures", indent: 1 }
- { analysis: flow, variable: DSFLOW, level: randomised, pattern: count, label: "Randomised, entered treatment phase", indent: 1 }
- { analysis: flow, variable: DSFLOW, level: completed_wk24, pattern: count, label: "Completed Week 24", indent: 2 }
- { analysis: flow, variable: DSFLOW, level: completed_study, pattern: count, label: "Completed study through Week 26", indent: 3 }
figure:
kind: flow
analysis: flow
width: 760
height: 330
boxes:
- { level: screened, label: "Subjects Screened" }
- { level: randomised, label: "Randomized, entered Treatment Phase", from: screened }
- { level: screen_failures, label: "Screen failures", from: screened, side: right }
- { level: completed_wk24, label: "Completed Week 24", from: randomised }
- { level: completed_study, label: "Completed Study through Week 26", from: completed_wk24 }
variants:
post_text: {}
in_text:
title: "Subject Disposition"
# Subject disposition counts for the flow figure (Figure 10-1 of the reference
# report). Five numbers, each a count of subjects: screened (every subject in
# DM), screen failures (DM's own arm label), randomised into the treatment phase
# (every subject in ADSL), completed Week 24 (COMP24FL) and completed the study
# through Week 26 (the complement of DISCONFL, the definition the populations
# table states for "Complete Study").
#
# Contract: (data, spec, denominator) -> a {cards}-shaped ARD. `data` is DM,
# whole; `denominator` is the prepared ADSL.
ard_disposition_flow <- function(data, spec, denominator) {
blank_na <- function(x) {
x <- as.character(x)
x[is.na(x)] <- ""
x
}
screened <- length(unique(data$USUBJID))
screen_failures <- length(unique(data$USUBJID[blank_na(data$ARM) == "Screen Failure"]))
randomised <- length(unique(denominator$USUBJID))
completed_wk24 <- sum(blank_na(denominator$COMP24FL) == "Y")
completed_study <- sum(blank_na(denominator$DISCONFL) != "Y")
stages <- c(
screened = screened, screen_failures = screen_failures, randomised = randomised,
completed_wk24 = completed_wk24, completed_study = completed_study
)
data.frame(
group1 = "population",
group1_level = "All Subjects",
group2 = NA_character_,
group2_level = NA_character_,
variable = "DSFLOW",
variable_level = names(stages),
context = "subject_count",
stat_name = "n",
stat_label = "n",
stat = I(as.list(unname(stages))),
warning = NA_character_,
error = NA_character_,
stringsAsFactors = FALSE
)
}
v001current
Figure 10-1 of the reference report (D0032, #63): subjects screened, screen failures, randomised, completed Week 24 and completed the study, as a flow from the study SDTM DM and ADSL.
2026-09-02T16:24:32Z · @obotclaw
Every iteration is kept: outputs/f-disposition/vNNN/ holds the spec snapshot, the ARD, the rendered output, and a manifest recording who regenerated it, why, and from which commit.