Prevention of neonatal tetanus.

Reading File
Finding Sources
Searching PubMed

"neonatal tetanus" AND prevention

Searching the Web

neonatal tetanus prevention WHO guidelines vaccination

Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Reading File
Finding Sources
Reading File
Finding Sources
Reading File
I now have all the information needed for a comprehensive answer. Let me compile it.

Prevention of Neonatal Tetanus

Neonatal tetanus (NT) - also called tetanus neonatorum - is caused by Clostridium tetani spores introduced through the umbilical cord during unclean delivery. It is nearly 100% preventable through two complementary pillars: maternal immunization and clean delivery practices.

1. Maternal Immunization with Tetanus Toxoid-Containing Vaccines (TTCV)

Tetanus toxoid (TT) provides protection to both mother and newborn through transplacental transfer of IgG antibodies.

For Unimmunized Pregnant Women (Two-Dose Primary Course)

DoseTimingProtection
TT1As early as possible in pregnancyMinimal individual protection
TT2At least 1 month after TT1; at least 3 weeks before delivery~80% protection for 3 years
  • In India's National Immunization Schedule, TT doses are given between 16-36 weeks of pregnancy with 1-2 months interval between doses.
  • Golden rule: No pregnant woman should be denied even one dose of TT if she presents late in pregnancy - give it regardless of gestational age, as there is no evidence of harm to the fetus.

For Previously Immunized Pregnant Women

  • A single booster dose is sufficient.
  • A booster is not needed at every consecutive pregnancy due to the risk of hyper-immunization and adverse effects.

WHO Recommended Full Protection Schedule (6-dose lifetime course)

DoseWhen GivenDuration of Protection
TT1Contact/ANCNone
TT24 weeks after TT11-3 years
TT36 months after TT25 years
TT41 year after TT310 years
TT51 year after TT4Life-long (>20 years)
Women who received 6 doses during childhood, or 5 doses with the last dose in the past 10 years, do not need additional doses in pregnancy.

High-Risk Area Strategy

In areas where NT incidence is high and ANC coverage is low, the primary 2-dose course should be extended to all women of childbearing age (15-49 years), not just pregnant women.

2. Clean Delivery Practices - The "Five Cleans"

Training traditional birth attendants (TBAs) in clean delivery can reduce NT deaths by up to 90% even without immunization. The core principle is the "Five Cleans" (Panch Safai):
  1. Clean hands - birth attendant washes hands with soap and water
  2. Clean delivery surface - a clean mat or cloth under the mother
  3. Clean blade - a new or sterile blade to cut the umbilical cord
  4. Clean cord tie - sterile/clean ligature for the cord stump
  5. Clean cord care - nothing should be applied to the cord stump (no dung, soil, ash, ghee, or other traditional applications)
Provision of home delivery kits (containing a clean blade, tie, and instructions) supports these practices in resource-limited settings.

3. Passive Protection of the Newborn

If a newborn is delivered to an unimmunized mother who did not receive 2 doses of TT during pregnancy, passive protection can be provided by:
  • Tetanus antitoxin (heterologous serum): 750 IU administered within 6 hours of birth.
This is a fallback measure and not a substitute for maternal immunization.

4. WHO Maternal and Neonatal Tetanus Elimination (MNTE) Programme

The WHO MNTE program (established 1999) defines elimination as <1 case per 1,000 live births per district. It uses a four-pronged strategy:
  1. Clean delivery and umbilical cord care to prevent infection during delivery
  2. Routine TTCV vaccination of pregnant women through antenatal care
  3. Supplemental immunization campaigns targeting all women of reproductive age in high-risk districts (HRDs) with 3 properly spaced TTCV doses
  4. Strengthened surveillance to identify women at risk and track clustering
The program reduced global NT deaths from ~787,000 in 1988 to ~34,000 by 2015 - a 96% reduction.

5. India's MNT Elimination Strategy

