im a intern in spm posting .i need to do a ppt for review meetng about hiv programme that is done in andakula, phc pudukkottai....under topics like screening test done nd for whom,to where they refer,hiv organogram,incentives given how much and for whom

Asking for Preferences
Searching the Web

Tamil Nadu ICTC HIV screening PHC who tested referral pathway NACO 2024

Searching the Web

TNACS ICTC counsellor incentives RNTCP HIV programme Tamil Nadu organogram

Reading File
Reading File
Reading Web Page

https://tnsacs.in/ictc

Running Command

mkdir -p /home/daytona/workspace/hiv-ppt && ls /home/daytona/workspace/hiv-ppt/

Writing File

~/hiv-ppt/hiv_ppt.js

const pptxgen = require("pptxgenjs");
let pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "HIV Programme Review - Andakula PHC, Pudukkottai";

// Color palette
const RED     = "C0392B";
const DARK    = "1A1A2E";
const LIGHT   = "FDFEFE";
const ACCENT  = "E74C3C";
const TEAL    = "1ABC9C";
const GRAY    = "F2F3F4";
const DKGRAY  = "555555";
const ORANGE  = "E67E22";
const BLUE    = "2980B9";

// ──────────────────────────────────────────────
// HELPERS
// ──────────────────────────────────────────────
function addSlideHeader(slide, title, subtitle) {
  // red top bar
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: 0.65, fill: { color: RED } });
  slide.addText(title, {
    x: 0.3, y: 0, w: 9.4, h: 0.65,
    fontSize: 20, bold: true, color: LIGHT, valign: "middle", margin: 0
  });
  if (subtitle) {
    slide.addText(subtitle, {
      x: 0.3, y: 0.65, w: 9.4, h: 0.35,
      fontSize: 11, color: DKGRAY, italic: true, margin: 0
    });
  }
}

function addFooter(slide) {
  slide.addShape(pres.ShapeType.rect, { x: 0, y: 5.35, w: "100%", h: 0.275, fill: { color: DARK } });
  slide.addText("HIV Programme Review  |  Andakula PHC, Pudukkottai  |  June 2026", {
    x: 0.2, y: 5.35, w: 9.6, h: 0.275,
    fontSize: 8, color: LIGHT, valign: "middle", margin: 0
  });
}

function bullet(text, level) {
  return { text, options: { bullet: true, indentLevel: level || 0, breakLine: true, fontSize: 13, color: DARK } };
}

function bulletBold(text) {
  return { text, options: { bullet: true, bold: true, breakLine: true, fontSize: 13, color: DARK } };
}

// ──────────────────────────────────────────────
// SLIDE 1 – TITLE
// ──────────────────────────────────────────────
{
  let s = pres.addSlide();
  // Full dark background
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: DARK } });
  // Red accent bar left
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.18, h: "100%", fill: { color: RED } });
  // Red ribbon across middle
  s.addShape(pres.ShapeType.rect, { x: 0.18, y: 2.1, w: 9.82, h: 0.08, fill: { color: RED } });

  s.addText("HIV PROGRAMME REVIEW", {
    x: 0.4, y: 0.7, w: 9.2, h: 0.7,
    fontSize: 32, bold: true, color: LIGHT, align: "left", charSpacing: 4
  });
  s.addText("Andakula Sub-Centre  |  PHC Pudukkottai", {
    x: 0.4, y: 1.4, w: 9.2, h: 0.55,
    fontSize: 17, color: TEAL, align: "left"
  });
  s.addText([
    { text: "Presented by: ", options: { bold: true, color: LIGHT, fontSize: 13 } },
    { text: "SPM Intern", options: { color: "#AAAAAA", fontSize: 13 } }
  ], { x: 0.4, y: 2.35, w: 9.2, h: 0.4 });
  s.addText([
    { text: "Date: ", options: { bold: true, color: LIGHT, fontSize: 13 } },
    { text: "June 2026", options: { color: "#AAAAAA", fontSize: 13 } }
  ], { x: 0.4, y: 2.75, w: 9.2, h: 0.4 });

  // Red ribbon HIV awareness
  s.addText("NACP  |  TNSACS  |  NRHM", {
    x: 0.4, y: 4.5, w: 9.2, h: 0.5,
    fontSize: 11, color: "#888888", align: "left"
  });
}

