D0030 — the SAP: five calls on how open.csr builds an analysis plan #314
Unanswered
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Five calls on how open.csr builds a Statistical Analysis Plan, for v0.4. Full argument and the measurements: The SAP, and what a display looks like with no numbers in it
The short version: most of the plan is already in the repository and dispersed — seventeen of the twenty-six displays cite the CDISCPILOT01 analysis plan by section. What is missing is the document that assembles them. Whether that is possible turns on one thing: can a display render as a shell, its rows and columns with no numbers in them, from its spec alone? So rather than argue it, the shells were built from the specs with no analysis results in reach, and the page shows them.
D-SAP1 — is a shell a state of a display, or a second artifact? A state means one object rendered two ways and structural drift becomes impossible. An artifact means a shell file you can review and sign, which can also fall behind. Recommendation: a state. A shell came out of all 26 specs with no results in reach, so a second object would carry nothing the first does not.
D-SAP2 — where do a shell's columns come from when no study has run? Columns come from the analysis results today, so a shell would have none. Recommendation: a declared treatment vocabulary from the study model. The spec's
total:key predicts the Total column on 26 of 26 displays, and all 25 grouped displays yield the same three treatment levels while naming three different grouping variables between them. One branch in one function.D-SAP3 — does the SAP carry every display, or only what its assembly names? The four existing templates carry 26, 26, 22 and 6, so there is no house answer to inherit. Recommendation: only what its assembly names — and take the free check that falls out, where a display planned-but-not-produced or produced-but-not-planned becomes a build failure rather than a silence.
D-SAP4 — can the SAP share the report's text blocks? Recommendation: no, give it its own, sharing the nine that are tenseless. Of the 33 blocks in the library, 24 are past-tense only and none uses will or shall. A tense switch on 24 blocks would disguise the fact that these are different sentences.
D-SAP5 — is the pilot's own SAP a reference to reproduce, the way the 2006 report is? Recommendation: no. No SAP is vendored, its redistributability is unestablished, and the section citations already carry the useful part.
The page also states its own limit: a shell shows what a table will look like, not that the analysis behind it is right — and a real plan has sections on randomisation, blinding, interim analyses and sample size that no display implies.
Requirement: open.csr#57, milestone v0.4.0. Nothing was filed, built or changed in open.csr for this.
Drafted by Claude Code using Opus 5 and reviewed by @jwildfire
All reactions