India achieved MNT elimination certification in May 2015. Key strategies included:
  • Acceleration of TT immunization via the WHO-recommended high-risk district approach
  • Systematic TT vaccination of all pregnant women at ANC visits
  • Janani Suraksha Yojana (JSY) - conditional cash transfer to promote institutional deliveries
  • Intensive training of ANMs, midwives, and TBAs
  • Distribution of disposable delivery kits
  • Engagement of >896,000 ASHA workers to generate community demand
  • Operationalization of sub-centres for 24/7 obstetric/neonatal care
  • Safe deliveries rose from 52% (2007) to 76% (2009)

6. Technical Note: Why Eradication is Not Possible

Unlike diseases such as polio, C. tetani spores are extremely resistant to extremes of temperature and persist in the environment indefinitely. Therefore, eradication is technically not possible - only elimination (reducing incidence to below public health significance) is achievable.

Summary of Prevention Strategies

StrategyTargetMechanism
TT immunization (2 doses)Pregnant womenPassive transfer of maternal IgG to fetus
TT for all women of reproductive ageHigh-risk areasHerd immunity, sustained protection
Five Cleans / clean deliveryBirth attendant + motherPrevent cord contamination with spores
Home delivery kitsTBAsProvide clean instruments
Institutional delivery promotionCommunitiesSterile environment, trained staff
Tetanus antitoxin at birthNeonates of unimmunized mothersPassive prophylaxis if born at risk
SurveillanceHealth systemIdentify gaps, high-risk districts

Sources:
  • Park's Textbook of Preventive and Social Medicine - "Prevention of neonatal tetanus" and "Maternal and Neonatal Tetanus Elimination in India"
  • Creasy & Resnik's Maternal-Fetal Medicine - neonatal tetanus section
  • Rosen's Emergency Medicine - neonatal tetanus chapter
  • WHO MNTE strategies
  • Recent systematic review: Progress toward MNT elimination in 12 countries, Lancet Glob Health 2021 (PMID 34678200) - confirms that vaccination coverage gaps and access to skilled birth attendants remain the key barriers.

Make pdf

Reading File
Running Command

mkdir -p /tmp/workspace/neonatal-tetanus && ls /tmp/workspace/neonatal-tetanus/

Writing File

~/neonatal-tetanus/generate_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY

OUTPUT = "/tmp/workspace/neonatal-tetanus/Prevention_of_Neonatal_Tetanus.pdf"

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    leftMargin=2.2*cm, rightMargin=2.2*cm,
    topMargin=2.2*cm, bottomMargin=2.2*cm,
    title="Prevention of Neonatal Tetanus",
    author="Orris Medical Reference",
    subject="Preventive Medicine – Neonatal Tetanus"
)

W = A4[0] - 4.4*cm  # usable width

# ── Colour palette ──────────────────────────────────────────────────────────
DARK_BLUE   = colors.HexColor("#1a3a5c")
MID_BLUE    = colors.HexColor("#2e6da4")
LIGHT_BLUE  = colors.HexColor("#dbe9f8")
TEAL        = colors.HexColor("#0e7c7b")
LIGHT_TEAL  = colors.HexColor("#d4f0ef")
ORANGE      = colors.HexColor("#d9600a")
LIGHT_GREY  = colors.HexColor("#f4f6f8")
MID_GREY    = colors.HexColor("#c8cdd3")
WHITE       = colors.white
BLACK       = colors.HexColor("#1a1a1a")

# ── Styles ──────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()

def S(name, **kw):
    return ParagraphStyle(name, **kw)

title_style = S("DocTitle",
    fontSize=22, leading=28, textColor=WHITE,
    fontName="Helvetica-Bold", alignment=TA_CENTER)

subtitle_style = S("DocSub",
    fontSize=11, leading=14, textColor=colors.HexColor("#cce0f5"),
    fontName="Helvetica", alignment=TA_CENTER)

h1 = S("H1",
    fontSize=13, leading=17, textColor=WHITE,
    fontName="Helvetica-Bold", spaceAfter=0, spaceBefore=0,
    leftIndent=0)

h2 = S("H2",
    fontSize=11, leading=14, textColor=DARK_BLUE,
    fontName="Helvetica-Bold", spaceBefore=14, spaceAfter=4)