// ──────────────────────────────────────────────
// SLIDE 2 – OVERVIEW / AGENDA
// ──────────────────────────────────────────────
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: GRAY } });
  addSlideHeader(s, "Overview", "Topics covered in this review");

  const topics = [
    { num: "01", label: "About ICTC & HIV Screening" },
    { num: "02", label: "Who Gets Tested?" },
    { num: "03", label: "Screening Tests Done" },
    { num: "04", label: "Referral Pathway" },
    { num: "05", label: "HIV Programme Organogram" },
    { num: "06", label: "Incentives - Who Gets & How Much" },
  ];

  topics.forEach((t, i) => {
    const col = i < 3 ? 0 : 1;
    const row = i % 3;
    const x = col === 0 ? 0.4 : 5.3;
    const y = 1.1 + row * 1.3;

    s.addShape(pres.ShapeType.rect, { x, y, w: 4.5, h: 1.0, fill: { color: col === 0 ? DARK : RED }, line: { color: LIGHT, width: 0 }, shadow: { type: "outer", blur: 5, offset: 2, angle: 45, color: "888888" } });
    s.addText(t.num, { x: x + 0.1, y: y + 0.05, w: 0.7, h: 0.9, fontSize: 26, bold: true, color: ACCENT, valign: "middle", margin: 0 });
    s.addText(t.label, { x: x + 0.85, y: y + 0.05, w: 3.5, h: 0.9, fontSize: 13, color: LIGHT, valign: "middle", margin: 0 });
  });
  addFooter(s);
}

// ──────────────────────────────────────────────
// SLIDE 3 – ABOUT ICTC
// ──────────────────────────────────────────────
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: LIGHT } });
  addSlideHeader(s, "ICTC – Integrated Counselling & Testing Centre", "Entry point for all HIV-related services");

  // Two columns
  // Left - what is ICTC
  s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.05, w: 4.4, h: 3.9, fill: { color: DARK }, roundedCorners: true });
  s.addText("What is ICTC?", { x: 0.4, y: 1.1, w: 4.2, h: 0.45, fontSize: 14, bold: true, color: TEAL, margin: 4 });
  s.addText([
    bullet("Gateway & entry point for HIV/AIDS prevention, care & support services"),
    bullet("Located at PHC / CHC / District Hospital levels"),
    bullet("Andakula Sub-Centre is a field outreach site under PHC Pudukkottai ICTC"),
    bullet("Services are FREE and CONFIDENTIAL"),
    bullet("Follows 5C principles: Consent, Confidentiality, Counselling, Correct test, Connection to care"),
  ], { x: 0.4, y: 1.58, w: 4.2, h: 3.2, fontSize: 12, color: LIGHT, valign: "top", margin: 6 });

  // Right - services
  s.addShape(pres.ShapeType.rect, { x: 5.1, y: 1.05, w: 4.6, h: 3.9, fill: { color: RED }, roundedCorners: true });
  s.addText("Services Offered", { x: 5.2, y: 1.1, w: 4.3, h: 0.45, fontSize: 14, bold: true, color: LIGHT, margin: 4 });
  s.addText([
    bullet("Pre-test counselling"),
    bullet("HIV testing (rapid test)"),
    bullet("Post-test counselling"),
    bullet("Referral to ART centre if positive"),
    bullet("Linkage to PPTCT (for pregnant women)"),
    bullet("STI / TB screening and referral"),
    bullet("Condom promotion & IEC activities"),
    bullet("Partner notification counselling"),
  ], { x: 5.2, y: 1.58, w: 4.2, h: 3.2, fontSize: 12, color: LIGHT, valign: "top", margin: 6 });

  addFooter(s);
}

// ──────────────────────────────────────────────
// SLIDE 4 – WHO GETS TESTED
// ──────────────────────────────────────────────
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: GRAY } });
  addSlideHeader(s, "Who Gets Tested? – Target Population", "Voluntary Counselling & Testing / Provider-Initiated Testing");

  const groups = [
    { title: "Antenatal Mothers (PPTCT)", color: ORANGE, pts: ["All pregnant women attending ANC at PHC", "PITC – Provider-Initiated Testing & Counselling", "HIV test offered at 1st ANC visit", "Re-tested in 3rd trimester if high risk"] },
    { title: "High Risk Groups (HRG)", color: RED, pts: ["Female Sex Workers (FSW)", "Men who have Sex with Men (MSM)", "Intravenous Drug Users (IDU)", "Truckers & migrant labourers"] },
    { title: "General Population (VCT)", color: BLUE, pts: ["Walk-in clients seeking testing voluntarily", "STI patients at PHC OPD", "Individuals with TB (TB-HIV coordination)", "Partners of known HIV+ persons"] },
  ];

  groups.forEach((g, i) => {
    const x = 0.3 + i * 3.3;
    s.addShape(pres.ShapeType.rect, { x, y: 1.05, w: 3.0, h: 0.5, fill: { color: g.color } });
    s.addText(g.title, { x, y: 1.05, w: 3.0, h: 0.5, fontSize: 11.5, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 0 });
    s.addShape(pres.ShapeType.rect, { x, y: 1.55, w: 3.0, h: 3.55, fill: { color: DARK } });
    s.addText(g.pts.map(p => ({ text: p, options: { bullet: true, breakLine: true, fontSize: 11.5, color: LIGHT } })),
      { x: x + 0.05, y: 1.6, w: 2.85, h: 3.4, valign: "top", margin: 5 });
  });

  // Bottom note
  s.addText("Note: Consent is MANDATORY before testing. No compulsory testing.", {
    x: 0.3, y: 5.1, w: 9.4, h: 0.25, fontSize: 9.5, color: DKGRAY, italic: true
  });
  addFooter(s);
}

