Make a presentation on the topic of Vaccine grand presentation of 2nd year nursing student of 10 to 15 slides .Keeps minimum slides that can be presented in any presenter simple and eye catching . And if you can search the Nepal EPI chart of vaccination the pamphlet Nepal uses . And also the adverse effects and management in 1or 2 slides . The nursing role . And make a beautiful presentation of it including following points . If you have to define something take from references books 1. Title Slide Vaccines and National Immunization Programme (EPI) of Nepal 2. Learning Objectives Define vaccine and immunization Know the types of vaccines Understand Nepal’s EPI programme Learn the national immunization schedule Understand the role of nurses 3. What is a Vaccine? Vaccine: A biological preparation that protects against a disease. Immunization: The process of becoming protected through vaccination. Importance: Prevents infectious diseases Reduces child deaths Protects the community 4. Types of Vaccines Type Example Live BCG, MR Inactivated IPV Toxoid Tetanus Conjugate PCV Combination Pentavalent 5. EPI Programme in Nepal Started in Nepal in 1979 Run by the Ministry of Health and Population Provides free vaccines to all children Aims to reduce vaccine-preventable diseases 6. National EPI Schedule of Nepal (Most Important) Age Vaccine Birth BCG 6 weeks Pentavalent-1, OPV-1, PCV-1, Rotavirus-1 10 weeks Pentavalent-2, OPV-2, PCV-2, Rotavirus-2 14 weeks Pentavalent-3, OPV-3, fIPV 9 months MR-1, PCV-3, fIPV 12 months Japanese Encephalitis (JE) 15 months MR-2 7. Diseases Prevented by Vaccines Tuberculosis Diphtheria Pertussis Tetanus Hepatitis B Polio Measles Rubella Japanese Encephalitis 8. Cold Chain Definition: System that keeps vaccines effective during storage and transport. Temperature: +2°C to +8°C Equipment: ILR Deep freezer Vaccine carrier Ice packs 9. Role of Nurses Maintain cold chain Prepare vaccines correctly Give correct dose and route Educate parents Record vaccinations Promote immunization in the community 10. Summary & Thank You Vaccines save lives. Nepal’s EPI provides free protection to children. The EPI schedule is the key topic for nursing students. Nurses are essential for successful immunization. Thank You Any Questions?
Nepal EPI vaccination schedule chart 2024 immunization programme
mkdir -p /home/daytona/workspace/vaccine-pptx && ls /home/daytona/workspace/vacc…
node /home/daytona/skills/shared/scripts/fetch_images.js "https://epomedicine.co…
~/vaccine-pptx/build.js
const pptxgen = require("pptxgenjs");
const fs = require("fs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Vaccines and National Immunization Programme (EPI) of Nepal";
// ── COLOUR PALETTE ──────────────────────────────────────────────────────────
const C = {
navy: "0A2342", // dominant dark
teal: "1B7A8A", // accent headers
green: "2E8B57", // accent 2
orange: "E07B39", // warm highlight
white: "FFFFFF",
offwhite:"F4F8FB",
light: "D6EAF8",
muted: "7F8C8D",
red: "C0392B",
yellow: "F4D03F",
lime: "27AE60",
sky: "2980B9",
};
// ── HELPERS ──────────────────────────────────────────────────────────────────
function addHeader(slide, title, subtitle) {
// Full-width navy bar at top
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: C.navy } });
slide.addText(title, {
x: 0.3, y: 0, w: 9.4, h: 0.85,
fontSize: 22, bold: true, color: C.white, valign: "middle", align: "left", margin: 0,
});
if (subtitle) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0.85, w: 10, h: 0.32, fill: { color: C.teal } });
slide.addText(subtitle, {
x: 0.3, y: 0.85, w: 9.4, h: 0.32,
fontSize: 12, color: C.white, italic: true, valign: "middle", margin: 0,
});
}
}
function addFooter(slide, text) {
slide.addShape(pres.ShapeType.rect, { x: 0, y: 5.3, w: 10, h: 0.325, fill: { color: C.navy } });
slide.addText(text || "2nd Year Nursing Student Presentation | Vaccines & EPI Nepal", {
x: 0.3, y: 5.3, w: 9.4, h: 0.325,
fontSize: 9, color: C.white, align: "left", valign: "middle", margin: 0,
});
}
// ────────────────────────────────────────────────────────────────────────────
// SLIDE 1 – TITLE
// ────────────────────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
// Full dark background
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
// Decorative teal banner (diagonal feel via tall bar on left)
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.45, h: 5.625, fill: { color: C.teal } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 4.6, w: 10, h: 1.025, fill: { color: C.teal } });
// Accent circles (decorative)
sl.addShape(pres.ShapeType.ellipse, { x: 7.5, y: -0.5, w: 3.5, h: 3.5, fill: { color: "1B7A8A", transparency: 70 }, line: { color: "1B7A8A", transparency: 70 } });
sl.addShape(pres.ShapeType.ellipse, { x: 8.2, y: 2.5, w: 2.5, h: 2.5, fill: { color: "E07B39", transparency: 75 }, line: { color: "E07B39", transparency: 75 } });
// Flag colours strip
sl.addShape(pres.ShapeType.rect, { x: 0.65, y: 1.6, w: 0.12, h: 2.2, fill: { color: C.red } });
// Syringe emoji / vaccine icon text
sl.addText("💉", { x: 0.75, y: 0.8, w: 1.2, h: 1.2, fontSize: 54 });
// Title text
sl.addText("VACCINES", {
x: 1.9, y: 0.7, w: 7.8, h: 0.9,
fontSize: 42, bold: true, color: C.white, charSpacing: 4, align: "left", margin: 0,
});
sl.addText("& National Immunization Programme", {
x: 1.9, y: 1.55, w: 7.8, h: 0.55,
fontSize: 20, color: C.yellow, align: "left", margin: 0,
});
sl.addText("EPI of Nepal", {
x: 1.9, y: 2.05, w: 7.8, h: 0.5,
fontSize: 26, bold: true, color: C.teal, charSpacing: 2, align: "left", margin: 0,
});
// Divider line
sl.addShape(pres.ShapeType.line, { x: 1.9, y: 2.65, w: 7.6, h: 0, line: { color: C.orange, width: 2 } });
// Sub-info
sl.addText([
{ text: "Prepared by: ", options: { bold: true, color: C.yellow } },
{ text: "2nd Year B.Sc. Nursing Student", options: { color: C.white } },
], { x: 1.9, y: 2.8, w: 7.8, h: 0.4, fontSize: 13, align: "left", margin: 0 });
sl.addText([
{ text: "Subject: ", options: { bold: true, color: C.yellow } },
{ text: "Community Health Nursing", options: { color: C.white } },
], { x: 1.9, y: 3.15, w: 7.8, h: 0.35, fontSize: 13, align: "left", margin: 0 });
sl.addText([
{ text: "References: ", options: { bold: true, color: C.yellow } },
{ text: "Park's Textbook of Preventive & Social Medicine | WHO EPI Guidelines | MoHP Nepal", options: { color: C.white } },
], { x: 1.9, y: 3.5, w: 7.8, h: 0.35, fontSize: 11, italic: true, align: "left", margin: 0 });
sl.addText("Ministry of Health & Population | Government of Nepal", {
x: 0.65, y: 4.65, w: 8.5, h: 0.4,
fontSize: 12, color: C.white, align: "center", valign: "middle", margin: 0,
});
}
// ────────────────────────────────────────────────────────────────────────────
// SLIDE 2 – LEARNING OBJECTIVES
// ────────────────────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(sl, "Learning Objectives", "What you will learn from this presentation");
const objs = [
{ num: "01", text: "Define vaccine and immunization" },
{ num: "02", text: "Understand the types of vaccines and their examples" },
{ num: "03", text: "Know Nepal's Expanded Programme on Immunization (EPI)" },
{ num: "04", text: "Learn the National Immunization Schedule of Nepal" },
{ num: "05", text: "Understand adverse effects of vaccines and their management" },
{ num: "06", text: "Describe the role of a nurse in immunization" },
];
objs.forEach((o, i) => {
const col = i % 2 === 0 ? C.teal : C.navy;
const x = i % 2 === 0 ? 0.3 : 5.15;
const y = 1.3 + Math.floor(i / 2) * 1.22;
sl.addShape(pres.ShapeType.rect, { x, y, w: 4.65, h: 1.05, fill: { color: col }, rectRadius: 0.08 });
sl.addText(o.num, { x: x + 0.12, y, w: 0.6, h: 1.05, fontSize: 22, bold: true, color: C.yellow, valign: "middle", align: "center", margin: 0 });
sl.addShape(pres.ShapeType.line, { x: x + 0.7, y: y + 0.2, w: 0, h: 0.65, line: { color: C.white, width: 1.5 } });
sl.addText(o.text, { x: x + 0.85, y, w: 3.65, h: 1.05, fontSize: 13, color: C.white, valign: "middle", margin: 0 });
});
addFooter(sl);
}
// ────────────────────────────────────────────────────────────────────────────
// SLIDE 3 – WHAT IS A VACCINE?
// ────────────────────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(sl, "What is a Vaccine & Immunization?", "Definitions from Park's Preventive & Social Medicine");
// Two definition boxes side by side
// Vaccine box
sl.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.05, w: 4.4, h: 2.7, fill: { color: C.teal }, rectRadius: 0.1 });
sl.addText("💉 VACCINE", { x: 0.45, y: 1.15, w: 4.0, h: 0.5, fontSize: 16, bold: true, color: C.yellow, margin: 0 });
sl.addText(
"A biological preparation that improves immunity to a particular disease. It typically contains an agent resembling the disease-causing microorganism and is often made from weakened or killed forms of the microbe, its toxins, or one of its surface proteins.\n\n(Park's Preventive & Social Medicine, 25th ed.)",
{ x: 0.45, y: 1.65, w: 4.0, h: 1.95, fontSize: 11.5, color: C.white, valign: "top", margin: 4 }
);
// Immunization box
sl.addShape(pres.ShapeType.rect, { x: 5.3, y: 1.05, w: 4.4, h: 2.7, fill: { color: C.navy }, rectRadius: 0.1 });
sl.addText("🛡️ IMMUNIZATION", { x: 5.45, y: 1.15, w: 4.0, h: 0.5, fontSize: 16, bold: true, color: C.yellow, margin: 0 });
sl.addText(
"The process by which a person is made immune or resistant to an infectious disease, typically by the administration of a vaccine.\n\nImmunization protects people against harmful infections before they come into contact with them in the community.\n\n(WHO Definition)",
{ x: 5.45, y: 1.65, w: 4.0, h: 1.95, fontSize: 11.5, color: C.white, valign: "top", margin: 4 }
);
// Importance strip
sl.addShape(pres.ShapeType.rect, { x: 0.3, y: 3.9, w: 9.4, h: 1.05, fill: { color: C.orange }, rectRadius: 0.08 });
sl.addText("WHY VACCINES MATTER:", { x: 0.5, y: 3.9, w: 2.4, h: 1.05, fontSize: 12, bold: true, color: C.white, valign: "middle", margin: 0 });
const imp = ["Prevents life-threatening diseases", "Reduces child mortality", "Creates herd immunity", "Cost-effective public health tool"];
imp.forEach((t, i) => {
sl.addText("✔ " + t, {
x: 2.9 + i * 1.7, y: 3.9, w: 1.65, h: 1.05,
fontSize: 10.5, color: C.white, valign: "middle", align: "center", margin: 2,
});
});
addFooter(sl);
}
// ────────────────────────────────────────────────────────────────────────────
// SLIDE 4 – TYPES OF VACCINES
// ────────────────────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(sl, "Types of Vaccines", "Classification with examples used in Nepal's EPI");
const types = [
{ type: "Live Attenuated", example: "BCG, MR, OPV", note: "Weakened live pathogen", color: C.teal, icon: "🦠" },
{ type: "Inactivated (Killed)", example: "IPV, Hepatitis A", note: "Killed pathogen", color: C.navy, icon: "☠️" },
{ type: "Toxoid", example: "Tetanus (in Pentavalent)", note: "Inactivated toxin", color: C.green, icon: "⚗️" },
{ type: "Conjugate", example: "PCV, Hib", note: "Polysaccharide + protein", color: C.orange, icon: "🔗" },
{ type: "Combination", example: "Pentavalent (DPT+HBV+Hib)", note: "Multiple antigens", color: "8E44AD", icon: "💊" },
{ type: "Subunit / Recombinant", example: "Hepatitis B (rDNA)", note: "Specific protein antigen", color: "2471A3", icon: "🧬" },
];
types.forEach((t, i) => {
const col = i % 3;
const row = Math.floor(i / 3);
const x = 0.25 + col * 3.22;
const y = 1.1 + row * 1.98;
sl.addShape(pres.ShapeType.rect, { x, y, w: 3.0, h: 1.75, fill: { color: t.color }, rectRadius: 0.1 });
sl.addText(t.icon + " " + t.type, { x: x + 0.1, y: y + 0.07, w: 2.8, h: 0.45, fontSize: 12.5, bold: true, color: C.white, margin: 0 });
sl.addShape(pres.ShapeType.line, { x: x + 0.1, y: y + 0.52, w: 2.8, h: 0, line: { color: C.white, width: 0.75, transparency: 40 } });
sl.addText("Example: " + t.example, { x: x + 0.1, y: y + 0.58, w: 2.8, h: 0.42, fontSize: 11, color: C.yellow, margin: 0 });
sl.addText(t.note, { x: x + 0.1, y: y + 1.0, w: 2.8, h: 0.6, fontSize: 10.5, color: C.white, italic: true, margin: 0 });
});
addFooter(sl);
}
// ────────────────────────────────────────────────────────────────────────────
// SLIDE 5 – EPI PROGRAMME IN NEPAL
// ────────────────────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(sl, "Expanded Programme on Immunization (EPI) – Nepal", "History, Scope & Key Features");
// Timeline bar
const milestones = [
{ year: "1977/78", label: "EPI\nLaunched", color: C.teal },
{ year: "1989", label: "Cold Chain\nEstablished", color: C.green },
{ year: "2004", label: "Hep B\nAdded", color: C.navy },
{ year: "2015", label: "PCV-10\nIntroduced", color: C.orange },
{ year: "2020", label: "Rotavirus\nAdded", color: "8E44AD" },
{ year: "2022", label: "Typhoid\nVaccine", color: C.teal },
];
milestones.forEach((m, i) => {
const x = 0.3 + i * 1.575;
sl.addShape(pres.ShapeType.ellipse, { x: x + 0.35, y: 1.1, w: 0.85, h: 0.85, fill: { color: m.color } });
sl.addText(m.year, { x: x, y: 1.1, w: 1.55, h: 0.85, fontSize: 10, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
if (i < milestones.length - 1) {
sl.addShape(pres.ShapeType.line, { x: x + 1.21, y: 1.52, w: 0.35, h: 0, line: { color: C.muted, width: 1.5 } });
}
sl.addText(m.label, { x: x, y: 2.0, w: 1.55, h: 0.55, fontSize: 9.5, align: "center", color: C.navy, margin: 0 });
});
// Key facts
const facts = [
{ icon: "🏛️", title: "Authority", text: "Ministry of Health & Population, Govt. of Nepal" },
{ icon: "🆓", title: "Cost", text: "All vaccines provided FREE to children" },
{ icon: "🎯", title: "Goal", text: "Reduce vaccine-preventable disease morbidity & mortality" },
{ icon: "📍", title: "Coverage", text: "Nationwide including remote hills & mountains" },
{ icon: "💉", title: "Vaccines", text: "14 diseases targeted by current EPI schedule" },
{ icon: "📊", title: "Coverage Rate", text: ">90% national DTP3 coverage (WHO/UNICEF 2023)" },
];
facts.forEach((f, i) => {
const col = i % 3;
const row = Math.floor(i / 3);
const x = 0.25 + col * 3.22;
const y = 2.75 + row * 1.1;
sl.addShape(pres.ShapeType.rect, { x, y, w: 3.02, h: 0.92, fill: { color: C.light }, rectRadius: 0.07 });
sl.addText(f.icon + " " + f.title, { x: x + 0.08, y: y + 0.04, w: 2.85, h: 0.3, fontSize: 11, bold: true, color: C.teal, margin: 0 });
sl.addText(f.text, { x: x + 0.08, y: y + 0.35, w: 2.85, h: 0.5, fontSize: 10, color: C.navy, margin: 0 });
});
addFooter(sl);
}
// ────────────────────────────────────────────────────────────────────────────
// SLIDE 6 – NATIONAL EPI SCHEDULE TABLE
// ────────────────────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(sl, "National EPI Immunization Schedule – Nepal (2024)", "Source: Ministry of Health and Population, Government of Nepal");
const rows = [
{ age: "At Birth", vaccines: "BCG", route: "Intradermal (Right arm)", disease: "Tuberculosis", color: "EBF5FB" },
{ age: "6 Weeks", vaccines: "Penta-1, OPV-1, PCV-1, Rotavirus-1", route: "IM / Oral / IM / Oral", disease: "DPT, HBV, Hib, Polio, Pneumonia, Rota", color: "E9F7EF" },
{ age: "10 Weeks", vaccines: "Penta-2, OPV-2, PCV-2, Rotavirus-2", route: "IM / Oral / IM / Oral", disease: "DPT, HBV, Hib, Polio, Pneumonia, Rota", color: "EBF5FB" },
{ age: "14 Weeks", vaccines: "Penta-3, OPV-3, fIPV-1", route: "IM / Oral / ID", disease: "DPT, HBV, Hib, Polio (inactivated)", color: "E9F7EF" },
{ age: "9 Months", vaccines: "MR-1, PCV-3, fIPV-2", route: "SC / IM / ID", disease: "Measles, Rubella, Pneumonia, Polio", color: "EBF5FB" },
{ age: "12 Months", vaccines: "JE (Japanese Encephalitis)", route: "SC", disease: "Japanese Encephalitis", color: "E9F7EF" },
{ age: "15 Months", vaccines: "MR-2", route: "SC", disease: "Measles, Rubella (Booster)", color: "EBF5FB" },
];
// Table header
const hY = 1.02;
sl.addShape(pres.ShapeType.rect, { x: 0.2, y: hY, w: 9.6, h: 0.42, fill: { color: C.navy } });
const hdr = ["Age", "Vaccine(s)", "Route", "Disease(s) Prevented"];
const colX = [0.22, 1.45, 5.6, 7.35];
const colW = [1.2, 4.1, 1.72, 2.42];
hdr.forEach((h, i) => {
sl.addText(h, { x: colX[i], y: hY, w: colW[i], h: 0.42, fontSize: 11, bold: true, color: C.yellow, valign: "middle", margin: 3 });
});
rows.forEach((r, i) => {
const y = hY + 0.42 + i * 0.52;
sl.addShape(pres.ShapeType.rect, { x: 0.2, y, w: 9.6, h: 0.5, fill: { color: r.color } });
const data = [r.age, r.vaccines, r.route, r.disease];
data.forEach((d, j) => {
sl.addText(d, { x: colX[j], y, w: colW[j], h: 0.5, fontSize: 9.5, color: C.navy, valign: "middle", margin: 3 });
});
});
addFooter(sl, "MoHP Nepal | Penta = Pentavalent (DPT+HBV+Hib) | fIPV = fractional IPV | IM=Intramuscular | SC=Subcutaneous | ID=Intradermal");
}
// ────────────────────────────────────────────────────────────────────────────
// SLIDE 7 – NEPAL EPI CHART (Official)
// ────────────────────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
sl.addText("Official Nepal EPI Vaccination Chart", {
x: 0, y: 0, w: 10, h: 0.6,
fontSize: 18, bold: true, color: C.white, align: "center", valign: "middle",
fill: { color: C.teal }, margin: 0,
});
// Embed the downloaded EPI chart image
if (fs.existsSync("/home/daytona/workspace/vaccine-pptx/epi_chart.jpg")) {
sl.addImage({ path: "/home/daytona/workspace/vaccine-pptx/epi_chart.jpg", x: 0.5, y: 0.65, w: 9.0, h: 4.5 });
}
sl.addText("Source: Epomedicine.com | MoHP Nepal | UNICEF Nepal", {
x: 0, y: 5.3, w: 10, h: 0.325,
fontSize: 9, color: C.white, align: "center", valign: "middle",
fill: { color: C.navy }, margin: 0,
});
}
// ────────────────────────────────────────────────────────────────────────────
// SLIDE 8 – DISEASES PREVENTED
// ────────────────────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(sl, "Diseases Prevented by EPI Vaccines", "Nepal EPI targets 14 vaccine-preventable diseases");
const diseases = [
{ name: "Tuberculosis", vaccine: "BCG", color: C.teal },
{ name: "Diphtheria", vaccine: "Pentavalent", color: C.navy },
{ name: "Pertussis", vaccine: "Pentavalent", color: C.green },
{ name: "Tetanus", vaccine: "Pentavalent", color: C.orange },
{ name: "Hepatitis B", vaccine: "Pentavalent", color: "8E44AD" },
{ name: "Hib Disease", vaccine: "Pentavalent", color: "2471A3" },
{ name: "Poliomyelitis", vaccine: "OPV / fIPV", color: C.red },
{ name: "Measles", vaccine: "MR", color: "E67E22" },
{ name: "Rubella", vaccine: "MR", color: C.teal },
{ name: "Pneumonia", vaccine: "PCV-10", color: C.navy },
{ name: "Rotavirus Diarrhoea", vaccine: "Rotavirus", color: C.green },
{ name: "Japanese Encephalitis", vaccine: "JE Vaccine", color: "2471A3" },
];
diseases.forEach((d, i) => {
const col = i % 4;
const row = Math.floor(i / 4);
const x = 0.2 + col * 2.42;
const y = 1.1 + row * 1.4;
sl.addShape(pres.ShapeType.rect, { x, y, w: 2.2, h: 1.22, fill: { color: d.color }, rectRadius: 0.1 });
sl.addText(d.name, { x: x + 0.08, y: y + 0.08, w: 2.04, h: 0.62, fontSize: 11.5, bold: true, color: C.white, valign: "middle", align: "center", margin: 2 });
sl.addShape(pres.ShapeType.line, { x: x + 0.15, y: y + 0.73, w: 1.9, h: 0, line: { color: C.white, width: 0.75, transparency: 40 } });
sl.addText("💉 " + d.vaccine, { x: x + 0.08, y: y + 0.8, w: 2.04, h: 0.38, fontSize: 9.5, color: C.yellow, align: "center", margin: 0 });
});
addFooter(sl);
}
// ────────────────────────────────────────────────────────────────────────────
// SLIDE 9 – COLD CHAIN
// ────────────────────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(sl, "Cold Chain System", "Maintaining vaccine potency from manufacturer to child");
// Definition box
sl.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.05, w: 9.4, h: 0.72, fill: { color: C.teal }, rectRadius: 0.08 });
sl.addText(
"❄️ Cold Chain: A system of storage and transport of vaccines at recommended temperatures (+2°C to +8°C) from the point of manufacture to the point of use.",
{ x: 0.45, y: 1.05, w: 9.1, h: 0.72, fontSize: 12, color: C.white, valign: "middle", margin: 4 }
);
// Equipment cards
const equip = [
{ name: "ILR\n(Ice-Lined Refrigerator)", temp: "+2°C to +8°C", icon: "🧊", color: C.navy },
{ name: "Deep Freezer", temp: "-15°C to -25°C", icon: "❄️", color: "2471A3" },
{ name: "Vaccine Carrier", temp: "+2°C to +8°C\n(6–8 hrs)", icon: "🧳", color: C.teal },
{ name: "Ice Packs", temp: "Frozen / Cold Water\n(conditioned)", icon: "🧊", color: C.green },
{ name: "Cold Box", temp: "+2°C to +8°C\n(2–5 days)", icon: "📦", color: C.orange },
];
equip.forEach((e, i) => {
const x = 0.25 + i * 1.88;
sl.addShape(pres.ShapeType.rect, { x, y: 1.95, w: 1.72, h: 2.45, fill: { color: e.color }, rectRadius: 0.1 });
sl.addText(e.icon, { x, y: 2.0, w: 1.72, h: 0.65, fontSize: 30, align: "center", margin: 0 });
sl.addText(e.name, { x: x + 0.06, y: 2.65, w: 1.6, h: 0.75, fontSize: 10.5, bold: true, color: C.white, align: "center", margin: 2 });
sl.addShape(pres.ShapeType.line, { x: x + 0.12, y: 3.43, w: 1.48, h: 0, line: { color: C.white, width: 0.75, transparency: 40 } });
sl.addText(e.temp, { x: x + 0.06, y: 3.47, w: 1.6, h: 0.8, fontSize: 9.5, color: C.yellow, align: "center", italic: true, margin: 2 });
});
// Rules
sl.addShape(pres.ShapeType.rect, { x: 0.3, y: 4.52, w: 9.4, h: 0.75, fill: { color: C.light }, rectRadius: 0.07 });
sl.addText(
"⚠️ Key Rules: Never freeze OPV incorrectly | Freeze-sensitive vaccines (DPT, HBV, Hib, TT) must NOT be frozen | Always use Vaccine Vial Monitor (VVM)",
{ x: 0.45, y: 4.52, w: 9.1, h: 0.75, fontSize: 10.5, color: C.navy, valign: "middle", margin: 3 }
);
addFooter(sl);
}
// ────────────────────────────────────────────────────────────────────────────
// SLIDE 10 – ADVERSE EFFECTS & MANAGEMENT
// ────────────────────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(sl, "Adverse Effects of Vaccines & Management", "Adverse Events Following Immunization (AEFI)");
// Sub-header
sl.addText("AEFI: Any untoward medical occurrence following immunization that does not necessarily have a causal relationship with the vaccine use. (WHO Definition)", {
x: 0.3, y: 1.0, w: 9.4, h: 0.45, fontSize: 10.5, italic: true, color: C.muted, margin: 0,
});
// Table
const aefiRows = [
{ vaccine: "BCG", effect: "Local abscess, Keloid, BCG-itis", mgmt: "Reassure; refer if systemic", severity: "Mild–Mod", sColor: C.green },
{ vaccine: "OPV", effect: "Vaccine-Associated Paralytic Polio (VAPP) – rare", mgmt: "Supportive; use fIPV instead", severity: "Rare", sColor: C.orange },
{ vaccine: "Pentavalent (DPT)", effect: "Fever, swelling, pain at site; febrile seizure (rare)", mgmt: "Paracetamol, cold compress; reassure parents", severity: "Mild–Mod", sColor: C.green },
{ vaccine: "MR", effect: "Mild fever, rash (5–12 days post), lymphadenopathy", mgmt: "Antipyretics; self-limiting", severity: "Mild", sColor: C.lime },
{ vaccine: "PCV", effect: "Tenderness, fever, irritability", mgmt: "Paracetamol; monitor", severity: "Mild", sColor: C.lime },
{ vaccine: "Any Vaccine", effect: "Anaphylaxis (very rare) – urticaria, bronchospasm, hypotension", mgmt: "Adrenaline 1:1000 IM, airway management, call emergency", severity: "Severe", sColor: C.red },
];
const tY = 1.52;
sl.addShape(pres.ShapeType.rect, { x: 0.2, y: tY, w: 9.6, h: 0.38, fill: { color: C.navy } });
const thdr = ["Vaccine", "Adverse Effect", "Management", "Severity"];
const tcX = [0.22, 1.8, 5.2, 8.4];
const tcW = [1.55, 3.35, 3.17, 1.38];
thdr.forEach((h, i) => {
sl.addText(h, { x: tcX[i], y: tY, w: tcW[i], h: 0.38, fontSize: 10.5, bold: true, color: C.yellow, valign: "middle", margin: 3 });
});
aefiRows.forEach((r, i) => {
const y = tY + 0.38 + i * 0.56;
const bg = i % 2 === 0 ? "F4F6F7" : "EBF5FB";
sl.addShape(pres.ShapeType.rect, { x: 0.2, y, w: 9.6, h: 0.54, fill: { color: bg } });
const data = [r.vaccine, r.effect, r.mgmt];
data.forEach((d, j) => {
sl.addText(d, { x: tcX[j], y, w: tcW[j], h: 0.54, fontSize: 9, color: C.navy, valign: "middle", margin: 3 });
});
// Severity badge
sl.addShape(pres.ShapeType.rect, { x: tcX[3] + 0.05, y: y + 0.1, w: 1.25, h: 0.34, fill: { color: r.sColor }, rectRadius: 0.06 });
sl.addText(r.severity, { x: tcX[3] + 0.05, y: y + 0.1, w: 1.25, h: 0.34, fontSize: 9, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
});
addFooter(sl, "AEFI: Adverse Events Following Immunization | Adrenaline 0.01 mg/kg IM for anaphylaxis | Notify all serious AEFI to authorities");
}
// ────────────────────────────────────────────────────────────────────────────
// SLIDE 11 – ROLE OF NURSES
// ────────────────────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.offwhite } });
addHeader(sl, "Role of Nurses in Immunization", "Nurses are the backbone of the immunization programme");
const roles = [
{
title: "1. Assessment & Preparation",
points: ["Check immunization history of child", "Assess for contraindications", "Prepare correct vaccine & dose", "Maintain aseptic technique"],
color: C.teal, icon: "📋",
},
{
title: "2. Administration",
points: ["Give correct vaccine at correct age", "Use correct route & site", "Record in immunization card", "Observe child for 30 minutes post-vaccine"],
color: C.navy, icon: "💉",
},
{
title: "3. Cold Chain Maintenance",
points: ["Monitor ILR/deep freezer temperatures", "Check VVM before each vaccine use", "Avoid freeze-thaw cycles", "Report cold chain failures"],
color: C.green, icon: "❄️",
},
{
title: "4. Parent Education",
points: ["Explain vaccine benefits & side effects", "Counsel on normal vs. serious reactions", "Stress importance of completing schedule", "Provide immunization card"],
color: C.orange, icon: "👩👧",
},
{
title: "5. Community Role",
points: ["Conduct outreach immunization sessions", "Identify missed & drop-out children", "Health education in communities", "Support AEFI surveillance"],
color: "8E44AD", icon: "🏘️",
},
{
title: "6. Documentation",
points: ["Maintain tally sheets & registers", "Report vaccine coverage data", "Track defaulters", "Report AEFI to authorities"],
color: "2471A3", icon: "📊",
},
];
roles.forEach((r, i) => {
const col = i % 3;
const row = Math.floor(i / 3);
const x = 0.2 + col * 3.22;
const y = 1.12 + row * 2.1;
sl.addShape(pres.ShapeType.rect, { x, y, w: 3.0, h: 1.92, fill: { color: r.color }, rectRadius: 0.1 });
sl.addText(r.icon + " " + r.title, { x: x + 0.1, y: y + 0.06, w: 2.8, h: 0.42, fontSize: 11, bold: true, color: C.yellow, margin: 2 });
sl.addShape(pres.ShapeType.line, { x: x + 0.1, y: y + 0.5, w: 2.8, h: 0, line: { color: C.white, width: 0.75, transparency: 40 } });
r.points.forEach((p, pi) => {
sl.addText("• " + p, { x: x + 0.12, y: y + 0.56 + pi * 0.32, w: 2.78, h: 0.32, fontSize: 9.5, color: C.white, margin: 1 });
});
});
addFooter(sl);
}
// ────────────────────────────────────────────────────────────────────────────
// SLIDE 12 – SUMMARY & THANK YOU
// ────────────────────────────────────────────────────────────────────────────
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.45, h: 5.625, fill: { color: C.teal } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 4.6, w: 10, h: 1.025, fill: { color: C.teal } });
sl.addShape(pres.ShapeType.ellipse, { x: 7.2, y: -0.8, w: 4, h: 4, fill: { color: "1B7A8A", transparency: 75 }, line: { color: "1B7A8A", transparency: 75 } });
sl.addText("Key Takeaways", {
x: 0.7, y: 0.15, w: 8.5, h: 0.6,
fontSize: 22, bold: true, color: C.yellow, align: "left", margin: 0, charSpacing: 2,
});
const points = [
"Vaccines are biological preparations that protect against infectious diseases.",
"Nepal's EPI was launched in 1977/78 and provides 14 vaccines FREE to all children.",
"The National Immunization Schedule runs from birth to 15 months (BCG → MR-2).",
"Cold chain (+2°C to +8°C) is essential to maintain vaccine potency.",
"AEFI must be recognized early — anaphylaxis requires immediate adrenaline.",
"Nurses play the central role in administration, education, cold chain & surveillance.",
];
points.forEach((p, i) => {
sl.addShape(pres.ShapeType.ellipse, { x: 0.65, y: 0.88 + i * 0.56, w: 0.3, h: 0.3, fill: { color: C.orange } });
sl.addText(p, { x: 1.08, y: 0.86 + i * 0.56, w: 8.5, h: 0.35, fontSize: 12, color: C.white, valign: "middle", margin: 0 });
});
sl.addText("THANK YOU", {
x: 0.65, y: 4.62, w: 5, h: 0.5,
fontSize: 26, bold: true, color: C.yellow, align: "left", valign: "middle", charSpacing: 5, margin: 0,
});
sl.addText("Any Questions? | 2nd Year Nursing Student Presentation", {
x: 0.65, y: 5.1, w: 8.5, h: 0.4,
fontSize: 11, color: C.white, align: "left", valign: "middle", italic: true, margin: 0,
});
}
// ────────────────────────────────────────────────────────────────────────────
// WRITE FILE
// ────────────────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_Nursing.pptx" })
.then(() => console.log("DONE: /home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_Nursing.pptx"))
.catch(e => { console.error("ERROR:", e); process.exit(1); });
cd /home/daytona/workspace/vaccine-pptx && node build.js 2>&1
ls -lh /home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_Nursing.pptx && p…
python -m markitdown /home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_Nur…
python -m markitdown /home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_Nur…
python3 -c " import zipfile, os with zipfile.ZipFile('/home/daytona/workspace/va…
Vaccines EPI Nepal Nursing
Presentation · PPTX
| # | Slide | Highlights |
|---|---|---|
| 1 | Title Slide | Bold VACCINES heading, 💉 icon, your name, subject, references bar, teal/orange decorative accents |
| 2 | Learning Objectives | 6 numbered coloured blocks (01–06) in a 2-column grid |
| 3 | What is a Vaccine & Immunization? | Two side-by-side definition boxes (Park's textbook + WHO), importance strip with 4 checkmarks |
| 4 | Types of Vaccines | 6 coloured cards: Live, Inactivated, Toxoid, Conjugate, Combination, Subunit - with examples |
| 5 | EPI Programme in Nepal | Timeline of milestones (1977-2022) + 6 fact cards (authority, cost, goal, coverage, vaccines, rate) |
| 6 | National EPI Schedule Table | Colour-banded table: Birth → 15 months with vaccine, route, disease prevented |
| 7 | Official Nepal EPI Chart | The actual official Nepal राष्ट्रिय खोप-तालिका pamphlet image embedded |
| 8 | Diseases Prevented | 12 disease cards in 4-column grid, each with vaccine name |
| 9 | Cold Chain | WHO definition, 5 equipment cards with temperatures, freeze-sensitive warning |
| 10 | AEFI & Management | Full table: BCG, OPV, Pentavalent, MR, PCV, Anaphylaxis with severity badges (Mild/Mod/Severe/Rare) |
| 11 | Role of Nurses | 6 roles in 3-column grid: Assessment, Administration, Cold Chain, Education, Community, Documentation |
| 12 | Summary & Thank You | Dark navy slide, 6 key takeaways with orange bullet dots, bold THANK YOU |
Now I can’t download that
ls -lh /home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_Nursing.pptx && f…
base64 /home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_Nursing.pptx | wc…
# Try uploading to file.io (free, no account needed, single-use download link) c…
curl -s -F "file=@/home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_Nursin…
curl -sL -F "file=@/home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_Nursi…
curl --upload-file /home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_Nursi…
curl -F "file=@/home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_Nursing.p…
curl -X POST -F "file=@/home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_N…
curl -L -X POST -F "file=@/home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepa…
ls -lh /home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_Nursing.pptx && p…
Vaccines EPI Nepal Nursing
Presentation · PPTX
| Slide | Topic |
|---|---|
| 1 | Title - Vaccines & EPI Nepal |
| 2 | Learning Objectives (6 items) |
| 3 | What is a Vaccine & Immunization? |
| 4 | Types of Vaccines (6 categories) |
| 5 | EPI Programme in Nepal (history + facts) |
| 6 | National EPI Schedule Table (Birth to 15 months) |
| 7 | Official Nepal EPI Chart (image) |
| 8 | Diseases Prevented (12 diseases) |
| 9 | Cold Chain System |
| 10 | AEFI & Management |
| 11 | Role of Nurses |
| 12 | Summary & Thank You |
Too much of colour and too small font
~/vaccine-pptx/build2.js
const PptxGenJS = require("pptxgenjs");
const pptx = new PptxGenJS();
pptx.layout = "LAYOUT_WIDE"; // 13.33 x 7.5 inches
// ── Minimal palette ──────────────────────────────────────────
const C = {
white: "FFFFFF",
offwhite: "F7F8FA",
lightgrey:"EEF0F3",
midgrey: "9EA8B3",
darkgrey: "3A3A3A",
black: "1A1A1A",
accent: "1B6CA8", // single blue accent
accentlt: "D6E8F7", // light blue tint
red: "C0392B",
green: "1E8449",
};
// ── Font sizes ────────────────────────────────────────────────
const F = {
title: 36,
heading: 28,
subhead: 22,
body: 20,
small: 17,
tiny: 15,
};
// ── Helpers ───────────────────────────────────────────────────
function titleSlide(slide, title, subtitle) {
// Dark accent left bar, rest white
slide.addShape(pptx.ShapeType.rect, { x:0, y:0, w:0.22, h:7.5, fill:{color:C.accent} });
slide.addShape(pptx.ShapeType.rect, { x:0.22, y:0, w:13.11, h:7.5, fill:{color:C.white} });
slide.addText(title, {
x:0.55, y:1.8, w:12.2, h:1.6,
fontSize: 40, bold:true, color:C.black, align:"left",
fontFace:"Calibri", wrap:true,
});
slide.addShape(pptx.ShapeType.rect, { x:0.55, y:3.55, w:2.5, h:0.07, fill:{color:C.accent} });
if (subtitle) {
slide.addText(subtitle, {
x:0.55, y:3.75, w:11.5, h:1.2,
fontSize: F.subhead, color:C.darkgrey, align:"left",
fontFace:"Calibri", wrap:true,
});
}
}
function sectionHeader(slide, text, sub) {
slide.addShape(pptx.ShapeType.rect, { x:0, y:0, w:13.33, h:7.5, fill:{color:C.offwhite} });
slide.addShape(pptx.ShapeType.rect, { x:0, y:0, w:13.33, h:0.12, fill:{color:C.accent} });
slide.addText(text, {
x:0.6, y:0.25, w:12.0, h:0.7,
fontSize: F.heading, bold:true, color:C.accent,
fontFace:"Calibri",
});
if (sub) {
slide.addShape(pptx.ShapeType.rect, { x:0.6, y:1.0, w:12.0, h:0.03, fill:{color:C.lightgrey} });
}
}
function bulletSlide(slide, heading, bullets) {
sectionHeader(slide, heading, true);
const lines = bullets.map(b => ({
text: b,
options: { bullet:{type:"bullet"}, fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:8 }
}));
slide.addText(lines, {
x:0.7, y:1.15, w:11.8, h:5.9,
fontFace:"Calibri", valign:"top", wrap:true,
});
}
// ═══════════════════════════════════════════════════════════════
// SLIDE 1 – Title
// ═══════════════════════════════════════════════════════════════
let s = pptx.addSlide();
titleSlide(s,
"Vaccines and National\nImmunization Programme (EPI)\nof Nepal",
"Presented by: 2nd Year B.Sc. Nursing Student\nSubject: Community Health Nursing"
);
// ═══════════════════════════════════════════════════════════════
// SLIDE 2 – Learning Objectives
// ═══════════════════════════════════════════════════════════════
s = pptx.addSlide();
sectionHeader(s, "Learning Objectives", true);
const objs = [
"Define vaccine and immunization",
"Classify types of vaccines",
"Describe the history and goals of EPI in Nepal",
"State the national immunization schedule",
"Explain cold chain management",
"Discuss AEFI and the nurse's role in immunization",
];
const objLines = objs.map((o, i) => ({
text: `${i+1}. ${o}`,
options: { fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:10 }
}));
s.addText(objLines, { x:0.8, y:1.2, w:11.5, h:5.8, valign:"top", wrap:true });
// ═══════════════════════════════════════════════════════════════
// SLIDE 3 – Definitions
// ═══════════════════════════════════════════════════════════════
s = pptx.addSlide();
sectionHeader(s, "What is a Vaccine? What is Immunization?", true);
// Vaccine box
s.addShape(pptx.ShapeType.rect, { x:0.5, y:1.2, w:5.8, h:2.8, fill:{color:C.accentlt}, line:{color:C.accent, width:1} });
s.addText("VACCINE", { x:0.6, y:1.3, w:5.6, h:0.5, fontSize:F.subhead, bold:true, color:C.accent, fontFace:"Calibri" });
s.addText(
"A biological preparation that stimulates the immune system to produce immunity against a specific disease, without causing the disease itself.\n(WHO, 2023)",
{ x:0.6, y:1.85, w:5.6, h:2.0, fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", wrap:true, valign:"top" }
);
// Immunization box
s.addShape(pptx.ShapeType.rect, { x:7.0, y:1.2, w:5.8, h:2.8, fill:{color:C.lightgrey}, line:{color:C.midgrey, width:1} });
s.addText("IMMUNIZATION", { x:7.1, y:1.3, w:5.6, h:0.5, fontSize:F.subhead, bold:true, color:C.darkgrey, fontFace:"Calibri" });
s.addText(
"The process by which a person is made immune or resistant to an infectious disease, typically by the administration of a vaccine.\n(Park's Textbook of PSM, 2021)",
{ x:7.1, y:1.85, w:5.6, h:2.0, fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", wrap:true, valign:"top" }
);
// Key distinction
s.addShape(pptx.ShapeType.rect, { x:0.5, y:4.3, w:12.3, h:0.07, fill:{color:C.lightgrey} });
s.addText("Key distinction: All vaccination is immunization, but immunization can also occur naturally after infection.",
{ x:0.5, y:4.5, w:12.3, h:0.9, fontSize:F.small, color:C.midgrey, fontFace:"Calibri", italic:true, wrap:true });
// ═══════════════════════════════════════════════════════════════
// SLIDE 4 – Types of Vaccines
// ═══════════════════════════════════════════════════════════════
s = pptx.addSlide();
sectionHeader(s, "Types of Vaccines", true);
const vtypes = [
{ name:"Live Attenuated", eg:"BCG, OPV, MMR, Varicella", bg:C.accentlt },
{ name:"Inactivated (Killed)", eg:"IPV, Hepatitis A, Rabies", bg:C.lightgrey },
{ name:"Toxoid", eg:"DT, TT (Tetanus, Diphtheria)", bg:C.accentlt },
{ name:"Subunit / Protein", eg:"Hepatitis B, Pertussis (acellular)", bg:C.lightgrey },
{ name:"Conjugate", eg:"Hib, PCV, MenACWY", bg:C.accentlt },
{ name:"mRNA / Viral Vector", eg:"COVID-19 (Pfizer, AstraZeneca)", bg:C.lightgrey },
];
const cols = 3, rows = 2;
const bw = 4.0, bh = 2.2, bx0 = 0.45, by0 = 1.25, gx = 0.25, gy = 0.25;
vtypes.forEach((v, i) => {
const col = i % cols, row = Math.floor(i / cols);
const bx = bx0 + col * (bw + gx), by = by0 + row * (bh + gy);
s.addShape(pptx.ShapeType.rect, { x:bx, y:by, w:bw, h:bh, fill:{color:v.bg}, line:{color:C.lightgrey, width:1} });
s.addText(v.name, { x:bx+0.15, y:by+0.15, w:bw-0.3, h:0.55, fontSize:F.subhead, bold:true, color:C.accent, fontFace:"Calibri", wrap:true });
s.addText(`e.g. ${v.eg}`, { x:bx+0.15, y:by+0.75, w:bw-0.3, h:1.3, fontSize:F.small, color:C.darkgrey, fontFace:"Calibri", wrap:true });
});
// ═══════════════════════════════════════════════════════════════
// SLIDE 5 – EPI in Nepal
// ═══════════════════════════════════════════════════════════════
s = pptx.addSlide();
sectionHeader(s, "Expanded Programme on Immunization (EPI) – Nepal", true);
const epiLines = [
{ text:"Launched in Nepal:", options:{fontSize:F.subhead, bold:true, color:C.accent, fontFace:"Calibri", paraSpaceAfter:4} },
{ text:"1979 (piloted); Nationwide from 1985, with WHO/UNICEF support", options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:12} },
{ text:"Objective:", options:{fontSize:F.subhead, bold:true, color:C.accent, fontFace:"Calibri", paraSpaceAfter:4} },
{ text:"Reduce morbidity and mortality from vaccine-preventable diseases in children under 2 years and pregnant women", options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:12} },
{ text:"Key facts:", options:{fontSize:F.subhead, bold:true, color:C.accent, fontFace:"Calibri", paraSpaceAfter:4} },
{ text:"• Managed by Child Health Division (CHD), Ministry of Health & Population, Nepal", options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:6} },
{ text:"• Coverage target: ≥90% of children fully immunized by 12 months", options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:6} },
{ text:"• Currently protects against 11 vaccine-preventable diseases", options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:6} },
{ text:"• Free of cost, delivered through health posts, hospitals, and outreach clinics", options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:6} },
{ text:"• Recent additions: Rotavirus (2016), Pneumococcal/PCV (2015), fIPV (2016), JE (2006)", options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:6} },
];
s.addText(epiLines, { x:0.7, y:1.15, w:12.0, h:6.0, valign:"top", wrap:true });
// ═══════════════════════════════════════════════════════════════
// SLIDE 6 – National EPI Schedule Table
// ═══════════════════════════════════════════════════════════════
s = pptx.addSlide();
sectionHeader(s, "National EPI Immunization Schedule – Nepal", true);
const rows6 = [
["Age", "Vaccines Given"],
["At Birth", "BCG, OPV-0 (birth dose)"],
["6 Weeks", "DPT-HepB-Hib (Penta-1), OPV-1, PCV-1, Rotavirus-1"],
["10 Weeks", "Penta-2, OPV-2, PCV-2, Rotavirus-2"],
["14 Weeks", "Penta-3, OPV-3, fIPV-1"],
["9 Months", "Measles-Rubella (MR-1), PCV-3, fIPV-2"],
["12 Months", "Japanese Encephalitis (JE)"],
["15 Months", "MR-2 (booster)"],
["Pregnant Women","Td (Tetanus-Diphtheria) – 2 doses, 1 month apart"],
];
rows6.forEach((row, ri) => {
const isHeader = ri === 0;
const bg = isHeader ? C.accent : ri % 2 === 0 ? C.white : C.offwhite;
const fc = isHeader ? C.white : C.darkgrey;
const y = 1.2 + ri * 0.62;
[0,1].forEach(ci => {
const xPos = ci === 0 ? 0.5 : 3.2;
const ww = ci === 0 ? 2.6 : 9.5;
s.addShape(pptx.ShapeType.rect, { x:xPos, y, w:ww, h:0.6, fill:{color:bg}, line:{color:C.lightgrey, width:0.5} });
s.addText(row[ci], {
x:xPos+0.15, y:y+0.08, w:ww-0.3, h:0.44,
fontSize: isHeader ? F.small+1 : F.small,
bold:isHeader, color:fc, fontFace:"Calibri", valign:"middle", wrap:true,
});
});
});
// ═══════════════════════════════════════════════════════════════
// SLIDE 7 – Diseases Prevented
// ═══════════════════════════════════════════════════════════════
s = pptx.addSlide();
sectionHeader(s, "Vaccine-Preventable Diseases (EPI Nepal)", true);
const diseases = [
"Tuberculosis (BCG)","Poliomyelitis (OPV/fIPV)","Diphtheria (Penta)",
"Pertussis / Whooping Cough","Tetanus (Penta/Td)","Hepatitis B (Penta)",
"Haemophilus influenzae b","Pneumonia / PCV","Rotavirus Diarrhea",
"Measles","Rubella / CRS","Japanese Encephalitis",
];
const cols7 = 4;
const bw7 = 2.9, bh7 = 1.3, bx7 = 0.45, by7 = 1.2, gx7 = 0.22, gy7 = 0.2;
diseases.forEach((d, i) => {
const col = i % cols7, row = Math.floor(i / cols7);
const bx = bx7 + col*(bw7+gx7), by = by7 + row*(bh7+gy7);
const bg = col % 2 === 0 ? C.accentlt : C.lightgrey;
s.addShape(pptx.ShapeType.rect, { x:bx, y:by, w:bw7, h:bh7, fill:{color:bg}, line:{color:C.lightgrey, width:0.5} });
s.addText(d, {
x:bx+0.12, y:by+0.15, w:bw7-0.24, h:bh7-0.3,
fontSize:F.small, color:C.darkgrey, fontFace:"Calibri",
bold:false, wrap:true, valign:"middle", align:"center",
});
});
// ═══════════════════════════════════════════════════════════════
// SLIDE 8 – Cold Chain
// ═══════════════════════════════════════════════════════════════
s = pptx.addSlide();
sectionHeader(s, "Cold Chain System in Nepal", true);
const ccLeft = [
{ h:"Definition", b:"A system of storage and transport that maintains vaccines at required temperatures from manufacturer to patient." },
{ h:"Required Temperature", b:"Most vaccines: +2°C to +8°C\nFrozen vaccines (OPV, Varicella): −15°C to −25°C\nDo NOT freeze: BCG, Measles, DPT-HepB, TT" },
{ h:"Cold Chain Equipment", b:"Ice-lined refrigerators (ILR)\nDeep freezers\nVaccine carriers & ice packs\nCold boxes\nFreezer watch / temperature monitors" },
];
let cy = 1.2;
ccLeft.forEach(item => {
s.addText(item.h, { x:0.6, y:cy, w:5.8, h:0.45, fontSize:F.subhead, bold:true, color:C.accent, fontFace:"Calibri" });
cy += 0.45;
s.addText(item.b, { x:0.6, y:cy, w:5.8, h:1.1, fontSize:F.small, color:C.darkgrey, fontFace:"Calibri", wrap:true });
cy += 1.2;
});
// Right: cold chain levels
s.addShape(pptx.ShapeType.rect, { x:7.0, y:1.1, w:5.8, h:5.8, fill:{color:C.offwhite}, line:{color:C.lightgrey, width:1} });
s.addText("Cold Chain Levels", { x:7.1, y:1.2, w:5.6, h:0.5, fontSize:F.subhead, bold:true, color:C.accent, fontFace:"Calibri" });
const levels = [
"National store (Teku, Kathmandu)",
"Regional store (5 regions)",
"District store",
"Primary Health Care Centre",
"Health Post / Outreach",
"Patient (final delivery)",
];
levels.forEach((lv, li) => {
const ly = 1.8 + li * 0.75;
s.addShape(pptx.ShapeType.rect, { x:7.3, y:ly, w:5.0, h:0.55, fill:{color:li===0?C.accent:C.accentlt}, line:{color:C.accent, width:0.5} });
s.addText(lv, {
x:7.45, y:ly+0.08, w:4.7, h:0.38,
fontSize:F.small, color: li===0?C.white:C.darkgrey,
fontFace:"Calibri", bold:li===0,
});
});
// ═══════════════════════════════════════════════════════════════
// SLIDE 9 – AEFI
// ═══════════════════════════════════════════════════════════════
s = pptx.addSlide();
sectionHeader(s, "Adverse Events Following Immunization (AEFI)", true);
// Table header
const aefiRows = [
["Type", "Examples", "Management"],
["Local reactions\n(common, mild)", "Pain, redness, swelling at site", "Reassure; cold compress; analgesic if needed"],
["Systemic reactions\n(common)", "Fever, irritability, malaise", "Antipyretics; adequate fluids; monitor"],
["Vaccine-specific\n(rare)", "BCG lymphadenitis; OPV-VAPP", "Report; specialist referral if severe"],
["Severe / Serious\n(very rare)", "Anaphylaxis; encephalopathy", "Adrenaline 1:1000 IM; emergency referral; report to CHD"],
["Programme error", "Abscess (wrong technique/unsterile)", "Treat infection; retrain staff; investigate"],
];
const aw = [3.2, 4.5, 5.3], ax = [0.4, 3.7, 8.3];
aefiRows.forEach((row, ri) => {
const isHdr = ri === 0;
const bg = isHdr ? C.accent : ri%2===0 ? C.white : C.offwhite;
const fc = isHdr ? C.white : C.darkgrey;
const ay = 1.2 + ri * 0.88;
row.forEach((cell, ci) => {
s.addShape(pptx.ShapeType.rect, { x:ax[ci], y:ay, w:aw[ci], h:0.86, fill:{color:bg}, line:{color:C.lightgrey, width:0.5} });
s.addText(cell, {
x:ax[ci]+0.1, y:ay+0.05, w:aw[ci]-0.2, h:0.76,
fontSize: isHdr ? F.small : F.tiny+1,
bold:isHdr, color:fc, fontFace:"Calibri", valign:"middle", wrap:true,
});
});
});
// ═══════════════════════════════════════════════════════════════
// SLIDE 10 – Role of Nurses
// ═══════════════════════════════════════════════════════════════
s = pptx.addSlide();
sectionHeader(s, "Role of Nurses in Immunization", true);
const roles = [
{ r:"Pre-immunization", b:"Check immunization schedule & child's history\nScreen for contraindications\nPrepare vaccines correctly (check expiry, VVM)" },
{ r:"During immunization", b:"Use correct site, route, and dose\nMaintain aseptic technique\nReassure child and parent" },
{ r:"Post-immunization", b:"Observe for 15-30 minutes for immediate reactions\nRecord in immunization register & child card\nSchedule next dose" },
{ r:"Health Education", b:"Educate parents on vaccine benefits and side effects\nAddress vaccine hesitancy\nPromote full immunization schedule" },
{ r:"Cold Chain", b:"Monitor and record refrigerator temperatures\nReport cold chain failures promptly\nHandle vaccines per guidelines" },
{ r:"Reporting & Surveillance", b:"Record all vaccines administered\nReport AEFIs to CHD\nParticipate in immunization campaigns" },
];
const rw = 5.9, rh = 1.65, rx0 = 0.45, ry0 = 1.2, rgx = 0.35, rgy = 0.2;
roles.forEach((role, i) => {
const col = i % 2, row = Math.floor(i/2);
const rx = rx0 + col*(rw+rgx);
const ry = ry0 + row*(rh+rgy);
s.addShape(pptx.ShapeType.rect, { x:rx, y:ry, w:rw, h:rh, fill:{color:C.offwhite}, line:{color:C.accent, width:1} });
s.addShape(pptx.ShapeType.rect, { x:rx, y:ry, w:rw, h:0.42, fill:{color:C.accentlt}, line:{color:C.accent, width:0} });
s.addText(role.r, { x:rx+0.15, y:ry+0.05, w:rw-0.3, h:0.35, fontSize:F.small+1, bold:true, color:C.accent, fontFace:"Calibri" });
s.addText(role.b, { x:rx+0.15, y:ry+0.5, w:rw-0.3, h:rh-0.6, fontSize:F.tiny+1, color:C.darkgrey, fontFace:"Calibri", wrap:true, valign:"top" });
});
// ═══════════════════════════════════════════════════════════════
// SLIDE 11 – Contraindications & Precautions
// ═══════════════════════════════════════════════════════════════
s = pptx.addSlide();
sectionHeader(s, "Contraindications & Precautions", true);
const ciLines = [
{ text:"Absolute Contraindications:", options:{fontSize:F.subhead, bold:true, color:C.accent, fontFace:"Calibri", paraSpaceAfter:4} },
{ text:"• Anaphylaxis to a previous dose of the same vaccine or a vaccine component", options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceBefore:2, paraSpaceAfter:4} },
{ text:"• Severe combined immunodeficiency (SCID) — live vaccines contraindicated", options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:10} },
{ text:"Temporary Precautions (postpone, do not skip):", options:{fontSize:F.subhead, bold:true, color:C.accent, fontFace:"Calibri", paraSpaceAfter:4} },
{ text:"• Moderate or severe acute febrile illness (defer until recovered)", options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:4} },
{ text:"• Recent blood product or immunoglobulin (live vaccines may be less effective)", options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:10} },
{ text:"NOT contraindications (vaccinate despite):", options:{fontSize:F.subhead, bold:true, color:C.accent, fontFace:"Calibri", paraSpaceAfter:4} },
{ text:"• Mild fever or cold\n• Mild diarrhea\n• Mild local reaction to previous dose\n• Low birth weight / premature infant (vaccinate at chronological age)", options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:4} },
];
s.addText(ciLines, { x:0.7, y:1.15, w:12.0, h:6.0, valign:"top", wrap:true });
// ═══════════════════════════════════════════════════════════════
// SLIDE 12 – Summary & Thank You
// ═══════════════════════════════════════════════════════════════
s = pptx.addSlide();
// Clean white with accent left bar
s.addShape(pptx.ShapeType.rect, { x:0, y:0, w:13.33, h:7.5, fill:{color:C.white} });
s.addShape(pptx.ShapeType.rect, { x:0, y:0, w:0.22, h:7.5, fill:{color:C.accent} });
s.addShape(pptx.ShapeType.rect, { x:0, y:6.9, w:13.33, h:0.6, fill:{color:C.offwhite} });
s.addText("Key Takeaways", {
x:0.55, y:0.3, w:12.0, h:0.7,
fontSize:F.heading, bold:true, color:C.accent, fontFace:"Calibri"
});
const takeaways = [
"Vaccines work by stimulating the immune system without causing disease.",
"Nepal's EPI, started in 1979, now protects against 11 diseases — free of cost.",
"The national schedule runs from birth to 15 months, with booster doses for women.",
"Cold chain maintenance (+2°C to +8°C) is essential for vaccine potency.",
"AEFIs must be identified early, managed promptly, and reported to CHD.",
"Nurses are the backbone of immunization — from preparation to education to reporting.",
];
const takLines = takeaways.map((t,i) => ({
text: `${i+1}. ${t}`,
options:{fontSize:F.body, color:C.darkgrey, fontFace:"Calibri", paraSpaceAfter:10}
}));
s.addText(takLines, { x:0.6, y:1.15, w:12.2, h:5.4, valign:"top", wrap:true });
s.addText("Thank you | Questions welcome", {
x:0.55, y:6.95, w:12.2, h:0.45,
fontSize:F.small, color:C.midgrey, fontFace:"Calibri", italic:true,
});
// ═══════════════════════════════════════════════════════════════
// Write file
// ═══════════════════════════════════════════════════════════════
pptx.writeFile({ fileName:"/home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_v2.pptx" })
.then(() => console.log("Done: Vaccines_EPI_Nepal_v2.pptx"))
.catch(e => { console.error(e); process.exit(1); });
cd /home/daytona/workspace/vaccine-pptx && node build2.js 2>&1
ls -lh /home/daytona/workspace/vaccine-pptx/Vaccines_EPI_Nepal_v2.pptx && python…
That’s it you can’t do it now