body = S("Body",
    fontSize=9.5, leading=14, textColor=BLACK,
    fontName="Helvetica", alignment=TA_JUSTIFY,
    spaceBefore=4, spaceAfter=4)

bullet = S("Bullet",
    fontSize=9.5, leading=14, textColor=BLACK,
    fontName="Helvetica", leftIndent=16, firstLineIndent=-10,
    spaceBefore=2, spaceAfter=2)

bold_body = S("BoldBody",
    fontSize=9.5, leading=14, textColor=BLACK,
    fontName="Helvetica-Bold")

note_style = S("Note",
    fontSize=8.5, leading=12, textColor=colors.HexColor("#555555"),
    fontName="Helvetica-Oblique", alignment=TA_LEFT)

golden_style = S("Golden",
    fontSize=9.5, leading=14, textColor=ORANGE,
    fontName="Helvetica-Bold", alignment=TA_JUSTIFY)

# ── Helper: section header bar ───────────────────────────────────────────────
def section_header(text, color=DARK_BLUE):
    tbl = Table([[Paragraph(text, h1)]], colWidths=[W])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), color),
        ("TOPPADDING",    (0,0), (-1,-1), 6),
        ("BOTTOMPADDING", (0,0), (-1,-1), 6),
        ("LEFTPADDING",   (0,0), (-1,-1), 10),
        ("RIGHTPADDING",  (0,0), (-1,-1), 10),
        ("ROUNDEDCORNERS", [4]),
    ]))
    return tbl

def bullet_item(text):
    return Paragraph(f"<bullet>&bull;</bullet> {text}", bullet)

def sp(h=6):
    return Spacer(1, h)

# ── Build story ──────────────────────────────────────────────────────────────
story = []

# ── Title block ──────────────────────────────────────────────────────────────
title_tbl = Table(
    [[Paragraph("Prevention of Neonatal Tetanus", title_style)],
     [Paragraph("A Comprehensive Preventive Medicine Reference", subtitle_style)]],
    colWidths=[W]
)
title_tbl.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), DARK_BLUE),
    ("TOPPADDING",    (0,0), (-1,-1), 18),
    ("BOTTOMPADDING", (0,0), (-1,-1), 18),
    ("LEFTPADDING",   (0,0), (-1,-1), 14),
    ("RIGHTPADDING",  (0,0), (-1,-1), 14),
    ("ROUNDEDCORNERS", [6]),
]))
story.append(title_tbl)
story.append(sp(12))

# Source note
story.append(Paragraph(
    "<i>Source: Park's Textbook of Preventive and Social Medicine | "
    "Creasy &amp; Resnik's Maternal-Fetal Medicine | Rosen's Emergency Medicine | WHO MNTE Programme</i>",
    note_style))
story.append(sp(10))
story.append(HRFlowable(width=W, thickness=1.5, color=MID_BLUE))
story.append(sp(10))

# ── 1. Overview ──────────────────────────────────────────────────────────────
story.append(section_header("1.  Overview"))
story.append(sp(8))
story.append(Paragraph(
    "Neonatal tetanus (NT) – also called <i>tetanus neonatorum</i> – is caused by <i>Clostridium tetani</i> "
    "spores introduced through the umbilical cord during unclean delivery. It is the second leading cause "
    "of death among EPI target diseases (after measles) in developing countries, with a case-fatality rate "
    "of 80-100% without high-quality treatment. It is <b>nearly 100% preventable</b> through two "
    "complementary pillars: maternal immunization and clean delivery practices.", body))
story.append(sp(4))