// ──────────────────────────────────────────────
// SLIDE 5 – SCREENING TESTS
// ──────────────────────────────────────────────
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: LIGHT } });
  addSlideHeader(s, "Screening Tests Done at ICTC", "NACO Serial Testing Algorithm");

  // Algorithm flow
  s.addText("NACO Serial Testing Algorithm (3-Kit Strategy)", {
    x: 0.3, y: 0.75, w: 9.4, h: 0.35, fontSize: 13, bold: true, color: DARK
  });

  const steps = [
    { label: "STEP 1\nTest A", desc: "1st Rapid Test (Most Sensitive kit)\neg: Comb-AIDS/Tri-DOT", color: TEAL },
    { label: "NON-REACTIVE\n(Negative)", desc: "Report as HIV Negative\nPost-test counselling\nRepeat if window period", color: BLUE },
    { label: "REACTIVE\n(Positive)", desc: "Proceed to Test B", color: ORANGE },
    { label: "STEP 2\nTest B", desc: "2nd Rapid Test (Most Specific kit)\neg: SD Bioline", color: TEAL },
    { label: "STEP 3\nTest C", desc: "3rd Tie-breaker Test\nif Test A+/Test B-\neg: HIV BLOT", color: RED },
  ];

  // Draw flow boxes
  steps.forEach((st, i) => {
    const isArrow = [1, 2].includes(i);
    const x = 0.25 + i * 1.9;
    s.addShape(pres.ShapeType.rect, { x, y: 1.25, w: 1.7, h: 1.4, fill: { color: st.color }, roundedCorners: true });
    s.addText(st.label, { x, y: 1.27, w: 1.7, h: 0.5, fontSize: 10, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 2 });
    s.addText(st.desc, { x, y: 1.77, w: 1.7, h: 0.85, fontSize: 9.5, color: LIGHT, align: "center", valign: "top", margin: 3 });
    if (i < 4) {
      s.addText("→", { x: x + 1.7, y: 1.6, w: 0.2, h: 0.5, fontSize: 18, bold: true, color: DKGRAY });
    }
  });

  // Final result boxes
  s.addShape(pres.ShapeType.rect, { x: 0.3, y: 3.05, w: 9.4, h: 0.05, fill: { color: DKGRAY } });

  s.addText("Final Reporting", { x: 0.3, y: 3.2, w: 9.4, h: 0.35, fontSize: 13, bold: true, color: DARK });

  const results = [
    { label: "HIV NEGATIVE", sub: "Test A non-reactive", color: TEAL },
    { label: "HIV POSITIVE", sub: "Test A + Test B both reactive", color: RED },
    { label: "INCONCLUSIVE", sub: "Test A reactive, Test B negative → Test C", color: ORANGE },
  ];
  results.forEach((r, i) => {
    const x = 0.3 + i * 3.2;
    s.addShape(pres.ShapeType.rect, { x, y: 3.65, w: 3.0, h: 1.0, fill: { color: r.color }, roundedCorners: true });
    s.addText(r.label, { x, y: 3.68, w: 3.0, h: 0.45, fontSize: 13, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 0 });
    s.addText(r.sub, { x, y: 4.13, w: 3.0, h: 0.45, fontSize: 10, color: LIGHT, align: "center", valign: "middle", margin: 0 });
  });

  s.addText("Rapid tests used: Comb-AIDS (A)  |  SD Bioline (B)  |  HIV BLOT (C)  — as per NACO serial algorithm", {
    x: 0.3, y: 5.05, w: 9.4, h: 0.25, fontSize: 8.5, color: DKGRAY, italic: true
  });
  addFooter(s);
}

