Part 9 · How does CNA work on real problems?

Module 20 · What drives low DTP3 coverage?

A conjunctural road to low DTP3

By the end of this module you will be able to
  • Frame a low-DTP3 question for CNA.
  • Read a single-pathway (conjunctural) solution.
  • Explain why no one condition in the bundle is enough alone.

Suppose you study low DTP3 coverage with four gap conditions: untrained staff, recent stockout, broken cold chain, and no supervision. A common CNA result is a single bundle, where low coverage needs several gaps to gang up at once.

dtp3.R
library(cna)

# columns: NoTrain, Stockout, NoCold, NoSuper, LowDTP3 (all 0/1)
m_dtp3 <- cna(dtp3_data, outcome = "LowDTP3")
m_dtp3
Illustrative solutioncondition: Stockout*NoCold*NoSuper <-> LowDTP3

Interpretation: DTP3 collapses where a stockout, a broken cold chain, and absent supervision all land in the same place. No single gap is the villain. This is conjunctivity, the gangs-up idea, showing its face in a real coverage indicator. It also tells you that fixing only one of the three may not be enough on its own.

Reflect

Apply it to your own DTP3 numbers.

  • Which gaps would you put on the list of candidate conditions?
  • If the result is a bundle, what does that imply for what you fund?