# Key facts box
facts = [
    ["Key Epidemiological Facts"],
    ["Global NT deaths: ~787,000 (1988)  →  ~34,000 (2015)  =  96% reduction (WHO)"],
    ["Elimination target: < 1 case per 1,000 live births per district"],
    ["Occurs almost exclusively where maternal immunization is inadequate & cord care is unclean"],
    ["C. tetani spores are environmentally persistent — eradication is NOT possible; only elimination"],
]
facts_tbl = Table(facts, colWidths=[W])
facts_tbl.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (0,0), TEAL),
    ("TEXTCOLOR",     (0,0), (0,0), WHITE),
    ("FONTNAME",      (0,0), (0,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (0,0), 10),
    ("BACKGROUND",    (0,1), (-1,-1), LIGHT_TEAL),
    ("FONTNAME",      (0,1), (-1,-1), "Helvetica"),
    ("FONTSIZE",      (0,1), (-1,-1), 9),
    ("LEADING",       (0,1), (-1,-1), 13),
    ("TOPPADDING",    (0,0), (-1,-1), 6),
    ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (-1,-1), 10),
    ("GRID",          (0,0), (-1,-1), 0.5, colors.HexColor("#9ececa")),
]))
story.append(facts_tbl)
story.append(sp(12))

# ── 2. Maternal Immunization ─────────────────────────────────────────────────
story.append(section_header("2.  Maternal Immunization with Tetanus Toxoid-Containing Vaccines (TTCV)"))
story.append(sp(8))
story.append(Paragraph(
    "Tetanus toxoid (TT) protects both the mother and her newborn through "
    "transplacental transfer of maternal IgG antibodies. It is the cornerstone of NT prevention.", body))
story.append(sp(6))

story.append(Paragraph("A.  Unimmunized Pregnant Women — Two-Dose Primary Course", h2))
tt_data = [
    ["Dose", "Timing", "Protection Conferred"],
    ["TT1", "As early as possible in pregnancy", "Minimal individual protection"],
    ["TT2", "≥ 1 month after TT1; ≥ 3 weeks before delivery\n(India: 16–36 weeks; 1–2 month interval)", "~80% for ≈ 3 years"],
]
tt_tbl = Table(tt_data, colWidths=[W*0.10, W*0.52, W*0.38])
tt_tbl.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), MID_BLUE),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("LEADING",       (0,0), (-1,-1), 13),
    ("BACKGROUND",    (0,1), (-1,1), LIGHT_BLUE),
    ("BACKGROUND",    (0,2), (-1,2), WHITE),
    ("GRID",          (0,0), (-1,-1), 0.5, MID_GREY),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 7),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
]))
story.append(tt_tbl)
story.append(sp(6))

# Golden rule
golden_box = Table([[Paragraph(
    "Golden Rule: No pregnant woman should be denied even ONE dose of TT if she presents late "
    "in pregnancy. There is no evidence that tetanus toxoid is harmful to the fetus.", golden_style)]],
    colWidths=[W])
golden_box.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), colors.HexColor("#fff3e0")),
    ("LEFTPADDING",   (0,0), (-1,-1), 12),
    ("RIGHTPADDING",  (0,0), (-1,-1), 12),
    ("TOPPADDING",    (0,0), (-1,-1), 8),
    ("BOTTOMPADDING", (0,0), (-1,-1), 8),
    ("BOX",           (0,0), (-1,-1), 1.5, ORANGE),
]))
story.append(golden_box)
story.append(sp(8))

story.append(Paragraph("B.  Previously Immunized Pregnant Women", h2))
story.append(bullet_item("A single <b>booster dose</b> is sufficient."))
story.append(bullet_item("Booster is <b>not</b> needed at every consecutive pregnancy — risk of hyper-immunization and side effects."))
story.append(sp(8))

story.append(Paragraph("C.  WHO Recommended Lifetime 6-Dose Schedule", h2))
who_data = [
    ["Dose", "When Given", "Duration of Protection"],
    ["TT1", "First contact / ANC", "None"],
    ["TT2", "4 weeks after TT1", "1–3 years"],
    ["TT3", "6 months after TT2", "5 years"],
    ["TT4", "1 year after TT3", "10 years"],
    ["TT5", "1 year after TT4", "Life-long (> 20 years)"],
]
who_tbl = Table(who_data, colWidths=[W*0.10, W*0.45, W*0.45])
who_tbl.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), DARK_BLUE),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("LEADING",       (0,0), (-1,-1), 13),
    ("ROWBACKGROUNDS", (0,1), (-1,-1), [LIGHT_BLUE, WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.5, MID_GREY),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 7),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
]))
story.append(who_tbl)
story.append(sp(6))
story.append(Paragraph(
    "Women who received 6 TTCV doses during childhood, or 5 doses with the last within 10 years, "
    "do <b>not</b> need additional doses during pregnancy.", body))