// ──────────────────────────────────────────────
// SLIDE 6 – REFERRAL PATHWAY
// ──────────────────────────────────────────────
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: DARK } });
  addSlideHeader(s, "Referral Pathway – HIV Positive Client", "From Andakula Sub-Centre to ART Centre");

  const nodes = [
    { label: "Andakula\nSub-Centre / Village", sub: "ASHA/ANM screens\nRefers with slip", color: TEAL, x: 0.2 },
    { label: "PHC Pudukkottai\nICTC", sub: "Pre-test counselling\nRapid HIV test\nPost-test counselling", color: ORANGE, x: 2.3 },
    { label: "District ICTC\n(DAPCU)", sub: "Confirmatory testing\nCD4 count\nClinical assessment", color: ACCENT, x: 4.4 },
    { label: "ART Centre\nGovt. Hospital", sub: "ART initiation &\nmonitoring\nFree treatment", color: BLUE, x: 6.5 },
  ];

  nodes.forEach((n, i) => {
    s.addShape(pres.ShapeType.rect, { x: n.x, y: 1.0, w: 1.9, h: 1.7, fill: { color: n.color }, roundedCorners: true });
    s.addText(n.label, { x: n.x, y: 1.02, w: 1.9, h: 0.65, fontSize: 10.5, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 2 });
    s.addText(n.sub, { x: n.x, y: 1.67, w: 1.9, h: 0.95, fontSize: 9, color: LIGHT, align: "center", valign: "top", margin: 3 });
    if (i < 3) {
      s.addText("→", { x: n.x + 1.9, y: 1.55, w: 0.4, h: 0.5, fontSize: 22, bold: true, color: TEAL, align: "center" });
    }
  });

  // Referral slip note
  s.addShape(pres.ShapeType.rect, { x: 0.2, y: 2.85, w: 9.6, h: 0.08, fill: { color: RED } });

  s.addText("Key Points in Referral", { x: 0.2, y: 3.0, w: 9.6, h: 0.4, fontSize: 13, bold: true, color: LIGHT });

  s.addText([
    bullet("Referral slip given by ICTC counsellor (NACO Annexure-14 format)"),
    bullet("Linkage ensured by outreach worker / ASHA"),
    bullet("District ART Centre: Govt. Hospital, Pudukkottai (nearest facility)"),
    bullet("PLHIV linked to Community Care Centre (CCC) for support services"),
    bullet("OI (Opportunistic Infections) treated at ART centre / District Hospital"),
    bullet("Defaulter tracing done by DAPCU field staff"),
  ], { x: 0.3, y: 3.45, w: 9.4, h: 2.0, fontSize: 12, color: LIGHT, valign: "top", margin: 4 });

  addFooter(s);
}

// ──────────────────────────────────────────────
// SLIDE 7 – REFERRAL: TB-HIV
// ──────────────────────────────────────────────
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: GRAY } });
  addSlideHeader(s, "TB-HIV Co-ordination & Referral", "Bi-directional screening under NACP-NTEP");

  // Two arrows
  s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.05, w: 4.3, h: 3.8, fill: { color: DARK }, roundedCorners: true });
  s.addText("TB patient → HIV test", { x: 0.4, y: 1.1, w: 4.0, h: 0.45, fontSize: 13, bold: true, color: TEAL, margin: 4 });
  s.addText([
    bullet("All TB patients referred to ICTC for HIV testing"),
    bullet("PITC: Provider-Initiated Testing & Counselling"),
    bullet("Isoniazid Preventive Therapy (IPT) for HIV+ TB patients"),
    bullet("CPT (Cotrimoxazole Prophylaxis) initiated"),
    bullet("ART started as per guidelines"),
  ], { x: 0.4, y: 1.58, w: 4.1, h: 3.0, fontSize: 12, color: LIGHT, valign: "top", margin: 6 });

  s.addShape(pres.ShapeType.rect, { x: 5.0, y: 1.05, w: 4.7, h: 3.8, fill: { color: RED }, roundedCorners: true });
  s.addText("HIV+ client → TB screening", { x: 5.1, y: 1.1, w: 4.4, h: 0.45, fontSize: 13, bold: true, color: LIGHT, margin: 4 });
  s.addText([
    bullet("All HIV+ clients screened for TB symptoms at ICTC"),
    bullet("4-symptom screen: Cough, Fever, Night sweats, Weight loss"),
    bullet("Refer to NTEP / DMC if symptoms present"),
    bullet("Intensified Case Finding (ICF) at ART centres"),
    bullet("TB-HIV register maintained at PHC ICTC"),
  ], { x: 5.1, y: 1.58, w: 4.4, h: 3.0, fontSize: 12, color: LIGHT, valign: "top", margin: 6 });

  addFooter(s);
}

