Make presentation on AIDS FROM KPARK HARDISON
mkdir -p /home/daytona/workspace/aids-presentation && ls /home/daytona/workspace/
~/aids-presentation/create_aids_pptx.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "AIDS – Acquired Immuno-Deficiency Syndrome";
pres.author = "Park's Textbook of Preventive and Social Medicine";
// ─── Color palette ───────────────────────────────────────────────────────────
const C = {
darkBg: "0A1628", // Deep navy – title / conclusion
midBg: "112240", // Slightly lighter navy
cardBg: "152B4E", // Card background
accent: "E63946", // Red accent (HIV red ribbon)
accent2: "F4A261", // Warm amber
white: "FFFFFF",
offWhite: "E8EEF4",
gray: "A8B8CC",
green: "2EC4B6", // Teal green for positive info
yellow: "FFD166", // Highlight
};
// ─── Helper functions ─────────────────────────────────────────────────────────
function addSlide(bg = C.darkBg) {
const s = pres.addSlide();
s.background = { color: bg };
return s;
}
function slideTitle(slide, text, y = 0.25, color = C.accent) {
slide.addText(text, {
x: 0.4, y, w: 9.2, h: 0.55,
fontSize: 22, bold: true, color,
fontFace: "Calibri", align: "left",
});
// Underline bar
slide.addShape(pres.ShapeType.rect, {
x: 0.4, y: y + 0.55, w: 9.2, h: 0.04,
fill: { color: C.accent }, line: { color: C.accent },
});
}
function card(slide, x, y, w, h, bgColor = C.cardBg) {
slide.addShape(pres.ShapeType.roundRect, {
x, y, w, h,
fill: { color: bgColor },
line: { color: C.accent, width: 1.2 },
rectRadius: 0.08,
});
}
function bullet(text, sub = false) {
return {
text,
options: {
bullet: sub ? { indent: 20 } : true,
fontSize: sub ? 13 : 14.5,
color: sub ? C.gray : C.offWhite,
bold: false,
breakLine: true,
paraSpaceAfter: sub ? 2 : 5,
},
};
}
function headerBullet(text) {
return {
text,
options: {
bullet: false,
fontSize: 15,
color: C.yellow,
bold: true,
breakLine: true,
paraSpaceAfter: 3,
},
};
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 1 – Title
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.darkBg);
// Left red ribbon bar
s.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: 0.18, h: 5.625,
fill: { color: C.accent }, line: { color: C.accent },
});
// Top subtle band
s.addShape(pres.ShapeType.rect, {
x: 0.18, y: 0, w: 9.82, h: 0.12,
fill: { color: C.midBg }, line: { color: C.midBg },
});
s.addText("AIDS", {
x: 0.55, y: 0.6, w: 8.9, h: 1.5,
fontSize: 80, bold: true, color: C.accent,
fontFace: "Calibri", align: "left",
charSpacing: 12,
});
s.addText("Acquired Immuno-Deficiency Syndrome", {
x: 0.55, y: 2.1, w: 8.9, h: 0.65,
fontSize: 26, bold: false, color: C.offWhite,
fontFace: "Calibri", align: "left",
});
s.addShape(pres.ShapeType.rect, {
x: 0.55, y: 2.82, w: 5.5, h: 0.04,
fill: { color: C.accent2 }, line: { color: C.accent2 },
});
s.addText("Based on Park's Textbook of Preventive and Social Medicine", {
x: 0.55, y: 3.0, w: 8.9, h: 0.45,
fontSize: 15, color: C.gray, fontFace: "Calibri", align: "left",
});
s.addText("K. Park · Preventive & Social Medicine", {
x: 0.55, y: 3.55, w: 8.9, h: 0.4,
fontSize: 13, color: C.accent2, fontFace: "Calibri",
align: "left", italic: true,
});
// Bottom ribbon
s.addShape(pres.ShapeType.rect, {
x: 0.18, y: 5.28, w: 9.82, h: 0.345,
fill: { color: C.midBg }, line: { color: C.midBg },
});
s.addText("Community Medicine · HIV/AIDS", {
x: 0.5, y: 5.3, w: 9.2, h: 0.3,
fontSize: 11, color: C.gray, align: "left",
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 2 – Overview / Definition
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.midBg);
slideTitle(s, "Definition & Overview");
card(s, 0.4, 1.0, 9.2, 3.9);
s.addText([
{ text: "AIDS", options: { bold: true, color: C.accent, fontSize: 18, breakLine: false } },
{ text: " (Acquired Immuno-Deficiency Syndrome)", options: { bold: false, color: C.offWhite, fontSize: 15, breakLine: true } },
], { x: 0.7, y: 1.15, w: 8.6, h: 0.55, paraSpaceAfter: 6 });
s.addText([
bullet("A fatal illness caused by HIV (Human Immuno-deficiency Virus) — a retrovirus"),
bullet("HIV breaks down the body's immune system, leaving victims vulnerable to:"),
bullet("Life-threatening opportunistic infections", true),
bullet("Neurological disorders", true),
bullet("Unusual malignancies (e.g. Kaposi sarcoma)", true),
bullet("AIDS is the LAST (end) stage of HIV infection"),
bullet("Once infected, a person remains infected for life"),
bullet("Called our 'modern pandemic' — affects both industrialized and developing countries"),
bullet("Also known as 'slim disease' due to severe wasting, particularly in Africa"),
], { x: 0.7, y: 1.8, w: 8.6, h: 2.9, fontFace: "Calibri" });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 3 – Global Epidemiology
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.darkBg);
slideTitle(s, "Global Problem Statement");
// Three stat boxes
const stats = [
{ val: "38 Million", label: "People living\nwith HIV (2019)", color: C.accent },
{ val: "1.7 Million", label: "New HIV infections\n(2019)", color: C.accent2 },
{ val: "690,000", label: "AIDS-related deaths\n(2019)", color: C.yellow },
];
stats.forEach((st, i) => {
const x = 0.4 + i * 3.15;
card(s, x, 1.0, 2.9, 1.7, C.cardBg);
s.addText(st.val, {
x: x + 0.1, y: 1.1, w: 2.7, h: 0.75,
fontSize: 28, bold: true, color: st.color, align: "center", fontFace: "Calibri",
});
s.addText(st.label, {
x: x + 0.1, y: 1.85, w: 2.7, h: 0.7,
fontSize: 12, color: C.gray, align: "center", fontFace: "Calibri",
});
});
// Types of HIV epidemics
s.addText("Types of HIV Epidemics (WHO/UNAIDS)", {
x: 0.4, y: 2.85, w: 9.2, h: 0.4,
fontSize: 15, bold: true, color: C.yellow, fontFace: "Calibri",
});
const epTypes = [
{ title: "Low-level", desc: "HIV exists but never spread substantially. Prevalence < 5% in any subpopulation.", color: C.green },
{ title: "Concentrated", desc: "Spread rapidly in a defined subpopulation but < 1% in urban pregnant women.", color: C.accent2 },
{ title: "Generalized", desc: "Firmly established in general population. Prevalence > 1% in pregnant women.", color: C.accent },
];
epTypes.forEach((ep, i) => {
const x = 0.4 + i * 3.15;
card(s, x, 3.3, 2.9, 1.95, C.cardBg);
s.addShape(pres.ShapeType.rect, {
x: x, y: 3.3, w: 2.9, h: 0.32,
fill: { color: ep.color }, line: { color: ep.color },
});
s.addText(ep.title, {
x: x + 0.1, y: 3.32, w: 2.7, h: 0.28,
fontSize: 12, bold: true, color: C.darkBg, align: "center",
});
s.addText(ep.desc, {
x: x + 0.1, y: 3.66, w: 2.7, h: 1.5,
fontSize: 11, color: C.offWhite, align: "left", fontFace: "Calibri",
});
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 4 – India Epidemiology
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.midBg);
slideTitle(s, "HIV in India – Epidemiology");
card(s, 0.4, 1.0, 4.4, 4.3);
s.addText("Key Statistics", {
x: 0.6, y: 1.1, w: 4.0, h: 0.4,
fontSize: 14, bold: true, color: C.yellow,
});
s.addText([
bullet("2.1 million people living with HIV (2017)"),
bullet("Adult HIV prevalence: 0.2%"),
bullet("87,000 new infections in 2017"),
bullet("69,000 AIDS-related deaths (2017)"),
bullet("South & South-East India accounts for ~55% of national HIV burden"),
bullet("States with highest prevalence: Andhra Pradesh, Telangana, Manipur, Maharashtra, Karnataka, Tamil Nadu, Nagaland"),
], { x: 0.6, y: 1.55, w: 4.0, h: 3.5, fontFace: "Calibri" });
card(s, 5.1, 1.0, 4.5, 4.3);
s.addText("High-Risk Groups (India)", {
x: 5.3, y: 1.1, w: 4.1, h: 0.4,
fontSize: 14, bold: true, color: C.accent,
});
s.addText([
headerBullet("Female Sex Workers (FSW)"),
bullet("HIV prevalence ~1.3% (2017)", true),
bullet("77.4% reached with HIV prevention", true),
headerBullet("People who inject drugs (IDU)"),
bullet("6.3% living with HIV (2017)", true),
bullet("High in NE states (Manipur 12.1%)", true),
headerBullet("Transgender/Hijras"),
bullet("3.1% HIV prevalence (2017)", true),
headerBullet("Migrant Workers"),
bullet("0.2% living with HIV; ~7.2 million migrant workers", true),
], { x: 5.3, y: 1.55, w: 4.1, h: 3.5, fontFace: "Calibri" });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 5 – Etiology / Agent Factors
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.darkBg);
slideTitle(s, "Etiology – The Virus (HIV)");
card(s, 0.4, 1.0, 9.2, 4.3);
s.addText([
headerBullet("Causative Agent"),
bullet("Human Immuno-deficiency Virus (HIV) — a retrovirus"),
bullet("Two types: HIV-1 (major global cause) and HIV-2"),
bullet("Contains RNA and reverse transcriptase enzyme; uses host cell DNA to replicate"),
bullet("Primarily targets CD4+ T-helper lymphocytes, also B-cells, macrophages, nerve cells"),
bullet("HIV mutates rapidly — new strains continually developing"),
headerBullet("Stability of Virus"),
bullet("Easily killed by heat"),
bullet("Inactivated by ether, acetone, ethanol (20%), beta-propiolactone (1:400 dilution)"),
bullet("Relatively resistant to ionizing radiation and ultraviolet light"),
headerBullet("Reservoir & Source of Infection"),
bullet("Reservoir: Cases and carriers (life-long infection)"),
bullet("Highest virus concentration: Blood, semen, CSF"),
bullet("Lower concentration: Tears, saliva, breast milk, urine, cervical/vaginal secretions"),
bullet("Also isolated in: Brain tissue, lymph nodes, bone marrow cells, skin"),
], { x: 0.65, y: 1.15, w: 8.7, h: 4.0, fontFace: "Calibri" });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 6 – Modes of Transmission
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.midBg);
slideTitle(s, "Modes of Transmission");
const routes = [
{
title: "Sexual Transmission",
icon: "01",
color: C.accent,
items: ["Heterosexual contact (most common globally)", "Homosexual/bisexual contact (common in West)", "Multiple sexual partners increases risk", "Anal intercourse carries highest risk"],
},
{
title: "Blood-borne",
icon: "02",
color: C.accent2,
items: ["Blood transfusion & blood products", "Needle/syringe sharing (IV drug users)", "Haemophiliacs receiving clotting factors", "Organ transplants from infected donors"],
},
{
title: "Mother to Child",
icon: "03",
color: C.yellow,
items: ["In utero (transplacental)", "During delivery (intrapartum)", "Breast feeding (postnatal)", "Risk: 15–40% without intervention"],
},
{
title: "Occupational",
icon: "04",
color: C.green,
items: ["Needle-stick injuries in healthcare workers", "Risk ~0.3% per percutaneous exposure", "Much less common route overall"],
},
];
routes.forEach((r, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = 0.4 + col * 4.7;
const y = 1.1 + row * 2.3;
card(s, x, y, 4.5, 2.15, C.cardBg);
s.addShape(pres.ShapeType.rect, {
x, y, w: 4.5, h: 0.38,
fill: { color: r.color }, line: { color: r.color },
});
s.addText(r.title, {
x: x + 0.1, y: y + 0.04, w: 4.3, h: 0.3,
fontSize: 13, bold: true, color: C.darkBg, fontFace: "Calibri",
});
s.addText(r.items.map(t => "• " + t).join("\n"), {
x: x + 0.1, y: y + 0.44, w: 4.3, h: 1.65,
fontSize: 11.5, color: C.offWhite, fontFace: "Calibri",
valign: "top",
});
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 7 – Immunology
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.darkBg);
slideTitle(s, "Immunology of HIV Infection");
card(s, 0.4, 1.0, 5.5, 4.3);
s.addText("Pathogenesis", {
x: 0.6, y: 1.1, w: 5.1, h: 0.4,
fontSize: 15, bold: true, color: C.yellow,
});
s.addText([
bullet("HIV selectively infects CD4+ T-helper lymphocytes"),
bullet("Also infects: B-cells, macrophages, nerve cells"),
bullet("Virus reproduction destroys infected T-helper cells"),
bullet("Results in low overall white blood cell count"),
bullet("Normal helper:suppressor ratio = 2:1 (reversed in AIDS)"),
bullet("Decreased T-helper to T-suppressor cell ratio is hallmark"),
bullet("HIV can pass through blood-brain barrier — causes neurological abnormalities"),
bullet("As CD4 count drops, risk of opportunistic infections rises sharply"),
], { x: 0.6, y: 1.55, w: 5.1, h: 3.6, fontFace: "Calibri" });
card(s, 6.1, 1.0, 3.5, 4.3);
s.addText("CD4 Count & Disease", {
x: 6.25, y: 1.1, w: 3.2, h: 0.4,
fontSize: 14, bold: true, color: C.accent,
});
const stages = [
{ range: "> 500", label: "Normal / Early infection", color: C.green },
{ range: "200–500", label: "Immune suppression begins", color: C.accent2 },
{ range: "~100", label: "Serious fungal & parasitic infections (PCP, Toxoplasma)", color: C.yellow },
{ range: "< 50", label: "Late OI: CMV retinitis", color: C.accent },
{ range: "< 200", label: "AIDS diagnosis (USA definition)", color: C.accent },
];
stages.forEach((st, i) => {
card(s, 6.15, 1.55 + i * 0.74, 3.35, 0.68, C.midBg);
s.addText(st.range, {
x: 6.2, y: 1.58 + i * 0.74, w: 0.9, h: 0.6,
fontSize: 11, bold: true, color: st.color, align: "center",
});
s.addText(st.label, {
x: 7.15, y: 1.58 + i * 0.74, w: 2.3, h: 0.6,
fontSize: 10.5, color: C.offWhite, fontFace: "Calibri", valign: "middle",
});
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 8 – Clinical Stages
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.midBg);
slideTitle(s, "Clinical Stages of HIV Infection");
const stages = [
{
num: "I",
title: "Initial Infection",
color: C.green,
desc: "Mild illness (fever, sore throat, rash) in ~70%. Most have no symptoms for first 5 years. Window period: 2–12 weeks before antibodies appear — highly infectious, tests negative.",
},
{
num: "II",
title: "Asymptomatic Carrier State",
color: C.accent2,
desc: "HIV antibodies present but no overt disease signs. May have Persistent Generalized Lymphadenopathy (PGL). Duration unclear but can last years.",
},
{
num: "III",
title: "AIDS-Related Complex (ARC)",
color: C.yellow,
desc: "Immune damage without full AIDS criteria. Features: diarrhoea > 1 month, fatigue, >10% weight loss, fever, night sweats, oral thrush, lymphadenopathy. Decreased T-helper cells.",
},
{
num: "IV",
title: "AIDS (End Stage)",
color: C.accent,
desc: "End-stage of HIV. Opportunistic infections: TB, Kaposi sarcoma (early); Candida oesophagitis, Cryptococcal meningitis, PCP, Toxoplasma encephalitis (CD4 ~100); CMV retinitis (CD4 <50). 'Slim disease' wasting.",
},
];
stages.forEach((st, i) => {
const x = 0.4 + i * 2.38;
// Header band
s.addShape(pres.ShapeType.rect, {
x, y: 1.05, w: 2.25, h: 0.46,
fill: { color: st.color }, line: { color: st.color },
});
s.addText(`Stage ${st.num}`, {
x: x + 0.05, y: 1.08, w: 2.15, h: 0.38,
fontSize: 13, bold: true, color: C.darkBg, align: "center",
});
card(s, x, 1.51, 2.25, 3.8, C.cardBg);
s.addText(st.title, {
x: x + 0.08, y: 1.58, w: 2.1, h: 0.52,
fontSize: 12, bold: true, color: st.color, fontFace: "Calibri",
});
s.addText(st.desc, {
x: x + 0.08, y: 2.15, w: 2.1, h: 3.0,
fontSize: 11, color: C.offWhite, fontFace: "Calibri", valign: "top",
});
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 9 – WHO Case Definition for AIDS
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.darkBg);
slideTitle(s, "WHO Case Definition for AIDS Surveillance");
s.addText("For adults/adolescents (>12 years): ≥2 MAJOR signs + ≥1 MINOR sign (not due to non-HIV cause)", {
x: 0.4, y: 1.0, w: 9.2, h: 0.45,
fontSize: 13, color: C.gray, fontFace: "Calibri", italic: true,
});
// Major signs box
card(s, 0.4, 1.55, 4.4, 2.4);
s.addShape(pres.ShapeType.rect, {
x: 0.4, y: 1.55, w: 4.4, h: 0.38,
fill: { color: C.accent }, line: { color: C.accent },
});
s.addText("MAJOR SIGNS", {
x: 0.5, y: 1.57, w: 4.2, h: 0.32,
fontSize: 13, bold: true, color: C.white, align: "center",
});
s.addText([
bullet("Weight loss ≥ 10% of body weight"),
bullet("Chronic diarrhoea for > 1 month"),
bullet("Prolonged fever > 1 month (intermittent or constant)"),
], { x: 0.55, y: 2.0, w: 4.1, h: 1.8, fontFace: "Calibri" });
// Minor signs box
card(s, 5.2, 1.55, 4.4, 2.4);
s.addShape(pres.ShapeType.rect, {
x: 5.2, y: 1.55, w: 4.4, h: 0.38,
fill: { color: C.accent2 }, line: { color: C.accent2 },
});
s.addText("MINOR SIGNS", {
x: 5.3, y: 1.57, w: 4.2, h: 0.32,
fontSize: 13, bold: true, color: C.darkBg, align: "center",
});
s.addText([
bullet("Persistent cough > 1 month"),
bullet("Generalized pruritic dermatitis"),
bullet("History of herpes zoster"),
bullet("Oropharyngeal candidiasis"),
bullet("Chronic progressive/disseminated herpes simplex"),
bullet("Generalized lymphadenopathy"),
], { x: 5.35, y: 2.0, w: 4.1, h: 1.8, fontFace: "Calibri" });
// Special note
card(s, 0.4, 4.1, 9.2, 1.1, C.cardBg);
s.addText([
{ text: "Special: ", options: { bold: true, color: C.yellow, fontSize: 13 } },
{ text: "Generalized Kaposi sarcoma OR Cryptococcal meningitis alone is sufficient for diagnosis.", options: { color: C.offWhite, fontSize: 13 } },
], { x: 0.6, y: 4.2, w: 8.8, h: 0.5 });
s.addText("Bangui Definition (1985, revised 1994). Specificity good; sensitivity ~50% due to missed HIV-related TB cases.", {
x: 0.6, y: 4.68, w: 8.8, h: 0.42,
fontSize: 11, color: C.gray, italic: true,
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 10 – Diagnosis
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.midBg);
slideTitle(s, "Diagnosis of HIV/AIDS");
const tests = [
{
name: "ELISA", type: "Screening", color: C.green,
desc: "HIV antibody detection. Sensitivity >99.9%. First-line test. Repeatedly reactive results must be confirmed.",
},
{
name: "Western Blot", type: "Confirmatory", color: C.accent2,
desc: "Detects antibody to viral core protein (p24) and envelope glycoprotein (gp41). Specificity (with ELISA) >99.99%.",
},
{
name: "Rapid Tests", type: "Point-of-Care", color: C.yellow,
desc: "Simple, cheap, reliable kits. Results read on spot without lab backup. HIV self-testing kits also available.",
},
{
name: "Virus Isolation", type: "Research", color: C.accent,
desc: "HIV recovered from cultured lymphocytes. Expensive; requires extensive lab support. Used mainly in research.",
},
];
tests.forEach((t, i) => {
const x = 0.4 + i * 2.38;
card(s, x, 1.05, 2.25, 3.2, C.cardBg);
s.addShape(pres.ShapeType.rect, {
x, y: 1.05, w: 2.25, h: 0.35,
fill: { color: t.color }, line: { color: t.color },
});
s.addText(t.type, {
x: x + 0.05, y: 1.07, w: 2.15, h: 0.28,
fontSize: 10, bold: true, color: C.darkBg, align: "center",
});
s.addText(t.name, {
x: x + 0.08, y: 1.46, w: 2.1, h: 0.5,
fontSize: 15, bold: true, color: t.color, fontFace: "Calibri",
});
s.addText(t.desc, {
x: x + 0.08, y: 2.0, w: 2.1, h: 2.1,
fontSize: 11.5, color: C.offWhite, fontFace: "Calibri",
});
});
// CD4 count
card(s, 0.4, 4.4, 9.2, 1.0);
s.addText([
{ text: "CD4 Count: ", options: { bold: true, color: C.yellow, fontSize: 13 } },
{ text: "Most widely used prognostic marker. Normal >950 cells/μL. ", options: { color: C.offWhite, fontSize: 13 } },
{ text: "AIDS defined when CD4 <200 cells/μL (USA definition). ", options: { color: C.accent, fontSize: 13, bold: true } },
{ text: "CD4 <20% of lymphocytes = high risk of progression to AIDS.", options: { color: C.offWhite, fontSize: 13 } },
], { x: 0.6, y: 4.5, w: 8.8, h: 0.75 });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 11 – Treatment / ART
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.darkBg);
slideTitle(s, "Treatment – Antiretroviral Therapy (ART)");
card(s, 0.4, 1.0, 5.5, 4.3);
s.addText("ART Principles", {
x: 0.6, y: 1.1, w: 5.1, h: 0.4,
fontSize: 15, bold: true, color: C.yellow,
});
s.addText([
bullet("No cure currently exists for HIV/AIDS"),
bullet("ART suppresses viral replication — does not eliminate the virus"),
bullet("Goal: Undetectable viral load = untransmittable (U=U)"),
bullet("WHO recommends: All HIV-positive individuals should receive ART"),
bullet("Early treatment prevents progression to AIDS"),
bullet("Reduces HIV transmission to others"),
headerBullet("Drug Classes Used in ART"),
bullet("NRTIs: Zidovudine (AZT), Lamivudine, Tenofovir", true),
bullet("NNRTIs: Efavirenz, Nevirapine", true),
bullet("Protease Inhibitors: Lopinavir, Ritonavir", true),
bullet("Integrase Inhibitors: Dolutegravir (preferred)", true),
bullet("Standard first-line regimen: TDF + 3TC + DTG (WHO 2021)", true),
], { x: 0.6, y: 1.55, w: 5.1, h: 3.6, fontFace: "Calibri" });
card(s, 6.1, 1.0, 3.5, 4.3);
s.addText("India (NACO) ART", {
x: 6.25, y: 1.1, w: 3.2, h: 0.4,
fontSize: 14, bold: true, color: C.accent,
});
s.addText([
bullet("Free ART available at 700+ ART centres in India"),
bullet("NACP provides free CD4 testing"),
bullet("Cotrimoxazole preventive therapy given to all HIV+ patients"),
bullet("PMTCT: Prevention of Mother-to-Child Transmission"),
bullet("Nevirapine given to mother and newborn at delivery"),
bullet("Routine HIV testing at ANC clinics"),
bullet("Target: 95-95-95 by 2025 (UNAIDS)"),
bullet("95% of HIV+ people know status", true),
bullet("95% on treatment", true),
bullet("95% virally suppressed", true),
], { x: 6.25, y: 1.55, w: 3.2, h: 3.6, fontFace: "Calibri" });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 12 – Prevention & Control
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.midBg);
slideTitle(s, "Prevention & Control of AIDS");
const sections = [
{
title: "Primary Prevention",
color: C.green,
items: [
"Health education & public awareness",
"Promote safe sex (ABC: Abstinence, Be faithful, Condom use)",
"Condom promotion – male & female condoms",
"Needle exchange programmes for IDUs",
"Safe blood supply – mandatory HIV screening of blood",
"Safe injection practices; avoid sharing needles",
"Pre-exposure prophylaxis (PrEP) for high-risk individuals",
],
},
{
title: "Targeted Interventions",
color: C.accent2,
items: [
"High-risk group programmes: FSW, MSM, IDU, hijras",
"STI treatment reduces HIV acquisition risk",
"Male circumcision reduces risk in men by ~60%",
"Prevention for PLHIV (positive prevention)",
"Link workers scheme for bridge populations",
"Migrant worker outreach programmes",
],
},
{
title: "Mother-to-Child (PMTCT)",
color: C.yellow,
items: [
"Routine HIV testing at antenatal clinics (ANC)",
"ART given to all HIV+ pregnant women",
"Nevirapine to mother (at delivery) & infant",
"Safe delivery practices",
"Counsel on infant feeding (avoid breastfeeding if safe alternative exists)",
"Target: Zero new child infections",
],
},
{
title: "Health System Measures",
color: C.accent,
items: [
"Universal precautions in healthcare settings",
"Post-exposure prophylaxis (PEP) for health workers",
"Voluntary Counselling & Testing (ICTC)",
"HIV surveillance – sentinel surveillance system",
"Link ART (LART) centres for decentralized care",
"National AIDS Control Programme (NACP)",
],
},
];
sections.forEach((sec, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = 0.4 + col * 4.7;
const y = 1.1 + row * 2.3;
card(s, x, y, 4.5, 2.2, C.cardBg);
s.addShape(pres.ShapeType.rect, {
x, y, w: 4.5, h: 0.36,
fill: { color: sec.color }, line: { color: sec.color },
});
s.addText(sec.title, {
x: x + 0.1, y: y + 0.03, w: 4.3, h: 0.3,
fontSize: 12, bold: true, color: C.darkBg, align: "center",
});
s.addText(sec.items.map(t => "• " + t).join("\n"), {
x: x + 0.1, y: y + 0.42, w: 4.3, h: 1.7,
fontSize: 10.5, color: C.offWhite, fontFace: "Calibri", valign: "top",
});
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 13 – National AIDS Control Programme (India)
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.darkBg);
slideTitle(s, "National AIDS Control Programme (NACP) – India");
card(s, 0.4, 1.0, 9.2, 4.35);
s.addText([
headerBullet("NACP I (1992–1999)"),
bullet("Focused on surveillance, blood safety, IEC, STI treatment", true),
headerBullet("NACP II (1999–2006)"),
bullet("Scale-up of prevention services; targeted interventions for high-risk groups; free ART started (2004)", true),
headerBullet("NACP III (2007–2012)"),
bullet("Halt and reverse the epidemic; link with RNTCP for HIV-TB; 1,000+ ART centres; ICTC expansion", true),
headerBullet("NACP IV (2012–2017)"),
bullet("Accelerating reversal; Integration with National Health Mission (NHM); Intensified IEC", true),
headerBullet("NACP V / National Strategic Plan 2017–2024"),
bullet("Target: End AIDS by 2030 (SDG 3.3); 95-95-95 strategy", true),
bullet("Focus on key populations, adolescents, migrant workers", true),
bullet("TasP: Treatment as Prevention; PrEP rollout for high-risk groups", true),
headerBullet("Key Components"),
bullet("NACO (National AIDS Control Organisation) — nodal agency; SACS in each state", true),
bullet("Sentinel Surveillance System for monitoring HIV trends", true),
bullet("Integrated Counselling & Testing Centres (ICTC) — >25,000 sites", true),
bullet("Link ART Centres, Community Care Centres (CCC)", true),
], { x: 0.65, y: 1.15, w: 8.7, h: 4.05, fontFace: "Calibri" });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 14 – Conclusion
// ─────────────────────────────────────────────────────────────────────────────
{
const s = addSlide(C.darkBg);
s.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: 0.18, h: 5.625,
fill: { color: C.accent }, line: { color: C.accent },
});
s.addText("Key Takeaways", {
x: 0.55, y: 0.3, w: 9.0, h: 0.55,
fontSize: 28, bold: true, color: C.accent2, fontFace: "Calibri",
});
const points = [
{ icon: "1", text: "HIV/AIDS is a global pandemic — 38 million people living with HIV (2019); India has ~2.1 million PLHIV." },
{ icon: "2", text: "HIV progresses through 4 stages: Initial infection → Asymptomatic carrier → ARC → AIDS (end stage)." },
{ icon: "3", text: "Diagnosis: ELISA (screening) + Western Blot (confirmatory); CD4 <200 = AIDS by US definition." },
{ icon: "4", text: "ART can suppress viral load to undetectable; no cure yet but treatment is highly effective." },
{ icon: "5", text: "Prevention: Safe sex (ABC), condoms, needle exchange, blood safety, PMTCT, PrEP." },
{ icon: "6", text: "India's NACP aims to end AIDS by 2030 using the 95-95-95 UNAIDS strategy." },
];
points.forEach((p, i) => {
const y = 1.05 + i * 0.73;
s.addShape(pres.ShapeType.ellipse, {
x: 0.45, y: y + 0.06, w: 0.4, h: 0.4,
fill: { color: C.accent }, line: { color: C.accent },
});
s.addText(p.icon, {
x: 0.45, y: y + 0.06, w: 0.4, h: 0.4,
fontSize: 13, bold: true, color: C.white, align: "center", valign: "middle",
});
s.addText(p.text, {
x: 1.0, y: y, w: 8.5, h: 0.58,
fontSize: 13, color: C.offWhite, fontFace: "Calibri", valign: "middle",
});
});
s.addShape(pres.ShapeType.rect, {
x: 0.18, y: 5.28, w: 9.82, h: 0.345,
fill: { color: C.midBg }, line: { color: C.midBg },
});
s.addText("Source: Park's Textbook of Preventive and Social Medicine | NACO | UNAIDS 2019", {
x: 0.5, y: 5.3, w: 9.2, h: 0.3,
fontSize: 10, color: C.gray, align: "left",
});
}
// ─────────────────────────────────────────────────────────────────────────────
// Save
// ─────────────────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/aids-presentation/AIDS_KPark.pptx" })
.then(() => console.log("Saved: AIDS_KPark.pptx"))
.catch(err => { console.error(err); process.exit(1); });
cd /home/daytona/workspace/aids-presentation && node create_aids_pptx.js
ls -lh /home/daytona/workspace/aids-presentation/AIDS_KPark.pptx
AIDS KPark
Presentation · PPTX
| Slide | Topic |
|---|---|
| 1 | Title slide (bold red-ribbon design) |
| 2 | Definition & Overview of AIDS |
| 3 | Global Problem Statement (WHO/UNAIDS epidemic types) |
| 4 | HIV in India - Epidemiology & High-risk groups |
| 5 | Etiology - The HIV virus, stability, reservoir & sources |
| 6 | Modes of Transmission (sexual, blood-borne, MTCT, occupational) |
| 7 | Immunology - CD4+ T-cell pathogenesis + CD4 count ladder |
| 8 | Clinical Stages I-IV (Initial infection → ARC → AIDS) |
| 9 | WHO Case Definition for AIDS (Bangui definition, major/minor signs) |
| 10 | Diagnosis - ELISA, Western Blot, rapid tests, CD4 count |
| 11 | Treatment - ART principles, drug classes, NACO ART in India |
| 12 | Prevention & Control (4-panel: primary, targeted, PMTCT, health system) |
| 13 | National AIDS Control Programme (NACP I-V, key components) |
| 14 | Key Takeaways / Conclusion |
This is not a readable format
python /home/daytona/skills/pptx/scripts/thumbnail.py /home/daytona/workspace/aids-presentation/AIDS_KPark.pptx 2>&1 | head -20
find /home/daytona/workspace/aids-presentation -name "*.jpg" -o -name "*.png" 2>/dev/null; ls /home/daytona/workspace/aids-presentation/
cd /home/daytona/workspace/aids-presentation && python /home/daytona/skills/pptx/scripts/thumbnail.py AIDS_KPark.pptx && ls -la *.jpg 2>/dev/null || ls -la
~/aids-presentation/create_aids_v2.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "AIDS – Acquired Immuno-Deficiency Syndrome";
// ─── Palette ──────────────────────────────────────────────────────────────────
const C = {
darkBg: "0D1B2A", // Deep navy
midBg: "1B2B3D", // Mid navy
accent: "E63946", // Red
amber: "F4A261", // Amber
yellow: "FFD166", // Yellow
teal: "2EC4B6", // Teal
white: "FFFFFF",
offWhite: "E8EEF4",
gray: "8FA8BE",
};
// ─── Helpers ──────────────────────────────────────────────────────────────────
function slide(bg) {
const s = pres.addSlide();
s.background = { color: bg || C.darkBg };
return s;
}
// Left accent bar (consistent visual element)
function leftBar(s, color) {
s.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: 0.15, h: 5.625,
fill: { color: color || C.accent }, line: { color: color || C.accent },
});
}
// Section heading
function heading(s, text, color) {
s.addText(text, {
x: 0.35, y: 0.22, w: 9.4, h: 0.65,
fontSize: 28, bold: true, color: color || C.yellow,
fontFace: "Calibri", align: "left",
});
s.addShape(pres.ShapeType.rect, {
x: 0.35, y: 0.88, w: 9.3, h: 0.05,
fill: { color: C.accent }, line: { color: C.accent },
});
}
// Simple bullet list – returns array for addText
function bullets(items) {
return items.map((item, idx) => ({
text: item.text,
options: {
bullet: item.sub ? { indent: 25 } : { code: "2022" },
fontSize: item.sub ? 17 : 19,
color: item.sub ? C.gray : C.offWhite,
bold: item.bold || false,
breakLine: true,
paraSpaceAfter: item.sub ? 3 : 7,
fontFace: "Calibri",
},
}));
}
// Full-width colored header band above a content area
function bandHeader(s, text, color, y) {
s.addShape(pres.ShapeType.rect, {
x: 0.35, y: y, w: 9.3, h: 0.5,
fill: { color: color }, line: { color: color },
});
s.addText(text, {
x: 0.45, y: y + 0.04, w: 9.1, h: 0.42,
fontSize: 17, bold: true, color: C.darkBg, fontFace: "Calibri",
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 1 – Title
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.darkBg);
leftBar(s, C.accent);
s.addText("AIDS", {
x: 0.4, y: 0.7, w: 9.2, h: 1.9,
fontSize: 110, bold: true, color: C.accent,
fontFace: "Calibri", align: "left", charSpacing: 10,
});
s.addText("Acquired Immuno-Deficiency Syndrome", {
x: 0.4, y: 2.5, w: 9.2, h: 0.7,
fontSize: 28, color: C.offWhite, fontFace: "Calibri", align: "left",
});
s.addShape(pres.ShapeType.rect, {
x: 0.4, y: 3.3, w: 6.0, h: 0.05,
fill: { color: C.amber }, line: { color: C.amber },
});
s.addText("Based on Park's Textbook of Preventive & Social Medicine", {
x: 0.4, y: 3.5, w: 9.0, h: 0.5,
fontSize: 18, color: C.gray, fontFace: "Calibri", italic: true,
});
s.addText("Community Medicine | HIV/AIDS", {
x: 0.4, y: 5.1, w: 9.0, h: 0.4,
fontSize: 14, color: C.gray, fontFace: "Calibri",
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 2 – What is AIDS?
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.midBg);
leftBar(s, C.accent);
heading(s, "What is AIDS?");
s.addText(bullets([
{ text: "AIDS = Acquired Immuno-Deficiency Syndrome", bold: true },
{ text: "Caused by HIV — Human Immuno-deficiency Virus (a retrovirus)" },
{ text: "HIV destroys the immune system, leaving victims vulnerable to:", bold: true },
{ text: "Life-threatening opportunistic infections", sub: true },
{ text: "Neurological disorders", sub: true },
{ text: "Unusual malignancies (e.g. Kaposi sarcoma)", sub: true },
{ text: "AIDS is the LAST (end) stage of HIV infection", bold: true },
{ text: "Once infected → infected for life (no cure yet)" },
{ text: "Also called 'slim disease' due to severe weight loss in Africa" },
{ text: "Called our modern pandemic — affects all countries worldwide" },
]), { x: 0.35, y: 1.05, w: 9.3, h: 4.3 });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 3 – Global Burden
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.darkBg);
leftBar(s, C.amber);
heading(s, "Global Burden (2019)", C.amber);
// Three big stat boxes side by side
const stats = [
{ val: "38 Million", label: "People living with HIV", color: C.accent },
{ val: "1.7 Million", label: "New HIV infections", color: C.amber },
{ val: "690,000", label: "AIDS-related deaths", color: C.yellow },
];
stats.forEach((st, i) => {
const x = 0.35 + i * 3.2;
s.addShape(pres.ShapeType.roundRect, {
x, y: 1.1, w: 3.0, h: 2.1,
fill: { color: C.midBg }, line: { color: st.color, width: 2.5 },
rectRadius: 0.1,
});
s.addText(st.val, {
x: x + 0.1, y: 1.25, w: 2.8, h: 0.9,
fontSize: 32, bold: true, color: st.color,
align: "center", fontFace: "Calibri",
});
s.addText(st.label, {
x: x + 0.1, y: 2.15, w: 2.8, h: 0.75,
fontSize: 17, color: C.offWhite, align: "center", fontFace: "Calibri",
});
});
// Types of HIV epidemics
s.addText("WHO/UNAIDS Epidemic Types", {
x: 0.35, y: 3.4, w: 9.3, h: 0.45,
fontSize: 20, bold: true, color: C.yellow, fontFace: "Calibri",
});
const ep = [
{ name: "Low-level", desc: "HIV prevalence < 5% in any subpopulation", color: C.teal },
{ name: "Concentrated", desc: "Prevalence >5% in subpopulation; <1% in urban pregnant women", color: C.amber },
{ name: "Generalized", desc: "Prevalence >1% in pregnant women — general population", color: C.accent },
];
ep.forEach((e, i) => {
const x = 0.35 + i * 3.2;
s.addShape(pres.ShapeType.rect, {
x, y: 3.9, w: 3.0, h: 0.35,
fill: { color: e.color }, line: { color: e.color },
});
s.addText(e.name, {
x: x + 0.05, y: 3.92, w: 2.9, h: 0.28,
fontSize: 14, bold: true, color: C.darkBg, align: "center",
});
s.addText(e.desc, {
x: x + 0.05, y: 4.3, w: 2.9, h: 0.95,
fontSize: 14, color: C.offWhite, fontFace: "Calibri", align: "left",
});
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 4 – HIV in India
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.midBg);
leftBar(s, C.teal);
heading(s, "HIV in India – Key Facts", C.teal);
s.addText(bullets([
{ text: "2.1 million people living with HIV (2017)", bold: true },
{ text: "Adult HIV prevalence: 0.2%" },
{ text: "87,000 new infections in 2017" },
{ text: "69,000 AIDS-related deaths in 2017" },
{ text: "South & South-East India: ~55% of national HIV burden" },
{ text: "High-prevalence states: Andhra Pradesh, Telangana, Manipur, Maharashtra, Karnataka, Tamil Nadu, Nagaland", bold: true },
]), { x: 0.35, y: 1.05, w: 9.3, h: 3.1 });
s.addText("High-Risk Groups", {
x: 0.35, y: 4.1, w: 9.3, h: 0.4,
fontSize: 19, bold: true, color: C.amber, fontFace: "Calibri",
});
s.addText(
"Female Sex Workers (1.3%) • People who inject drugs (6.3%) • Transgender (3.1%) • MSM • Migrant workers",
{
x: 0.35, y: 4.55, w: 9.3, h: 0.75,
fontSize: 17, color: C.offWhite, fontFace: "Calibri",
}
);
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 5 – The Virus
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.darkBg);
leftBar(s, C.accent);
heading(s, "The Virus – HIV");
s.addText(bullets([
{ text: "HIV (Human Immuno-deficiency Virus) — a retrovirus", bold: true },
{ text: "Two types: HIV-1 (global pandemic) and HIV-2" },
{ text: "Contains RNA + reverse transcriptase; uses host cell DNA to replicate" },
{ text: "Primarily infects CD4+ T-helper lymphocytes", bold: true },
{ text: "Also infects: B-cells, macrophages, nerve cells", sub: true },
{ text: "Mutates rapidly — new strains continually develop" },
{ text: "Virus stability:", bold: true },
{ text: "Killed by heat; inactivated by ether, acetone, 20% ethanol", sub: true },
{ text: "Relatively resistant to UV light and ionizing radiation", sub: true },
{ text: "Found in: blood, semen, CSF (high); saliva, breast milk, urine, tears (low)", bold: true },
]), { x: 0.35, y: 1.05, w: 9.3, h: 4.3 });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 6 – Modes of Transmission
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.midBg);
leftBar(s, C.amber);
heading(s, "Modes of Transmission", C.amber);
// 4 boxes in 2x2 layout - larger fonts
const routes = [
{
title: "1. Sexual",
color: C.accent,
items: ["Heterosexual (commonest globally)", "Homosexual / bisexual", "Multiple partners, anal intercourse = higher risk"],
},
{
title: "2. Blood-borne",
color: C.amber,
items: ["Blood transfusion & blood products", "Needle / syringe sharing (IV drug users)", "Organ transplants from infected donors"],
},
{
title: "3. Mother to Child (MTCT)",
color: C.yellow,
items: ["In utero (transplacental)", "During delivery (intrapartum)", "Breastfeeding — risk 15–40% without ART"],
},
{
title: "4. Occupational",
color: C.teal,
items: ["Needle-stick injuries", "Risk ~0.3% per percutaneous exposure", "Healthcare workers"],
},
];
routes.forEach((r, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = 0.35 + col * 4.75;
const y = 1.1 + row * 2.2;
s.addShape(pres.ShapeType.rect, {
x, y, w: 4.6, h: 0.45,
fill: { color: r.color }, line: { color: r.color },
});
s.addText(r.title, {
x: x + 0.1, y: y + 0.05, w: 4.4, h: 0.36,
fontSize: 16, bold: true, color: C.darkBg, fontFace: "Calibri",
});
s.addShape(pres.ShapeType.roundRect, {
x, y: y + 0.45, w: 4.6, h: 1.65,
fill: { color: C.darkBg }, line: { color: r.color, width: 1.2 },
rectRadius: 0.05,
});
s.addText(r.items.map(t => "• " + t).join("\n"), {
x: x + 0.12, y: y + 0.52, w: 4.4, h: 1.5,
fontSize: 15, color: C.offWhite, fontFace: "Calibri", valign: "top",
});
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 7 – Immunology
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.darkBg);
leftBar(s, C.teal);
heading(s, "How HIV Damages the Immune System", C.teal);
s.addText(bullets([
{ text: "HIV attacks CD4+ T-helper lymphocytes (key immune cells)", bold: true },
{ text: "When virus replicates, it destroys infected T-helper cells" },
{ text: "Result: Low overall white blood cell count" },
{ text: "Normal helper:suppressor ratio = 2:1 → reversed in AIDS", bold: true },
{ text: "HIV crosses the blood-brain barrier → neurological damage" },
{ text: "As CD4 count falls, risk of opportunistic infections rises:" },
{ text: "CD4 < 500 → immune suppression begins", sub: true },
{ text: "CD4 ~100 → fungal/parasitic infections (PCP, Toxoplasma)", sub: true },
{ text: "CD4 < 50 → CMV retinitis, late-stage infections", sub: true },
{ text: "CD4 < 200 = AIDS (US diagnostic definition)", bold: true, sub: false },
]), { x: 0.35, y: 1.05, w: 9.3, h: 4.3 });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 8 – Clinical Stages (one stage per column, larger text)
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.midBg);
leftBar(s, C.accent);
heading(s, "Clinical Stages of HIV Infection");
const stages = [
{
num: "Stage I",
title: "Initial Infection",
color: C.teal,
desc: "Mild illness: fever, sore throat, rash (~70%). No symptoms for ~5 years. Window period 2–12 weeks — infectious but tests negative.",
},
{
num: "Stage II",
title: "Asymptomatic Carrier",
color: C.amber,
desc: "Antibodies present, no overt disease. May have Persistent Generalized Lymphadenopathy (PGL). Can last for years.",
},
{
num: "Stage III",
title: "AIDS-Related Complex (ARC)",
color: C.yellow,
desc: "Diarrhoea >1 month, fatigue, >10% weight loss, fever, night sweats, oral thrush, lymphadenopathy. Decreased T-helper cells.",
},
{
num: "Stage IV",
title: "AIDS – End Stage",
color: C.accent,
desc: "TB, Kaposi sarcoma (early). PCP, Cryptococcal meningitis, Toxoplasma encephalitis (CD4~100). CMV retinitis (CD4<50). Wasting.",
},
];
stages.forEach((st, i) => {
const x = 0.35 + i * 2.4;
// Number badge
s.addShape(pres.ShapeType.rect, {
x, y: 1.05, w: 2.25, h: 0.45,
fill: { color: st.color }, line: { color: st.color },
});
s.addText(st.num, {
x: x + 0.05, y: 1.07, w: 2.15, h: 0.38,
fontSize: 16, bold: true, color: C.darkBg, align: "center", fontFace: "Calibri",
});
s.addShape(pres.ShapeType.roundRect, {
x, y: 1.5, w: 2.25, h: 3.85,
fill: { color: C.darkBg }, line: { color: st.color, width: 1.5 },
rectRadius: 0.07,
});
s.addText(st.title, {
x: x + 0.1, y: 1.6, w: 2.1, h: 0.6,
fontSize: 15, bold: true, color: st.color, fontFace: "Calibri",
});
s.addText(st.desc, {
x: x + 0.1, y: 2.25, w: 2.1, h: 2.9,
fontSize: 14, color: C.offWhite, fontFace: "Calibri", valign: "top",
});
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 9 – WHO Case Definition (Bangui)
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.darkBg);
leftBar(s, C.yellow);
heading(s, "WHO Case Definition for AIDS", C.yellow);
s.addText("Adults/adolescents (>12 yrs): ≥2 Major signs + ≥1 Minor sign (not due to a non-HIV cause)", {
x: 0.35, y: 1.0, w: 9.3, h: 0.5,
fontSize: 17, color: C.gray, fontFace: "Calibri", italic: true,
});
// MAJOR SIGNS
bandHeader(s, "MAJOR SIGNS", C.accent, 1.6);
s.addText(
"• Weight loss ≥ 10% of body weight\n• Chronic diarrhoea for > 1 month\n• Prolonged fever > 1 month (intermittent or constant)",
{
x: 0.45, y: 2.15, w: 9.1, h: 1.1,
fontSize: 18, color: C.offWhite, fontFace: "Calibri",
}
);
// MINOR SIGNS
bandHeader(s, "MINOR SIGNS", C.amber, 3.35);
s.addText(
"• Persistent cough > 1 month • Generalized pruritic dermatitis • History of herpes zoster\n• Oropharyngeal candidiasis • Chronic herpes simplex • Generalized lymphadenopathy",
{
x: 0.45, y: 3.9, w: 9.1, h: 1.0,
fontSize: 17, color: C.offWhite, fontFace: "Calibri",
}
);
s.addText("Special: Generalized Kaposi sarcoma OR Cryptococcal meningitis alone = sufficient for AIDS diagnosis", {
x: 0.35, y: 5.05, w: 9.3, h: 0.4,
fontSize: 15, bold: true, color: C.yellow, fontFace: "Calibri",
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 10 – Diagnosis
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.midBg);
leftBar(s, C.teal);
heading(s, "Diagnosis", C.teal);
// Two rows of 2 boxes
const tests = [
{
name: "ELISA",
type: "Screening Test",
color: C.teal,
desc: "Detects HIV antibodies.\nSensitivity > 99.9%.\nFirst-line test — reactive results must be confirmed.",
},
{
name: "Western Blot",
type: "Confirmatory Test",
color: C.amber,
desc: "Detects antibody to p24 (core) and gp41 (envelope).\nSpecificity (with ELISA) > 99.99%.",
},
{
name: "Rapid Tests",
type: "Point-of-Care",
color: C.yellow,
desc: "Simple, cheap, bedside kits.\nResults read immediately — no lab needed.\nHIV self-testing kits now available.",
},
{
name: "CD4 Count",
type: "Monitoring / Staging",
color: C.accent,
desc: "Normal: > 950 cells/μL.\nCD4 < 200 = AIDS (USA definition).\nCD4 < 20% of lymphocytes = high progression risk.",
},
];
tests.forEach((t, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = 0.35 + col * 4.75;
const y = 1.1 + row * 2.2;
s.addShape(pres.ShapeType.rect, {
x, y, w: 4.6, h: 0.42,
fill: { color: t.color }, line: { color: t.color },
});
s.addText(t.type, {
x: x + 0.1, y: y + 0.04, w: 4.4, h: 0.34,
fontSize: 14, bold: true, color: C.darkBg, fontFace: "Calibri",
});
s.addShape(pres.ShapeType.roundRect, {
x, y: y + 0.42, w: 4.6, h: 1.68,
fill: { color: C.darkBg }, line: { color: t.color, width: 1.2 },
rectRadius: 0.05,
});
s.addText(t.name, {
x: x + 0.12, y: y + 0.5, w: 4.4, h: 0.5,
fontSize: 20, bold: true, color: t.color, fontFace: "Calibri",
});
s.addText(t.desc, {
x: x + 0.12, y: y + 1.05, w: 4.4, h: 1.0,
fontSize: 15, color: C.offWhite, fontFace: "Calibri",
});
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 11 – Treatment / ART
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.darkBg);
leftBar(s, C.accent);
heading(s, "Treatment – Antiretroviral Therapy (ART)");
s.addText(bullets([
{ text: "No cure exists — ART suppresses viral replication but does not eliminate HIV", bold: true },
{ text: "WHO recommendation: ALL HIV+ individuals should receive ART" },
{ text: "Goal: Undetectable viral load = Untransmittable (U=U)" },
{ text: "Key drug classes:" },
{ text: "NRTIs: Tenofovir (TDF), Lamivudine (3TC), Zidovudine (AZT)", sub: true },
{ text: "NNRTIs: Efavirenz, Nevirapine", sub: true },
{ text: "Protease Inhibitors: Lopinavir/Ritonavir", sub: true },
{ text: "Integrase Inhibitors: Dolutegravir (DTG) — preferred 1st line", sub: true },
{ text: "WHO 1st-line regimen: TDF + 3TC + DTG", bold: true },
{ text: "India (NACO): Free ART at 700+ centres; Cotrimoxazole prophylaxis for all HIV+ patients" },
]), { x: 0.35, y: 1.05, w: 9.3, h: 4.3 });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 12 – Prevention
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.midBg);
leftBar(s, C.teal);
heading(s, "Prevention of AIDS", C.teal);
const cols = [
{
title: "Primary Prevention",
color: C.teal,
items: [
"Health education & awareness",
"ABC: Abstain, Be faithful, use Condoms",
"Condom promotion (male & female)",
"Needle exchange for IDUs",
"Safe blood supply — mandatory HIV screening",
"PrEP for high-risk individuals",
],
},
{
title: "Secondary / Targeted",
color: C.amber,
items: [
"Targeted interventions: FSW, MSM, IDU, hijras",
"STI treatment reduces HIV risk",
"Male circumcision reduces risk by ~60%",
"PMTCT: ART for HIV+ pregnant women",
"Post-exposure prophylaxis (PEP)",
"Voluntary Counselling & Testing (ICTC)",
],
},
];
cols.forEach((col, i) => {
const x = 0.35 + i * 4.75;
s.addShape(pres.ShapeType.rect, {
x, y: 1.1, w: 4.6, h: 0.48,
fill: { color: col.color }, line: { color: col.color },
});
s.addText(col.title, {
x: x + 0.1, y: 1.14, w: 4.4, h: 0.38,
fontSize: 17, bold: true, color: C.darkBg, fontFace: "Calibri",
});
s.addText(col.items.map(t => "• " + t).join("\n"), {
x: x + 0.1, y: 1.65, w: 4.45, h: 3.7,
fontSize: 16.5, color: C.offWhite, fontFace: "Calibri", valign: "top",
paraSpaceAfter: 6,
});
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 13 – NACP India
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.darkBg);
leftBar(s, C.amber);
heading(s, "National AIDS Control Programme (NACP)", C.amber);
s.addText(bullets([
{ text: "NACP I (1992–1999): Surveillance, blood safety, IEC, STI treatment", bold: true },
{ text: "NACP II (1999–2006): Scale-up prevention; free ART started 2004", bold: true },
{ text: "NACP III (2007–2012): Halt and reverse epidemic; HIV-TB linkage; 1,000+ ART centres", bold: true },
{ text: "NACP IV (2012–2017): Accelerating reversal; integration with NHM" },
{ text: "Target 2030: End AIDS (SDG 3.3) — 95-95-95 UNAIDS strategy:", bold: true },
{ text: "95% of HIV+ people know their status", sub: true },
{ text: "95% of those diagnosed are on treatment", sub: true },
{ text: "95% of those on treatment are virally suppressed", sub: true },
{ text: "Key bodies: NACO (national) + SACS (state) + ICTC + ART Centres + CCC" },
]), { x: 0.35, y: 1.05, w: 9.3, h: 4.3 });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 14 – Conclusion
// ─────────────────────────────────────────────────────────────────────────────
{
const s = slide(C.darkBg);
leftBar(s, C.accent);
s.addText("Key Takeaways", {
x: 0.35, y: 0.22, w: 9.3, h: 0.65,
fontSize: 30, bold: true, color: C.amber, fontFace: "Calibri",
});
s.addShape(pres.ShapeType.rect, {
x: 0.35, y: 0.88, w: 9.3, h: 0.05,
fill: { color: C.accent }, line: { color: C.accent },
});
const points = [
{ n: "1", t: "AIDS is the end-stage of HIV — 38 million people living with HIV globally (2019)." },
{ n: "2", t: "HIV progresses: Initial infection → Asymptomatic carrier → ARC → AIDS." },
{ n: "3", t: "Diagnosis: ELISA (screening) → Western Blot (confirmatory); CD4 < 200 = AIDS." },
{ n: "4", t: "ART suppresses viral load — no cure yet, but life-saving if started early." },
{ n: "5", t: "Prevention: safe sex (ABC), condoms, needle exchange, safe blood, PMTCT." },
{ n: "6", t: "India's NACP targets ending AIDS by 2030 via 95-95-95 UNAIDS strategy." },
];
points.forEach((p, i) => {
const y = 1.05 + i * 0.74;
s.addShape(pres.ShapeType.ellipse, {
x: 0.38, y: y + 0.07, w: 0.42, h: 0.42,
fill: { color: C.accent }, line: { color: C.accent },
});
s.addText(p.n, {
x: 0.38, y: y + 0.07, w: 0.42, h: 0.42,
fontSize: 15, bold: true, color: C.white,
align: "center", valign: "middle",
});
s.addText(p.t, {
x: 0.92, y: y, w: 8.7, h: 0.62,
fontSize: 17, color: C.offWhite, fontFace: "Calibri", valign: "middle",
});
});
s.addShape(pres.ShapeType.rect, {
x: 0, y: 5.32, w: 10, h: 0.3,
fill: { color: C.midBg }, line: { color: C.midBg },
});
s.addText("Source: Park's Textbook of Preventive and Social Medicine | NACO | UNAIDS 2019", {
x: 0.35, y: 5.34, w: 9.3, h: 0.24,
fontSize: 11, color: C.gray,
});
}
// ─── Save ─────────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/aids-presentation/AIDS_KPark_v2.pptx" })
.then(() => console.log("Saved: AIDS_KPark_v2.pptx"))
.catch(err => { console.error(err); process.exit(1); });
cd /home/daytona/workspace/aids-presentation && node create_aids_v2.js
cd /home/daytona/workspace/aids-presentation && python /home/daytona/skills/pptx/scripts/thumbnail.py AIDS_KPark_v2.pptx && ls *.jpg
AIDS KPark v2
Presentation · PPTX