story.append(sp(8))

story.append(Paragraph("D.  High-Risk Area Strategy", h2))
story.append(Paragraph(
    "In areas where NT incidence is high and ANC coverage is low, the primary 2-dose course "
    "should be extended to <b>all women of childbearing age (15–49 years)</b>, not just pregnant women. "
    "Women of reproductive age in high-risk districts (HRDs) are targeted with <b>3 properly spaced "
    "TTCV doses</b> through specially organized supplementary immunization activities.", body))
story.append(sp(12))

# ── 3. Five Cleans ───────────────────────────────────────────────────────────
story.append(section_header("3.  Clean Delivery Practices — The \"Five Cleans\"", color=TEAL))
story.append(sp(8))
story.append(Paragraph(
    "Training traditional birth attendants (TBAs) in clean delivery practices alone can reduce "
    "NT deaths by <b>up to 90%</b>. The core principle is the <b>Five Cleans</b> (<i>Panch Safai</i>):", body))
story.append(sp(6))

cleans = [
    ["#", "Clean Element", "Details"],
    ["1", "Clean Hands", "Birth attendant washes hands thoroughly with soap and water before delivery"],
    ["2", "Clean Delivery Surface", "A clean mat or cloth placed under the mother"],
    ["3", "Clean Blade", "A new or sterilized blade used to cut the umbilical cord"],
    ["4", "Clean Cord Tie", "Sterile or clean ligature for tying the cord stump"],
    ["5", "Clean Cord Care", "Nothing applied to the cord stump — no dung, soil, ash, ghee, or any traditional application"],
]
cleans_tbl = Table(cleans, colWidths=[W*0.06, W*0.22, W*0.72])
cleans_tbl.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), TEAL),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("LEADING",       (0,0), (-1,-1), 13),
    ("ROWBACKGROUNDS", (0,1), (-1,-1), [LIGHT_TEAL, WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.5, colors.HexColor("#9ececa")),
    ("TOPPADDING",    (0,0), (-1,-1), 6),
    ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (-1,-1), 7),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ("FONTNAME",      (0,1), (1,-1), "Helvetica-Bold"),
    ("TEXTCOLOR",     (0,1), (0,-1), TEAL),
]))
story.append(cleans_tbl)
story.append(sp(6))
story.append(Paragraph(
    "Provision of <b>home delivery kits</b> (containing a clean blade, clean cord tie, and instructions) "
    "supports these practices in resource-limited settings where institutional delivery is not feasible.", body))
story.append(sp(12))

# ── 4. Passive Protection ────────────────────────────────────────────────────
story.append(section_header("4.  Passive Protection of the Newborn"))
story.append(sp(8))
story.append(Paragraph(
    "If a newborn is delivered to an unimmunized mother (who did not receive 2 doses of TT during "
    "pregnancy), passive protection can be provided as a <b>fallback measure</b>:", body))
story.append(sp(4))

passive_data = [
    ["Agent", "Dose", "Timing", "Note"],
    ["Tetanus Antitoxin\n(heterologous serum)", "750 IU", "Within 6 hours of birth",
     "Not a substitute for maternal immunization; emergency fallback only"],
]
passive_tbl = Table(passive_data, colWidths=[W*0.25, W*0.12, W*0.27, W*0.36])
passive_tbl.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), MID_BLUE),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("LEADING",       (0,0), (-1,-1), 13),
    ("BACKGROUND",    (0,1), (-1,1), LIGHT_BLUE),
    ("GRID",          (0,0), (-1,-1), 0.5, MID_GREY),
    ("TOPPADDING",    (0,0), (-1,-1), 6),
    ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (-1,-1), 7),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
]))
story.append(passive_tbl)
story.append(sp(12))

