01 · Population, sample, unit
For AURORA-30, write: target population = the people the question concerns; sample = the 30 synthetic records observed; unit = participant. Then ask whether one row is a person or a visit. Continue with HEALTH.1.
“Did the program help?” is not one statistical question. AURORA-30 is the wholly synthetic teaching cohort and dataset used to expose that ambiguity: 30 fictional records, with no real patients, institutions, interventions, or outcomes; it does not constitute clinical evidence. This diagnostic shows what to review before software enters the reasoning.
The AURORA-30 table makes three routes plausible:
All three can be mathematically correct. They are not interchangeable: each targets a different quantity, uses dependence differently, and supports a different interpretation. Rigor begins by naming which question the result must answer and preserving that choice so another analyst can inspect it.
Someone can run a t test and still compare the wrong unit. Another learner may never have opened Python yet correctly recognize paired measurements. The second learner has the stronger foundation. Programming is a delivery mechanism; design and measurement determine what the numbers mean.
PROMOTE) and review required (HOLD) describe only a teaching artifact. In a Verdict, confidence is certainty of the check—not evidence strength, a confidence interval, clinical or external validity, or research authorization.Choose one response for each signal. There is no score or pass mark: “review” simply adds the matching repair to your route. The diagnostic works without a server and sends no response anywhere.
AURORA-30 is a fictional methods-training cohort with 30 synthetic participant records. It contains a baseline score, a day-30 score, an assigned follow-up workflow, a site, a time-to-event field, a synthetic reference classification, and two reader ratings. It is deliberately small enough to inspect and rich enough to support the full dossier. It is not evidence about a real intervention.
Find the course folder that contains START_HERE.md, open a terminal there, and copy one runtime path below. Programming experience is not required. The first command fixes the working directory; the second checks the runtime; the third runs the supplied synthetic plan.
# From the course folder that contains START_HERE.md:
cd labs/analysis-plan-contract
python --version
python analysis_plan_contract.py --input samples/aurora30_plan.json --lang en --format text
python analysis_plan_contract.py --input samples/aurora30_plan.json --lang pt --format text
# Alternative base R path from the same lab folder:
Rscript --version
Rscript analysis_plan_contract.R --input samples/aurora30_plan.json --lang en --format text
Rscript analysis_plan_contract.R --input samples/aurora30_plan.json --lang pt --format text
pwd (macOS/Linux) or Get-Location (PowerShell) and return to the folder containing analysis_plan_contract.py, analysis_plan_contract.R, and samples/.
“Python not found”: try py -3 on Windows or python3 on macOS/Linux in place of python.
“Rscript not recognized”: Python remains sufficient. On macOS/Linux, run which Rscript. On Windows, run where.exe Rscript; if it returns nothing, use the read-only PowerShell discovery below. There is no universal R path.
# Windows PowerShell — read-only discovery in common installation roots
Get-ChildItem -LiteralPath 'C:\Program Files\R','C:\Program Files (x86)\R' `
-Filter Rscript.exe -File -Recurse -ErrorAction SilentlyContinue |
Select-Object -ExpandProperty FullName
# If a path is returned, invoke that exact discovered file:
& '<discovered absolute path to Rscript.exe>' --version
If discovery finds Rscript.exe, use that absolute path for the R commands or add its containing bin folder to your Windows PATH. If both checks return nothing, continue with Python; install R only if you want the second runtime and have confirmed it is absent.
Keep the versioned sample untouched. From the analysis-plan-contract folder, make a learner-owned copy with the command for your shell:
# Windows PowerShell
Copy-Item -LiteralPath 'samples/aurora30_plan.json' -Destination 'my_aurora30_plan.json'
# macOS/Linux shell
cp -- samples/aurora30_plan.json my_aurora30_plan.json
my_aurora30_plan.json in a text editor. Change the safe metadata field "version": "1.0" to "version": "1.0-practice". Predict the first-line token, then run python analysis_plan_contract.py --input my_aurora30_plan.json --lang en --format text. Inspect why the result remains PROMOTE: the method contract did not change."time_horizon_days": 30 to "time_horizon_days": 60. Predict again, rerun the same command, and inspect HOLD plus time_horizon_days:expected_30. The explicit error is evidence that a changed horizon is an analysis decision, not harmless metadata.samples/aurora30_plan.json remains the stable reference.Carry this checklist into HEALTH.5–7 and the capstone. If a question is unanswered, the next move is not “pick a test”; it is “repair the contract.”
Use the route generated above, or browse all eight repairs. Each is deliberately small: complete it, return to the diagnostic, and change “review” to “ready” when you can explain the idea in your own words.
For AURORA-30, write: target population = the people the question concerns; sample = the 30 synthetic records observed; unit = participant. Then ask whether one row is a person or a visit. Continue with HEALTH.1.
Label day-30 score as the outcome, assigned workflow as the intervention/exposure, and the other workflow as the comparison. Do not choose a test until the contrast and time horizon are explicit.
Practice with four fields: site is nominal, ordered severity is ordinal, visit count is discrete, and score is continuous. HEALTH.2 turns those labels into a data dictionary.
Two different participants are independent; two visits from one participant are repeated; a deliberately matched control pair is paired. The identifier—not the row count—reveals the structure.
For values 2, 3, 3, 4, 18, compare the mean with the median and identify the unusual value. For every percentage, write its numerator and denominator. HEALTH.3 expands this into the descriptive profile.
If 6 of 24 records meet a rule, calculate 6 ÷ 24 = 0.25 = 25%. Then express the contrast as 6:18 and the percentage-point difference against a stated reference.
Read “effect 2.1; 95% CI 0.4 to 3.8” as one sample estimate plus a range produced by a declared interval method—not as a guarantee that every value is equally plausible. HEALTH.4 develops the interval contract.
Complete the literal first-run path. A successful run ends with AURORA-30 | analysis_plan | PROMOTE; in human terms, the supplied teaching contract passed its didactic structural check. It does not establish clinical or external validity or authorize research.
Without software, write five lines for AURORA-30: population, unit, outcome, comparison, and dependence. If any line is vague, return to the matching readiness signal. If all five are concrete, you are ready for HEALTH.1; the first run and the two-change adaptation are enough programming for day one.