This is a ready-to-use package-level QC sign-off record for a locked tables-listings-figures (TLF) package and its accompanying statistical analysis writeup. It is the final gate before the package moves to clinical study report (CSR) embedding or a regulatory submission. Replace every <<FILL: ...>> placeholder with your own specifics, present actual counts and findings rather than the word “pass,” and route it through document control. A worked filled specimen follows. Verify each cited regulation against the current source before you rely on it. This is educational reference content, not regulatory advice.
Why this record earns its place
The SOP for independent statistical programming and TLF validation validates one output at a time: a table, a listing, a figure, produced and independently reprogrammed, compared, and signed. That per-output discipline is necessary and it is not the same question as this record answers. This record asks whether the whole package, everything the biostatistician is about to hand to medical writing or regulatory affairs, is complete, internally consistent, still tied to the locked database it was supposed to be run against, and faithful to the estimand and intercurrent-event handling the SAP defined. A package can pass every individual output’s double programming and still fail this gate, most commonly because one output was quietly regenerated against a later database state after a late data correction, one that was never itself locked, or because the primary table’s footnote no longer matches the estimand after a SAP amendment. See ICH E8(R1) and E9 trial design and statistics for how the estimand and the CtQ register make certain outputs, and certain reconciliations, non-negotiable rather than nice to have.
Header
| Field | Entry |
|---|---|
| Record number | <<FILL: RPT-ID, e.g. SAR-QC-ABC201-01>> |
| Study / protocol | <<FILL>> |
| Locked database snapshot / version | <<FILL: from the database lock memo>> |
| Governing SAP version / date | <<FILL>> |
| Analysis type | Primary / interim / final CSR / resubmission (<<FILL>>) |
| Preconditions: per-output validation SOP reference | <<FILL: SOP-ID>> |
Section A: preconditions
| # | Precondition | Status | Evidence |
|---|---|---|---|
| A1 | Database lock memo referenced above is the source for every output in this package | <<FILL: Yes/No>> | <<FILL: lock memo reference>> |
| A2 | SAP is the final, unblinding-dated version; any post-unblinding amendment is flagged and justified | <<FILL>> | <<FILL: SAP version history>> |
| A3 | Every Tier 1 and Tier 2 output in this package has a closed, signed validation record | <<FILL>> | <<FILL: count validated / count in package>> |
| A4 | Unblinding date and time (if this package reports unblinded results) | <<FILL>> | <<FILL>> |
Section B: package completeness against the shell inventory
| Category | Shells planned (SAP/TFL spec) | Delivered | Outstanding | Justification for any outstanding item |
|---|---|---|---|---|
| Disposition | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> |
| Demographics / baseline | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> |
| Efficacy, primary and key secondary | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> |
| Efficacy, other secondary / exploratory | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> |
| Safety (AE, SAE, deaths, labs, vitals) | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> |
| Listings | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> |
An outstanding shell with no documented justification blocks release; it does not carry forward as a silent gap.
Section C: cross-output subject-count reconciliation
| Check | Expected relationship | Result | Verdict |
|---|---|---|---|
| Randomized N reconciles across disposition, demographics, and population-flag tables | Equal | <<FILL>> | <<FILL: Pass/Fail>> |
| Full Analysis Set N matches the population-flag derivation and the ADaM specification | Equal | <<FILL>> | <<FILL>> |
| Per-Protocol Set N matches the analysis-population exclusion log for the same database version | Equal | <<FILL>> | <<FILL>> |
| Safety Set N matches subjects with a recorded first dose | Equal | <<FILL>> | <<FILL>> |
| Figures reconcile to their companion tables (numbers at risk, censoring, medians) | Equal | <<FILL>> | <<FILL>> |
Section D: estimand and intercurrent-event handling verification
Confirm the primary and each key secondary output’s footnote states the estimand’s intercurrent-event handling exactly as specified, not as a generic disclaimer.
| Output | Estimand strategy per SAP | Footnote / methods text as delivered | Consistent? |
|---|---|---|---|
<<FILL: primary efficacy table>> | <<FILL: e.g. treatment policy>> | <<FILL>> | <<FILL: Yes/No>> |
<<FILL: key secondary table>> | <<FILL>> | <<FILL>> | <<FILL>> |
A “Yes” here means a reviewer reading only the footnote could restate the ICE handling correctly. A generic footnote that does not name the strategy is a finding, even if the numbers themselves are correct.
Section E: open items and waivers
| Item | Description | Risk assessment | Approved by (Biostatistics + QA) | Condition on release |
|---|---|---|---|---|
<<FILL: none, or list>> | <<FILL>> | <<FILL>> | <<FILL>> | <<FILL>> |
Releasing a package with an open item is the exception, not the routine path, and requires both Biostatistics and QA sign-off on the specific item, not a blanket waiver.
Section F: traceability confirmation
| Field | Entry |
|---|---|
| Every output’s generation timestamp is after the database lock timestamp and before this record’s date | <<FILL: Yes/No, with any exception explained>> |
| No output in the package was regenerated against a database state taken after the lock and never itself locked | <<FILL: Yes/No>> |
| Program version control tags match the versions recorded in the per-output validation records | <<FILL: Yes/No>> |
Section G: conclusion and disposition
<<FILL: The TLF package and statistical analysis writeup for [STUDY] ARE / ARE NOT released for CSR embedding / submission, as of [database lock version], subject to [conditions, or "no conditions"].>>
Sign-off
| Role | Name | Signature | Date |
|---|---|---|---|
| Author (Biostatistics) | <<FILL>> | ||
| Reviewer (Statistical Programming Lead) | <<FILL>> | ||
| Reviewer (Clinical QA) | <<FILL>> | ||
| Approver (Study or Program Biostatistician) | <<FILL>> |
Acceptance criteria
- Every planned shell is accounted for, delivered or justified as outstanding.
- Subject counts reconcile across every population and disposition output without exception.
- The primary and each key secondary output’s footnote names the estimand’s intercurrent-event handling correctly.
- No output was generated against data outside the locked database snapshot.
- Any open item carries a documented risk assessment and joint biostatistics/QA approval, not a blanket waiver.
References
ICH E9, Statistical Principles for Clinical Trials; ICH E9(R1), Estimands and Sensitivity Analysis. ICH E3, Structure and Content of Clinical Study Reports. FDA Study Data Technical Conformance Guide.
Confirm the current version of each reference before issue.
Filled specimen (excerpt)
Illustrative example for the phase 3 glycemic-control trial used elsewhere on this site (drug X 50 mg once daily versus placebo, primary estimand on week-24 HbA1c under a treatment-policy strategy for discontinuation and rescue, composite for death).
| Field | Entry |
|---|---|
| Locked database snapshot | DBL-ABC201-FINAL, locked 15-Mar-2026 |
| Governing SAP | v3.0, approved 12-Feb-2026, before unblinding |
| Analysis type | Final CSR |
Package completeness: 41 of 41 planned shells delivered; 0 outstanding.
Cross-output reconciliation: randomized N = 412 reconciles across disposition, demographics, and population-flag tables. FAS N = 412 (minimal exclusions, none). PPS N = 379 reconciles to the analysis-population exclusion log (33 subjects excluded, each with a logged SAP-rule citation). Safety Set N = 406 (6 randomized subjects never dosed, excluded per the Safety Set rule, not a protocol deviation). All checks: Pass.
Estimand verification: primary table (Table 14.2.1) footnote reads “Week-24 HbA1c collected regardless of discontinuation or rescue therapy (treatment policy); deaths classified as non-response (composite).” Consistent with SAP section 4. Verdict: Yes.
Open items: none.
Conclusion: the TLF package and statistical analysis writeup for ABC-201 are released for CSR embedding as of database lock DBL-ABC201-FINAL, with no conditions.
Common findings this record prevents
- An output silently regenerated against data corrected after database lock, with no record that it fell outside the locked snapshot.
- Subject counts that differ across the disposition table, the population-flag derivation, and the exclusion log, discovered only when a reviewer cross-checks by hand.
- A primary-endpoint footnote that no longer names the intercurrent-event strategy after a late SAP amendment.
- A package released with an open item that was never formally risk-assessed or jointly approved by biostatistics and QA.
- No single record showing the package, as a whole, was ever declared complete and consistent; only a folder of individually validated outputs.
How to adapt this record
- Point Section A at your real database-lock and SAP version-control records.
- Build the shell inventory in Section B from your actual TLF specification so “planned” is a real, dated count, not a guess.
- Reconcile Section C against the analysis-population exclusion log rather than re-deriving population counts independently.
- Keep Section D to the outputs that carry the primary and key secondary claims; do not attempt to verify every exploratory table’s footnote wording at this level of rigor.
- Confirm every reference above against the current published version before issue.