# ── 5. WHO MNTE ──────────────────────────────────────────────────────────────
story.append(section_header("5.  WHO Maternal and Neonatal Tetanus Elimination (MNTE) Programme", color=colors.HexColor("#4a235a")))
story.append(sp(8))
story.append(Paragraph(
    "The MNTE programme was established in <b>1999</b>. Elimination is defined as "
    "<b>&lt; 1 case per 1,000 live births per district</b>. It employs a <b>four-pronged strategy</b>:", body))
story.append(sp(6))

mnte_data = [
    ["Strategy", "Description"],
    ["1. Clean Delivery & Cord Care",
     "Prevent infection during and after the delivery process through hygienic obstetric practices"],
    ["2. Routine TTCV Vaccination",
     "Systematic vaccination of pregnant women attending ANC with TT-containing vaccines"],
    ["3. Supplemental Immunization Campaigns",
     "Targeting all women of reproductive age in high-risk districts with 3 properly spaced TTCV doses"],
    ["4. Strengthened Surveillance",
     "Identify women at risk, reasons for risk, and potential geographic clustering of cases"],
]
mnte_tbl = Table(mnte_data, colWidths=[W*0.35, W*0.65])
mnte_tbl.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), colors.HexColor("#4a235a")),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("LEADING",       (0,0), (-1,-1), 13),
    ("ROWBACKGROUNDS", (0,1), (-1,-1), [colors.HexColor("#f3eaf7"), WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.5, colors.HexColor("#c9a8d4")),
    ("TOPPADDING",    (0,0), (-1,-1), 6),
    ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ("FONTNAME",      (0,1), (0,-1), "Helvetica-Bold"),
]))
story.append(mnte_tbl)
story.append(sp(12))

# ── 6. India MNTE ────────────────────────────────────────────────────────────
story.append(section_header("6.  India's MNT Elimination Strategy", color=colors.HexColor("#8b1a1a")))
story.append(sp(8))
story.append(Paragraph(
    "India achieved official MNT elimination certification in <b>May 2015</b>. "
    "Key strategies employed:", body))
story.append(sp(4))

india_items = [
    "Acceleration of TT immunization through the WHO-recommended <b>high-risk district approach</b>",
    "Systematic TT vaccination of all pregnant women at ANC visits",
    "<b>Janani Suraksha Yojana (JSY)</b> — conditional cash transfer scheme to incentivize institutional delivery",
    "Intensive 3-week refresher training for all skilled birth attendants (ANMs, midwives, TBAs)",
    "Distribution of <b>disposable delivery kits</b> to skilled birth attendants for each pregnancy",
    "Engagement of <b>&gt;896,000 ASHA workers</b> to generate community demand for health services",
    "Operationalization of sub-centres and CHCs for <b>24/7 obstetric and neonatal care</b>",
    "Setting up Newborn Care Corners, Special Neonatal Care Units, and Newborn Stabilization Units",
    "Village Health and Nutrition Days integrating vaccination of children, adolescents, and pregnant women",
    "<b>Janani Shishu Suraksha Karyakram (2011)</b> — free delivery and neonatal care entitlements",
]
for item in india_items:
    story.append(bullet_item(item))
story.append(sp(6))

result_tbl = Table([[Paragraph(
    "Result: Safe deliveries rose from 52% (2007) to 76% (2009). "
    "By December 2014, 30 of 36 states/UTs were validated for MNT elimination.", 
    S("Res", fontSize=9.5, leading=14, textColor=colors.HexColor("#8b1a1a"),
      fontName="Helvetica-Bold"))]],
    colWidths=[W])
result_tbl.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), colors.HexColor("#fdf0f0")),
    ("LEFTPADDING",   (0,0), (-1,-1), 12),
    ("RIGHTPADDING",  (0,0), (-1,-1), 12),
    ("TOPPADDING",    (0,0), (-1,-1), 8),
    ("BOTTOMPADDING", (0,0), (-1,-1), 8),
    ("BOX",           (0,0), (-1,-1), 1.5, colors.HexColor("#8b1a1a")),
]))
story.append(result_tbl)
story.append(sp(12))

