Part 14 · Can you run a full study?

Capstone · End-to-End Project

Run a full study, start to finish

You supervise 50 facilities, and a stubborn share of them keep posting low coverage. Outcome: LowCov. Conditions: untrained staff, no supervision, broken cold chain, no outreach, no community mobilisation. Here is the entire workflow as one connected script, every step you have learned, in order.

capstone.R, the whole study
library(cna)
library(frscore)

# 1 . IMPORT: read your facility data from a CSV file
data <- read.csv("facility_data.csv")

# 2 . INSPECT: sanity-check structure and values before analysing
str(data)       # column types and a peek at values
summary(data)   # min/max catches stray codes (e.g. a 2 in a 0/1 column)

# 3 . ANALYSE: run CNA for the LowCov outcome
fit <- cna(data, outcome = "LowCov", con = 0.9, cov = 0.9)

# 4 . REVIEW: print solutions, ordered by fit
fit

# 5 . INTERPRET: score and inspect a chosen pathway case-by-case
condTbl(csf(fit)$condition, data)

# 6 . ROBUSTNESS: does the finding survive threshold changes?
fr <- frscored_cna(data, fit.range = c(1, 0.8), granularity = 0.1)
fr

# 7 . RECOMMEND: translate the surviving pathway into program language
# 8 . BRIEF: write Problem / Finding / Recommendation (Modules 29 and 30)
5

Interpret the pathways

Read each formula aloud in plain words (Module 26). Which gaps separate the low-coverage facilities from the rest?

6

Assess robustness

Keep only what survives the threshold grid. Note fragile pathways honestly, rather than quietly hoping nobody checks.

7

Prepare recommendations

Turn the difference-making gaps into targeted fixes, not a scattershot of isolated activities.

8

Write the policy brief

Problem, Finding, Recommendation. Two minutes for a director to read.

Note on csf()

Complex solution formulas

csf(fit) extracts the model's complex solution formulas, and $condition pulls out the formula strings so condTbl() can score them. For single-outcome studies you'll often just read fit directly. The csf() function matters most when you model chains with more than one outcome.

You've done the whole loop

Plan → prepare → model → evaluate → check robustness → interpret → brief. That circle is a CNA study. Everything else is practice and judgement.