I am planning to do research in occurence of autism in school going children as it can help with the government plkan of making autism specific schools in Nepal, what approach shoulkd I so and make a proposal for this
autism prevalence school children Nepal South Asia
autism spectrum disorder prevalence low middle income countries schools
autism prevalence Nepal school children government policy 2024 2025
autism spectrum disorder prevalence children South Asia cross-sectional survey
https://devpulse.info/news-and-articles/government-advances-…
| Stage | Unit | Detail |
|---|---|---|
| 1 | Province (strata) | All 7 provinces included |
| 2 | District | 2-3 districts per province selected by PPS (probability proportional to size) |
| 3 | School (cluster) | 5-8 schools per district; stratified by urban/rural and school type (public/private) |
| 4 | Child | All enrolled children aged 5-16 in selected schools |
| Role | Personnel |
|---|---|
| Principal Investigator | Senior faculty, Department of Psychiatry / Pediatrics, relevant medical university |
| Co-Investigators | Child psychologist, epidemiologist, education specialist |
| Field Coordinators (7) | One per province; trained MSc-level social scientists |
| Research Assistants (40-50) | BSc Nursing / Psychology graduates; 5-day residential training |
| Diagnostic Team (7 mobile units) | Child psychiatrist + clinical psychologist per province |
| Data Manager | Dedicated statistician with experience in survey data |
| Community Liaison Officers | NGO partners (Autism Care Nepal Society as primary partner) |
| Output | Audience | Timeline |
|---|---|---|
| Interim report (Phase 1 data) | MOEST, MoHP | Month 14 |
| Final national prevalence report | Government, WHO, UNICEF | Month 24 |
| Province-level factsheets (7) | Provincial governments | Month 24 |
| Peer-reviewed publication | International journals | Month 26 |
| Policy brief for autism school planning | MOEST planning committee | Month 24 |
| National ASD Prevalence Atlas (GIS maps) | MOEST, NPC | Month 24 |
| Community feedback meetings (all 7 provinces) | Parents, schools, NGOs | Month 25 |
| Category | Estimated Cost (NPR) |
|---|---|
| Personnel (PIs, coordinators, RAs, diagnostic teams - 24 months) | 85,00,000 |
| Training (5-day residential for 50 RAs + 7 field coordinators) | 8,00,000 |
| Instrument licensing (ADOS-2, ADI-R kit) | 12,00,000 |
| Travel and field logistics (100+ schools, 7 provinces) | 22,00,000 |
| Data management and software | 4,00,000 |
| Dissemination (printing, meetings, publications) | 5,00,000 |
| Contingency (10%) | 13,60,000 |
| Total | ~1,49,60,000 (~NPR 1.5 crore / ~USD 112,000) |
| Activity | M1-3 | M4-6 | M7-12 | M13-18 | M19-22 | M23-24 |
|---|---|---|---|---|---|---|
| Ethics approval and tool adaptation | X | |||||
| Pilot / instrument validation | X | |||||
| RA training | X | |||||
| Phase 1 national screening | X | X | ||||
| Phase 2 diagnostic confirmation | X | X | ||||
| Community (out-of-school) arm | X | X | ||||
| Data analysis | X | X | ||||
| Report writing and dissemination | X |
| Limitation | Mitigation |
|---|---|
| ADOS-2 requires specialized training - limited clinicians in Nepal | Train 14+ clinicians (2 per province) through international collaboration (ADOS-2 workshops); partner with organizations like ACNS |
| Low awareness/stigma may reduce parental disclosure | Use community liaison officers; sensitization meetings before data collection |
| Geographic remoteness (mountain districts) | Prioritize Terai and Hill for Phase 1; use trained community health workers and telemedicine consultation for remote areas |
| Out-of-school children missed by school-based design | Dedicated community arm in each cluster to capture dropouts |
| No existing validated Nepali SCQ | Pre-study validation sub-study built into Phase 1 preparation |
Create a one-page policy brief to pitch this to Nepal's Ministry of Education
mkdir -p /home/daytona/workspace/autism-policy-brief && ls /home/daytona/workspa…
~/autism-policy-brief/build.js
const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
Header, AlignmentType, HeadingLevel, BorderStyle, WidthType,
ShadingType, VerticalAlign, LevelFormat, PageNumber, NumberFormat,
UnderlineType
} = require('docx');
const fs = require('fs');
// ---- Colour palette ----
const NAVY = "1A3557"; // dark blue - header band
const TEAL = "1B7A6E"; // section bar colour
const AMBER = "D4860B"; // accent / callout
const LGRAY = "EEF2F6"; // light row fill
const WHITE = "FFFFFF";
const BLACK = "000000";
const DKGRAY = "333333";
// ---- Helper: horizontal rule ----
function hrParagraph(color = TEAL) {
return new Paragraph({
border: { bottom: { color, style: BorderStyle.SINGLE, size: 12, space: 1 } },
spacing: { before: 0, after: 80 },
children: []
});
}
// ---- Helper: section header bar (shaded paragraph) ----
function sectionHeader(text, color = TEAL) {
return new Paragraph({
shading: { type: ShadingType.CLEAR, fill: color },
spacing: { before: 160, after: 80 },
children: [
new TextRun({ text: text.toUpperCase(), bold: true, color: WHITE, size: 22, font: "Arial" })
]
});
}
// ---- Helper: body paragraph ----
function body(text, { bold = false, italic = false, color = DKGRAY, size = 20, spaceBefore = 40, spaceAfter = 40, indent = 0 } = {}) {
return new Paragraph({
spacing: { before: spaceBefore, after: spaceAfter },
indent: indent ? { left: indent } : undefined,
children: [new TextRun({ text, bold, italic, color, size, font: "Arial" })]
});
}
// ---- Helper: bullet item ----
function bullet(text, { bold = false, color = DKGRAY, size = 20 } = {}) {
return new Paragraph({
numbering: { reference: "bullets", level: 0 },
spacing: { before: 30, after: 30 },
children: [new TextRun({ text, bold, color, size, font: "Arial" })]
});
}
// ---- Helper: small label + value inline ----
function statBox(label, value, valueColor = AMBER) {
return new Paragraph({
spacing: { before: 40, after: 40 },
children: [
new TextRun({ text: value + " ", bold: true, size: 28, color: valueColor, font: "Arial" }),
new TextRun({ text: label, size: 20, color: DKGRAY, font: "Arial" })
]
});
}
// ---- Two-column Key Facts table ----
function keyFactsTable() {
const facts = [
["~250,000-300,000", "estimated individuals with ASD in Nepal"],
["~60,000-90,000", "significantly affected; many undiagnosed"],
["1 in 100", "global WHO prevalence estimate (children)"],
["0", "validated national ASD prevalence studies in Nepal"],
];
const rows = facts.map(([num, label]) =>
new TableRow({
children: [
new TableCell({
width: { size: 2800, type: WidthType.DXA },
shading: { type: ShadingType.CLEAR, fill: LGRAY },
margins: { top: 80, bottom: 80, left: 100, right: 60 },
verticalAlign: VerticalAlign.CENTER,
children: [new Paragraph({
alignment: AlignmentType.RIGHT,
children: [new TextRun({ text: num, bold: true, size: 26, color: AMBER, font: "Arial" })]
})]
}),
new TableCell({
width: { size: 6200, type: WidthType.DXA },
shading: { type: ShadingType.CLEAR, fill: LGRAY },
margins: { top: 80, bottom: 80, left: 120, right: 80 },
verticalAlign: VerticalAlign.CENTER,
children: [new Paragraph({
children: [new TextRun({ text: label, size: 20, color: DKGRAY, font: "Arial" })]
})]
}),
]
})
);
return new Table({
width: { size: 9000, type: WidthType.DXA },
borders: {
top: { style: BorderStyle.NONE },
bottom: { style: BorderStyle.NONE },
left: { style: BorderStyle.NONE },
right: { style: BorderStyle.NONE },
insideH:{ style: BorderStyle.NONE },
insideV:{ style: BorderStyle.NONE },
},
rows
});
}
// ---- Recommendations table ----
function recommendationsTable() {
const recs = [
["1", "Fund national ASD prevalence study", "Immediately commission a two-phase nationwide survey across all 7 provinces"],
["2", "Integrate findings into school planning", "Use district-level prevalence maps to determine number, size, and location of autism-specific schools"],
["3", "Build diagnostic capacity now", "Train at least 2 child psychologists per province in ADOS-2 to support both the study and future services"],
["4", "Establish an inter-ministerial ASD task force", "Coordinate MOEST, MoHP, and NPC to align school policy with health data and the 16th National Plan"],
["5", "Allocate ring-fenced budget line", "Include ASD school pilot in the FY 2026/27 budget with provision for scaling post-study"],
];
const headerRow = new TableRow({
tableHeader: true,
children: [
new TableCell({
width: { size: 500, type: WidthType.DXA },
shading: { type: ShadingType.CLEAR, fill: TEAL },
margins: { top: 80, bottom: 80, left: 80, right: 60 },
children: [new Paragraph({ children: [new TextRun({ text: "#", bold: true, color: WHITE, size: 20, font: "Arial" })] })]
}),
new TableCell({
width: { size: 2900, type: WidthType.DXA },
shading: { type: ShadingType.CLEAR, fill: TEAL },
margins: { top: 80, bottom: 80, left: 100, right: 60 },
children: [new Paragraph({ children: [new TextRun({ text: "Action", bold: true, color: WHITE, size: 20, font: "Arial" })] })]
}),
new TableCell({
width: { size: 5600, type: WidthType.DXA },
shading: { type: ShadingType.CLEAR, fill: TEAL },
margins: { top: 80, bottom: 80, left: 100, right: 80 },
children: [new Paragraph({ children: [new TextRun({ text: "What it means", bold: true, color: WHITE, size: 20, font: "Arial" })] })]
}),
]
});
const dataRows = recs.map(([num, action, detail], i) =>
new TableRow({
children: [
new TableCell({
width: { size: 500, type: WidthType.DXA },
shading: { type: ShadingType.CLEAR, fill: i % 2 === 0 ? WHITE : LGRAY },
margins: { top: 80, bottom: 80, left: 80, right: 60 },
verticalAlign: VerticalAlign.CENTER,
children: [new Paragraph({ alignment: AlignmentType.CENTER, children: [new TextRun({ text: num, bold: true, size: 20, color: TEAL, font: "Arial" })] })]
}),
new TableCell({
width: { size: 2900, type: WidthType.DXA },
shading: { type: ShadingType.CLEAR, fill: i % 2 === 0 ? WHITE : LGRAY },
margins: { top: 80, bottom: 80, left: 100, right: 60 },
verticalAlign: VerticalAlign.CENTER,
children: [new Paragraph({ children: [new TextRun({ text: action, bold: true, size: 19, color: DKGRAY, font: "Arial" })] })]
}),
new TableCell({
width: { size: 5600, type: WidthType.DXA },
shading: { type: ShadingType.CLEAR, fill: i % 2 === 0 ? WHITE : LGRAY },
margins: { top: 80, bottom: 80, left: 100, right: 80 },
verticalAlign: VerticalAlign.CENTER,
children: [new Paragraph({ children: [new TextRun({ text: detail, size: 19, color: DKGRAY, font: "Arial" })] })]
}),
]
})
);
return new Table({
width: { size: 9000, type: WidthType.DXA },
borders: {
top: { style: BorderStyle.SINGLE, color: TEAL, size: 6 },
bottom: { style: BorderStyle.SINGLE, color: TEAL, size: 6 },
left: { style: BorderStyle.NONE },
right: { style: BorderStyle.NONE },
insideH:{ style: BorderStyle.SINGLE, color: "CCCCCC", size: 2 },
insideV:{ style: BorderStyle.NONE },
},
rows: [headerRow, ...dataRows]
});
}
// ---- Callout box (shaded, amber border) ----
function calloutBox(lines) {
const children = lines.map((line, i) =>
new Paragraph({
spacing: { before: i === 0 ? 80 : 40, after: i === lines.length - 1 ? 80 : 40 },
children: [new TextRun({ text: line, size: 20, italic: line.startsWith('"'), color: DKGRAY, font: "Arial" })]
})
);
// Wrap in a single-cell table to get border styling
return new Table({
width: { size: 9000, type: WidthType.DXA },
borders: {
top: { style: BorderStyle.SINGLE, color: AMBER, size: 12 },
bottom: { style: BorderStyle.SINGLE, color: AMBER, size: 12 },
left: { style: BorderStyle.SINGLE, color: AMBER, size: 24 },
right: { style: BorderStyle.SINGLE, color: AMBER, size: 6 },
insideH:{ style: BorderStyle.NONE },
insideV:{ style: BorderStyle.NONE },
},
rows: [
new TableRow({
children: [
new TableCell({
shading: { type: ShadingType.CLEAR, fill: "FFF8EC" },
margins: { top: 60, bottom: 60, left: 180, right: 120 },
children
})
]
})
]
});
}
// ============================================================
// BUILD THE DOCUMENT
// ============================================================
const doc = new Document({
numbering: {
config: [
{
reference: "bullets",
levels: [{
level: 0,
format: LevelFormat.BULLET,
text: "\u2022",
alignment: AlignmentType.LEFT,
style: { paragraph: { indent: { left: 540, hanging: 300 } } }
}]
}
]
},
styles: {
default: {
document: { run: { font: "Arial", size: 20, color: DKGRAY } }
}
},
sections: [{
properties: {
page: {
margin: { top: 720, bottom: 720, left: 1080, right: 1080 },
size: { width: 11906, height: 16838 } // A4
}
},
headers: {
default: new Header({
children: [
new Paragraph({
shading: { type: ShadingType.CLEAR, fill: NAVY },
spacing: { before: 0, after: 0 },
children: [
new TextRun({
text: "POLICY BRIEF | Ministry of Education, Science and Technology, Nepal | July 2026",
bold: false, size: 16, color: WHITE, font: "Arial"
})
]
})
]
})
},
children: [
// ── TITLE BLOCK ──────────────────────────────────────────
new Paragraph({
spacing: { before: 160, after: 60 },
children: [
new TextRun({
text: "Understanding Autism in Nepal's Schools",
bold: true, size: 44, color: NAVY, font: "Arial"
})
]
}),
new Paragraph({
spacing: { before: 0, after: 80 },
children: [
new TextRun({
text: "A National Prevalence Study to Guide the Government's Autism-Specific School Initiative",
bold: false, size: 24, color: TEAL, font: "Arial", italics: true
})
]
}),
hrParagraph(NAVY),
// ── THE PROBLEM ──────────────────────────────────────────
sectionHeader("The Problem"),
body(
"Nepal is planning autism-specific model schools - but without national data on how many children have ASD or where they live, the government cannot rationally decide how many schools to build, where to place them, or how to staff them.",
{ spaceBefore: 60, spaceAfter: 60 }
),
// ── KEY FACTS ────────────────────────────────────────────
sectionHeader("Key Facts"),
new Paragraph({ spacing: { before: 80, after: 80 }, children: [] }),
keyFactsTable(),
new Paragraph({ spacing: { before: 80, after: 60 }, children: [] }),
body(
"Nepal's Disability Act (2074) recognises ASD, and the Sixteenth National Plan (2024/25-2028/29) commits to inclusive education. Yet policy commitments cannot be implemented without epidemiological evidence.",
{ italic: true, color: "555555", spaceBefore: 60, spaceAfter: 80 }
),
// ── WHAT WE PROPOSE ─────────────────────────────────────
sectionHeader("What We Propose"),
body("A two-year, nationwide two-phase screening survey of children aged 5-16 across all 7 provinces:", { spaceBefore: 60, spaceAfter: 40 }),
bullet("Phase 1 - Broad screening: Social Communication Questionnaire (SCQ) administered by trained research assistants in 100-120 randomly sampled schools (~11,500 children)."),
bullet("Phase 2 - Diagnostic confirmation: Mobile teams with child psychiatrists and psychologists conduct gold-standard ADOS-2 assessments on all screen-positives."),
bullet("Community arm: Door-to-door screening in each cluster to capture out-of-school children."),
bullet("Output: A district-level ASD Prevalence Atlas (GIS-mapped) delivered to MOEST within 24 months."),
new Paragraph({ spacing: { before: 80, after: 0 }, children: [] }),
calloutBox([
'"Nepal lacks reliable prevalence data... It is estimated that 250,000-300,000 individuals in Nepal may have autism, with 60,000-90,000 significantly affected."',
"- Published qualitative study on ASD families in Nepal (PMC, 2025)"
]),
new Paragraph({ spacing: { before: 80, after: 0 }, children: [] }),
// ── HOW FINDINGS WILL BE USED ────────────────────────────
sectionHeader("How Findings Directly Support Government Action"),
body("The national ASD Prevalence Atlas will answer the four questions every MOEST planner needs:", { spaceBefore: 60, spaceAfter: 40 }),
bullet("How many autism-specific school places are needed nationally?"),
bullet("Which districts have the highest unmet burden and should receive the first schools?"),
bullet("What specialist workforce must be trained to staff those schools?"),
bullet("What is the realistic budget requirement for a phased rollout?"),
new Paragraph({ spacing: { before: 80, after: 0 }, children: [] }),
// ── RECOMMENDATIONS ─────────────────────────────────────
sectionHeader("Recommendations for the Ministry"),
new Paragraph({ spacing: { before: 80, after: 80 }, children: [] }),
recommendationsTable(),
new Paragraph({ spacing: { before: 80, after: 0 }, children: [] }),
// ── COST & PARTNERS ─────────────────────────────────────
sectionHeader("Indicative Cost and Key Partners"),
body("Estimated total study cost: NPR 1.5 crore (~USD 112,000) over 24 months.", { bold: true, spaceBefore: 60, spaceAfter: 40 }),
body("This is less than the construction cost of a single specialist classroom, yet produces the data to plan all future classrooms.", { spaceBefore: 0, spaceAfter: 60 }),
body("Proposed co-implementing partners:", { spaceBefore: 40, spaceAfter: 30 }),
bullet("Autism Care Nepal Society (ACNS) - field network and community trust"),
bullet("Tribhuvan University / B.P. Koirala Institute - academic oversight and ethics"),
bullet("UNICEF Nepal - technical advisory and potential co-funding"),
bullet("Ministry of Health and Population - diagnostic team deployment"),
new Paragraph({ spacing: { before: 80, after: 0 }, children: [] }),
// ── FOOTER CONTACT ──────────────────────────────────────
hrParagraph(NAVY),
new Paragraph({
spacing: { before: 60, after: 40 },
alignment: AlignmentType.CENTER,
children: [
new TextRun({ text: "For further information, contact the Principal Investigator or the Research Team.", size: 18, color: "777777", font: "Arial" }),
]
}),
new Paragraph({
spacing: { before: 0, after: 40 },
alignment: AlignmentType.CENTER,
children: [
new TextRun({ text: "This brief accompanies a full research proposal available on request.", size: 18, italic: true, color: "999999", font: "Arial" })
]
}),
]
}]
});
Packer.toBuffer(doc).then(buffer => {
fs.writeFileSync('/home/daytona/workspace/autism-policy-brief/ASD_Policy_Brief_Nepal_MOEST.docx', buffer);
console.log('Done');
}).catch(err => {
console.error(err);
process.exit(1);
});
cd /home/daytona/workspace/autism-policy-brief && node build.js 2>&1
python3 /home/daytona/skills/docx/scripts/office/validate.py /home/daytona/works…
cd /home/daytona/workspace/autism-policy-brief && python3 -c " import zipfile, s…
ASD Policy Brief Nepal MOEST
Word Document · DOCX
| Section | Content |
|---|---|
| Title block | Full title, subtitle, ministry header strip |
| The Problem | One sharp paragraph on the data gap blocking school planning |
| Key Facts table | 4 headline figures (250,000-300,000 Nepalis with ASD; zero validated national studies; WHO 1-in-100 rate) |
| What We Propose | Four bullet points summarising the study design |
| Evidence callout box | Amber-bordered quote from a 2025 published Nepal ASD study |
| How Findings Support Government Action | Four direct questions the Atlas will answer for MOEST planners |
| Recommendations table | 5 numbered actions with plain-language explanations |
| Cost & Partners | NPR 1.5 crore estimate; ACNS, TU, UNICEF, MoHP listed |
Create a 5-slide presentation summary for MOEST officials
~/autism-policy-brief/build_pptx.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "Research Team";
pres.title = "ASD in Nepal's Schools - MOEST Presentation";
// ── Palette ──────────────────────────────────────────────────────────────────
const NAVY = "1A3557";
const TEAL = "1B7A6E";
const AMBER = "D4860B";
const LGRAY = "EEF2F6";
const WHITE = "FFFFFF";
const DKGRAY = "333333";
const MIDGRAY= "555555";
// ── Helper: full-bleed dark background band ──────────────────────────────────
function darkBG(slide, color = NAVY) {
slide.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color }, line: { type: "none" } });
}
// ── Helper: accent left bar ──────────────────────────────────────────────────
function leftBar(slide, color = TEAL, yStart = 0.5, height = 4.6) {
slide.addShape(pres.shapes.RECTANGLE, { x: 0, y: yStart, w: 0.08, h: height, fill: { color }, line: { type: "none" } });
}
// ── Helper: bottom footer strip ─────────────────────────────────────────────
function footer(slide, label = "Ministry of Education, Science and Technology | Nepal | July 2026") {
slide.addShape(pres.shapes.RECTANGLE, { x: 0, y: 5.35, w: 10, h: 0.275, fill: { color: NAVY }, line: { type: "none" } });
slide.addText(label, {
x: 0.15, y: 5.36, w: 9.7, h: 0.22,
fontSize: 8, fontFace: "Arial", color: "AABBCC", align: "left", valign: "middle", margin: 0
});
}
// ── Helper: slide number badge ───────────────────────────────────────────────
function slideNum(slide, n, total = 5) {
slide.addText(`${n} / ${total}`, {
x: 9.1, y: 5.36, w: 0.75, h: 0.22,
fontSize: 8, fontFace: "Arial", color: "AABBCC", align: "right", valign: "middle", margin: 0
});
}
// ── Helper: section label pill ───────────────────────────────────────────────
function pill(slide, text, x, y, w = 2.2, color = TEAL) {
slide.addShape(pres.shapes.RECTANGLE, { x, y, w, h: 0.32, fill: { color }, line: { type: "none" }, rectRadius: 0 });
slide.addText(text.toUpperCase(), {
x, y, w, h: 0.32,
fontSize: 9, fontFace: "Arial", bold: true, color: WHITE,
align: "center", valign: "middle", margin: 0, charSpacing: 1
});
}
// ── Helper: stat card ────────────────────────────────────────────────────────
function statCard(slide, bigNum, label, x, y, w = 2.1, h = 1.55, accent = AMBER) {
slide.addShape(pres.shapes.RECTANGLE, {
x, y, w, h, fill: { color: WHITE },
shadow: { type: "outer", color: "000000", blur: 8, offset: 2, angle: 135, opacity: 0.1 },
line: { type: "none" }
});
// top accent stripe
slide.addShape(pres.shapes.RECTANGLE, { x, y, w, h: 0.07, fill: { color: accent }, line: { type: "none" } });
slide.addText(bigNum, {
x: x + 0.08, y: y + 0.12, w: w - 0.16, h: 0.72,
fontSize: 28, bold: true, fontFace: "Arial", color: accent,
align: "center", valign: "middle", margin: 0
});
slide.addText(label, {
x: x + 0.1, y: y + 0.82, w: w - 0.2, h: 0.6,
fontSize: 10, fontFace: "Arial", color: MIDGRAY,
align: "center", valign: "top", margin: 0
});
}
// ── Helper: icon bullet row ──────────────────────────────────────────────────
function iconBullet(slide, icon, text, x, y, textColor = DKGRAY) {
slide.addText(icon, { x, y, w: 0.38, h: 0.36, fontSize: 16, align: "center", valign: "middle", margin: 0 });
slide.addText(text, {
x: x + 0.38, y, w: 4.4, h: 0.36,
fontSize: 12, fontFace: "Arial", color: textColor,
align: "left", valign: "middle", margin: 0
});
}
// ── Helper: timeline step ────────────────────────────────────────────────────
function timelineStep(slide, num, label, detail, x, y, active = false) {
const circleColor = active ? AMBER : TEAL;
slide.addShape(pres.shapes.ELLIPSE, { x, y: y + 0.05, w: 0.46, h: 0.46, fill: { color: circleColor }, line: { type: "none" } });
slide.addText(num, { x, y: y + 0.05, w: 0.46, h: 0.46, fontSize: 14, bold: true, fontFace: "Arial", color: WHITE, align: "center", valign: "middle", margin: 0 });
slide.addText(label, { x: x + 0.56, y, w: 1.55, h: 0.28, fontSize: 11, bold: true, fontFace: "Arial", color: NAVY, align: "left", valign: "middle", margin: 0 });
slide.addText(detail, { x: x + 0.56, y: y + 0.26, w: 1.55, h: 0.32, fontSize: 9.5, fontFace: "Arial", color: MIDGRAY, align: "left", valign: "top", margin: 0 });
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE SLIDE (dark)
// ════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
darkBG(s, NAVY);
// Decorative teal rectangle left panel
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 3.2, h: 5.625, fill: { color: TEAL }, line: { type: "none" } });
// Amber accent line
s.addShape(pres.shapes.RECTANGLE, { x: 3.2, y: 2.1, w: 6.8, h: 0.06, fill: { color: AMBER }, line: { type: "none" } });
// Left panel text
s.addText("POLICY\nRESEARCH", {
x: 0.2, y: 1.5, w: 2.8, h: 1.6,
fontSize: 22, bold: true, fontFace: "Arial", color: WHITE,
align: "left", valign: "top", margin: 0, charSpacing: 2,
paraSpaceAfter: 4
});
s.addText("NEPAL", {
x: 0.2, y: 3.3, w: 2.8, h: 0.5,
fontSize: 14, fontFace: "Arial", color: "A8D5CF",
align: "left", valign: "middle", margin: 0, charSpacing: 4
});
s.addText("2026", {
x: 0.2, y: 3.75, w: 2.8, h: 0.5,
fontSize: 13, fontFace: "Arial", color: "A8D5CF",
align: "left", valign: "middle", margin: 0
});
// Main title
s.addText("Understanding Autism in\nNepal's Schools", {
x: 3.45, y: 0.7, w: 6.35, h: 1.35,
fontSize: 30, bold: true, fontFace: "Arial", color: WHITE,
align: "left", valign: "top", margin: 0
});
// Subtitle
s.addText("A National Prevalence Study to Guide the\nGovernment's Autism-Specific School Initiative", {
x: 3.45, y: 2.3, w: 6.3, h: 1.0,
fontSize: 14, fontFace: "Arial", color: "AADDDD", italic: true,
align: "left", valign: "top", margin: 0
});
// Presented to tag
s.addText("PRESENTED TO:", {
x: 3.45, y: 3.55, w: 3.5, h: 0.28,
fontSize: 9, bold: true, fontFace: "Arial", color: AMBER,
align: "left", valign: "middle", margin: 0, charSpacing: 1.5
});
s.addText("Ministry of Education, Science and Technology", {
x: 3.45, y: 3.82, w: 6.3, h: 0.3,
fontSize: 13, fontFace: "Arial", color: WHITE,
align: "left", valign: "middle", margin: 0
});
s.addText("Government of Nepal", {
x: 3.45, y: 4.12, w: 6.3, h: 0.28,
fontSize: 12, fontFace: "Arial", color: "AABBCC",
align: "left", valign: "middle", margin: 0
});
footer(s);
slideNum(s, 1);
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 2 — THE PROBLEM (light)
// ════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
// Light background
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: "F5F8FB" }, line: { type: "none" } });
// Navy top band
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 1.1, fill: { color: NAVY }, line: { type: "none" } });
pill(s, "The Problem", 0.35, 0.32, 2.0);
s.addText("Nepal Is Planning Schools Without The Data To Plan Them", {
x: 0.35, y: 0.65, w: 9.3, h: 0.42,
fontSize: 18, bold: true, fontFace: "Arial", color: WHITE,
align: "left", valign: "middle", margin: 0
});
// Four stat cards
statCard(s, "250,000–\n300,000", "estimated individuals with ASD in Nepal", 0.3, 1.3);
statCard(s, "60,000–\n90,000", "significantly affected & largely undiagnosed", 2.55, 1.3);
statCard(s, "1 in 100", "global WHO prevalence rate in children", 4.8, 1.3);
statCard(s, "0", "validated national ASD prevalence studies in Nepal", 7.05, 1.3, 2.6);
// Problem statement box
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 3.05, w: 9.4, h: 1.7,
fill: { color: NAVY },
line: { type: "none" },
shadow: { type: "outer", color: "000000", blur: 8, offset: 2, angle: 135, opacity: 0.12 }
});
s.addShape(pres.shapes.RECTANGLE, { x: 0.3, y: 3.05, w: 0.07, h: 1.7, fill: { color: AMBER }, line: { type: "none" } });
s.addText([
{ text: "MOEST has announced an Autism-Based Model School - but without national prevalence data, the government cannot rationally decide:\n", options: { bold: false, breakLine: false } },
{ text: " how many schools to build | where to place them | how to staff them | what budget to allocate", options: { bold: true, color: AMBER } }
], {
x: 0.55, y: 3.1, w: 9.0, h: 1.58,
fontSize: 13, fontFace: "Arial", color: WHITE,
align: "left", valign: "middle", margin: 0
});
footer(s);
slideNum(s, 2);
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 3 — THE STUDY (light, two-column)
// ════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: "F5F8FB" }, line: { type: "none" } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 1.1, fill: { color: TEAL }, line: { type: "none" } });
pill(s, "The Proposed Study", 0.35, 0.32, 2.5);
s.addText("A Two-Phase National Prevalence Survey", {
x: 0.35, y: 0.65, w: 9.3, h: 0.4,
fontSize: 18, bold: true, fontFace: "Arial", color: WHITE,
align: "left", valign: "middle", margin: 0
});
// LEFT COLUMN — study specs
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 1.2, w: 4.45, h: 3.9,
fill: { color: WHITE },
shadow: { type: "outer", color: "000000", blur: 6, offset: 2, angle: 135, opacity: 0.08 },
line: { type: "none" }
});
s.addShape(pres.shapes.RECTANGLE, { x: 0.3, y: 1.2, w: 4.45, h: 0.07, fill: { color: TEAL }, line: { type: "none" } });
s.addText("Study Specifications", {
x: 0.45, y: 1.28, w: 4.2, h: 0.35,
fontSize: 12, bold: true, fontFace: "Arial", color: TEAL,
align: "left", valign: "middle", margin: 0
});
const specs = [
["Target Group", "All school-going children, ages 5-16"],
["Coverage", "All 7 Provinces of Nepal"],
["Schools", "100-120 schools (multi-stage cluster sample)"],
["Sample Size", "~11,500 children"],
["Duration", "24 months"],
["Screening Tool", "Social Communication Questionnaire (SCQ) — Nepali validated"],
["Diagnosis", "ADOS-2 gold-standard (mobile specialist teams)"],
["Output", "District-level ASD Prevalence Atlas (GIS-mapped)"],
];
specs.forEach(([lbl, val], i) => {
const y = 1.73 + i * 0.43;
const fill = i % 2 === 0 ? "F0F5FA" : WHITE;
s.addShape(pres.shapes.RECTANGLE, { x: 0.32, y, w: 4.41, h: 0.42, fill: { color: fill }, line: { type: "none" } });
s.addText(lbl, { x: 0.42, y: y + 0.04, w: 1.3, h: 0.32, fontSize: 9.5, bold: true, fontFace: "Arial", color: TEAL, align: "left", valign: "middle", margin: 0 });
s.addText(val, { x: 1.75, y: y + 0.04, w: 2.9, h: 0.32, fontSize: 9.5, fontFace: "Arial", color: DKGRAY, align: "left", valign: "middle", margin: 0 });
});
// RIGHT COLUMN — two phases
s.addShape(pres.shapes.RECTANGLE, {
x: 5.0, y: 1.2, w: 4.7, h: 3.9,
fill: { color: WHITE },
shadow: { type: "outer", color: "000000", blur: 6, offset: 2, angle: 135, opacity: 0.08 },
line: { type: "none" }
});
s.addShape(pres.shapes.RECTANGLE, { x: 5.0, y: 1.2, w: 4.7, h: 0.07, fill: { color: AMBER }, line: { type: "none" } });
s.addText("How It Works — Two Phases", {
x: 5.15, y: 1.28, w: 4.4, h: 0.35,
fontSize: 12, bold: true, fontFace: "Arial", color: AMBER,
align: "left", valign: "middle", margin: 0
});
// Phase boxes
const phases = [
{ num: "1", label: "Broad Screening", detail: "SCQ parent questionnaire + teacher checklist in 100-120 schools. All ~11,500 children. Identifies likely ASD cases.", color: TEAL },
{ num: "2", label: "Diagnostic Confirmation", detail: "Mobile teams with child psychiatrists conduct ADOS-2 + ADI-R on all screen-positives. Final DSM-5 diagnosis.", color: AMBER },
{ num: "+", label: "Community Arm", detail: "Door-to-door survey in each cluster captures children who are out-of-school entirely — the hidden burden.", color: NAVY },
];
phases.forEach(({ num, label, detail, color }, i) => {
const y = 1.72 + i * 1.1;
s.addShape(pres.shapes.RECTANGLE, { x: 5.12, y, w: 4.46, h: 0.98, fill: { color: "F5F8FB" }, line: { color: "DDDDDD", pt: 1 } });
s.addShape(pres.shapes.ELLIPSE, { x: 5.18, y: y + 0.24, w: 0.42, h: 0.42, fill: { color }, line: { type: "none" } });
s.addText(num, { x: 5.18, y: y + 0.24, w: 0.42, h: 0.42, fontSize: 13, bold: true, fontFace: "Arial", color: WHITE, align: "center", valign: "middle", margin: 0 });
s.addText(label, { x: 5.7, y: y + 0.05, w: 3.8, h: 0.28, fontSize: 11, bold: true, fontFace: "Arial", color: NAVY, align: "left", valign: "middle", margin: 0 });
s.addText(detail, { x: 5.7, y: y + 0.3, w: 3.8, h: 0.6, fontSize: 9.5, fontFace: "Arial", color: MIDGRAY, align: "left", valign: "top", margin: 0 });
});
footer(s);
slideNum(s, 3);
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 4 — WHY IT MATTERS + RECOMMENDATIONS
// ════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: "F5F8FB" }, line: { type: "none" } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 1.1, fill: { color: NAVY }, line: { type: "none" } });
pill(s, "Policy Impact", 0.35, 0.32, 1.9);
s.addText("From Data to Decisions — What the Atlas Unlocks", {
x: 0.35, y: 0.65, w: 9.3, h: 0.4,
fontSize: 18, bold: true, fontFace: "Arial", color: WHITE,
align: "left", valign: "middle", margin: 0
});
// Left — what the atlas answers
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y: 1.2, w: 4.5, h: 3.85,
fill: { color: WHITE },
shadow: { type: "outer", color: "000000", blur: 6, offset: 2, angle: 135, opacity: 0.08 },
line: { type: "none" }
});
s.addShape(pres.shapes.RECTANGLE, { x: 0.3, y: 1.2, w: 4.5, h: 0.07, fill: { color: TEAL }, line: { type: "none" } });
s.addText("4 Questions This Study Will Answer for MOEST", {
x: 0.45, y: 1.3, w: 4.2, h: 0.38,
fontSize: 11, bold: true, fontFace: "Arial", color: TEAL,
align: "left", valign: "middle", margin: 0
});
const qItems = [
["?", "How many autism-specific school places does Nepal need?"],
["?", "Which districts have highest burden and deserve the first schools?"],
["?", "How large must the specialist teacher-training pipeline be?"],
["?", "What annual budget is required for a phased national rollout?"],
];
qItems.forEach(([icon, text], i) => {
const y = 1.78 + i * 0.82;
const fill = i % 2 === 0 ? "F0F5FA" : WHITE;
s.addShape(pres.shapes.RECTANGLE, { x: 0.32, y, w: 4.46, h: 0.75, fill: { color: fill }, line: { type: "none" } });
s.addShape(pres.shapes.ELLIPSE, { x: 0.44, y: y + 0.16, w: 0.4, h: 0.4, fill: { color: AMBER }, line: { type: "none" } });
s.addText(icon, { x: 0.44, y: y + 0.16, w: 0.4, h: 0.4, fontSize: 14, bold: true, fontFace: "Arial", color: WHITE, align: "center", valign: "middle", margin: 0 });
s.addText(text, { x: 0.95, y: y + 0.1, w: 3.75, h: 0.54, fontSize: 10.5, fontFace: "Arial", color: DKGRAY, align: "left", valign: "middle", margin: 0 });
});
// Right — 5 recommendations
s.addShape(pres.shapes.RECTANGLE, {
x: 5.0, y: 1.2, w: 4.7, h: 3.85,
fill: { color: WHITE },
shadow: { type: "outer", color: "000000", blur: 6, offset: 2, angle: 135, opacity: 0.08 },
line: { type: "none" }
});
s.addShape(pres.shapes.RECTANGLE, { x: 5.0, y: 1.2, w: 4.7, h: 0.07, fill: { color: AMBER }, line: { type: "none" } });
s.addText("5 Recommendations for the Ministry", {
x: 5.15, y: 1.3, w: 4.4, h: 0.38,
fontSize: 11, bold: true, fontFace: "Arial", color: AMBER,
align: "left", valign: "middle", margin: 0
});
const recs = [
["1", "Fund the national ASD prevalence study immediately"],
["2", "Use district maps to place & size autism-specific schools"],
["3", "Train child psychologists (ADOS-2) in all 7 provinces"],
["4", "Form an inter-ministerial ASD task force (MOEST + MoHP + NPC)"],
["5", "Ring-fence ASD school budget in FY 2026/27 estimates"],
];
recs.forEach(([num, text], i) => {
const y = 1.72 + i * 0.68;
const fill = i % 2 === 0 ? "F0F5FA" : WHITE;
s.addShape(pres.shapes.RECTANGLE, { x: 5.02, y, w: 4.66, h: 0.62, fill: { color: fill }, line: { type: "none" } });
s.addShape(pres.shapes.RECTANGLE, { x: 5.02, y: y + 0.08, w: 0.32, h: 0.45, fill: { color: NAVY }, line: { type: "none" } });
s.addText(num, { x: 5.02, y: y + 0.08, w: 0.32, h: 0.45, fontSize: 12, bold: true, fontFace: "Arial", color: WHITE, align: "center", valign: "middle", margin: 0 });
s.addText(text, { x: 5.42, y: y + 0.1, w: 4.2, h: 0.42, fontSize: 10.5, fontFace: "Arial", color: DKGRAY, align: "left", valign: "middle", margin: 0 });
});
footer(s);
slideNum(s, 4);
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 5 — CALL TO ACTION (dark)
// ════════════════════════════════════════════════════════════════════════════
{
const s = pres.addSlide();
darkBG(s, NAVY);
// Large teal geometric accent top-right
s.addShape(pres.shapes.RECTANGLE, { x: 7.2, y: 0, w: 2.8, h: 5.625, fill: { color: TEAL }, line: { type: "none" } });
// Amber diagonal-ish feel via thin overlay
s.addShape(pres.shapes.RECTANGLE, { x: 6.8, y: 0, w: 0.08, h: 5.625, fill: { color: AMBER }, line: { type: "none" } });
pill(s, "Call to Action", 0.35, 0.42, 2.0, AMBER);
s.addText("The Ask From MOEST", {
x: 0.35, y: 0.85, w: 6.3, h: 0.5,
fontSize: 26, bold: true, fontFace: "Arial", color: WHITE,
align: "left", valign: "middle", margin: 0
});
// Three action items
const asks = [
{ icon: "✔", head: "Endorse the research proposal", body: "Provide ministerial endorsement to facilitate NHRC ethics approval and school access across all 7 provinces" },
{ icon: "₹", head: "Allocate seed funding — NPR 1.5 crore", body: "The cost of one specialist classroom. Returns a national data atlas that plans all future classrooms for a generation" },
{ icon: "⚡", head: "Establish an ASD inter-ministerial task force", body: "Coordinate MOEST, MoHP, and NPC now — so when data arrives in 24 months, the implementation machinery is ready" },
];
asks.forEach(({ icon, head, body }, i) => {
const y = 1.52 + i * 1.17;
s.addShape(pres.shapes.RECTANGLE, {
x: 0.3, y, w: 6.3, h: 1.08,
fill: { color: "1E4068", transparency: 0 },
line: { color: TEAL, pt: 1 }
});
s.addShape(pres.shapes.RECTANGLE, { x: 0.3, y, w: 0.06, h: 1.08, fill: { color: AMBER }, line: { type: "none" } });
s.addText(icon, { x: 0.42, y: y + 0.28, w: 0.5, h: 0.5, fontSize: 18, align: "center", valign: "middle", margin: 0 });
s.addText(head, { x: 1.02, y: y + 0.08, w: 5.4, h: 0.35, fontSize: 13, bold: true, fontFace: "Arial", color: AMBER, align: "left", valign: "middle", margin: 0 });
s.addText(body, { x: 1.02, y: y + 0.42, w: 5.4, h: 0.55, fontSize: 10.5, fontFace: "Arial", color: "BBCCDD", align: "left", valign: "top", margin: 0 });
});
// Right panel content
s.addText("Partners Ready\nTo Deliver", {
x: 7.28, y: 0.6, w: 2.6, h: 0.9,
fontSize: 15, bold: true, fontFace: "Arial", color: WHITE,
align: "center", valign: "middle", margin: 0
});
const partners = ["Autism Care Nepal Society", "Tribhuvan University", "B.P. Koirala Institute", "UNICEF Nepal (advisory)", "MoHP — diagnostic teams"];
partners.forEach((p, i) => {
s.addText("• " + p, {
x: 7.22, y: 1.62 + i * 0.55, w: 2.68, h: 0.45,
fontSize: 10, fontFace: "Arial", color: "CCEEEA",
align: "left", valign: "middle", margin: 0
});
});
s.addText("Full research proposal\navailable on request", {
x: 7.22, y: 4.55, w: 2.68, h: 0.6,
fontSize: 9.5, fontFace: "Arial", color: "AABBCC", italic: true,
align: "center", valign: "middle", margin: 0
});
footer(s);
slideNum(s, 5);
}
// ── Write file ───────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/autism-policy-brief/ASD_MOEST_Presentation.pptx" })
.then(() => console.log("Done"))
.catch(e => { console.error(e); process.exit(1); });
cd /home/daytona/workspace/autism-policy-brief && node build_pptx.js 2>&1
node -e "const p = require('pptxgenjs'); const pp = new p(); console.log(Object.…
sed -i 's/pres\.shapes\.ELLIPSE/pres.shapes.OVAL/g' /home/daytona/workspace/auti…
python3 -c " content = open('/home/daytona/workspace/autism-policy-brief/build_p…
node /home/daytona/workspace/autism-policy-brief/build_pptx.js 2>&1
python3 -c " import zipfile with zipfile.ZipFile('/home/daytona/workspace/autism…
ASD MOEST Presentation
Presentation · PPTX
| Slide | Theme | Design |
|---|---|---|
| 1 - Title | Dark navy + teal left panel split; MOEST attribution | Bold white title, amber accent line, "Presented to:" tag |
| 2 - The Problem | Light background, navy top band | 4 stat cards with amber numbers (250-300k / 1-in-100 / 0 studies), bold problem statement box |
| 3 - The Study | Light, two-column layout | Left: study specifications table (7 provinces / 11,500 children / 24 months); Right: 3 phase boxes with numbered circles |
| 4 - Policy Impact | Light, two-column layout | Left: 4 questions the Atlas answers for planners; Right: 5 numbered ministry recommendations |
| 5 - Call to Action | Dark navy + teal right panel | 3 action cards (endorse / fund NPR 1.5 crore / task force); Partners list on the right panel |