# ── 7. Summary Table ─────────────────────────────────────────────────────────
story.append(section_header("7.  Summary of All Prevention Strategies"))
story.append(sp(8))

summary_data = [
    ["Strategy", "Target Population", "Mechanism"],
    ["TT immunization (2 doses)", "Pregnant women", "Passive IgG transfer across placenta to fetus"],
    ["TT for all women of reproductive age", "Women 15–49 yrs in HRDs", "Sustained herd immunity; prevents future pregnancies being unprotected"],
    ["Five Cleans / clean delivery", "Birth attendant + mother", "Prevents cord contamination with C. tetani spores"],
    ["Home delivery kits", "TBAs / home deliveries", "Provides clean instruments where facility delivery unavailable"],
    ["Institutional delivery promotion", "Communities / rural women", "Sterile environment + skilled staff"],
    ["Tetanus antitoxin at birth", "Neonates of unimmunized mothers", "Passive prophylaxis within 6 hours — emergency fallback"],
    ["Supplemental immunization campaigns", "HRDs with low ANC coverage", "Rapidly boost population immunity"],
    ["Surveillance & monitoring", "Health system", "Identify gaps, high-risk districts, clustering"],
]
sum_tbl = Table(summary_data, colWidths=[W*0.30, W*0.30, W*0.40])
sum_tbl.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), DARK_BLUE),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 8.5),
    ("LEADING",       (0,0), (-1,-1), 12),
    ("ROWBACKGROUNDS", (0,1), (-1,-1), [LIGHT_BLUE, WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.5, MID_GREY),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
]))
story.append(sum_tbl)
story.append(sp(12))

# ── 8. References ─────────────────────────────────────────────────────────────
story.append(HRFlowable(width=W, thickness=1, color=MID_GREY))
story.append(sp(6))
story.append(Paragraph("<b>References</b>", h2))
refs = [
    "Park K. Park's Textbook of Preventive and Social Medicine, 25th ed. Banarsidas Bhanot; 2019.",
    "Creasy RK, Resnik R et al. Maternal-Fetal Medicine: Principles and Practice, 8th ed. Elsevier; 2019.",
    "Marx JA et al. Rosen's Emergency Medicine: Concepts and Clinical Practice, 9th ed. Elsevier; 2020.",
    "WHO. Maternal and Neonatal Tetanus Elimination (MNTE) Programme. who.int, 2023.",
    "Yusuf N et al. Progress and barriers towards maternal and neonatal tetanus elimination in the remaining 12 countries. Lancet Glob Health. 2021;9(11):e1500–e1509. PMID 34678200.",
    "WHO. Tetanus vaccines: WHO position paper, February 2017. Wkly Epidemiol Rec. 2017;92(6):53–76.",
]
for i, r in enumerate(refs, 1):
    story.append(Paragraph(f"{i}.  {r}", note_style))
    story.append(sp(2))

# ── Build ─────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
Running Command

cd /tmp/workspace/neonatal-tetanus && python generate_pdf.py

Your PDF is ready. Here's the download link:

Prevention of Neonatal Tetanus

PDF Document · PDF

The document includes:
  • Title page block with subtitle and source citations
  • Section 1 - Overview with key epidemiological facts box (96% reduction in deaths)
  • Section 2 - Maternal immunization: 2-dose primary course table, golden rule highlight box, WHO 6-dose lifetime schedule, and high-risk area strategy
  • Section 3 - Five Cleans table with details for each clean practice
  • Section 4 - Passive protection (tetanus antitoxin 750 IU within 6 hours)
  • Section 5 - WHO MNTE 4-pronged strategy table
  • Section 6 - India's elimination strategy with results box (certified May 2015)
  • Section 7 - Full summary table of all prevention strategies
  • References with 6 authoritative sources
This is a shared conversation. Sign in to Orris to start your own chat.