kindly make the ppt also provide the pdf
mkdir -p /home/daytona/workspace/pandemic-module-4.4
~/pandemic-module-4.4/create_ppt.js
const pptxgen = require("pptxgenjs");
let pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Pandemic Module 4.4 - Information Management during Pandemics";
pres.author = "GEN MED / PUL MED / ANAES";
// ─── Color Palette ───────────────────────────────────────────────
const DARK_BG = "0A2342"; // deep navy - dominant
const MID_BG = "1A3A5C"; // medium navy
const ACCENT = "E8A020"; // amber/gold accent
const LIGHT = "EEF4FB"; // off-white
const WHITE = "FFFFFF";
const RED_WARN = "C0392B";
const TEAL = "17B0A7";
const LIGHT_BLUE = "5BA4CF";
// ─── SLIDE 1: Title Slide ────────────────────────────────────────
{
let sl = pres.addSlide();
// Dark navy background
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: DARK_BG } });
// Amber accent bar left
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.18, h: 5.625, fill: { color: ACCENT } });
// Bottom accent strip
sl.addShape(pres.ShapeType.rect, { x: 0, y: 5.15, w: 10, h: 0.475, fill: { color: MID_BG } });
// Module tag
sl.addText("GEN MED / PUL MED / ANAES", {
x: 0.4, y: 0.3, w: 9, h: 0.4,
fontSize: 11, color: ACCENT, bold: true, charSpacing: 3,
});
// Main title
sl.addText("PANDEMIC", {
x: 0.4, y: 0.85, w: 9.2, h: 1.0,
fontSize: 60, color: WHITE, bold: true, charSpacing: 6,
});
sl.addText("MODULE 4.4", {
x: 0.4, y: 1.75, w: 9.2, h: 0.75,
fontSize: 36, color: ACCENT, bold: true, charSpacing: 4,
});
// Subtitle
sl.addText("Information Management during Pandemics", {
x: 0.4, y: 2.6, w: 9.2, h: 0.65,
fontSize: 22, color: LIGHT, italic: false,
});
// Divider line
sl.addShape(pres.ShapeType.line, {
x: 0.4, y: 3.38, w: 8.8, h: 0,
line: { color: ACCENT, width: 1.5 },
});
// Sub-info
sl.addText([
{ text: "Duration: ", options: { bold: true, color: ACCENT } },
{ text: "2 Hours | ", options: { color: LIGHT } },
{ text: "Format: ", options: { bold: true, color: ACCENT } },
{ text: "Interactive Discussion", options: { color: LIGHT } },
], { x: 0.4, y: 3.55, w: 9.2, h: 0.45, fontSize: 14 });
// Topics listed
sl.addText([
{ text: "a. Responding to Media ", options: { color: WHITE } },
{ text: "b. Use and Misuse of Social Media for Health-related Messages", options: { color: WHITE } },
], {
x: 0.4, y: 4.1, w: 9.2, h: 0.6,
fontSize: 12, italic: true, color: LIGHT,
});
}
// ─── SLIDE 2: Module Overview ────────────────────────────────────
{
let sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: LIGHT } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.1, fill: { color: DARK_BG } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 1.1, w: 0.12, h: 4.525, fill: { color: ACCENT } });
sl.addText("MODULE OVERVIEW", {
x: 0.35, y: 0.28, w: 9, h: 0.5,
fontSize: 22, color: WHITE, bold: true, charSpacing: 3,
});
// Two boxes
const boxStyle = { fill: { color: DARK_BG }, rectRadius: 0.12 };
sl.addShape(pres.ShapeType.roundRect, { x: 0.35, y: 1.3, w: 4.2, h: 3.8, ...boxStyle });
sl.addShape(pres.ShapeType.roundRect, { x: 5.0, y: 1.3, w: 4.5, h: 3.8, fill: { color: MID_BG }, rectRadius: 0.12 });
// Box A header
sl.addShape(pres.ShapeType.rect, { x: 0.35, y: 1.3, w: 4.2, h: 0.5, fill: { color: ACCENT } });
sl.addText("A. Responding to Media", {
x: 0.45, y: 1.35, w: 4.0, h: 0.4,
fontSize: 13, color: DARK_BG, bold: true,
});
sl.addText([
{ text: "• ", options: { bold: true, color: ACCENT } },
{ text: "2-hour interactive discussion session\n", options: { color: WHITE } },
{ text: "• ", options: { bold: true, color: ACCENT } },
{ text: "Communicating effectively during health crises\n", options: { color: WHITE } },
{ text: "• ", options: { bold: true, color: ACCENT } },
{ text: "Press interviews & public statements\n", options: { color: WHITE } },
{ text: "• ", options: { bold: true, color: ACCENT } },
{ text: "Managing difficult questions\n", options: { color: WHITE } },
{ text: "• ", options: { bold: true, color: ACCENT } },
{ text: "Staying on-message during outbreaks", options: { color: WHITE } },
], { x: 0.5, y: 1.92, w: 3.85, h: 3.0, fontSize: 12, lineSpacingMultiple: 1.3 });
// Box B header
sl.addShape(pres.ShapeType.rect, { x: 5.0, y: 1.3, w: 4.5, h: 0.5, fill: { color: TEAL } });
sl.addText("B. Use & Misuse of Social Media", {
x: 5.1, y: 1.35, w: 4.3, h: 0.4,
fontSize: 13, color: DARK_BG, bold: true,
});
sl.addText([
{ text: "• ", options: { bold: true, color: TEAL } },
{ text: "Social media as public health tool\n", options: { color: WHITE } },
{ text: "• ", options: { bold: true, color: TEAL } },
{ text: "Infodemic & misinformation threats\n", options: { color: WHITE } },
{ text: "• ", options: { bold: true, color: TEAL } },
{ text: "Evidence-based counter-messaging\n", options: { color: WHITE } },
{ text: "• ", options: { bold: true, color: TEAL } },
{ text: "WHO & official guidance platforms\n", options: { color: WHITE } },
{ text: "• ", options: { bold: true, color: TEAL } },
{ text: "Real-time monitoring of narratives", options: { color: WHITE } },
], { x: 5.1, y: 1.92, w: 4.2, h: 3.0, fontSize: 12, lineSpacingMultiple: 1.3 });
}
// ─── SLIDE 3: Responding to Media ────────────────────────────────
{
let sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: DARK_BG } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: ACCENT } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 5.545, w: 10, h: 0.08, fill: { color: ACCENT } });
sl.addText("A", {
x: 0.3, y: 0.15, w: 0.7, h: 0.7,
fontSize: 28, color: ACCENT, bold: true,
});
sl.addText("Responding to Media", {
x: 0.95, y: 0.18, w: 8.7, h: 0.65,
fontSize: 26, color: WHITE, bold: true,
});
sl.addShape(pres.ShapeType.line, { x: 0.3, y: 0.9, w: 9.4, h: 0, line: { color: ACCENT, width: 1 } });
// 4 content boxes
const boxes = [
{ x: 0.3, y: 1.1, label: "01", title: "Key Principles", color: ACCENT,
items: ["Accuracy over speed", "Transparent communication", "Empathy with the public", "Consistent messaging"] },
{ x: 5.15, y: 1.1, label: "02", title: "Press Interview Tips", color: LIGHT_BLUE,
items: ["Prepare key messages", "Anticipate tough questions", "Avoid jargon", "Cite credible sources"] },
{ x: 0.3, y: 3.2, label: "03", title: "Crisis Communication", color: TEAL,
items: ["Acknowledge uncertainty honestly", "Update the public regularly", "Use plain language", "Control rumor spread"] },
{ x: 5.15, y: 3.2, label: "04", title: "Do's & Don'ts", color: "E05858",
items: ["DO: Say 'we don't know yet'", "DO: Reference WHO guidelines", "DON'T: Speculate publicly", "DON'T: Dismiss public fears"] },
];
boxes.forEach(b => {
sl.addShape(pres.ShapeType.rect, { x: b.x, y: b.y, w: 4.55, h: 1.95, fill: { color: MID_BG } });
sl.addShape(pres.ShapeType.rect, { x: b.x, y: b.y, w: 0.55, h: 1.95, fill: { color: b.color } });
sl.addText(b.label, {
x: b.x, y: b.y + 0.65, w: 0.55, h: 0.6,
fontSize: 16, color: DARK_BG, bold: true, align: "center",
});
sl.addText(b.title, {
x: b.x + 0.65, y: b.y + 0.1, w: 3.8, h: 0.4,
fontSize: 13, color: b.color, bold: true,
});
sl.addText(b.items.map(i => ({ text: i + "\n", options: { color: WHITE } })), {
x: b.x + 0.65, y: b.y + 0.52, w: 3.8, h: 1.35,
fontSize: 10.5, lineSpacingMultiple: 1.25,
});
});
}
// ─── SLIDE 4: Social Media - Use ─────────────────────────────────
{
let sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: LIGHT } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.15, fill: { color: MID_BG } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 1.15, w: 10, h: 0.07, fill: { color: TEAL } });
sl.addText("B", { x: 0.3, y: 0.22, w: 0.6, h: 0.55, fontSize: 26, color: TEAL, bold: true });
sl.addText("Social Media for Health Messages — The BENEFITS", {
x: 0.9, y: 0.22, w: 8.8, h: 0.55,
fontSize: 20, color: WHITE, bold: true,
});
const cards = [
{ x: 0.3, y: 1.35, icon: "📡", title: "Rapid Dissemination",
text: "Real-time broadcasting of alerts, guidelines, and updates to millions within minutes." },
{ x: 3.55, y: 1.35, icon: "🌍", title: "Wide Geographic Reach",
text: "Crosses borders instantly — critical for global pandemic coordination and awareness." },
{ x: 6.8, y: 1.35, icon: "💬", title: "Two-way Engagement",
text: "Enables dialogue between health authorities and the public to address concerns." },
{ x: 0.3, y: 3.4, icon: "📊", title: "Infodemic Surveillance",
text: "Monitor trending misinformation and swiftly deploy counter-messaging campaigns." },
{ x: 3.55, y: 3.4, icon: "🏥", title: "Community Mobilization",
text: "Promote vaccination, PPE use, and health-seeking behavior at scale." },
{ x: 6.8, y: 3.4, icon: "🔔", title: "Early Warning",
text: "Public reports on symptoms/clusters can alert authorities before official notifications." },
];
cards.forEach(c => {
sl.addShape(pres.ShapeType.roundRect, {
x: c.x, y: c.y, w: 3.0, h: 1.85,
fill: { color: DARK_BG }, rectRadius: 0.1,
});
sl.addShape(pres.ShapeType.rect, {
x: c.x, y: c.y + 1.5, w: 3.0, h: 0.35,
fill: { color: TEAL },
});
sl.addText(c.icon + " " + c.title, {
x: c.x + 0.12, y: c.y + 0.08, w: 2.75, h: 0.45,
fontSize: 12, color: TEAL, bold: true,
});
sl.addText(c.text, {
x: c.x + 0.12, y: c.y + 0.55, w: 2.75, h: 0.92,
fontSize: 10, color: WHITE, lineSpacingMultiple: 1.2,
});
});
}
// ─── SLIDE 5: Social Media - Misuse / Infodemic ───────────────────
{
let sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: "1A0A0A" } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.07, fill: { color: RED_WARN } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 5.555, w: 10, h: 0.07, fill: { color: RED_WARN } });
sl.addText("⚠ Misuse of Social Media — The RISKS", {
x: 0.3, y: 0.15, w: 9.4, h: 0.6,
fontSize: 22, color: RED_WARN, bold: true,
});
sl.addShape(pres.ShapeType.line, { x: 0.3, y: 0.82, w: 9.4, h: 0, line: { color: RED_WARN, width: 1 } });
// Sub-heading
sl.addText("Infodemics — An Epidemic of Misinformation", {
x: 0.3, y: 0.88, w: 9.4, h: 0.4,
fontSize: 14, color: ACCENT, italic: true,
});
// Risk items
const risks = [
{ num: "01", title: "Misinformation & Fake Cures",
detail: "Unverified remedies spread faster than official guidelines, causing harm and delaying proper treatment." },
{ num: "02", title: "Panic & Social Disruption",
detail: "Exaggerated claims trigger stockpiling, violence, stigma against affected communities." },
{ num: "03", title: "Vaccine Hesitancy",
detail: "Anti-vaccine content undermines immunization programs, reducing herd immunity during pandemics." },
{ num: "04", title: "Conspiracy Theories",
detail: "False origin stories and distrust of authorities hamper response efforts and contact tracing." },
{ num: "05", title: "Information Overload",
detail: "Volume of conflicting messages leads to confusion, fatigue, and non-compliance with guidelines." },
];
risks.forEach((r, i) => {
const y = 1.38 + i * 0.77;
sl.addShape(pres.ShapeType.rect, { x: 0.3, y: y, w: 9.4, h: 0.65, fill: { color: "2A0F0F" } });
sl.addShape(pres.ShapeType.rect, { x: 0.3, y: y, w: 0.6, h: 0.65, fill: { color: RED_WARN } });
sl.addText(r.num, { x: 0.3, y: y + 0.12, w: 0.6, h: 0.4, fontSize: 14, color: WHITE, bold: true, align: "center" });
sl.addText(r.title, { x: 1.05, y: y + 0.04, w: 3.2, h: 0.3, fontSize: 12, color: RED_WARN, bold: true });
sl.addText(r.detail, { x: 1.05, y: y + 0.32, w: 8.4, h: 0.3, fontSize: 10.5, color: LIGHT });
});
}
// ─── SLIDE 6: Strategies to Combat Infodemic ─────────────────────
{
let sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: DARK_BG } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 3.5, h: 5.625, fill: { color: MID_BG } });
sl.addShape(pres.ShapeType.rect, { x: 3.5, y: 0, w: 0.07, h: 5.625, fill: { color: ACCENT } });
sl.addText("Strategies to\nCombat\nInfodemic", {
x: 0.25, y: 0.3, w: 3.1, h: 1.8,
fontSize: 24, color: WHITE, bold: true, lineSpacingMultiple: 1.3,
});
sl.addShape(pres.ShapeType.line, { x: 0.25, y: 2.1, w: 2.8, h: 0, line: { color: ACCENT, width: 1 } });
sl.addText([
{ text: "WHO & health authorities\n", options: { color: ACCENT, bold: true } },
{ text: "must lead the narrative\n\n", options: { color: LIGHT } },
{ text: "Format: ", options: { color: TEAL, bold: true } },
{ text: "Interactive\nDiscussion", options: { color: LIGHT } },
], { x: 0.25, y: 2.2, w: 3.0, h: 2.9, fontSize: 12, lineSpacingMultiple: 1.3 });
const strategies = [
{ icon: "✅", title: "Prebunking", text: "Educate populations about misinformation tactics before exposure." },
{ icon: "🔍", title: "Fact-Checking Networks", text: "Partner with journalists and WHO myth-busters for rapid rebuttals." },
{ icon: "📢", title: "Amplify Trusted Voices", text: "Healthcare workers, community leaders, and influencers share verified info." },
{ icon: "🤝", title: "Platform Collaboration", text: "Engage social media platforms to label, remove, or down-rank false content." },
{ icon: "📱", title: "Digital Literacy", text: "Train citizens to identify credible health sources and spot fake news." },
];
strategies.forEach((s, i) => {
const y = 0.25 + i * 1.02;
sl.addText(s.icon, { x: 3.75, y: y, w: 0.55, h: 0.5, fontSize: 22, align: "center" });
sl.addText(s.title, { x: 4.35, y: y, w: 5.4, h: 0.38, fontSize: 13, color: ACCENT, bold: true });
sl.addText(s.text, { x: 4.35, y: y + 0.38, w: 5.4, h: 0.55, fontSize: 11, color: LIGHT, lineSpacingMultiple: 1.2 });
if (i < strategies.length - 1) {
sl.addShape(pres.ShapeType.line, {
x: 3.75, y: y + 0.98, w: 5.95, h: 0,
line: { color: "2A3D5A", width: 0.75 },
});
}
});
}
// ─── SLIDE 7: Role of Health Professionals ───────────────────────
{
let sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: LIGHT } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.2, fill: { color: DARK_BG } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 1.2, w: 10, h: 0.07, fill: { color: TEAL } });
sl.addText("Role of Health Professionals in Pandemic Communication", {
x: 0.3, y: 0.28, w: 9.4, h: 0.6,
fontSize: 20, color: WHITE, bold: true,
});
// 3 column layout
const cols = [
{
x: 0.25, color: ACCENT, title: "Clinicians & Doctors",
items: [
"Serve as trusted messengers",
"Counter patient misinformation",
"Use evidence-based talking points",
"Engage media when appropriate",
"Maintain public trust",
]
},
{
x: 3.55, color: TEAL, title: "Public Health Officers",
items: [
"Coordinate official messaging",
"Conduct daily press briefings",
"Monitor social media for rumors",
"Issue timely corrections",
"Collaborate with WHO/MOH",
]
},
{
x: 6.85, color: LIGHT_BLUE, title: "Nurses & Allied Health",
items: [
"Front-line patient education",
"Address vaccine hesitancy",
"Distribute fact sheets",
"Community health messaging",
"Report misconceptions upward",
]
},
];
cols.forEach(c => {
sl.addShape(pres.ShapeType.roundRect, {
x: c.x, y: 1.4, w: 3.05, h: 3.95,
fill: { color: DARK_BG }, rectRadius: 0.1,
});
sl.addShape(pres.ShapeType.rect, { x: c.x, y: 1.4, w: 3.05, h: 0.52, fill: { color: c.color } });
sl.addText(c.title, {
x: c.x + 0.1, y: 1.43, w: 2.85, h: 0.45,
fontSize: 12.5, color: DARK_BG, bold: true,
});
sl.addText(c.items.map(item => ({
text: "▸ " + item + "\n",
options: { color: WHITE },
})), {
x: c.x + 0.1, y: 2.05, w: 2.85, h: 3.15,
fontSize: 11, lineSpacingMultiple: 1.35,
});
});
}
// ─── SLIDE 8: WHO Communication Framework ────────────────────────
{
let sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: DARK_BG } });
sl.addShape(pres.ShapeType.rect, { x: 4.5, y: 0, w: 5.5, h: 5.625, fill: { color: MID_BG } });
sl.addShape(pres.ShapeType.rect, { x: 4.5, y: 0, w: 0.07, h: 5.625, fill: { color: TEAL } });
sl.addText("WHO Risk\nCommunication\nFramework", {
x: 0.3, y: 0.5, w: 4.0, h: 2.0,
fontSize: 26, color: WHITE, bold: true, lineSpacingMultiple: 1.25,
});
sl.addText("Applied in Pandemic Contexts", {
x: 0.3, y: 2.55, w: 4.0, h: 0.4,
fontSize: 13, color: TEAL, italic: true,
});
sl.addShape(pres.ShapeType.line, {
x: 0.3, y: 3.05, w: 3.8, h: 0,
line: { color: ACCENT, width: 1 },
});
sl.addText([
{ text: "Build trust early.\n", options: { color: ACCENT, bold: true } },
{ text: "Acknowledge uncertainty.\n", options: { color: WHITE } },
{ text: "Be consistent and transparent.\n", options: { color: WHITE } },
{ text: "Listen and respond to concerns.", options: { color: WHITE } },
], { x: 0.3, y: 3.18, w: 3.9, h: 1.9, fontSize: 12.5, lineSpacingMultiple: 1.4 });
const steps = [
{ step: "1", title: "Announce Early", detail: "Communicate before full information is available — uncertainty is OK." },
{ step: "2", title: "Be Transparent", detail: "Share what is known, unknown, and what is being done." },
{ step: "3", title: "Show Respect", detail: "Acknowledge public fears; avoid dismissing or minimizing concerns." },
{ step: "4", title: "Build Partnerships", detail: "Work with media, civil society, and influencers as communication allies." },
{ step: "5", title: "Listen & Learn", detail: "Two-way communication: monitor feedback and adjust messaging." },
];
steps.forEach((s, i) => {
const y = 0.2 + i * 1.0;
sl.addShape(pres.ShapeType.ellipse, {
x: 4.75, y: y + 0.15, w: 0.5, h: 0.5,
fill: { color: TEAL },
});
sl.addText(s.step, {
x: 4.75, y: y + 0.18, w: 0.5, h: 0.42,
fontSize: 14, color: DARK_BG, bold: true, align: "center",
});
sl.addText(s.title, { x: 5.45, y: y + 0.06, w: 3.9, h: 0.35, fontSize: 13, color: TEAL, bold: true });
sl.addText(s.detail, { x: 5.45, y: y + 0.41, w: 3.9, h: 0.48, fontSize: 10.5, color: LIGHT });
});
}
// ─── SLIDE 9: Summary & Key Takeaways ────────────────────────────
{
let sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: DARK_BG } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: ACCENT } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 5.545, w: 10, h: 0.08, fill: { color: ACCENT } });
sl.addShape(pres.ShapeType.rect, { x: 4.85, y: 0.08, w: 5.15, h: 5.465, fill: { color: MID_BG } });
sl.addText("Key Takeaways", {
x: 0.3, y: 0.15, w: 4.35, h: 0.65,
fontSize: 24, color: WHITE, bold: true,
});
sl.addShape(pres.ShapeType.line, {
x: 0.3, y: 0.82, w: 4.2, h: 0,
line: { color: ACCENT, width: 1 },
});
const takeaways = [
{ n: "1", t: "Accurate, timely communication saves lives." },
{ n: "2", t: "Media engagement requires preparation and clear messaging." },
{ n: "3", t: "Social media is a double-edged tool in pandemic response." },
{ n: "4", t: "Infodemics can be as dangerous as the disease itself." },
{ n: "5", t: "Health professionals are frontline communicators." },
{ n: "6", t: "WHO frameworks provide structured guidance for crisis comms." },
];
takeaways.forEach((tk, i) => {
const y = 1.0 + i * 0.72;
sl.addShape(pres.ShapeType.ellipse, { x: 0.3, y: y, w: 0.42, h: 0.42, fill: { color: ACCENT } });
sl.addText(tk.n, { x: 0.3, y: y + 0.03, w: 0.42, h: 0.36, fontSize: 14, color: DARK_BG, bold: true, align: "center" });
sl.addText(tk.t, { x: 0.88, y: y + 0.04, w: 3.8, h: 0.4, fontSize: 11.5, color: WHITE });
});
// Right panel
sl.addText("Discussion Points", {
x: 5.05, y: 0.2, w: 4.7, h: 0.5,
fontSize: 18, color: TEAL, bold: true,
});
sl.addShape(pres.ShapeType.line, {
x: 5.05, y: 0.72, w: 4.7, h: 0,
line: { color: TEAL, width: 1 },
});
const questions = [
"What challenges do HCWs face when responding to media in a crisis?",
"How can we distinguish reliable health information on social media?",
"What role do emotions play in how people share pandemic content?",
"How should hospitals prepare a 'communication protocol' for pandemics?",
"Give examples of successful vs. harmful pandemic social media campaigns.",
];
questions.forEach((q, i) => {
const y = 0.88 + i * 0.91;
sl.addShape(pres.ShapeType.rect, { x: 5.05, y: y, w: 4.7, h: 0.78, fill: { color: "132A44" } });
sl.addShape(pres.ShapeType.rect, { x: 5.05, y: y, w: 0.1, h: 0.78, fill: { color: TEAL } });
sl.addText("Q" + (i + 1) + ": " + q, {
x: 5.3, y: y + 0.06, w: 4.35, h: 0.66,
fontSize: 10, color: LIGHT, lineSpacingMultiple: 1.2,
});
});
}
// ─── SLIDE 10: Thank You ──────────────────────────────────────────
{
let sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: DARK_BG } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.1, fill: { color: ACCENT } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 5.525, w: 10, h: 0.1, fill: { color: ACCENT } });
// Large circle background
sl.addShape(pres.ShapeType.ellipse, {
x: 3.2, y: 0.7, w: 3.6, h: 3.6,
fill: { color: MID_BG }, line: { color: ACCENT, width: 2 },
});
sl.addText("Thank You", {
x: 3.2, y: 1.55, w: 3.6, h: 1.0,
fontSize: 32, color: WHITE, bold: true, align: "center",
});
sl.addShape(pres.ShapeType.line, {
x: 3.6, y: 2.7, w: 2.8, h: 0,
line: { color: ACCENT, width: 1.5 },
});
sl.addText("Pandemic Module 4.4", {
x: 3.2, y: 2.85, w: 3.6, h: 0.45,
fontSize: 14, color: TEAL, align: "center",
});
sl.addText("Information Management during Pandemics", {
x: 0.5, y: 4.45, w: 9, h: 0.45,
fontSize: 14, color: LIGHT, align: "center",
});
sl.addText("GEN MED / PUL MED / ANAES", {
x: 0.5, y: 4.92, w: 9, h: 0.38,
fontSize: 11, color: ACCENT, align: "center", charSpacing: 2,
});
}
// ─── Write File ───────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/pandemic-module-4.4/Pandemic_Module_4.4.pptx" })
.then(() => console.log("PPT created successfully!"))
.catch(err => console.error("Error:", err));
cd /home/daytona/workspace/pandemic-module-4.4 && node create_ppt.js
libreoffice --headless --convert-to pdf "/home/daytona/workspace/pandemic-module…
libreoffice --headless --convert-to pdf "/home/daytona/workspace/pandemic-module…
ls -lh /home/daytona/workspace/pandemic-module-4.4/
Pandemic Module 4.4
Presentation · PPTX
Pandemic Module 4.4
PDF Document · PDF
| Slide | Content |
|---|---|
| 1 | Title Slide - Module 4.4 branding, duration, format |
| 2 | Module Overview - Topics A & B side by side |
| 3 | Responding to Media - Key principles, press tips, crisis comms, do's & don'ts |
| 4 | Social Media Benefits - 6 benefit cards (rapid dissemination, reach, engagement, etc.) |
| 5 | Social Media Risks / Infodemic - 5 risk categories with red warning theme |
| 6 | Strategies to Combat Infodemic - prebunking, fact-checking, platform collaboration |
| 7 | Role of Health Professionals - Clinicians, Public Health Officers, Nurses |
| 8 | WHO Risk Communication Framework - 5-step model |
| 9 | Key Takeaways + Discussion Questions for interactive session |
| 10 | Thank You slide |
i am not able to download the above file
ls -lh /home/daytona/workspace/pandemic-module-4.4/ && echo "Files OK"
Pandemic Module 4.4
Presentation · PPTX
Pandemic Module 4.4
PDF Document · PDF