// ──────────────────────────────────────────────
// SLIDE 8 – ORGANOGRAM
// ──────────────────────────────────────────────
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: LIGHT } });
  addSlideHeader(s, "HIV Programme Organogram", "National AIDS Control Programme (NACP) – Tamil Nadu");

  // National
  s.addShape(pres.ShapeType.rect, { x: 3.5, y: 0.75, w: 3.0, h: 0.55, fill: { color: DARK }, roundedCorners: true });
  s.addText("NACO\n(National AIDS Control Organisation)", { x: 3.5, y: 0.75, w: 3.0, h: 0.55, fontSize: 9, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 2 });

  // Arrow down
  s.addText("↓", { x: 4.8, y: 1.3, w: 0.5, h: 0.3, fontSize: 16, bold: true, color: RED, align: "center" });

  // State
  s.addShape(pres.ShapeType.rect, { x: 3.3, y: 1.6, w: 3.4, h: 0.55, fill: { color: RED }, roundedCorners: true });
  s.addText("TNSACS\n(Tamil Nadu State AIDS Control Society)", { x: 3.3, y: 1.6, w: 3.4, h: 0.55, fontSize: 9, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 2 });

  s.addText("↓", { x: 4.8, y: 2.15, w: 0.5, h: 0.3, fontSize: 16, bold: true, color: RED, align: "center" });

  // District
  s.addShape(pres.ShapeType.rect, { x: 3.1, y: 2.45, w: 3.8, h: 0.55, fill: { color: ORANGE }, roundedCorners: true });
  s.addText("DAPCU\n(District AIDS Prevention & Control Unit)", { x: 3.1, y: 2.45, w: 3.8, h: 0.55, fontSize: 9, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 2 });

  s.addText("↓", { x: 4.8, y: 3.0, w: 0.5, h: 0.3, fontSize: 16, bold: true, color: RED, align: "center" });

  // CHC ICTC
  s.addShape(pres.ShapeType.rect, { x: 3.0, y: 3.3, w: 4.0, h: 0.55, fill: { color: BLUE }, roundedCorners: true });
  s.addText("CHC / Taluk ICTC\n(Nodal ICTC for PHC cluster)", { x: 3.0, y: 3.3, w: 4.0, h: 0.55, fontSize: 9, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 2 });

  s.addText("↓", { x: 4.8, y: 3.85, w: 0.5, h: 0.3, fontSize: 16, bold: true, color: RED, align: "center" });

  // PHC ICTC
  s.addShape(pres.ShapeType.rect, { x: 2.9, y: 4.15, w: 4.2, h: 0.55, fill: { color: TEAL }, roundedCorners: true });
  s.addText("PHC Pudukkottai – ICTC\n(MO, Counsellor, Lab Technician)", { x: 2.9, y: 4.15, w: 4.2, h: 0.55, fontSize: 9, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 2 });

  // Sub-centre branch
  s.addText("→", { x: 7.12, y: 4.3, w: 0.4, h: 0.3, fontSize: 16, bold: true, color: RED, align: "center" });
  s.addShape(pres.ShapeType.rect, { x: 7.52, y: 4.15, w: 2.3, h: 0.55, fill: { color: DARK }, roundedCorners: true });
  s.addText("Andakula Sub-Centre\n(ANM + ASHA)", { x: 7.52, y: 4.15, w: 2.3, h: 0.55, fontSize: 9, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 2 });

  addFooter(s);
}

// ──────────────────────────────────────────────
// SLIDE 9 – STAFF AT PHC ICTC
// ──────────────────────────────────────────────
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: DARK } });
  addSlideHeader(s, "PHC ICTC – Staffing & Roles", "Under NACP / TNSACS");

  const staff = [
    { role: "Medical Officer (MO)", duties: ["Overall in-charge of ICTC", "Reviews registers monthly", "Provides clinical management", "Ensures IEC activities"], color: TEAL },
    { role: "ICTC Counsellor\n(Contract, TNSACS)", duties: ["Pre & post-test counselling", "Maintains ICTC registers", "Ensures referral & linkage", "Reports to DAPCU monthly"], color: ORANGE },
    { role: "Lab Technician", duties: ["Performs rapid HIV tests", "Maintains cold chain for kits", "Reports test results", "Maintains lab registers"], color: BLUE },
    { role: "ANM / ASHA\n(Sub-centre level)", duties: ["Community mobilization", "Brings target groups to ICTC", "Partner notification support", "Follows up PLHIV at home"], color: ACCENT },
  ];

  staff.forEach((st, i) => {
    const col = i % 2;
    const row = Math.floor(i / 2);
    const x = col === 0 ? 0.3 : 5.2;
    const y = 1.05 + row * 2.1;
    s.addShape(pres.ShapeType.rect, { x, y, w: 4.5, h: 1.9, fill: { color: st.color }, roundedCorners: true });
    s.addText(st.role, { x, y: y + 0.05, w: 4.5, h: 0.5, fontSize: 12, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 2 });
    s.addText(st.duties.map(d => ({ text: d, options: { bullet: true, breakLine: true, fontSize: 10.5, color: LIGHT } })),
      { x: x + 0.1, y: y + 0.55, w: 4.3, h: 1.3, valign: "top", margin: 4 });
  });

  addFooter(s);
}

