Make mind maps and flow charts for spm
What does SPM refer to in your context? · What format do you want the mind maps and flowcharts in?
Give mind maps and flowcharts for these questions for exam oriented only laq and saq
cd /home/daytona/workspace/attachments/88475c97-96df-4b3a-b3d8-6afdc54d4e2a && python3 -c " from pypdf import PdfReader reader = PdfReader('SPM HAQs 3RD EDTN.pdf') print(f'Total pages: {len(reader.pages)}') # Extract first 5 pages to understand structure for i in range(min(5, len(reader.pages))): print(f'--- PAGE {i+1} ---') print(reader.pages[i].extract_text()[:2000]) print() "
cd /home/daytona/workspace/attachments/88475c97-96df-4b3a-b3d8-6afdc54d4e2a && python3 -c " from pypdf import PdfReader reader = PdfReader('SPM HAQs 3RD EDTN.pdf') # Extract all pages full_text = '' for i in range(len(reader.pages)): full_text += f'=== PAGE {i+1} ===\n' full_text += reader.pages[i].extract_text() full_text += '\n\n' with open('/home/daytona/workspace/spm_text.txt', 'w') as f: f.write(full_text) print('Done. Total chars:', len(full_text)) "
mkdir -p /home/daytona/workspace/spm-mindmaps && cat > /home/daytona/workspace/spm-mindmaps/build.js << 'JSEOF' const pptxgen = require("pptxgenjs"); const pres = new pptxgen(); pres.layout = 'LAYOUT_WIDE'; pres.title = 'SPM Mind Maps & Flowcharts - HAQ 3rd Edition'; // Color palette - medical theme const C = { bg: "0D1B2A", // deep navy bg2: "1A2B3C", // slightly lighter navy accent: "00C9A7", // teal green accent2: "F7B731", // warm yellow accent3: "FC5C65", // red accent4: "45AAF2", // blue accent5: "A29BFE", // lavender white: "FFFFFF", light: "E8F4FD", dark: "0A0F1A", text: "D0E8F0", box1: "1E3A5F", box2: "0F4C3A", box3: "4A1940", box4: "3A2800", grey: "7F8C8D", }; // ─── helpers ─────────────────────────────────────────────────────────────── function titleSlide(pres, title, subtitle) { const s = pres.addSlide(); s.background = { color: C.bg }; // left accent bar s.addShape(pres.ShapeType.rect, { x:0, y:0, w:0.25, h:7.5, fill:{color:C.accent} }); s.addText(title, { x:0.5, y:2.5, w:12.3, h:1.2, fontSize:36, bold:true, color:C.accent, fontFace:"Calibri", align:"center" }); s.addText(subtitle, { x:0.5, y:3.9, w:12.3, h:0.6, fontSize:18, color:C.text, fontFace:"Calibri", align:"center" }); s.addText("SPM HAQs 3rd Edition • Exam-Oriented", { x:0.5, y:6.5, w:12.3, h:0.5, fontSize:13, color:C.grey, align:"center" }); } // Central mind map node function box(s, pres, text, x, y, w, h, fill, textColor, fontSize, bold) { s.addShape(pres.ShapeType.roundRect, { x, y, w, h, fill:{color:fill||C.box1}, line:{color:C.accent,width:1.5}, rectRadius:0.12 }); s.addText(text, { x, y, w, h, fontSize:fontSize||12, color:textColor||C.white, fontFace:"Calibri", align:"center", valign:"middle", bold:bold||false, margin:4 }); } function line(s, x1,y1,x2,y2,color) { s.addShape("line", { x:x1, y:y1, w:x2-x1, h:y2-y1, line:{color:color||C.accent4, width:1.5} }); } function arrow(s, x1,y1,x2,y2,color) { s.addShape("line", { x:x1, y:y1, w:x2-x1, h:y2-y1, line:{color:color||C.accent, width:2, endArrowType:"arrow"} }); } // Slide header bar function slideHeader(s, pres, title, subtitle) { s.background = { color: C.bg }; s.addShape(pres.ShapeType.rect, { x:0, y:0, w:13.3, h:0.65, fill:{color:C.dark} }); s.addShape(pres.ShapeType.rect, { x:0, y:0, w:0.18, h:7.5, fill:{color:C.accent} }); s.addText(title, { x:0.3, y:0.05, w:8, h:0.55, fontSize:18, bold:true, color:C.accent, fontFace:"Calibri" }); if(subtitle) s.addText(subtitle, { x:8, y:0.05, w:5, h:0.55, fontSize:12, color:C.accent2, fontFace:"Calibri", align:"right" }); } // ══════════════════════════════════════════════════════════════════ // SLIDE 0: TITLE // ══════════════════════════════════════════════════════════════════ titleSlide(pres, "SPM Mind Maps & Flowcharts", "Social & Preventive Medicine · LAQs & SAQs"); // ══════════════════════════════════════════════════════════════════ // SLIDE 1: CONCEPTS OF HEALTH & DISEASE - Mind Map // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "CONCEPTS OF HEALTH & DISEASE", "Mind Map · LAQ+SAQ"); // Central node box(s, pres, "HEALTH &\nDISEASE", 5.4, 3.0, 2.5, 1.2, C.accent, C.dark, 14, true); // Branch 1: Definitions box(s, pres, "DEFINE HEALTH\n(WHO 1948)", 0.3, 0.8, 2.6, 0.85, "1E3A5F", C.accent, 11, true); box(s, pres, "• Complete physical,\n mental, social well-being\n• Not merely absence\n of disease/infirmity", 0.3, 1.7, 2.6, 1.2, "0F2840", C.text, 9); line(s, 2.9, 1.22, 5.4, 3.45); // Branch 2: Dimensions box(s, pres, "DIMENSIONS\nOF HEALTH", 0.3, 3.0, 2.2, 0.8, "1E3A5F", C.accent2, 11, true); box(s, pres, "Physical • Mental\nSocial • Spiritual\nEmotional • Vocational", 0.3, 3.85, 2.2, 0.85, "0F2840", C.text, 9); line(s, 2.5, 3.4, 5.4, 3.6); // Branch 3: Determinants box(s, pres, "DETERMINANTS\nOF HEALTH", 0.3, 5.0, 2.2, 0.8, "1E3A5F", "00C9A7", 11, true); box(s, pres, "Biological • Environment\nLifestyle • Health services\nSocioeconomic", 0.3, 5.85, 2.2, 0.85, "0F2840", C.text, 9); line(s, 2.5, 5.4, 5.4, 4.0); // Branch 4: Spectrum box(s, pres, "SPECTRUM\nOF HEALTH", 10.5, 0.8, 2.5, 0.8, "1E3A5F", C.accent5, 11, true); box(s, pres, "Optimal health\n→ Sub-clinical\n→ Clinical disease\n→ Death", 10.5, 1.65, 2.5, 1.1, "0F2840", C.text, 9); line(s, 10.5, 1.2, 7.9, 3.2); // Branch 5: Epidemiological Triad box(s, pres, "EPID. TRIAD", 10.5, 3.0, 2.5, 0.8, "1E3A5F", C.accent3, 11, true); box(s, pres, "HOST ↔ AGENT ↔ ENV\nAdvanced triangle:\n+ Time", 10.5, 3.85, 2.5, 0.9, "0F2840", C.text, 9); line(s, 10.5, 3.4, 7.9, 3.6); // Branch 6: Natural History box(s, pres, "NAT. HISTORY\nOF DISEASE", 10.5, 5.0, 2.5, 0.8, "1E3A5F", C.accent2, 11, true); box(s, pres, "Pre-pathogenesis\n→ Pathogenesis\n→ Disease\n→ Outcome", 10.5, 5.85, 2.5, 0.95, "0F2840", C.text, 9); line(s, 10.5, 5.4, 7.9, 4.0); // Branch 7: Iceberg box(s, pres, "ICEBERG\nPHENOMENON", 5.0, 6.1, 2.8, 0.75, "1E3A5F", C.accent4, 11, true); box(s, pres, "Visible: Clinical cases | Below surface: Sub-clinical/Carriers/Latent", 3.0, 6.95, 7.0, 0.5, "0F2840", C.text, 9); line(s, 6.6, 4.2, 6.6, 6.1); } // ══════════════════════════════════════════════════════════════════ // SLIDE 2: NATURAL HISTORY OF DISEASE - Flowchart (LAQ) // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "NATURAL HISTORY OF DISEASE + LEVELS OF PREVENTION", "LAQ Flowchart"); const bx = (t,x,y,w,h,fill,tc,fs) => box(s,pres,t,x,y,w,h,fill,tc,fs); // Row 1: stages bx("PRE-PATHOGENESIS\nPHASE", 0.3, 0.9, 2.8, 0.9, "1E3A5F", C.accent, 11, true); arrow(s, 3.1, 1.35, 4.0, 1.35); bx("EARLY\nPATHOGENESIS", 4.0, 0.9, 2.5, 0.9, "1E3A5F", C.accent4, 11, true); arrow(s, 6.5, 1.35, 7.5, 1.35); bx("DISCERNIBLE\nEARLY DISEASE", 7.5, 0.9, 2.5, 0.9, "1E3A5F", C.accent2, 11, true); arrow(s, 10.0, 1.35, 10.9, 1.35); bx("ADVANCED\nDISEASE", 10.9, 0.9, 2.1, 0.9, "4A1940", C.white, 11, true); // Row 2: outcomes bx("Interaction of\nHost+Agent+Env", 0.3, 2.1, 2.8, 0.75, "0F2840", C.text, 9); bx("Subclinical\nChanges begin", 4.0, 2.1, 2.5, 0.75, "0F2840", C.text, 9); bx("Symptoms\nappear (onset)", 7.5, 2.1, 2.5, 0.75, "0F2840", C.text, 9); bx("Death/\nDisability/\nRecovery", 10.9, 2.1, 2.1, 0.85, "3A0A0A", C.text, 9); // Row 3: Levels of prevention header s.addShape(pres.ShapeType.rect, {x:0.3,y:3.2,w:12.8,h:0.38, fill:{color:"1A1A2E"}}); s.addText("LEVELS OF PREVENTION (LEAVELL & CLARK)", {x:0.3,y:3.2,w:12.8,h:0.38, fontSize:13, bold:true, color:C.accent2, align:"center"}); bx("PRIMARY PREVENTION\n(Before disease)", 0.3, 3.75, 3.8, 1.05, "0F4C3A", "00C9A7", 11, true); bx("Health Promotion:\nnutrition, exercise,\neducation\n\nSpecific Protection:\nvaccines, hygiene", 0.3, 4.85, 3.8, 1.85, "071F18", C.text, 9); bx("SECONDARY PREVENTION\n(Early disease)", 4.3, 3.75, 4.3, 1.05, "3A2800", C.accent2, 11, true); bx("Early Diagnosis:\nscreening, surveys\n\nPrompt Treatment:\nto halt progression\n\nDisability Limitation", 4.3, 4.85, 4.3, 1.85, "1A1200", C.text, 9); bx("TERTIARY PREVENTION\n(Late disease)", 8.85, 3.75, 4.25, 1.05, "3A0010", C.accent3, 11, true); bx("Rehabilitation:\nphysical, social,\nvocational, psychological\n\nReducing disability\nmaximizing function", 8.85, 4.85, 4.25, 1.85, "1A000A", C.text, 9); // connecting arrows from stages to prevention levels arrow(s, 1.7, 2.86, 1.7, 3.75, C.accent); arrow(s, 5.55, 2.86, 5.9, 3.75, C.accent2); arrow(s, 11.0, 2.86, 11.0, 3.75, C.accent3); } // ══════════════════════════════════════════════════════════════════ // SLIDE 3: EPIDEMIOLOGY - Mind Map // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "EPIDEMIOLOGY – PRINCIPLES & METHODS", "Mind Map · LAQ+SAQ"); box(s, pres, "EPIDE-\nMIOLOGY", 5.65, 3.0, 2.0, 1.1, C.accent, C.dark, 13, true); // Study Designs box(s, pres, "STUDY DESIGNS", 0.2, 0.8, 2.8, 0.7, "1E3A5F", C.accent2, 11, true); box(s, pres, "Observational:\n• Cohort (prospective)\n• Case-Control\n• Cross-sectional\nExperimental:\n• RCT, Clinical trial", 0.2, 1.55, 2.8, 1.6, "0F2840", C.text, 9); line(s, 3.0, 1.15, 5.65, 3.25); // Cohort box(s, pres, "COHORT STUDY", 0.2, 3.35, 2.6, 0.7, "1E3A5F", C.accent4, 11, true); box(s, pres, "Exposed vs Unexposed\n→ follow forward\nMeasure: RR, AR, PAR\nAdvantage: incidence\nDis: expensive, long", 0.2, 4.1, 2.6, 1.5, "0F2840", C.text, 9); line(s, 2.8, 3.7, 5.65, 3.55); // Case-Control box(s, pres, "CASE-CONTROL", 0.2, 5.85, 2.6, 0.7, "1E3A5F", C.accent5, 11, true); box(s, pres, "Cases vs Controls\n← look backward\nMeasure: Odds Ratio\nAdvantage: rare disease\nDis: recall bias", 0.2, 6.6, 2.6, 1.0, "0F2840", C.text, 9); line(s, 2.8, 6.2, 5.65, 4.1); // RCT box(s, pres, "RCT STEPS", 10.4, 0.8, 2.7, 0.7, "1E3A5F", C.accent3, 11, true); box(s, pres, "1.Study Q → 2.Population\n3.Randomize → 4.Allocate\n5.Blinding → 6.Follow-up\n7.Outcome → 8.Analysis", 10.4, 1.55, 2.7, 1.5, "0F2840", C.text, 9); line(s, 10.4, 1.15, 7.65, 3.25); // Measures box(s, pres, "MEASURES", 10.4, 3.3, 2.7, 0.7, "1E3A5F", C.accent2, 11, true); box(s, pres, "Rate • Ratio • Proportion\nIncidence rate\nPrevalence rate\nMortality rates\nOdds ratio • RR", 10.4, 4.05, 2.7, 1.5, "0F2840", C.text, 9); line(s, 10.4, 3.65, 7.65, 3.55); // Epidemic box(s, pres, "EPIDEMIC &\nBIAS", 10.4, 5.8, 2.7, 0.7, "1E3A5F", "00C9A7", 11, true); box(s, pres, "Common source • Propagated\nMixed epidemic\nEpidemic curve\nSelection • Recall bias\nConfounding", 10.4, 6.55, 2.7, 1.05, "0F2840", C.text, 9); line(s, 10.4, 6.15, 7.65, 4.1); // Transmission box(s, pres, "MODES OF\nTRANSMISSION", 5.65, 5.9, 2.0, 0.75, "1E3A5F", C.accent, 11, true); box(s, pres, "Direct: contact,droplet | Indirect: vehicle(food/water),vector,airborne,fomite", 3.5, 6.75, 6.3, 0.5, "0F2840", C.text, 9); line(s, 6.65, 4.1, 6.65, 5.9); } // ══════════════════════════════════════════════════════════════════ // SLIDE 4: COHORT vs CASE-CONTROL Flowchart // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "COHORT STUDY vs CASE-CONTROL STUDY", "Comparison Flowchart · LAQ"); const bx = (t,x,y,w,h,fill,tc,fs,bd) => box(s,pres,t,x,y,w,h,fill,tc,fs,bd); // COHORT side s.addText("COHORT STUDY (Prospective)", {x:0.3,y:0.75,w:5.8,h:0.5,fontSize:14,bold:true,color:C.accent4,fontFace:"Calibri"}); bx("Define Population\n(Disease-free at start)",0.3,1.3,5.8,0.75,"1B2E40",C.text,10); arrow(s,3.2,2.05,3.2,2.65,C.accent4); bx("Classify by\nEXPOSURE STATUS",0.3,2.65,5.8,0.75,"1B2E40",C.text,10); arrow(s,1.8,3.4,1.8,4.0,C.accent4); arrow(s,4.6,3.4,4.6,4.0,C.accent4); bx("EXPOSED\nGroup",0.3,4.0,2.5,0.7,"0F4C3A","00C9A7",10,true); bx("UNEXPOSED\nGroup",3.6,4.0,2.5,0.7,"3A2800",C.accent2,10,true); arrow(s,1.55,4.7,1.55,5.3,C.accent4); arrow(s,4.85,4.7,4.85,5.3,C.accent4); bx("Follow up over time\n(months/years)",0.3,5.3,5.8,0.65,"1B2E40",C.text,10); arrow(s,3.2,5.95,3.2,6.55,C.accent4); bx("Compare Disease\nIncidence → Calculate RR, AR",0.3,6.55,5.8,0.75,"0F4C3A",C.accent,11,true); // Divider s.addShape(pres.ShapeType.rect,{x:6.35,y:0.75,w:0.05,h:6.55,fill:{color:C.grey}}); // CASE-CONTROL side s.addText("CASE-CONTROL STUDY (Retrospective)", {x:6.55,y:0.75,w:6.5,h:0.5,fontSize:14,bold:true,color:C.accent5,fontFace:"Calibri"}); bx("Identify CASES\n(with disease) + CONTROLS\n(without disease)",6.55,1.3,6.5,0.85,"1E1040",C.text,10); arrow(s,9.8,2.15,9.8,2.65,C.accent5); bx("Look BACKWARD\nfor past exposure",6.55,2.65,6.5,0.75,"1E1040",C.text,10); arrow(s,8.5,3.4,8.5,4.0,C.accent5); arrow(s,11.1,3.4,11.1,4.0,C.accent5); bx("Exposure in\nCASES",6.55,4.0,3.0,0.7,"3A0010",C.accent3,10,true); bx("Exposure in\nCONTROLS",9.75,4.0,3.3,0.7,"3A2800",C.accent2,10,true); arrow(s,9.8,4.7,9.8,5.3,C.accent5); bx("Calculate\nODDS RATIO (OR)",6.55,5.3,6.5,0.65,"1E1040",C.text,10); arrow(s,9.8,5.95,9.8,6.55,C.accent5); bx("Assess Association\n& Confounders",6.55,6.55,6.5,0.75,"3A0010",C.accent3,11,true); } // ══════════════════════════════════════════════════════════════════ // SLIDE 5: IMMUNIZATION / VACCINES Mind Map // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "IMMUNIZATION, VACCINES & COLD CHAIN", "Mind Map · SAQ ★★★★★"); box(s, pres, "IMMUNI-\nZATION", 5.65, 3.0, 2.0, 1.1, C.accent, C.dark, 13, true); // National Imm Schedule box(s, pres, "NATIONAL IMMU.\nSCHEDULE", 0.2, 0.8, 3.0, 0.7, "1E3A5F", C.accent2, 11, true); box(s, pres, "Birth: BCG, OPV0, HepB0\n6wk: DPT1, OPV1, IPV1, HepB1, Rota1\n10wk: DPT2, OPV2, IPV2, Rota2\n14wk: DPT3, OPV3, IPV3, Rota3\n9m: MR1, JE1 | 16-24m: DPT-B1, MR2\n5yr: DPT-B2 | 10yr: Td | 16yr: Td", 0.2, 1.55, 3.0, 1.9, "0F2840", C.text, 8); line(s, 3.2, 1.15, 5.65, 3.25); // Live vs Killed box(s, pres, "LIVE vs KILLED\nVACCINES", 0.2, 3.65, 2.8, 0.7, "1E3A5F", "00C9A7", 11, true); box(s, pres, "LIVE: BCG,OPV,MMR,YF\n+ better immunity\n+ single dose often\n- heat sensitive, risk\nKILLED: DPT,IPV,HepB\n+ stable, safe\n- multiple doses", 0.2, 4.4, 2.8, 1.85, "0F2840", C.text, 9); line(s, 3.0, 4.0, 5.65, 3.55); // AEFI box(s, pres, "AEFI", 0.2, 6.5, 2.8, 0.6, "4A1940", C.accent3, 11, true); box(s, pres, "Local: redness, swelling\nMild: fever, irritability\nSevere: anaphylaxis\nProgram error | Coincidental", 0.2, 7.15, 2.8, 0.85, "2A0820", C.text, 8.5); line(s, 3.0, 6.8, 5.65, 4.1); // Cold Chain box(s, pres, "COLD CHAIN", 10.4, 0.8, 2.7, 0.7, "1E3A5F", C.accent3, 11, true); box(s, pres, "System to keep vaccines\nat correct temp (2-8°C)\nWalk-in cooler→ILR\n→Deep freezer→cold box\n→vaccine carrier→icepacks\nVVM: colour change indicator", 10.4, 1.55, 2.7, 1.9, "0F2840", C.text, 8.5); line(s, 10.4, 1.15, 7.65, 3.25); // Herd Immunity box(s, pres, "HERD\nIMMUNITY", 10.4, 3.65, 2.7, 0.7, "1E3A5F", C.accent4, 11, true); box(s, pres, "Indirect protection\nHerd threshold: 85% (measles)\nBreaks chain of transmission\nEradication possible", 10.4, 4.4, 2.7, 1.1, "0F2840", C.text, 9); line(s, 10.4, 4.0, 7.65, 3.55); // VVM box(s, pres, "VVM &\nEpidemic Steps", 10.4, 5.7, 2.7, 0.7, "1E3A5F", C.accent2, 11, true); box(s, pres, "VVM: inner square paler=ok\nEpidemic investigation:\nConfirm→Identify cases\n→Source→Control→Report", 10.4, 6.45, 2.7, 1.05, "0F2840", C.text, 9); line(s, 10.4, 6.05, 7.65, 4.1); // Center bottom box(s, pres, "TYPES OF IMMUNITY: Active (natural/artificial) | Passive (natural/artificial)", 3.0, 6.5, 7.4, 0.6, "0F2840", C.text, 10); line(s, 6.65, 4.1, 6.65, 6.5); } // ══════════════════════════════════════════════════════════════════ // SLIDE 6: SCREENING FOR DISEASE - Flowchart // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "SCREENING FOR DISEASE", "LAQ Flowchart ★★★★★"); const bx = (t,x,y,w,h,fill,tc,fs,bd) => box(s,pres,t,x,y,w,h,fill,tc,fs,bd); // Define + Criteria bx("DEFINE SCREENING\n"Detection of disease in pre-symptomatic stage\nusing simple, rapid tests in large populations"", 0.3,0.78,12.7,0.82,"1E3A5F",C.text,10); // CRITERIA 2-col layout s.addText("CRITERIA FOR DISEASE TO BE SCREENED (Wilson & Jungner)",{x:0.3,y:1.72,w:6.0,h:0.45,fontSize:12,bold:true,color:C.accent2,fontFace:"Calibri"}); bx("1. Important health problem\n2. Recognizable latent/early stage\n3. Suitable treatment available\n4. Facilities for diagnosis & Rx\n5. Natural history understood\n6. Cost-effectiveness\n7. Case-finding continuous",0.3,2.22,6.0,2.0,"0F2840",C.text,9.5); s.addText("CRITERIA FOR SCREENING TEST",{x:6.55,y:1.72,w:6.45,h:0.45,fontSize:12,bold:true,color:C.accent4,fontFace:"Calibri"}); bx("1. Simple & rapid\n2. Safe & acceptable\n3. Valid (sensitive & specific)\n4. Reliable / reproducible\n5. Inexpensive\n6. High yield\n7. Suitable for mass use",6.55,2.22,6.45,2.0,"0F2840",C.text,9.5); // VALIDITY row s.addText("VALIDITY OF SCREENING TEST",{x:0.3,y:4.35,w:12.7,h:0.45,fontSize:12,bold:true,color:C.accent,fontFace:"Calibri",align:"center"}); bx("SENSITIVITY\n(True Positive Rate)\n\nTP/(TP+FN)×100\n\n'Ability to correctly\nidentify DISEASED'",0.3,4.82,3.0,2.4,"0F4C3A","00C9A7",9); bx("SPECIFICITY\n(True Negative Rate)\n\nTN/(TN+FP)×100\n\n'Ability to correctly\nidentify HEALTHY'",3.5,4.82,3.0,2.4,"3A2800",C.accent2,9); bx("PPV\n(Positive Predictive Value)\n\nTP/(TP+FP)×100\n\n'Prob disease given\npositive test'",6.7,4.82,2.9,2.4,"1E1040",C.accent5,9); bx("NPV\n(Negative Predictive Value)\n\nTN/(TN+FN)×100\n\n'Prob no disease\ngiven negative test'",9.8,4.82,3.2,2.4,"3A0010",C.accent3,9); } // ══════════════════════════════════════════════════════════════════ // SLIDE 7: BIOSTATISTICS Mind Map // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "BIOSTATISTICS & HEALTH INFORMATION", "Mind Map · SAQ"); box(s, pres, "BIO-\nSTATISTICS", 5.65, 2.9, 2.0, 1.0, C.accent, C.dark, 13, true); // Sources box(s, pres, "SOURCES OF\nHEALTH INFO", 0.2, 0.8, 2.8, 0.7, "1E3A5F", C.accent2, 11, true); box(s, pres, "Census (every 10 yrs)\nSRS (Sample Reg System)\nCRS (Civil Reg System)\nHospital records\nDisease notifications\nSurveys & Research", 0.2, 1.55, 2.8, 1.5, "0F2840", C.text, 9); line(s, 3.0, 1.15, 5.65, 3.15); // Measures Central tendency box(s, pres, "CENTRAL\nTENDENCY", 0.2, 3.3, 2.8, 0.7, "1E3A5F", C.accent4, 11, true); box(s, pres, "Mean: Σx/n (affected by outliers)\nMedian: middle value\nMode: most frequent\nUsed for: normal distribution", 0.2, 4.05, 2.8, 1.2, "0F2840", C.text, 9); line(s, 3.0, 3.65, 5.65, 3.4); // Dispersion box(s, pres, "DISPERSION &\nNORMAL CURVE", 0.2, 5.5, 2.8, 0.7, "1E3A5F", "00C9A7", 11, true); box(s, pres, "Range • Mean deviation\nSD: √Σ(x-x̄)²/n-1\nSEM = SD/√n\nNormal: mean=median=mode\n68-95-99.7% rule", 0.2, 6.25, 2.8, 1.35, "0F2840", C.text, 9); line(s, 3.0, 5.85, 5.65, 3.9); // Sampling box(s, pres, "SAMPLING\nMETHODS", 10.4, 0.8, 2.7, 0.7, "1E3A5F", C.accent3, 11, true); box(s, pres, "Simple random\nSystematic\nStratified\nCluster (30×7 WHO)\nPurposive/Judgement\nSnowball", 10.4, 1.55, 2.7, 1.5, "0F2840", C.text, 9); line(s, 10.4, 1.15, 7.65, 3.15); // Data presentation box(s, pres, "DATA\nPRESENTATION", 10.4, 3.3, 2.7, 0.7, "1E3A5F", C.accent5, 11, true); box(s, pres, "Bar chart • Histogram\nPie chart • Line graph\nFrequency polygon\nScatter diagram", 10.4, 4.05, 2.7, 1.1, "0F2840", C.text, 9); line(s, 10.4, 3.65, 7.65, 3.4); // Census box(s, pres, "CENSUS\n(India)", 10.4, 5.5, 2.7, 0.7, "1E3A5F", C.accent2, 11, true); box(s, pres, "Every 10 years (last:2011)\nDe-facto method\nUniversal • Simultaneous\nIndividual enumeration\nRegistrar General of India", 10.4, 6.25, 2.7, 1.35, "0F2840", C.text, 9); line(s, 10.4, 5.85, 7.65, 3.9); // Mortality box(s, pres, "MORTALITY & MORBIDITY RATES: CDR | IMR | MMR | CFR | NNMR | U5MR | Incidence | Prevalence", 2.8, 6.25, 7.8, 0.6, "0F2840", C.text, 9); line(s, 6.65, 3.9, 6.65, 6.25); } // ══════════════════════════════════════════════════════════════════ // SLIDE 8: FAMILY (Medicine & Social Sciences) - Mind Map // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "FAMILY – MEDICINE & SOCIAL SCIENCES", "LAQ Mind Map ★★★★★"); box(s, pres, "FAMILY", 5.9, 3.0, 1.5, 1.0, C.accent, C.dark, 14, true); box(s, pres, "DEFINITION", 0.2, 0.8, 2.5, 0.65, "1E3A5F", C.accent2, 11, true); box(s, pres, "Burgess: group of persons\nunited by marriage, blood\nor adoption. Primary unit\nof society", 0.2, 1.5, 2.5, 1.0, "0F2840", C.text, 9); line(s, 2.7, 1.12, 5.9, 3.25); box(s, pres, "TYPES", 0.2, 2.75, 2.5, 0.65, "1E3A5F", C.accent4, 11, true); box(s, pres, "Nuclear • Joint/Extended\nSingle parent\nBroken family\nBlended family", 0.2, 3.45, 2.5, 1.0, "0F2840", C.text, 9); line(s, 2.7, 3.07, 5.9, 3.5); box(s, pres, "FAMILY\nCYCLE", 0.2, 4.65, 2.5, 0.65, "1E3A5F", "00C9A7", 11, true); box(s, pres, "Formation→Expansion\n→Completion\n→Contraction\n→Dissolution", 0.2, 5.35, 2.5, 1.0, "0F2840", C.text, 9); line(s, 2.7, 4.97, 5.9, 3.75); box(s, pres, "FUNCTIONS", 9.6, 0.8, 3.5, 0.65, "1E3A5F", C.accent3, 11, true); box(s, pres, "Biological: reproduction\nEconomic: livelihood\nSocialization\nAffectional/Protective\nStatus conferring", 9.6, 1.5, 3.5, 1.3, "0F2840", C.text, 9); line(s, 9.6, 1.12, 7.4, 3.25); box(s, pres, "ROLE IN HEALTH\n& DISEASE", 9.6, 3.0, 3.5, 0.75, "1E3A5F", C.accent2, 11, true); box(s, pres, "Genetic disease risk\nInfectious spread\nNutritional habits\nPsychological support\nHealth-seeking behavior", 9.6, 3.8, 3.5, 1.3, "0F2840", C.text, 9); line(s, 9.6, 3.37, 7.4, 3.5); box(s, pres, "BROKEN vs\nPROBLEM FAMILY", 9.6, 5.3, 3.5, 0.75, "4A1940", C.accent3, 11, true); box(s, pres, "Broken: structural disruption\n(death/divorce/separation)\nProblem: dysfunction present\nbut family intact\n(alcoholism, abuse, poverty)", 9.6, 6.1, 3.5, 1.3, "2A0820", C.text, 9); line(s, 9.6, 5.67, 7.4, 3.75); box(s, pres, "CULTURAL FACTORS IN HEALTH: Beliefs • Diet taboos • Help-seeking • Traditions • Religion • Language barriers", 2.8, 6.55, 7.7, 0.65, "0F2840", C.text, 9.5); line(s, 6.65, 4.0, 6.65, 6.55); } // ══════════════════════════════════════════════════════════════════ // SLIDE 9: TUBERCULOSIS - Flowchart // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "TUBERCULOSIS (NTEP/RNTCP)", "LAQ Flowchart ★★★★★★"); const bx = (t,x,y,w,h,fill,tc,fs,bd) => box(s,pres,t,x,y,w,h,fill,tc,fs,bd); // Epi s.addText("EPIDEMIOLOGY",{x:0.3,y:0.75,w:4.0,h:0.4,fontSize:12,bold:true,color:C.accent2}); bx("Agent: M. tuberculosis\nHost: all ages, malnutrition,\nHIV/DM risk, immunocomp.\nEnv: overcrowding, poor vent.\nReservoir: humans (cattle-M.bovis)\nSource: sputum-positive cases",0.3,1.2,4.0,1.9,"0F2840",C.text,9); arrow(s,4.3,2.15,5.1,2.15,C.accent2); // Mantoux s.addText("MANTOUX TEST",{x:5.1,y:0.75,w:3.5,h:0.4,fontSize:12,bold:true,color:C.accent4}); bx("0.1ml PPD (5TU) intradermal\nRead at 48-72 hrs\nPositive: ≥10mm induration\n(≥5mm if HIV/malnutrition)\nFalse +ve: BCG, atypical Myco\nFalse -ve: miliary TB, measles",5.1,1.2,3.5,1.9,"0F2840",C.text,9); arrow(s,8.6,2.15,9.4,2.15,C.accent4); // Diagnosis s.addText("DIAGNOSIS",{x:9.4,y:0.75,w:3.6,h:0.4,fontSize:12,bold:true,color:"00C9A7"}); bx("Sputum AFB smear (CBNAAT)\nX-ray chest\nCBNAAT (GeneXpert)- preferred\nCulture: LJ medium (gold std)\nTrunat, Line probe assay\nMantoux/TST/IGRA",9.4,1.2,3.6,1.9,"0F2840",C.text,9); // Treatment s.addText("ANTI-TUBERCULAR THERAPY (ATT) – NTEP Regimens",{x:0.3,y:3.25,w:12.7,h:0.4,fontSize:12,bold:true,color:C.accent3,align:"center"}); bx("Category I\n(New cases)\nIP: 2HRZE (2 months)\nCP: 4HR (4 months)\nTotal: 6 months",0.3,3.75,3.9,1.8,"0F4C3A","00C9A7",9.5); bx("Category II\n(Previously treated)\nIP: 2HRZES/1HRZE\nCP: 5HRE\nTotal: 8 months\nSensitvity test first",4.3,3.75,4.4,1.8,"3A2800",C.accent2,9.5); bx("DR-TB (MDR/XDR)\nLonger regimens\nBDQ, LZD, CFZ\n18-20 months\nStrictly DOTS\nPvt practitioners notify",8.9,3.75,4.2,1.8,"3A0010",C.accent3,9.5); // Prevention s.addText("PREVENTION & CONTROL",{x:0.3,y:5.68,w:12.7,h:0.4,fontSize:12,bold:true,color:C.accent5,align:"center"}); bx("BCG vaccine: at birth\n(protects against miliary/meningeal TB)",0.3,6.15,4.0,1.1,"1E1040",C.text,9.5); bx("DOTS (Directly Observed Tx)\nActive case finding\nContact tracing\nTPT (TB preventive therapy)",4.5,6.15,4.0,1.1,"1E1040",C.text,9.5); bx("NTEP Goals:\nEnd TB by 2030 (SDG)\nIndia: END TB by 2025\nNi-kshay portal\nNotification mandatory",8.7,6.15,4.6,1.1,"1E1040",C.text,9.5); } // ══════════════════════════════════════════════════════════════════ // SLIDE 10: MALARIA - Mind Map // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "MALARIA", "LAQ Mind Map ★★★★"); box(s, pres, "MALARIA", 5.65, 3.0, 2.0, 1.0, C.accent, C.dark, 13, true); box(s, pres, "EPIDEMIOLOGY", 0.2, 0.8, 2.8, 0.65, "1E3A5F", C.accent2, 11, true); box(s, pres, "Agent: P.vivax (benign)\nP.falciparum (malignant)\nVector: Female Anopheles\nBites at night\nHost: all ages\nReservoir: human", 0.2, 1.5, 2.8, 1.7, "0F2840", C.text, 9); line(s, 3.0, 1.12, 5.65, 3.25); box(s, pres, "LIFE CYCLE", 0.2, 3.4, 2.8, 0.65, "1E3A5F", C.accent4, 11, true); box(s, pres, "Human cycle (asexual):\nSporozoite→liver (EE stage)\n→merozoite→RBC→trophozoite\n→schizont→merozoite/gametocyte\nMosquito cycle (sexual):\ngametocyte→zygote→ookinete\n→oocyst→sporozoites", 0.2, 4.1, 2.8, 2.1, "0F2840", C.text, 8.5); line(s, 3.0, 3.72, 5.65, 3.5); box(s, pres, "API & OTHER\nINDICES", 0.2, 6.4, 2.8, 0.65, "1E3A5F", "00C9A7", 11, true); box(s, pres, "API: positive per 1000 pop/yr\nSPR: Slide positivity rate\nBR: Br.density • PR: Pr.rate\nSFR: Spleen rate", 0.2, 7.1, 2.8, 0.85, "0F2840", C.text, 9); line(s, 3.0, 6.72, 5.65, 3.75); box(s, pres, "CLINICAL\nFEATURES", 10.4, 0.8, 2.7, 0.65, "1E3A5F", C.accent3, 11, true); box(s, pres, "Classic: cold→hot→sweating\nP.vivax: 48h (benign tertian)\nP.falciparum: 36-48h\nCerebral malaria: P.falciparum\nBlackwater fever\nAnemia, splenomegaly", 10.4, 1.5, 2.7, 1.7, "0F2840", C.text, 9); line(s, 10.4, 1.12, 7.65, 3.25); box(s, pres, "DIAGNOSIS", 10.4, 3.4, 2.7, 0.65, "1E3A5F", C.accent2, 11, true); box(s, pres, "Blood smear (thick & thin)\nRDT (Rapid Diagnostic)\nQBC (Quantitative Buffy Coat)\nPCR (reference standard)", 10.4, 4.1, 2.7, 1.15, "0F2840", C.text, 9); line(s, 10.4, 3.72, 7.65, 3.5); box(s, pres, "PREVENTION\n& CONTROL", 10.4, 5.45, 2.7, 0.65, "1E3A5F", C.accent5, 11, true); box(s, pres, "Vector control: IRS (DDT/synthetic)\nITNs (impregnated nets)\nLarval control: paris green\nBiological: Gambusia fish\nChemoprophylaxis: chloroquine\nTreatment: ACT (artemisinin)\nNMCP/NVBDCP", 10.4, 6.15, 2.7, 1.8, "0F2840", C.text, 8.5); line(s, 10.4, 5.77, 7.65, 3.75); box(s, pres, "NVBDCP: National Vector Borne Disease Control Programme | Malaria, Dengue, Filariasis, Kala-azar, JE, Chikungunya", 2.8, 6.45, 7.8, 0.65, "0F2840", C.text, 9); line(s, 6.65, 4.0, 6.65, 6.45); } // ══════════════════════════════════════════════════════════════════ // SLIDE 11: MCH + CHILDHOOD MORTALITY Flowchart // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "CHILDHOOD MORTALITY & MCH SERVICES", "LAQ Flowchart ★★★★"); const bx = (t,x,y,w,h,fill,tc,fs,bd) => box(s,pres,t,x,y,w,h,fill,tc,fs,bd); // Row 1: IMR box s.addText("CHILDHOOD MORTALITY INDICATORS", {x:0.3,y:0.8,w:12.7,h:0.4,fontSize:13,bold:true,color:C.accent2,align:"center"}); bx("IMR\n(Infant Mortality Rate)\nDeaths <1yr/1000 LB\nIndia 2023: ~27",0.3,1.3,3.0,1.2,"0F4C3A","00C9A7",9.5); bx("PNMR\n(Perinatal MR)\nStillbirths+deaths 0-7d\nper 1000 births",3.5,1.3,2.9,1.2,"3A2800",C.accent2,9.5); bx("NNMR\n(Neonatal MR)\nDeaths <28 days\nper 1000 LB",6.6,1.3,2.8,1.2,"1E1040",C.accent5,9.5); bx("U5MR\n(Under-5 MR)\nDeaths <5 years\nper 1000 LB",9.6,1.3,3.4,1.2,"3A0010",C.accent3,9.5); // Row 2: causes of IMR s.addText("CAUSES OF IMR",{x:0.3,y:2.65,w:6.0,h:0.4,fontSize:11,bold:true,color:C.accent4}); bx("Neonatal (0-28d): LBW, prematurity,\nbirth asphyxia, birth injuries, sepsis\nPost-neonatal (28d-1yr):\npneumonia, diarrhea, malnutrition,\nVPDs, accidents",0.3,3.1,6.0,1.6,"0F2840",C.text,9.5); // Reduction strategies s.addText("MEASURES TO REDUCE IMR",{x:6.55,y:2.65,w:6.45,h:0.4,fontSize:11,bold:true,color:C.accent}); bx("Antenatal care (4+ visits)\nSafe delivery (SBA)\nEssential newborn care\nBreastfeeding promotion\nKangaroo Mother Care (LBW)\nIMMUNIZATION (UIP)\nORS/Zinc for diarrhea\nIAP,IMNCI,JSSK,NHM",6.55,3.1,6.45,1.6,"0F2840",C.text,9.5); // LBW section s.addText("LOW BIRTH WEIGHT (LBW) ≤2500g",{x:0.3,y:4.85,w:12.7,h:0.4,fontSize:12,bold:true,color:C.accent3,align:"center"}); bx("RISK FACTORS:\nMaternal age <18/>35\nMalnutrition/anemia\nMultiple pregnancy\nInfections (TORCH)\nSmoking/alcohol\nPIH/eclampsia",0.3,5.3,4.0,2.15,"0F2840",C.text,9.5); bx("TYPES:\n• Preterm LBW (<37 wk)\n• SGA (growth retarded,\n full term)\n• VLBW <1500g\n• ELBW <1000g",4.5,5.3,4.0,2.15,"0F2840",C.text,9.5); bx("MEASURES:\nIFA supplementation\nProper ANC\nKangaroo Mother Care\nBF within 1hr\nCreche/nutrition prog\nJSY / JSSK / PMMVY",8.7,5.3,4.3,2.15,"0F4C3A",C.text,9.5); } // ══════════════════════════════════════════════════════════════════ // SLIDE 12: NUTRITION - Mind Map // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "NUTRITION & NUTRITIONAL DEFICIENCIES", "SAQ Mind Map ★★★★★"); box(s, pres, "NUTRITION", 5.65, 3.0, 2.0, 1.0, C.accent, C.dark, 12, true); box(s, pres, "PEM", 0.2, 0.8, 2.5, 0.65, "1E3A5F", C.accent3, 11, true); box(s, pres, "Protein Energy Malnutrition\nKwashiorkor: protein def.\n(edema, pot belly, flag hair)\nMarasmus: calorie def.\n(wasting, NO edema)\nGrading: IAP/Wellcome", 0.2, 1.5, 2.5, 1.7, "0F2840", C.text, 9); line(s, 2.7, 1.12, 5.65, 3.25); box(s, pres, "VITAMIN A\nDEFICIENCY", 0.2, 3.4, 2.5, 0.65, "1E3A5F", C.accent2, 11, true); box(s, pres, "Night blindness (earliest)\nBitot's spots\nXerophthalmia\nKeratomalacia (irreversible)\nPrevention: VitA (6-59m)", 0.2, 4.1, 2.5, 1.3, "0F2840", C.text, 9); line(s, 2.7, 3.72, 5.65, 3.5); box(s, pres, "IODINE DEFICIENCY\n& ANEMIA", 0.2, 5.6, 2.5, 0.65, "1E3A5F", C.accent4, 11, true); box(s, pres, "Goitre, Cretinism, Dwarfism\nPrevention: iodized salt\nAnemia: IDA, megaloblastic\nPrevention: IFA supplementation", 0.2, 6.3, 2.5, 1.2, "0F2840", C.text, 9); line(s, 2.7, 5.92, 5.65, 3.75); box(s, pres, "BALANCED DIET\n& ICDS", 10.4, 0.8, 2.7, 0.65, "1E3A5F", "00C9A7", 11, true); box(s, pres, "Carbs: 60-65% energy\nProteins: 10-15%\nFats: 20-25%\nICDS: 6m-6yr + PW/LM\nNutrition program under NHM", 10.4, 1.5, 2.7, 1.4, "0F2840", C.text, 9); line(s, 10.4, 1.12, 7.65, 3.25); box(s, pres, "DIETARY\nSURVEYS", 10.4, 3.1, 2.7, 0.65, "1E3A5F", C.accent5, 11, true); box(s, pres, "24h recall • Diet history\nFood frequency questionnaire\nWeighment method\nDuplicate method\nTotal diet study", 10.4, 3.8, 2.7, 1.2, "0F2840", C.text, 9); line(s, 10.4, 3.42, 7.65, 3.5); box(s, pres, "VITAMIN D &\nVIT B COMPLEX", 10.4, 5.2, 2.7, 0.65, "1E3A5F", C.accent3, 11, true); box(s, pres, "VitD: Rickets (child)/Osteomalacia\nVitC: Scurvy (perifollicular)\nVitB1: Beriberi | B2: Cheilosis\nNiacin: Pellagra (3D)\nVitB12/Folate: megaloblastic", 10.4, 5.9, 2.7, 1.6, "0F2840", C.text, 9); line(s, 10.4, 5.52, 7.65, 3.75); box(s, pres, "NATIONAL NUTRITION PROGRAMMES: POSHAN 2.0 | NFSA | Mid-Day Meal | PMMVY | ICDS | Anemia Mukt Bharat", 2.8, 6.35, 7.8, 0.65, "0F2840", C.text, 9); line(s, 6.65, 4.0, 6.65, 6.35); } // ══════════════════════════════════════════════════════════════════ // SLIDE 13: DEMOGRAPHY & FAMILY PLANNING Mind Map // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "DEMOGRAPHY & FAMILY PLANNING", "SAQ Mind Map ★★★★"); box(s, pres, "DEMOGRAPHY\n& FP", 5.65, 3.0, 2.0, 1.0, C.accent, C.dark, 12, true); box(s, pres, "DEMOGRAPHIC\nCYCLE", 0.2, 0.8, 2.7, 0.65, "1E3A5F", C.accent2, 11, true); box(s, pres, "Stage I: High birth+High death\nStage II: High birth+Low death\n(Max growth-demographic gap)\nStage III: Low birth+Low death\nStage IV: Low birth+Low death\n(stable/declining)", 0.2, 1.5, 2.7, 1.7, "0F2840", C.text, 8.5); line(s, 2.9, 1.12, 5.65, 3.25); box(s, pres, "FERTILITY\nRATES", 0.2, 3.35, 2.7, 0.65, "1E3A5F", C.accent4, 11, true); box(s, pres, "CBR: births/1000 pop\nGFR: births/1000 WRA\nTFR: avg children/woman\nGRR: girl children/woman\nNRR: daughters surviving", 0.2, 4.05, 2.7, 1.3, "0F2840", C.text, 9); line(s, 2.9, 3.67, 5.65, 3.5); box(s, pres, "AGE PYRAMIDS\n& SEX RATIO", 0.2, 5.55, 2.7, 0.65, "1E3A5F", "00C9A7", 11, true); box(s, pres, "Expansive (broad base=Dev)\nConstrictive (narrow base)\nStationary (uniform)\nSex ratio: F per 1000 M\nIndia: 943 (2011 census)", 0.2, 6.25, 2.7, 1.25, "0F2840", C.text, 9); line(s, 2.9, 5.87, 5.65, 3.75); box(s, pres, "CONTRACEPTIVE\nMETHODS", 10.4, 0.8, 2.7, 0.65, "1E3A5F", C.accent3, 11, true); box(s, pres, "Temporary:\n• Barrier: condom, diaphragm\n• IUD: Copper T (10yr)\n• Hormonal: OCP, injectables\n• Emergency: EC pill 72h\n• Natural: safe period\nPermanent:\n• Vasectomy • Tubectomy", 10.4, 1.5, 2.7, 2.1, "0F2840", C.text, 8.5); line(s, 10.4, 1.12, 7.65, 3.25); box(s, pres, "OCPs &\nHORMONAL", 10.4, 3.8, 2.7, 0.65, "1E3A5F", C.accent5, 11, true); box(s, pres, "Mala-N (norethisterone)\nMala-D (desogestrel)\nIndications: spacing, meno\nC/I: smoker>35, liver dis,\nbreast Ca, DVT, HTN\nComplications: VTE, HTN", 10.4, 4.5, 2.7, 1.6, "0F2840", C.text, 9); line(s, 10.4, 4.12, 7.65, 3.5); box(s, pres, "VASECTOMY\n& TUBECTOMY", 10.4, 6.3, 2.7, 0.65, "1E3A5F", C.accent2, 11, true); box(s, pres, "Vasectomy: no-scalpel (NSV)\nPost-op: use contraception for\n15 ejaculations/3 months\nTubectomy: Minilap/laparoscopy", 10.4, 7.0, 2.7, 0.95, "0F2840", C.text, 9); line(s, 10.4, 6.62, 7.65, 3.75); box(s, pres, "PEARL INDEX: Failures per 100 woman-years | Lower = more effective | Tubectomy: 0.4 | Vasectomy: 0.15 | IUD: 0.5-1.5", 2.8, 6.3, 7.8, 0.65, "0F2840", C.text, 9); line(s, 6.65, 4.0, 6.65, 6.3); } // ══════════════════════════════════════════════════════════════════ // SLIDE 14: ENVIRONMENTAL HEALTH Flowchart // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "ENVIRONMENTAL HEALTH & WATER SUPPLY", "LAQ Flowchart ★★★★★"); const bx = (t,x,y,w,h,fill,tc,fs,bd) => box(s,pres,t,x,y,w,h,fill,tc,fs,bd); s.addText("WATER QUALITY STANDARDS & PURIFICATION",{x:0.3,y:0.75,w:12.7,h:0.4,fontSize:13,bold:true,color:C.accent2,align:"center"}); bx("SOURCES\nOF WATER",0.3,1.25,2.8,0.75,"1E3A5F",C.accent4,11,true); bx("Surface: river, lake, pond\nGround: well, spring, borehole\nRainwater harvesting\nPublic water supply",0.3,2.05,2.8,1.15,"0F2840",C.text,9.5); arrow(s,3.1,1.62,4.0,1.62,C.accent4); bx("WATER\nQUALITY",4.0,1.25,2.8,0.75,"1E3A5F",C.accent,11,true); bx("Physical: colour, taste, odour, temp\nChemical: pH 6.5-8.5, turbidity <1NTU,\nfluoride 0.5-1.5, nitrate <45mg/L\nBiological: E.coli nil/100mL",4.0,2.05,2.8,1.3,"0F2840",C.text,9.5); arrow(s,6.8,1.62,7.6,1.62,C.accent); bx("PURIFICATION\nSTEPS",7.6,1.25,2.8,0.75,"1E3A5F",C.accent2,11,true); bx("1. Sedimentation (gravity)\n2. Coagulation (alum)\n3. Filtration (slow sand: 0.1-0.4m/hr)\n4. Disinfection: chlorination\n(0.5 ppm residual after 30 min)",7.6,2.05,2.8,1.3,"0F2840",C.text,9.5); arrow(s,10.4,1.62,11.1,1.62,C.accent2); bx("TESTS FOR\nCHLORINATION",11.1,1.25,2.0,0.75,"1E3A5F","00C9A7",11,true); bx("Horrock's tablet\nOrtho-tolidine test\nSyringaldazine test\nMRC comparator",11.1,2.05,2.0,1.1,"0F2840",C.text,9.5); // Air pollution s.addText("AIR POLLUTION",{x:0.3,y:3.5,w:6.0,h:0.4,fontSize:12,bold:true,color:C.accent3}); bx("Pollutants: SPM, NOx, SOx, CO, O3, Pb, Fluorides\nAQI: Good(0-50) → Severe(401+)\nOutdoor: vehicles, industries\nIndoor: biomass, smoking, radon\nEffects: resp disease, lung Ca, COPD",0.3,3.95,6.0,1.55,"0F2840",C.text,9.5); // Housing s.addText("HOUSING & SANITATION",{x:6.55,y:3.5,w:6.45,h:0.4,fontSize:12,bold:true,color:C.accent4}); bx("Safe housing: 10 sq m/person\nLatrine types: dry/water seal pit\nSeptic tank • Sewage treatment\nRefuse disposal: sanitary landfill\nVector control: IRS, nets, screening",6.55,3.95,6.45,1.55,"0F2840",C.text,9.5); // Disasters s.addText("DISASTER MANAGEMENT & OCCUPATIONAL HEALTH",{x:0.3,y:5.65,w:12.7,h:0.4,fontSize:12,bold:true,color:C.accent5,align:"center"}); bx("Occupational diseases: Pneumoconiosis (silica/coal),\nAsbestosis, Byssinosis (cotton), Lead poisoning\nNoise-induced hearing loss\nOccupational Cancer\nESI, Factories Act 1948",0.3,6.1,6.0,1.55,"0F2840",C.text,9.5); bx("Disasters: Natural (earthquake,flood) / Man-made\nPre-disaster: preparedness, mitigation\nDuring: search & rescue, triage\nPost: rehabilitation, surveillance\nNDMA, SDMA, ICS system",6.55,6.1,6.45,1.55,"0F2840",C.text,9.5); } // ══════════════════════════════════════════════════════════════════ // SLIDE 15: HEALTH PROGRAMS (India) Mind Map // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "NATIONAL HEALTH PROGRAMS – INDIA", "Mind Map ★★★★★"); box(s, pres, "NATIONAL\nHEALTH\nPROGRAMS", 5.4, 2.9, 2.5, 1.15, C.accent, C.dark, 12, true); box(s, pres, "NHM / NHP\n2017", 0.2, 0.8, 2.8, 0.65, "1E3A5F", C.accent2, 11, true); box(s, pres, "NHM: NRHM+NUHM\nGoals: UHC, reduce IMR/MMR\nAyushman Bharat\n(PMJAY + HWC)\nHPCs: 1.5 lakh by 2022", 0.2, 1.5, 2.8, 1.4, "0F2840", C.text, 9); line(s, 3.0, 1.12, 5.4, 3.15); box(s, pres, "RNTCP / NTEP", 0.2, 3.1, 2.8, 0.65, "1E3A5F", C.accent4, 11, true); box(s, pres, "DOTS-based\nNi-kshay 2.0 portal\nCBNAAT + GeneXpert\nNi-kshay poshan yojana\nEnd TB India 2025", 0.2, 3.8, 2.8, 1.2, "0F2840", C.text, 9); line(s, 3.0, 3.42, 5.4, 3.5); box(s, pres, "NVBDCP", 0.2, 5.2, 2.8, 0.65, "1E3A5F", C.accent3, 11, true); box(s, pres, "Malaria, Dengue, Filaria\nKala-azar, JE, Chikungu.\nIRS, ITNs, MDA (filaria)\nIndoor residual spraying", 0.2, 5.9, 2.8, 1.15, "0F2840", C.text, 9); line(s, 3.0, 5.52, 5.4, 3.9); box(s, pres, "NPCDCS &\nNPPCDCS", 10.2, 0.8, 2.9, 0.65, "1E3A5F", "00C9A7", 11, true); box(s, pres, "NCDs: CVD, DM, Cancer,\nCOPD, Mental Health\nScreening at HWC level\nContinuum of care\nCancer: NAVYA, NPCP", 10.2, 1.5, 2.9, 1.4, "0F2840", C.text, 9); line(s, 10.2, 1.12, 7.9, 3.15); box(s, pres, "RMNCH+A /\nMCH", 10.2, 3.1, 2.9, 0.65, "1E3A5F", C.accent5, 11, true); box(s, pres, "Reproductive, Maternal\nNewborn, Child, Adolescent\nJanani Suraksha Yojana (JSY)\nJSSK, PMMVY, POSHAN 2.0\nRBSK, RKSK", 10.2, 3.8, 2.9, 1.4, "0F2840", C.text, 9); line(s, 10.2, 3.42, 7.9, 3.5); box(s, pres, "NLEP / MENTAL\nHEALTH", 10.2, 5.4, 2.9, 0.65, "1E3A5F", C.accent2, 11, true); box(s, pres, "NLEP: leprosy elimination\nNMHP 2017:\nCommunity mental health\nDistrict mental health prog\nTele-MANAS helpline 14416", 10.2, 6.1, 2.9, 1.3, "0F2840", C.text, 9); line(s, 10.2, 5.72, 7.9, 3.9); box(s, pres, "Other: NPHS • NABH • NABL • AIIMS network • Ayushman Bharat Digital Mission (ABDM) • CoWIN", 2.8, 6.3, 7.8, 0.65, "0F2840", C.text, 9); line(s, 6.65, 4.05, 6.65, 6.3); } // ══════════════════════════════════════════════════════════════════ // SLIDE 16: TYPHOID + FOOD POISONING Flowchart // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "TYPHOID FEVER & FOOD POISONING", "LAQ Flowchart ★★★★★"); const bx = (t,x,y,w,h,fill,tc,fs,bd) => box(s,pres,t,x,y,w,h,fill,tc,fs,bd); // TYPHOID s.addText("TYPHOID FEVER",{x:0.3,y:0.75,w:6.0,h:0.4,fontSize:13,bold:true,color:C.accent2}); bx("EPIDEMIOLOGY\nAgent: Salmonella typhi\nSource: feces/urine of patient/carrier\nTransmission: 5 Fs (Fomite,Flies,\nFingers,Food,Fluid)\nIP: 7-21 days",0.3,1.25,5.8,1.5,"0F2840",C.text,9.5); arrow(s,3.2,2.75,3.2,3.35,C.accent2); bx("LAB DIAGNOSIS\nWidal test (O+H agglutinins)\nBlood culture: gold standard\n(+ve in 1st week)\nStool/Urine: 3rd week\nTyphidot: IgM antibody",0.3,3.35,5.8,1.5,"0F2840",C.text,9.5); arrow(s,3.2,4.85,3.2,5.45,C.accent2); bx("PREVENTION & CONTROL\nVaccine: Ty21a (live oral) 4-dose\nVi polysaccharide (single dose SC)\nSanitation • Safe food/water\nCase treatment: Ceftriaxone/Azithromycin\nCarrier detection & treatment",0.3,5.45,5.8,1.75,"0F4C3A",C.text,9.5); // FOOD POISONING s.addText("FOOD POISONING",{x:6.55,y:0.75,w:6.45,h:0.4,fontSize:13,bold:true,color:C.accent3}); bx("TYPES\n• Bacterial: S.aureus (toxin-2-4h)\n Salmonella, Clostridium perfingens\n Bacillus cereus, Vibrio parahem.\n• Chemical: pesticides, heavy metals\n• Mycotoxins: aflatoxin (Aspergillus)\n• Natural poisons: mushrooms, shellfish",6.55,1.25,6.45,1.9,"0F2840",C.text,9.5); arrow(s,9.8,3.15,9.8,3.75,C.accent3); bx("INVESTIGATION\n1. Confirm outbreak\n2. Identify cases (case definition)\n3. Trace food source (food history)\n4. Lab: cultures of food+stool\n5. Environmental inspection\n6. Statistical analysis\n7. Control & report",6.55,3.75,6.45,1.95,"0F2840",C.text,9.5); arrow(s,9.8,5.7,9.8,6.3,C.accent3); bx("PREVENTION & CONTROL\nProper cooking (70°C core)\nRefrigeration (<5°C)\nProper storage • HACCP\nFood handlers: health cert.\nFood Safety: FSSAI",6.55,6.3,6.45,1.2,"0F4C3A",C.text,9.5); } // ══════════════════════════════════════════════════════════════════ // SLIDE 17: OCCUPATIONAL HEALTH + MENTAL HEALTH // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "OCCUPATIONAL HEALTH & MENTAL HEALTH", "SAQ Mind Map"); box(s, pres, "OCCUP.\nHEALTH", 1.8, 3.0, 1.8, 1.0, C.accent, C.dark, 11, true); box(s, pres, "PNEUMOCONIOSES", 0.2, 0.8, 2.5, 0.65, "1E3A5F", C.accent2, 11, true); box(s, pres, "Silicosis (silica/quartz)\nCoal worker's (CWP)\nAsbestosis (mesothelioma)\nByssinosis (cotton dust)\nFarmer's lung (organic dust)\nBerylliosis", 0.2, 1.5, 2.5, 1.6, "0F2840", C.text, 9); line(s, 2.7, 1.12, 1.8, 3.25); box(s, pres, "OTHER OCC.\nDISEASES", 0.2, 3.3, 2.5, 0.65, "1E3A5F", C.accent4, 11, true); box(s, pres, "Lead poisoning: anemia, colic\nMercury: Minamata disease\nBenzene: leukemia\nVibration: Raynaud's\nNoise: NIHL (>85 dB)\nHeat stroke, Caisson disease", 0.2, 4.0, 2.5, 1.7, "0F2840", C.text, 9); line(s, 2.7, 3.62, 1.8, 3.5); box(s, pres, "LEGISLATION", 0.2, 5.9, 2.5, 0.65, "1E3A5F", C.accent3, 11, true); box(s, pres, "Factories Act 1948\nMines Act 1952\nESI Act 1948\nWorkmen's Comp Act\nEnviron Protection Act 1986", 0.2, 6.6, 2.5, 1.05, "0F2840", C.text, 9); line(s, 2.7, 6.22, 1.8, 3.75); // Mental health box(s, pres, "MENTAL\nHEALTH", 8.5, 3.0, 1.8, 1.0, C.accent2, C.dark, 11, true); box(s, pres, "DRUG\nDEPENDENCE", 10.6, 0.8, 2.5, 0.65, "4A1940", C.accent3, 11, true); box(s, pres, "Physical dependence: withdrawal\nPsychological: craving\nTolerance: increasing doses\nDrugs: opioids, alcohol,\ncannabis, stimulants\nPrevention: NDPS Act", 10.6, 1.5, 2.5, 1.7, "0F2840", C.text, 9); line(s, 10.6, 1.12, 8.5, 3.25); box(s, pres, "WARNING SIGNS\nPOOR M. HEALTH", 10.6, 3.3, 2.5, 0.65, "4A1940", C.accent2, 11, true); box(s, pres, "Persistent sadness/anxiety\nSocial withdrawal\nAbnormal sleep/appetite\nSubstance use\nSelf-harm thoughts\nDelusions/hallucinations", 10.6, 4.0, 2.5, 1.55, "0F2840", C.text, 9); line(s, 10.6, 3.62, 8.5, 3.5); box(s, pres, "NMHP 2017", 10.6, 5.75, 2.5, 0.65, "1E3A5F", "00C9A7", 11, true); box(s, pres, "Goals: ↑awareness, ↑services\nDMHP at district level\nCommunity MH care\nTele-MANAS: 14416\nMental Health Act 2017\nDecriminalize suicide", 10.6, 6.45, 2.5, 1.1, "0F2840", C.text, 9); line(s, 10.6, 6.07, 8.5, 3.75); // Center connections box(s, pres, "ILO definition OccHealth | Nottingham model | Work-life balance | EAP | OHSS | WPHP", 3.9, 3.1, 4.4, 0.7, "1E3A5F", C.text, 9); line(s, 3.6, 3.5, 3.9, 3.45); line(s, 8.5, 3.5, 8.3, 3.45); } // ══════════════════════════════════════════════════════════════════ // SLIDE 18: QUICK REFERENCE - All Topics Summary // ══════════════════════════════════════════════════════════════════ { const s = pres.addSlide(); slideHeader(s, pres, "QUICK REFERENCE – HIGH-YIELD TOPICS SUMMARY", "All LAQs & SAQs"); s.addShape(pres.ShapeType.rect,{x:0.25,y:0.75,w:6.05,h:3.4,fill:{color:"080F18"},line:{color:C.accent4,width:1}}); s.addText("PAPER 1 – KEY TOPICS", {x:0.3,y:0.75,w:5.9,h:0.4,fontSize:12,bold:true,color:C.accent4,fontFace:"Calibri",align:"center"}); s.addText([ {text:"✦ Health & Disease", options:{breakLine:true,bold:true,color:C.accent2}}, {text:" Concepts, Dimensions, Determinants, NHoD\n", options:{breakLine:true,color:C.text,fontSize:9}}, {text:"✦ Epidemiology Methods", options:{breakLine:true,bold:true,color:C.accent2}}, {text:" Cohort, Case-Control, RCT, Measures\n", options:{breakLine:true,color:C.text,fontSize:9}}, {text:"✦ Screening", options:{breakLine:true,bold:true,color:C.accent2}}, {text:" Criteria, Validity, Lead time\n", options:{breakLine:true,color:C.text,fontSize:9}}, {text:"✦ Biostatistics", options:{breakLine:true,bold:true,color:C.accent2}}, {text:" Census, SRS, Sampling, Normal dist.\n", options:{breakLine:true,color:C.text,fontSize:9}}, {text:"✦ Medicine & Social Sciences", options:{breakLine:true,bold:true,color:C.accent2}}, {text:" Family (all headings), Cultural factors\n", options:{breakLine:true,color:C.text,fontSize:9}}, {text:"✦ Nutrition, Environment, Occ. Health", options:{breakLine:true,bold:true,color:C.accent2}}, {text:" PEM, vitamins, water, air, housing", options:{color:C.text,fontSize:9}}, ],{x:0.35,y:1.2,w:5.85,h:2.85,fontFace:"Calibri",fontSize:10}); s.addShape(pres.ShapeType.rect,{x:6.55,y:0.75,w:6.5,h:3.4,fill:{color:"080F18"},line:{color:C.accent3,width:1}}); s.addText("PAPER 2 – KEY TOPICS", {x:6.6,y:0.75,w:6.4,h:0.4,fontSize:12,bold:true,color:C.accent3,fontFace:"Calibri",align:"center"}); s.addText([ {text:"✦ Comm. Diseases: TB, Malaria, Cholera,\n Typhoid, Polio, Hep B, HIV/AIDS, Dengue\n", options:{breakLine:true,color:C.text,fontSize:9}}, {text:"✦ Epidemiology of NCDs:\n CVD, DM, Cancer, Mental Health\n", options:{breakLine:true,color:C.text,fontSize:9}}, {text:"✦ Environment: Water, Air, Sanitation\n", options:{breakLine:true,color:C.text,fontSize:9}}, {text:"✦ Nutrition: PEM, Vit deficiencies,\n National programs (POSHAN 2.0, ICDS)\n", options:{breakLine:true,color:C.text,fontSize:9}}, {text:"✦ Demography & FP:\n Demographic cycle, Contraception\n", options:{breakLine:true,color:C.text,fontSize:9}}, {text:"✦ MCH: IMR, MMR, LBW, RMNCH+A\n", options:{breakLine:true,color:C.text,fontSize:9}}, {text:"✦ Health Programs: NTEP, NVBDCP,\n NPCDCS, NHM, NMHP, NLEP", options:{color:C.text,fontSize:9}}, ],{x:6.65,y:1.2,w:6.3,h:2.85,fontFace:"Calibri",fontSize:10}); // Star-rating reminder s.addShape(pres.ShapeType.rect,{x:0.25,y:4.3,w:12.8,h:0.42,fill:{color:"1A1A2E"}}); s.addText("★★★★★ = Highest priority | ★★★★ = High | ★★★ = Medium | ★★ = Standard | Focus on starred questions for exams", {x:0.3,y:4.3,w:12.7,h:0.42,fontSize:10.5,color:C.accent2,fontFace:"Calibri",align:"center"}); // Final tips s.addText("KEY EXAM FORMULAS",{x:0.25,y:4.88,w:6.2,h:0.38,fontSize:11,bold:true,color:C.accent,fontFace:"Calibri",align:"center"}); s.addText([ {text:"IMR = (Deaths <1yr / Live births) × 1000\n", options:{breakLine:true}}, {text:"CDR = (Total deaths / Total pop) × 1000\n", options:{breakLine:true}}, {text:"Sensitivity = TP/(TP+FN)×100\n", options:{breakLine:true}}, {text:"Specificity = TN/(TN+FP)×100\n", options:{breakLine:true}}, {text:"PPV = TP/(TP+FP)×100 | NPV = TN/(TN+FN)×100\n", options:{breakLine:true}}, {text:"Odds Ratio = (a×d)/(b×c)\n", options:{breakLine:true}}, {text:"RR = [a/(a+b)] / [c/(c+d)]", options:{}}, ],{x:0.3,y:5.3,w:6.0,h:2.15,fontFace:"Calibri",fontSize:9.5,color:C.text}); s.addText("MNEMONIC BANK",{x:6.55,y:4.88,w:6.45,h:0.38,fontSize:11,bold:true,color:C.accent2,fontFace:"Calibri",align:"center"}); s.addText([ {text:"Typhoid transmission: 5 Fs – Food, Fluid, Fingers, Fomites, Flies\n", options:{breakLine:true}}, {text:"Pellagra: 3Ds – Dermatitis, Diarrhea, Dementia (+Death=4D)\n", options:{breakLine:true}}, {text:"KMC: Kangaroo, Mother, Care (for LBW)\n", options:{breakLine:true}}, {text:"TB categories: HRZE (Isoniazid, Rifampicin, Pyrazinamide, Ethambutol)\n", options:{breakLine:true}}, {text:"Epidemic investigation: 10 steps (Confirm→Identify→Control→Report)\n", options:{breakLine:true}}, {text:"Wilson & Jungner: 10 criteria for screening programs\n", options:{breakLine:true}}, {text:"APGAR: Appearance Pulse Grimace Activity Respiration", options:{}}, ],{x:6.6,y:5.3,w:6.3,h:2.15,fontFace:"Calibri",fontSize:9.5,color:C.text}); } // ── SAVE ───────────────────────────────────────────────────────── const outPath = "/home/daytona/workspace/spm-mindmaps/SPM_MindMaps_Flowcharts.pptx"; pres.writeFile({ fileName: outPath }).then(() => { console.log("Saved:", outPath); }).catch(e => { console.error(e); process.exit(1); }); JSEOF echo "Script written"
Failed to create session: bad request: failed to resolve container IP after 3 attempts: no IP address found. Is the Sandbox started?
We encountered an error while processing your request. Please try again or reach out to us for help.