Hi I need to make a powerpoint presentation based on this MCQ ,refer standard textbooks and prepare a good powerpoint presentation at mbbs final year level with around 50 slides don't clutter and congest the slides give proper spacing diagrams and images from standard textbooks
ls /home/daytona/workspace/ 2>/dev/null || mkdir -p /home/daytona/workspace/criminal-abortion-ppt
mkdir -p /home/daytona/workspace/criminal-abortion-ppt && ls /home/daytona/workspace/
~/criminal-abortion-ppt/build.js
const pptxgen = require("pptxgenjs");
const { execSync } = require("child_process");
let pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Criminal Abortion & MTP Act";
pres.author = "Forensic Medicine - MBBS Final Year";
// ─── COLOR PALETTE ───────────────────────────────────────────────────
const C = {
darkBg: "1A1A2E", // deep navy – title slides
midBg: "16213E", // dark blue-navy – section headers
lightBg: "F4F6FB", // off-white – content slides
accent: "E94560", // crimson/red – headings & accents
accent2: "0F3460", // dark blue – sub-headings
white: "FFFFFF",
textDark: "1A1A2E",
textMid: "2C3E50",
textLight: "ECF0F1",
subtleGray:"D5D8DC",
green: "27AE60",
orange: "E67E22",
yellow: "F1C40F",
tableHead: "E94560",
tableAlt: "EBF5FB",
};
// ─── HELPERS ──────────────────────────────────────────────────────────
function fetchImg(url) {
try {
const r = JSON.parse(execSync(
`node /home/daytona/skills/shared/scripts/fetch_images.js "${url}"`,
{ timeout: 15000 }
).toString());
return (r[0] && !r[0].error) ? r[0].base64 : null;
} catch { return null; }
}
// Title slide helper
function titleSlide(title, subtitle, bgColor) {
let s = pres.addSlide();
// Background gradient via rectangle
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: bgColor || C.darkBg } });
// Red accent bar
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 4.8, w: 10, h: 0.825, fill: { color: C.accent } });
// Red left accent bar
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.08, h: 5.625, fill: { color: C.accent } });
// Title
s.addText(title, {
x: 0.3, y: 1.5, w: 9.4, h: 1.8,
fontSize: 38, bold: true, color: C.white, fontFace: "Calibri",
align: "center", valign: "middle"
});
if (subtitle) {
s.addText(subtitle, {
x: 0.3, y: 3.4, w: 9.4, h: 0.7,
fontSize: 18, color: "AEBFD7", fontFace: "Calibri",
align: "center", valign: "middle"
});
}
// Bottom label
s.addText("Forensic Medicine & Toxicology | MBBS Final Year", {
x: 0.3, y: 4.9, w: 9.4, h: 0.5,
fontSize: 13, color: C.white, fontFace: "Calibri",
align: "center", valign: "middle"
});
return s;
}
// Section divider slide helper
function sectionSlide(sectionNum, title, subtitle) {
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.midBg } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 2.4, w: 10, h: 0.06, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: C.accent } });
if (sectionNum) {
s.addText(sectionNum, {
x: 0.3, y: 0.6, w: 9.4, h: 0.8,
fontSize: 16, color: C.accent, bold: true, fontFace: "Calibri",
align: "center", charSpacing: 4
});
}
s.addText(title, {
x: 0.3, y: 1.5, w: 9.4, h: 1.6,
fontSize: 36, bold: true, color: C.white, fontFace: "Calibri",
align: "center", valign: "middle"
});
if (subtitle) {
s.addText(subtitle, {
x: 0.3, y: 3.2, w: 9.4, h: 0.7,
fontSize: 17, color: "AEBFD7", fontFace: "Calibri",
align: "center"
});
}
return s;
}
// Standard content slide
function contentSlide(title, bullets, options = {}) {
let s = pres.addSlide();
// White background
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightBg } });
// Top accent bar
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: C.accent } });
// Left accent bar
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.08, h: 5.625, fill: { color: C.accent } });
// Title background
s.addShape(pres.shapes.RECTANGLE, { x: 0.08, y: 0.08, w: 9.92, h: 0.78, fill: { color: C.accent2 } });
// Title text
s.addText(title, {
x: 0.2, y: 0.1, w: 9.6, h: 0.72,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri",
align: "left", valign: "middle", margin: 6
});
const bx = options.bx || 0.3;
const bw = options.bw || 9.4;
const by = options.by || 1.05;
const bh = options.bh || 4.3;
const fs = options.fontSize || 17;
if (bullets && bullets.length > 0) {
const items = bullets.map((b, i) => {
if (typeof b === "string") {
return {
text: b,
options: {
bullet: { indent: 20 },
fontSize: fs,
color: C.textMid,
breakLine: i < bullets.length - 1
}
};
}
// sub-bullet object: { text, sub: true }
return {
text: b.text,
options: {
bullet: { indent: 40 },
fontSize: b.fontSize || fs - 2,
color: b.color || C.textMid,
bold: b.bold || false,
breakLine: i < bullets.length - 1,
indentLevel: b.sub ? 1 : 0
}
};
});
s.addText(items, {
x: bx, y: by, w: bw, h: bh,
fontFace: "Calibri",
valign: "top",
lineSpacingMultiple: 1.25
});
}
return s;
}
// Two-column slide
function twoColSlide(title, leftItems, rightItems, leftTitle = "", rightTitle = "") {
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightBg } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.08, h: 5.625, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0.08, y: 0.08, w: 9.92, h: 0.78, fill: { color: C.accent2 } });
s.addText(title, {
x: 0.2, y: 0.1, w: 9.6, h: 0.72,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri",
align: "left", valign: "middle", margin: 6
});
// Divider
s.addShape(pres.shapes.RECTANGLE, { x: 5.08, y: 0.95, w: 0.04, h: 4.5, fill: { color: C.subtleGray } });
if (leftTitle) {
s.addShape(pres.shapes.RECTANGLE, { x: 0.15, y: 0.95, w: 4.75, h: 0.34, fill: { color: C.accent }, rectRadius: 0 });
s.addText(leftTitle, { x: 0.2, y: 0.95, w: 4.7, h: 0.32, fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
}
if (rightTitle) {
s.addShape(pres.shapes.RECTANGLE, { x: 5.2, y: 0.95, w: 4.7, h: 0.34, fill: { color: C.accent2 }, rectRadius: 0 });
s.addText(rightTitle, { x: 5.25, y: 0.95, w: 4.65, h: 0.32, fontSize: 13, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
}
const topOffset = leftTitle ? 1.38 : 1.05;
function buildBullets(items) {
return items.map((b, i) => ({
text: typeof b === "string" ? b : b.text,
options: {
bullet: { indent: 18 },
fontSize: typeof b === "object" && b.fontSize ? b.fontSize : 15,
color: typeof b === "object" && b.color ? b.color : C.textMid,
bold: typeof b === "object" ? b.bold || false : false,
breakLine: i < items.length - 1
}
}));
}
s.addText(buildBullets(leftItems), {
x: 0.2, y: topOffset, w: 4.7, h: 5.625 - topOffset - 0.2,
fontFace: "Calibri", valign: "top", lineSpacingMultiple: 1.3
});
s.addText(buildBullets(rightItems), {
x: 5.25, y: topOffset, w: 4.65, h: 5.625 - topOffset - 0.2,
fontFace: "Calibri", valign: "top", lineSpacingMultiple: 1.3
});
return s;
}
// Table slide
function tableSlide(title, headers, rows, colW) {
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightBg } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.08, h: 5.625, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0.08, y: 0.08, w: 9.92, h: 0.78, fill: { color: C.accent2 } });
s.addText(title, {
x: 0.2, y: 0.1, w: 9.6, h: 0.72,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri",
align: "left", valign: "middle", margin: 6
});
const tableData = [
headers.map(h => ({ text: h, options: { bold: true, color: C.white, fill: C.tableHead, align: "center", fontSize: 14 } })),
...rows.map((r, ri) => r.map(cell => ({
text: cell,
options: { color: C.textMid, fill: ri % 2 === 0 ? "FFFFFF" : C.tableAlt, fontSize: 13, align: "left" }
})))
];
s.addTable(tableData, {
x: 0.2, y: 1.05, w: 9.6, h: 4.3,
colW: colW || Array(headers.length).fill(9.6 / headers.length),
rowH: 0.38,
fontFace: "Calibri",
border: { pt: 1, color: C.subtleGray },
autoPage: false
});
return s;
}
// ─── IMAGE DOWNLOAD ───────────────────────────────────────────────────
console.log("Fetching images...");
const img_instruments = fetchImg("https://cdn.orris.care/cdss_images/cbf1c51be131df73394cdccb2ebdd404940421bf3c4da5d836aaaee03f7b89e5.png");
console.log("img_instruments:", img_instruments ? "OK" : "FAILED");
// ══════════════════════════════════════════════════════════════════════
// SLIDES BEGIN
// ══════════════════════════════════════════════════════════════════════
// ─── SLIDE 1: Title ───────────────────────────────────────────────────
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkBg } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 4.5, w: 10, h: 1.125, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.1, h: 5.625, fill: { color: C.accent } });
// Red circle decoration
s.addShape(pres.shapes.OVAL, { x: 7.5, y: -0.5, w: 4, h: 4, fill: { color: C.accent, transparency: 85 } });
s.addShape(pres.shapes.OVAL, { x: -1.5, y: 3, w: 4, h: 4, fill: { color: C.accent2, transparency: 75 } });
s.addText("FORENSIC MEDICINE & TOXICOLOGY", {
x: 0.3, y: 0.4, w: 9.4, h: 0.5,
fontSize: 13, color: C.accent, bold: true, fontFace: "Calibri",
align: "center", charSpacing: 3
});
s.addText("Criminal Abortion", {
x: 0.3, y: 0.95, w: 9.4, h: 1.3,
fontSize: 46, bold: true, color: C.white, fontFace: "Calibri",
align: "center", valign: "middle"
});
s.addText("& the MTP Act", {
x: 0.3, y: 2.2, w: 9.4, h: 0.85,
fontSize: 34, bold: false, color: "AEBFD7", fontFace: "Calibri",
align: "center"
});
s.addShape(pres.shapes.RECTANGLE, { x: 3.5, y: 3.15, w: 3, h: 0.04, fill: { color: C.accent } });
s.addText("Medico-Legal Duties • Methods • Complications • 2021 Amendment", {
x: 0.3, y: 3.3, w: 9.4, h: 0.5,
fontSize: 14, color: "7FB3D3", fontFace: "Calibri",
align: "center"
});
s.addText("MBBS Final Year | P C Dikshit • KS Narayan Reddy • Parikh's Textbook", {
x: 0.3, y: 4.6, w: 9.4, h: 0.4,
fontSize: 12, color: C.white, fontFace: "Calibri",
align: "center"
});
}
// ─── SLIDE 2: Clinical Scenario ───────────────────────────────────────
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: "0D1B2A" } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.08, h: 5.625, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: C.accent } });
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: 0.4, y: 0.7, w: 9.2, h: 3.8, fill: { color: "162032" }, rectRadius: 0.15,
shadow: { type: "outer", color: "000000", blur: 20, offset: 4, angle: 135, opacity: 0.4 }
});
s.addShape(pres.shapes.RECTANGLE, { x: 0.4, y: 0.7, w: 9.2, h: 0.5, fill: { color: C.accent } });
s.addText("CLINICAL SCENARIO", {
x: 0.5, y: 0.72, w: 9, h: 0.44,
fontSize: 14, bold: true, color: C.white, fontFace: "Calibri",
align: "center", valign: "middle", charSpacing: 3
});
s.addText("A 25-year-old female was brought to casualty\nwith bleeding per vagina.\n\nAs per history, she was treated by an\nunregistered abortionist and resulted in bleeding.", {
x: 0.7, y: 1.3, w: 8.7, h: 2.8,
fontSize: 21, color: C.white, fontFace: "Calibri",
align: "center", valign: "middle", lineSpacingMultiple: 1.5
});
s.addShape(pres.shapes.RECTANGLE, { x: 0.08, y: 4.65, w: 9.92, h: 0.78, fill: { color: C.accent2 } });
s.addText([
{ text: "a) Medico-legal duties ", options: { color: C.yellow, bold: true } },
{ text: " b) Methods of criminal abortion ", options: { color: "#7DCDBE", bold: true } },
{ text: " c) Complications ", options: { color: "#F8A5C2", bold: true } },
{ text: " d) MTP Act 1971 & 2021 Amendment", options: { color: "#A29BFE", bold: true } }
], {
x: 0.2, y: 4.68, w: 9.6, h: 0.6,
fontSize: 12, fontFace: "Calibri", align: "center", valign: "middle"
});
}
// ─── SLIDE 3: Table of Contents ───────────────────────────────────────
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightBg } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.08, h: 5.625, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0.08, y: 0.08, w: 9.92, h: 0.78, fill: { color: C.accent2 } });
s.addText("Contents", {
x: 0.2, y: 0.1, w: 9.6, h: 0.72,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri",
align: "left", valign: "middle", margin: 6
});
const sections = [
["01", "Abortion — Definitions & Classification", C.accent],
["02", "Criminal Abortion — Overview", C.accent2],
["03", "Medico-Legal Duties of the Doctor", "#1ABC9C"],
["04", "Methods of Criminal Abortion", C.orange],
["05", "Complications of Criminal Abortion", "#9B59B6"],
["06", "MTP Act 1971 — Original Provisions", "#2980B9"],
["07", "MTP Amendment Act 2021 — Key Changes", C.accent],
["08", "MTP vs Criminal Abortion — Comparison", C.accent2],
["09", "Medico-Legal Autopsy Findings", "#1ABC9C"],
["10", "Summary & Clinical Pearls", C.orange],
];
sections.forEach(([num, text, col], i) => {
const col2 = i < 5 ? 0.2 : 5.1;
const row = i % 5;
const y = 1.05 + row * 0.85;
s.addShape(pres.shapes.RECTANGLE, { x: col2, y: y, w: 0.5, h: 0.6, fill: { color: col } });
s.addText(num, { x: col2, y: y, w: 0.5, h: 0.6, fontSize: 16, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
s.addText(text, { x: col2 + 0.6, y: y + 0.06, w: 4.3, h: 0.5, fontSize: 14, color: C.textMid, fontFace: "Calibri", valign: "middle" });
});
}
// ═══════════════════════════════════════════════════════════
// SECTION 1: DEFINITIONS & CLASSIFICATION
// ═══════════════════════════════════════════════════════════
sectionSlide("SECTION 01", "Abortion", "Definitions & Classification");
// SLIDE 5: Medical vs Legal Definition
twoColSlide(
"Definitions of Abortion",
[
{ text: "MEDICAL DEFINITION", bold: true, color: C.accent, fontSize: 16 },
"Spontaneous or induced expulsion of products of conception before viability (28 weeks)",
"Abortion → 1st trimester",
"Miscarriage → 2nd trimester",
"Premature labor → 3rd trimester",
{ text: "(P C Dikshit, Forensic Medicine)", color: "#7F8C8D", fontSize: 12 }
],
[
{ text: "LEGAL DEFINITION", bold: true, color: C.accent2, fontSize: 16 },
"Expulsion of products of conception from uterus at any period prior to full term",
"Law makes NO distinction between abortion, miscarriage, and premature labor",
"Products of conception include:",
" • Ovum: 7–10 days gestation",
" • Embryo: 10 days → end of 9th week",
" • Fetus: > 9 weeks → birth"
],
"Medical", "Legal"
);
// SLIDE 6: Classification of Abortion
contentSlide("Classification of Abortion", [
{ text: "I. NATURAL ABORTION", bold: true, color: C.accent, fontSize: 18 },
" a) Spontaneous — due to natural causes before 28 weeks",
" b) Accidental — due to trauma or accident",
{ text: "II. ARTIFICIAL (INDUCED) ABORTION", bold: true, color: C.accent2, fontSize: 18 },
" a) Justifiable / Therapeutic — legal, under MTP Act",
" b) Criminal — unlawful termination without proper indication",
{ text: "III. CLINICAL TYPES", bold: true, color: "#1ABC9C", fontSize: 18 },
" Threatened • Inevitable • Incomplete • Complete",
" Missed • Septic • Habitual (recurrent — 3 consecutive)"
], { fontSize: 16 });
// SLIDE 7: Clinical Types Detail
twoColSlide(
"Clinical Types of Abortion",
[
{ text: "Threatened Abortion", bold: true, color: C.accent },
"Moderate vaginal bleeding + mild pain",
"Cervical os — CLOSED",
"",
{ text: "Inevitable Abortion", bold: true, color: C.accent },
"Severe pain + increased contractions",
"Cervical os — DILATED",
"",
{ text: "Incomplete Abortion", bold: true, color: C.accent },
"Continuous bleeding from placental site",
"Retention of placenta → severe anemia"
],
[
{ text: "Missed Abortion", bold: true, color: C.accent2 },
"Fetus dies in utero, retained > 8 weeks",
"Products converted to carneous/blood mole",
"",
{ text: "Habitual Abortion", bold: true, color: C.accent2 },
"Occurs at 3 or more consecutive pregnancies",
"",
{ text: "Septic Abortion", bold: true, color: C.accent2 },
"Complication of incomplete abortion",
"Organisms: Cl. welchii, E. coli,",
"Strep. pyogenes, Staph. aureus"
]
);
// ═══════════════════════════════════════════════════════════
// SECTION 2: CRIMINAL ABORTION
// ═══════════════════════════════════════════════════════════
sectionSlide("SECTION 02", "Criminal Abortion", "Definition, Legality & IPC Provisions");
// SLIDE 9: Criminal Abortion — Definition & Law
contentSlide("Criminal Abortion — Definition & Law", [
{ text: "Definition", bold: true, color: C.accent, fontSize: 18 },
"Intentional termination of pregnancy without lawful justification — performed by an unqualified person outside the provisions of the MTP Act",
"",
{ text: "IPC Sections (pre-BNS era)", bold: true, color: C.accent2, fontSize: 18 },
" IPC Sec 312 — Causing miscarriage: 3 yrs + fine (simple), 7 yrs + fine (woman herself)",
" IPC Sec 313 — Without woman's consent: Life imprisonment or 10 yrs + fine",
" IPC Sec 314 — Death of woman caused: 10 yrs or life; life if no consent",
" IPC Sec 315 — Act to prevent child being born alive: 10 yrs or fine or both",
" IPC Sec 316 — Causing death of quick unborn child: 10 yrs + fine",
], { fontSize: 15 });
// SLIDE 10: Who is at Risk?
contentSlide("Who Performs Criminal Abortion?", [
{ text: "Common Performers", bold: true, color: C.accent, fontSize: 18 },
" • Unregistered abortionists (dais, quacks)",
" • Self-induced by the woman herself",
" • Unqualified practitioners",
"",
{ text: "Common Motives", bold: true, color: C.accent2, fontSize: 18 },
" • Illegitimate pregnancy / social stigma",
" • Failure of contraception",
" • Poverty, inability to support child",
" • Extramarital affair",
" • Sex selection (in some regions)",
"",
{ text: "Key Point", bold: true, color: "#1ABC9C", fontSize: 16 },
" Criminal abortion is responsible for significant maternal morbidity and mortality in developing countries"
], { fontSize: 16 });
// ═══════════════════════════════════════════════════════════
// SECTION 3: MEDICO-LEGAL DUTIES
// ═══════════════════════════════════════════════════════════
sectionSlide("SECTION 03", "Medico-Legal Duties of the Doctor", "When a case of suspected criminal abortion presents");
// SLIDE 12: Immediate Duties
contentSlide("Immediate Duties of the Doctor — Step 1: Treat First", [
{ text: "The treating doctor's PRIMARY duty is to the patient", bold: true, color: C.accent, fontSize: 18 },
"",
"1. Stabilize the patient — manage hemorrhage, treat shock",
"2. Assess and manage complications (sepsis, perforation, retained products)",
"3. Arrange blood transfusion if required",
"4. Take detailed history — nature of procedure, substances used, timeline",
"5. Perform thorough general and gynecological examination",
"6. Order relevant investigations: CBC, coagulation, cultures, imaging",
"",
{ text: "Remember: Treatment takes priority over medico-legal formalities", bold: true, color: C.green, fontSize: 15 }
], { fontSize: 16 });
// SLIDE 13: Medico-Legal Duties — Reporting
contentSlide("Medico-Legal Duties — Reporting & Documentation", [
{ text: "Mandatory Reporting", bold: true, color: C.accent, fontSize: 18 },
" • File MLC (Medico-Legal Case) immediately upon admission",
" • Inform the police — suspected criminal abortion is a cognizable offense",
" • Preserve all evidence (instruments, foreign bodies, abortifacient substances)",
"",
{ text: "Documentation", bold: true, color: C.accent2, fontSize: 18 },
" • Record history in the patient's own words — verbatim in case notes",
" • Note time, date of examination and all physical findings",
" • Describe nature, site, and extent of all injuries",
" • Record general condition: pallor, pulse, BP, signs of sepsis",
"",
{ text: "Evidence Preservation", bold: true, color: "#1ABC9C", fontSize: 18 },
" • Preserve vaginal swabs, blood, urine, vomitus for chemical analysis",
" • Retain any expelled products of conception for examination"
], { fontSize: 15 });
// SLIDE 14: Examination Findings
contentSlide("Clinical Examination — What to Look For", [
{ text: "General Examination", bold: true, color: C.accent, fontSize: 17 },
" • Pallor, tachycardia, hypotension (hemorrhagic shock)",
" • Fever, rigors (septic abortion)",
" • Signs of drug/chemical toxicity (if abortifacients used)",
"",
{ text: "Local Examination (with speculum)", bold: true, color: C.accent2, fontSize: 17 },
" • Vaginal canal: erosions, lacerations, foreign bodies",
" • Cervix: marks of vulsellum forceps, fissures, lacerations",
" • Cervical os: open/partially open (with products visible)",
" • Products of conception at os or in vagina",
"",
{ text: "Uterus", bold: true, color: "#1ABC9C", fontSize: 17 },
" • Size corresponds to gestational age",
" • Tenderness: peritoneal involvement / uterine perforation"
], { fontSize: 16 });
// SLIDE 15: Special Duties — Confidentiality
contentSlide("Duty of Confidentiality & Consent", [
{ text: "Confidentiality under MTP Act (Section 5A, post-2021 Amendment)", bold: true, color: C.accent, fontSize: 17 },
" • No RMP shall reveal the name/details of the woman",
" • Except to a person authorized by law",
" • Violation is punishable with fine and/or imprisonment",
"",
{ text: "Consent Issues", bold: true, color: C.accent2, fontSize: 17 },
" • Adult woman (≥18 yrs): Only her own written consent required",
" • Minor (<18 yrs) / Mentally ill: Guardian's consent required",
" • Husband or family: NOT required legally",
"",
{ text: "Duty to Cooperate with Investigation", bold: true, color: "#1ABC9C", fontSize: 17 },
" • Provide factual medical opinion to police/court if summoned",
" • Medico-legal report must be objective and factual",
" • Doctor may be called as expert witness"
], { fontSize: 16 });
// SLIDE 16: Summary Box — Duties
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightBg } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.08, h: 5.625, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0.08, y: 0.08, w: 9.92, h: 0.78, fill: { color: C.accent2 } });
s.addText("Medico-Legal Duties — Quick Summary", {
x: 0.2, y: 0.1, w: 9.6, h: 0.72,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri",
align: "left", valign: "middle", margin: 6
});
const duties = [
["1", "TREAT", "Immediate resuscitation, manage hemorrhage & sepsis", C.accent],
["2", "RECORD", "MLC, verbatim history, detailed examination findings", C.accent2],
["3", "REPORT", "Inform police (cognizable offense)", "#1ABC9C"],
["4", "PRESERVE", "Evidence: swabs, products, foreign bodies, instruments", C.orange],
["5", "PROTECT", "Patient confidentiality (Section 5A MTP Act)", "#9B59B6"],
["6", "COOPERATE", "With police investigation; provide expert evidence", "#2980B9"],
];
duties.forEach(([num, kw, desc, col], i) => {
const col2 = i < 3 ? 0.2 : 5.1;
const row = i % 3;
const y = 1.05 + row * 1.35;
s.addShape(pres.shapes.RECTANGLE, { x: col2, y: y, w: 0.55, h: 0.9, fill: { color: col } });
s.addText(num, { x: col2, y: y, w: 0.55, h: 0.9, fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
s.addShape(pres.shapes.RECTANGLE, { x: col2 + 0.55, y: y, w: 4.2, h: 0.9, fill: { color: col, transparency: 80 } });
s.addText(kw, { x: col2 + 0.6, y: y, w: 4.1, h: 0.4, fontSize: 16, bold: true, color: col, fontFace: "Calibri", valign: "middle", margin: 4 });
s.addText(desc, { x: col2 + 0.6, y: y + 0.4, w: 4.1, h: 0.5, fontSize: 12, color: C.textMid, fontFace: "Calibri", valign: "middle", margin: 4 });
});
}
// ═══════════════════════════════════════════════════════════
// SECTION 4: METHODS OF CRIMINAL ABORTION
// ═══════════════════════════════════════════════════════════
sectionSlide("SECTION 04", "Methods of Criminal Abortion", "Abortifacient Drugs • Mechanical Methods • Systemic Methods");
// SLIDE 18: Overview of Methods
contentSlide("Overview — Methods of Criminal Abortion", [
{ text: "Timeline of attempts (KS Narayan Reddy)", bold: true, color: C.accent, fontSize: 17 },
" Up to end of 1st month: Violent exercise, hot baths, purgatives",
" Up to end of 2nd month: Abortifacient drugs (when suspicion = certainty)",
" 3rd–4th month: Mechanical interference when drugs fail",
"",
{ text: "Classification of Methods", bold: true, color: C.accent2, fontSize: 17 },
" A. Abortifacient Drugs",
" i. Systemic (oral/parenteral) ii. Local (vaginal/uterine application)",
" B. Mechanical Methods",
" i. Instrumental (intrauterine) ii. Dilation of cervix",
" C. Systemic Methods",
" i. Violent exercise ii. Trauma / Violence",
], { fontSize: 16 });
// SLIDE 19: Abortifacient Drugs — Ecbolics
contentSlide("Abortifacient Drugs — Ecbolics (Act on Uterus Directly)", [
{ text: "Ecbolics — increase uterine contraction", bold: true, color: C.accent, fontSize: 17 },
" ⚠ Do NOT dilate cervix — expulsion often incomplete",
"",
{ text: "Ergot", bold: true, color: C.accent2 },
" Most commonly used • Acts more in advanced pregnancy",
" Side effects: arterial spasm, gangrene of extremities",
"",
{ text: "Quinine", bold: true, color: C.accent2 },
" Direct action on uterus/uterine nerves — unreliable",
"",
{ text: "Lead (diachylon / lead plaster)", bold: true, color: C.accent2 },
" Tonic contractions + direct toxic effect on ovum",
" Symptoms of lead poisoning may precede abortion",
"",
{ text: "Pituitary extracts (Oxytocin)", bold: true, color: C.accent2 },
" Specific oxytocic effect — significant only near term"
], { fontSize: 15 });
// SLIDE 20: Abortifacient Drugs — Irritants
contentSlide("Abortifacient Drugs — Systemic Irritants & Others", [
{ text: "Irritant Drugs (cause systemic toxicity)", bold: true, color: C.accent, fontSize: 17 },
" Cantharides (Sp. fly) — GI + urinary tract irritant",
" Phosphorus, Arsenic, Mercury compounds",
" Oil of pennyroyal, Oil of savin (Juniperus sabina)",
" Rue (Ruta graveolens), Ergot of rye",
"",
{ text: "Local Abortifacients (applied to vagina/cervix)", bold: true, color: C.accent2, fontSize: 17 },
" Potassium permanganate tablets — produce severe chemical burns",
" Caustic soda, phenol, lysol",
" Slippery elm bark — placed in cervical canal; absorbs moisture, swells",
" Paste of arsenic compounds, mercuric chloride",
"",
{ text: "Mechanism", bold: true, color: "#1ABC9C", fontSize: 15 },
" Irritate uterine mucosa → congestion → bleeding → contractions → expulsion"
], { fontSize: 15 });
// SLIDE 21: Mechanical Methods
contentSlide("Mechanical Methods of Criminal Abortion", [
{ text: "A. Intrauterine Instrumentation", bold: true, color: C.accent, fontSize: 17 },
" Instruments introduced through cervix into uterine cavity",
" Knitting needles, sounds, catheters, bougie, curettes, syringe",
" High risk: perforation of uterus, hemorrhage, sepsis",
"",
{ text: "B. Abortion Stick", bold: true, color: C.accent2, fontSize: 17 },
" Thin bamboo/wood stick 12–18 cm long",
" Wrapped in cotton soaked with juice of marking nut, calotropis, arsenic, mercury",
" Introduced into vagina/cervical os — retained until contractions begin",
" Used by 'dais' and traditional abortionists",
"",
{ text: "C. Syringe Aspiration", bold: true, color: "#1ABC9C", fontSize: 17 },
" Large syringe + catheter → suction ruptures chorionic sac → expulsion",
], { fontSize: 15 });
// SLIDE 22: Instruments Image slide
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightBg } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.08, h: 5.625, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0.08, y: 0.08, w: 9.92, h: 0.78, fill: { color: C.accent2 } });
s.addText("Common Instruments Used in Criminal Abortion", {
x: 0.2, y: 0.1, w: 9.6, h: 0.72,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri",
align: "left", valign: "middle", margin: 6
});
if (img_instruments) {
s.addImage({ data: img_instruments, x: 1.5, y: 1.0, w: 7, h: 3.8, altText: "Instruments used in criminal abortion" });
} else {
s.addText("(See Fig. 17.1 — KS Narayan Reddy, Essentials of Forensic Medicine)", {
x: 0.3, y: 2.0, w: 9.4, h: 1.5, fontSize: 18, color: C.textMid, fontFace: "Calibri", align: "center"
});
}
s.addText("Fig. 17.1: Common instruments used to procure criminal abortion\n(KS Narayan Reddy — Essentials of Forensic Medicine & Toxicology, 36th Ed.)", {
x: 0.3, y: 4.9, w: 9.4, h: 0.55, fontSize: 11, color: "#7F8C8D", fontFace: "Calibri", align: "center"
});
}
// SLIDE 23: Cervical Dilation Methods
contentSlide("Cervical Dilation Methods", [
{ text: "Laminaria Tent", bold: true, color: C.accent, fontSize: 17 },
" Dried stalk of seaweed; absorbs moisture and swells → dilates cervix",
" Used after 8 weeks in nulliparous women / rigid cervix",
"",
{ text: "Slippery Elm Bark", bold: true, color: C.accent2, fontSize: 17 },
" Flat pieces inserted into cervical canal",
" Forms jelly-like layer → cervical dilation",
"",
{ text: "Compressed Sponge", bold: true, color: "#1ABC9C", fontSize: 17 },
" Introduced into cervix; swells with moisture → expulsion",
"",
{ text: "Pessaries / Obturators", bold: true, color: C.orange, fontSize: 17 },
" Left in cervical canal → irritate uterine mucosa → congestion + contractions",
"",
{ text: "Mechanism of Cervical Dilation", bold: true, color: "#7F8C8D", fontSize: 15 },
" All → physical dilation + uterine irritation → contractions → abortion"
], { fontSize: 15 });
// SLIDE 24: Summary Table — Methods
tableSlide(
"Summary: Methods of Criminal Abortion",
["Category", "Agent / Method", "Mechanism", "Main Risk"],
[
["Ecbolic drugs", "Ergot, Quinine, Lead", "Uterine contractions", "Systemic toxicity"],
["Irritant drugs", "Cantharides, Phosphorus", "GI/GU irritation → contractions", "Death from toxicity"],
["Local drugs", "KMnO₄, Arsenic paste", "Chemical burn + irritation", "Tissue necrosis, sepsis"],
["Abortion stick", "Bamboo + irritant paste", "Chemical irritation of uterus", "Tetanus, perforation"],
["Instruments", "Catheter, sound, curette", "Physical disruption of fetus", "Hemorrhage, perforation"],
["Cervical dilators", "Laminaria, sponge", "Cervical dilation", "Incomplete abortion"],
["Aspiration", "Syringe + catheter", "Suction ruptures chorionic sac", "Air embolism"],
],
[2.5, 2.5, 2.8, 1.8]
);
// ═══════════════════════════════════════════════════════════
// SECTION 5: COMPLICATIONS
// ═══════════════════════════════════════════════════════════
sectionSlide("SECTION 05", "Complications of Criminal Abortion", "Immediate • Delayed • Fatal");
// SLIDE 26: Hemorrhage
contentSlide("Complications — Hemorrhage (Most Common Immediate)", [
{ text: "Primary Hemorrhage", bold: true, color: C.accent, fontSize: 17 },
" Occurs at the time of procedure",
" Lacerations of cervix, vagina, uterine wall",
" Uterine perforation with injury to iliac vessels",
" Retained products of conception → continued bleeding",
"",
{ text: "Secondary Hemorrhage", bold: true, color: C.accent2, fontSize: 17 },
" Occurs days later due to sepsis, sloughing at placental site",
"",
{ text: "Management reminders", bold: true, color: "#1ABC9C", fontSize: 17 },
" IV fluids, blood transfusion, uterotonic drugs",
" Emergency suction evacuation / D&C",
" Hysterectomy if uterus perforated with uncontrollable bleeding"
], { fontSize: 16 });
// SLIDE 27: Infection & Sepsis
contentSlide("Complications — Infection & Sepsis", [
{ text: "Organisms responsible", bold: true, color: C.accent, fontSize: 17 },
" • Clostridium welchii (Cl. perfringens)",
" • Escherichia coli",
" • Streptococcus pyogenes",
" • Staphylococcus aureus",
" • Anaerobic streptococci",
"",
{ text: "Spread of infection", bold: true, color: C.accent2, fontSize: 17 },
" Endometrium → placental site → myometrium → tubes → peritoneum",
"",
{ text: "Conditions resulting", bold: true, color: "#1ABC9C", fontSize: 17 },
" Endometritis → Salpingitis → Peritonitis → Septicemia",
" Septic shock → Multi-organ failure → DEATH",
"",
{ text: "Strong antiseptics paradoxically worsen infection", bold: true, color: C.accent, fontSize: 14 },
" Surface tissue necrosis from caustic agents encourages bacterial growth"
], { fontSize: 15 });
// SLIDE 28: Uterine Perforation
contentSlide("Complications — Uterine Perforation", [
{ text: "Mechanism", bold: true, color: C.accent, fontSize: 17 },
" Instruments introduced blindly by untrained abortionists",
" Perforation most common at fundus or posterior uterine wall",
" Broken instrument fragments may remain in cavity",
"",
{ text: "Consequences", bold: true, color: C.accent2, fontSize: 17 },
" Intraperitoneal hemorrhage → hemorrhagic shock",
" Injury to bowel, bladder, ureters, major vessels",
" Peritonitis if bowel perforated",
"",
{ text: "Diagnosis", bold: true, color: "#1ABC9C", fontSize: 17 },
" Sudden severe pain during procedure",
" Abdominal rigidity, guarding, tenderness",
" USG / CT abdomen confirms free fluid / pneumoperitoneum",
"",
{ text: "Treatment: Emergency laparotomy", bold: true, color: C.accent, fontSize: 15 }
], { fontSize: 15 });
// SLIDE 29: Air Embolism + Chemical Poisoning
twoColSlide(
"Complications — Air Embolism & Chemical Poisoning",
[
{ text: "Air / Fluid Embolism", bold: true, color: C.accent, fontSize: 15 },
"Occurs with syringe aspiration or irrigation",
"Air enters open venous sinuses of uterus",
"Can be FATAL — immediate cardiac arrest",
"",
{ text: "Signs at autopsy", bold: true, color: C.accent2 },
"Right heart filled with frothy blood",
"Marbled appearance of skin",
"Air in heart found on percussion"
],
[
{ text: "Chemical / Drug Toxicity", bold: true, color: C.accent, fontSize: 15 },
"Cantharides → severe GI + renal damage",
"Phosphorus → acute liver failure",
"Potassium permanganate → oral/vaginal burns",
"Ergot → arterial spasm, gangrene",
"Lead → systemic lead poisoning",
"",
{ text: "Antiseptic overdose", bold: true, color: C.accent2 },
"Lysol, phenol, Dettol → mucosal burns",
"Potassium permanganate tablets → deep vaginal ulcers"
]
);
// SLIDE 30: Tetanus + Retained Products
twoColSlide(
"Complications — Tetanus & Retained Products",
[
{ text: "Tetanus", bold: true, color: C.accent, fontSize: 15 },
"Classic complication of abortion stick use",
"Clostridium tetani introduced via contaminated stick",
"Trismus, risus sardonicus, opisthotonus",
"High mortality without ICU care",
"",
{ text: "Gangrene", bold: true, color: C.accent2 },
"Gas gangrene — Cl. welchii",
"Rapid spread, fatal if not treated early",
"Requires surgical debridement + hyperbaric O₂"
],
[
{ text: "Retained Products of Conception", bold: true, color: C.accent2, fontSize: 15 },
"Incomplete evacuation → continued bleeding",
"Nidus for infection",
"DIC in cases of long-standing retention",
"",
{ text: "Future Reproductive Consequences", bold: true, color: C.accent },
"Asherman syndrome (intrauterine adhesions)",
"Cervical incompetence",
"Chronic pelvic inflammatory disease",
"Infertility / recurrent abortion",
"Ectopic pregnancy risk increased"
]
);
// SLIDE 31: Summary Table — Complications
tableSlide(
"Summary: Complications of Criminal Abortion",
["Category", "Complication", "Key Feature"],
[
["Hemorrhagic", "Primary / Secondary hemorrhage", "Most common immediate cause of death"],
["Infective", "Septicemia, peritonitis", "Cl. welchii, E. coli — most dangerous"],
["Traumatic", "Uterine perforation", "Instruments, bowel/bladder injury"],
["Embolic", "Air embolism", "Fatal — syringe/irrigation methods"],
["Toxic", "Drug / chemical poisoning", "Phosphorus, cantharides, KMnO₄"],
["Neurological", "Tetanus", "Contaminated abortion stick"],
["Delayed", "Infertility, Asherman syndrome", "Long-term reproductive consequences"],
],
[2.2, 4.0, 3.4]
);
// ═══════════════════════════════════════════════════════════
// SECTION 6: MTP ACT 1971 — ORIGINAL
// ═══════════════════════════════════════════════════════════
sectionSlide("SECTION 06", "MTP Act, 1971", "Original Provisions — The Medical Termination of Pregnancy Act");
// SLIDE 33: Why was the MTP Act needed?
contentSlide("MTP Act 1971 — Background & Purpose", [
{ text: "Background", bold: true, color: C.accent, fontSize: 17 },
" Before 1971, ALL abortions were illegal under IPC Sections 312–316",
" Millions of unsafe abortions → major cause of maternal mortality",
" Need for a humane, legally safe framework for therapeutic termination",
"",
{ text: "Enacted", bold: true, color: C.accent2, fontSize: 17 },
" Act No. 34 of 1971 — enacted by Parliament of India",
" Came into force: 1 April 1972",
"",
{ text: "Aim of the Act", bold: true, color: "#1ABC9C", fontSize: 17 },
" Reduce maternal morbidity and mortality from unsafe abortions",
" Balance ethical, legal, and medical concerns",
" Ensure abortions are performed by qualified practitioners in approved facilities"
], { fontSize: 16 });
// SLIDE 34: Structure of MTP Act 1971
tableSlide(
"Structure of the MTP Act, 1971",
["Section", "Title / Description"],
[
["Section 1", "Short title, extent, and commencement"],
["Section 2", "Definitions"],
["Section 3", "When pregnancies may be terminated — Indications"],
["Section 4", "Place where pregnancy may be terminated"],
["Section 5", "Termination in emergency (no time limit)"],
["Section 6", "Power to make rules"],
["Sections 7–8", "Power to make regulations + protect actions in good faith"],
],
[1.8, 7.8]
);
// SLIDE 35: Indications under original MTP Act
contentSlide("Indications for MTP under 1971 Act (Section 3)", [
{ text: "1. Therapeutic", bold: true, color: C.accent, fontSize: 17 },
" Risk to LIFE of pregnant woman, or grave injury to her physical or mental health",
"",
{ text: "2. Eugenic", bold: true, color: C.accent2, fontSize: 17 },
" Substantial risk that child would suffer from serious physical or mental abnormality",
" NO time limit for eugenic indication (post 2021 Amendment: Medical Board needed)",
" E.g., maternal infection (rubella, toxoplasmosis), teratogenic drugs, radiotherapy",
"",
{ text: "3. Social / Contraceptive Failure", bold: true, color: "#1ABC9C", fontSize: 17 },
" Failure of contraceptive device or method (originally: married woman only)",
" Anguish = grave injury to mental health",
" Applicable below 20 weeks (original act)",
"",
{ text: "4. Humanitarian", bold: true, color: C.orange, fontSize: 17 },
" Pregnancy caused by rape → mental anguish = grave injury to mental health"
], { fontSize: 15 });
// SLIDE 36: Qualifications & Place — 1971
twoColSlide(
"Qualifications of Practitioner & Place of MTP",
[
{ text: "Qualified RMP Must Have:", bold: true, color: C.accent, fontSize: 15 },
"PG degree/diploma in OBG",
"OR assisted 25 MTP cases",
"OR 6 months as house surgeon in OBG",
" (in a recognized hospital)",
"",
{ text: "Two RMPs needed for:", bold: true, color: C.accent2, fontSize: 14 },
"> 12 weeks (original 1971 Act)",
"Up to 20 weeks only allowed"
],
[
{ text: "Approved Place:", bold: true, color: C.accent2, fontSize: 15 },
"Government hospitals",
"Hospitals approved by Government",
"Must have:",
" • Aseptic surgical environment",
" • Emergency resuscitation",
" • Blood transfusion facilities",
" • Postprocedure care",
"",
{ text: "Record keeping:", bold: true, color: "#1ABC9C" },
"Opinions kept confidential",
"Forms I, II, III to be maintained"
]
);
// SLIDE 37: Time Limits (Original 1971)
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightBg } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.08, h: 5.625, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0.08, y: 0.08, w: 9.92, h: 0.78, fill: { color: C.accent2 } });
s.addText("Time Limits for MTP — Original 1971 Act", {
x: 0.2, y: 0.1, w: 9.6, h: 0.72,
fontSize: 22, bold: true, color: C.white, fontFace: "Calibri",
align: "left", valign: "middle", margin: 6
});
// 3 boxes
const boxes = [
["Up to 12 weeks", "One RMP Opinion\nSufficient", "#27AE60"],
["12 – 20 weeks", "TWO RMP\nOpinions Needed", "#E67E22"],
["After 20 weeks\n(Original Act)", "NOT PERMITTED\nexcept emergency", C.accent],
];
boxes.forEach(([dur, cond, col], i) => {
s.addShape(pres.shapes.RECTANGLE, { x: 0.4 + i * 3.1, y: 1.1, w: 2.9, h: 3.5, fill: { color: col, transparency: 0 } });
s.addText(dur, { x: 0.4 + i * 3.1, y: 1.2, w: 2.9, h: 1.0, fontSize: 20, bold: true, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
s.addText(cond, { x: 0.4 + i * 3.1, y: 2.3, w: 2.9, h: 1.8, fontSize: 17, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
});
s.addText("Exception: Section 5 — Emergency (no time limit if necessary to save mother's life)", {
x: 0.3, y: 4.8, w: 9.4, h: 0.5, fontSize: 13, color: C.textMid, fontFace: "Calibri", align: "center"
});
}
// ═══════════════════════════════════════════════════════════
// SECTION 7: MTP AMENDMENT ACT 2021
// ═══════════════════════════════════════════════════════════
sectionSlide("SECTION 07", "MTP Amendment Act, 2021", "Key Changes — Came into force 25 March 2021");
// SLIDE 39: What Changed in 2021?
contentSlide("MTP Amendment Act 2021 — Key Changes", [
{ text: "1. Extended Gestational Limits", bold: true, color: C.accent, fontSize: 17 },
" Old: Up to 20 weeks (2 RMPs needed for 12–20 wks)",
" New: Up to 24 weeks for special categories (2 RMPs needed)",
"",
{ text: "2. Unmarried Women Included", bold: true, color: C.accent2, fontSize: 17 },
" Contraceptive failure clause extended to UNMARRIED women",
" Previously available to married women only",
"",
{ text: "3. Privacy Clause Strengthened", bold: true, color: "#1ABC9C", fontSize: 17 },
" Section 5A: RMP must NOT disclose woman's identity",
" Except to person authorized by law",
" Violation: Fine + Imprisonment",
"",
{ text: "4. Medical Board for Beyond 24 Weeks", bold: true, color: C.orange, fontSize: 17 },
" State Government constitutes Medical Board",
" Handles cases: severe fetal anomalies beyond 24 weeks"
], { fontSize: 16 });
// SLIDE 40: Special Categories for 20–24 week window
contentSlide("Who Can Terminate at 20–24 Weeks? (2021 Amendment)", [
{ text: "Special Categories (Rule 3B) — requiring only 2 RMP opinions:", bold: true, color: C.accent, fontSize: 16 },
"",
" 1. Survivors of sexual assault / rape / incest",
" 2. Minors (< 18 years of age)",
" 3. Change in marital status (widowhood or divorce)",
" 4. Women with physical disabilities (as per MCI/PWD Act criteria)",
" 5. Mentally ill women (including intellectual disability)",
" 6. Fetal anomalies — major congenital or chromosomal abnormalities",
" 7. Women in humanitarian settings or disaster / emergency situations",
"",
{ text: "Beyond 24 weeks:", bold: true, color: C.accent2, fontSize: 16 },
" ONLY for severe fetal anomalies — requires State Medical Board approval",
" Medical Board: Gynecologist + Radiologist/Sonologist + Pediatrician + Others"
], { fontSize: 16 });
// SLIDE 41: 2021 Amendment — Comparison Table
tableSlide(
"MTP Act 1971 vs Amendment Act 2021 — Comparison",
["Feature", "MTP Act 1971 (Original)", "MTP Amendment 2021"],
[
["Gestational limit", "Up to 20 weeks", "Up to 24 weeks (special categories)"],
["1 RMP opinion", "Up to 12 weeks", "Up to 20 weeks"],
["2 RMP opinion", "12 to 20 weeks", "20 to 24 weeks (special categories)"],
["After 24 weeks", "Not permitted", "Medical Board approval (fetal anomaly only)"],
["Contraceptive failure", "Married women only", "Married + Unmarried women"],
["Confidentiality", "Not explicitly mentioned", "Section 5A — punishable breach"],
["Medical Board", "Not present", "Mandated by State Government"],
],
[2.8, 3.4, 3.4]
);
// SLIDE 42: Medical Board — Constitution & Role
contentSlide("Medical Board — Constitution & Role (Post 2021)", [
{ text: "Constituted by:", bold: true, color: C.accent, fontSize: 17 },
" State Governments across India",
"",
{ text: "Composition:", bold: true, color: C.accent2, fontSize: 17 },
" • Gynecologist",
" • Radiologist / Sonologist",
" • Pediatrician",
" • Other members as notified by government",
"",
{ text: "Function:", bold: true, color: "#1ABC9C", fontSize: 17 },
" Reviews cases of fetal anomaly presenting after 24 weeks of gestation",
" Decides if termination is warranted based on severity of anomaly",
" Provides written opinion to the requesting RMP",
"",
{ text: "Time limit for Board opinion:", bold: true, color: C.orange, fontSize: 15 },
" Board must give opinion within 3 days of referral"
], { fontSize: 16 });
// SLIDE 43: Consent in MTP Act
tableSlide(
"Consent for MTP — Who Gives It?",
["Category", "Who Gives Consent?", "Husband/Family Required?"],
[
["Adult woman ≥ 18 years", "The woman herself — written consent only", "No — NOT required"],
["Minor < 18 years", "Guardian's written consent required", "Guardian only"],
["Mentally ill woman", "Guardian's written consent required", "Guardian only"],
["Woman with intellectual disability", "Guardian/authorized person", "Not the husband"],
["Emergency (Sec 5)", "Doctor may proceed without consent", "No — life-saving measure"],
],
[3.2, 3.8, 2.6]
);
// ═══════════════════════════════════════════════════════════
// SECTION 8: MTP vs CRIMINAL ABORTION COMPARISON
// ═══════════════════════════════════════════════════════════
sectionSlide("SECTION 08", "MTP vs Criminal Abortion", "Legal Termination vs Unlawful Act");
// SLIDE 45: Comparison Table
tableSlide(
"MTP (Legal) vs Criminal Abortion",
["Feature", "MTP Act (Legal)", "Criminal Abortion"],
[
["Performer", "Registered, qualified RMP (OBG trained)", "Unregistered quack, dai, or self"],
["Gestational limit", "≤ 24 wks (special: Board needed beyond)", "No restriction — any gestation"],
["Place", "Government or approved hospital/clinic", "Unsafe, unhygienic premises"],
["Consent", "Written, informed consent of woman", "Often absent or coerced"],
["Legality", "Legal — governed by MTP Act", "Criminal offense — IPC 312–316"],
["Complications", "Minimal if done by trained RMP in facility", "High — sepsis, hemorrhage, death"],
["Record keeping", "Mandatory (Form I, II, III)", "None — hidden / clandestine"],
["Reporting", "Confidential to government records", "Reported to police when detected"],
],
[2.5, 3.5, 3.6]
);
// ═══════════════════════════════════════════════════════════
// SECTION 9: AUTOPSY FINDINGS
// ═══════════════════════════════════════════════════════════
sectionSlide("SECTION 09", "Medico-Legal Autopsy Findings", "Death Due to Criminal Abortion");
// SLIDE 47: Autopsy Findings
contentSlide("Autopsy Findings in Death Due to Criminal Abortion", [
{ text: "External Examination", bold: true, color: C.accent, fontSize: 17 },
" Pallor, jaundice (if septic), cyanosis (if air embolism)",
" Burns/corrosion of genitalia if caustic substances used",
" Examination of clothing, bedlinen (blood-stained, Dettol smell)",
"",
{ text: "Internal Examination — Uterus", bold: true, color: C.accent2, fontSize: 17 },
" Enlarged uterus consistent with gestational age",
" Perforation/laceration of uterine wall",
" Retained products of conception (placenta, fetal parts)",
" Endometrium: inflamed, necrotic, with organisms",
"",
{ text: "Blood & Other Samples to Preserve", bold: true, color: "#1ABC9C", fontSize: 17 },
" Blood, urine, vomit, vaginal swabs — chemical analysis",
" Expelled material — DNA profiling to identify accused",
" Bacteriological cultures from uterine contents"
], { fontSize: 15 });
// SLIDE 48: Cause of Death
contentSlide("Common Causes of Death in Criminal Abortion", [
{ text: "I. Immediate (within hours)", bold: true, color: C.accent, fontSize: 17 },
" • Primary hemorrhage (uterine perforation, cervical laceration)",
" • Vagal inhibition — sudden instrumental stimulation of cervix (sudden cardiac arrest)",
" • Air embolism — air entering uterine veins via syringe",
" • Anesthetic overdose (if chloroform/ether used)",
"",
{ text: "II. Early (1–3 days)", bold: true, color: C.accent2, fontSize: 17 },
" • Septicemia from infected incomplete abortion",
" • Peritonitis from uterine perforation",
" • Drug/chemical toxicity",
"",
{ text: "III. Delayed (1–3 weeks)", bold: true, color: "#1ABC9C", fontSize: 17 },
" • Tetanus",
" • Gas gangrene",
" • Secondary hemorrhage from sloughing",
" • Multi-organ failure (renal, hepatic failure)"
], { fontSize: 16 });
// ═══════════════════════════════════════════════════════════
// SECTION 10: SUMMARY & CLINICAL PEARLS
// ═══════════════════════════════════════════════════════════
sectionSlide("SECTION 10", "Summary & Clinical Pearls", "Key Points for MBBS Final Exam");
// SLIDE 50: Clinical Pearls
contentSlide("High-Yield Exam Points", [
{ text: "Definitions", bold: true, color: C.accent },
" Medical abortion: Expulsion before 28 weeks | Legal: Expulsion before full term (any gestation)",
{ text: "Criminal Abortion", bold: true, color: C.accent2 },
" IPC 312 — causing miscarriage | IPC 313 — without consent | IPC 314 — death of woman",
{ text: "Most Dangerous Complication", bold: true, color: C.accent },
" Septicemia (Cl. welchii) — can lead to rapid multi-organ failure",
{ text: "Air Embolism", bold: true, color: C.accent2 },
" FATAL — syringe aspiration; right heart frothy blood at autopsy",
{ text: "Abortion Stick", bold: true, color: C.accent },
" Bamboo + irritant paste → TETANUS classic complication",
{ text: "MTP Act 2021 Key Point", bold: true, color: "#1ABC9C" },
" Up to 24 weeks (special categories) | Unmarried women now included | Medical Board > 24 wks",
{ text: "Doctor's Duty: TREAT first, then report to police", bold: true, color: C.orange }
], { fontSize: 15 });
// SLIDE 51: References
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkBg } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.08, h: 5.625, fill: { color: C.accent } });
s.addShape(pres.shapes.RECTANGLE, { x: 0.08, y: 0.08, w: 9.92, h: 0.78, fill: { color: C.accent2 } });
s.addText("References", {
x: 0.2, y: 0.1, w: 9.6, h: 0.72,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri",
align: "left", valign: "middle", margin: 6
});
s.addText([
{ text: "1. KS Narayan Reddy, ", options: { bold: true, color: C.accent } },
{ text: "The Essentials of Forensic Medicine and Toxicology, 36th Edition (2026), Chapters 17 & Annexure 36.2\n\n", options: { color: "AEBFD7" } },
{ text: "2. P C Dikshit, ", options: { bold: true, color: C.accent } },
{ text: "Textbook of Forensic Medicine and Toxicology, Chapter 28 (Abortion)\n\n", options: { color: "AEBFD7" } },
{ text: "3. Parikh's Textbook of Medical Jurisprudence, Forensic Medicine and Toxicology\n\n", options: { bold: true, color: C.accent, breakLine: true } },
{ text: "4. Medical Termination of Pregnancy Act, 1971 (Act No. 34 of 1971)\n\n", options: { color: "AEBFD7" } },
{ text: "5. The MTP (Amendment) Act, 2021 — came into force 25 March 2021", options: { color: "AEBFD7" } },
], {
x: 0.3, y: 1.05, w: 9.4, h: 4.3,
fontFace: "Calibri", fontSize: 17,
lineSpacingMultiple: 1.4, valign: "top"
});
}
// SLIDE 52: End / Thank You
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkBg } });
s.addShape(pres.shapes.RECTANGLE, { x: 0, y: 4.5, w: 10, h: 1.125, fill: { color: C.accent } });
s.addShape(pres.shapes.OVAL, { x: 7, y: -0.3, w: 4, h: 4, fill: { color: C.accent, transparency: 88 } });
s.addShape(pres.shapes.OVAL, { x: -1.2, y: 3.2, w: 3.5, h: 3.5, fill: { color: C.accent2, transparency: 78 } });
s.addText("Thank You", {
x: 0.3, y: 1.2, w: 9.4, h: 1.4,
fontSize: 50, bold: true, color: C.white, fontFace: "Calibri",
align: "center", valign: "middle"
});
s.addShape(pres.shapes.RECTANGLE, { x: 3.5, y: 2.7, w: 3, h: 0.04, fill: { color: C.accent } });
s.addText("Questions?", {
x: 0.3, y: 2.85, w: 9.4, h: 0.7,
fontSize: 24, color: "AEBFD7", fontFace: "Calibri",
align: "center"
});
s.addText("Criminal Abortion & MTP Act | Forensic Medicine & Toxicology", {
x: 0.3, y: 4.6, w: 9.4, h: 0.4,
fontSize: 12, color: C.white, fontFace: "Calibri",
align: "center"
});
}
// ─── WRITE FILE ───────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/criminal-abortion-ppt/Criminal_Abortion_MTP_Act.pptx" })
.then(() => console.log("DONE: Criminal_Abortion_MTP_Act.pptx"))
.catch(err => { console.error("ERROR:", err); process.exit(1); });
cd /home/daytona/workspace/criminal-abortion-ppt && node build.js 2>&1
ls -lh /home/daytona/workspace/criminal-abortion-ppt/Criminal_Abortion_MTP_Act.pptx
Criminal Abortion MTP Act
Presentation · PPTX
| Section | Slides | Content |
|---|---|---|
| Title & Scenario | 1–3 | Title slide, clinical case, table of contents |
| 01 – Definitions | 4–7 | Medical vs legal definition, classification (natural/artificial/clinical types) |
| 02 – Criminal Abortion | 8–10 | Definition, IPC Sections 312–316, who performs it & motives |
| 03 – Medico-Legal Duties | 11–16 | Treat first, reporting MLC, documentation, examination findings, confidentiality, summary box |
| 04 – Methods | 17–24 | Ecbolics (ergot, quinine, lead), irritants, local drugs, abortion stick, instruments, cervical dilators — with the actual textbook image of instruments (Fig. 17.1, KS Narayan Reddy) |
| 05 – Complications | 25–31 | Hemorrhage, sepsis (organisms), uterine perforation, air embolism, tetanus, retained products, future infertility — summary table |
| 06 – MTP Act 1971 | 32–37 | Background, structure, 4 indications (therapeutic/eugenic/social/humanitarian), qualifications, time limits |
| 07 – 2021 Amendment | 38–43 | 4 key changes, Rule 3B special categories (20–24 wks), comparison table, Medical Board, consent table |
| 08–09 – Comparison & Autopsy | 44–48 | MTP vs criminal abortion table, autopsy findings, causes of death (immediate/early/delayed) |
| 10 – Summary | 49–52 | High-yield exam pearls, references (Dikshit, KS Narayan Reddy, Parikh's, MTP Act), Thank You |
Customer care no of orris
make it concise into 4 slides only justify why it is the correct answer for the question.explain y other options are wrong
What would you like in the 4 slides?
explain only option d in image i uploaded into 3-4 slides only
~/criminal-abortion-ppt/build_mtp2021.js
const pptxgen = require("pptxgenjs");
let pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "MTP Amendment Act 2021";
const C = {
darkBg: "1A1A2E",
midBg: "16213E",
lightBg: "F4F6FB",
accent: "E94560",
accent2: "0F3460",
white: "FFFFFF",
textDark: "1A1A2E",
textMid: "2C3E50",
gray: "7F8C8D",
green: "1ABC9C",
orange: "E67E22",
yellow: "F1C40F",
purple: "9B59B6",
tableAlt: "EBF5FB",
subtle: "D5D8DC",
};
// ─── helpers ──────────────────────────────────────────────
function bar(s, col) {
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color: col||C.lightBg} });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:0.08, fill:{color: C.accent} });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.08, h:5.625, fill:{color: C.accent} });
}
function heading(s, title) {
s.addShape(pres.shapes.RECTANGLE, { x:0.08, y:0.08, w:9.92, h:0.82, fill:{color: C.accent2} });
s.addText(title, {
x:0.22, y:0.1, w:9.5, h:0.76,
fontSize:23, bold:true, color:C.white, fontFace:"Calibri",
align:"left", valign:"middle", margin:6
});
}
function bullet(text, opts={}) {
return {
text,
options: {
bullet: { indent: opts.sub ? 36 : 18 },
fontSize: opts.fontSize || (opts.sub ? 15 : 17),
color: opts.color || C.textMid,
bold: opts.bold || false,
breakLine: true,
indentLevel: opts.sub ? 1 : 0
}
};
}
// ══════════════════════════════════════════════════════════
// SLIDE 1 — Title slide
// ══════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.addShape(pres.shapes.RECTANGLE, {x:0,y:0,w:10,h:5.625,fill:{color:C.darkBg}});
s.addShape(pres.shapes.RECTANGLE, {x:0,y:4.6,w:10,h:1.025,fill:{color:C.accent}});
s.addShape(pres.shapes.RECTANGLE, {x:0,y:0,w:0.1,h:5.625,fill:{color:C.accent}});
s.addShape(pres.shapes.OVAL,{x:7,y:-0.5,w:4.5,h:4.5,fill:{color:C.accent,transparency:87}});
s.addShape(pres.shapes.OVAL,{x:-1.5,y:3.2,w:3.8,h:3.8,fill:{color:C.accent2,transparency:78}});
s.addText("MTP Amendment Act, 2021", {
x:0.3, y:0.9, w:9.4, h:1.4,
fontSize:42, bold:true, color:C.white, fontFace:"Calibri", align:"center", valign:"middle"
});
s.addText("Amendments to the Medical Termination of Pregnancy Act, 1971", {
x:0.3, y:2.4, w:9.4, h:0.65,
fontSize:19, color:"AEBFD7", fontFace:"Calibri", align:"center"
});
s.addShape(pres.shapes.RECTANGLE,{x:3.5,y:3.15,w:3,h:0.04,fill:{color:C.accent}});
s.addText("Question (d) | Forensic Medicine & Toxicology | MBBS Final Year", {
x:0.3, y:3.25, w:9.4, h:0.45,
fontSize:13, color:"7FB3D3", fontFace:"Calibri", align:"center"
});
s.addText("Ref: KS Narayan Reddy, 36th Ed. (2026) • P C Dikshit FMT • MTP Act 1971 & 2021", {
x:0.3, y:4.7, w:9.4, h:0.38,
fontSize:11, color:C.white, fontFace:"Calibri", align:"center"
});
}
// ══════════════════════════════════════════════════════════
// SLIDE 2 — Background + Original 1971 Act snapshot
// ══════════════════════════════════════════════════════════
{
let s = pres.addSlide();
bar(s); heading(s, "MTP Act 1971 — Background & Need for Amendment");
// Left column — background
s.addShape(pres.shapes.RECTANGLE,{x:0.15, y:1.05, w:4.7, h:0.34, fill:{color:C.accent}});
s.addText("Why MTP Act 1971?",{x:0.2,y:1.05,w:4.6,h:0.32, fontSize:13,bold:true,color:C.white,fontFace:"Calibri",align:"center",valign:"middle"});
s.addText([
bullet("Enacted to reduce maternal mortality from UNSAFE illegal abortions"),
bullet("IPC Sec 312–316 made ALL abortions criminal before this Act"),
bullet("Original limits (1971):"),
bullet("Up to 12 wks → 1 RMP opinion", {sub:true}),
bullet("12–20 wks → 2 RMP opinions", {sub:true}),
bullet("After 20 wks → NOT permitted (except emergency)", {sub:true}),
bullet("Contraceptive failure: MARRIED women only", {sub:true}),
bullet("No privacy clause; no Medical Board", {sub:true}),
],{x:0.2,y:1.42,w:4.65,h:4.0,fontFace:"Calibri",valign:"top",lineSpacingMultiple:1.3});
// Divider
s.addShape(pres.shapes.RECTANGLE,{x:5.0,y:1.05,w:0.04,h:4.38,fill:{color:C.subtle}});
// Right column — gaps that led to amendment
s.addShape(pres.shapes.RECTANGLE,{x:5.1, y:1.05, w:4.75, h:0.34, fill:{color:C.accent2}});
s.addText("Why Amendment Was Needed",{x:5.15,y:1.05,w:4.65,h:0.32,fontSize:13,bold:true,color:C.white,fontFace:"Calibri",align:"center",valign:"middle"});
s.addText([
bullet("Unmarried women excluded from contraceptive failure clause"),
bullet("Victims of rape/sexual assault had only 20-week window"),
bullet("Fetal anomaly detected late (>20 wks) left no legal option"),
bullet("Women had to approach courts case-by-case"),
bullet("No formal confidentiality protection for the woman"),
bullet("Medical Board for late terminations was absent"),
bullet("20-week limit was insufficient for modern fetal anomaly diagnosis"),
],{x:5.15,y:1.42,w:4.65,h:4.0,fontFace:"Calibri",valign:"top",lineSpacingMultiple:1.3});
}
// ══════════════════════════════════════════════════════════
// SLIDE 3 — The 4 Key Amendments (visual cards)
// ══════════════════════════════════════════════════════════
{
let s = pres.addSlide();
bar(s); heading(s, "MTP Amendment Act 2021 — 4 Key Changes");
const cards = [
{
num:"1", title:"Extended Gestational Limit",
col: C.accent,
lines:[
"Old: Up to 20 weeks",
"New: Up to 24 weeks",
" (for special categories — Rule 3B)",
"Beyond 24 wks: Medical Board approval",
" (severe fetal anomaly only)"
]
},
{
num:"2", title:"Unmarried Women Included",
col: C.accent2,
lines:[
"Old: Contraceptive failure clause",
" → Married women ONLY",
"New: Extended to",
" UNMARRIED women also",
"Major landmark — women's autonomy"
]
},
{
num:"3", title:"Privacy / Confidentiality Clause",
col: C.green,
lines:[
"Section 5A (new):",
"RMP must NOT disclose name/details",
" of woman seeking MTP",
"Except to person authorized by law",
"Violation → Fine + Imprisonment"
]
},
{
num:"4", title:"Medical Board Constituted",
col: C.orange,
lines:[
"State Govts to form Medical Boards",
"Composition:",
" • Gynecologist",
" • Radiologist/Sonologist",
" • Pediatrician + Others",
"For cases > 24 wks (fetal anomaly)"
]
},
];
cards.forEach(({num, title, col, lines}, i) => {
const x = (i % 2 === 0) ? 0.15 : 5.1;
const y = i < 2 ? 1.05 : 3.2;
const w = 4.7, h = 2.0;
s.addShape(pres.shapes.RECTANGLE,{x,y,w,h, fill:{color:col,transparency:0},
shadow:{type:"outer",color:"000000",blur:8,offset:2,angle:135,opacity:0.15}});
// Number badge
s.addShape(pres.shapes.OVAL,{x:x+0.12,y:y+0.1,w:0.55,h:0.55,fill:{color:C.white}});
s.addText(num,{x:x+0.12,y:y+0.1,w:0.55,h:0.55,fontSize:18,bold:true,color:col,fontFace:"Calibri",align:"center",valign:"middle"});
s.addText(title,{x:x+0.75,y:y+0.1,w:3.85,h:0.55,fontSize:14,bold:true,color:C.white,fontFace:"Calibri",valign:"middle"});
s.addText(lines.join("\n"),{x:x+0.15,y:y+0.72,w:4.4,h:1.2,fontSize:13,color:C.white,fontFace:"Calibri",valign:"top",lineSpacingMultiple:1.25});
});
}
// ══════════════════════════════════════════════════════════
// SLIDE 4 — Comparison Table + Special Categories + Exam Pearl
// ══════════════════════════════════════════════════════════
{
let s = pres.addSlide();
bar(s); heading(s, "1971 vs 2021 — Comparison & Special Categories (Rule 3B)");
// Comparison table (left)
const headers = ["Feature","1971","2021"];
const rows = [
["Upper limit", "20 weeks", "24 weeks (special)"],
["1 RMP opinion", "Up to 12 wks", "Up to 20 wks"],
["2 RMP opinions", "12–20 wks", "20–24 wks (special)"],
[">24 weeks", "Not allowed", "Medical Board only"],
["Unmarried women", "Excluded", "Included"],
["Confidentiality", "Not specified", "Section 5A (punishable)"],
["Medical Board", "Absent", "Mandated by State Govt"],
];
const tdata = [
headers.map(h=>({text:h,options:{bold:true,color:C.white,fill:C.accent,align:"center",fontSize:12}})),
...rows.map((r,ri)=>r.map((cell,ci)=>({
text:cell,
options:{
color: ci===0 ? C.accent2 : C.textMid,
bold: ci===0,
fill: ri%2===0 ? "FFFFFF" : C.tableAlt,
fontSize:12, align:"left"
}
})))
];
s.addTable(tdata,{x:0.15,y:1.0,w:5.8,h:3.8,
colW:[2.1,1.85,1.85],rowH:0.38,fontFace:"Calibri",
border:{pt:1,color:C.subtle}});
// Right: Special categories Rule 3B + pearl box
s.addShape(pres.shapes.RECTANGLE,{x:6.1,y:1.0,w:3.7,h:0.32,fill:{color:C.accent2}});
s.addText("Rule 3B — Special Categories (20–24 wks)",{
x:6.15,y:1.0,w:3.6,h:0.32,fontSize:11,bold:true,color:C.white,fontFace:"Calibri",align:"center",valign:"middle"
});
const cats = [
"Survivors of rape / sexual assault",
"Minors (< 18 years)",
"Change in marital status (widow/divorce)",
"Women with physical disabilities",
"Mentally ill / intellectually disabled",
"Fetal anomalies (chromosomal/structural)",
"Humanitarian / disaster settings",
];
s.addText(cats.map((c,i)=>({
text:`${i+1}. ${c}`,
options:{fontSize:13,color:C.textMid,breakLine:true}
})),{x:6.15,y:1.36,w:3.6,h:2.5,fontFace:"Calibri",valign:"top",lineSpacingMultiple:1.3});
// Exam pearl box at bottom
s.addShape(pres.shapes.RECTANGLE,{x:0.15,y:4.9,w:9.7,h:0.58,fill:{color:C.accent,transparency:0}});
s.addText([
{text:"EXAM PEARL: ",options:{bold:true,color:C.yellow,fontSize:14}},
{text:"Came into force 25 March 2021 | Unmarried women NOW included | Medical Board for fetal anomaly > 24 wks | Privacy breach = criminal offense",
options:{color:C.white,fontSize:13}}
],{x:0.2,y:4.9,w:9.6,h:0.58,fontFace:"Calibri",align:"left",valign:"middle"});
}
// ─── write ─────────────────────────────────────────────────
pres.writeFile({fileName:"/home/daytona/workspace/criminal-abortion-ppt/MTP_Amendment_2021.pptx"})
.then(()=>console.log("DONE"))
.catch(e=>{console.error(e);process.exit(1);});
cd /home/daytona/workspace/criminal-abortion-ppt && node build_mtp2021.js 2>&1
MTP Amendment 2021
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 - Title | "MTP Amendment Act, 2021" — clean title slide with reference line |
| 2 - Background | Why the 1971 Act was enacted + what gaps made amendment necessary (unmarried women excluded, 20-week limit too short, no privacy clause, no Medical Board) |
| 3 - 4 Key Changes | Visual card layout — one card per amendment: ① Extended limit (20→24 wks) ② Unmarried women included ③ Privacy/Section 5A ④ Medical Board constituted |
| 4 - Comparison Table + Exam Pearl | 1971 vs 2021 side-by-side table + Rule 3B special categories (7 groups eligible for 20–24 wk window) + highlighted exam pearl at the bottom |
show answer here i shall see and write or copy
| Gestational Age | 1971 Act | 2021 Amendment |
|---|---|---|
| Up to 20 weeks | 1 RMP opinion | 1 RMP opinion |
| 20 to 24 weeks | NOT permitted | 2 RMP opinions (special categories) |
| Beyond 24 weeks | NOT permitted | Medical Board approval (fetal anomaly only) |
| Feature | MTP Act 1971 | Amendment Act 2021 |
|---|---|---|
| Upper gestational limit | 20 weeks | 24 weeks (special categories) |
| 1 RMP opinion | Up to 12 weeks | Up to 20 weeks |
| 2 RMP opinions | 12–20 weeks | 20–24 weeks (special) |
| Beyond 24 weeks | Not permitted | Medical Board only (fetal anomaly) |
| Unmarried women | Excluded | Included |
| Confidentiality | Not specified | Section 5A — punishable breach |
| Medical Board | Absent | Mandated by State Govt |
Create a PDF of this answer for quick reference
~/criminal-abortion-ppt/make_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY
OUT = "/home/daytona/workspace/criminal-abortion-ppt/MTP_Amendment_2021_QuickRef.pdf"
doc = SimpleDocTemplate(
OUT,
pagesize=A4,
leftMargin=2*cm, rightMargin=2*cm,
topMargin=2*cm, bottomMargin=2*cm,
title="MTP Amendment Act 2021 – Quick Reference",
author="Forensic Medicine & Toxicology – MBBS Final Year"
)
# ── Colours ──────────────────────────────────────────────
NAVY = colors.HexColor("#0F3460")
RED = colors.HexColor("#E94560")
TEAL = colors.HexColor("#1ABC9C")
ORANGE = colors.HexColor("#E67E22")
PURPLE = colors.HexColor("#9B59B6")
YELLOW = colors.HexColor("#F1C40F")
LGRAY = colors.HexColor("#F4F6FB")
DGRAY = colors.HexColor("#2C3E50")
ALT = colors.HexColor("#EBF5FB")
WHITE = colors.white
# ── Styles ───────────────────────────────────────────────
styles = getSampleStyleSheet()
def S(name, **kw):
return ParagraphStyle(name, **kw)
title_style = S("Title",
fontName="Helvetica-Bold", fontSize=20,
textColor=WHITE, alignment=TA_CENTER,
leading=26, spaceAfter=4)
subtitle_style = S("Subtitle",
fontName="Helvetica", fontSize=11,
textColor=colors.HexColor("#AEBFD7"), alignment=TA_CENTER,
leading=14, spaceAfter=2)
sec_style = S("Section",
fontName="Helvetica-Bold", fontSize=13,
textColor=WHITE, alignment=TA_LEFT,
leading=16, leftIndent=6)
body = S("Body",
fontName="Helvetica", fontSize=10.5,
textColor=DGRAY, leading=15,
spaceAfter=3, alignment=TA_JUSTIFY)
bold_body = S("BoldBody",
fontName="Helvetica-Bold", fontSize=10.5,
textColor=NAVY, leading=15, spaceAfter=2)
bullet_style = S("Bullet",
fontName="Helvetica", fontSize=10,
textColor=DGRAY, leading=14,
leftIndent=14, bulletIndent=4,
spaceAfter=2)
sub_bullet = S("SubBullet",
fontName="Helvetica", fontSize=9.5,
textColor=colors.HexColor("#5D6D7E"), leading=13,
leftIndent=28, bulletIndent=16, spaceAfter=1)
pearl_style = S("Pearl",
fontName="Helvetica-Bold", fontSize=10,
textColor=WHITE, alignment=TA_LEFT,
leading=14, leftIndent=6)
ref_style = S("Ref",
fontName="Helvetica-Oblique", fontSize=8.5,
textColor=colors.HexColor("#7F8C8D"),
alignment=TA_CENTER, leading=12)
# ── Helpers ──────────────────────────────────────────────
def section_header(text, bg=NAVY):
data = [[Paragraph(text, sec_style)]]
t = Table(data, colWidths=[17*cm])
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg),
("TOPPADDING", (0,0),(-1,-1), 5),
("BOTTOMPADDING", (0,0),(-1,-1), 5),
("LEFTPADDING", (0,0),(-1,-1), 8),
("ROUNDEDCORNERS", [4,4,4,4]),
]))
return t
def bul(text, sub=False):
st = sub_bullet if sub else bullet_style
return Paragraph(f"• {text}", st)
def hr(col=RED, thickness=1.5):
return HRFlowable(width="100%", thickness=thickness, color=col, spaceAfter=4, spaceBefore=4)
# ── Build story ──────────────────────────────────────────
story = []
# ── Title Banner ─────────────────────────────────────────
banner_data = [[
Paragraph("MTP Amendment Act, 2021", title_style),
],[
Paragraph("Amendments to the Medical Termination of Pregnancy Act, 1971", subtitle_style),
],[
Paragraph("Question (d) | Forensic Medicine & Toxicology | MBBS Final Year", subtitle_style),
]]
banner = Table([[Paragraph("MTP Amendment Act, 2021", title_style)],
[Paragraph("Amendments to the Medical Termination of Pregnancy Act, 1971", subtitle_style)],
[Paragraph("Question (d) · Forensic Medicine & Toxicology · MBBS Final Year", subtitle_style)]],
colWidths=[17*cm])
banner.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), NAVY),
("TOPPADDING", (0,0),(-1,-1), 10),
("BOTTOMPADDING", (0,0),(-1,-1), 10),
("LEFTPADDING", (0,0),(-1,-1), 12),
("RIGHTPADDING", (0,0),(-1,-1), 12),
]))
story.append(banner)
story.append(Spacer(1, 0.3*cm))
# ── Background ───────────────────────────────────────────
story.append(section_header("Background"))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph(
"The MTP Act was enacted in <b>1971 (Act No. 34 of 1971)</b> to allow legal termination "
"of pregnancy by registered medical practitioners (RMPs) under specified conditions — "
"primarily to reduce maternal mortality from unsafe illegal abortions. "
"It was first amended in <b>2002</b>, and then significantly amended in <b>2021</b>, "
"coming into force on <b>25th March 2021</b>.", body))
story.append(Spacer(1, 0.2*cm))
# ── 4 Key Amendments ─────────────────────────────────────
story.append(section_header("Key Amendments in the MTP (Amendment) Act, 2021"))
story.append(Spacer(1, 0.15*cm))
# Amendment 1
amend_data = [
[Paragraph("<b>1. Extended Gestational Limit</b>", bold_body), ""],
]
story.append(KeepTogether([
Paragraph("<b>1. Extended Gestational Limit</b>", bold_body),
hr(TEAL, 0.8),
]))
tbl1_data = [
[Paragraph("<b>Gestational Age</b>", S("th", fontName="Helvetica-Bold", fontSize=10, textColor=WHITE)),
Paragraph("<b>1971 Act</b>", S("th", fontName="Helvetica-Bold", fontSize=10, textColor=WHITE)),
Paragraph("<b>2021 Amendment</b>", S("th", fontName="Helvetica-Bold", fontSize=10, textColor=WHITE))],
["Up to 20 weeks", "1 RMP opinion", "1 RMP opinion (unchanged)"],
["20 – 24 weeks", "NOT permitted", "2 RMP opinions (special categories)"],
["Beyond 24 weeks", "NOT permitted", "Medical Board approval (fetal anomaly only)"],
]
t1 = Table(tbl1_data, colWidths=[5.5*cm, 5*cm, 6.5*cm])
t1.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), RED),
("BACKGROUND", (0,1),(-1,1), WHITE),
("BACKGROUND", (0,2),(-1,2), ALT),
("BACKGROUND", (0,3),(-1,3), WHITE),
("TEXTCOLOR", (0,1),(-1,-1), DGRAY),
("FONTNAME", (0,1),(-1,-1), "Helvetica"),
("FONTSIZE", (0,0),(-1,-1), 9.5),
("TOPPADDING", (0,0),(-1,-1), 5),
("BOTTOMPADDING", (0,0),(-1,-1), 5),
("LEFTPADDING", (0,0),(-1,-1), 6),
("GRID", (0,0),(-1,-1), 0.5, colors.HexColor("#D5D8DC")),
("FONTNAME", (0,1),(0,-1), "Helvetica-Bold"),
("TEXTCOLOR", (0,1),(0,-1), NAVY),
]))
story.append(t1)
story.append(Spacer(1, 0.25*cm))
# Amendment 2
story.append(KeepTogether([
Paragraph("<b>2. Unmarried Women Included</b>", bold_body),
hr(ORANGE, 0.8),
]))
story.append(bul("<b>Old (1971):</b> Contraceptive failure clause applied to <b>married women ONLY</b>"))
story.append(bul("<b>New (2021):</b> Extended to <b>unmarried women</b> as well"))
story.append(bul("This is the most landmark change — recognises reproductive autonomy of ALL women regardless of marital status"))
story.append(Spacer(1, 0.2*cm))
# Amendment 3
story.append(KeepTogether([
Paragraph("<b>3. Privacy / Confidentiality Clause — Section 5A (NEW)</b>", bold_body),
hr(PURPLE, 0.8),
]))
story.append(bul("No RMP shall reveal the <b>name or details</b> of the woman seeking MTP"))
story.append(bul("Disclosure only to a person <b>authorized by law</b>"))
story.append(bul("<b>Violation is punishable</b> with fine and/or imprisonment"))
story.append(bul("Previously, NO such explicit confidentiality protection existed in the Act"))
story.append(Spacer(1, 0.2*cm))
# Amendment 4
story.append(KeepTogether([
Paragraph("<b>4. Medical Board Constituted</b>", bold_body),
hr(TEAL, 0.8),
]))
story.append(bul("For terminations <b>beyond 24 weeks</b> (severe fetal anomalies only)"))
story.append(bul("Constituted by <b>State Governments</b>"))
story.append(Paragraph("<b>Composition:</b>", S("cb", fontName="Helvetica-Bold", fontSize=10, textColor=DGRAY, leftIndent=14, leading=14)))
story.append(bul("Gynecologist", sub=True))
story.append(bul("Radiologist / Sonologist", sub=True))
story.append(bul("Pediatrician", sub=True))
story.append(bul("Other members as notified by State Govt", sub=True))
story.append(bul("Must give opinion <b>within 3 days</b> of referral"))
story.append(Spacer(1, 0.25*cm))
# ── Rule 3B ──────────────────────────────────────────────
story.append(section_header("Rule 3B — Special Categories Eligible for 20–24 Week Termination", bg=colors.HexColor("#1A5276")))
story.append(Spacer(1, 0.15*cm))
cats = [
("1.", "Survivors of <b>sexual assault / rape / incest</b>"),
("2.", "<b>Minors</b> (< 18 years of age)"),
("3.", "<b>Change in marital status</b> — widowhood or divorce during pregnancy"),
("4.", "Women with <b>physical disabilities</b> (as per PWD Act criteria)"),
("5.", "<b>Mentally ill</b> women / intellectual disability"),
("6.", "<b>Fetal anomalies</b> — major congenital or chromosomal abnormalities"),
("7.", "Women in <b>humanitarian settings</b> / disaster / emergency situations"),
]
cat_data = [[Paragraph(n, S("cn", fontName="Helvetica-Bold", fontSize=10, textColor=NAVY)),
Paragraph(t, S("ct", fontName="Helvetica", fontSize=10, textColor=DGRAY, leading=14))]
for n,t in cats]
cat_tbl = Table(cat_data, colWidths=[0.8*cm, 16.2*cm])
cat_tbl.setStyle(TableStyle([
("TOPPADDING", (0,0),(-1,-1), 4),
("BOTTOMPADDING", (0,0),(-1,-1), 4),
("LEFTPADDING", (0,0),(-1,-1), 4),
("BACKGROUND", (0,0),(-1,-1), WHITE),
("ROWBACKGROUNDS",(0,0),(-1,-1), [WHITE, ALT]),
("GRID", (0,0),(-1,-1), 0.4, colors.HexColor("#D5D8DC")),
]))
story.append(cat_tbl)
story.append(Spacer(1, 0.25*cm))
# ── Comparison Table ─────────────────────────────────────
story.append(section_header("Summary Comparison: MTP Act 1971 vs Amendment Act 2021"))
story.append(Spacer(1, 0.15*cm))
comp_data = [
[Paragraph("<b>Feature</b>", S("th", fontName="Helvetica-Bold", fontSize=10, textColor=WHITE)),
Paragraph("<b>MTP Act 1971</b>", S("th", fontName="Helvetica-Bold", fontSize=10, textColor=WHITE)),
Paragraph("<b>Amendment Act 2021</b>", S("th", fontName="Helvetica-Bold", fontSize=10, textColor=WHITE))],
["Upper gestational limit", "20 weeks", "24 weeks (special categories)"],
["1 RMP opinion", "Up to 12 weeks", "Up to 20 weeks"],
["2 RMP opinions", "12 – 20 weeks", "20 – 24 weeks (special categories)"],
["Beyond 24 weeks", "Not permitted", "Medical Board only (fetal anomaly)"],
["Unmarried women", "Excluded", "Included (2021 Amendment)"],
["Confidentiality", "Not specified", "Section 5A — punishable breach"],
["Medical Board", "Absent", "Mandated by State Government"],
["Came into force", "1 April 1972", "25 March 2021"],
]
comp_tbl = Table(comp_data, colWidths=[5.5*cm, 5.5*cm, 6*cm])
comp_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), RED),
("TEXTCOLOR", (0,0),(-1,0), WHITE),
("FONTNAME", (0,0),(-1,0), "Helvetica-Bold"),
("ROWBACKGROUNDS",(0,1),(-1,-1), [WHITE, ALT]),
("TEXTCOLOR", (0,1),(-1,-1), DGRAY),
("FONTNAME", (0,1),(0,-1), "Helvetica-Bold"),
("TEXTCOLOR", (0,1),(0,-1), NAVY),
("FONTSIZE", (0,0),(-1,-1), 9.5),
("TOPPADDING", (0,0),(-1,-1), 5),
("BOTTOMPADDING", (0,0),(-1,-1), 5),
("LEFTPADDING", (0,0),(-1,-1), 6),
("GRID", (0,0),(-1,-1), 0.5, colors.HexColor("#D5D8DC")),
]))
story.append(comp_tbl)
story.append(Spacer(1, 0.25*cm))
# ── Exam Pearls ──────────────────────────────────────────
pearls_data = [[
Paragraph(
"<b>⭐ EXAM PEARLS</b> | "
"Came into force: <b>25 March 2021</b> | "
"Unmarried women now <b>included</b> | "
"Medical Board for fetal anomaly <b>> 24 wks</b> | "
"Privacy breach = <b>criminal offense</b> | "
"Emergency (Sec 5) = <b>no time limit</b> to save mother's life",
pearl_style)
]]
pearls_tbl = Table(pearls_data, colWidths=[17*cm])
pearls_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), RED),
("TOPPADDING", (0,0),(-1,-1), 8),
("BOTTOMPADDING", (0,0),(-1,-1), 8),
("LEFTPADDING", (0,0),(-1,-1), 10),
("RIGHTPADDING", (0,0),(-1,-1), 10),
]))
story.append(pearls_tbl)
story.append(Spacer(1, 0.2*cm))
# ── References ───────────────────────────────────────────
story.append(hr(NAVY, 0.8))
story.append(Paragraph(
"Ref: KS Narayan Reddy, Essentials of Forensic Medicine & Toxicology, 36th Ed. (2026) • "
"P C Dikshit, Textbook of Forensic Medicine & Toxicology • "
"MTP Act, 1971 (Act No. 34 of 1971) • MTP (Amendment) Act, 2021",
ref_style))
# ── Build ────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUT}")
cd /home/daytona/workspace/criminal-abortion-ppt && python make_pdf.py 2>&1
ls -lh /home/daytona/workspace/criminal-abortion-ppt/MTP_Amendment_2021_QuickRef.pdf
MTP Amendment 2021 QuickRef
PDF Document · PDF
| Section | Content |
|---|---|
| Title banner | Dark navy header — topic, subject, year |
| Background | Why MTP Act 1971 was enacted + need for 2021 amendment |
| 4 Key Amendments | Extended gestational limit (table), Unmarried women included, Section 5A privacy clause, Medical Board |
| Rule 3B | All 7 special categories eligible for 20–24 week termination |
| Comparison Table | 1971 vs 2021 — 9 features side by side |
| Exam Pearls | Red banner — all high-yield one-liners at a glance |
| References | KS Narayan Reddy, P C Dikshit, MTP Acts |