// ──────────────────────────────────────────────
// SLIDE 10 – INCENTIVES
// ──────────────────────────────────────────────
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: GRAY } });
  addSlideHeader(s, "Incentives Under HIV Programme", "For ASHAs, Counsellors & Programme Staff – NACP / NRHM");

  // Table headers
  const cols = [0.3, 3.5, 6.2, 8.3];
  const colW = [3.2, 2.7, 2.1, 1.5];
  const headers = ["Recipient", "Activity", "Incentive Amount", "Source"];

  headers.forEach((h, i) => {
    s.addShape(pres.ShapeType.rect, { x: cols[i], y: 1.05, w: colW[i], h: 0.45, fill: { color: RED } });
    s.addText(h, { x: cols[i], y: 1.05, w: colW[i], h: 0.45, fontSize: 11, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 0 });
  });

  const rows = [
    ["ASHA", "Referring a client to ICTC for HIV test", "₹ 50 per referral", "NACP"],
    ["ASHA", "Ensuring PLHIV reaches ART centre (1st visit)", "₹ 150 per linkage", "NACP"],
    ["ASHA", "Bringing ART defaulter back to care", "₹ 150 per defaulter", "NACP"],
    ["ASHA", "PPTCT – Ensuring ANC mother is tested", "₹ 50 per ANC tested", "NACP/NRHM"],
    ["Link Worker (TI)", "Reaching FSW/MSM/IDU for screening", "₹ 1000–1500/month", "NACP TI"],
    ["ICTC Counsellor", "Monthly salary (contractual, TNSACS)", "₹ 15,000–18,000/mo", "TNSACS"],
    ["Lab Technician", "Monthly salary (contractual)", "₹ 12,000–15,000/mo", "TNSACS"],
  ];

  rows.forEach((row, ri) => {
    const bg = ri % 2 === 0 ? DARK : "#2C3E50";
    row.forEach((cell, ci) => {
      s.addShape(pres.ShapeType.rect, { x: cols[ci], y: 1.5 + ri * 0.48, w: colW[ci], h: 0.46, fill: { color: bg } });
      s.addText(cell, { x: cols[ci] + 0.05, y: 1.5 + ri * 0.48, w: colW[ci] - 0.1, h: 0.46, fontSize: 9.5, color: LIGHT, align: ci === 2 ? "center" : "left", valign: "middle", margin: 2 });
    });
  });

  s.addText("* Amounts as per NACP Phase IV norms. Actual disbursement through DAPCU via TNSACS.", {
    x: 0.3, y: 5.1, w: 9.4, h: 0.25, fontSize: 8.5, color: DKGRAY, italic: true
  });
  addFooter(s);
}

// ──────────────────────────────────────────────
// SLIDE 11 – PPTCT PROGRAMME
// ──────────────────────────────────────────────
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: LIGHT } });
  addSlideHeader(s, "PPTCT – Prevention of Parent to Child Transmission", "Special Focus: Antenatal HIV Screening");

  s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.0, w: 9.4, h: 0.08, fill: { color: ORANGE } });

  const pptctRows = [
    { step: "Step 1", detail: "All ANC mothers offered HIV test at 1st visit (PITC)", color: TEAL },
    { step: "Step 2", detail: "Informed consent taken, pre-test counselling given", color: BLUE },
    { step: "Step 3", detail: "Rapid HIV test done at PHC ICTC (same day result)", color: ORANGE },
    { step: "Step 4", detail: "HIV negative: Post-test counselling, retested at 28 weeks if high risk", color: TEAL },
    { step: "Step 5", detail: "HIV positive: Referred to ART centre, NVP prophylaxis for mother + baby", color: RED },
    { step: "Step 6", detail: "HIV exposed infant followed up for 18 months, DBS test at 6 weeks", color: DARK },
  ];

  pptctRows.forEach((r, i) => {
    s.addShape(pres.ShapeType.rect, { x: 0.3, y: 1.15 + i * 0.63, w: 1.3, h: 0.55, fill: { color: r.color } });
    s.addText(r.step, { x: 0.3, y: 1.15 + i * 0.63, w: 1.3, h: 0.55, fontSize: 11, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 0 });
    s.addShape(pres.ShapeType.rect, { x: 1.65, y: 1.15 + i * 0.63, w: 8.05, h: 0.55, fill: { color: i % 2 === 0 ? DARK : "#2C3E50" } });
    s.addText(r.detail, { x: 1.75, y: 1.15 + i * 0.63, w: 7.9, h: 0.55, fontSize: 11.5, color: LIGHT, valign: "middle", margin: 4 });
  });

  addFooter(s);
}

