| Q1 | Safety overview shape — A exposure & census, B observed-vs-expected with a review queue, or C chart index? | B, with A's denominators as its second row. It is the only shape FDA actually prescribes for blinded aggregate review, and it gives the page a job beyond hosting charts. |
| Q2 | Treatment arm. The unified demo data now carries arm (Placebo / 40mg / 80mg) and the safety charts can split by it. FDA has stated twice that reviewing data by treatment group — including coded A/B/C labels — counts as unblinded. Does the study-team view ever split by arm? | No arm anywhere in the study-team view — not a toggle, not a colour, not hidden behind a role, and ideally absent from the payload. Declare the product ICH E9 Type-1 monitoring. If a DMC mode is ever wanted, make it a separate deployment, not a role flag. ICH E9 §4.5 goes further than data: staff must stay blind "because of the possibility that their attitudes to the trial will be modified" — so a view must not telegraph a direction even without showing the numbers. This is the most consequential question here. |
| Q3 | Review state — do we ship per-row "reviewed / acknowledged / resolved" that persists across snapshots? It is the biggest gap in the ecosystem and the one thing that turns a viewer into a workflow. But review state is mutable and lives outside the immutable snapshot. | Yes, in the study repo — a side-channel JSON committed by a PR, so the audit trail is the git history and the snapshot stays pure. That also makes review a reviewable artifact, which suits a GxP setting. Alternative: stay a stateless viewer and let review live in the meeting, as some vendors deliberately choose. |
| Q4 | Riskiest sites — ranked table (your ask) or funnel plot as the primary widget? | Ranked table leads, funnel plot beside it, with denominators always visible and low-precision sites dimmed rather than ranked. You get the scannability you asked for; the funnel keeps us honest and is a genuine differentiator. |
| Q5 | QTL / acceptable ranges — build now or defer? It needs gsm.qtl installed, its workflows copied, an eligibility domain added and a re-run. | Build it, but as its own requirement. ICH E6(R3) makes pre-specified acceptable ranges a sponsor obligation and gsm.kri has no QTL surface at all — it is our clearest regulatory gap. Keep it strictly separate from site KRIs; conflating levels is the named failure mode in TransCelerate's guidance. |
| Q6 | The SRS denominator defect — two 32-weight KRIs are all-NA and silently drop out, so scores are out of 114 rather than 178. Fix the data, or expose the effective denominator? | Both. Populate the discontinuation flags in the demo data so the score means what it says, and show "33 of 114 possible" in the tooltip regardless — a score whose denominator moves silently is not auditable. |
| Q7 | Trend axis. Snapshot-over-snapshot trends are blocked by a bug — og_run stamps every snapshot with today's date, so both cuts share a date and the longitudinal accumulation path is fed NULL. Fix now? | Fix it — it is small and it unblocks everything. Until then, trends on these pages are calendar-time curves (enrolment, AE onset, lab coverage), which are real and drawable today. Index the snapshot axis by review cycle rather than date, as one vendor does; with irregular cadence it matches how a reviewer experiences the study. |
| Q8 | Audience — is Study Overview for the study team, or a portfolio reader one level up? We already have a cross-study risk score widget. | Study team for v1. A portfolio grid is a different product; the cross-study widget can seed it later. |