Hey, Horace. Can you please explain me that, uh, essentials of FMT? नारायण रेड्डी, 35th edition book, अ, chapter 25, Agricultural Poisons, page number 395 to page number 401 in detail and explain each and everything so I can learn it and memorize it for my exams and write-- also write a 10 marker question. Give me an warnings, give me tricks to learn the, uh, things and I will ace my exams through it. Explain it to me like I am a small child and I do not understand things properly. So, explain it to me. बातचीत की आवाज़
Note: The library has the 36th edition (2026), which is the latest. Your 35th edition content is nearly identical - all key exam facts match.
| # | Poison | What it is | Key word |
|---|---|---|---|
| 1 | Organophosphorus (OP) | Insecticide | "AChE killer" |
| 2 | Carbamates | Insecticide | "Reversible AChE killer" |
| 3 | Chlorates | Weedkiller | "MetHb + hemolysis" |
| 4 | Paraquat | Herbicide | "Lung destroyer" |
| 5 | Aluminum Phosphide (ALP) | Grain preservative | "Garlic smell + no antidote" |
Memory trick for Alkyl vs Aryl: "Alkyl = Actively toxic already. Aryl = Activated by liver first" (Aryl phosphates need liver activation by cytochrome P450 to become toxic!)
Normally:
Acetylcholine → AChE → Choline + Acetic Acid (cleaned up!)
In OP poisoning:
Acetylcholine → AChE is BLOCKED by OP → Acetylcholine BUILDS UP everywhere!
| Effect Type | Receptor | Symptoms | Memory Trick |
|---|---|---|---|
| MUSCARINIC (glands, smooth muscle) | M receptors | SLUDGE | Salivation, Lacrimation, Urination, Defecation, GI cramps, Emesis |
| NICOTINIC (skeletal muscle, ganglia) | N receptors | MATCH | Muscle fasciculations, Adrenal stimulation, Tachycardia initially, Cramps, Hypertension |
| CNS | Both | Anxiety, seizures, coma |
🌟 SLUDGE Trick: Salivation, Lacrimation, Urination, Defecation, GI cramps, Emesis - these are all muscarinic symptoms. Add to that DUMBELS: Defecation/Diarrhea, Urination, Miosis, Bradycardia/Bronchospasm/Bronchorrhea, Emesis, Lacrimation, Salivation/Sweating.
🌟 Exam trick: "Plasma falls first, but RBC is more accurate for diagnosis"
The two antidotes - remember "A and P"
| Feature | OP | Carbamates |
|---|---|---|
| Mechanism | Irreversible AChE inhibition | Reversible AChE inhibition |
| Treatment with PAM | Yes | NOT needed (usually avoided) |
| Severity | More severe | Less severe, self-limiting |
| Examples | Parathion, Malathion | Carbaryl (Sevin), Aldicarb, Carbofuran |
🌟 Memory trick: "Carbamates = Can reverse = Choose no PAM"
🌟 Memory trick for chlorate treatment: "WASH-MB-STA" Wash stomach → Methylene Blue → Sodium Thiosulphate → Ascorbic acid → dialysis
Paraquat → NADPH-dependent reduction → FREE RADICALS
Free radicals + O₂ → Superoxide + Hydroxyl radicals (OH)
→ Disrupts cell structure and causes cell death
🌟 Paraquat = Pulmonary fibrosis - This is the MOST tested fact about paraquat!
⚠️ WARNING: High-dose oxygen is CONTRAINDICATED in paraquat poisoning - it increases free radical formation and worsens lung damage! This is a COMMON exam trick question.
ALP + moisture/HCl in stomach → PHOSPHINE GAS (PH₃)
Phosphine → inhibits mitochondrial cytochrome c oxidase
→ blocks electron transport chain
→ cellular energy failure → cell death
| Feature | OP | Carbamate | Chlorate | Paraquat | ALP |
|---|---|---|---|---|---|
| Use | Insecticide | Insecticide | Weedkiller | Herbicide | Grain preservative |
| Mechanism | Irreversible AChE inhibition | Reversible AChE inhibition | MetHb + Hemolysis | Free radicals (lung) | Phosphine → mitochondrial block |
| Key symptom | SLUDGE + miosis | Milder SLUDGE | MetHb + renal failure | Pulmonary fibrosis | Cardiac failure + garlic smell |
| Specific antidote | Atropine + PAM | Atropine only | Methylene blue | None | None |
| PAM useful? | YES | NO | No | No | No |
| Smell | Kerosene/garlic | - | - | - | Garlic |
| Key test | Atropine test + AChE | - | MetHb level | - | Silver nitrate paper |
| Main COD | Respiratory failure | - | Renal failure | Respiratory failure/fibrosis | Cardiovascular collapse |
| Trick | What it helps remember |
|---|---|
| SLUDGE | Muscarinic symptoms (Salivation, Lacrimation, Urination, Defecation, GI cramps, Emesis) |
| DUMBELS | Full muscarinic picture (D-Defecation, U-Urination, M-Miosis, B-Bradycardia/Bronchospasm, E-Emesis, L-Lacrimation, S-Salivation/Sweating) |
| "A and P" antidotes | Atropine (muscarinic) + PAM/Pralidoxime (nicotinic + reactivation) |
| "Carbamates Can reverse, Choose no PAM" | Reversible + no PAM |
| "Paraquat = Pulmonary Fibrosis + No O₂ + No antidote" | The three NOs of paraquat |
| "ALP = Aluminum + Garlic + No antidote + Grain" | Key ALP facts |
| "Gramoxone = Grass Gone" | Paraquat trade name |
| "Celphos = Cell-phosphide = Grain thief killer" | ALP trade name |
| Plasma falls FIRST, RBC is MORE accurate | Cholinesterase interpretation |
OP Poisoning:
→ Irreversible AChE inhibition
→ SLUDGE (muscarinic) + Fasciculations (nicotinic) + Coma (CNS)
→ Pinpoint pupils, kerosene smell, excessive secretions
→ Antidote: ATROPINE (muscarinic) + PAM (reactivation)
→ Confirm: Atropine test + AChE levels (<50% RBC = poisoned)
Carbamates: Like OP but REVERSIBLE → Atropine only, no PAM
Chlorates: Oxidizing agent → MetHb + Hemolysis + Renal failure
→ Antidote: Methylene blue
Paraquat (Gramoxone): Free radicals → Pulmonary FIBROSIS
→ NO antidote, NO O₂, Fuller's earth
ALP (Celphos): Phosphine gas → Mitochondrial block → Cardiac failure
→ Garlic smell, NO antidote, Magnesium sulphate + Hydrocortisone
Study tip: Read this 3 times. On the 1st read, just understand the story. On the 2nd read, cover the right column and test yourself on each row of the tables. On the 3rd read, write the 10-marker answer from memory!
Can you make a PDF of the above topic you, uh, explained to me? Exact same thing I want, but in a PDF format.
ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "created"
mkdir -p /tmp/workspace/fmt-agricultural-poisons && echo "done"
~/fmt-agricultural-poisons/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import mm, cm
from reportlab.lib import colors
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import ListFlowable, ListItem
OUTPUT = "/tmp/workspace/fmt-agricultural-poisons/Agricultural_Poisons_FMT_NarayanReddy.pdf"
# ── colours ──────────────────────────────────────────────────────────────────
C_DARK_BLUE = colors.HexColor("#1a237e")
C_RED = colors.HexColor("#b71c1c")
C_AMBER = colors.HexColor("#e65100")
C_GREEN = colors.HexColor("#1b5e20")
C_TEAL = colors.HexColor("#006064")
C_PURPLE = colors.HexColor("#4a148c")
C_LIGHT_BLUE = colors.HexColor("#e3f2fd")
C_LIGHT_RED = colors.HexColor("#ffebee")
C_LIGHT_GREEN = colors.HexColor("#e8f5e9")
C_LIGHT_AMB = colors.HexColor("#fff3e0")
C_LIGHT_PURP = colors.HexColor("#f3e5f5")
C_LIGHT_TEAL = colors.HexColor("#e0f7fa")
C_YELLOW_HL = colors.HexColor("#fff9c4")
C_GREY_BG = colors.HexColor("#f5f5f5")
C_DARK_GREY = colors.HexColor("#424242")
C_MED_GREY = colors.HexColor("#757575")
C_WHITE = colors.white
C_BLACK = colors.black
# ── styles ────────────────────────────────────────────────────────────────────
def build_styles():
base = getSampleStyleSheet()
def s(name, parent="Normal", **kw):
return ParagraphStyle(name, parent=base[parent], **kw)
return {
"cover_title": s("cover_title", "Title",
fontSize=26, textColor=C_DARK_BLUE, spaceAfter=6,
alignment=TA_CENTER, fontName="Helvetica-Bold"),
"cover_sub": s("cover_sub",
fontSize=14, textColor=C_DARK_GREY, spaceAfter=4,
alignment=TA_CENTER, fontName="Helvetica"),
"cover_meta": s("cover_meta",
fontSize=10, textColor=C_MED_GREY, spaceAfter=2,
alignment=TA_CENTER, fontName="Helvetica-Oblique"),
"chapter_head": s("chapter_head",
fontSize=18, textColor=C_WHITE, spaceAfter=2,
fontName="Helvetica-Bold", alignment=TA_CENTER,
backColor=C_DARK_BLUE, borderPadding=(8,10,8,10)),
"part_head": s("part_head",
fontSize=15, textColor=C_WHITE, spaceAfter=4, spaceBefore=14,
fontName="Helvetica-Bold", alignment=TA_LEFT,
backColor=C_RED, borderPadding=(6,8,6,8)),
"section_head": s("section_head",
fontSize=13, textColor=C_DARK_BLUE, spaceAfter=4, spaceBefore=10,
fontName="Helvetica-Bold"),
"sub_head": s("sub_head",
fontSize=11, textColor=C_AMBER, spaceAfter=3, spaceBefore=6,
fontName="Helvetica-Bold"),
"body": s("body",
fontSize=10, textColor=C_DARK_GREY, spaceAfter=4,
leading=15, alignment=TA_JUSTIFY, fontName="Helvetica"),
"body_bold": s("body_bold",
fontSize=10, textColor=C_DARK_GREY, spaceAfter=4,
leading=15, fontName="Helvetica-Bold"),
"bullet": s("bullet",
fontSize=10, textColor=C_DARK_GREY, spaceAfter=3,
leading=14, leftIndent=16, fontName="Helvetica",
bulletText="•"),
"trick_box": s("trick_box",
fontSize=10, textColor=C_GREEN, spaceAfter=4,
leading=14, fontName="Helvetica-Bold",
backColor=C_LIGHT_GREEN, borderPadding=(6,8,6,8)),
"warning_box": s("warning_box",
fontSize=10, textColor=C_RED, spaceAfter=4,
leading=14, fontName="Helvetica-Bold",
backColor=C_LIGHT_RED, borderPadding=(6,8,6,8)),
"highlight": s("highlight",
fontSize=10, textColor=C_DARK_GREY, spaceAfter=4,
leading=14, fontName="Helvetica",
backColor=C_YELLOW_HL, borderPadding=(5,8,5,8)),
"code_box": s("code_box",
fontSize=9, textColor=C_DARK_GREY, spaceAfter=4,
leading=13, fontName="Courier",
backColor=C_GREY_BG, borderPadding=(6,8,6,8)),
"q_head": s("q_head",
fontSize=13, textColor=C_WHITE, spaceAfter=4, spaceBefore=10,
fontName="Helvetica-Bold", alignment=TA_LEFT,
backColor=C_PURPLE, borderPadding=(6,8,6,8)),
"footer_note": s("footer_note",
fontSize=8, textColor=C_MED_GREY, spaceAfter=2,
alignment=TA_CENTER, fontName="Helvetica-Oblique"),
}
# ── table helper ──────────────────────────────────────────────────────────────
def styled_table(data, col_widths, header_bg=C_DARK_BLUE, alt_bg=C_LIGHT_BLUE):
ts = TableStyle([
("BACKGROUND", (0,0), (-1,0), header_bg),
("TEXTCOLOR", (0,0), (-1,0), C_WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,0), 9),
("ALIGN", (0,0), (-1,0), "CENTER"),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
("FONTSIZE", (0,1), (-1,-1), 9),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("TEXTCOLOR", (0,1), (-1,-1), C_DARK_GREY),
("ROWBACKGROUNDS", (0,1), (-1,-1), [C_WHITE, alt_bg]),
("GRID", (0,0), (-1,-1), 0.5, colors.HexColor("#bdbdbd")),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING",(0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 6),
("RIGHTPADDING",(0,0), (-1,-1), 6),
])
t = Table(data, colWidths=col_widths, repeatRows=1)
t.setStyle(ts)
return t
# ── build content ─────────────────────────────────────────────────────────────
def build_story(st):
story = []
sp = lambda n=1: Spacer(1, n*4*mm)
hr = lambda c=C_DARK_BLUE, t=1: HRFlowable(width="100%", thickness=t, color=c, spaceAfter=4, spaceBefore=4)
def P(text, style): return Paragraph(text, st[style])
def B(text): return Paragraph(f"• {text}", st["body"])
# ══════════════════════════════════════════════════════
# COVER PAGE
# ══════════════════════════════════════════════════════
story += [
sp(8),
P("🌾 Agricultural Poisons", "cover_title"),
sp(1),
P("Chapter 25 | Pages 395–401", "cover_sub"),
sp(1),
P("The Essentials of Forensic Medicine & Toxicology", "cover_sub"),
P("Dr. K.S. Narayan Reddy | 36th Edition (2026)", "cover_meta"),
sp(2),
hr(C_DARK_BLUE, 2),
sp(1),
P("Complete Study Notes • Memory Tricks • 10-Marker Q&A", "cover_meta"),
P("Prepared for Exam Preparation", "cover_meta"),
sp(10),
P("⚠️ Study Tips: Read once to understand, twice to memorise, third time to write from memory!", "highlight"),
PageBreak(),
]
# ══════════════════════════════════════════════════════
# BIG PICTURE
# ══════════════════════════════════════════════════════
story += [
P("🧠 The Big Picture — What is Chapter 25 About?", "chapter_head"),
sp(1),
P("Imagine a farmer spraying his fields. The chemicals he uses to kill insects and weeds — if a human "
"swallows them, inhales them, or if they touch the skin — these can KILL. Chapter 25 is all about "
"<b>these farming chemicals as poisons</b>. There are 5 major agricultural poisons you must know cold.", "body"),
sp(1),
]
overview_data = [
["#", "Poison", "What It Is", "Key Word / Hook"],
["1", "Organophosphorus (OP)", "Insecticide", "AChE Killer (Irreversible)"],
["2", "Carbamates", "Insecticide", "Reversible AChE Killer"],
["3", "Chlorates", "Weedkiller", "MetHb + Hemolysis"],
["4", "Paraquat", "Herbicide", "Lung Destroyer"],
["5", "Aluminum Phosphide (ALP)", "Grain Preservative", "Garlic Smell + No Antidote"],
]
story.append(styled_table(overview_data, [15*mm, 50*mm, 45*mm, 65*mm]))
story.append(sp(2))
# ══════════════════════════════════════════════════════
# PART 1 — OP POISONS
# ══════════════════════════════════════════════════════
story += [
P("🔴 PART 1: ORGANOPHOSPHORUS (OP) POISONS — THE MOST IMPORTANT!", "part_head"),
sp(1),
P("Think of it like this: Imagine a river called the <b>Acetylcholine River</b>. Normally, a cleaner "
"called <b>AChE (Acetylcholinesterase)</b> cleans the river. OP compounds <b>DESTROY the cleaner</b>, "
"so acetylcholine keeps flooding everywhere. The body goes into overdrive!", "body"),
]
story.append(P("Compounds to Know", "section_head"))
compounds_data = [
["Alkyl Phosphates", "Aryl Phosphates"],
["HETP, TEPP (Tetron), OMPA, Dimefox,\nMalathion (Kill Bug/Bugsolline),\nSulfotepp, Demeton, Trichlorfon",
"Parathion (Nitrostigmine/Follidol) ← most common in India\nParaoxon, Methyl-parathion (Metacide),\nChlorothion, Diazinon (Diazion; Tik 20)"],
]
t = Table(compounds_data, colWidths=[87*mm, 87*mm])
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), C_TEAL),
("TEXTCOLOR", (0,0), (-1,0), C_WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("FONTSIZE", (0,0), (-1,-1), 9),
("TEXTCOLOR", (0,1), (-1,-1), C_DARK_GREY),
("GRID", (0,0), (-1,-1), 0.5, colors.HexColor("#bdbdbd")),
("VALIGN", (0,0), (-1,-1), "TOP"),
("TOPPADDING", (0,0), (-1,-1), 6),
("BOTTOMPADDING",(0,0), (-1,-1), 6),
("LEFTPADDING", (0,0), (-1,-1), 8),
]))
story += [t, sp(1),
P("🌟 Memory Trick: <b>Alkyl = Already toxic. Aryl = Activated by liver</b> (via Cytochrome P450)", "trick_box"),
sp(1),
]
story += [
P("Absorption, Distribution & Metabolism", "section_head"),
B("Absorbed through: <b>skin, inhalation, mucous membranes, GI tract</b>"),
B("Widely distributed; readily <b>cross placenta</b>"),
B("Metabolism in liver via Cytochrome P450; Aryl types need liver activation"),
B("Mixed with solvent <b>Aromax</b> → causes <b>kerosene-like smell</b> in stomach/vomit"),
B("Excreted in urine; excretion prolonged over a week"),
sp(1),
]
story += [
P("⚡ Mechanism of Action — THE HEART of OP Poisoning", "section_head"),
P("<b>Normally:</b> Acetylcholine → AChE → Choline + Acetic Acid (all cleaned up!)<br/>"
"<b>In OP poisoning:</b> Acetylcholine → AChE is BLOCKED by OP → Acetylcholine BUILDS UP everywhere!<br/>"
"OP binds to AChE <b>IRREVERSIBLY</b> (this is the exam favourite!)", "code_box"),
sp(1),
]
effects_data = [
["Effect Type", "Receptor", "Key Symptoms", "Memory Trick"],
["MUSCARINIC\n(glands, smooth muscle)", "M receptors",
"Salivation, Lacrimation, Urination,\nDefecation, GI cramps, Emesis,\nMiosis, Bradycardia, Bronchospasm",
"SLUDGE\nSalivation, Lacrimation,\nUrination, Defecation,\nGI cramps, Emesis"],
["NICOTINIC\n(skeletal muscle, ganglia)", "N receptors",
"Muscle fasciculations, Adrenal\nstimulation, Tachycardia (initially),\nCramps, Hypertension",
"MATCH:\nMuscle fasciculations,\nAdrenal stim,\nTachycardia, Cramps,\nHypertension"],
["CNS", "Both M + N",
"Anxiety, seizures, coma,\nrespiratory failure",
"—"],
]
story += [
styled_table(effects_data, [40*mm, 28*mm, 60*mm, 47*mm], header_bg=C_RED),
sp(1),
P("🌟 DUMBELS trick for full muscarinic picture: <b>D</b>efecation, <b>U</b>rination, <b>M</b>iosis, "
"<b>B</b>radycardia/Bronchospasm/Bronchorrhoea, <b>E</b>mesis, <b>L</b>acrimation, <b>S</b>alivation/Sweating",
"trick_box"),
sp(1),
]
story += [
P("Diagnosis", "section_head"),
B("<b>Atropine Test:</b> Give 2 mg atropine IV. Normal person → dry mouth, racing heart. "
"OP poisoning → symptoms IMPROVE without atropinization = CONFIRMED!"),
B("<b>Cholinesterase Levels:</b>"),
Paragraph(" • Plasma pseudocholinesterase — more <b>sensitive</b>, falls FIRST",
st["body"]),
Paragraph(" • RBC true cholinesterase — more <b>diagnostic/specific</b>",
st["body"]),
Paragraph(" • RBC AChE <50% of normal = <b>poisoning confirmed</b>",
st["body"]),
Paragraph(" • Plasma returns to normal in <b>7–10 days</b>; untreated: <b>4 weeks</b>",
st["body"]),
P("🌟 Remember: <b>Plasma falls FIRST, RBC is MORE accurate for diagnosis</b>", "trick_box"),
sp(1),
]
story += [
P("Post-Mortem Findings", "section_head"),
B("Kerosene/garlic-like smell from mouth, body cavities, stomach contents"),
B("Pinpoint pupils (miosis)"),
B("Cyanosis"),
B("Froth in airways (lungs)"),
B("Congestion of lungs, liver, brain, kidneys"),
B("Stomach contents smell of kerosene/aromax solvent"),
sp(1),
]
story += [
P("💊 Treatment (Very Important for Exams!)", "section_head"),
P("Step 1 — Remove from exposure", "sub_head"),
B("Remove clothes; wash skin with soap + water, then ethanol + water or alkaline solution"),
B("If eye involved: irrigate all conjunctival surfaces"),
P("Step 2 — Airway", "sub_head"),
B("Keep airway patent; tracheostomy may be needed"),
P("Step 3 — Decontaminate GI (if ingested)", "sub_head"),
B("Stomach wash with <b>1:5,000 potassium permanganate solution</b>"),
B("Activated charcoal 1 g/kg; avoid ipecac"),
B("Cathartic (sorbitol/magnesium citrate) once, unless diarrhoea present"),
P("Step 4 — SPECIFIC ANTIDOTES: Remember 'A and P'", "sub_head"),
]
antidote_data = [
["Drug", "Dose", "Action", "Key Points"],
["ATROPINE\n(Drug A)", "2–4 mg IV initially\n(Peds: 0.05 mg/kg)\nDouble every 10–15 min\nUp to 40–2000 mg/day",
"Blocks muscarinic effects\n(No effect on nicotinic)\nCounteracts CNS effects",
"• End-point = DRY secretions\n NOT pupil size!\n• Avoid if HR >140 bpm\n• Ineffective in severe\n hypoxia/hypotension"],
["PAM / Pralidoxime\n2-PAM\n(Drug P)", "1–2 g IV over 15–30 min\n(Peds: 20–40 mg/kg)\nRepeat after 1–2 hrs",
"REACTIVATES AChE —\nthe ONLY drug that\nreverses the actual block!",
"• Must give EARLY!\n• After 'aging' (24–48 hrs)\n PAM won't work\n• Reduces nicotinic\n symptoms"],
]
story += [
styled_table(antidote_data, [30*mm, 40*mm, 50*mm, 55*mm], header_bg=C_GREEN),
sp(1),
P("⛔ AVOID these drugs: Physostigmine, Edrophonium chloride, Succinylcholine — they WORSEN the situation!",
"warning_box"),
sp(2),
]
# ══════════════════════════════════════════════════════
# PART 2 — CARBAMATES
# ══════════════════════════════════════════════════════
story += [
P("🔵 PART 2: CARBAMATES", "part_head"),
sp(1),
P("Carbamates work the same way as OP — they inhibit AChE — but the key difference is the inhibition "
"is <b>REVERSIBLE</b>. Think of it as a temporary glue vs. OP's permanent superglue.", "body"),
sp(1),
]
carb_data = [
["Feature", "OP Compounds", "Carbamates"],
["Mechanism", "Irreversible AChE inhibition", "REVERSIBLE AChE inhibition"],
["Severity", "More severe, prolonged", "Less severe, self-limiting"],
["PAM (Pralidoxime)", "YES — essential", "NOT needed / usually avoided"],
["Atropine", "YES — essential", "YES — essential"],
["Examples", "Parathion, Malathion", "Carbaryl (Sevin), Aldicarb, Carbofuran"],
]
story += [
styled_table(carb_data, [38*mm, 62*mm, 75*mm], header_bg=C_TEAL),
sp(1),
P("🌟 Memory Trick: 'Carbamates Can reverse — Choose no PAM' (3 C's)", "trick_box"),
sp(2),
]
# ══════════════════════════════════════════════════════
# PART 3 — CHLORATES
# ══════════════════════════════════════════════════════
story += [
P("🟡 PART 3: CHLORATES (Weedkillers)", "part_head"),
sp(1),
P("Think of chlorates as <b>blood cell destroyers</b>. They look like table sugar (sodium chlorate) "
"— so accidental ingestion is common!", "body"),
sp(1),
P("Key Facts", "section_head"),
]
chlorate_facts = [
["Property", "Details"],
["Used as", "Weed killers, match heads, fireworks"],
["Appearance", "Sodium chlorate resembles TABLE SUGAR — accidental ingestion risk!"],
["Fatal Dose", "~20–30 g"],
["Mechanism", "Powerful oxidising agent → attacks all body cells\n"
"Reacts with thiol groups on RBCs → HEMOLYSIS\n"
"Oxidises Hb → METHEMOGLOBIN (can't carry O₂!)\n"
"Potent NEPHROTOXIN; hemolysis releases K⁺ → fatal hyperkalemia"],
]
story += [
styled_table(chlorate_facts, [40*mm, 135*mm], header_bg=C_AMBER),
sp(1),
P("Symptoms (onset 1–4 hours)", "section_head"),
B("Nausea, vomiting, diarrhoea, abdominal pain"),
B("Shallow breathing"),
B("Blood/protein/haemoglobin in urine (haematuria, proteinuria, haemoglobinuria)"),
B("Oliguria/anuria → <b>renal failure</b> (main cause of death)"),
B("<b>Haemolysis + jaundice + hepatic failure</b>"),
B("<b>Methemoglobinaemia</b> — can reach 40% or above"),
B("Agitation, muscular twitchings, convulsions"),
B("Skin/eyes: irritation, redness, burns, ulcers"),
P("Treatment", "section_head"),
]
chlorate_tx = [
["Step", "Treatment"],
["1", "Stomach wash (gastric lavage)"],
["2", "Methylene blue — 25 mL of 1% solution IV (for methemoglobinaemia)"],
["3", "Sodium thiosulphate — 2–5 g in 200 mL of 5% sodium bicarbonate as drink"],
["4", "Ascorbic acid — 1 g every 4 hours (drink or slow IV)"],
["5", "Peritoneal dialysis or haemodialysis"],
["6", "Symptomatic management"],
]
story += [
styled_table(chlorate_tx, [12*mm, 163*mm], header_bg=C_AMBER),
sp(1),
P("🌟 Mnemonic for chlorate treatment: '<b>WASH MB STA</b>' — Wash stomach, Methylene Blue, "
"Sodium Thiosulphate, Ascorbic acid, dialysis", "trick_box"),
sp(2),
]
# ══════════════════════════════════════════════════════
# PART 4 — PARAQUAT
# ══════════════════════════════════════════════════════
story += [
P("🟠 PART 4: PARAQUAT — 'The Lung Killer'", "part_head"),
sp(1),
P("Paraquat is a <b>bipyridylium herbicide</b> (weed killer). It is the most dangerous herbicide known. "
"Once ingested in significant quantity, it almost always kills.", "body"),
sp(1),
]
paraquat_facts = [
["Property", "Details"],
["Trade names", "Gramoxone (brownish liquid, 10–30%); Weedol (brown granules, ~5%)"],
["Use", "Sprayed on weeds BEFORE planting. Becomes inactivated on contact with soil."],
["Main route", "Ingestion (fatalities); inhalational deaths during spraying are VERY RARE"],
["Mechanism", "NADPH-dependent reduction → FREE RADICALS\n"
"Free radicals + O₂ → Superoxide + Hydroxyl radicals (OH·)\n"
"→ Disrupts cell structure and causes cell death\n"
"Lungs concentrate paraquat via polyamine uptake system → lungs are #1 target"],
]
story += [
styled_table(paraquat_facts, [35*mm, 140*mm], header_bg=C_AMBER),
sp(1),
P("Clinical Phases", "section_head"),
]
pq_phases = [
["Phase", "Timing", "Features"],
["Phase 1", "Early (24–48 hrs)", "Nausea, vomiting, diarrhoea, abdominal pain,\nulceration of mouth/throat (corrosive)"],
["Phase 2", "Days 3–14", "ARDS, PULMONARY FIBROSIS (the killer!), renal failure, liver damage"],
["Phase 3", "Late", "Irreversible lung fibrosis → death by respiratory failure"],
]
story += [
styled_table(pq_phases, [25*mm, 35*mm, 115*mm], header_bg=C_AMBER),
sp(1),
P("🌟 Most tested fact: <b>Paraquat = Pulmonary Fibrosis</b>", "trick_box"),
P("⛔ WARNING: HIGH-DOSE OXYGEN IS CONTRAINDICATED IN PARAQUAT POISONING! "
"Oxygen increases free radical formation and WORSENS lung damage. This is a favourite exam trick!",
"warning_box"),
P("Treatment", "section_head"),
B("NO specific antidote (very important exam point!)"),
B("Fuller's earth (bentonite) — adsorbs paraquat in gut"),
B("Gastric lavage"),
B("Haemoperfusion (to remove from blood)"),
B("Immunosuppression: steroids + cyclophosphamide (to slow fibrosis)"),
B("Supportive care"),
P("🌟 'The THREE NOs of Paraquat: No antidote, No O₂ (high dose), No cure if severe'", "trick_box"),
sp(2),
]
# ══════════════════════════════════════════════════════
# PART 5 — ALP
# ══════════════════════════════════════════════════════
story += [
P("🟤 PART 5: ALUMINUM PHOSPHIDE (ALP) — 'The Grain Poison'", "part_head"),
sp(1),
P("ALP is one of the most lethal agricultural poisons in India, especially in rural areas. "
"It is used for preserving stored grains (wheat, rice) against insects and rodents.", "body"),
sp(1),
]
alp_facts = [
["Property", "Details"],
["Trade names", "Celphos, Phostoxin, Quickphos"],
["Formulations", "Tablets (3 g each), pellets (0.6 g each), powder"],
["Fatal Dose", "1 tablet = 3 g — very small, very lethal!"],
["Smell", "GARLIC-LIKE odor (key exam point)"],
["Mechanism", "ALP + moisture/HCl in stomach → Phosphine gas (PH₃)\n"
"Phosphine → inhibits mitochondrial cytochrome c oxidase\n"
"→ blocks electron transport chain → cellular energy failure → cell death"],
["Main cause of death", "CARDIOVASCULAR COLLAPSE (cardiac failure)"],
]
story += [
styled_table(alp_facts, [40*mm, 135*mm], header_bg=C_DARK_GREY),
sp(1),
P("Symptoms", "section_head"),
B("<b>GI:</b> Nausea, vomiting, abdominal pain, GI bleeding"),
B("<b>CVS:</b> Hypotension, arrhythmias, cardiac failure (main cause of death!)"),
B("<b>Respiratory:</b> ARDS, pulmonary oedema, cyanosis"),
B("<b>CNS:</b> Anxiety, restlessness, ataxia, convulsions, coma"),
B("<b>Metabolic:</b> Metabolic acidosis"),
B("Appear within 30 minutes to a few hours of ingestion"),
sp(1),
P("Forensic Test for ALP", "section_head"),
P("<b>Silver Nitrate Paper Test:</b> Phosphine gas turns silver nitrate paper <b>BLACK</b>. "
"This is the important forensic confirmatory test!", "highlight"),
sp(1),
P("Post-Mortem Appearances", "section_head"),
B("Garlic-like odor at mouth, nostrils, and gastric contents"),
B("Blood-stained froth at mouth and nostrils"),
B("Congested mucous membrane of lower oesophagus, stomach, duodenum"),
B("Decreasing congestion in small intestine"),
B("Lungs, liver, spleen, kidneys, brain — all congested"),
B("<b>Centrizonal haemorrhagic necrosis of liver</b>"),
sp(1),
P("Histopathology", "section_head"),
]
histo_data = [
["Organ", "Histopathological Changes"],
["Stomach", "Congestion, oedema, leucocytic infiltration, sloughing of gastric mucosa"],
["Lungs", "Congestion, oedema, desquamation of respiratory epithelium,\nthickened alveoli, lymphocytic infiltration"],
["Kidneys", "Congestion, necrosis, tubular degeneration and regeneration"],
["Adrenals", "Congestion, haemorrhage, necrosis"],
]
story += [
styled_table(histo_data, [30*mm, 145*mm], header_bg=C_DARK_GREY),
sp(1),
P("Treatment (NO specific antidote!)", "section_head"),
]
alp_tx = [
["Step", "Treatment"],
["1", "Gastric lavage with potassium permanganate after endotracheal intubation\n"
"(oxidises phosphine → non-toxic phosphate); repeat 2–3 times"],
["2", "Activated charcoal 100 g orally mixed with SORBITOL (NOT water),\n"
"240 mL per 30 g — to adsorb phosphine"],
["3", "Antacids — reduce symptoms + reduce absorption of phosphine"],
["4", "Liquid paraffin — helps excretion of ALP and phosphine from gut"],
["5", "NO specific antidote"],
["6", "Magnesium sulphate — 1 g IV; then 1–1.5 g every 6 hrs for 5–7 days\n"
"(reduces organ toxicity, corrects hypomagnesaemia + arrhythmias)"],
["7", "Fluids for shock: 4–6 litres in first 3–6 hours (50% normal saline)"],
["8", "Low-dose dopamine: 4–6 mcg/kg/min (cardiac support)"],
["9", "IV Hydrocortisone: 400 mg every 4–6 hours (highly effective; reduces dopamine dose)"],
["10", "Oxygen for hypoxia; IV sodium carbonate for metabolic acidosis"],
["11", "Peritoneal or haemodialysis"],
]
story += [
styled_table(alp_tx, [12*mm, 163*mm], header_bg=C_DARK_GREY),
sp(2),
PageBreak(),
]
# ══════════════════════════════════════════════════════
# MASTER COMPARISON TABLE
# ══════════════════════════════════════════════════════
story += [
P("📊 MASTER COMPARISON TABLE — Exam Gold!", "chapter_head"),
sp(1),
]
master_data = [
["Feature", "OP", "Carbamate", "Chlorate", "Paraquat", "ALP"],
["Use", "Insecticide", "Insecticide", "Weedkiller", "Herbicide", "Grain preservative"],
["Mechanism", "Irreversible\nAChE inhibition", "Reversible\nAChE inhibition",
"MetHb +\nHaemolysis +\nNephrotoxin", "Free radicals\n→ lung damage", "Phosphine\n→ mito block"],
["Key symptom", "SLUDGE +\nMiosis", "Milder SLUDGE", "MetHb +\nRenal failure",
"Pulmonary\nFibrosis", "Cardiac failure\n+ garlic smell"],
["Antidote", "Atropine +\nPAM", "Atropine\nonly", "Methylene\nblue", "NONE", "NONE"],
["PAM useful?", "YES", "NO", "No", "No", "No"],
["Smell", "Kerosene/\ngarlic", "—", "—", "—", "Garlic"],
["Key test", "Atropine test\nAChE levels", "—", "MetHb level", "—", "Silver nitrate\npaper → black"],
["Main COD", "Respiratory\nfailure", "Respiratory\nfailure", "Renal failure", "Respiratory\nfailure/fibrosis",
"Cardiovascular\ncollapse"],
]
story += [
styled_table(master_data, [30*mm, 29*mm, 29*mm, 29*mm, 29*mm, 29*mm]),
sp(2),
]
# ══════════════════════════════════════════════════════
# WARNINGS BOX
# ══════════════════════════════════════════════════════
story += [
P("⚠️ CRITICAL EXAM WARNINGS — Do NOT Get These Wrong!", "chapter_head"),
sp(1),
P("⛔ 1. PARAQUAT + HIGH-DOSE OXYGEN = DANGEROUS! High-dose O₂ increases free radical formation "
"and WORSENS lung damage. Very common trick question.", "warning_box"),
sp(1),
P("⛔ 2. PAM (Pralidoxime) MUST be given EARLY — once 'aging' occurs (AChE-OP bond becomes permanent, "
"~24–48 hrs), PAM won't work. Never give PAM late and expect results.", "warning_box"),
sp(1),
P("⛔ 3. ALP HAS NO ANTIDOTE — pure supportive treatment; very high mortality. "
"Students often write atropine for ALP — WRONG!", "warning_box"),
sp(1),
P("⛔ 4. ATROPINE END-POINT IS DRY SECRETIONS, NOT PUPILS — do not stop atropine based on "
"pupil size. This is the number one clinical error in OP poisoning.", "warning_box"),
sp(1),
P("⛔ 5. CARBAMATES — PAM is usually NOT used/needed (sometimes even avoided in some references). "
"Remember: reversible = no need to reactivate!", "warning_box"),
sp(1),
P("⛔ 6. SODIUM CHLORATE LOOKS LIKE TABLE SUGAR — this is why accidental ingestion is common. "
"A history of 'mistook white powder for sugar' = think chlorate!", "warning_box"),
sp(2),
]
# ══════════════════════════════════════════════════════
# MEMORY TRICKS SUMMARY
# ══════════════════════════════════════════════════════
story += [
P("🧠 MEMORY TRICKS SUMMARY", "chapter_head"),
sp(1),
]
tricks_data = [
["Mnemonic / Trick", "What It Helps You Remember"],
["SLUDGE", "Muscarinic symptoms: Salivation, Lacrimation, Urination, Defecation, GI cramps, Emesis"],
["DUMBELS", "Full muscarinic picture: Defecation, Urination, Miosis, Bradycardia/Bronchospasm,\n"
"Emesis, Lacrimation, Salivation/Sweating"],
["'A and P' antidotes", "Atropine (muscarinic block) + PAM/Pralidoxime (nicotinic + reactivation of AChE)"],
["'Carbamates Can reverse —\nChoose no PAM' (3 C's)", "Reversible inhibition; no PAM needed"],
["'THREE NOs of Paraquat'", "No antidote, No high-dose O₂, No cure if severe"],
["'Gramoxone = Grass Gone'", "Trade name for Paraquat"],
["'Celphos = Cell-phosphide'", "Trade name for Aluminum Phosphide"],
["'ALP = Garlic + Grain +\nNo Antidote'", "Three key ALP facts"],
["'Plasma falls FIRST,\nRBC is MORE accurate'", "Interpretation of cholinesterase levels in OP poisoning"],
["'WASH MB STA'", "Chlorate treatment: Wash stomach → Methylene Blue → Sodium Thiosulphate →\nAscorbic acid → dialysis"],
["'Alkyl = Already toxic;\nAryl = Activated by liver'", "Difference between alkyl and aryl phosphates in OP"],
]
story += [
styled_table(tricks_data, [55*mm, 120*mm], header_bg=C_PURPLE, alt_bg=C_LIGHT_PURP),
sp(2),
PageBreak(),
]
# ══════════════════════════════════════════════════════
# 10-MARKER QUESTION
# ══════════════════════════════════════════════════════
story += [
P("✍️ 10-MARKER EXAM QUESTION & MODEL ANSWER", "q_head"),
sp(1),
P("<b>Question:</b> Describe the toxicology of Organophosphorus poisoning. Include its mechanism of "
"action, clinical features, post-mortem findings, and treatment. <i>(10 Marks)</i>", "highlight"),
sp(1),
]
answer_sections = [
("Introduction — 1 Mark",
"Organophosphorus (OP) compounds are esters of phosphoric acid widely used as insecticides in agriculture. "
"They are among the most common causes of poisoning in India. They form two series: "
"(1) Alkyl phosphates (e.g., Malathion, TEPP) and (2) Aryl phosphates (e.g., Parathion/Follidol, Methyl-parathion)."),
("Absorption and Metabolism — 1 Mark",
"OP compounds are absorbed through skin, inhalation, mucous membranes, and the GI tract. They are widely "
"distributed and cross the placenta. Metabolism occurs in the liver via cytochrome P450. Aryl phosphates require "
"liver activation. They are mixed with solvent (Aromax) causing a kerosene-like smell. Excreted in urine over ~1 week."),
("Mechanism of Action — 2 Marks",
"Normally, acetylcholine (ACh) released at nerve synapses is broken down by AChE. OP compounds bind "
"<b>irreversibly</b> to AChE, preventing breakdown of ACh. Accumulated ACh causes:<br/>"
"• <b>Muscarinic effects (SLUDGE):</b> Salivation, Lacrimation, Urination, Defecation, GI cramps, Emesis; "
"plus miosis, bradycardia, bronchospasm<br/>"
"• <b>Nicotinic effects:</b> Muscle fasciculations, weakness, hypertension, tachycardia (initially)<br/>"
"• <b>CNS effects:</b> Anxiety, convulsions, coma, respiratory failure"),
("Clinical Features — 1 Mark",
"Onset within minutes to hours. Key features: profuse sweating, hypersalivation, lacrimation, "
"<b>pinpoint pupils (miosis)</b>, bradycardia, bronchospasm, muscle fasciculations, urinary incontinence, "
"convulsions, and death from respiratory failure."),
("Diagnosis — 1 Mark",
"1. <b>Atropine test:</b> 2 mg IV atropine — no atropinisation confirms OP poisoning.<br/>"
"2. <b>Cholinesterase levels:</b> Plasma (sensitive, falls first); RBC (<50% normal confirms poisoning). "
"Plasma normalises in 7–10 days; untreated cases need 4 weeks."),
("Post-Mortem Findings — 1 Mark",
"Kerosene/garlic-like smell; pinpoint pupils; cyanosis; froth in airways; "
"congestion of lungs, liver, kidneys, brain; gastric contents smelling of kerosene/solvent."),
("Treatment — 3 Marks",
"1. Remove from exposure; wash skin with soap, water, and ethanol.<br/>"
"2. Gastric lavage with 1:5,000 KMnO₄ solution; activated charcoal 1 g/kg.<br/>"
"3. <b>Atropine sulphate:</b> 2–4 mg IV initially; double every 10–15 min; up to 40–2,000 mg/day; "
"end-point is dry secretions (NOT pupils).<br/>"
"4. <b>Pralidoxime (2-PAM):</b> 1–2 g IV over 15–30 min; must be given EARLY before aging; reactivates AChE; "
"reduces nicotinic symptoms.<br/>"
"5. AVOID: physostigmine, succinylcholine, edrophonium chloride.<br/>"
"6. Supportive: airway management, tracheostomy if needed, treat seizures."),
]
for title, text in answer_sections:
story += [
P(title, "sub_head"),
P(text, "body"),
sp(1),
]
# ══════════════════════════════════════════════════════
# LAST-NIGHT RECAP
# ══════════════════════════════════════════════════════
story += [
PageBreak(),
P("📌 LAST-NIGHT-BEFORE-EXAM QUICK RECAP CARD", "chapter_head"),
sp(1),
P("OP POISONING:\n"
"→ Irreversible AChE inhibition\n"
"→ SLUDGE (muscarinic) + Fasciculations (nicotinic) + Coma (CNS)\n"
"→ Pinpoint pupils, kerosene smell, excessive secretions\n"
"→ Antidote: ATROPINE (muscarinic) + PAM (reactivation)\n"
"→ Confirm: Atropine test + AChE levels (<50% RBC = poisoned)", "code_box"),
sp(1),
P("CARBAMATES:\n"
"→ Like OP but REVERSIBLE → Atropine only, no PAM needed\n"
"→ Less severe, self-limiting", "code_box"),
sp(1),
P("CHLORATES (Weedkiller):\n"
"→ Oxidising agent → MetHb + Haemolysis + Renal failure\n"
"→ Antidote: Methylene blue\n"
"→ Treatment mnemonic: WASH MB STA", "code_box"),
sp(1),
P("PARAQUAT (Gramoxone, Herbicide):\n"
"→ Free radicals → PULMONARY FIBROSIS\n"
"→ NO antidote, NO high-dose O₂, Fuller's earth\n"
"→ Highest mortality", "code_box"),
sp(1),
P("ALP (Celphos, Grain Preservative):\n"
"→ Phosphine gas → Mitochondrial block → CARDIAC FAILURE\n"
"→ Garlic smell, NO antidote\n"
"→ Treatment: Magnesium sulphate + Hydrocortisone + Supportive", "code_box"),
sp(2),
hr(C_DARK_BLUE, 2),
sp(1),
P("Source: The Essentials of Forensic Medicine and Toxicology, 36th Edition (2026), Dr. K.S. Narayan Reddy, "
"Chapter 25: Agricultural Poisons, Pages 395–401",
"footer_note"),
P("Study tip: Read 3 times. 1st — understand the story. 2nd — cover the right column, test yourself. "
"3rd — write the 10-marker from memory. You will ace your exams!",
"footer_note"),
]
return story
# ── main ──────────────────────────────────────────────────────────────────────
def main():
styles = build_styles()
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=18*mm,
rightMargin=18*mm,
topMargin=20*mm,
bottomMargin=20*mm,
title="Agricultural Poisons — FMT Chapter 25",
author="Narayan Reddy FMT Study Notes",
subject="Forensic Medicine & Toxicology — Agricultural Poisons",
)
story = build_story(styles)
doc.build(story)
print(f"PDF created: {OUTPUT}")
if __name__ == "__main__":
main()
cd /tmp/workspace/fmt-agricultural-poisons && python generate_pdf.py 2>&1
ls -lh /tmp/workspace/fmt-agricultural-poisons/Agricultural_Poisons_FMT_NarayanReddy.pdf
Agricultural Poisons FMT NarayanReddy
PDF Document · PDF
Can you explain me the chapter number 26 of Essentials of Forensic Medicine, Narayan Reddy book? अ, page number 402-407. Can you explain that to me in a very detailed, precise and simple way? अ, because I am not able to understand it. Explain it to me in a very, अ, simple way like you are explaining it to a child and do not skip something. Explain each and everything which is present over on those pages, but in a very detailed and simple, easy format which I can write a ten marker answer also. And even a five marker answer also. Important topics, highlight them. Also, uh, whatever you explain, uh, to me, send it in the PDF format also and in normal, uh, text also.
Can you explain me the chapter number 26 of Essentials of Forensic Medicine, Narayan Reddy book? अ, page number 402-407. Can you explain that to me in a very detailed, precise and simple way? अ, because I am not able to understand it. Explain it to me in a very, अ, simple way like you are explaining it to a child and do not skip something. Explain each and everything which is present over on those pages, but in a very detailed and simple, easy format which I can write a ten marker answer also. And even a five marker answer also. Important topics, highlight them. Also, uh, whatever you explain, uh, to me, send it in the PDF format also and in normal, uh, text also. Chapter of corrosive poison
~/fmt-corrosive-poisons/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import mm
from reportlab.lib import colors
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
OUTPUT = "/tmp/workspace/fmt-corrosive-poisons/Corrosive_Poisons_Ch26_FMT_NarayanReddy.pdf"
# ── colours ───────────────────────────────────────────────────────────────────
C_DARK_RED = colors.HexColor("#7b0000")
C_RED = colors.HexColor("#c62828")
C_ORANGE = colors.HexColor("#e65100")
C_DARK_BLUE = colors.HexColor("#0d47a1")
C_TEAL = colors.HexColor("#004d40")
C_PURPLE = colors.HexColor("#4a148c")
C_GREEN = colors.HexColor("#1b5e20")
C_DARK_GREY = colors.HexColor("#212121")
C_MED_GREY = colors.HexColor("#616161")
C_LIGHT_RED = colors.HexColor("#ffebee")
C_LIGHT_BLUE = colors.HexColor("#e3f2fd")
C_LIGHT_GREEN = colors.HexColor("#e8f5e9")
C_LIGHT_AMB = colors.HexColor("#fff3e0")
C_LIGHT_PURP = colors.HexColor("#f3e5f5")
C_YELLOW_HL = colors.HexColor("#fff9c4")
C_GREY_BG = colors.HexColor("#f5f5f5")
C_WHITE = colors.white
def build_styles():
base = getSampleStyleSheet()
def s(name, parent="Normal", **kw):
return ParagraphStyle(name, parent=base[parent], **kw)
return {
"cover_title": s("cover_title", fontSize=28, textColor=C_DARK_RED, spaceAfter=6,
alignment=TA_CENTER, fontName="Helvetica-Bold"),
"cover_sub": s("cover_sub", fontSize=14, textColor=C_DARK_GREY, spaceAfter=4,
alignment=TA_CENTER, fontName="Helvetica"),
"cover_meta": s("cover_meta", fontSize=10, textColor=C_MED_GREY, spaceAfter=2,
alignment=TA_CENTER, fontName="Helvetica-Oblique"),
"chapter_head": s("chapter_head", fontSize=17, textColor=C_WHITE, spaceAfter=4,
fontName="Helvetica-Bold", alignment=TA_CENTER,
backColor=C_DARK_RED, borderPadding=(8,10,8,10)),
"part_head": s("part_head", fontSize=14, textColor=C_WHITE, spaceAfter=4, spaceBefore=12,
fontName="Helvetica-Bold", alignment=TA_LEFT,
backColor=C_RED, borderPadding=(6,8,6,8)),
"section_head": s("section_head", fontSize=12, textColor=C_DARK_BLUE, spaceAfter=4, spaceBefore=8,
fontName="Helvetica-Bold"),
"sub_head": s("sub_head", fontSize=11, textColor=C_ORANGE, spaceAfter=3, spaceBefore=5,
fontName="Helvetica-Bold"),
"body": s("body", fontSize=10, textColor=C_DARK_GREY, spaceAfter=4,
leading=15, alignment=TA_JUSTIFY, fontName="Helvetica"),
"bullet": s("bullet", fontSize=10, textColor=C_DARK_GREY, spaceAfter=3,
leading=14, leftIndent=14, fontName="Helvetica"),
"trick_box": s("trick_box", fontSize=10, textColor=C_GREEN, spaceAfter=4,
leading=14, fontName="Helvetica-Bold", backColor=C_LIGHT_GREEN, borderPadding=(6,8,6,8)),
"warning_box": s("warning_box", fontSize=10, textColor=C_DARK_RED, spaceAfter=4,
leading=14, fontName="Helvetica-Bold", backColor=C_LIGHT_RED, borderPadding=(6,8,6,8)),
"highlight": s("highlight", fontSize=10, textColor=C_DARK_GREY, spaceAfter=4,
leading=14, fontName="Helvetica", backColor=C_YELLOW_HL, borderPadding=(5,8,5,8)),
"code_box": s("code_box", fontSize=9, textColor=C_DARK_GREY, spaceAfter=4,
leading=13, fontName="Courier", backColor=C_GREY_BG, borderPadding=(6,8,6,8)),
"q_head": s("q_head", fontSize=13, textColor=C_WHITE, spaceAfter=4, spaceBefore=8,
fontName="Helvetica-Bold", alignment=TA_LEFT,
backColor=C_PURPLE, borderPadding=(6,8,6,8)),
"footer_note": s("footer_note", fontSize=8, textColor=C_MED_GREY, spaceAfter=2,
alignment=TA_CENTER, fontName="Helvetica-Oblique"),
"important": s("important", fontSize=10, textColor=C_DARK_BLUE, spaceAfter=4,
leading=14, fontName="Helvetica-Bold", backColor=C_LIGHT_BLUE, borderPadding=(5,8,5,8)),
}
def styled_table(data, col_widths, header_bg=C_DARK_RED, alt_bg=C_LIGHT_RED):
ts = TableStyle([
("BACKGROUND", (0,0), (-1,0), header_bg),
("TEXTCOLOR", (0,0), (-1,0), C_WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,0), 9),
("ALIGN", (0,0), (-1,0), "CENTER"),
("VALIGN", (0,0), (-1,-1), "TOP"),
("FONTSIZE", (0,1), (-1,-1), 9),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("TEXTCOLOR", (0,1), (-1,-1), C_DARK_GREY),
("ROWBACKGROUNDS", (0,1), (-1,-1), [C_WHITE, alt_bg]),
("GRID", (0,0), (-1,-1), 0.5, colors.HexColor("#bdbdbd")),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING",(0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 6),
("RIGHTPADDING",(0,0), (-1,-1), 6),
])
t = Table(data, colWidths=col_widths, repeatRows=1)
t.setStyle(ts)
return t
def B(text, st): return Paragraph(f"• {text}", st["bullet"])
def P(text, style, st): return Paragraph(text, st[style])
def sp(n=1): return Spacer(1, n*4*mm)
def hr(c=None):
if c is None: c = C_DARK_RED
return HRFlowable(width="100%", thickness=1, color=c, spaceAfter=4, spaceBefore=4)
def build_story(st):
story = []
# ── COVER ─────────────────────────────────────────────────────────────────
story += [
sp(6),
P("🧪 Corrosive Poisons", "cover_title", st),
sp(1),
P("Chapter 26 | Pages 402–407", "cover_sub", st),
P("The Essentials of Forensic Medicine & Toxicology", "cover_sub", st),
P("Dr. K.S. Narayan Reddy | 36th Edition (2026)", "cover_meta", st),
sp(2),
hr(), sp(1),
P("Complete Study Notes • Memory Tricks • 10-Marker & 5-Marker Q&A", "cover_meta", st),
sp(8),
P("📌 Study Tip: Read once to understand the story. Read twice to memorise. Write from memory on the third read!",
"highlight", st),
PageBreak(),
]
# ── WHAT IS A CORROSIVE POISON? ───────────────────────────────────────────
story += [
P("🧠 What is a Corrosive Poison? — The Big Picture", "chapter_head", st),
sp(1),
P("Imagine pouring <b>toilet cleaner (acid)</b> or <b>drain cleaner (alkali)</b> on a piece of "
"raw meat. It would burn, dissolve, and destroy the meat's surface. <b>That is exactly what "
"corrosive poisons do inside the human body.</b>", "body", st),
sp(1),
P("<b>Definition:</b> A corrosive poison is one that <b>fixes, destroys, and erodes</b> the "
"surface with which it comes in contact. It works by:", "body", st),
B("Extracting water from body tissues (dehydration of cells)", st),
B("Coagulating (hardening) cellular proteins — turning soft tissue into dead, hard crust", st),
B("Converting haemoglobin into haematin (dark pigment) — turns blood dark", st),
sp(1),
P("🌟 Memory Trick: <b>'C-D-C'</b> = Corrosive → Destroys by: <b>D</b>ehydration + <b>C</b>oagulation + <b>C</b>onversion of Hb to Haematin",
"trick_box", st),
sp(1),
]
# Classification table
story += [
P("Classification of Corrosives (MUST KNOW!)", "section_head", st),
]
class_data = [
["Category", "Substances"],
["(1) Inorganic Acids\n(Mineral Acids)", "Sulphuric Acid (H₂SO₄)\nNitric Acid (HNO₃)\nHydrochloric Acid (HCl)"],
["(2) Organic Acids", "Carbolic Acid (Phenol)\nOxalic Acid\nFormic Acid\nAcetylsalicylic Acid (Aspirin)"],
["(3) Alkalis", "Sodium Hydroxide (Caustic Soda)\nPotassium Hydroxide (Caustic Potash)\nAmmonia"],
]
story += [
styled_table(class_data, [55*mm, 120*mm]),
sp(1),
P("🌟 Memory Trick: <b>'I-O-A'</b> = Inorganic acids + Organic acids + Alkalis. "
"For inorganic: <b>'SNH'</b> = Sulphuric, Nitric, Hydrochloric", "trick_box", st),
sp(2),
]
# ── GENERAL MECHANISM ────────────────────────────────────────────────────
story += [
P("⚙️ General Mechanism — How All Mineral Acids Work", "chapter_head", st),
sp(1),
P("When a strong mineral acid (like sulphuric acid) touches moist skin or mucous membranes, "
"the following happens step by step:", "body", st),
B("<b>Step 1 — Exothermic reaction:</b> Acid + moisture = HEAT generated (chemical burn + heat burn together!)", st),
B("<b>Step 2 — Coagulation necrosis:</b> The heat + corrosion causes proteins to coagulate (harden) → forms a crust/eschar", st),
B("<b>Step 3 — The crust is a double-edged sword:</b> It may prevent acid going deeper, BUT the acid can still be absorbed into blood", st),
B("<b>Step 4 — Systemic effects:</b> Absorbed acid → systemic acidosis + haemolysis + decreased cardiac output", st),
B("<b>Step 5 — Stomach:</b> Damage is mostly in stomach and pylorus (not oesophagus) → perforation → mediastinitis, sepsis, shock, death", st),
sp(1),
P("⚠️ KEY EXAM POINT: <b>Acids damage the STOMACH more than the oesophagus. Alkalis damage the OESOPHAGUS more than the stomach.</b> This is opposite and frequently tested!",
"warning_box", st),
sp(1),
P("Acid vs Alkali Burns — Comparison", "section_head", st),
]
acid_alk = [
["Feature", "ACID Burns", "ALKALI Burns"],
["pH", "Less than 2", "Greater than 11.5"],
["Type of necrosis", "COAGULATION necrosis\n(hard, dry crust/eschar)", "LIQUEFACTION necrosis\n(soft, wet, deeper burns)"],
["Eschar appearance", "Hard, dry, leathery, dark,\nclearly demarcated", "Soft, oedematous, translucent,\nsoap-like, red-brown"],
["Depth of injury", "Superficial (crust limits depth)", "DEEPER burns (no limiting crust)"],
["Oedema", "Mild", "Marked oedema"],
["Main site of damage", "STOMACH + pylorus", "OESOPHAGUS"],
["Charring", "YES (especially H₂SO₄, HNO₃)", "NOT seen"],
["Slough", "Dry, firm", "Mucilaginous (slimy)"],
["More dangerous overall?", "Less deep", "MORE severe tissue destruction"],
]
story += [
styled_table(acid_alk, [40*mm, 62*mm, 73*mm], header_bg=C_TEAL, alt_bg=C_LIGHT_BLUE),
sp(1),
P("🌟 Trick: <b>'Alkalis are WORSE'</b> — they cause LIQUEFACTION (soft deep melting) vs acids causing COAGULATION (hard surface crust). "
"Alkalis = A for Awful = deeper damage!", "trick_box", st),
sp(2),
PageBreak(),
]
# ── SULPHURIC ACID ───────────────────────────────────────────────────────
story += [
P("🔴 PART 1: SULPHURIC ACID (H₂SO₄) — 'Oil of Vitriol'", "part_head", st),
sp(1),
P("This is the <b>most important and most commonly tested</b> corrosive acid in FMT exams. "
"Learn this one perfectly!", "important", st),
sp(1),
P("Physical Characteristics", "section_head", st),
B("<b>Pure form:</b> Heavy, odourless, colourless, non-fuming, hygroscopic (absorbs moisture), oily liquid", st),
B("Also known as: <b>'Oil of Vitriol'</b> — this is its most important alternative name for exams!", st),
B("<b>Commercial form:</b> Brown or dark coloured", st),
B("Has a tendency to <b>carbonize (char) organic substances</b> — turns organic material black/dark", st),
B("<b>Superficial burns</b> after just 1 second of contact!", st),
B("<b>Full thickness burns</b> after 30 seconds of contact!", st),
sp(1),
P("Signs and Symptoms", "section_head", st),
P("<b>On the face and mouth (Local effects):</b>", "sub_head", st),
B("<b>Lips:</b> Swollen and excoriated (raw, scraped)", st),
B("<b>Brown or black streaks</b> from angles of mouth running down to chin and neck (where the acid dripped!)", st),
B("Corrosion of mucous membranes of mouth, throat, oesophagus", st),
B("<b>Immediate burning pain</b> — severe!", st),
B("<b>Stridor</b> (noisy breathing — airway involvement)", st),
B("Drooling, odynophagia (painful swallowing), dysphagia (difficulty swallowing)", st),
B("<b>Teeth become chalky-white</b> — acid dissolves calcium in teeth enamel!", st),
B("<b>Tongue:</b> Swollen, sodden (waterlogged), and BLACK", st),
P("<b>On swallowing/stomach:</b>", "sub_head", st),
B("Epigastric pain soon spreads all over abdomen and thorax", st),
B("<b>Pharyngeal pain</b> is the most common presenting symptom", st),
B("Eructation (belching), nausea, vomiting", st),
B("<b>Vomit is brown/black, mucoid, strongly acidic</b> — may contain shreds of charred stomach wall!", st),
B("Intense <b>thirst</b> — but any attempt to drink causes vomiting (cruel cycle!)", st),
B("Abdomen becomes <b>distended and very tender</b>", st),
B("<b>Constipation</b> is severe + tenesmus (constant urge to defecate without result)", st),
P("<b>Systemic/Other effects:</b>", "sub_head", st),
B("Circulatory collapse may cause immediate death", st),
B("Asphyxia from <b>oedema of the glottis</b> (larynx swells, blocks airway)", st),
B("Voice becomes <b>hoarse and husky</b>", st),
B("Eyes become <b>sunken</b>, pupils usually <b>dilated</b>", st),
B("<b>Mind remains CLEAR till death</b> — this is a classic exam point! Patient is conscious and aware throughout!", st),
B("If person recovers: late <b>oesophageal, gastric and pyloric strictures</b> may develop", st),
B("Permanent scars in skin and oropharynx", st),
sp(1),
P("⭐ KEY EXAM POINTS for Sulphuric Acid:", "important", st),
]
sa_key = [
["Key Fact", "Detail"],
["Fatal Dose", "10–5 mL (very small amount can kill!)"],
["Fatal Period", "12–24 hours"],
["Causes of Death", "1. Circulatory collapse\n2. Spasm/oedema of glottis (asphyxia)\n3. Collapse due to stomach perforation"],
["Special name", "Oil of Vitriol"],
["Teeth colour", "Chalky-white"],
["Tongue appearance", "Swollen, black"],
["Vomit colour", "Brown or black"],
["Mind", "REMAINS CLEAR till death"],
["Late complication", "Oesophageal/gastric/pyloric strictures"],
]
story += [
styled_table(sa_key, [55*mm, 120*mm]),
sp(1),
]
# PM appearances sulphuric acid
story += [
P("Post-Mortem Appearances — Sulphuric Acid", "section_head", st),
B("<b>Exterior:</b> Brown/black streaks on face, chin, and neck where acid flowed", st),
B("<b>Lips:</b> Swollen, brown-black, excoriated", st),
B("<b>Mouth + Tongue:</b> Corroded, black, shrunken", st),
B("<b>Teeth:</b> Chalky-white, crumbling", st),
B("<b>Stomach:</b> Most severely affected — mucosa charred, black; may have perforations", st),
B("<b>Oesophagus:</b> Less affected than stomach (contrast with alkali!)", st),
B("<b>Odour:</b> Pungent acid smell", st),
B("<b>Blood:</b> Dark (haemoglobin converted to haematin)", st),
sp(1),
P("Treatment — Sulphuric Acid", "section_head", st),
B("<b>DO NOT</b> give emetics (vomiting would re-damage the oesophagus and mouth)", st),
B("<b>DO NOT</b> do gastric lavage (risk of perforation)", st),
B("Give <b>alkali diluents</b> orally: Milk, egg white, chalk, magnesia (to neutralise the acid)", st),
B("Demulcents (soothing agents): olive oil, milk", st),
B("<b>Milk of magnesia</b> (magnesium hydroxide) — preferred antidote", st),
B("Pain relief, IV fluids, treat shock", st),
B("Tracheostomy if glottis oedema blocks airway", st),
B("Later: dilatation of strictures if they develop", st),
sp(1),
P("⚠️ WARNING: NEVER give sodium bicarbonate in acid poisoning! The reaction produces CO₂ gas which can cause gastric distension and perforation!",
"warning_box", st),
sp(2),
]
# ── NITRIC ACID ──────────────────────────────────────────────────────────
story += [
P("🟡 PART 2: NITRIC ACID (HNO₃) — 'Aqua Fortis'", "part_head", st),
sp(1),
P("Think of Nitric Acid as Sulphuric Acid's cousin — similar but with one VERY IMPORTANT difference: "
"the colour it causes on skin is <b>YELLOW</b> (not black like sulphuric acid).", "body", st),
sp(1),
P("Physical Characteristics", "section_head", st),
B("Fuming, strongly oxidising acid", st),
B("Pure form: colourless; commercial form: yellowish/reddish-brown", st),
B("Also called: <b>'Aqua Fortis'</b> (Latin for 'strong water') — important alternative name!", st),
B("Reacts with proteins to produce a <b>yellow colour</b> (xanthoproteic reaction)", st),
sp(1),
P("Signs and Symptoms", "section_head", st),
B("Similar to sulphuric acid — burning pain, vomiting, collapse", st),
B("KEY DIFFERENCE: <b>Yellow staining of skin, mouth, and burns</b> — called 'Xanthoproteic reaction'", st),
B("Vomit is <b>yellow or green</b> (not black like H₂SO₄)", st),
B("Skin burns show <b>yellow-brown/orange colour</b>", st),
B("Less tendency to char than sulphuric acid", st),
B("Fumes cause lung damage if inhaled", st),
sp(1),
]
na_key = [
["Key Fact", "Detail"],
["Fatal Dose", "~8 mL"],
["Fatal Period", "12–24 hours"],
["Special name", "Aqua Fortis"],
["Burn colour", "YELLOW (Xanthoproteic reaction) — KEY difference!"],
["Vomit colour", "Yellow or green"],
["Causes of Death", "Same as sulphuric acid: shock, glottis oedema, perforation"],
]
story += [
styled_table(na_key, [40*mm, 135*mm], header_bg=colors.HexColor("#f57f17")),
sp(1),
P("🌟 Memory Trick: <b>Nitric acid = YELLOW</b>. Think: 'N for Nitric = N for Nice Yellow colour'. "
"Sulphuric = Black/Brown. Nitric = Yellow. HCl = No colour change (colourless burns).",
"trick_box", st),
sp(2),
]
# ── HYDROCHLORIC ACID ────────────────────────────────────────────────────
story += [
P("🟢 PART 3: HYDROCHLORIC ACID (HCl) — 'Spirits of Salt'", "part_head", st),
sp(1),
P("HCl is also known as <b>Muriatic Acid</b> or <b>Spirits of Salt</b>. It is the acid your "
"stomach naturally produces! (but in much weaker form). In concentrated form — it is very corrosive.", "body", st),
sp(1),
P("Physical Characteristics", "section_head", st),
B("Fuming, colourless liquid with a pungent smell", st),
B("Also called: <b>'Spirits of Salt'</b> or <b>'Muriatic Acid'</b>", st),
B("Present naturally in the stomach (gastric acid) in dilute form", st),
sp(1),
P("Signs and Symptoms", "section_head", st),
B("Similar to other mineral acids: burning pain, vomiting, dysphagia", st),
B("Burns are <b>greyish-white</b> (no yellow like nitric, no charring like sulphuric)", st),
B("Vomit is <b>colourless/white</b>", st),
B("Fumes are very irritating to the respiratory tract", st),
B("Risk of laryngeal and pulmonary oedema from fume inhalation", st),
sp(1),
]
hcl_key = [
["Key Fact", "Detail"],
["Fatal Dose", "~15–30 mL"],
["Fatal Period", "Hours to days"],
["Special names", "Spirits of Salt / Muriatic Acid"],
["Burn colour", "Greyish-white (no charring, no yellow)"],
["Key feature", "Fuming liquid; fumes damage lungs"],
]
story += [
styled_table(hcl_key, [40*mm, 135*mm], header_bg=C_GREEN),
sp(1),
P("🌟 Mineral Acids Quick Memory Table: H₂SO₄ = BLACK/Brown burns, 'Oil of Vitriol' | "
"HNO₃ = YELLOW burns, 'Aqua Fortis' | HCl = GREY-WHITE burns, 'Spirits of Salt'",
"trick_box", st),
sp(2),
PageBreak(),
]
# ── OXALIC ACID ─────────────────────────────────────────────────────────
story += [
P("🟠 PART 4: OXALIC ACID — 'The Calcium Thief'", "part_head", st),
sp(1),
P("Oxalic acid is special — it is NOT just a corrosive, it is also a <b>systemic poison</b>. "
"Its main evil trick is that it <b>steals calcium</b> from your blood, causing calcium oxalate crystals "
"to form and deposit everywhere!", "body", st),
sp(1),
P("Where is oxalic acid found?", "section_head", st),
B("Wood bleach (used to whiten wood)", st),
B("Cleaning agents, rust removers", st),
B("Naturally in plants: rhubarb, spinach, sorrel (in small non-toxic amounts)", st),
B("Ink removers, metal polishes", st),
sp(1),
P("Mechanism of Action — THE KEY!", "section_head", st),
B("<b>Step 1:</b> Oxalic acid binds calcium in the blood → forms <b>calcium oxalate</b> crystals", st),
B("<b>Step 2:</b> Calcium is removed from blood → <b>HYPOCALCAEMIA</b> (low blood calcium)", st),
B("<b>Step 3:</b> Low calcium → muscle cramps, tetany, convulsions, cardiac arrhythmias", st),
B("<b>Step 4:</b> Calcium oxalate crystals deposit in <b>kidney tubules</b> → renal failure (tubular necrosis)", st),
B("<b>Step 5:</b> Crystals also deposit in blood vessels of brain → cerebral damage", st),
sp(1),
P("Signs and Symptoms", "section_head", st),
B("Burning pain in mouth, throat, stomach", st),
B("Vomiting, diarrhoea", st),
B("<b>Tetany</b> — muscle spasms/cramps (due to hypocalcaemia)", st),
B("<b>Convulsions</b>", st),
B("Renal failure — oliguria, anuria, haematuria", st),
B("Cardiovascular collapse", st),
B("Numbness and tingling (from low calcium)", st),
sp(1),
]
ox_key = [
["Key Fact", "Detail"],
["Fatal Dose", "15–30 g"],
["Fatal Period", "Several hours to days"],
["Mechanism", "Calcium chelation → hypocalcaemia + calcium oxalate crystal deposition"],
["Key organ damage", "Kidneys (tubular necrosis from oxalate crystals)"],
["Special test", "Urine shows calcium oxalate crystals on microscopy"],
["Antidote", "Calcium gluconate IV (replaces stolen calcium!)"],
["Treatment also", "Large amounts of lime water or chalk (oral calcium source)"],
]
story += [
styled_table(ox_key, [40*mm, 135*mm], header_bg=C_ORANGE),
sp(1),
P("🌟 Memory Trick: <b>'Oxalic acid OXES the calcium out'</b> → Hypocalcaemia → Tetany + Renal failure. "
"Treatment = Give back the calcium! (Calcium gluconate IV)", "trick_box", st),
sp(1),
P("Post-Mortem Finding:", "section_head", st),
B("<b>Calcium oxalate crystals in kidney tubules</b> — seen on histopathology (microscopy). This is a CLASSIC PM finding!", st),
B("White deposits/precipitates in stomach and small intestine", st),
B("Renal tubular necrosis", st),
sp(2),
]
# ── CARBOLIC ACID ────────────────────────────────────────────────────────
story += [
P("🟣 PART 5: CARBOLIC ACID (PHENOL) — 'The Nerve Blocker'", "part_head", st),
sp(1),
P("Carbolic acid is also called <b>Phenol</b>. It is special because it has both <b>LOCAL corrosive "
"effects</b> AND <b>SYSTEMIC effects on the nervous system</b>. Poisoning by carbolic acid is "
"specifically called <b>'Carbolism'</b>.", "body", st),
sp(1),
P("Physical Characteristics", "section_head", st),
B("White crystalline solid, turns pinkish/reddish on exposure to air", st),
B("<b>Strong characteristic smell</b> (antiseptic smell — like old hospitals!)", st),
B("Slightly soluble in water; commercial preparations: <b>Lysol</b>, Dettol (dilute)", st),
B("Absorbed through skin, mucous membranes, GI tract, lungs", st),
B("A trace is excreted by lungs, salivary glands, skin, and stomach", st),
B("About <b>36 hours</b> required for complete excretion", st),
B("Partly detoxified by liver", st),
sp(1),
]
ph_key = [
["Key Fact", "Detail"],
["Fatal Dose", "10–15 g; 25–50 mL of household phenol"],
["Fatal Period", "3–4 hours (much faster than mineral acids!)"],
["Poisoning called", "CARBOLISM"],
["Key smell", "Strong phenol/carbolic odour in breath and urine"],
["Urine colour", "Smoky green/dark (from quinol metabolites)"],
]
story += [
styled_table(ph_key, [40*mm, 135*mm], header_bg=C_PURPLE),
sp(1),
P("Signs and Symptoms — Three Areas Affected", "section_head", st),
P("<b>(1) LOCAL effects on skin:</b>", "sub_head", st),
B("Burns skin and causes <b>numbness</b> (damages nerve endings — so burns are PAINLESS!)", st),
B("<b>Precipitates protein, coagulates cell contents</b> → stiffens and bleaches tissues", st),
B("<b>White opaque eschar</b> (hard white crust) forms — PAINLESS — falls off in a few days → leaves brown stain", st),
B("Deep burns are BLACK", st),
B("Lysol (carbolic acid preparation) discolours tissues brownish-purple", st),
B("Necrosis and gangrene — tissue becomes green-white or brown-white", st),
P("<b>(2) LOCAL effects on digestive tract:</b>", "sub_head", st),
B("Hot burning pain from mouth to stomach, followed by <b>tingling → then ANAESTHESIA</b> (numbness)", st),
B("Deglutition (swallowing) and speech become painful and difficult", st),
B("<b>Lips, mouth, tongue corroded → white and hardened</b>", st),
B("Nausea and vomiting present in about <b>20% of cases only</b>", st),
B("Respiratory: pulmonary and laryngeal oedema → slow, laboured breathing → respiratory failure", st),
P("<b>(3) SYSTEMIC effects (CNS depression):</b>", "sub_head", st),
B("Phenol is a <b>CNS DEPRESSANT</b> — specifically depresses the respiratory centre", st),
B("Headache, giddiness, unconsciousness, <b>COMA</b>", st),
B("Temperature is <b>subnormal</b> (low body temperature)", st),
B("<b>Pupils are CONTRACTED</b> (miosis) — opposite of sulphuric acid!", st),
B("Breathing: stertorous (snoring, laboured)", st),
B("Pulse: rapid, feeble, irregular", st),
B("Face covered with <b>cold sweat</b>", st),
B("Dusky cyanosis, respiratory alkalosis, metabolic acidosis", st),
B("<b>Liver damage</b> in severe cases", st),
B("Haemolysis and <b>methaemoglobinaemia</b> — characteristic in severe cases", st),
B("<b>Convulsions and lockjaw</b> sometimes occur", st),
sp(1),
P("Urine in Carbolic Acid Poisoning:", "section_head", st),
P("<b>Urine turns dark green/smoky/dark brown</b> on standing. This is due to quinol (hydroquinone) and "
"catechol metabolites of phenol being excreted in urine. This is a CLASSIC and very frequently "
"tested post-mortem/clinical finding!", "highlight", st),
sp(1),
P("Post-Mortem Appearances — Carbolic Acid", "section_head", st),
B("<b>Strong phenol smell</b> from stomach contents and body", st),
B("Skin: white hardened eschar, or brownish-purple (if Lysol)", st),
B("Stomach: mucosa pale, white or grey, hardened; Fig 26.3 shows stomach in Lysol poisoning", st),
B("Liver: congested, fatty change", st),
B("<b>Dark/olive green urine</b> in bladder", st),
B("Lungs: oedema, congestion", st),
sp(1),
P("Treatment — Carbolic Acid", "section_head", st),
B("Remove contaminated clothing; wash skin with water or olive oil (do NOT use alcohol — it increases absorption!)", st),
B("Gastric lavage with <b>castor oil or liquid paraffin</b> (these dissolve phenol and prevent absorption)", st),
B("Give <b>castor oil</b> as purgative + demulcent", st),
B("DO NOT give alcohol (ethanol) — it INCREASES phenol absorption!", st),
B("Symptomatic treatment: oxygen for respiratory failure, treat seizures", st),
B("No specific antidote", st),
sp(1),
P("⚠️ WARNING: Never give alcohol/ethanol in carbolic acid (phenol) poisoning — it dramatically increases absorption and worsens toxicity!",
"warning_box", st),
sp(2),
PageBreak(),
]
# ── ALKALIS ──────────────────────────────────────────────────────────────
story += [
P("🔵 PART 6: ALKALIS (Caustic Soda, Caustic Potash, Ammonia)", "part_head", st),
sp(1),
P("Alkalis are the OPPOSITE of acids in chemistry, but in terms of damage to the body, "
"<b>alkalis are actually MORE dangerous</b> than acids! They cause deeper, more destructive burns.",
"body", st),
sp(1),
P("Common Alkali Poisons", "section_head", st),
B("<b>Sodium hydroxide (NaOH)</b> — Caustic Soda — used in drain cleaners", st),
B("<b>Potassium hydroxide (KOH)</b> — Caustic Potash", st),
B("<b>Ammonia (NH₃)</b> — most commonly involved in alkali poisoning", st),
sp(1),
P("Mechanism of Alkali Burns", "section_head", st),
B("<b>Alkalis dissolve PROTEIN (saponification of fat)</b> — they literally melt tissue", st),
B("Produce <b>LIQUEFACTION NECROSIS</b> — tissue becomes soft, wet, liquefied (no protective crust!)", st),
B("Because there is no hard crust to stop them, alkalis <b>penetrate DEEPER</b> into tissue", st),
B("Required pH: <b>11.5 or more</b> to cause injury (strong alkali)", st),
B("Produce soft, oedematous, translucent, <b>soap-like</b>, swollen eschar, red-brown in colour", st),
B("Sloughs are <b>mucilaginous</b> (slimy/gel-like)", st),
B("<b>NO charring</b> seen (charring is only in acids)", st),
sp(1),
P("Signs and Symptoms", "section_head", st),
B("Severe burning pain in mouth, throat, oesophagus, stomach", st),
B("Dysphagia (difficulty swallowing), drooling", st),
B("Vomiting — may contain sloughed tissue", st),
B("Oedema of glottis → stridor, respiratory difficulty", st),
B("<b>Oesophageal damage is more severe than stomach damage</b> — opposite of acids!", st),
B("Circulatory collapse, shock", st),
B("Late complication: <b>Oesophageal stricture</b> (very common with alkali burns)", st),
sp(1),
P("Circumstances of Alkali Poisoning:", "section_head", st),
B("Rare poison overall", st),
B("Accidental cases — mistaken for medicine", st),
B("Homicidal poisoning: rare; <b>caustic soda solution thrown on face of enemy</b> (acid attack equivalent)", st),
B("<b>Ammonia poisoning is MORE COMMON</b> than other alkalis", st),
sp(1),
]
alk_key = [
["Key Fact", "Detail"],
["Necrosis type", "LIQUEFACTION (soft, deep, no crust)"],
["Main site of damage", "OESOPHAGUS (more than stomach)"],
["Charring", "ABSENT (charring is only in acids)"],
["Eschar", "Soft, soapy, mucilaginous"],
["More dangerous?", "YES — deeper burns, no protective crust"],
["Common complication", "Oesophageal stricture"],
["Treatment", "Dilute acids (lemon juice, dilute vinegar) to neutralise;\nDo NOT give concentrated acid — danger!"],
]
story += [
styled_table(alk_key, [40*mm, 135*mm], header_bg=C_DARK_BLUE),
sp(2),
]
# ── CHEMICAL BURNS SECTION ───────────────────────────────────────────────
story += [
P("🔥 Chemical Burns — Important Section", "chapter_head", st),
sp(1),
P("The amount of tissue damage in chemical burns depends on:", "body", st),
B("The agent itself", st),
B("Its strength and concentration", st),
B("The QUANTITY of chemical", st),
B("The DURATION of contact", st),
B("The extent of penetration into the body", st),
sp(1),
P("<b>Important:</b> Chemicals <b>continue to act on tissue</b> until they are either neutralised by "
"another agent OR inactivated by the tissue reaction itself.", "highlight", st),
sp(1),
P("Special Chemical Burns to Know:", "section_head", st),
B("<b>Cement (pH 12.5–14):</b> Prolonged contact can produce chemical burns — important occupational hazard!", st),
B("<b>Hydrocarbons (gasoline/petrol):</b> Chemical burns due to irritant effect + high lipid solubility", st),
B("<b>Phosphorus and Phenol</b> also cause chemical burns", st),
B("<b>Hydrofluoric acid:</b> Causes MUCH DEEPER burns — causes liquefaction necrosis (unusual for an acid — behaves like an alkali in this respect!)", st),
sp(2),
]
# ── MASTER COMPARISON TABLE ──────────────────────────────────────────────
story += [
P("📊 MASTER TABLE — All Corrosive Poisons at a Glance (EXAM GOLD!)", "chapter_head", st),
sp(1),
]
master = [
["Feature", "H₂SO₄\n(Sulphuric)", "HNO₃\n(Nitric)", "HCl\n(Hydrochloric)", "Oxalic\nAcid", "Carbolic\n(Phenol)", "Alkalis"],
["Alt. name", "Oil of\nVitriol", "Aqua\nFortis", "Spirits\nof Salt /\nMuriatic", "—", "Phenol;\nLysol", "Caustic\nSoda/Potash"],
["Fatal dose", "10–5 mL", "~8 mL", "15–30 mL", "15–30 g", "10–15 g", "Variable"],
["Fatal period", "12–24 h", "12–24 h", "Hours–days", "Hours–days", "3–4 h!", "12–24 h"],
["Burn colour", "BLACK/\nBrown", "YELLOW\n(Xantho-\nprotein)", "Grey-\nwhite", "White\nppt.", "WHITE\neschar", "No colour\nchange;\nsoapy"],
["Necrosis", "Coagulation\n(hard crust)", "Coagulation\n(hard crust)", "Coagulation\n(hard crust)", "Precipi-\ntation", "Coagulation\n(white,\npainless!)", "LIQUEFAC-\nTION\n(deep, soft)"],
["Main target", "Stomach", "Stomach", "Stomach +\nlungs (fumes)", "KIDNEYS\n(crystals)", "CNS +\noesoph.", "OESOPHA-\nGUS"],
["Special feature", "Charring,\nblack vomit,\nclear mind", "Yellow\nstaining\n(xantho-\nprotein rxn)", "Fuming;\nlungs at risk", "Hypocal-\ncaemia +\ntetany!", "Urine goes\nDARK GREEN;\npainless burns!", "Deeper burns;\nno charring"],
["Antidote/Rx", "Milk of\nmagnesia,\nnot NaHCO₃!", "Same as\nH₂SO₄", "Same as\nH₂SO₄", "Ca gluconate\nIV!", "Castor oil;\nNO alcohol!", "Dilute lemon\njuice/vinegar"],
]
story += [
styled_table(master, [23*mm,25*mm,25*mm,25*mm,22*mm,22*mm,23*mm]),
sp(2),
]
# ── MEMORY TRICKS ────────────────────────────────────────────────────────
story += [
P("🧠 Memory Tricks Summary", "chapter_head", st),
sp(1),
]
tricks = [
["Trick", "What to Remember"],
["'SNH' for Inorganic acids", "Sulphuric, Nitric, Hydrochloric"],
["'Oil of Vitriol'", "Sulphuric Acid's nickname"],
["'Aqua Fortis'", "Nitric Acid's nickname"],
["'Spirits of Salt / Muriatic'", "Hydrochloric Acid's nicknames"],
["Sulphuric = BLACK burns", "H₂SO₄ chars organic matter → black/brown"],
["Nitric = YELLOW burns", "Xanthoproteic reaction → yellow staining"],
["HCl = GREY-WHITE burns", "No charring, no yellow"],
["Carbolic = WHITE PAINLESS eschar", "Phenol numbs nerve endings → painless burns"],
["'Carbolism'", "Specific term for carbolic acid (phenol) poisoning"],
["'Urine goes dark green in phenol'", "Quinol metabolites colour the urine"],
["'Oxalic = Calcium Thief'", "Chelates Ca²⁺ → hypocalcaemia → tetany + renal crystals"],
["'Alkalis MELT tissue (Liquefaction)'", "No protective crust → deeper burns than acids"],
["'Acids destroy STOMACH, Alkalis destroy OESOPHAGUS'", "Classic opposite exam point"],
["'Never NaHCO₃ in acid poisoning'", "CO₂ production → gastric distension/perforation"],
["'Never alcohol in phenol poisoning'", "Increases phenol absorption dramatically"],
["Fatal period: Phenol = 3–4 h FASTEST", "Phenol kills faster than mineral acids (12–24 h)"],
]
story += [
styled_table(tricks, [70*mm, 105*mm], header_bg=C_PURPLE, alt_bg=C_LIGHT_PURP),
sp(2),
PageBreak(),
]
# ── 10-MARKER QUESTION ───────────────────────────────────────────────────
story += [
P("✍️ 10-MARKER QUESTION & MODEL ANSWER", "q_head", st),
sp(1),
P("<b>Q: Classify corrosive poisons. Describe the signs, symptoms, post-mortem appearances, "
"and treatment of Sulphuric Acid poisoning. (10 Marks)</b>", "highlight", st),
sp(1),
P("Introduction + Classification — 2 Marks", "sub_head", st),
P("A corrosive poison fixes, destroys, and erodes the surface it contacts. It works by extracting "
"water from tissues, coagulating cellular proteins, and converting haemoglobin to haematin.<br/><br/>"
"<b>Classification:</b> (1) Inorganic acids: Sulphuric, Nitric, Hydrochloric "
"(2) Organic acids: Carbolic acid, Oxalic acid, Formic acid "
"(3) Alkalis: Sodium hydroxide, Potassium hydroxide, Ammonia.", "body", st),
sp(1),
P("Sulphuric Acid Characteristics — 1 Mark", "sub_head", st),
P("Pure sulphuric acid (Oil of Vitriol; H₂SO₄) is a heavy, odourless, colourless, hygroscopic, "
"oily liquid. Commercial form is brown. Causes superficial burns after 1 second, full thickness burns "
"after 30 seconds. Fatal dose: 10–5 mL. Fatal period: 12–24 hours.", "body", st),
sp(1),
P("Signs and Symptoms — 3 Marks", "sub_head", st),
P("<b>Local effects:</b> Brown/black streaks on face from acid flow. Corrosion of mucous membranes of mouth, "
"throat, oesophagus. Burning pain, stridor, dysphagia. Teeth become chalky-white. Tongue is swollen, "
"sodden, and black. Vomit is brown/black and acidic. Intense thirst.<br/>"
"<b>Systemic effects:</b> Epigastric pain spreading to entire abdomen. Circulatory collapse. "
"Oedema of glottis causing asphyxia. Hoarse voice. Abdomen distended and tender. Constipation and "
"tenesmus. Pupils dilated. <b>Mind remains CLEAR till death.</b> Late: oesophageal and pyloric strictures.",
"body", st),
sp(1),
P("Post-Mortem Appearances — 2 Marks", "sub_head", st),
P("Brown/black streaks on face and chin. Lips swollen, brown-black, excoriated. Mouth and tongue "
"corroded, black, shrunken. Teeth chalky-white and crumbling. Stomach most severely affected — "
"mucosa charred, black, with possible perforations. Oesophagus less affected. Blood is dark "
"(haemoglobin converted to haematin). Pungent acid smell.", "body", st),
sp(1),
P("Causes of Death — 1 Mark", "sub_head", st),
P("(1) Circulatory collapse (2) Spasm or oedema of glottis causing asphyxia "
"(3) Collapse due to perforation of stomach.", "body", st),
sp(1),
P("Treatment — 1 Mark", "sub_head", st),
P("Do NOT induce vomiting. Do NOT do gastric lavage. Give demulcents: milk, egg white, olive oil. "
"Milk of magnesia to neutralise acid. IV fluids and treat shock. Tracheostomy if glottis oedema "
"blocks airway. Do NOT give sodium bicarbonate (CO₂ production causes perforation). "
"Later: dilatation of strictures.", "body", st),
sp(2),
]
# ── 5-MARKER QUESTION ────────────────────────────────────────────────────
story += [
P("✍️ 5-MARKER QUESTION & MODEL ANSWER", "q_head", st),
sp(1),
P("<b>Q: Describe the signs, symptoms, and treatment of Carbolic Acid (Phenol) poisoning. (5 Marks)</b>",
"highlight", st),
sp(1),
P("Introduction — 0.5 Mark", "sub_head", st),
P("Carbolic acid (phenol) poisoning is called Carbolism. Fatal dose: 10–15 g. Fatal period: 3–4 hours. "
"Absorbed through skin and GI tract. Excreted over 36 hours.", "body", st),
sp(1),
P("Signs and Symptoms — 2.5 Marks", "sub_head", st),
P("<b>Local:</b> Skin — white opaque painless eschar (numbs nerves). GI tract — burning pain then numbness, "
"lips/mouth corroded and white/hardened.<br/>"
"<b>Systemic (CNS depression):</b> Headache, giddiness, coma. Subnormal temperature. Pupils contracted "
"(miosis). Rapid feeble irregular pulse. Cold sweating. Cyanosis. Haemolysis. Methaemoglobinaemia in "
"severe cases. Strong phenol smell in breath.<br/>"
"<b>Urine:</b> Turns dark green/smoky brown on standing.", "body", st),
sp(1),
P("Post-Mortem — 1 Mark", "sub_head", st),
P("Strong phenol odour. White hardened skin/mucosal burns. Stomach pale, white, hardened. "
"Liver congested with fatty change. Dark olive-green urine in bladder.", "body", st),
sp(1),
P("Treatment — 1 Mark", "sub_head", st),
P("Remove contaminated clothes. Wash skin with water or olive oil. Gastric lavage with castor oil or "
"liquid paraffin. Castor oil as purgative. <b>DO NOT give alcohol</b> (increases absorption). "
"Oxygen for respiratory failure. Treat convulsions. No specific antidote.", "body", st),
sp(2),
]
# ── LAST NIGHT RECAP ─────────────────────────────────────────────────────
story += [
P("📌 LAST-NIGHT-BEFORE-EXAM QUICK RECAP CARD", "chapter_head", st),
sp(1),
P("CORROSIVES = Fix, Destroy, Erode → by Dehydration + Coagulation of protein + Hb→Haematin\n"
"Classes: Inorganic acids (SNH) + Organic acids + Alkalis", "code_box", st),
sp(1),
P("H₂SO₄ = Oil of Vitriol | BLACK burns | Charring | Stomach main target\n"
"Fatal dose: 10-5 mL | Fatal period: 12-24 h | Mind stays CLEAR till death\n"
"Treatment: Milk of magnesia; NEVER NaHCO₃", "code_box", st),
sp(1),
P("HNO₃ = Aqua Fortis | YELLOW burns (Xanthoproteic) | Aqua Fortis\n"
"HCl = Spirits of Salt | GREY-WHITE burns | Fuming; lung risk\n", "code_box", st),
sp(1),
P("Oxalic acid = CALCIUM THIEF → Hypocalcaemia → Tetany + Renal crystals\n"
"Antidote: Calcium Gluconate IV", "code_box", st),
sp(1),
P("Carbolic acid = Phenol = CARBOLISM | 3-4 h fatal | Painless WHITE eschar\n"
"DARK GREEN urine | Pupils CONTRACTED | CNS depressant\n"
"Treatment: Castor oil; NEVER alcohol", "code_box", st),
sp(1),
P("Alkalis = LIQUEFACTION (deeper than acids!) | OESOPHAGUS main target\n"
"Soapy, mucilaginous slough | No charring | Oesophageal stricture common\n"
"Ammonia = most common alkali poison", "code_box", st),
sp(2),
hr(),
sp(1),
P("Source: The Essentials of Forensic Medicine and Toxicology, 36th Edition (2026), "
"Dr. K.S. Narayan Reddy, Chapter 26: Corrosive Poisons, Pages 402–407",
"footer_note", st),
P("Tip: Read 3 times. 1st — understand. 2nd — cover and test yourself. 3rd — write from memory!",
"footer_note", st),
]
return story
def main():
import os
os.makedirs("/tmp/workspace/fmt-corrosive-poisons", exist_ok=True)
styles = build_styles()
doc = SimpleDocTemplate(
OUTPUT, pagesize=A4,
leftMargin=18*mm, rightMargin=18*mm,
topMargin=20*mm, bottomMargin=20*mm,
title="Corrosive Poisons — FMT Chapter 26",
author="Narayan Reddy FMT Study Notes",
subject="Forensic Medicine & Toxicology — Corrosive Poisons",
)
story = build_story(styles)
doc.build(story)
print(f"PDF created: {OUTPUT}")
if __name__ == "__main__":
main()
cd /tmp/workspace/fmt-corrosive-poisons && python generate_pdf.py 2>&1
ls -lh /tmp/workspace/fmt-corrosive-poisons/Corrosive_Poisons_Ch26_FMT_NarayanReddy.pdf
🌟 Memory trick — 'C-D-C': Corrosives → Destroys by: Dehydration + Coagulation of proteins + Conversion of Hb to Haematin
| Category | Substances |
|---|---|
| (1) Inorganic Acids (Mineral Acids) | Sulphuric Acid (H₂SO₄), Nitric Acid (HNO₃), Hydrochloric Acid (HCl) |
| (2) Organic Acids | Carbolic Acid (Phenol), Oxalic Acid, Formic Acid, Acetylsalicylic Acid |
| (3) Alkalis | Sodium Hydroxide, Potassium Hydroxide, Ammonia |
🌟 Memory trick — 'I-O-A': Inorganic + Organic + Alkalis. For inorganic: 'SNH' = Sulphuric, Nitric, Hydrochloric
| Feature | ACID Burns | ALKALI Burns |
|---|---|---|
| Necrosis type | COAGULATION (hard, dry crust) | LIQUEFACTION (soft, wet, deep) |
| Eschar | Hard, dry, leathery, dark | Soft, soapy, mucilaginous (slimy) |
| Depth of injury | Superficial (crust limits depth) | DEEPER (no protective crust!) |
| Main site | STOMACH | OESOPHAGUS |
| Charring | YES (H₂SO₄, HNO₃) | NOT seen |
| Overall severity | Less deep | MORE severe tissue destruction |
⚠️ KEY EXAM POINT: Acids damage STOMACH more. Alkalis damage OESOPHAGUS more. This is opposite and frequently tested!
| Key Fact | Value |
|---|---|
| Fatal Dose | 10–5 mL (very small!) |
| Fatal Period | 12–24 hours |
| Causes of Death | (1) Circulatory collapse (2) Oedema of glottis / asphyxia (3) Stomach perforation |
| Alternative name | Oil of Vitriol |
⚠️ NEVER give Sodium Bicarbonate (NaHCO₃) in acid poisoning! — It produces CO₂ gas → gastric distension → perforation!
| Fatal Dose | ~8 mL |
|---|---|
| Fatal Period | 12–24 hours |
| Burn colour | YELLOW — Xanthoproteic reaction |
🌟 Trick: Nitric = N = Nice Yellow colour. Sulphuric = Black. HCl = Grey-white.
| Fatal Dose | ~15–30 mL |
|---|---|
| Fatal Period | Hours to days |
| Burn colour | Grey-white |
| Fatal Dose | 15–30 g |
|---|---|
| Mechanism | Hypocalcaemia + renal oxalate crystals |
| Antidote | Calcium gluconate IV (replace the stolen calcium!) |
| PM finding | Calcium oxalate crystals in kidney tubules on histology |
🌟 Trick: 'Oxalic OXES the calcium OUT' → Hypocalcaemia → Tetany. Treatment = Give back the calcium (Calcium gluconate IV)!
| Fatal Dose | 10–15 g; 25–50 mL household phenol |
|---|---|
| Fatal Period | 3–4 hours (FASTEST killer!) |
| Poisoning called | CARBOLISM |
⚠️ NEVER give alcohol/ethanol in carbolic acid poisoning! It massively increases absorption and worsens toxicity!
| Feature | H₂SO₄ | HNO₃ | HCl | Oxalic Acid | Phenol | Alkalis |
|---|---|---|---|---|---|---|
| Alt. name | Oil of Vitriol | Aqua Fortis | Spirits of Salt | — | Carbolism | Caustic Soda/Potash |
| Fatal dose | 10–5 mL | ~8 mL | 15–30 mL | 15–30 g | 10–15 g | Variable |
| Fatal period | 12–24 h | 12–24 h | Hours–days | Hours–days | 3–4 h! | 12–24 h |
| Burn colour | BLACK/Brown | YELLOW | Grey-white | White ppt. | WHITE (painless) | Soapy/translucent |
| Necrosis | Coagulation | Coagulation | Coagulation | Precipitation | Coagulation (painless!) | Liquefaction |
| Main target | Stomach | Stomach | Stomach + lungs | KIDNEYS | CNS + GI | OESOPHAGUS |
| Special feature | Charring; clear mind | Yellow staining | Fuming | Tetany! | Dark green urine! | Deeper burns; no charring |
| Antidote/Rx | Milk of magnesia (no NaHCO₃!) | Same | Same | Ca gluconate IV | Castor oil; NO alcohol! | Dilute acid (lemon/vinegar) |
| Trick | What to Remember |
|---|---|
| 'SNH' | Inorganic acids: Sulphuric, Nitric, Hydrochloric |
| 'Oil of Vitriol' | Sulphuric acid nickname |
| 'Aqua Fortis' | Nitric acid nickname |
| 'Spirits of Salt' | HCl nickname |
| Sulphuric = BLACK | Charring → black/brown burns |
| Nitric = YELLOW | Xanthoproteic reaction |
| HCl = GREY-WHITE | No charring, no yellow |
| Phenol = WHITE PAINLESS | Numbs nerve endings |
| 'Carbolism' | Name for phenol poisoning |
| 'Dark green urine' | Phenol → quinol in urine |
| 'Oxalic = Calcium thief' | Chelates Ca²⁺ → tetany + renal crystals |
| Alkalis MELT tissue | Liquefaction necrosis → deeper than acids |
| Acids → STOMACH; Alkalis → OESOPHAGUS | Classic exam opposite |
| NEVER NaHCO₃ in acid | CO₂ → perforation |
| NEVER alcohol in phenol | Increases absorption |
| Phenol fatal period = 3–4 h | Fastest killer of all corrosives |
CORROSIVES = Fix, Destroy, Erode → Dehydration + Coagulation + Hb→Haematin
H₂SO₄ = Oil of Vitriol | BLACK burns | Stomach | 10-5 mL fatal | 12-24 h | Mind CLEAR
→ NEVER NaHCO₃!
HNO₃ = Aqua Fortis | YELLOW burns (Xanthoproteic) | ~8 mL fatal
HCl = Spirits of Salt/Muriatic | GREY-WHITE | 15-30 mL fatal | Fumes → lungs
Oxalic acid = CALCIUM THIEF → Hypocalcaemia → Tetany + Renal crystals
→ Antidote: Calcium Gluconate IV
Carbolic/Phenol = CARBOLISM | WHITE PAINLESS eschar | 3-4h (FASTEST)
Dark GREEN urine | Pupils CONTRACTED | CNS depressant
→ NEVER alcohol! Treat with castor oil
Alkalis = LIQUEFACTION (deeper!) | OESOPHAGUS target | Soapy slough | No charring
Ammonia = most common. Late complication = Oesophageal stricture
Corrosive Poisons Ch26 FMT NarayanReddy
PDF Document · PDF
Now, in the same way, can you explain the chapter 27, Metallic Poisons, to me from the book Essentials of Forensic Medicine, Narayan Reddy? And, uh, please keep it precise. Uh, also can I answer, uh, 10 marker question very nicely also? Uh, highlight the important topics and make it very simple and easy for me to understand and explain in a childlike way. Like, I do not understand anything, explain to me as if I am a child and I should understand each and every basic thing. And also, do not skip a single thing. Add every important point which needs to be studied for a exam. So, do not miss things and keep it nice.
~/fmt-metallic-poisons/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import mm
from reportlab.lib import colors
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, PageBreak
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
import os
OUTPUT = "/tmp/workspace/fmt-metallic-poisons/Metallic_Poisons_Ch27_FMT_NarayanReddy.pdf"
os.makedirs("/tmp/workspace/fmt-metallic-poisons", exist_ok=True)
C_DARK = colors.HexColor("#1a237e")
C_GOLD = colors.HexColor("#f57f17")
C_RED = colors.HexColor("#b71c1c")
C_GREEN = colors.HexColor("#1b5e20")
C_TEAL = colors.HexColor("#004d40")
C_PURPLE = colors.HexColor("#4a148c")
C_GREY_D = colors.HexColor("#212121")
C_GREY_M = colors.HexColor("#616161")
C_L_GOLD = colors.HexColor("#fff8e1")
C_L_BLUE = colors.HexColor("#e3f2fd")
C_L_GREEN = colors.HexColor("#e8f5e9")
C_L_RED = colors.HexColor("#ffebee")
C_L_PURP = colors.HexColor("#f3e5f5")
C_YELLOW = colors.HexColor("#fff9c4")
C_GREY_BG = colors.HexColor("#f5f5f5")
C_WHITE = colors.white
C_ORANGE = colors.HexColor("#e65100")
C_BROWN = colors.HexColor("#4e342e")
C_STEEL = colors.HexColor("#37474f")
def mk_styles():
base = getSampleStyleSheet()
def s(name, **kw): return ParagraphStyle(name, parent=base["Normal"], **kw)
return {
"cov_t": s("cov_t", fontSize=28, textColor=C_GOLD, spaceAfter=6,
alignment=TA_CENTER, fontName="Helvetica-Bold"),
"cov_s": s("cov_s", fontSize=14, textColor=C_GREY_D, spaceAfter=4,
alignment=TA_CENTER, fontName="Helvetica"),
"cov_m": s("cov_m", fontSize=10, textColor=C_GREY_M, spaceAfter=2,
alignment=TA_CENTER, fontName="Helvetica-Oblique"),
"ch_h": s("ch_h", fontSize=17, textColor=C_WHITE, spaceAfter=4,
fontName="Helvetica-Bold", alignment=TA_CENTER,
backColor=C_DARK, borderPadding=(8,10,8,10)),
"part_h": s("part_h", fontSize=14, textColor=C_WHITE, spaceAfter=4, spaceBefore=12,
fontName="Helvetica-Bold", backColor=C_GOLD, borderPadding=(6,8,6,8)),
"sec_h": s("sec_h", fontSize=12, textColor=C_DARK, spaceAfter=3, spaceBefore=7,
fontName="Helvetica-Bold"),
"sub_h": s("sub_h", fontSize=11, textColor=C_ORANGE, spaceAfter=3, spaceBefore=5,
fontName="Helvetica-Bold"),
"body": s("body", fontSize=10, textColor=C_GREY_D, spaceAfter=4,
leading=15, alignment=TA_JUSTIFY, fontName="Helvetica"),
"blt": s("blt", fontSize=10, textColor=C_GREY_D, spaceAfter=3,
leading=14, leftIndent=14, fontName="Helvetica"),
"trick": s("trick", fontSize=10, textColor=C_GREEN, spaceAfter=4,
leading=14, fontName="Helvetica-Bold", backColor=C_L_GREEN, borderPadding=(6,8,6,8)),
"warn": s("warn", fontSize=10, textColor=C_RED, spaceAfter=4,
leading=14, fontName="Helvetica-Bold", backColor=C_L_RED, borderPadding=(6,8,6,8)),
"hl": s("hl", fontSize=10, textColor=C_GREY_D, spaceAfter=4,
leading=14, fontName="Helvetica", backColor=C_YELLOW, borderPadding=(5,8,5,8)),
"imp": s("imp", fontSize=10, textColor=C_DARK, spaceAfter=4,
leading=14, fontName="Helvetica-Bold", backColor=C_L_BLUE, borderPadding=(5,8,5,8)),
"code": s("code", fontSize=9, textColor=C_GREY_D, spaceAfter=4,
leading=13, fontName="Courier", backColor=C_GREY_BG, borderPadding=(6,8,6,8)),
"q_h": s("q_h", fontSize=13, textColor=C_WHITE, spaceAfter=4, spaceBefore=8,
fontName="Helvetica-Bold", backColor=C_PURPLE, borderPadding=(6,8,6,8)),
"foot": s("foot", fontSize=8, textColor=C_GREY_M, spaceAfter=2,
alignment=TA_CENTER, fontName="Helvetica-Oblique"),
}
def tbl(data, widths, hbg=C_DARK, abg=C_L_BLUE):
ts = TableStyle([
("BACKGROUND",(0,0),(-1,0),hbg),("TEXTCOLOR",(0,0),(-1,0),C_WHITE),
("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"),("FONTSIZE",(0,0),(-1,0),9),
("ALIGN",(0,0),(-1,0),"CENTER"),("VALIGN",(0,0),(-1,-1),"TOP"),
("FONTSIZE",(0,1),(-1,-1),9),("FONTNAME",(0,1),(-1,-1),"Helvetica"),
("TEXTCOLOR",(0,1),(-1,-1),C_GREY_D),
("ROWBACKGROUNDS",(0,1),(-1,-1),[C_WHITE,abg]),
("GRID",(0,0),(-1,-1),0.5,colors.HexColor("#bdbdbd")),
("TOPPADDING",(0,0),(-1,-1),5),("BOTTOMPADDING",(0,0),(-1,-1),5),
("LEFTPADDING",(0,0),(-1,-1),6),("RIGHTPADDING",(0,0),(-1,-1),6),
])
t = Table(data, colWidths=widths, repeatRows=1)
t.setStyle(ts)
return t
def build(st):
story=[]
def P(txt,sty): return Paragraph(txt, st[sty])
def B(txt): return Paragraph(f"• {txt}", st["blt"])
def sp(n=1): return Spacer(1,n*4*mm)
def hr(): return HRFlowable(width="100%",thickness=1,color=C_GOLD,spaceAfter=4,spaceBefore=4)
# COVER
story+=[sp(5),
P("⚗️ Metallic Poisons","cov_t"),sp(1),
P("Chapter 27","cov_s"),
P("The Essentials of Forensic Medicine & Toxicology","cov_s"),
P("Dr. K.S. Narayan Reddy | 36th Edition (2026)","cov_m"),
sp(2),hr(),sp(1),
P("Complete Study Notes • Memory Tricks • 10-Marker Q&A","cov_m"),
sp(7),
P("📌 Metals covered: Arsenic • Mercury • Lead • Copper • Thallium • Manganese • Iron","hl"),
P("Tip: Read once to understand the story. Twice to memorise. Third time — write from memory!","hl"),
PageBreak()]
# BIG PICTURE
story+=[
P("🧠 What Are Metallic Poisons? — The Big Picture","ch_h"),sp(1),
P("Imagine you swallow a tiny piece of a metal — like arsenic powder, or mercury vapour, "
"or lead paint. These metals sneak into your blood, travel to organs like the liver, kidneys, "
"and brain, and destroy them from the inside. Some metals kill you fast (acute poisoning). "
"Others destroy you slowly over months or years (chronic poisoning). "
"<b>Chapter 27 teaches you about the most important poisonous metals in forensic medicine.</b>","body"),
sp(1),
P("Quick Overview of Metallic Poisons","sec_h"),
]
overview=[
["Metal","Key Nickname/Feature","Most Famous Sign","Antidote"],
["Arsenic","'King of Poisons'\nCommon homicide poison","Aldrich-Mees lines in nails;\nRaindrop pigmentation","BAL (Dimercaprol)\nDMSA/DMPS"],
["Mercury","'Quick Silver'\nLiquid metal","'Mad Hatter' disease;\nMinamata disease","BAL / DMPS / DMSA"],
["Lead","'Plumbism / Saturnism'\nPaint, petrol","Burton's line (gum);\nBasophilic stippling (RBC)","BAL + CaNa₂EDTA\nD-Penicillamine"],
["Copper","Blue-green vomit;\nWilson's disease","Kayser-Fleischer ring in eye","BAL / D-Penicillamine"],
["Thallium","Rat poison;\nHair loss poison","Alopecia (hair loss) +\nMees lines","Prussian Blue"],
["Manganese","Inhalation hazard","Parkinsonism-like syndrome","Symptomatic"],
]
story+=[tbl(overview,[38*mm,42*mm,55*mm,40*mm]),sp(2)]
# ─── ARSENIC ──────────────────────────────────────────────────────────────
story+=[
P("🥇 PART 1: ARSENIC — 'The King of Poisons'","part_h"),sp(1),
P("Arsenic is the MOST IMPORTANT metallic poison in FMT. It is the number one choice for "
"homicidal poisoning because: (1) It is odourless, (2) Tasteless (or slight sweet metallic taste), "
"(3) Looks like flour/sugar, (4) Cannot be detected in food easily, "
"(5) Symptoms resemble food poisoning and cholera!","imp"),sp(1),
P("Physical Properties & Poisonous Compounds","sec_h"),
B("<b>Metallic arsenic (black)</b> = NON-TOXIC when swallowed — not absorbed from gut!"),
B("When heated → arsenic + oxygen → <b>Arsenic trioxide (As₂O₃)</b> → TOXIC vapour"),
B("<b>Most poisonous compound = Arsenious oxide / Arsenic trioxide</b> (white arsenic / sankhya / somalkhar)"),
B("Appears as: (a) White smooth heavy crystalline powder OR (b) White opaque solid mass like porcelain"),
B("<b>No taste, no smell</b> — floats on water surface (lighter than water appears!)"),
B("Other compounds: Copper arsenite (Scheele's green/Paris green), Arsine gas (garlic smell), Sodium arsenate"),
B("Used in: fruit sprays, weed killers, insecticides, rat poisons, fly papers, taxidermy, wallpapers"),
sp(1),
P("Mechanism of Action","sec_h"),
B("Arsenic combines with <b>sulphydryl (-SH) groups of mitochondrial enzymes</b> — especially pyruvate oxidase"),
B("This blocks cellular respiration (cells can't produce energy!)"),
B("Target = <b>Vascular endothelium</b> → increased permeability → tissue oedema and haemorrhage"),
B("Locally: irritation of mucous membranes"),
B("Remotely: depression of nervous system"),
P("🌟 Trick: Arsenic = <b>'SH group blocker'</b> — blocks sulphydryl groups → cells can't breathe!","trick"),
sp(1),
P("Signs and Symptoms — Acute Poisoning","sec_h"),
P("<b>(1) Fulminant Type (massive dose 3–5 g):</b>","sub_h"),
B("Death in 1–3 hours from shock and peripheral vascular failure"),
B("All capillaries dilate massively (splanchnic area) → severe fall in blood pressure"),
B("<b>GI symptoms are ABSENT</b> in fulminant type — death before GI can react!"),
B("Direct action on heart muscle → cardiac failure"),
P("<b>(2) Gastroenteric Type (MOST COMMON — resembles food poisoning!):</b>","sub_h"),
B("Symptoms appear 30 minutes to 1 hour after ingestion (may be delayed if taken with food)"),
B("<b>Sweetish metallic taste</b>"),
B("Constriction in throat, difficulty swallowing, burning and colicky pain in oesophagus/stomach/bowel"),
B("Intense thirst + severe vomiting (may be projectile)"),
B("Purging (within 1–3 hours) + tenesmus + pain + irritation around anus"),
B("Stools: initially dark, stinking, bloody → later become <b>colourless, odourless, watery, rice-water like</b> (resembles cholera!)"),
B("Urine: albumin, blood, decreased output"),
B("CNS: headache, giddiness, delirium, muscle cramps, convulsions, coma"),
B("Liver damage, heart damage (subendocardial petechiae)"),
sp(1),
P("⭐ Arsenic vs Cholera — Classic Exam Table","sec_h"),
]
ars_chol=[
["Trait","Arsenic Poisoning","Cholera"],
["Pain in throat","BEFORE vomiting","After vomiting"],
["Purging","After vomiting","BEFORE vomiting"],
["Stools","Dark-coloured and bloody;\nlater rice-watery","Rice-watery from start;\nNOT bloody; involuntary jet"],
["Tenesmus","PRESENT","Absent"],
["Vomit","Contains mucus, bile and blood","Watery; no mucus/bile/blood"],
["Voice","NOT affected","Rough and whistling"],
["Conjunctivae","INFLAMED","Not inflamed"],
["Lab","Arsenic in excreta","Cholera vibrio in stool"],
]
story+=[tbl(ars_chol,[40*mm,55*mm,80*mm],hbg=C_RED,abg=C_L_RED),sp(1),
P("🌟 Trick: 'In arsenic, THROAT pain comes FIRST, then vomit. In cholera, VOMIT comes first then purging.'","trick"),sp(1)]
story+=[
P("Chronic Arsenic Poisoning","sec_h"),
P("Chronic arsenic poisoning can be due to: (1) Accidental repeated exposure at work, "
"(2) Homicidal repeated small doses, (3) Recovery from acute poisoning.","body"),
P("Features by System:","sub_h"),
B("<b>Skin (MOST CHARACTERISTIC):</b> Finely mottled brown pigmentation — 'RAINDROP TYPE of pigmentation' on flexures, temples, eyelids, neck"),
B("Rash resembling fading measles rash"),
B("<b>Nails:</b> Transverse white lines called <b>ALDRICH-MEES LINES</b> + brittle nails + irregular thickening"),
B("<b>Palms and Soles:</b> Hyperkeratosis (thickening/hardening of skin)"),
B("<b>Hair:</b> Loss of hair"),
B("<b>CNS:</b> Polyneuritis, anaesthesias, paraesthesia, encephalopathy"),
B("<b>Eyes:</b> Congestion, watering, photophobia"),
B("<b>GI:</b> Nausea, vomiting, abdominal cramps, diarrhoea, salivation"),
B("<b>CVS/Kidneys:</b> Chronic nephritis, cardiac failure, dependent oedema"),
B("<b>Liver:</b> Hepatomegaly, jaundice, cirrhosis"),
B("<b>Blood:</b> Bone marrow suppression, anaemia, thrombocytopenia, leukaemia"),
P("⭐ ALDRICH-MEES LINES are transverse white lines in fingernails — a classic marker of chronic arsenic (and also seen in thallium)!","imp"),
sp(1),
P("Post-Mortem Appearances","sec_h"),
B("Body well preserved (arsenic is a natural preservative — prevents putrefaction!)"),
B("Stomach: mucosa swollen, oedematous, RED ('red velvet appearance') — lines of redness along walls"),
B("Submucous haemorrhages in stomach and intestine"),
B("Sticky mucus covering mucosa with particles of arsenic"),
B("<b>Subendocardial petechial haemorrhages of the ventricle</b> — CLASSIC and TYPICAL of arsenic!"),
B("Liver, spleen, kidneys: congested, enlarged, cloudy swelling, fatty change"),
B("Fatty deposits in heart, liver, kidneys + acute tubular necrosis"),
B("Garlic-like odour from body (from arsine compound formation)"),
P("🌟 KEY PM TRICK: <b>'Arsenic = Red velvet stomach + Subendocardial petechiae + Body preserved'</b>","trick"),
sp(1),
P("Treatment — Arsenic","sec_h"),
B("Gastric lavage with warm water"),
B("<b>BAL (British Anti-Lewisite / Dimercaprol):</b> 3 mg/kg IM every 4 hours for 2 days"),
B("<b>DMSA (Dimercaptosuccinic acid / Succimer):</b> oral chelation — very effective"),
B("<b>DMPS</b> (Dimercaptopropane sulphonic acid): IV or oral"),
B("Supportive: IV fluids, treat shock"),
B("Note: For ORGANIC arsenic compounds, chelation is NOT very effective"),
P("🌟 Antidote for Arsenic = <b>BAL/Dimercaprol</b> (+ DMSA/DMPS). All work by binding to arsenic's sulphydryl-binding sites!","trick"),
sp(2),PageBreak()]
# ─── MERCURY ──────────────────────────────────────────────────────────────
story+=[
P("🌡️ PART 2: MERCURY (QUICK SILVER)","part_h"),sp(1),
P("Mercury is special — it is the only metal that is LIQUID at room temperature! "
"It looks like a shiny silver liquid ball. Hence the name 'Quick Silver.' "
"It is volatile (turns to gas/vapour) at room temperature.","body"),sp(1),
P("Physical Properties","sec_h"),
B("Liquid metal at room temperature — bright silvery appearance"),
B("<b>Volatile at room temperature</b> — vapour can be inhaled!"),
B("Forms two series: (1) <b>Mercuric</b> — soluble, intensely poisonous; (2) <b>Mercurous</b> — less soluble, less active"),
B("<b>Metallic mercury (liquid) is NOT poisonous if swallowed</b> — not absorbed from gut"),
B("Dangerous when: breathed as vapour, swallowed as vapour, applied to skin in finely divided state"),
sp(1),
P("Poisonous Compounds","sec_h"),
B("<b>Mercuric chloride (HgCl₂)</b> — Corrosive Sublimate — most famous! Colourless prismatic crystals, styptic metallic taste"),
B("<b>Mercuric oxide</b> — brick-red crystalline powder"),
B("<b>Mercuric sulfide (Cinnabar/Sindoor)</b> — vermilion, used in Hindu rituals"),
B("<b>Mercurous chloride (Calomel)</b> — used as purgative in old medicine"),
B("<b>Mercury thiocyanate</b> — used in Diwali (produces Pharaoh snake/serpent effect!)"),
B("Organic mercury compounds — phenyl mercury, methyl mercury — MORE toxic than inorganic"),
sp(1),
P("Mechanism of Action","sec_h"),
B("Mercuric ion binds with <b>sulphydryl (-SH) groups</b> of enzymes and cellular proteins"),
B("Also binds to nucleic acids and mitotic apparatus → interferes with cell division"),
B("Rapidly converted to mercuric ions in blood → <b>renal tubular damage</b>"),
B("In CNS: acts mainly on <b>cerebellum, temporal lobe, basal ganglia</b> and corpus callosum"),
P("🌟 Trick: Mercury = <b>'SH group blocker like arsenic'</b> but targets KIDNEY (renal tubular damage) + CEREBELLUM/BRAIN (CNS symptoms)!","trick"),
sp(1),
P("Signs and Symptoms — Acute Poisoning (TWO PHASES!)","sec_h"),
P("<b>PHASE 1 (Immediate — first few hours):</b>","sub_h"),
B("Acrid metallic taste in mouth"),
B("Constriction in throat, hoarseness of voice, difficulty breathing"),
B("Mouth, tongue, fauces: corroded, swollen, <b>greyish-white coating</b>"),
B("Burning pain from mouth down to stomach"),
B("Nausea, retching, vomiting — vomit is greyish, slimy, mucoid with blood"),
B("Diarrhoea with bloodstained stools + tenesmus"),
B("Circulatory collapse"),
P("<b>PHASE 2 (1–3 days after surviving Phase 1):</b>","sub_h"),
B("<b>Glossitis and ulcerative gingivitis</b> within 24–36 hours"),
B("Loosening of teeth, necrosis of jaw"),
B("<b>Renal tubular necrosis</b> — polyuria, albuminuria, cylindruria, uraemia, acidosis"),
B("Recovery may occur in 10–14 days"),
B("After many days: <b>membranous colitis</b> — dysentery, ulceration of colonic mucosa, haemorrhage"),
sp(1),
P("Chronic Mercury Poisoning","sec_h"),
B("<b>'Mad Hatter's Disease'</b> — named after hat-makers who used mercury in felt processing"),
B("Triad: (1) Tremors (2) Gingivitis (3) Erethism (psychological changes: shyness, irritability, memory loss)"),
B("Peripheral neuropathy, ataxia"),
B("Restriction of visual fields"),
B("In children: <b>Acrodynia (Pink disease)</b> — pink discolouration of hands and feet"),
sp(1),
P("⭐ Minamata Disease (VERY IMPORTANT!)","sec_h"),
P("<b>Minamata Disease</b> = a type of ORGANIC MERCURIAL POISONING from eating fish contaminated "
"with mercury. This occurred as a DISASTER in Japan in 1956 from fish in Minamata Bay. "
"It caused severe neurological damage — blindness, deafness, paralysis, birth defects.","imp"),
sp(1),
P("Normal Mercury Levels (for MCQs)","sec_h"),
]
merc_lvl=[
["Parameter","Normal Level","Chronic Exposure Level"],
["Blood","< 10 μg/L","Blood > 35 μg/L"],
["Urine","< 20 μg/L","Urine > 150 μg/L"],
["Urinary excretion (24h)","< 50 μg/L","—"],
]
story+=[tbl(merc_lvl,[55*mm,52*mm,68*mm],hbg=C_TEAL,abg=C_L_BLUE),sp(1),
P("Forensic Test for Mercury","sec_h"),
B("Introduce a <b>copper wire</b> into the solution + add hydrochloric acid → silver coating of mercury forms on wire!"),
B("Normal blood mercury level: less than 4 μg/100 mL"),
sp(1),
P("Treatment — Mercury","sec_h"),
B("<b>BAL (Dimercaprol)</b> 5 mg/kg IM 4-hourly for 2 days, then tapering"),
B("<b>DMPS</b> 5 mg/kg IV or oral"),
B("<b>DMSA</b> 30 mg/kg/day for 5 days then 20 mg/day for 14 days"),
B("Note: For <b>organic mercurial compounds</b>, chelation is NOT very effective"),
B("Supportive care: airway, fluids, treat renal failure"),
P("🌟 Mercury antidotes: <b>BAL → DMPS → DMSA</b>. Same SH-group binders as arsenic!","trick"),
sp(2),PageBreak()]
# ─── LEAD ─────────────────────────────────────────────────────────────────
story+=[
P("🔩 PART 3: LEAD — 'Plumbism / Saturnism'","part_h"),sp(1),
P("Lead is the most common chronic metallic poison in the world. It affects children especially "
"because they put painted toys in their mouths. Chronic lead poisoning = PLUMBISM or SATURNISM. "
"It is a <b>heavy, steel-grey metal</b>. <b>ALL lead and its salts are poisonous.</b>","body"),sp(1),
P("Poisonous Compounds","sec_h"),
]
lead_comp=[
["Compound","Appearance","Use/Source"],
["Lead acetate","White crystals","'Sugar of lead' — sweetish taste"],
["Lead carbonate (Safeda)","White crystalline powder","Old white paints"],
["Lead chromate","Bright YELLOW powder","Yellow paint pigment"],
["Lead monoxide (Litharge)","Pale brick-red/orange","Ceramics, pottery"],
["Lead tetroxide (Red lead/Vermilion/Sindoor)","Scarlet crystalline powder","Red paint; sindoor"],
["Lead sulphide","Dark","LEAST toxic of all lead salts"],
]
story+=[tbl(lead_comp,[45*mm,45*mm,85*mm],hbg=C_STEEL,abg=C_GREY_BG),sp(1),
B("Lead used in: storage batteries, solders, paints, hair dyes, electric cable, pottery, ceramics, petrol"),
sp(1),
P("Mechanism of Action","sec_h"),
B("Interacts with <b>sulphydryl groups</b> → interferes with enzymes for <b>HAEM SYNTHESIS</b>"),
B("Blocks enzymes → haemoglobin and cytochrome production fails → anaemia"),
B("Interferes with mitochondrial oxidative phosphorylation, ATPases"),
B("Causes <b>haemolysis</b>"),
B("In children: crosses blood-brain barrier → encephalopathy"),
P("🌟 Trick: Lead = <b>'Haem Synthesis Blocker'</b> → anaemia + basophilic stippling in RBCs!","trick"),
sp(1),
P("Fatal Dose and Period","sec_h"),
B("<b>Fatal dose:</b> ~20 g lead acetate; ~40 g lead carbonate"),
B("<b>Fatal period:</b> 1–2 days"),
sp(1),
P("ACUTE Lead Poisoning","sec_h"),
B("Astringent and metallic taste, dry throat, thirst"),
B("Burning abdominal pain, nausea, vomiting, sometimes diarrhoea"),
B("Peripheral circulatory collapse"),
B("Headache, insomnia, paraesthesias, depression, coma, death"),
B("<b>Cerebellar ataxia</b> common in CHILDREN with acute lead poisoning"),
sp(1),
P("CHRONIC Lead Poisoning (Plumbism/Saturnism) — THE EXAM FAVOURITE!","sec_h"),
P("Sources of exposure:","sub_h"),
B("Inhalation of lead dust/fumes — makers of white lead, lead paint users"),
B("Children eating lead paint flakes (MOST COMMON source for children)"),
B("Water from lead pipes, food from lead-soldered cans"),
B("Printing workers, plumbers, battery workers"),
sp(1),
P("Features of Chronic Lead Poisoning by System:","sub_h"),
]
lead_feat=[
["System","Features","Key Exam Points"],
["GIT","Colic, constipation, nausea, vomiting,\nloss of appetite","Lead colic = very severe crampy pain"],
["Blood","Anaemia (microcytic hypochromic),\nbasophilic stippling of RBCs,\nreticulocytosis","BASOPHILIC STIPPLING = dark blue\npinhead spots in RBC cytoplasm\n= MOST CLASSIC blood finding!"],
["Gums","BURTON'S LINE = blue-black line\nalong the gum margin (lead sulphide\ndeposit near teeth)","Only seen if oral bacteria present!\nBIG exam favourite!"],
["Nervous system","Peripheral motor neuropathy: wrist drop\n(commonest nerve palsy — radial nerve);\nFoot drop; Lead encephalopathy","WRIST DROP = classic sign of\nchronic lead poisoning!"],
["Kidneys","Chronic nephritis, Fanconi syndrome","Lead nephropathy"],
["CVS","Hypertension, atherosclerosis","—"],
["Reproductive","Miscarriage, sterility, premature birth","—"],
["Bones (X-ray)","Lead lines at metaphyses of long bones\n(dense transverse bands)","Radio-opaque lines on X-ray!"],
["Children special","Encephalopathy, intellectual\nimpairment, low IQ, seizures","Lead is MUCH more toxic in children"],
]
story+=[tbl(lead_feat,[30*mm,70*mm,75*mm],hbg=C_STEEL,abg=C_L_BLUE),sp(1),
P("⭐ KEY SIGNS to memorise: BURTON'S LINE (gum) + WRIST DROP (radial nerve) + BASOPHILIC STIPPLING (RBC) + LEAD LINES on X-ray","imp"),
P("🌟 Trick: <b>'Lead causes LINE problems'</b> — Burton's Line in gum, Lead Lines in bones, Mees/Aldrich lines in nails. Everything is LINES!","trick"),
sp(1),
P("Laboratory Diagnosis","sec_h"),
B("<b>Blood lead level > 20 μg%</b> is diagnostic"),
B("<b>Urine coproporphyrin III (porphyrinuria)</b> — valuable screening test; >150 μg/litre is diagnostic"),
B("<b>Basophilic stippling</b> in blood smear — blue pinhead dots in RBCs"),
B("X-ray: radio-opaque lines at metaphyses of long bones in children"),
B("Erythrocyte protoporphyrin (EP)/Zinc protoporphyrin (ZPP) raised"),
sp(1),
P("Treatment","sec_h"),
]
lead_tx=[
["Severity","Treatment"],
["Acute poisoning","Gastric lavage with 1% sodium/magnesium sulphate;\nDemulcents; BAL + CaNa₂EDTA; Penicillamine;\nCalcium chloride 5 mg IV (deposits lead in skeleton);\nDialysis if needed"],
["Severe with encephalopathy","BAL 4 mg/kg IM + CaNa₂EDTA 75 mg/kg/day IV\nthen oral chelation"],
["Severe without encephalopathy\n(blood lead >70 μg%)","BAL 12 mg/kg/day + EDTA 50 mg/kg/day"],
["Moderate (45-75 μg%)","EDTA 50 mg/kg/day; oral chelation when level falls"],
["Mild (20–35 μg%)","D-Penicillamine 30 mg/kg/day OR DMSA"],
]
story+=[tbl(lead_tx,[55*mm,120*mm],hbg=C_STEEL),sp(1),
P("Prophylaxis (Prevention) for Factory Workers:","sub_h"),
B("Proper ventilation in factories"),
B("Personal hygiene + periodic medical examinations"),
B("Diet rich in <b>calcium</b> (calcium competes with lead for absorption)"),
B("Small amount of sulphuric acid in water"),
B("Weekly saline purgative"),
sp(2),PageBreak()]
# ─── COPPER ───────────────────────────────────────────────────────────────
story+=[
P("🟤 PART 4: COPPER","part_h"),sp(1),
P("Copper as a PURE METAL is not poisonous. It is the copper COMPOUNDS that are toxic. "
"Copper is normally present in the body (total body copper = 150 mg). Daily safe intake = 2–3 mg. "
"Copper compounds are powerful <b>enzyme inhibitors</b>.","body"),sp(1),
P("Poisonous Compounds","sec_h"),
B("<b>Copper sulphate (Blue vitriol)</b> — large, BLUE crystals — most common!"),
B("<b>Copper subacetate (Verdigris)</b> — bluish-green masses or powder"),
sp(1),
P("Signs and Symptoms (appear within 15–30 minutes!)","sec_h"),
B("Metallic taste, excessive salivation, burning pain in stomach, colicky abdominal pain"),
B("Thirst, nausea, eructations, repeated vomiting"),
B("<b>Vomit may be BLUE or GREEN</b> — KEY exam point!"),
B("Diarrhoea — stools liquid and brown, but NOT bloody"),
B("Oliguria, haematuria, albuminuria, acidosis, uraemia"),
B("Severe cases: haemolysis, haemoglobinuria, <b>methaemoglobinaemia</b>, jaundice, pancreatitis"),
B("Cramps of legs, convulsions, paralysis of limbs"),
B("Drowsiness → insensibility → coma → death from shock"),
B("Delayed deaths from hepatic or renal failure"),
sp(1),
P("⭐ Wilson's Disease (Chronic Copper Toxicity)","sec_h"),
P("<b>Wilson's Disease</b> = inborn error of copper metabolism — copper accumulates in liver, brain, kidneys. "
"Key sign: <b>KAYSER-FLEISCHER (KF) ring</b> — brownish-green/golden ring in the cornea of the eye "
"(due to copper deposits). This is PATHOGNOMONIC (100% specific) for Wilson's disease!","imp"),
P("🌟 Trick: <b>Copper = Blue/Green vomit</b>. Wilson's disease = <b>KF ring in eye</b> (copper in cornea). Treat Wilson's with D-Penicillamine!","trick"),
sp(1),
P("Treatment","sec_h"),
B("Stomach wash with 0.1% potassium ferrocyanide"),
B("Milk and egg whites (precipitate copper)"),
B("<b>BAL (Dimercaprol)</b> or <b>D-Penicillamine</b>"),
B("For Wilson's disease: D-Penicillamine + zinc supplements"),
sp(2)]
# ─── THALLIUM ─────────────────────────────────────────────────────────────
story+=[
P("⚫ PART 5: THALLIUM — 'The Hair Loss Poison'","part_h"),sp(1),
P("Thallium is used in dye and glass industries, and importantly as a <b>rodenticide and insecticide</b>. "
"It is odourless and tasteless — hard to detect. Its most famous feature is causing "
"<b>HAIR LOSS (ALOPECIA)</b>.","body"),sp(1),
P("Key Facts","sec_h"),
]
thal_key=[
["Feature","Detail"],
["Compounds","Thallium sulphate, Thallium acetate — odourless, tasteless, water-soluble"],
["Uses","Dye industry, glass industry, rodenticide, insecticide"],
["Fatal Dose","1 g"],
["Fatal Period","24–36 hours"],
["Symptoms onset","1–12 days after ingestion (even therapeutic doses!)"],
]
story+=[tbl(thal_key,[45*mm,130*mm],hbg=C_GREY_D),sp(1),
P("Signs and Symptoms","sec_h"),
P("<b>Mild cases:</b>","sub_h"),
B("Joint pains in legs and feet"),
B("Loss of appetite, stomatitis, drowsiness"),
P("<b>Severe cases:</b>","sub_h"),
B("Colic, vomiting"),
B("Pain in muscles, joints, nerves"),
B("Motor and sensory neuropathies, tremors"),
B("Convulsions, psychosis, optic neuritis, delirium, coma"),
B("<b>ALOPECIA (hair loss) — after 1–2 weeks.</b> Large tufts come away!"),
B("<b>Loss of outer one-third of eyebrows</b> — very significant sign!"),
B("<b>Mees lines on nails</b> (same as arsenic!)"),
B("Butterfly-pattern maculopapular skin rash on face"),
B("Cardiac manifestations"),
B("Death from respiratory failure (paralysis of respiratory muscles)"),
B("After recovery: peripheral neuritis resembling Guillain-Barré syndrome"),
B("<b>Death appears NATURAL</b> — this makes thallium a murder weapon!"),
sp(1),
P("THALLIUM TRIAD (Chronic Poisoning)","sec_h"),
P("<b>Thallium Triad = (1) Alopecia + (2) Skin rashes + (3) Painful peripheral neuropathy + mental confusion</b>","imp"),
P("🌟 Memory Trick: <b>'Thallium = THAL = THREE Hair ALoss'</b> — Alopecia is the HALLMARK. "
"Also: Mees lines + butterfly rash + loss of outer eyebrow = classic thallium signs!","trick"),
sp(1),
P("Post-Mortem Appearances","sec_h"),
B("Signs of asphyxia"),
B("Stomach mucosa inflamed with submucous petechial haemorrhages"),
B("Alopecia (no hair), stomatitis"),
B("Fatty heart and liver"),
B("Renal damage"),
B("Pulmonary and cerebral oedema"),
B("<b>Thallium can be detected in the ashes of a BURNT body</b> — important forensic point!"),
sp(1),
P("Treatment","sec_h"),
B("Stomach wash with 1% potassium iodide or Prussian blue"),
B("<b>Prussian Blue (potassium ferric cyanoferrate): 250 mg/kg/day orally in 2 divided doses</b> — specific antidote!"),
B("Activated charcoal"),
B("Haemodialysis with haemoperfusion"),
B("Forced diuresis"),
P("🌟 Antidote for Thallium = <b>PRUSSIAN BLUE</b> — easy to remember: Prussian BLUE = for the BLUE-eyed thallium murderer!","trick"),
sp(2)]
# ─── MANGANESE ────────────────────────────────────────────────────────────
story+=[
P("🟣 PART 6: MANGANESE — The Parkinson's Metal","part_h"),sp(1),
P("Manganese is mainly an occupational hazard. The important compounds are <b>potassium permanganate "
"(KMnO₄)</b> and manganese dioxide. Manganese poisoning is important for one key reason:","body"),
P("<b>Inhalation of manganese vapours for a long time → PARKINSONISM-like symptoms</b>","imp"),
B("Manganism: tremors, rigidity, bradykinesia — looks just like Parkinson's disease"),
B("Seen in miners and smelters"),
B("Potassium permanganate used therapeutically as antiseptic (1:5000 solution)"),
B("KMnO₄ poisoning: burning pain, gastric corrosion, methemoglobinaemia, renal failure"),
sp(1),
P("🌟 Trick: <b>Manganese = Parkinson's-like disease from inhalation</b> — 'MAN-ganese makes MANners shake' (tremors)!","trick"),
sp(2)]
# ─── IRON ─────────────────────────────────────────────────────────────────
story+=[
P("🔴 PART 7: IRON POISONING","part_h"),sp(1),
P("Iron poisoning is most common in <b>CHILDREN</b> who accidentally swallow iron tablets "
"(maternal iron supplements). It is one of the most common causes of childhood poisoning deaths.","body"),sp(1),
]
iron_stages=[
["Stage","Timing","Features"],
["Stage I","0–6 hours","GI phase: nausea, vomiting (may be bloody), diarrhoea,\nabdominal pain, haematemesis — from direct GI irritation"],
["Stage II","6–12 hours","Latent phase: apparent improvement (deceptive!)"],
["Stage III","12–24 hours","Systemic toxicity: shock, acidosis, hepatotoxicity,\ncoma, coagulopathy — iron in blood causing damage"],
["Stage IV","2–5 days","Hepatic failure, renal failure, CNS damage"],
["Stage V","2–4 weeks","GI scarring and strictures (late complication)"],
]
story+=[tbl(iron_stages,[18*mm,25*mm,132*mm],hbg=C_RED,abg=C_L_RED),sp(1),
P("Treatment of Iron Poisoning","sec_h"),
B("Gastric lavage with sodium bicarbonate (forms insoluble iron carbonate)"),
B("<b>Deferoxamine (Desferrioxamine)</b> — SPECIFIC ANTIDOTE for iron poisoning!"),
B("Deferoxamine: 15 mg/kg/hour IV (turns urine orange/vin-rosé colour = sign it is working!)"),
B("Supportive: fluids, treat shock, dialysis if needed"),
P("⭐ Iron antidote = <b>DEFEROXAMINE (Desferrioxamine)</b>. Urine turns orange/pink-red = treatment working!","imp"),
P("🌟 Trick: <b>Iron = DeFEROxamine</b> (FERRO = iron in Latin). Easy!","trick"),
sp(2),PageBreak()]
# ─── MASTER COMPARISON TABLE ──────────────────────────────────────────────
story+=[
P("📊 MASTER TABLE — All Metallic Poisons at a Glance (EXAM GOLD!)","ch_h"),sp(1),
]
master=[
["Metal","Nickname/Disease","Fatal Dose","Hallmark Signs","PM Findings","Antidote"],
["ARSENIC","King of Poisons;\nHomicide metal","~200 mg","Aldrich-Mees lines;\nRaindrop pigmentation;\nSweetish metallic taste",
"Red velvet stomach;\nSubendocardial petechiae;\nBody preserved","BAL + DMSA/DMPS"],
["MERCURY","Quick Silver;\nMinamata disease","Corrosive sublimate:\n~0.2–0.4 g","Mad Hatter triad;\nPhase 1+2 symptoms;\nKidney tubular necrosis",
"Grey-white coating in mouth;\nGingivitis; Renal tubular necrosis","BAL + DMPS/DMSA"],
["LEAD","Plumbism/\nSaturnism","~20 g (acetate)","Burton's line (gum);\nWrist drop;\nBasophilic stippling",
"Gastric mucosa thickened;\nGrey-white deposit","BAL + CaNa₂EDTA;\nD-Penicillamine"],
["COPPER","Blue vitriol;\nWilson's disease","—","Blue/green vomit;\nKayser-Fleischer ring",
"Hepatic and renal damage","BAL; D-Penicillamine"],
["THALLIUM","Hair loss poison;\nRat poison","1 g","Alopecia;\nLoss of outer eyebrows;\nMees lines; Butterfly rash",
"Asphyxia signs;\nAlopecia;\nFatty heart/liver","Prussian Blue"],
["MANGANESE","Parkinson's metal","—","Parkinsonism-like\nsymptoms from inhalation","—","Symptomatic"],
["IRON","Children's poison","~200–250 mg/kg","5 stages; Stage 2\n= latent (deceptive!)",
"GI haemorrhage;\nLiver/renal damage","DEFEROXAMINE"],
]
story+=[tbl(master,[22*mm,28*mm,22*mm,43*mm,38*mm,32*mm]),sp(2)]
# ─── MEMORY TRICKS ────────────────────────────────────────────────────────
story+=[P("🧠 Memory Tricks Summary","ch_h"),sp(1)]
tricks=[
["Trick","What to Remember"],
["'King of Poisons'","Arsenic — most important homicidal metallic poison"],
["'Arsenic = Sweetish metallic taste'","Unlike other metals which have bitter/acrid taste"],
["'Red velvet stomach'","Arsenic PM finding — most classic"],
["'Aldrich-Mees lines'","Transverse white nail lines in chronic arsenic (also thallium)"],
["'Raindrop pigmentation'","Mottled brown skin pigmentation in chronic arsenic"],
["'Quick Silver' + 'Minamata'","Mercury — liquid metal; Japan disaster 1956 from fish"],
["'Mad Hatter triad'","Mercury: Tremors + Gingivitis + Erethism (psychological)"],
["'Pharaoh's Serpent on Diwali'","Mercury thiocyanate compound"],
["'Plumbism/Saturnism'","Chronic lead poisoning"],
["'Burton's Line = Blue-black gum line'","Classic sign of chronic lead poisoning"],
["'Wrist drop = Lead'","Radial nerve palsy — most common nerve palsy in lead"],
["'Basophilic stippling'","Dark blue pinhead dots in RBCs in lead poisoning"],
["'Blue/Green vomit = Copper'","Copper sulphate (Blue vitriol) poisoning"],
["'KF ring = Wilson's disease'","Kayser-Fleischer ring = copper deposits in cornea"],
["'Alopecia = Thallium'","Hair loss + loss of outer eyebrow = classic thallium"],
["'Prussian Blue = Thallium antidote'","Specific treatment for thallium"],
["'Parkinsonism = Manganese'","Inhalation of manganese → Parkinson's-like symptoms"],
["'Deferoxamine = Iron antidote'","FERRO = iron; DEFEROXAMINE — urine turns orange!"],
["'Stage 2 of iron = latent phase'","Apparent improvement — do not be fooled!"],
["All SH-group binders","Arsenic, Mercury, Lead all block sulphydryl groups — antidotes (BAL/DMSA) also work by SH-binding!"],
]
story+=[tbl(tricks,[65*mm,110*mm],hbg=C_PURPLE,abg=C_L_PURP),sp(2),PageBreak()]
# ─── 10-MARKER QUESTION ───────────────────────────────────────────────────
story+=[
P("✍️ 10-MARKER EXAM QUESTION & MODEL ANSWER","q_h"),sp(1),
P("<b>Q: Describe the signs, symptoms, post-mortem appearances, and treatment of Arsenic poisoning. "
"How would you differentiate arsenic poisoning from cholera? (10 Marks)</b>","hl"),sp(1),
P("Introduction — 1 Mark","sub_h"),
P("Arsenic (As) is a metalloid known as the 'King of Poisons.' The most poisonous compound is "
"<b>Arsenious oxide (white arsenic / sankhya)</b>. It is tasteless, odourless, and resembles "
"flour. It blocks sulphydryl groups of mitochondrial enzymes, disrupting cellular respiration "
"and causing damage to vascular endothelium.","body"),sp(1),
P("Signs and Symptoms — 3 Marks","sub_h"),
P("<b>Acute — Fulminant type:</b> Massive dose → death in 1–3 hours from cardiovascular collapse; "
"GI symptoms absent.<br/>"
"<b>Acute — Gastroenteric type (most common):</b> Sweetish metallic taste; constriction in "
"throat; burning GI pain; intense thirst; severe projectile vomiting; purging within 1–3 hours; "
"dark bloody stools becoming colourless watery (rice-water). Headache, muscle cramps, convulsions, coma.<br/>"
"<b>Chronic:</b> Aldrich-Mees lines (transverse white nail lines); Raindrop pigmentation of skin; "
"hyperkeratosis of palms/soles; hair loss; polyneuritis; anaemia; hepatomegaly; leukaemia.","body"),sp(1),
P("Arsenic vs Cholera — 2 Marks","sub_h"),
P("In arsenic: throat pain BEFORE vomiting; purging AFTER vomiting; stools dark-bloody then rice-water; "
"tenesmus PRESENT; vomit has mucus/bile/blood; conjunctivae inflamed.<br/>"
"In cholera: throat pain AFTER vomiting; purging BEFORE vomiting; rice-water stools from the start "
"(not bloody); tenesmus ABSENT; vomit watery; voice rough and whistling.","body"),sp(1),
P("Post-Mortem Appearances — 2 Marks","sub_h"),
P("Body is well preserved (arsenic prevents putrefaction). "
"<b>Stomach shows 'red velvet appearance'</b> — mucosa swollen, red, with lines of redness and "
"haemorrhages, sticky mucus with arsenic particles. "
"<b>Subendocardial petechial haemorrhages</b> (ventricle) — TYPICAL of arsenic. "
"Liver, spleen, kidneys congested and enlarged. Fatty deposits in heart and kidneys. "
"Garlic-like odour from body. Yellow streaks in subperitoneal layer of stomach (putrefied cases).","body"),sp(1),
P("Treatment — 2 Marks","sub_h"),
P("Gastric lavage with warm water. <b>BAL (Dimercaprol) 3 mg/kg IM 4-hourly for 2 days</b>, then tapering. "
"<b>DMSA (Succimer)</b> oral — very effective. <b>DMPS</b> 5 mg/kg IV. "
"IV fluids, treat shock, treat renal failure if present. "
"Note: organic arsenic compounds respond poorly to chelation.","body"),sp(2),
P("✍️ 5-MARKER QUESTION & MODEL ANSWER","q_h"),sp(1),
P("<b>Q: Describe the features and treatment of chronic lead poisoning (Plumbism). (5 Marks)</b>","hl"),sp(1),
P("Introduction — 0.5 Mark","sub_h"),
P("Chronic lead poisoning = Plumbism / Saturnism. Lead blocks haem synthesis, inhibits sulphydryl-dependent "
"enzymes, causes haemolysis. Sources: lead paint, batteries, petrol, solders.","body"),sp(1),
P("Clinical Features — 2.5 Marks","sub_h"),
P("<b>GIT:</b> Lead colic (severe crampy pain), constipation, nausea, anorexia.<br/>"
"<b>Gums:</b> Burton's line — blue-black line along gum margin (lead sulphide deposits).<br/>"
"<b>Blood:</b> Microcytic anaemia; basophilic stippling in RBCs (dark blue pinhead dots); reticulocytosis; porphyrinuria.<br/>"
"<b>Nervous system:</b> Wrist drop (radial nerve palsy — most common), foot drop; peripheral motor neuropathy; lead encephalopathy in children (seizures, low IQ).<br/>"
"<b>Kidneys:</b> Chronic nephritis, Fanconi syndrome.<br/>"
"<b>X-ray:</b> Dense lead lines at metaphyses of long bones (radio-opaque transverse bands).","body"),sp(1),
P("Treatment — 2 Marks","sub_h"),
P("Remove from exposure. With encephalopathy: <b>BAL 4 mg/kg IM + CaNa₂EDTA 75 mg/kg/day IV</b>. "
"Then oral chelation with D-Penicillamine or DMSA. Moderate: EDTA alone. "
"Prophylaxis: ventilation, calcium-rich diet, hygiene, periodic medical checks.","body"),sp(2)]
# ─── LAST NIGHT RECAP ─────────────────────────────────────────────────────
story+=[
P("📌 LAST-NIGHT-BEFORE-EXAM QUICK RECAP","ch_h"),sp(1),
P("ARSENIC = King of Poisons | SH-group blocker | Sweetish metallic taste\n"
"Acute: Red velvet stomach + Subendocardial petechiae + Body preserved\n"
"Chronic: Aldrich-Mees lines + Raindrop pigmentation + Hyperkeratosis\n"
"Antidote: BAL → DMSA/DMPS","code"),sp(1),
P("MERCURY = Quick Silver | Liquid metal | SH-group blocker → Kidney tubular damage\n"
"Phase 1: Metallic taste, GI + circulatory collapse\n"
"Phase 2: Gingivitis + Renal tubular necrosis + Membranous colitis\n"
"Chronic: Mad Hatter triad (Tremors + Gingivitis + Erethism)\n"
"Minamata disease = organic mercury from fish (Japan 1956)\n"
"Antidote: BAL → DMPS → DMSA","code"),sp(1),
P("LEAD = Plumbism/Saturnism | Haem synthesis blocker → Anaemia\n"
"Chronic: Burton's line (gum) + Wrist drop + Basophilic stippling + Lead lines on X-ray\n"
"Children: encephalopathy, cerebellar ataxia\n"
"Antidote: BAL + CaNa₂EDTA → Penicillamine/DMSA","code"),sp(1),
P("COPPER = Blue/Green vomit | Wilson's disease = KF ring in eye\n"
"Antidote: BAL / D-Penicillamine","code"),sp(1),
P("THALLIUM = Alopecia (hair loss) + Loss of outer eyebrow + Mees lines + Butterfly rash\n"
"Thallium Triad = Alopecia + Neuropathy + Skin rash | Death appears NATURAL!\n"
"Antidote: PRUSSIAN BLUE","code"),sp(1),
P("MANGANESE = Parkinsonism from inhalation\n"
"IRON = Children; 5 stages; Stage 2 = latent; Antidote = DEFEROXAMINE (urine turns orange!)","code"),
sp(2),hr(),sp(1),
P("Source: The Essentials of Forensic Medicine and Toxicology, 36th Edition (2026), "
"Dr. K.S. Narayan Reddy, Chapter 27: Metallic Poisons","foot"),
P("Read 3 times. Understand → Memorise → Write from memory. You WILL ace your exams!","foot"),
]
return story
def main():
styles=mk_styles()
doc=SimpleDocTemplate(OUTPUT,pagesize=A4,
leftMargin=18*mm,rightMargin=18*mm,topMargin=20*mm,bottomMargin=20*mm,
title="Metallic Poisons — FMT Chapter 27",
author="Narayan Reddy FMT Study Notes")
doc.build(build(styles))
print(f"PDF created: {OUTPUT}")
if __name__=="__main__":
main()
cd /tmp/workspace/fmt-metallic-poisons && python generate_pdf.py 2>&1
ls -lh /tmp/workspace/fmt-metallic-poisons/Metallic_Poisons_Ch27_FMT_NarayanReddy.pdf
Metallic Poisons Ch27 FMT NarayanReddy
PDF Document · PDF
| Metal | Key Nickname | Hallmark Sign | Antidote |
|---|---|---|---|
| Arsenic | King of Poisons | Aldrich-Mees lines + Raindrop pigmentation | BAL + DMSA/DMPS |
| Mercury | Quick Silver | Mad Hatter disease; Minamata disease | BAL + DMPS/DMSA |
| Lead | Plumbism/Saturnism | Burton's line + Wrist drop + Basophilic stippling | BAL + CaNa₂EDTA |
| Copper | Blue vitriol | Blue/green vomit; KF ring (Wilson's) | BAL / D-Penicillamine |
| Thallium | Hair loss poison | Alopecia + loss of outer eyebrow | Prussian Blue |
| Manganese | Parkinson's metal | Parkinsonism from inhalation | Symptomatic |
| Iron | Children's poison | 5 stages; Stage 2 = latent | Deferoxamine |
🌟 Trick: Arsenic = 'SH group blocker' — blocks sulphydryl groups → cells cannot breathe!
| Trait | Arsenic Poisoning | Cholera |
|---|---|---|
| Pain in throat | BEFORE vomiting | After vomiting |
| Purging | AFTER vomiting | Before vomiting |
| Stools | Dark/bloody → then rice-watery | Rice-watery from start; NOT bloody |
| Tenesmus | PRESENT | Absent |
| Vomit | Mucus + bile + blood | Watery; no mucus/bile |
| Voice | Not affected | Rough and whistling |
| Conjunctivae | INFLAMED | Not inflamed |
🌟 Trick: In arsenic, THROAT pain comes FIRST, then vomit. In cholera, VOMIT comes first then purging.
🌟 KEY PM Trick: 'Arsenic = Red velvet stomach + Subendocardial petechiae + Body preserved'
| Compound | Appearance |
|---|---|
| Lead acetate | White crystals — "Sugar of lead" (sweet taste!) |
| Lead carbonate (Safeda) | White powder |
| Lead chromate | BRIGHT YELLOW powder |
| Lead monoxide (Litharge) | Pale brick-red/orange |
| Lead tetroxide (Sindoor/Vermilion) | Scarlet powder |
| Lead sulphide | LEAST toxic |
🌟 Trick: Lead = 'Haem Synthesis Blocker' → Anaemia + Basophilic stippling in RBCs!
| System | Feature | Key Exam Point |
|---|---|---|
| GIT | Lead colic, constipation | Very severe crampy pain |
| Gums | BURTON'S LINE — blue-black line at gum margin | Lead sulphide deposits at teeth |
| Blood | Microcytic anaemia + BASOPHILIC STIPPLING (dark blue pinhead dots in RBCs) | Most classic blood finding! |
| Nerves | WRIST DROP (radial nerve palsy) + foot drop | Most common nerve palsy in lead! |
| Kidneys | Chronic nephritis, Fanconi syndrome | Lead nephropathy |
| Bones (X-ray) | Radio-opaque lead lines at metaphyses of long bones | Dense transverse bands! |
| Children | Encephalopathy, low IQ, seizures, growth delay | Lead far more toxic in children! |
⭐ Four CLASSIC signs: BURTON'S LINE (gum) + WRIST DROP + BASOPHILIC STIPPLING + LEAD LINES on X-ray
🌟 Trick: Copper = Blue/Green vomit. Wilson's disease = KF ring in eye (copper in cornea). Treat with D-Penicillamine!
| Feature | Detail |
|---|---|
| Fatal Dose | 1 g |
| Fatal Period | 24–36 hours |
| Symptoms onset | 1–12 days after ingestion |
🌟 Trick: Thallium = Alopecia is the HALLMARK. Loss of outer eyebrow + Mees lines + Butterfly rash = classic trio.
🌟 Trick: Manganese = Parkinson's from inhalation!
| Stage | Timing | Features |
|---|---|---|
| Stage I | 0–6 hours | GI phase: vomiting (may be bloody), diarrhoea, abdominal pain |
| Stage II | 6–12 hours | LATENT PHASE — apparent improvement (DECEPTIVE! Don't be fooled!) |
| Stage III | 12–24 hours | Shock, acidosis, hepatotoxicity, coma, coagulopathy |
| Stage IV | 2–5 days | Hepatic failure, renal failure, CNS damage |
| Stage V | 2–4 weeks | GI scarring and strictures |
🌟 Trick: DEFEROXAMINE for Iron = FERRO (Latin for iron) is in the word DeFERROxamine!
| Metal | Nickname | Fatal Dose | Hallmark Signs | PM Findings | Antidote |
|---|---|---|---|---|---|
| Arsenic | King of Poisons | ~200 mg | Aldrich-Mees lines; Raindrop pigmentation | Red velvet stomach; Subendocardial petechiae; Body preserved | BAL + DMSA/DMPS |
| Mercury | Quick Silver | ~0.2 g (HgCl₂) | Mad Hatter triad; Two-phase symptoms | Grey-white oral coating; Renal tubular necrosis | BAL + DMPS/DMSA |
| Lead | Plumbism/Saturnism | ~20 g (acetate) | Burton's line; Wrist drop; Basophilic stippling | Gastric grey-white deposit | BAL + CaNa₂EDTA; D-Penicillamine |
| Copper | Blue vitriol | — | Blue/green vomit; KF ring (Wilson's) | Hepatic/renal damage | BAL; D-Penicillamine |
| Thallium | Hair loss poison | 1 g | Alopecia; Outer eyebrow loss; Mees lines | Asphyxia; Fatty heart/liver; Alopecia | Prussian Blue |
| Manganese | Parkinson's metal | — | Parkinsonism from inhalation | — | Symptomatic |
| Iron | Children's poison | ~200 mg/kg | 5 stages; Stage 2 = latent | GI haemorrhage; Liver/renal damage | Deferoxamine |
| Trick | What to Remember |
|---|---|
| "King of Poisons" | Arsenic — most important homicidal metallic poison |
| "Sweetish metallic taste" | Arsenic (unique among metals) |
| "Red velvet stomach" | Arsenic PM — most classic finding |
| "Aldrich-Mees lines" | White transverse nail lines in chronic arsenic |
| "Raindrop pigmentation" | Chronic arsenic skin |
| "Quick Silver + Minamata" | Mercury — Japan 1956 disaster |
| "Mad Hatter triad" | Mercury: Tremors + Gingivitis + Erethism |
| "Pharaoh's Serpent (Diwali)" | Mercury thiocyanate |
| "Plumbism/Saturnism" | Chronic lead poisoning |
| "Burton's Line" | Blue-black line on gum = chronic lead |
| "Wrist Drop" | Radial nerve palsy = chronic lead |
| "Basophilic stippling" | Dark blue dots in RBCs = lead |
| "Blue/Green vomit" | Copper sulphate poisoning |
| "KF ring = Wilson's" | Copper deposits in cornea |
| "Alopecia = Thallium" | Hair loss + outer eyebrow loss |
| "Prussian Blue = Thallium antidote" | Specific chelator |
| "Parkinsonism = Manganese" | From inhalation |
| "Deferoxamine = Iron" | FERRO = iron; urine turns orange! |
| "Stage 2 of Iron = Latent" | Apparent improvement — don't be fooled! |
| All three (As, Hg, Pb) = SH blockers" | Antidotes BAL/DMSA also work on SH sites |
ARSENIC = King of Poisons | SH-group blocker | Sweetish metallic taste
PM: Red velvet stomach + Subendocardial petechiae + Body preserved
Chronic: Aldrich-Mees lines + Raindrop pigmentation + Hyperkeratosis
Antidote: BAL → DMSA/DMPS
MERCURY = Quick Silver | Liquid metal | SH-group blocker → Kidney tubular damage
Phase 1: Metallic taste, GI + collapse
Phase 2: Gingivitis + Renal tubular necrosis
Chronic: Mad Hatter (Tremors + Gingivitis + Erethism)
Minamata = organic mercury from fish (Japan 1956)
Antidote: BAL → DMPS → DMSA
LEAD = Plumbism | Haem synthesis blocker → Anaemia
Chronic: Burton's line (gum) + Wrist drop + Basophilic stippling + Lead lines on X-ray
Antidote: BAL + CaNa₂EDTA → Penicillamine/DMSA
COPPER = Blue/Green vomit | Wilson's = KF ring in eye
Antidote: BAL / D-Penicillamine
THALLIUM = Alopecia + Outer eyebrow loss + Mees lines + Butterfly rash
Thallium Triad = Alopecia + Neuropathy + Rash | Death looks NATURAL!
Antidote: PRUSSIAN BLUE
MANGANESE = Parkinsonism from inhalation
IRON = Children; 5 stages; Stage 2 = latent; Antidote = DEFEROXAMINE (urine → orange!)
Metallic Poisons Ch27 FMT NarayanReddy
PDF Document · PDF
Explain Chapter 28 (Plant Poisons / Vegetable Poisons) in the same format
Purchase Orris credits to continue learning FMT chapters
Explain Chapter 28 (Plant Poisons / Vegetable Poisons) in the same format
Tenesmus means