// ──────────────────────────────────────────────
// SLIDE 12 – SUMMARY / CONCLUSION
// ──────────────────────────────────────────────
{
  let s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: "100%", h: "100%", fill: { color: DARK } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.18, h: "100%", fill: { color: RED } });

  s.addText("Key Takeaways", {
    x: 0.4, y: 0.25, w: 9.2, h: 0.6,
    fontSize: 26, bold: true, color: LIGHT, align: "left"
  });
  s.addShape(pres.ShapeType.rect, { x: 0.4, y: 0.85, w: 2.5, h: 0.07, fill: { color: RED } });

  const takeaways = [
    ["ICTC", "Entry point at PHC Pudukkottai; outreach via Andakula sub-centre"],
    ["Screening", "NACO Serial Algorithm (3-kit: Test A → B → C) for all voluntary & provider-initiated clients"],
    ["Target groups", "ANC mothers (PPTCT), HRGs (FSW/MSM/IDU), TB patients, walk-in VCT clients"],
    ["Referral", "HIV+ clients referred → District ICTC → ART Centre (Govt. Hospital, Pudukkottai)"],
    ["Organogram", "NACO → TNSACS → DAPCU → CHC ICTC → PHC ICTC → Sub-centre (ANM/ASHA)"],
    ["Incentives", "ASHA: ₹50/referral, ₹150/ART linkage; Counsellor: ₹15–18k/mo (TNSACS contract)"],
  ];

  takeaways.forEach(([key, val], i) => {
    const y = 1.05 + i * 0.73;
    s.addShape(pres.ShapeType.rect, { x: 0.4, y, w: 1.8, h: 0.58, fill: { color: RED }, roundedCorners: true });
    s.addText(key, { x: 0.4, y, w: 1.8, h: 0.58, fontSize: 12, bold: true, color: LIGHT, align: "center", valign: "middle", margin: 0 });
    s.addText(val, { x: 2.3, y: y + 0.04, w: 7.4, h: 0.5, fontSize: 11.5, color: LIGHT, valign: "middle", margin: 0 });
  });

  s.addText("Thank You  |  Questions Welcome", {
    x: 0.4, y: 5.1, w: 9.2, h: 0.35, fontSize: 11, color: TEAL, align: "right", italic: true
  });
}

// ──────────────────────────────────────────────
// WRITE FILE
// ──────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/hiv-ppt/HIV_Programme_Review_Andakula_PHC.pptx" })
  .then(() => console.log("DONE: PPT written successfully"))
  .catch(err => console.error("ERROR:", err));
Running Command

cd /home/daytona/workspace/hiv-ppt && node hiv_ppt.js

Running Command

ls -lh /home/daytona/workspace/hiv-ppt/HIV_Programme_Review_Andakula_PHC.pptx

Your PPT is ready! Download it here:

HIV Programme Review Andakula PHC

Presentation · PPTX


Here's what's inside the 12 slides (dark red/teal professional theme):
SlideContent
1Title slide - Andakula Sub-Centre / PHC Pudukkottai
2Overview / Agenda
3What is ICTC - services offered
4Who gets tested - ANC mothers (PPTCT), HRGs (FSW/MSM/IDU), TB patients, walk-in VCT
5Screening tests - NACO 3-kit serial algorithm (Test A → B → C), final reporting
6Referral pathway - Andakula → PHC ICTC → District ICTC (DAPCU) → ART Centre
7TB-HIV bi-directional referral (NACP-NTEP coordination)
8HIV Organogram - NACO → TNSACS → DAPCU → CHC ICTC → PHC → Sub-centre
9PHC ICTC staffing (MO, Counsellor, Lab Tech, ANM/ASHA)
10Incentives table - ASHA ₹50/referral, ₹150/ART linkage, Counsellor ₹15-18k/mo
11PPTCT step-by-step (ANC HIV screening)
12Key takeaways / thank you
A few things to double-check before your review meeting:
  • ART centre name: Confirm if it's Govt. Hospital Pudukkottai or referred further (some districts refer to Karaikudi/Trichy)
  • Counsellor salary: Get the exact TNSACS rate from your DAPCU office as it may have been revised
  • Local statistics: Add the number of clients tested at Andakula / PHC Pudukkottai from the ICTC register for your specific review period

andakulam phc pudukottai

Reading File
Running Command

cd /home/daytona/workspace/hiv-ppt && sed -i \ 's/Andakula PHC, Pudukkottai/Andakulam PHC, Pudukkottai/g; \ s/Andakula Sub-Centre | PHC Pudukkottai/Andakulam PHC | Pudukkottai/g; \ s/Andakula Sub-Centre is a field outreach site under PHC Pudukkottai ICTC/Andakulam PHC has its own ICTC under PHC Pudukkottai block/g; \ s/Andakula Sub-Centre \/\/ Village/Andakulam PHC\nICTC/g; \ s/Andakula Sub-Centre\n(ANM + ASHA)/Andakulam PHC\n(ANM \+ ASHA)/g; \ s/Andakula sub-centre/Andakulam PHC/g; \ s/Andakula \/\/ PHC Pudukkottai/Andakulam PHC, Pudukkottai/g; \ s/"Andakula PHC"/"Andakulam PHC"/g; \ s/HIV Programme Review | Andakula PHC/HIV Programme Review | Andakulam PHC/g' hiv_ppt.js

Running Command

cd /home/daytona/workspace/hiv-ppt && python3 -c " content = open('hiv_ppt.js').read() replacements = [ ('Andakula PHC, Pudukkottai', 'Andakulam PHC, Pudukkottai'), ('Andakula Sub-Centre | PHC Pudukkottai', 'Andakulam PHC | Pudukkottai'), ('Andakula Sub-Centre is a field outreach site under PHC Pudukkottai ICTC', 'Andakulam PHC has its own ICTC serving the local population'), ('Andakula Sub-Centre / Village', 'Andakulam PHC\\nICTC'), ('Andakula Sub-Centre\\n(ANM + ASHA)', 'Andakulam PHC\\n(ANM + ASHA)'), ('Andakula sub-centre', 'Andakulam PHC'), ('HIV Programme Review | Andakula PHC', 'HIV Programme Review | Andakulam PHC'), ('Andakula', 'Andakulam'), ] for old, new in replacements: content = content.replace(old, new) open('hiv_ppt.js', 'w').write(content) print('Done') "

Running Command

cd /home/daytona/workspace/hiv-ppt && grep -n "Andakulam\|Pudukkottai\|Sub-Centre\|sub-centre" hiv_ppt.js | head -40

Running Command

cd /home/daytona/workspace/hiv-ppt && python3 -c " content = open('hiv_ppt.js').read() fixes = [ # fix double-m typo ('Andakulamm', 'Andakulam'), # Fix referral slide header ('From Andakulam Sub-Centre to ART Centre', 'From Andakulam PHC, Pudukkottai to ART Centre'), # Fix referral node 1 ('{ label: \"Andakulam\\\\nSub-Centre / Village\", sub: \"ASHA/ANM screens\\\\nRefers with slip\", color: TEAL, x: 0.2 }', '{ label: \"Andakulam PHC\\\\nICTC\", sub: \"Pre-test counselling\\\\nRapid HIV test done\", color: TEAL, x: 0.2 }'), # Fix referral node 2 ('{ label: \"PHC Pudukkottai\\\\nICTC\", sub: \"Pre-test counselling\\\\nRapid HIV test\\\\nPost-test counselling\", color: ORANGE, x: 2.3 }', '{ label: \"District ICTC\\\\n(DAPCU Pudukkottai)\", sub: \"Confirmatory testing\\\\nClinical assessment\", color: ORANGE, x: 2.3 }'), # Fix organogram PHC line ('\"PHC Pudukkottai – ICTC\\\\n(MO, Counsellor, Lab Technician)\"', '\"Andakulam PHC – ICTC\\\\n(MO, Counsellor, Lab Technician)\"'), # Fix organogram sub-centre branch ('\"Andakulam Sub-Centre\\\\n(ANM + ASHA)\"', '\"Village Sub-Centres\\\\n(ANM + ASHA)\"'), # Fix summary slide ('\"Entry point at PHC Pudukkottai; outreach via Andakulam PHC\"', '\"Entry point at Andakulam PHC ICTC; field outreach via ANM/ASHA\"'), ] for old, new in fixes: content = content.replace(old, new) open('hiv_ppt.js', 'w').write(content) print('All fixed') "

Running Command

cd /home/daytona/workspace/hiv-ppt && node hiv_ppt.js && echo "OK" && ls -lh HIV_Programme_Review_Andakulam_PHC.pptx

Updated PPT is ready:

HIV Programme Review Andakulam PHC

Presentation · PPTX

Changes made throughout all slides:
  • Name corrected everywhere to "Andakulam PHC, Pudukkottai"
  • Referral pathway updated - Andakulam PHC ICTC is now correctly shown as the starting point (not a sub-centre), referring directly to District ICTC (DAPCU) → ART Centre
  • Organogram updated - Andakulam PHC ICTC sits at the PHC level with village sub-centres (ANM/ASHA) under it
  • Footer on every slide now reads "Andakulam PHC"
This is a shared conversation. Sign in to Orris to start your own chat.