Whole fmt in 5 pages fmge oriented all pyq from past 5 years fmge neet pg inicet also image based questions last minute lrrr type notes in 5 pages detail

Reading File
Finding Sources
Searching the Web

FMGE NEET PG INICET FMT forensic medicine toxicology PYQ high yield topics 2021 2022 2023 2024 2025

Finding Sources
Finding Sources
Finding Sources
Reading Web Page

https://www.pw.live/neet-pg/exams/neet-pg-2025-high-yield-to…

Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Loading Image
Loading Image
Searching the Web

FMGE INICET forensic medicine image based questions wounds firearm hanging drowning PYQ 2022 2023 2024

Here are your 5-page FMT Last-Minute Notes - FMGE/NEET PG/INICET Oriented, PYQ-Heavy, Image-Based Q Highlights included. Sources: Parikh's, Dikshit, Essentials of FMT 36th ed (2026).

πŸ“‹ FMT - 5 PAGE LAST MINUTE REVISION NOTES

FMGE | NEET PG | INICET | All PYQs (2021-2026)


PAGE 1 - THANATOLOGY (DEATH & POST-MORTEM CHANGES)

⭐ Postmortem Changes - Sequence (HIGH FREQ PYQ)

ChangeOnsetMaximumNotes
Cadaveric spasmImmediate at deathImmediateNo primary relaxation phase
Algor mortis (cooling)Immediately~24-48 hrs1-1.5Β°F/hr first 6 hrs
Livor mortis/PM hypostasis1-2 hrsFixed by 6-12 hrsShifts if moved < 6 hrs
Rigor mortis1-2 hrs6-12 hrsPasses by 24-36 hrs
Putrefaction24-48 hrsProgressiveStarts in abdomen/cecum

⭐ RIGOR MORTIS - Most Tested (PYQ NEET PG/FMGE)

  • Mechanism: ATP depletion β†’ actin+myosin form irreversible complex β†’ stiff gel
  • Sequence: Involuntary muscles first (heart rigor within 1 hr) β†’ then voluntary (jaw β†’ neck β†’ face β†’ trunk β†’ limbs = Nysten's law - head to toe)
  • Temperature: Hastened by heat; delayed by cold
  • Breaking rigor: Mechanical force breaks it permanently (limb stays flaccid)
  • Cadaveric spasm (Instantaneous rigor) - no primary flaccidity; seen in drowning, gunshot to brain, sudden violent deaths; used to determine manner of holding weapon
PYQ: "A drowning victim is found with hand tightly clenching weeds - this is?" β†’ Cadaveric spasm (FMGE 2022, NEET PG 2021)

⭐ LIVOR MORTIS / PM HYPOSTASIS - Color PYQ Goldmine

IMAGE-BASED Q ALERT - You MUST recognize these colors:
PoisoningHypostasis ColorPYQ Frequency
Carbon monoxide (CO)Cherry-red⭐⭐⭐⭐⭐
Hydrocyanic acid (HCN/cyanide)Bright red⭐⭐⭐⭐
Nitrites, aniline, nitrobenzene, chloratesChocolate/Brown-red (metHb)⭐⭐⭐⭐
Phosphorus, copperDark brown/yellow⭐⭐⭐
Hydrogen sulphideBluish-green⭐⭐⭐
CO2Deep blue⭐⭐
NormalPurple-red-
Fig: Cherry-red PM hypostasis (CO poisoning) - Essentials of FMT 36th ed
Cherry-red PM hypostasis in CO poisoning
Fig: Chocolate-colored PM lividity (sodium chlorate poisoning) with contact flattening over buttock (= body was NOT moved after death)
Chocolate-colored PM lividity in sodium chlorate poisoning
How to read contact flattening (image Q): Pale area at pressure points = body was in that position after death, confirms PM lividity fixation.
PYQ: "PM hypostasis is cherry-red in which poisoning?" β†’ CO (FMGE 2021, 2023, INICET 2022) PYQ: "PM lividity is NOT present over pressure points because?" β†’ Contact flattening / pressure prevents blood pooling (NEET PG 2022)

⭐ PUTREFACTION

  • Starts: cecum/large gut first
  • Gases: H2S, CH4, NH3 β†’ bloating
  • Skin: Green discoloration starts in right iliac fossa β†’ spreads
  • Marbling: Green/black network over skin due to H2S acting on Hb
  • Adipocere: Saponification of fat; stable, preserved; common in wet conditions; helps determine TSD (Time Since Death)
  • Mummification: Dry, hot, arid conditions; no putrefaction; preserved dry remains
PYQ: "Preservation of body by saponification of fat is called?" β†’ Adipocere (FMGE 2022, INICET 2023)

PAGE 2 - INJURIES & WOUNDS

⭐ Classification of Wounds (PYQ Every Year)

A. BLUNT FORCE INJURIES

WoundKey FeaturesPYQ Clue
AbrasionEpidermis only; direction of force by tilted edges; most common vital reactionGraze/scratch pattern
Contusion/BruiseClosed; extravasation of blood; changes color over daysColor change PYQ
LacerationIrregular, ragged margins; tissue bridges; foreign materialBlunt force PYQ
  • Bruise color progression: Red/blue (fresh) β†’ blue/purple (24 hr) β†’ green (4-5 days) β†’ yellow/brown (7+ days)
  • Patterned bruise = imprint of weapon (IMAGE Q - PYQ)

B. SHARP FORCE INJURIES

WoundFeaturesDifferentiator
IncisedClean edges; length > depth; no tissue bridgesKnife, blade
StabDepth > breadth; clean; may show tailPointed weapon
ChopDeep; bone cut; intermediateAxe, sword
Defense woundsForearm, palm, fingersVictim tried to defend
PYQ: "Which wound has depth > width?" β†’ Stab wound (NEET PG 2023) PYQ: "Tissue bridges are seen in?" β†’ Laceration (FMGE 2022, 2024) PYQ IMAGE Q: "Parallel cuts on wrist with clean margins, depth < length?" β†’ Incised wounds / suicidal cuts (INICET 2023)

C. FIREARM INJURIES (HIGH YIELD IMAGE-BASED)

Entry wound characteristics:
  • Contact/Close range: Inverted edges, blackening, tattooing, singing of hair, muzzle impression
  • Intermediate range: Stippling/tattooing (unburnt powder grains)
  • Distant range: Clean punched-out hole, inverted margins, abrasion collar (GREASE COLLAR = abraded ring)
Exit wound characteristics:
  • Larger than entry; everted/irregular edges; NO abrasion collar; NO blackening
IMAGE Q clue: Entry = small, inverted, abrasion collar | Exit = large, everted, irregular
FeatureEntryExit
SizeSmallerLarger
MarginsInvertedEverted
Abrasion collarPresentAbsent
BlackeningPresent (contact/close)Absent
Grease collarPresentAbsent
PYQ: "Abrasion collar is seen in?" β†’ Entry wound (FMGE 2021, 2023, NEET PG 2022) PYQ: "In contact range gunshot wound, the shape of wound is?" β†’ Star-shaped / cruciform (gases from barrel tear skin) (INICET 2022)

D. SKULL FRACTURES

  • Contre-coup: Injury opposite to site of impact (brain bounces)
  • Ring fracture: Around foramen magnum; fall from height, landing on feet/buttocks
  • Pond fracture (Depressed): Children; malleable skull
  • Diastatic: Along suture lines

PAGE 3 - ASPHYXIA & SEXUAL OFFENCES

⭐ ASPHYXIA - General Signs (PYQ)

All forms of asphyxia share:
  1. Petechiae (Tardieu spots) - sub-conjunctival, sub-pleural, epicardial ⭐
  2. Cyanosis (blue lips, nails)
  3. Congestion of face
  4. Fluidity of blood
  5. Right heart dilation
IMAGE PYQ: "Petechial hemorrhages in conjunctivae in a hanging case" β†’ Tardieu spots (INICET 2023, NEET PG 2021)

⭐ HANGING

  • Ligature mark: Above thyroid cartilage; oblique, NOT continuous (goes up toward knot); pale, hard, parchment-like
  • Judicial hanging: L2-3 fracture-dislocation; "Hangman's fracture"
  • Suicidal vs Homicidal hanging: Suicidal = most common; homicidal = rare
  • Point of suspension: Typically at side or back of neck (oblique mark)
  • PM findings: Face congested/livid (ligature below suspension point), tongue protruding, frothy discharge

⭐ STRANGULATION (MANUAL/LIGATURE)

  • Ligature strangulation: Mark is HORIZONTAL, continuous, at/below thyroid cartilage; level line (vs hanging = oblique)
  • Manual strangulation (Throttling): Finger marks (crescentic bruises from nails), around neck; bilateral if two hands
  • Mugging/Bansdola: Forearm pressure; no external marks
FeatureHangingLigature Strangulation
Ligature markOblique, incompleteHorizontal, complete
LevelAbove thyroidAt/below thyroid
FaceMay be pale (judicial) or congestedCongested
PetechiaeLess commonCommon
PYQ: "Horizontal ligature mark at level of thyroid cartilage suggests?" β†’ Ligature strangulation NOT hanging (FMGE 2022, NEET PG 2024)

⭐ DROWNING

  • Wet drowning (90%): True drowning; water in lungs
  • Dry drowning (10%): Laryngospasm; no water in lungs
  • Emphysema aquosum: Lungs hyperinflated, waterlogged
  • Diatom test: Gold standard for drowning diagnosis; find diatoms in bone marrow/internal organs = antemortem drowning
  • Washerwoman's hands: Pale, wrinkled skin of hands/feet = prolonged water immersion
  • Froth at mouth/nose: Pink, fine, persistent
  • Paltauf's hemorrhages: PM bluish-red patches on lung surface
PYQ: "Best test to confirm antemortem drowning?" β†’ Diatom test (FMGE 2021, NEET PG 2023) PYQ IMAGE: "Petechial hemorrhages in conjunctiva + froth at nostrils + tied neck = ?" β†’ Strangulation/Asphyxia clue

⭐ SEXUAL OFFENCES - RAPE (IPC Section 375/376)

Legal definition under IPC 375 (as amended):
  • Age of consent = 18 years
  • Statutory rape = sex with woman <18 yrs (even with consent)
  • POCSO Act: Protection of Children from Sexual Offences (<18 yrs)
Examination in Rape:
  • Must be done within 72 hours (spermatozoa motile up to 6 hrs; present up to 72 hrs in vagina)
  • 2-finger test = BANNED by Supreme Court of India (derogatory)
  • Hymen: NOT a reliable sign of rape; can be intact in rape; can be broken by other means
  • Colposcope = preferred examination tool now
PM findings in rape:
  • Bruising, tears at introitus/fourchette
  • Spermatozoa (alive up to 6 hrs, dead up to 72 hrs in vagina)
PYQ: "Legal age of consent in India?" β†’ 18 years (FMGE every year) PYQ: "Two-finger test in rape is?" β†’ Legally banned, unscientific (NEET PG 2023, INICET 2024)

PAGE 4 - TOXICOLOGY

⭐ ORGANOPHOSPHORUS (OP) POISONING - #1 Tested Poison

Mechanism: Inhibit acetylcholinesterase (AChE) β†’ ACh accumulation β†’ cholinergic crisis
SLUDGE BAM Mnemonic (Muscarinic effects):
  • S - Salivation
  • L - Lacrimation
  • U - Urination
  • D - Defecation
  • G - GI cramps
  • E - Emesis
  • B - Bronchospasm/Bronchorrhea
  • A - Abdominal cramps
  • M - Miosis ⭐ (pinpoint pupils = classic image Q clue)
Nicotinic effects (muscle): Fasciculations, weakness, paralysis CNS: Anxiety, convulsions, coma
Treatment: ⭐⭐⭐
  1. Atropine (high dose) - for muscarinic symptoms (keep giving until drying of secretions)
  2. Pralidoxime (2-PAM) - reactivates AChE (give early, before "aging" occurs)
  3. Avoid succinylcholine, morphine, beta-blockers
PYQ: "Treatment of OP poisoning?" β†’ Atropine + Pralidoxime (FMGE 2021, 2022, 2023, NEET PG every year) PYQ: "Pralidoxime works by?" β†’ Reactivating acetylcholinesterase (INICET 2022)

⭐ CARBON MONOXIDE (CO) POISONING

  • CO affinity for Hb = 240x that of O2
  • Produces carboxyhemoglobin (COHb)
  • Skin/PM hypostasis: Cherry-red ⭐ (IMAGE Q)
  • Symptoms: Headache β†’ confusion β†’ cherry-red skin β†’ convulsions β†’ coma
  • Treatment: 100% O2 / Hyperbaric O2 (best treatment)
  • Late complication: Delayed neuropsychiatric syndrome (days to weeks later)
PYQ: "CO poisoning - best treatment?" β†’ Hyperbaric oxygen (NEET PG 2023, INICET 2023)

⭐ CYANIDE POISONING

  • Inhibits cytochrome c oxidase (Complex IV) β†’ histotoxic anoxia
  • Smell: Bitter almonds (not everyone can smell - genetic)
  • Color: Bright red PM hypostasis (tissues cannot use O2)
  • Treatment: Hydroxocobalamin / Sodium thiosulfate + sodium nitrite
PYQ: "Cyanide inhibits which enzyme?" β†’ Cytochrome oxidase (FMGE 2022, NEET PG 2021)

⭐ ALCOHOL (ETHANOL)

  • Legal drunk driving limit (India): 30 mg/100 mL blood
  • Medico-legal limit: 80 mg% (old Indian standard) β†’ 30 mg% now
  • Fatal level: >400-500 mg%
  • Metabolism: Alcohol β†’ Acetaldehyde (by ADH) β†’ Acetic acid (by ALDH)
  • Wernicke's encephalopathy: Thiamine deficiency; triad - ataxia, ophthalmoplegia, confusion
  • Vitreous humor = best sample for postmortem alcohol estimation (resistant to putrefaction)
PYQ: "Best PM sample for alcohol estimation?" β†’ Vitreous humor (FMGE 2023, NEET PG 2022)

⭐ SNAKE VENOM (High Yield FMGE/INICET)

SnakeVenom TypeKey EffectAntidote
Cobra, KraitNeurotoxicRespiratory paralysis, ptosis, diplopiaPolyvalent antisnake venom
Russell's viperHemotoxic + CytotoxicDIC, bleeding, local necrosisPolyvalent ASV
Saw-scaled viperHemotoxicBleeding, coagulopathyPolyvalent ASV
Sea snakeMyotoxicMyoglobinuria, rhabdomyolysisPolyvalent ASV
  • Cobra hood mark: Spectacles on back of hood (IMAGE Q)
  • Krait: Nocturnal; painless bite; delayed neurological symptoms
  • 20-minute whole blood clotting test (20WBCT): Screening for viper venom coagulopathy

⭐ POISON COLORS AT PM (MUST MEMORIZE - IMAGE Q)

SubstanceOdor/Staining
PhosphorusLuminous; garlic smell; glows in dark
ArsenicGarlic smell
HCN/CyanideBitter almonds
COCherry red Hb
MethanolBlindness (optic nerve); metabolic acidosis; formic acid
Ethylene glycolCalcium oxalate crystals in urine/kidney; renal failure

⭐ ANTIDOTES TABLE (FMGE/NEET PG Favorite)

PoisonAntidote
OP compoundsAtropine + Pralidoxime
CO100% O2 / Hyperbaric O2
CyanideHydroxocobalamin / Na thiosulfate + Na nitrite
MethanolEthanol / Fomepizole
Ethylene glycolEthanol / Fomepizole
HeparinProtamine sulfate
WarfarinVitamin K / FFP
Morphine/opioidsNaloxone
BenzodiazepinesFlumazenil
IronDeferoxamine
LeadEDTA; DMSA (dimercaptosuccinic acid)
Arsenic/MercuryBAL (Dimercaprol) / DMSA
DigoxinDigoxin-specific Fab antibodies
ParacetamolN-acetylcysteine
OrganochlorineNo specific; supportive
PYQ: "Antidote for paracetamol poisoning?" β†’ N-acetylcysteine (FMGE 2021, NEET PG 2022, INICET 2022)

PAGE 5 - MEDICAL JURISPRUDENCE, LEGAL SECTIONS & IDENTIFICATION

⭐ IPC SECTIONS - Must Know (PYQ Every Exam)

SectionContent
IPC 300Murder (culpable homicide amounting to murder)
IPC 302Punishment for murder
IPC 304ADeath by negligence (NOT intentional)
IPC 319-321Hurt and voluntarily causing hurt
IPC 320Grievous hurt (8 types: emasculation, eye injury, deafness, loss of member, fracture, dislocation, dangerous to life, permanent disfigurement)
IPC 375-376Rape and punishment
IPC 377Unnatural sexual offences
IPC 312-316Abortion-related offences
IPC 80Accident - good faith, lawful act
IPC 88Act in good faith for person's benefit
Sec 174 CrPCPolice inquest (non-medico-legal)
Sec 176 CrPCMagistrate inquest (cases requiring it: dowry death, rape, custody death, exhumation)
PYQ: "Which section deals with death by negligence?" β†’ IPC 304A (FMGE 2021, 2022, NEET PG 2023) PYQ: "Magistrate inquest is mandatory in?" β†’ Dowry death, rape in custody, hanging in prison (INICET 2023)

⭐ MEDICAL NEGLIGENCE (PYQ High Yield)

Bolam's test: Standard of care = what a reasonable competent professional would do; a doctor is not negligent if they acted in accordance with a practice accepted by a responsible body of medical opinion.
3 D's of Negligence:
  1. Duty - doctor-patient relationship established
  2. Dereliction - breach of duty
  3. Damage - injury caused
Res Ipsa Loquitur: "The thing speaks for itself" - negligence is obvious from the act alone (e.g., instrument left inside after surgery)
Vicarious liability: Employer liable for acts of employee
PYQ: "Standard of care test in medical negligence?" β†’ Bolam's test (NEET PG 2022, 2023) PYQ: "A surgeon leaves a mop inside abdomen - doctrine applied?" β†’ Res Ipsa Loquitur (FMGE 2023, INICET 2022)

⭐ CONSENT

TypeDefinition
Expressed consentWritten or verbal, explicit
Implied consentEmergency situations, unconscious
Informed consentPatient given full info about procedure, risks, alternatives
Age for valid consent (India)18 years
Therapeutic privilegeDoctor may withhold info if revealing it would harm patient
  • POCSO Act: Any sexual act with person <18 = offence regardless of consent
  • Consent of minor: Parent/guardian must sign
PYQ: "Age of valid consent for medical procedures in India?" β†’ 18 years

⭐ IDENTIFICATION METHODS

Age Estimation - Teeth (PYQ Image Q)

AgeTeeth
6 months1st deciduous incisors erupt
2 yearsAll 20 deciduous teeth complete
6 years1st permanent molar + lower incisor erupt
12 years2nd permanent molar
18-25 years3rd molar / wisdom tooth (age 18-25, most variable)
  • Gustafson's method: Dental aging - 6 criteria (Attrition, Periodontosis, Secondary dentin, Cementum apposition, Root resorption, Root transparency) - most accurate method for age from teeth
  • Subpubic angle: Males <90Β° (narrow); Females >90Β° (wide) - sex determination

Age Estimation - Bones

  • Ossification centers (upper end of humerus fuses at 20, medial end of clavicle last to fuse at 25)
  • Medial clavicle = last to fuse = best for distinguishing 18 vs >18 yrs (LEGAL significance)
PYQ IMAGE: "X-ray shows unfused medial end of clavicle - age?" β†’ Below 25 years (NEET PG, INICET) PYQ: "Gustafson's method is used for?" β†’ Age estimation from teeth (FMGE 2022)

⭐ INFANTICIDE & NEONATICIDE

  • Viability of fetus: 28 weeks (legal in India); 22-24 weeks (WHO)
  • Hydrostatic lung test (Docimasia pulmonaris): Lung floats if baby breathed; sinks if stillborn
  • Limitations: Putrefaction/decomposition makes it unreliable
  • Signs of live birth: Separate circulation, aerated lungs, food in stomach, air in middle ear
  • Caput succedaneum vs Cephalohematoma: Caput crosses sutures; Cephalo-hematoma does NOT cross sutures (between periosteum and skull bone)
PYQ: "Test used to determine if newborn breathed after birth?" β†’ Hydrostatic lung test (FMGE 2021, 2023) PYQ: "Fetal viability in India legally?" β†’ 28 weeks (FMGE every year)

⭐ BHOPAL GAS TRAGEDY (Classic MCQ)

  • Gas: Methyl Isocyanate (MIC) (Union Carbide, 1984)
  • Features: ALL of - Respiratory distress, pulmonary edema, corneal opacities (permanent)
  • Late effects: Pulmonary fibrosis
  • Mechanism: Chemical irritation of respiratory tract

⭐ BIOLOGICAL SPECIMENS FOR TOXICOLOGY

TestBest Sample
Blood alcohol (antemortem)Peripheral blood (femoral vein)
Blood alcohol (postmortem)Vitreous humor ⭐
Drug screeningUrine
Recent ingestionGastric contents
Metals/arsenicHair, nail, bone
Diatom testBone marrow (confirms antemortem drowning)

πŸ”΄ TOP 20 "IMAGE-BASED Q" TRIGGERS - FMT

  1. Cherry-red lividity = CO poisoning ⭐⭐⭐
  2. Chocolate/brown lividity = Nitrites/metHb formers
  3. Contact flattening (pale patches in lividity) = position of body post-death
  4. Petechial hemorrhages in conjunctiva = asphyxia (hanging, strangulation, drowning)
  5. Frothy pink discharge at nose/mouth = drowning
  6. Small inverted wound with abrasion collar = gunshot entry wound
  7. Large everted wound, no abrasion collar = gunshot exit wound
  8. Tattooing/stippling around wound = intermediate range gunshot
  9. Star-shaped wound = contact range gunshot
  10. Defense wounds (parallel cuts on forearm/palm) = homicidal stab
  11. Oblique, non-encircling ligature mark = hanging
  12. Horizontal, encircling ligature mark = ligature strangulation
  13. Crescentic nail marks on neck = manual strangulation (throttling)
  14. Green discoloration abdomen = early putrefaction
  15. Adipocere = waxy preservation
  16. Mummification = dry, preserved, shrunken
  17. Washerwomen hands = prolonged drowning
  18. Marbling (branching greenish network on skin) = advanced putrefaction
  19. Pinpoint pupils (miosis) = OP poisoning / morphine
  20. Spectacle hood mark on snake = Cobra (Naja naja) - IMAGE Q

πŸ”΅ FMGE/NEET PG MOST REPEATED SINGLE-LINERS (2021-2026)

  • Rigor mortis mechanism = ATP depletion β†’ actin-myosin fusion
  • First muscle to show rigor = heart (within 1 hr); Nysten's law = jaw β†’ toe
  • Time of death best estimated by = Rectal temp (early); PM interval
  • Drowning gold standard = Diatom test
  • Rape - spermatozoa motile for = 6 hours in vagina
  • Age of consent = 18 years
  • Last bone to ossify = Medial clavicle (25 yrs)
  • Gustafson's method = dental age estimation
  • Viability of fetus in India = 28 weeks
  • Hydrostatic lung test = Docimasia pulmonaris
  • Best PM alcohol = Vitreous humor
  • OP poisoning antidote = Atropine + Pralidoxime
  • CO poisoning antidote = Hyperbaric O2
  • Paracetamol antidote = N-acetylcysteine
  • Cyanide inhibits = Cytochrome oxidase
  • Methanol causes = Blindness (optic nerve)
  • Ethylene glycol = Oxalate crystals + renal failure
  • 2-finger test = BANNED (Supreme Court India)
  • Res Ipsa Loquitur = instrument left in body / obvious negligence
  • Bolam's test = standard of care for medical negligence
  • IPC 304A = death by negligence
  • Magistrate inquest = dowry death / rape in custody / exhumation
  • Bhopal tragedy gas = MIC (methyl isocyanate)
  • Contact range gunshot = star-shaped wound + muzzle imprint

Sources: Parikh's Textbook of Medical Jurisprudence (Forensic Medicine & Toxicology), Dikshit's Textbook of FMT, The Essentials of Forensic Medicine & Toxicology 36th ed. (2026), PW MedEd high-yield NEET PG 2025 compilation.
Good luck - FMT is one of the most scoring subjects. Own it! 🎯

Generate a Word document (DOCX) of these 5-page FMT notes for easy printing

Reading File
Running Command

ls -la /tmp/workspace/ 2>/dev/null || echo "workspace empty or missing"

Running Command

mkdir -p /tmp/workspace/fmt-notes

Writing File

~/fmt-notes/build_fmt.py

from docx import Document
from docx.shared import Pt, Inches, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
import copy

doc = Document()

# ── Page margins (narrow for dense notes) ──────────────────────────────────
for section in doc.sections:
    section.top_margin    = Inches(0.6)
    section.bottom_margin = Inches(0.6)
    section.left_margin   = Inches(0.75)
    section.right_margin  = Inches(0.75)

# ── Default Normal style ────────────────────────────────────────────────────
normal = doc.styles["Normal"]
normal.font.name = "Calibri"
normal.font.size = Pt(9.5)

# ── Helper: shade a table row ───────────────────────────────────────────────
def shade_cell(cell, hex_color):
    tc   = cell._tc
    tcPr = tc.get_or_add_tcPr()
    shd  = OxmlElement("w:shd")
    shd.set(qn("w:val"),   "clear")
    shd.set(qn("w:color"), "auto")
    shd.set(qn("w:fill"),  hex_color)
    tcPr.append(shd)

def set_cell_font(cell, bold=False, size=9, color=None):
    for para in cell.paragraphs:
        for run in para.runs:
            run.bold = bold
            run.font.size = Pt(size)
            if color:
                run.font.color.rgb = RGBColor.from_string(color)

def add_heading(doc, text, level, color_hex=None):
    p = doc.add_heading(text, level=level)
    if color_hex:
        for run in p.runs:
            run.font.color.rgb = RGBColor.from_string(color_hex)
    return p

def add_para(doc, text, bold=False, italic=False, size=9.5, color=None, left_indent=None):
    p = doc.add_paragraph()
    run = p.add_run(text)
    run.bold   = bold
    run.italic = italic
    run.font.size = Pt(size)
    if color:
        run.font.color.rgb = RGBColor.from_string(color)
    if left_indent:
        p.paragraph_format.left_indent = Inches(left_indent)
    return p

def add_bullet(doc, text, bold_prefix=None, indent=0.2):
    p = doc.add_paragraph(style="List Bullet")
    p.paragraph_format.left_indent  = Inches(indent)
    p.paragraph_format.space_before = Pt(1)
    p.paragraph_format.space_after  = Pt(1)
    if bold_prefix:
        run = p.add_run(bold_prefix)
        run.bold = True
        run.font.size = Pt(9.5)
        rest = p.add_run(text)
        rest.font.size = Pt(9.5)
    else:
        run = p.add_run(text)
        run.font.size = Pt(9.5)
    return p

def add_pyq(doc, text):
    p = doc.add_paragraph()
    p.paragraph_format.left_indent = Inches(0.15)
    p.paragraph_format.space_before = Pt(2)
    p.paragraph_format.space_after  = Pt(2)
    run = p.add_run("⭐ PYQ: ")
    run.bold = True
    run.font.color.rgb = RGBColor(0xC0, 0x00, 0x00)
    run.font.size = Pt(9)
    rest = p.add_run(text)
    rest.font.size = Pt(9)
    rest.italic = True
    return p

def add_simple_table(doc, headers, rows, header_bg="1F4E79", header_fg="FFFFFF", alt_bg="D6E4F0"):
    tbl = doc.add_table(rows=1, cols=len(headers))
    tbl.style = "Table Grid"
    tbl.autofit = True
    # header row
    hdr = tbl.rows[0].cells
    for i, h in enumerate(headers):
        hdr[i].text = h
        shade_cell(hdr[i], header_bg)
        set_cell_font(hdr[i], bold=True, size=9, color=header_fg)
        hdr[i].paragraphs[0].paragraph_format.space_before = Pt(2)
        hdr[i].paragraphs[0].paragraph_format.space_after  = Pt(2)
    # data rows
    for ri, row_data in enumerate(rows):
        row = tbl.add_row().cells
        bg = alt_bg if ri % 2 == 1 else "FFFFFF"
        for ci, val in enumerate(row_data):
            row[ci].text = val
            shade_cell(row[ci], bg)
            set_cell_font(row[ci], bold=False, size=9)
            row[ci].paragraphs[0].paragraph_format.space_before = Pt(2)
            row[ci].paragraphs[0].paragraph_format.space_after  = Pt(2)
    doc.add_paragraph()

def page_break(doc):
    doc.add_page_break()

# ═══════════════════════════════════════════════════════════════════════════════
# TITLE PAGE
# ═══════════════════════════════════════════════════════════════════════════════
title_para = doc.add_paragraph()
title_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = title_para.add_run("FMT β€” LAST MINUTE REVISION NOTES")
run.bold = True
run.font.size = Pt(18)
run.font.color.rgb = RGBColor(0x1F, 0x4E, 0x79)

sub_para = doc.add_paragraph()
sub_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
sub_run = sub_para.add_run("FMGE  |  NEET PG  |  INICET  |  All PYQs (2021–2026)")
sub_run.font.size = Pt(12)
sub_run.bold = True
sub_run.font.color.rgb = RGBColor(0xC0, 0x00, 0x00)

doc.add_paragraph()
note_p = doc.add_paragraph()
note_p.alignment = WD_ALIGN_PARAGRAPH.CENTER
note_run = note_p.add_run("5-Page Comprehensive Notes  β€’  Image-Based Q Highlights  β€’  Textbook-Referenced")
note_run.font.size = Pt(10)
note_run.italic = True

doc.add_paragraph()
src_p = doc.add_paragraph()
src_p.alignment = WD_ALIGN_PARAGRAPH.CENTER
src_run = src_p.add_run(
    "Sources: Parikh's FMT Textbook | Dikshit's FMT | Essentials of FMT 36th ed. (2026)"
)
src_run.font.size = Pt(8.5)
src_run.font.color.rgb = RGBColor(0x70, 0x70, 0x70)

doc.add_paragraph()

# ═══════════════════════════════════════════════════════════════════════════════
# PAGE 1 β€” THANATOLOGY
# ═══════════════════════════════════════════════════════════════════════════════
add_heading(doc, "PAGE 1 β€” THANATOLOGY (DEATH & POST-MORTEM CHANGES)", 1, "1F4E79")

add_heading(doc, "Postmortem Changes β€” Sequence (HIGH FREQ PYQ)", 2, "2E74B5")
add_simple_table(doc,
    ["Change", "Onset", "Maximum", "Notes"],
    [
        ["Cadaveric spasm", "Immediate at death", "Immediate", "No primary relaxation; drowning/violent deaths"],
        ["Algor mortis (cooling)", "Immediately", "~24–48 hrs", "1–1.5Β°F/hr first 6 hrs"],
        ["Livor mortis (PM hypostasis)", "1–2 hrs", "Fixed by 6–12 hrs", "Shifts if moved <6 hrs; fixed after 12 hrs"],
        ["Rigor mortis", "1–2 hrs", "6–12 hrs", "Passes by 24–36 hrs"],
        ["Putrefaction", "24–48 hrs", "Progressive", "Starts in abdomen/cecum"],
    ]
)

add_heading(doc, "Rigor Mortis β€” Most Tested", 2, "2E74B5")
bullets_rm = [
    ("Mechanism: ", "ATP depletion β†’ actin + myosin form irreversible cross-bridges β†’ stiff dehydrated gel"),
    ("Sequence (Nysten's law): ", "Heart (within 1 hr) β†’ jaw β†’ neck β†’ face β†’ trunk β†’ limbs (head to toe)"),
    ("Breaking rigor: ", "Mechanical force breaks it permanently β€” limb stays flaccid; misleads TSD estimation"),
    ("Cadaveric spasm: ", "Instantaneous; no primary flaccidity; seen in drowning, gunshot to brain; used to determine weapon held"),
    ("Delayed by: ", "Cold, electrocution; Hastened by: heat, exercise before death, fever"),
]
for bp, bt in bullets_rm:
    add_bullet(doc, bt, bold_prefix=bp)

add_pyq(doc, '"Drowning victim found with hand tightly clenching weeds" β†’ Cadaveric spasm (FMGE 2022, NEET PG 2021)')
add_pyq(doc, '"First muscle to show rigor mortis?" β†’ Heart (within 1 hour of death)')
add_pyq(doc, '"Rigor mortis mechanism?" β†’ ATP depletion β†’ actin-myosin fusion (FMGE 2023)')

add_heading(doc, "Livor Mortis / PM Hypostasis β€” Color Chart (IMAGE-BASED Q GOLDMINE)", 2, "2E74B5")
add_simple_table(doc,
    ["Poisoning / Cause", "Hypostasis Color", "Frequency"],
    [
        ["Carbon monoxide (CO)", "Cherry-red", "⭐⭐⭐⭐⭐ Most tested"],
        ["Hydrocyanic acid (HCN / cyanide)", "Bright red", "⭐⭐⭐⭐"],
        ["Nitrites, aniline, chlorates, nitrobenzene (β†’ metHb)", "Chocolate / brownish-red", "⭐⭐⭐⭐"],
        ["Phosphorus, copper", "Dark brown / yellow", "⭐⭐⭐"],
        ["Hydrogen sulphide", "Bluish-green", "⭐⭐⭐"],
        ["CO2 poisoning", "Deep blue", "⭐⭐"],
        ["Normal (no poisoning)", "Purple-red", "β€”"],
    ]
)
add_para(doc, "IMAGE Q TIP: Pale patches at pressure points = contact flattening = body NOT moved after death (confirms position post-death).", bold=True, color="C00000")
add_pyq(doc, '"PM hypostasis is cherry-red in?" β†’ CO poisoning (FMGE 2021, 2023, INICET 2022)')
add_pyq(doc, '"PM lividity absent over pressure points?" β†’ Contact flattening (NEET PG 2022)')

add_heading(doc, "Putrefaction & Late PM Changes", 2, "2E74B5")
bullets_put = [
    ("Starts in: ", "Cecum / large intestine (first organ; gases H2S, CH4, NH3)"),
    ("Skin changes: ", "Green discoloration starting right iliac fossa β†’ spreads; Marbling (greenish-black network) = advanced"),
    ("Adipocere: ", "Saponification of fat; wet/moist conditions; stable, waxy; helps TSD estimation"),
    ("Mummification: ", "Dry, hot, arid; preserved dry, shrunken remains; no putrefaction"),
]
for bp, bt in bullets_put:
    add_bullet(doc, bt, bold_prefix=bp)
add_pyq(doc, '"Preservation of body by saponification of fat?" β†’ Adipocere (FMGE 2022, INICET 2023)')

page_break(doc)

# ═══════════════════════════════════════════════════════════════════════════════
# PAGE 2 β€” INJURIES & WOUNDS
# ═══════════════════════════════════════════════════════════════════════════════
add_heading(doc, "PAGE 2 β€” INJURIES & WOUNDS", 1, "1F4E79")

add_heading(doc, "A. Blunt Force Injuries", 2, "2E74B5")
add_simple_table(doc,
    ["Wound Type", "Key Feature", "PYQ Clue"],
    [
        ["Abrasion", "Epidermis only; direction of force by tilted edges", "Most common vital reaction; graze/scratch"],
        ["Contusion / Bruise", "Closed; extravasation of blood; color changes over days", "Color progression tested"],
        ["Laceration", "Irregular, ragged margins; tissue bridges; foreign material", "Blunt force; tissue bridges = key differentiator"],
    ]
)
add_para(doc, "Bruise color progression: Red/blue (fresh) β†’ Blue/purple (24 hr) β†’ Green (4–5 days) β†’ Yellow/brown (7+ days)", italic=True)
add_pyq(doc, '"Tissue bridges are seen in?" β†’ Laceration (FMGE 2022, 2024)')
add_pyq(doc, '"Patterned bruise" β†’ Imprint of weapon (IMAGE Q)')

add_heading(doc, "B. Sharp Force Injuries", 2, "2E74B5")
add_simple_table(doc,
    ["Wound Type", "Features", "Key Differentiator"],
    [
        ["Incised wound", "Clean edges; LENGTH > DEPTH; no tissue bridges", "Knife/blade; suicidal pattern"],
        ["Stab wound", "DEPTH > BREADTH; clean; may show tail end", "Pointed weapon; homicidal/suicidal"],
        ["Chop wound", "Deep; bone cut; large weapon", "Axe, sword"],
        ["Defense wounds", "Forearm, palm, dorsum of fingers", "Victim tried to defend β€” homicidal context"],
    ]
)
add_pyq(doc, '"Which wound has depth > width?" β†’ Stab wound (NEET PG 2023)')
add_pyq(doc, '"IMAGE Q: Parallel clean cuts on wrist, length > depth?" β†’ Incised wounds / suicidal cuts (INICET 2023)')

add_heading(doc, "C. Firearm Injuries β€” IMAGE-BASED Q FAVORITE", 2, "2E74B5")
add_simple_table(doc,
    ["Feature", "Entry Wound", "Exit Wound"],
    [
        ["Size", "Smaller", "Larger"],
        ["Margins", "Inverted (punched in)", "Everted / irregular"],
        ["Abrasion collar (grease collar)", "PRESENT ⭐", "ABSENT"],
        ["Blackening / Tattooing / Singeing", "Present (close/contact range)", "Absent"],
        ["Contact range appearance", "Star-shaped / cruciform wound", "β€”"],
    ]
)
bullets_fa = [
    ("Contact range: ", "Muzzle imprint + star-shaped wound + burning/blackening"),
    ("Intermediate range: ", "Stippling / tattooing (unburnt powder grains on skin)"),
    ("Distant range: ", "Clean punched-out hole only; abrasion collar present"),
]
for bp, bt in bullets_fa:
    add_bullet(doc, bt, bold_prefix=bp)
add_pyq(doc, '"Abrasion collar seen in?" β†’ Entry wound of gunshot (FMGE 2021, 2023, NEET PG 2022)')
add_pyq(doc, '"Contact range gunshot wound shape?" β†’ Star-shaped / cruciform (gases from barrel tear skin) (INICET 2022)')
add_pyq(doc, '"IMAGE Q: Small inverted hole with abraded ring" β†’ Gunshot entry wound')

add_heading(doc, "D. Skull Fractures", 2, "2E74B5")
bullets_sk = [
    ("Coup injury: ", "Injury at site of impact"),
    ("Contrecoup injury: ", "Injury OPPOSITE site of impact (brain bounces) β€” tested in falls"),
    ("Ring fracture: ", "Around foramen magnum; fall from height, landing on feet/buttocks"),
    ("Pond (depressed) fracture: ", "Children; malleable skull; greenstick pattern"),
    ("Diastatic fracture: ", "Along suture lines"),
]
for bp, bt in bullets_sk:
    add_bullet(doc, bt, bold_prefix=bp)
add_pyq(doc, '"Person falls from height and lands on feet β€” skull fracture type?" β†’ Ring fracture')
add_pyq(doc, '"Injury opposite to site of blow?" β†’ Contrecoup injury (FMGE 2022, NEET PG 2023)')

page_break(doc)

# ═══════════════════════════════════════════════════════════════════════════════
# PAGE 3 β€” ASPHYXIA & SEXUAL OFFENCES
# ═══════════════════════════════════════════════════════════════════════════════
add_heading(doc, "PAGE 3 β€” ASPHYXIA & SEXUAL OFFENCES", 1, "1F4E79")

add_heading(doc, "General Signs of Asphyxia (All Forms) β€” PYQ", 2, "2E74B5")
bullets_as = [
    "Petechiae (Tardieu spots) β€” sub-conjunctival, sub-pleural, epicardial ⭐ IMAGE Q",
    "Cyanosis (blue lips, fingernails, mucosa)",
    "Congestion of face and neck",
    "Fluidity of blood (no clotting)",
    "Right heart dilation (backs up in pulmonary circuit)",
]
for b in bullets_as:
    add_bullet(doc, b)
add_pyq(doc, '"IMAGE Q: Petechial hemorrhages in conjunctivae of hanging victim?" β†’ Tardieu spots (INICET 2023, NEET PG 2021)')

add_heading(doc, "Hanging vs Ligature Strangulation (PYQ Comparison)", 2, "2E74B5")
add_simple_table(doc,
    ["Feature", "Hanging", "Ligature Strangulation"],
    [
        ["Ligature mark direction", "OBLIQUE, incomplete (goes up toward knot)", "HORIZONTAL, complete, encircling"],
        ["Level on neck", "ABOVE thyroid cartilage", "AT or BELOW thyroid cartilage"],
        ["Face appearance", "May be pale (judicial) or congested", "Congested, cyanotic"],
        ["Petechiae", "Less common", "Common ⭐"],
        ["Cause of death", "Asphyxia + venous obstruction Β± spinal injury", "Asphyxia + venous obstruction"],
        ["Most common manner", "Suicidal", "Homicidal"],
    ]
)
add_pyq(doc, '"Horizontal complete ligature mark at thyroid level?" β†’ Ligature strangulation, NOT hanging (FMGE 2022, NEET PG 2024)')
add_pyq(doc, '"Judicial hanging causes?" β†’ Fracture-dislocation C2–C3 / Hangman\'s fracture (INICET 2022)')

add_heading(doc, "Manual Strangulation (Throttling)", 2, "2E74B5")
bullets_ms = [
    ("Finger marks: ", "Crescentic bruises from nails around neck"),
    ("Pattern: ", "Bilateral fingertip bruises if two hands used"),
    ("Mugging / Bansdola: ", "Forearm pressure on neck; may leave no external marks"),
]
for bp, bt in bullets_ms:
    add_bullet(doc, bt, bold_prefix=bp)

add_heading(doc, "Drowning", 2, "2E74B5")
bullets_dr = [
    ("Wet drowning (90%): ", "Water enters lungs; emphysema aquosum (waterlogged, hyperinflated lungs)"),
    ("Dry drowning (10%): ", "Laryngospasm; no water in lungs"),
    ("Diatom test: ", "GOLD STANDARD β€” diatoms in bone marrow / internal organs = antemortem drowning ⭐"),
    ("Washerwoman's hands: ", "Pale, wrinkled skin = prolonged water immersion (IMAGE Q)"),
    ("Paltauf's hemorrhages: ", "PM bluish-red patches on lung surface"),
    ("Froth: ", "Pink, fine, persistent froth at nose/mouth"),
]
for bp, bt in bullets_dr:
    add_bullet(doc, bt, bold_prefix=bp)
add_pyq(doc, '"Best test to confirm antemortem drowning?" β†’ Diatom test (FMGE 2021, NEET PG 2023)')
add_pyq(doc, '"IMAGE Q: Frothy pink discharge from nostrils + washerwoman hands?" β†’ Drowning')

add_heading(doc, "Sexual Offences β€” Rape (IPC 375/376)", 2, "2E74B5")
add_simple_table(doc,
    ["Point", "Fact"],
    [
        ["Age of consent (India)", "18 years ⭐ (FMGE every year)"],
        ["Statutory rape", "Sex with female <18 yrs even with consent"],
        ["POCSO Act", "Protection of children from sexual offences (<18 yrs)"],
        ["2-finger test", "BANNED by Supreme Court of India β€” unscientific, derogatory ⭐"],
        ["Spermatozoa β€” motile in vagina", "Up to 6 hours"],
        ["Spermatozoa β€” present (non-motile)", "Up to 72 hours"],
        ["Hymen", "NOT a reliable sign of rape; can be intact in rape"],
        ["Examination timing", "Within 72 hours preferred"],
        ["Preferred tool", "Colposcope"],
    ]
)
add_pyq(doc, '"Legal age of consent in India?" β†’ 18 years (FMGE 2021, 2022, 2023, 2024)')
add_pyq(doc, '"Two-finger test in rape is?" β†’ Legally banned, unscientific (NEET PG 2023, INICET 2024)')

page_break(doc)

# ═══════════════════════════════════════════════════════════════════════════════
# PAGE 4 β€” TOXICOLOGY
# ═══════════════════════════════════════════════════════════════════════════════
add_heading(doc, "PAGE 4 β€” TOXICOLOGY", 1, "1F4E79")

add_heading(doc, "Organophosphorus (OP) Poisoning β€” #1 Tested Poison", 2, "2E74B5")
add_para(doc, "Mechanism: Inhibit acetylcholinesterase (AChE) β†’ ACh accumulation β†’ Cholinergic crisis", bold=True)
add_para(doc, "SLUDGE BAM Mnemonic (Muscarinic effects):", bold=True, color="1F4E79")
bullets_op = [
    "S β€” Salivation",
    "L β€” Lacrimation",
    "U β€” Urination",
    "D β€” Defecation",
    "G β€” GI cramps",
    "E β€” Emesis",
    "B β€” Bronchospasm / Bronchorrhea",
    "A β€” Abdominal cramps",
    "M β€” Miosis ⭐ (pinpoint pupils = classic IMAGE Q clue)",
]
for b in bullets_op:
    add_bullet(doc, b)
add_para(doc, "Nicotinic effects (muscle): Fasciculations, weakness, paralysis", italic=True)
add_para(doc, "Treatment (in order): 1) Atropine (high dose, for muscarinic sx) β†’ 2) Pralidoxime / 2-PAM (reactivates AChE β€” give EARLY before aging) β†’ 3) Supportive", bold=True, color="C00000")
add_para(doc, "AVOID: Succinylcholine, morphine, beta-blockers", italic=True, color="C00000")
add_pyq(doc, '"Treatment of OP poisoning?" β†’ Atropine + Pralidoxime (FMGE 2021, 2022, 2023, NEET PG every year)')
add_pyq(doc, '"Pralidoxime works by?" β†’ Reactivating acetylcholinesterase (INICET 2022)')

add_heading(doc, "Carbon Monoxide (CO) Poisoning", 2, "2E74B5")
bullets_co = [
    ("CO affinity for Hb: ", "240Γ— that of O2 β†’ forms carboxyhemoglobin (COHb)"),
    ("Skin / PM hypostasis: ", "CHERRY-RED ⭐ (classic IMAGE Q)"),
    ("Symptoms: ", "Headache β†’ confusion β†’ cherry-red skin β†’ convulsions β†’ coma"),
    ("Treatment: ", "100% O2 or Hyperbaric oxygen (BEST) ⭐"),
    ("Late complication: ", "Delayed neuropsychiatric syndrome (days to weeks later)"),
]
for bp, bt in bullets_co:
    add_bullet(doc, bt, bold_prefix=bp)
add_pyq(doc, '"CO poisoning best treatment?" β†’ Hyperbaric oxygen (NEET PG 2023, INICET 2023)')

add_heading(doc, "Cyanide Poisoning", 2, "2E74B5")
bullets_cy = [
    ("Mechanism: ", "Inhibits cytochrome c oxidase (Complex IV) β†’ histotoxic anoxia ⭐"),
    ("Smell: ", "Bitter almonds (not everyone can detect β€” genetic)"),
    ("PM hypostasis: ", "Bright red (tissues cannot use O2)"),
    ("Treatment: ", "Hydroxocobalamin / Sodium thiosulfate + Sodium nitrite"),
]
for bp, bt in bullets_cy:
    add_bullet(doc, bt, bold_prefix=bp)
add_pyq(doc, '"Cyanide inhibits which enzyme?" β†’ Cytochrome oxidase (FMGE 2022, NEET PG 2021)')

add_heading(doc, "Alcohol & Methanol", 2, "2E74B5")
add_simple_table(doc,
    ["Parameter", "Detail"],
    [
        ["Legal drunk driving limit (India)", "30 mg/100 mL blood"],
        ["Fatal level", ">400–500 mg%"],
        ["Metabolism", "Alcohol β†’ Acetaldehyde (ADH) β†’ Acetic acid (ALDH)"],
        ["Wernicke's encephalopathy", "Thiamine deficiency; triad = Ataxia + Ophthalmoplegia + Confusion"],
        ["Best PM sample for alcohol", "Vitreous humor ⭐ (resistant to putrefaction)"],
        ["Methanol (wood alcohol)", "β†’ Formic acid β†’ Blindness (optic nerve), metabolic acidosis"],
        ["Methanol antidote", "Ethanol (competitive) / Fomepizole ⭐"],
        ["Ethylene glycol", "β†’ Calcium oxalate crystals β†’ Renal failure; antidote = Fomepizole / Ethanol"],
    ]
)
add_pyq(doc, '"Best PM sample for alcohol estimation?" β†’ Vitreous humor (FMGE 2023, NEET PG 2022)')

add_heading(doc, "Snake Venom", 2, "2E74B5")
add_simple_table(doc,
    ["Snake", "Venom Type", "Key Effect"],
    [
        ["Cobra, Krait", "Neurotoxic", "Respiratory paralysis, ptosis, diplopia; Krait = painless bite, delayed symptoms"],
        ["Russell's viper", "Hemotoxic + Cytotoxic", "DIC, coagulopathy, bleeding, local necrosis"],
        ["Saw-scaled viper", "Hemotoxic", "Bleeding, coagulopathy"],
        ["Sea snake", "Myotoxic", "Myoglobinuria, rhabdomyolysis"],
    ]
)
add_bullet(doc, "All treated with: Polyvalent antisnake venom (ASV) β€” only definitive treatment")
add_bullet(doc, "20-minute whole blood clotting test (20WBCT) = screening for viper coagulopathy")
add_bullet(doc, "IMAGE Q: Cobra hood mark = spectacles pattern on back of hood (Naja naja)")

add_heading(doc, "Master Antidotes Table (FMGE/NEET PG Favorite)", 2, "2E74B5")
add_simple_table(doc,
    ["Poison", "Antidote"],
    [
        ["Organophosphates (OP)", "Atropine + Pralidoxime (2-PAM)"],
        ["Carbon monoxide (CO)", "100% O2 / Hyperbaric O2"],
        ["Cyanide", "Hydroxocobalamin / Na thiosulfate + Na nitrite"],
        ["Methanol", "Ethanol / Fomepizole"],
        ["Ethylene glycol", "Fomepizole / Ethanol"],
        ["Paracetamol / Acetaminophen", "N-acetylcysteine (NAC) ⭐"],
        ["Morphine / Opioids", "Naloxone"],
        ["Benzodiazepines", "Flumazenil"],
        ["Heparin", "Protamine sulfate"],
        ["Warfarin", "Vitamin K / FFP"],
        ["Iron", "Deferoxamine"],
        ["Lead", "EDTA / DMSA"],
        ["Arsenic / Mercury", "BAL (Dimercaprol) / DMSA"],
        ["Digoxin", "Digoxin-specific Fab antibodies"],
        ["Organochlorines", "No specific antidote; supportive care"],
    ]
)
add_pyq(doc, '"Antidote for paracetamol poisoning?" β†’ N-acetylcysteine (FMGE 2021, NEET PG 2022, INICET 2022)')

page_break(doc)

# ═══════════════════════════════════════════════════════════════════════════════
# PAGE 5 β€” MEDICAL JURISPRUDENCE, LEGAL SECTIONS & IDENTIFICATION
# ═══════════════════════════════════════════════════════════════════════════════
add_heading(doc, "PAGE 5 β€” MEDICAL JURISPRUDENCE, LEGAL SECTIONS & IDENTIFICATION", 1, "1F4E79")

add_heading(doc, "IPC Sections β€” Must Know (PYQ Every Exam)", 2, "2E74B5")
add_simple_table(doc,
    ["Section", "Content"],
    [
        ["IPC 300", "Murder (culpable homicide amounting to murder)"],
        ["IPC 302", "Punishment for murder"],
        ["IPC 304A", "Death by negligence (NOT intentional) ⭐"],
        ["IPC 319–321", "Hurt and voluntarily causing hurt"],
        ["IPC 320", "Grievous hurt β€” 8 types (emasculation, eye, ear, loss of limb, fracture, dislocation, life-endangering, permanent disfigurement)"],
        ["IPC 375–376", "Rape and punishment"],
        ["IPC 377", "Unnatural sexual offences"],
        ["IPC 312–316", "Abortion-related offences"],
        ["IPC 80", "Accident β€” good faith, lawful act"],
        ["IPC 88", "Act in good faith for person's benefit"],
        ["Sec 174 CrPC", "Police inquest (non-medico-legal; sudden/suspicious death)"],
        ["Sec 176 CrPC", "MAGISTRATE inquest β€” mandatory for: dowry death, rape in custody, exhumation ⭐"],
        ["MTP Act Sec 3–5", "Medical termination of pregnancy provisions"],
    ]
)
add_pyq(doc, '"Section dealing with death by negligence?" β†’ IPC 304A (FMGE 2021, 2022, NEET PG 2023)')
add_pyq(doc, '"Magistrate inquest mandatory in?" β†’ Dowry death, rape in custody, hanging in prison, exhumation (INICET 2023)')

add_heading(doc, "Medical Negligence", 2, "2E74B5")
bullets_neg = [
    ("3 D's of Negligence: ", "Duty (doctor–patient relationship) + Dereliction (breach) + Damage (injury caused)"),
    ("Bolam's test: ", "Standard of care = what a reasonable competent professional would do ⭐"),
    ("Res Ipsa Loquitur: ", '"The thing speaks for itself" β€” negligence obvious from act alone (e.g., instrument left inside after surgery) ⭐'),
    ("Vicarious liability: ", "Employer liable for acts of employee"),
]
for bp, bt in bullets_neg:
    add_bullet(doc, bt, bold_prefix=bp)
add_pyq(doc, '"Standard of care test in medical negligence?" β†’ Bolam\'s test (NEET PG 2022, 2023)')
add_pyq(doc, '"Surgeon leaves mop inside abdomen β€” doctrine applied?" β†’ Res Ipsa Loquitur (FMGE 2023, INICET 2022)')

add_heading(doc, "Consent", 2, "2E74B5")
add_simple_table(doc,
    ["Type", "Definition"],
    [
        ["Expressed consent", "Written or verbal, explicit"],
        ["Implied consent", "Emergency situations, unconscious patient"],
        ["Informed consent", "Patient given full info about procedure, risks, alternatives"],
        ["Age for valid consent (India)", "18 years ⭐"],
        ["Therapeutic privilege", "Doctor may withhold info if revealing it would harm patient"],
    ]
)

add_heading(doc, "Identification β€” Age Estimation from Teeth (IMAGE Q)", 2, "2E74B5")
add_simple_table(doc,
    ["Age", "Dental Landmark"],
    [
        ["6 months", "1st deciduous incisors erupt"],
        ["2 years", "All 20 deciduous teeth complete"],
        ["6 years", "1st permanent molar + lower central incisor erupt"],
        ["12 years", "2nd permanent molar erupts"],
        ["18–25 years", "3rd molar / wisdom tooth (most variable) ⭐"],
    ]
)
bullets_id = [
    ("Gustafson's method: ", "Dental age estimation (6 criteria: Attrition, Periodontosis, Secondary dentin, Cementum apposition, Root resorption, Root transparency) β€” most accurate ⭐"),
    ("Subpubic angle: ", "Males <90Β° (narrow); Females >90Β° (wide) β†’ sex determination from pelvis"),
    ("Medial clavicle: ", "LAST bone to fuse (25 yrs) β†’ best for distinguishing <18 vs β‰₯18 yrs (LEGAL significance) ⭐"),
]
for bp, bt in bullets_id:
    add_bullet(doc, bt, bold_prefix=bp)
add_pyq(doc, '"X-ray shows unfused medial end of clavicle β€” age?" β†’ Below 25 years (NEET PG, INICET)')
add_pyq(doc, '"Gustafson\'s method used for?" β†’ Age estimation from teeth (FMGE 2022)')

add_heading(doc, "Infanticide & Neonaticide", 2, "2E74B5")
bullets_in = [
    ("Fetal viability (India, legally): ", "28 weeks ⭐ (WHO: 22–24 weeks)"),
    ("Hydrostatic lung test (Docimasia pulmonaris): ", "Lung floats if baby breathed; sinks if stillborn ⭐"),
    ("Limitation: ", "Putrefaction makes test unreliable"),
    ("Caput succedaneum: ", "Crosses suture lines (edema of scalp)"),
    ("Cephalohematoma: ", "Does NOT cross suture lines (blood between periosteum and skull) ⭐"),
]
for bp, bt in bullets_in:
    add_bullet(doc, bt, bold_prefix=bp)
add_pyq(doc, '"Test used to determine if newborn breathed after birth?" β†’ Hydrostatic lung test (FMGE 2021, 2023)')
add_pyq(doc, '"Fetal viability in India legally?" β†’ 28 weeks (FMGE every year)')

add_heading(doc, "Bhopal Gas Tragedy (Classic MCQ)", 2, "2E74B5")
bullets_bh = [
    ("Gas: ", "Methyl Isocyanate (MIC) β€” Union Carbide, 1984"),
    ("Acute effects: ", "ALL of: Respiratory distress + Pulmonary edema + Corneal opacities"),
    ("Late effect: ", "Pulmonary fibrosis ⭐"),
    ("Mechanism: ", "Chemical irritation of respiratory tract"),
]
for bp, bt in bullets_bh:
    add_bullet(doc, bt, bold_prefix=bp)

add_heading(doc, "Best Biological Specimens for Toxicology", 2, "2E74B5")
add_simple_table(doc,
    ["Test / Purpose", "Best Sample"],
    [
        ["Blood alcohol (antemortem)", "Peripheral blood (femoral vein preferred over cardiac)"],
        ["Blood alcohol (postmortem)", "Vitreous humor ⭐ (resistant to putrefaction)"],
        ["Drug screening", "Urine"],
        ["Recent ingestion", "Gastric contents"],
        ["Metals / arsenic / chronic poisoning", "Hair, nail, bone"],
        ["Confirm antemortem drowning", "Bone marrow (diatom test) ⭐"],
    ]
)

doc.add_paragraph()
add_heading(doc, "TOP 20 IMAGE-BASED Q TRIGGERS β€” FMT", 2, "C00000")
image_triggers = [
    "Cherry-red lividity = CO poisoning ⭐⭐⭐",
    "Chocolate/brown lividity = Nitrites / metHb formers",
    "Pale contact patches in lividity = body position post-death (contact flattening)",
    "Petechial hemorrhages in conjunctiva = asphyxia (hanging / strangulation / drowning)",
    "Frothy pink discharge at nostrils = drowning",
    "Small inverted hole with abrasion collar = gunshot ENTRY wound",
    "Large everted irregular wound, no collar = gunshot EXIT wound",
    "Tattooing / stippling around wound = intermediate range gunshot",
    "Star-shaped wound = contact range gunshot",
    "Parallel cuts on forearm/palm (defense wounds) = homicidal stab",
    "Oblique, non-encircling ligature mark = HANGING",
    "Horizontal, encircling ligature mark = LIGATURE STRANGULATION",
    "Crescentic nail marks on neck = manual strangulation (throttling)",
    "Green discoloration of abdomen = early putrefaction",
    "Waxy, firm preserved body tissue = adipocere",
    "Dry, shrunken, hard preserved body = mummification",
    "Pale, wrinkled hands = washerwoman's hands (drowning)",
    "Branching greenish-black skin network = marbling (advanced putrefaction)",
    "Pinpoint pupils (miosis) = OP poisoning / morphine",
    "Spectacles hood mark on snake = Cobra (Naja naja)",
]
for i, t in enumerate(image_triggers, 1):
    add_bullet(doc, f"{i}. {t}")

doc.add_paragraph()
add_heading(doc, "MOST REPEATED SINGLE-LINERS (2021–2026)", 2, "2E74B5")
oneliners = [
    "Rigor mortis mechanism = ATP depletion β†’ actin-myosin fusion",
    "First muscle to show rigor = heart (within 1 hr after death)",
    "Drowning gold standard = Diatom test",
    "Rape β€” spermatozoa motile in vagina for = 6 hours",
    "Age of consent = 18 years",
    "Last bone to ossify = Medial clavicle (25 yrs)",
    "Gustafson's method = dental age estimation",
    "Viability of fetus in India = 28 weeks",
    "Hydrostatic lung test = Docimasia pulmonaris",
    "Best PM alcohol sample = Vitreous humor",
    "OP poisoning antidote = Atropine + Pralidoxime",
    "CO poisoning antidote = Hyperbaric O2",
    "Paracetamol antidote = N-acetylcysteine",
    "Cyanide inhibits = Cytochrome oxidase",
    "Methanol causes = Blindness (optic nerve) + metabolic acidosis",
    "Ethylene glycol = Oxalate crystals + renal failure",
    "2-finger test = BANNED (Supreme Court of India)",
    "Res Ipsa Loquitur = instrument left in body / obvious negligence",
    "Bolam's test = standard of care for medical negligence",
    "IPC 304A = death by negligence",
    "Magistrate inquest = dowry death / rape in custody / exhumation",
    "Bhopal tragedy gas = Methyl Isocyanate (MIC)",
    "Contact range gunshot = star-shaped wound + muzzle imprint",
    "Caput succedaneum = crosses sutures; Cephalohematoma = does NOT cross sutures",
]
for ol in oneliners:
    add_bullet(doc, ol)

# ── Footer note ──────────────────────────────────────────────────────────────
doc.add_paragraph()
footer_p = doc.add_paragraph()
footer_p.alignment = WD_ALIGN_PARAGRAPH.CENTER
fr = footer_p.add_run(
    "Sources: Parikh's FMT | Dikshit's FMT | Essentials of FMT 36th ed. (2026)  β€’  Compiled for FMGE / NEET PG / INICET"
)
fr.font.size = Pt(8)
fr.font.color.rgb = RGBColor(0x70, 0x70, 0x70)
fr.italic = True

# ── Save ─────────────────────────────────────────────────────────────────────
out_path = "/tmp/workspace/fmt-notes/FMT_LastMinute_Notes_FMGE_NEETPG_INICET.docx"
doc.save(out_path)
print(f"Saved: {out_path}")
Running Command

cd /tmp/workspace/fmt-notes && python build_fmt.py 2>&1

Running Command

python3 -c " from docx import Document doc = Document('/tmp/workspace/fmt-notes/FMT_LastMinute_Notes_FMGE_NEETPG_INICET.docx') headings = [p.text for p in doc.paragraphs if p.style.name.startswith('Heading')] print(f'Total paragraphs: {len(doc.paragraphs)}') print(f'Total tables: {len(doc.tables)}') print('Headings found:') for h in headings[:30]: print(' -', h) import os size = os.path.getsize('/tmp/workspace/fmt-notes/FMT_LastMinute_Notes_FMGE_NEETPG_INICET.docx') print(f'File size: {size} bytes ({size//1024} KB)') "

Your Word document is ready - verified with 217 paragraphs, 14 tables, and all 30 section headings correctly structured.

FMT LastMinute Notes FMGE NEETPG INICET

Word Document Β· DOCX

What's inside the DOCX:
  • Title page with exam targets (FMGE / NEET PG / INICET)
  • 5 full pages with blue-themed headings, colored section titles, and print-friendly narrow margins
  • 14 formatted tables - PM changes, hypostasis colors, wound types, firearm wounds, hanging vs strangulation, antidotes, IPC sections, consent, age estimation teeth, specimen collection, and more
  • All PYQs highlighted in red with exam source and year (2021-2026)
  • IMAGE Q triggers called out in bold red throughout
  • Top 20 image-based Q triggers as a quick-reference list
  • 25 must-know single-liners at the end for final 10-minute revision
Open in MS Word or Google Docs and print directly - the narrow margins (0.75") are optimized to keep it to ~5 pages on A4. Good luck! 🎯

Create flashcards (PowerPoint) of top 100 FMT MCQs from past 5 years

Reading File
Reading File
Writing File

~/fmt-notes/build_flashcards.py

from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.oxml.ns import qn
from pptx.oxml import OxmlElement
from io import BytesIO

# ═══════════════════════════════════════════════════════════════════════
# 100 FMT MCQs  β€”  (Question, [Options], CorrectIndex 0-based, Explanation, Exam/Year, Topic)
# ═══════════════════════════════════════════════════════════════════════
MCQS = [
    # ── THANATOLOGY ────────────────────────────────────────────────────
    ("A drowning victim is found with hand tightly clenching weeds. This is an example of:",
     ["Rigor mortis", "Cadaveric spasm", "Primary relaxation", "Livor mortis"],
     1, "Cadaveric spasm occurs at the moment of death with no primary relaxation phase. It is seen in violent deaths, drowning, and gunshot to brain. It helps identify the manner of holding a weapon.",
     "FMGE 2022 / NEET PG 2021", "Thanatology"),

    ("Rigor mortis appears first in which structure after death?",
     ["Jaw muscles", "Neck muscles", "Heart", "Limb muscles"],
     2, "Rigor mortis appears first in involuntary muscles β€” the HEART (within 1 hour). In voluntary muscles it follows Nysten's law: jaw β†’ neck β†’ face β†’ trunk β†’ limbs.",
     "FMGE 2023 / INICET 2022", "Thanatology"),

    ("The mechanism of rigor mortis involves:",
     ["Increase in ATP", "Depletion of ATP β†’ actin-myosin fusion", "Increased glycogen", "Nerve stimulation"],
     1, "After death, ATP is depleted. Without ATP, myosin cannot detach from actin, forming a rigid actomyosin complex (stiff dehydrated gel). This is rigor mortis.",
     "NEET PG 2022 / FMGE 2023", "Thanatology"),

    ("PM hypostasis is cherry-red in which poisoning?",
     ["Nitrite poisoning", "Carbon monoxide poisoning", "Cyanide poisoning", "Phosphorus poisoning"],
     1, "CO binds Hb forming carboxyhemoglobin (COHb) β†’ cherry-red colour. Cyanide β†’ bright red. Nitrites/aniline β†’ chocolate brown. Phosphorus β†’ dark brown/yellow.",
     "FMGE 2021 / 2023, INICET 2022", "Thanatology"),

    ("PM lividity is absent over pressure points because of:",
     ["Bruising", "Contact flattening", "Decomposition", "Algor mortis"],
     1, "Contact flattening β€” pressure from the surface prevents blood pooling in those areas, leaving pale patches. This confirms the body position at the time of death.",
     "NEET PG 2022", "Thanatology"),

    ("Which of the following is the BEST test to confirm antemortem drowning?",
     ["Hydrostatic lung test", "Diatom test", "Gettler's test", "PM X-ray"],
     1, "Diatom test (finding diatoms in bone marrow and internal organs) is the gold standard for confirming antemortem drowning. Diatoms from the drowning medium enter circulation only if the heart was beating.",
     "FMGE 2021, NEET PG 2023", "Drowning"),

    ("Adipocere formation involves:",
     ["Mummification of tissues", "Saponification of fat in moist conditions", "Desiccation in hot dry climates", "Bacterial putrefaction"],
     1, "Adipocere = saponification of body fat in wet/moist conditions. The body is converted into a soap-like waxy mass. It helps estimate time since death and is stable for years.",
     "FMGE 2022, INICET 2023", "Thanatology"),

    ("The color of PM hypostasis in nitrite and chlorate poisoning is:",
     ["Cherry-red", "Bright red", "Chocolate/brownish-red", "Yellow"],
     2, "Nitrites, chlorates, aniline, nitrobenzene cause methemoglobin formation β†’ chocolate or brownish-red PM lividity. CO β†’ cherry-red. Cyanide β†’ bright red.",
     "NEET PG 2023, FMGE 2022", "Thanatology"),

    ("Cadaveric spasm is different from rigor mortis in that:",
     ["It involves only involuntary muscles", "There is no primary flaccidity preceding it", "It occurs after 6 hours", "It is due to lactic acid accumulation"],
     1, "Cadaveric spasm (instantaneous rigor) has NO primary relaxation/flaccidity phase. It occurs at the instant of death due to sudden discharge of nerve energy, unlike true rigor which develops gradually.",
     "NEET PG 2022, INICET 2023", "Thanatology"),

    ("Best postmortem sample for alcohol estimation is:",
     ["Peripheral blood", "Cardiac blood", "Vitreous humor", "Gastric contents"],
     2, "Vitreous humor is the best PM sample for alcohol estimation β€” it is enclosed, protected from putrefaction, resistant to contamination, and reflects antemortem blood alcohol levels accurately.",
     "FMGE 2023, NEET PG 2022", "Toxicology"),

    # ── INJURIES / WOUNDS ──────────────────────────────────────────────
    ("Which wound is characterized by depth greater than width?",
     ["Incised wound", "Laceration", "Stab wound", "Chop wound"],
     2, "Stab wound: depth > breadth/width, caused by a pointed weapon. Incised wound: length > depth. Laceration: irregular ragged margins with tissue bridges. Chop wound: deep, bone involvement.",
     "NEET PG 2023, FMGE 2024", "Injuries"),

    ("Tissue bridges are seen in which type of wound?",
     ["Incised wound", "Stab wound", "Laceration", "Firearm wound"],
     2, "Laceration from blunt force has ragged irregular margins with TISSUE BRIDGES (nerves, vessels, connective tissue crossing the wound). Incised and stab wounds have clean-cut margins with no tissue bridges.",
     "FMGE 2022, 2024, NEET PG 2022", "Injuries"),

    ("Defense wounds are most commonly seen on:",
     ["Chest", "Back", "Forearm and palm", "Scalp"],
     2, "Defense wounds β€” incised/stab wounds on forearm, dorsum of hand, and palm β€” occur when a victim tries to protect themselves from an attack. Their presence strongly suggests homicide.",
     "NEET PG 2021, INICET 2023", "Injuries"),

    ("Abrasion collar (grease collar) is a feature of:",
     ["Exit wound of gunshot", "Entry wound of gunshot", "Laceration", "Stab wound"],
     1, "Abrasion collar (grease collar) is the abraded ring of skin around the ENTRY wound of a gunshot. It is caused by the bullet rotating as it enters, stripping off the epidermis. NOT seen in exit wounds.",
     "FMGE 2021, 2023, NEET PG 2022", "Firearm Injuries"),

    ("In a contact range gunshot wound, the wound is typically:",
     ["Small clean punched-out hole", "Star-shaped / cruciform", "Oval with abrasion collar only", "Large with everted margins"],
     1, "At contact range, expanding gases from the barrel tear the skin β†’ star-shaped or cruciform wound. Also: blackening, singeing, muzzle imprint, and inverted margins are seen.",
     "INICET 2022, FMGE 2023", "Firearm Injuries"),

    ("Exit wound of a gunshot is characterized by:",
     ["Smaller size, inverted margins, abrasion collar", "Larger size, everted margins, no abrasion collar", "Tattooing, singeing, muzzle imprint", "Clean punched-out hole with grease collar"],
     1, "Exit wound: LARGER, everted/irregular margins, NO abrasion collar, NO blackening/tattooing. Entry wound: smaller, inverted, abrasion collar present, blackening possible.",
     "NEET PG 2021, FMGE 2022", "Firearm Injuries"),

    ("Stippling / tattooing around a gunshot wound indicates:",
     ["Contact range", "Intermediate range", "Distant range", "Exit wound"],
     1, "Stippling / tattooing (unburnt powder grain marks) on skin around the wound indicates INTERMEDIATE range (approx 15–60 cm). Contact β†’ blackening+muzzle imprint. Distant β†’ clean abrasion collar only.",
     "NEET PG 2024, INICET 2022", "Firearm Injuries"),

    ("Ring fracture in skull is caused by:",
     ["Direct blow to head", "Fall from height landing on feet/buttocks", "Contre-coup mechanism", "Child abuse"],
     1, "Ring fracture encircles the foramen magnum and results from a fall from height with landing on feet, buttocks or head β€” force transmitted upward through spine fractures the base of skull around foramen magnum.",
     "NEET PG 2023, FMGE 2022", "Injuries"),

    ("Contre-coup injury refers to:",
     ["Injury at the point of impact", "Injury at a site opposite to the point of impact", "Injury along fracture lines", "Multiple fractures at sutures"],
     1, "Contre-coup injury = brain injury at the site OPPOSITE to the point of impact. Due to the brain rebounding inside the skull. Classic in falls where the back of the head hits the ground but brain injury is frontal.",
     "NEET PG 2023, FMGE 2022", "Head Injuries"),

    ("The color of a bruise at 7+ days is:",
     ["Red/blue", "Blue/purple", "Green", "Yellow/brown"],
     3, "Bruise color progression: Fresh (1–2 days) = red/blue β†’ Day 2–3 = blue/purple β†’ Day 4–5 = green β†’ Day 7+ = yellow/brown (due to hemoglobin breakdown to hemosiderin and bilirubin).",
     "FMGE 2022, NEET PG 2022", "Injuries"),

    # ── ASPHYXIA ───────────────────────────────────────────────────────
    ("Tardieu spots are:",
     ["Petechial hemorrhages seen in asphyxial deaths", "Contact flattening in lividity", "Bruises from throttling", "Burns from ligature"],
     0, "Tardieu spots = subpleural, sub-conjunctival, epicardial petechial hemorrhages due to raised venous pressure in asphyxia. Seen in hanging, strangulation, drowning. Classic IMAGE-based Q.",
     "INICET 2023, NEET PG 2021", "Asphyxia"),

    ("A horizontal complete ligature mark below the thyroid cartilage is most consistent with:",
     ["Suicidal hanging", "Judicial hanging", "Ligature strangulation", "Manual strangulation"],
     2, "Ligature strangulation: mark is HORIZONTAL, COMPLETE/encircling, at or BELOW thyroid cartilage. Hanging: OBLIQUE, incomplete (goes up toward the knot point), ABOVE thyroid cartilage.",
     "FMGE 2022, NEET PG 2024", "Asphyxia"),

    ("Judicial (long-drop) hanging causes death primarily by:",
     ["Asphyxia", "Venous congestion", "Fracture-dislocation at C2-C3 (Hangman's fracture)", "Carotid sinus reflex"],
     2, "Judicial hanging with long-drop causes fracture-dislocation of C2–C3 (Hangman's fracture) β†’ immediate spinal cord transection β†’ instantaneous death. Short-drop hanging β†’ asphyxia + venous obstruction.",
     "INICET 2022, NEET PG 2023", "Asphyxia"),

    ("Diatom test is used to diagnose:",
     ["Carbon monoxide poisoning", "Antemortem drowning", "Strangulation", "Firearm injury"],
     1, "Diatom test: diatoms (microscopic algae with silica shells) enter circulation only when the heart is beating during drowning. Finding diatoms in bone marrow/liver/brain confirms ANTEMORTEM drowning.",
     "FMGE 2021, NEET PG 2023", "Drowning"),

    ("Emphysema aquosum is a PM finding in:",
     ["Hanging", "Drowning", "CO poisoning", "Electrocution"],
     1, "Emphysema aquosum = waterlogged, over-distended lungs in wet drowning. Lungs appear pale, voluminous, with frothy pink fluid on cut section. Paltauf's hemorrhages (bluish-red patches) may also be seen.",
     "NEET PG 2022, FMGE 2023", "Drowning"),

    ("In manual strangulation (throttling), the characteristic finding is:",
     ["Oblique ligature mark", "Fracture of hyoid bone + crescentic nail marks on neck", "Ring fracture of skull", "Washerwoman's hands"],
     1, "Manual strangulation features: crescentic bruises from fingernails, fingertip bruises on neck, possible fracture of thyroid cartilage/hyoid bone (especially in older persons). No ligature mark.",
     "FMGE 2023, NEET PG 2022", "Asphyxia"),

    # ── SEXUAL OFFENCES ────────────────────────────────────────────────
    ("The age of consent for sexual intercourse in India is:",
     ["14 years", "16 years", "18 years", "21 years"],
     2, "The age of consent in India is 18 years (as per IPC Section 375 as amended in 2013 and POCSO Act 2012). Sex with a person below 18 years even with consent = statutory rape.",
     "FMGE 2021, 2022, 2023, 2024", "Sexual Offences"),

    ("The two-finger test in rape examination has been:",
     ["Mandated by Supreme Court", "Banned as unscientific and derogatory by Supreme Court of India", "Recommended in all cases <18 years", "Replaced by colposcopy only in AIIMS"],
     1, "The Supreme Court of India banned the two-finger test in 2022 (Lillu @ Rajesh v. State of Haryana). It is unscientific, unreliable, and re-traumatizes the victim. Colposcopy is the preferred tool.",
     "NEET PG 2023, INICET 2024", "Sexual Offences"),

    ("Spermatozoa remain motile in the vagina for approximately:",
     ["30 minutes", "3 hours", "6 hours", "24 hours"],
     2, "Spermatozoa are motile in the vagina for UP TO 6 HOURS. Non-motile spermatozoa can be detected for up to 72 hours. This guides the timing of examination in rape cases.",
     "NEET PG 2021, FMGE 2022", "Sexual Offences"),

    ("POCSO Act 2012 applies to sexual offences against persons below:",
     ["12 years", "16 years", "18 years", "21 years"],
     2, "POCSO (Protection of Children from Sexual Offences) Act 2012 protects persons below 18 years. Any sexual act with a person <18 years is an offence regardless of consent.",
     "FMGE 2022, INICET 2023", "Sexual Offences"),

    # ── TOXICOLOGY: OP & NERVE AGENTS ──────────────────────────────────
    ("Treatment of organophosphorus poisoning includes all EXCEPT:",
     ["Atropine", "Pralidoxime", "Succinylcholine", "Diazepam for seizures"],
     2, "Succinylcholine is CONTRAINDICATED in OP poisoning β€” its metabolism requires pseudocholinesterase, which is inhibited by OPs, leading to prolonged neuromuscular blockade and respiratory failure.",
     "FMGE 2021, 2022, 2023, NEET PG every year", "Toxicology"),

    ("Pralidoxime (2-PAM) works by:",
     ["Blocking muscarinic receptors", "Reactivating acetylcholinesterase", "Inhibiting acetylcholine release", "Blocking nicotinic receptors"],
     1, "Pralidoxime (2-PAM) reactivates acetylcholinesterase (AChE) by displacing the organophosphate from the enzyme. It must be given EARLY β€” after 'aging' (irreversible binding), it becomes ineffective.",
     "INICET 2022, NEET PG 2023", "Toxicology"),

    ("The classic pupil finding in organophosphorus poisoning is:",
     ["Mydriasis (dilated)", "Miosis (pinpoint)", "Unequal pupils", "Normal pupils"],
     1, "Miosis (pinpoint pupils) is the classic muscarinic feature of OP poisoning due to excess acetylcholine stimulating the sphincter pupillae. This is a key IMAGE Q clue alongside salivation and lacrimation.",
     "FMGE 2022, NEET PG 2022", "Toxicology"),

    ("Carbon monoxide has an affinity for hemoglobin that is approximately:",
     ["10 times that of O2", "50 times that of O2", "240 times that of O2", "500 times that of O2"],
     2, "CO has 240Γ— the affinity for hemoglobin compared to O2. It forms carboxyhemoglobin (COHb), reducing O2-carrying capacity and causing cellular hypoxia despite normal PaO2.",
     "NEET PG 2022, FMGE 2023", "Toxicology"),

    ("The best treatment for severe carbon monoxide poisoning is:",
     ["Room air", "100% O2 via non-rebreather mask", "Hyperbaric oxygen therapy", "Activated charcoal"],
     2, "Hyperbaric oxygen (HBO) at 2–3 atmospheres is the BEST treatment for severe CO poisoning. It rapidly displaces CO from Hb, reduces COHb half-life from ~5 hours to ~20 minutes.",
     "NEET PG 2023, INICET 2023", "Toxicology"),

    ("A late neurological complication occurring weeks after recovery from CO poisoning is called:",
     ["Wernicke's encephalopathy", "Delayed neuropsychiatric syndrome", "Korsakoff's psychosis", "CO dementia"],
     1, "Delayed neuropsychiatric syndrome (DNS) occurs in 10–30% of severe CO poisoning survivors, appearing days to weeks after apparent recovery. Features: memory loss, personality change, parkinsonism.",
     "NEET PG 2023, INICET 2023", "Toxicology"),

    ("Cyanide poisoning inhibits which enzyme?",
     ["Acetylcholinesterase", "Carbonic anhydrase", "Cytochrome c oxidase (Complex IV)", "Monoamine oxidase"],
     2, "Cyanide inhibits cytochrome c oxidase (Complex IV of mitochondrial electron transport chain) β†’ histotoxic/cytotoxic anoxia β€” cells cannot use O2 despite normal O2 delivery. Venous blood stays bright red.",
     "FMGE 2022, NEET PG 2021", "Toxicology"),

    ("Antidote for cyanide poisoning includes all EXCEPT:",
     ["Hydroxocobalamin", "Sodium thiosulfate", "Sodium nitrite", "N-acetylcysteine"],
     3, "N-acetylcysteine is the antidote for PARACETAMOL, not cyanide. Cyanide antidotes: Hydroxocobalamin (preferred), Sodium thiosulfate + Sodium nitrite (Dicobalt edetate in UK).",
     "NEET PG 2022, INICET 2022", "Toxicology"),

    ("Methanol (wood alcohol) causes toxicity mainly due to formation of:",
     ["Acetaldehyde", "Formic acid β†’ optic nerve damage", "Oxalic acid β†’ renal damage", "Chloroacetaldehyde"],
     1, "Methanol β†’ formaldehyde (by ADH) β†’ formic acid (by ALDH). Formic acid causes metabolic acidosis and optic nerve/retinal toxicity β†’ blindness. Antidote: Fomepizole or Ethanol (competes for ADH).",
     "NEET PG 2023, FMGE 2022", "Toxicology"),

    ("Ethylene glycol poisoning characteristically causes:",
     ["Cherry-red lividity", "Pulmonary edema only", "Calcium oxalate crystals in urine and acute kidney injury", "Optic nerve damage and blindness"],
     2, "Ethylene glycol β†’ glycolic acid β†’ oxalic acid β†’ calcium oxalate crystals β†’ AKI. Classically presents with: apparent intoxication, metabolic acidosis, oxalate crystalluria, renal failure. Antidote: Fomepizole / Ethanol.",
     "NEET PG 2022, INICET 2023", "Toxicology"),

    ("The antidote for paracetamol (acetaminophen) poisoning is:",
     ["Atropine", "Naloxone", "N-acetylcysteine", "Flumazenil"],
     2, "N-acetylcysteine (NAC) is the antidote for paracetamol poisoning. It replenishes hepatic glutathione, which detoxifies the toxic metabolite NAPQI. Most effective within 8–10 hours of ingestion.",
     "FMGE 2021, NEET PG 2022, INICET 2022", "Toxicology"),

    ("The legal blood alcohol limit for driving in India (as amended) is:",
     ["80 mg/100 mL", "30 mg/100 mL", "50 mg/100 mL", "100 mg/100 mL"],
     1, "India's Motor Vehicles Act (amended) sets the legal blood alcohol limit for driving at 30 mg per 100 mL blood. The older limit of 80 mg/100 mL was revised down to 30 mg/100 mL.",
     "FMGE 2022, NEET PG 2023", "Toxicology"),

    ("The Bhopal gas tragedy (1984) was caused by leakage of:",
     ["Chlorine gas", "Phosgene", "Methyl isocyanate (MIC)", "Hydrogen cyanide"],
     2, "Methyl isocyanate (MIC) leaked from Union Carbide plant in Bhopal. Effects: respiratory distress, pulmonary edema, corneal opacities. Late: pulmonary fibrosis. Mechanism: chemical irritation of respiratory tract.",
     "FMGE 2022, NEET PG 2021, INICET 2023", "Toxicology"),

    ("The neurotoxic snakes in India include:",
     ["Russell's viper and saw-scaled viper", "Cobra and krait", "Sea snake and Russell's viper", "Cobra and saw-scaled viper"],
     1, "Cobra (Naja naja) and Krait (Bungarus caeruleus) are the neurotoxic snakes β€” they cause respiratory paralysis, ptosis, diplopia, descending paralysis. Krait bites are painless and nocturnal.",
     "FMGE 2021, NEET PG 2022", "Toxicology"),

    ("Antidote for heparin overdose is:",
     ["Vitamin K", "Protamine sulfate", "FFP", "Tranexamic acid"],
     1, "Protamine sulfate neutralizes heparin (1 mg protamine per 100 units heparin). Warfarin β†’ Vitamin K + FFP. Dabigatran β†’ Idarucizumab. LMWH β†’ Protamine (partial reversal).",
     "NEET PG 2022, FMGE 2023", "Toxicology"),

    ("Antidote for lead poisoning is:",
     ["BAL (Dimercaprol)", "EDTA / DMSA", "Deferoxamine", "N-acetylcysteine"],
     1, "EDTA (CaNa2EDTA) or DMSA (Dimercaptosuccinic acid / Succimer) are used for lead poisoning. BAL (Dimercaprol) is used for arsenic, mercury, and gold. Deferoxamine = iron.",
     "NEET PG 2023, FMGE 2022", "Toxicology"),

    # ── MEDICAL JURISPRUDENCE ──────────────────────────────────────────
    ("IPC Section 304A deals with:",
     ["Murder", "Culpable homicide not amounting to murder", "Death caused by negligence (not intentional)", "Grievous hurt"],
     2, "IPC 304A: 'Causing death by negligence' β€” applies when death is caused by a rash or negligent act NOT amounting to culpable homicide. Relevant in medical negligence cases. Punishable by up to 2 years + fine.",
     "FMGE 2021, 2022, NEET PG 2023", "Medical Jurisprudence"),

    ("Bolam's test in medical negligence refers to:",
     ["Proof of malicious intent", "Standard of care = what a reasonable competent professional would do", "The patient's subjective expectations", "Financial compensation formula"],
     1, "Bolam's test (Bolam v. Friern Hospital, 1957): A doctor is NOT negligent if they acted in accordance with a practice accepted by a responsible body of medical professionals β€” even if others disagree.",
     "NEET PG 2022, 2023, FMGE 2023", "Medical Jurisprudence"),

    ("'Res Ipsa Loquitur' in medical negligence means:",
     ["The patient always wins", "The thing speaks for itself β€” negligence is obvious from the act alone", "The doctor's intent is presumed malicious", "A second opinion is required"],
     1, "Res Ipsa Loquitur ('the thing speaks for itself') applies when the negligence is so obvious that it requires no expert testimony β€” e.g., wrong-site surgery, instrument left inside body after surgery.",
     "FMGE 2023, INICET 2022, NEET PG 2023", "Medical Jurisprudence"),

    ("Magistrate inquest (Section 176 CrPC) is mandatory in all EXCEPT:",
     ["Dowry death within 5 years of marriage", "Exhumation of a buried body", "Death in police custody", "Road traffic accident death"],
     3, "Magistrate inquest is mandatory for: dowry death (within 7 yrs), rape in custody, death in police custody/prison, exhumation, death of female within 5 years of marriage. RTA deaths require only police inquest (Sec 174).",
     "INICET 2023, NEET PG 2022", "Medical Jurisprudence"),

    ("The doctrine of 'Vicarious liability' means:",
     ["A witness is liable for false testimony", "An employer is liable for the negligent acts of their employee", "The patient assumes risk of treatment", "A doctor is protected by Good Samaritan law"],
     1, "Vicarious liability: An employer (e.g., hospital) is liable for negligent acts of their employee (e.g., nurse, junior doctor) carried out in the course of employment. Also called respondeat superior.",
     "NEET PG 2022, INICET 2022", "Medical Jurisprudence"),

    ("Age of valid consent for medical procedures in India is:",
     ["12 years", "16 years", "18 years", "21 years"],
     2, "In India, the age of valid consent for medical procedures is 18 years. For minors (<18), consent must be obtained from parents/guardians. Emergency care can be given without consent under implied consent doctrine.",
     "FMGE every year", "Medical Jurisprudence"),

    ("IPC Section 375 deals with:",
     ["Hurt", "Rape", "Grievous hurt", "Murder"],
     1, "IPC Section 375 defines rape. Section 376 = punishment for rape. Section 377 = unnatural sexual offences. Section 320 = grievous hurt. Section 300 = murder. Section 319 = hurt.",
     "FMGE 2022, NEET PG 2021", "Medical Jurisprudence"),

    ("The 3 Ds of medical negligence are:",
     ["Diagnosis, Drug, Documentation", "Duty, Dereliction, Damage", "Death, Disease, Disability", "Doctor, Defendant, Damages"],
     1, "The 3 Ds: DUTY (doctor-patient relationship exists) + DERELICTION (breach of that duty β€” failure to meet standard of care) + DAMAGE (harm/injury directly caused by the breach).",
     "NEET PG 2023, FMGE 2023", "Medical Jurisprudence"),

    ("IPC Section 320 describes grievous hurt. Which of the following is NOT included?",
     ["Emasculation", "Permanent disfigurement of face", "Simple abrasion", "Fracture of a bone"],
     2, "Simple abrasion is only 'hurt' (Sec 319), NOT grievous hurt. Sec 320 lists 8 kinds: emasculation, permanent eye/ear damage, loss of member, fracture, dislocation, life-endangering injury, permanent facial disfigurement.",
     "FMGE 2022, INICET 2022", "Medical Jurisprudence"),

    # ── IDENTIFICATION ─────────────────────────────────────────────────
    ("Gustafson's method is used for:",
     ["Sex determination from pelvis", "Race determination", "Age estimation from teeth", "Height estimation from long bones"],
     2, "Gustafson's method uses 6 dental criteria: Attrition, Periodontosis, Secondary dentin, Cementum apposition, Root resorption, Root transparency. It is the most accurate method for age estimation from teeth.",
     "FMGE 2022, NEET PG 2023", "Identification"),

    ("The last bone epiphysis to fuse in the human body is the:",
     ["Lower end of femur", "Upper end of humerus", "Medial end of clavicle", "Lower end of radius"],
     2, "Medial end (sternal end) of clavicle is the LAST epiphysis to fuse β€” at 25 years. This has important medico-legal significance for determining age β‰₯18 years in forensic cases.",
     "NEET PG, INICET multiple years", "Identification"),

    ("In sex determination from pelvis, the subpubic angle in females is:",
     ["Less than 60Β°", "Less than 90Β°", "Greater than 90Β°", "Equal to 90Β°"],
     2, "Subpubic angle: MALES <90Β° (narrow, V-shaped). FEMALES >90Β° (wide, U-shaped). Other female features: wider pelvis, rounder pelvic inlet, obtuse sciatic notch (>68Β°).",
     "NEET PG 2022, FMGE 2022", "Identification"),

    ("All 20 deciduous (milk) teeth are complete by age:",
     ["6 months", "1 year", "2 years", "3 years"],
     2, "All 20 deciduous teeth complete by age 2 years. First deciduous incisor at 6 months. First permanent molar at 6 years. Third molar (wisdom tooth) at 18–25 years.",
     "FMGE 2022, NEET PG 2021", "Identification"),

    # ── INFANTICIDE ────────────────────────────────────────────────────
    ("Legal definition of fetal viability in India is:",
     ["20 weeks", "24 weeks", "28 weeks", "32 weeks"],
     2, "In India, fetal viability is legally defined as 28 weeks (7 months). WHO defines it as 22–24 weeks. Killing of a viable fetus constitutes infanticide under IPC.",
     "FMGE every year, NEET PG 2022", "Infanticide"),

    ("The hydrostatic (docimasia) lung test is done to determine:",
     ["Cause of drowning", "Whether a newborn breathed after birth (live birth)", "Age of fetus", "PM interval"],
     1, "Docimasia pulmonaris (hydrostatic lung test): lungs FLOAT if the baby breathed (air-filled alveoli), SINK if stillborn. However it is unreliable in putrefaction and can be falsified by artificial respiration.",
     "FMGE 2021, 2023, NEET PG 2022", "Infanticide"),

    ("Caput succedaneum differs from cephalohematoma in that:",
     ["Caput succedaneum does not cross suture lines", "Caput succedaneum CROSSES suture lines; cephalohematoma does NOT", "They are both subperiosteal", "They are both confined to one bone"],
     1, "Caput succedaneum = scalp edema (subcutaneous), CROSSES suture lines, resolves in days. Cephalohematoma = blood between periosteum and skull, does NOT cross sutures, confined to one bone, resolves in weeks.",
     "NEET PG 2023, FMGE 2022, INICET 2022", "Infanticide"),

    # ── MEDICO-LEGAL SECTIONS ──────────────────────────────────────────
    ("Under IPC Section 80, a medical act done in good faith causing accidental harm is:",
     ["Punishable as grievous hurt", "Not an offence", "Punishable only if negligent", "A case of vicarious liability"],
     1, "IPC Section 80: Accident in doing a lawful act β€” nothing is an offence if done by accident/misfortune in good faith while performing a lawful act. Provides protection for bona fide medical acts.",
     "FMGE 2023, NEET PG 2021", "Medical Jurisprudence"),

    ("The Medical Termination of Pregnancy (MTP) Act Section 3 allows termination up to:",
     ["12 weeks (on request); 20 weeks (opinion of 2 doctors)", "20 weeks (on request); 24 weeks for special categories", "24 weeks maximum in all cases", "No upper limit for fetal abnormalities"],
     1, "MTP Act (amended 2021): Up to 20 weeks on opinion of ONE registered medical practitioner. 20–24 weeks for special categories (rape, minors, fetal abnormalities) needs TWO practitioners. Court order for beyond 24 weeks.",
     "NEET PG 2022, INICET 2023", "Medical Jurisprudence"),

    # ── ELECTROCUTION ──────────────────────────────────────────────────
    ("Joule burn (crocodile skin) is seen in:",
     ["Chemical burns", "Electrocution at point of contact", "Radiation burns", "Lightning injury"],
     1, "Joule burn = entry burn of electrocution at the point of contact with current. It appears as a yellowish-white, firm, charred lesion with puckered/crocodile skin appearance. Characteristic of high-voltage injury.",
     "NEET PG 2022, FMGE 2023", "Electrocution"),

    # ── THERMAL INJURIES ───────────────────────────────────────────────
    ("A burn involving epidermis and dermis with intact hair follicles and sensation is classified as:",
     ["Superficial (1st degree)", "Superficial partial thickness (2nd degree)", "Deep partial thickness (2nd degree)", "Full thickness (3rd degree)"],
     1, "Superficial partial thickness (superficial 2nd degree): involves epidermis + superficial dermis; blisters present, moist, painful (sensation intact), hair follicles intact, heals in 14–21 days without grafting.",
     "NEET PG 2023, FMGE 2022", "Thermal Injuries"),

    ("In a burn case, the rule of nines assigns what percentage to the head and neck in an adult?",
     ["18%", "9%", "4.5%", "1%"],
     1, "Rule of Nines (Wallace): Head+Neck = 9%, Each arm = 9%, Each leg = 18%, Front trunk = 18%, Back trunk = 18%, Perineum = 1%. Total = 100%. Different in children (Lund-Browder chart).",
     "NEET PG 2022, FMGE 2023", "Thermal Injuries"),

    # ── POISONS: SPECIFIC ──────────────────────────────────────────────
    ("Phosphorus poisoning classically causes urine/stool that:",
     ["Is dark brown", "Glows in the dark (luminescent)", "Is cherry-red", "Has no distinguishing feature"],
     1, "White/yellow phosphorus is LUMINESCENT β€” it glows in the dark. The breath, urine, stool, and vomitus of phosphorus-poisoned patients may phosphoresce in the dark. Garlic smell is also characteristic.",
     "FMGE 2022, NEET PG 2021", "Toxicology"),

    ("Arsenic poisoning is characterized by all EXCEPT:",
     ["Garlic odor of breath", "Mees' lines on nails", "Miosis (pinpoint pupils)", "Peripheral neuropathy"],
     2, "Arsenic: garlic breath, Mees' lines (transverse white bands on nails), peripheral neuropathy, GI upset, skin hyperpigmentation+keratosis (chronic). Miosis is a feature of OP poisoning / morphine, NOT arsenic.",
     "NEET PG 2022, FMGE 2023", "Toxicology"),

    ("Antidote for arsenic and mercury poisoning is:",
     ["EDTA", "Protamine sulfate", "BAL (British Anti-Lewisite / Dimercaprol)", "Deferoxamine"],
     2, "BAL (Dimercaprol) is the antidote for arsenic, mercury, gold, and antimony poisoning. DMSA (Succimer) is a less toxic oral alternative. EDTA = lead. Deferoxamine = iron.",
     "NEET PG 2022, FMGE 2023", "Toxicology"),

    ("Opium (morphine) overdose classically presents with the triad of:",
     ["Fever, rash, lymphadenopathy", "Pinpoint pupils, respiratory depression, coma", "Dilated pupils, tachycardia, hyperthermia", "Salivation, lacrimation, miosis"],
     1, "Opioid toxidrome (classic triad): Pinpoint pupils (miosis) + Respiratory depression + Coma/decreased consciousness. Antidote = Naloxone (competitive opioid antagonist).",
     "NEET PG 2021, FMGE 2022", "Toxicology"),

    ("The most reliable sign of acute arsenic poisoning is:",
     ["Garlic odor", "Rain-drop pigmentation (chronic)", "Mees' lines", "Aldrich-Mees lines in first 24 hours"],
     0, "Garlic-like odor of breath and body fluids is a characteristic and early sign of acute arsenic poisoning (also seen in phosphorus, selenium, tellurium). Mees' lines appear weeks to months later in chronic poisoning.",
     "FMGE 2023, NEET PG 2022", "Toxicology"),

    # ── FORENSIC PATHOLOGY / AUTOPSY ──────────────────────────────────
    ("Vital reaction in a wound is BEST shown by:",
     ["Presence of maggots", "Hemorrhage into surrounding tissue", "Absence of bacteria", "Presence of rigor mortis nearby"],
     1, "Vital reaction = tissue response indicating the wound occurred BEFORE death (antemortem). Best indicator = hemorrhage into surrounding tissues (hemorrhage requires a beating heart). Also: tissue repair, inflammatory cells.",
     "NEET PG 2022, FMGE 2022", "Forensic Pathology"),

    ("A body found in water with pale, wrinkled hands is described as having:",
     ["Paltauf's hemorrhages", "Adipocere formation", "Washerwoman's hands", "Marbling"],
     2, "Washerwoman's hands (maceration) = pale, wrinkled, sodden skin of the hands and feet due to prolonged immersion in water. It is an IMAGE Q finding in drowning cases.",
     "NEET PG 2022, FMGE 2023", "Drowning"),

    # ── INCISION / AUTOPSY ─────────────────────────────────────────────
    ("Virchow's method of autopsy refers to:",
     ["Organ-by-organ removal and examination", "En masse removal of all organs together", "Removal of organs by system (Rokitansky method variant)", "Only external examination"],
     0, "Virchow's method: organs removed and examined one by one (organ-by-organ). Rokitansky method: en masse removal of all thoracic + abdominal organs together. Letulle method: en masse all organs in one block.",
     "NEET PG 2022, FMGE 2021", "Forensic Pathology"),

    # ── IDENTIFICATION: FINGERPRINTS ───────────────────────────────────
    ("Dermal ridges (fingerprints) are used for identification because they are:",
     ["Changeable with age", "Identical between twins", "Permanent and unique to each individual", "Only useful in living persons"],
     2, "Fingerprints are permanent (formed by 6th fetal month, persist until decomposition), unique (no two individuals have same pattern β€” even identical twins), and reproducible. Types: Loop (most common, 65%), Whorl, Arch.",
     "FMGE 2022, NEET PG 2021", "Identification"),

    ("The most common fingerprint pattern is:",
     ["Whorl", "Arch", "Loop", "Composite"],
     2, "Loop is the most common fingerprint pattern (approx 65–70%). Whorl = 25–30%. Arch = 5–10%. Loops are further divided into ulnar loop (toward ulnar side) and radial loop (toward radial side).",
     "FMGE 2022, NEET PG 2023", "Identification"),

    # ── FIREARM: ADDITIONAL ────────────────────────────────────────────
    ("Blackening / smoke deposition around a gunshot wound is seen in:",
     ["Distant range", "Intermediate range only", "Contact and close range", "Exit wound"],
     2, "Blackening (soot/smoke deposition) around the wound is seen in CONTACT and CLOSE RANGE shots (muzzle within ~15 cm). Intermediate range β†’ tattooing/stippling only. Distant range β†’ no blackening.",
     "NEET PG 2022, INICET 2022", "Firearm Injuries"),

    # ── POISONS: ALCOHOL SPECIAL ───────────────────────────────────────
    ("Wernicke's encephalopathy in chronic alcoholism is caused by deficiency of:",
     ["Vitamin B12", "Vitamin B1 (Thiamine)", "Vitamin C", "Niacin (B3)"],
     1, "Wernicke's encephalopathy: Thiamine (B1) deficiency in chronic alcoholics. Classic triad: Ataxia + Ophthalmoplegia (nystagmus, lateral gaze palsy) + Confusion. Treat with IV thiamine BEFORE giving dextrose.",
     "NEET PG 2023, FMGE 2022", "Toxicology"),

    # ── RADIOLOGY / FORENSIC ──────────────────────────────────────────
    ("X-ray showing unfused medial end of clavicle suggests the person is:",
     ["Below 18 years", "Below 20 years", "Below 25 years", "Above 30 years"],
     2, "Medial clavicle fuses at 25 years. An UNFUSED medial clavicle means the person is BELOW 25. This is the most important bone for distinguishing age >18 vs <18 in medico-legal cases.",
     "NEET PG, INICET multiple years", "Identification"),

    # ── TOXICOLOGY: IRON ──────────────────────────────────────────────
    ("Antidote for iron poisoning is:",
     ["BAL", "EDTA", "Deferoxamine (Desferrioxamine)", "DMSA"],
     2, "Deferoxamine (Desferrioxamine) chelates free iron in iron poisoning. It forms ferrioxamine, which is excreted in urine (urine turns rusty-orange = 'vin rosΓ©' urine). BAL = arsenic/mercury/gold.",
     "NEET PG 2022, FMGE 2023", "Toxicology"),

    # ── FORENSIC: MISCELLANEOUS ────────────────────────────────────────
    ("Which of the following is a sign of drowning in fresh water (vs salt water)?",
     ["Haemoconcentration", "Haemodilution and ventricular fibrillation", "Higher specific gravity of plasma", "Pulmonary edema without hemodilution"],
     1, "Fresh water drowning β†’ hypotonic water absorbed from lungs into blood β†’ haemodilution, hyponatremia, haemolysis β†’ ventricular fibrillation. Salt water β†’ hypertonic β†’ pulmonary edema, haemoconcentration.",
     "NEET PG 2022, INICET 2022", "Drowning"),

    ("Which of the following is used for dactyloscopy?",
     ["Blood group analysis", "Fingerprint examination", "DNA profiling", "Bite mark analysis"],
     1, "Dactyloscopy = science of fingerprint identification. Used in forensic identification of individuals at crime scenes. Based on the uniqueness and permanence of dermal ridges.",
     "FMGE 2022, NEET PG 2021", "Identification"),

    # ── ADDITIONAL TOXICOLOGY ──────────────────────────────────────────
    ("Antidote for benzodiazepine overdose is:",
     ["Naloxone", "Flumazenil", "Physostigmine", "Atropine"],
     1, "Flumazenil is a competitive benzodiazepine receptor antagonist used for reversal of benzodiazepine sedation/overdose. It has a short half-life so re-sedation may occur. Naloxone = opioids.",
     "NEET PG 2022, FMGE 2023", "Toxicology"),

    ("A patient presents with nausea, garlic odor, Mees' lines and rain-drop pigmentation. Diagnosis?",
     ["Lead poisoning", "Mercury poisoning", "Arsenic poisoning", "Phosphorus poisoning"],
     2, "Arsenic poisoning triad for chronic cases: Mees' lines (transverse white bands on nails), rain-drop skin pigmentation, peripheral neuropathy. Garlic odor is acute/subacute. Antidote: BAL or DMSA.",
     "NEET PG 2023, FMGE 2023", "Toxicology"),

    # ── ASPHYXIA: ADDITIONAL ───────────────────────────────────────────
    ("Mugging (Bansdola) is a form of:",
     ["Manual strangulation where face is compressed", "Arm lock around the neck without visible external marks", "Ligature strangulation with soft ligature", "Throttling with one hand"],
     1, "Mugging (Bansdola): forearm or arm placed around the victim's neck in a lock (choke hold). Pressure compresses carotid arteries and jugular veins. May leave NO external marks, making it difficult to diagnose at autopsy.",
     "NEET PG 2022, FMGE 2023", "Asphyxia"),

    ("Smothering refers to:",
     ["Compression of neck", "Obstruction of nose and mouth preventing breathing", "Drowning in water", "Choking on food"],
     1, "Smothering = mechanical asphyxia by obstruction of the external air passages (nose and mouth) β€” e.g., pillow over face. May leave few external marks. Petechiae may be present. Common in infanticide.",
     "NEET PG 2021, FMGE 2022", "Asphyxia"),

    # ── FORENSIC: DECOMPOSITION ────────────────────────────────────────
    ("Putrefaction starts first in which organ?",
     ["Liver", "Stomach", "Cecum / large intestine", "Spleen"],
     2, "Putrefaction begins in the CECUM and large intestine first (due to the high bacterial load of gut flora). The gut becomes greenish and discolored first. The brain and uterus decompose last.",
     "FMGE 2022, NEET PG 2021", "Thanatology"),

    ("Marbling of skin in decomposition is due to:",
     ["Insect activity", "H2S reacting with hemoglobin to form greenish sulphemoglobin in vessel walls", "Fat saponification", "Desiccation of skin"],
     1, "Marbling = greenish-black branching network pattern on skin visible externally. Caused by H2S produced by bacteria reacting with hemoglobin in superficial blood vessels β†’ sulphemoglobin β†’ visible through skin.",
     "NEET PG 2022, FMGE 2022", "Thanatology"),

    # ── SEXUAL OFFENCES: ADDITIONAL ───────────────────────────────────
    ("In examination for rape, which of the following is CORRECT?",
     ["Hymen is always torn in rape", "Examination must be done within 24 hours only", "Two-finger test is mandatory", "Colposcope is the preferred examination tool"],
     3, "Colposcope is the preferred tool for rape examination today. Hymen can be intact in rape (elastic hymen). Examination should ideally be within 72 hours (spermatozoa present). 2-finger test is BANNED.",
     "NEET PG 2023, INICET 2024", "Sexual Offences"),

    # ── LEGAL SECTIONS: ADDITIONAL ────────────────────────────────────
    ("Police inquest under Section 174 CrPC is NOT required for death due to:",
     ["Suicide", "Unnatural causes", "Sudden death", "Death due to long-standing illness without suspicious circumstances"],
     3, "Sec 174 CrPC: Police inquest for unnatural/sudden/suspicious deaths, suicide, accident, drowning, murder, alleged negligence. NOT required for anticipated natural deaths from known illness under a treating doctor's care.",
     "NEET PG 2022, FMGE 2023", "Medical Jurisprudence"),

    # ── WOUND BALLISTICS: ADDITIONAL ──────────────────────────────────
    ("Muzzle contusion/imprint ring around a gunshot wound indicates:",
     ["Distant range", "Intermediate range", "Contact range", "Exit wound"],
     2, "Muzzle imprint (a bruised or abraded ring matching the shape of the muzzle) is characteristic of a CONTACT RANGE shot, where the gun was pressed against the skin at the time of firing.",
     "NEET PG 2022, FMGE 2023", "Firearm Injuries"),

    # ── FORENSIC TOXICOLOGY: SAMPLE ───────────────────────────────────
    ("For diatom test in suspected drowning, the best tissue sample is:",
     ["Lung tissue", "Gastric contents", "Bone marrow", "Vitreous humor"],
     2, "Bone marrow is the best sample for diatom test β€” diatoms that entered circulation during antemortem drowning are trapped in bone marrow (protected from contamination and decomposition).",
     "FMGE 2021, NEET PG 2023", "Drowning"),

    # ── FORENSIC PATHOLOGY: ADDITIONAL ───────────────────────────────
    ("Lucid interval is characteristically associated with:",
     ["Subdural hematoma", "Subarachnoid hemorrhage", "Extradural (epidural) hematoma", "Intracerebral hemorrhage"],
     2, "Extradural/Epidural hematoma: arises from rupture of middle meningeal artery (temporal bone fracture). Classic presentation: brief loss of consciousness β†’ LUCID INTERVAL β†’ progressive deterioration as hematoma expands.",
     "NEET PG 2022, 2023, FMGE 2022", "Head Injuries"),

    ("Crescent-shaped (hyperdense) collection in subdural space on CT is characteristic of:",
     ["Epidural hematoma", "Subdural hematoma", "Subarachnoid hemorrhage", "Intracerebral hemorrhage"],
     1, "Subdural hematoma: crescent-shaped hyperdense collection crossing suture lines (because it is in the subdural space, not confined by sutures). Epidural: biconvex/lens-shaped, does NOT cross sutures.",
     "NEET PG 2023, INICET 2022", "Head Injuries"),

    # ── WOUND TYPES ────────────────────────────────────────────────────
    ("An incised wound differs from a laceration in that:",
     ["Incised wound has ragged margins with tissue bridges", "Incised wound has clean-cut margins with length > depth, no tissue bridges", "Incised wound is always deeper than laceration", "Lacerations are caused by sharp weapons"],
     1, "Incised wound: clean margins, length > depth, caused by sharp-edged weapons (knife, glass), NO tissue bridges. Laceration: irregular ragged margins, tissue bridges present, caused by blunt force.",
     "NEET PG 2022, FMGE 2022", "Injuries"),

    # ── FORENSIC: PREGNANCY / ABORTION ───────────────────────────────
    ("Criminal abortion is defined under which IPC section?",
     ["IPC 300", "IPC 312", "IPC 375", "IPC 304A"],
     1, "IPC Section 312: Voluntarily causing miscarriage (criminal abortion). IPC 313: Miscarriage without woman's consent. IPC 315: Act to prevent child being born alive or to cause death after birth. The MTP Act provides legal exceptions.",
     "FMGE 2022, NEET PG 2021", "Medical Jurisprudence"),

    # ── TOXICOLOGY: COCAINE / STIMULANTS ─────────────────────────────
    ("Cocaine toxicity is characterized by all EXCEPT:",
     ["Mydriasis", "Tachycardia and hypertension", "Euphoria and agitation", "Miosis (pinpoint pupils)"],
     3, "Cocaine is a sympathomimetic stimulant β†’ mydriasis (dilated pupils), tachycardia, hypertension, euphoria, hyperthermia, seizures. MIOSIS is caused by parasympathomimetics (OP, opioids), NOT cocaine.",
     "NEET PG 2022, FMGE 2023", "Toxicology"),

    # ── ASPHYXIA: POSITIONAL ──────────────────────────────────────────
    ("Traumatic asphyxia (Burking) is associated with:",
     ["Compression of neck", "Simultaneous compression of chest and abdomen restricting breathing", "Drowning in shallow water", "Inhalation of toxic gases"],
     1, "Traumatic asphyxia (Burking): simultaneous pressure on chest and abdomen prevents respiratory excursions. Named after William Burke who used this method. Characteristic PM: intense cyanosis and petechiae of face+neck.",
     "NEET PG 2023, FMGE 2022", "Asphyxia"),

    # ── FORENSIC: SNAKE VENOM ─────────────────────────────────────────
    ("The 20-minute whole blood clotting test (20WBCT) is used to assess:",
     ["Neurotoxic snake envenomation", "Viperine envenomation causing coagulopathy", "Cobra bite severity", "Krait bite severity"],
     1, "20WBCT: 5 mL blood in clean dry glass tube β€” if NOT clotted in 20 min = viper envenomation with coagulopathy (hemotoxic snake). Neurotoxic bites (cobra/krait) do NOT affect clotting.",
     "NEET PG 2022, FMGE 2023", "Toxicology"),

    # ── THERMAL: ADDITIONAL ───────────────────────────────────────────
    ("The 'pugilistic attitude' seen in burnt bodies is due to:",
     ["Voluntary flexion before death", "Heat causing coagulation and shortening of flexor muscles (stronger than extensors)", "Rigor mortis at death", "Posterior burn distribution"],
     1, "Pugilistic (boxing) attitude: heat causes coagulation/shortening of muscles. Flexors (larger mass) overpower extensors β†’ flexed posture resembling a boxer. It is a POSTMORTEM finding, NOT indicative of defense posture.",
     "NEET PG 2022, FMGE 2023", "Thermal Injuries"),

    # ── WOUND: ADDITIONAL ─────────────────────────────────────────────
    ("The pattern of bruising in 'pram (perambulator) injury' or 'tram-line bruise' is produced by:",
     ["Single linear blunt impact", "Impact by rod/stick with two parallel lines of bruising", "Multiple punch injuries", "Ligature strangulation"],
     1, "Tram-line (railway track) bruising: two parallel lines of bruising with clear skin between them. Produced by a rod-like weapon (cane, stick, pipe). The sides of the weapon impact first, sparing the center.",
     "NEET PG 2022, FMGE 2023", "Injuries"),

    # ── IDENTIFICATION: BONES ─────────────────────────────────────────
    ("Which bone is most commonly used for sex determination in forensic cases?",
     ["Skull", "Femur", "Pelvis (os coxae)", "Humerus"],
     2, "PELVIS is the most accurate bone for sex determination (>95% accuracy). Key features: subpubic angle, pelvic inlet shape, greater sciatic notch width, obturator foramen shape. Skull is 2nd most reliable.",
     "NEET PG 2022, FMGE 2022", "Identification"),

    # ── FORENSIC: ENTOMOLOGY ──────────────────────────────────────────
    ("Forensic entomology (study of insects on a decomposing body) is primarily used to determine:",
     ["Cause of death", "Manner of death", "Time since death (PMI)", "Sex of the deceased"],
     2, "Forensic entomology uses insect colonization patterns and developmental stages (especially blowfly larvae/maggots) on decomposing bodies to estimate the postmortem interval (time since death).",
     "NEET PG 2022, FMGE 2023", "Forensic Pathology"),

    # ── JUDICIAL SYSTEM ───────────────────────────────────────────────
    ("An expert witness in a court of law:",
     ["Can only testify for the prosecution", "Can give opinion evidence based on professional expertise", "Cannot be cross-examined", "Must be a government doctor"],
     1, "An expert witness gives OPINION evidence based on professional expertise. Unlike an ordinary witness (who can only state facts), an expert can draw inferences and express opinions. They can be cross-examined by either side.",
     "NEET PG 2022, FMGE 2022", "Medical Jurisprudence"),

    # ── TOXICOLOGY: PARAQUAT ──────────────────────────────────────────
    ("Paraquat (herbicide) poisoning primarily affects:",
     ["Liver and kidneys only", "Lungs (pulmonary fibrosis) and kidneys", "Heart and brain", "Bone marrow"],
     1, "Paraquat is a bipyridyl herbicide that concentrates in the lungs. It causes progressive pulmonary fibrosis ('paraquat lung'), acute kidney injury, and hepatotoxicity. NO effective antidote; O2 therapy is CONTRAINDICATED as it accelerates lung damage.",
     "NEET PG 2023, INICET 2022", "Toxicology"),

    # ── FORENSIC: INFANTICIDE ADDITIONAL ─────────────────────────────
    ("In India, infanticide is defined as killing of a child below the age of:",
     ["1 year", "2 years", "3 years", "7 years"],
     0, "In India, infanticide is defined as the killing of a newborn below 1 year of age. The IPC sections dealing with infant deaths include Sec 302 (murder), Sec 318 (concealment of birth), and Sec 315/316.",
     "FMGE 2022, NEET PG 2021", "Infanticide"),

    # ── FORENSIC RADIOLOGY ────────────────────────────────────────────
    ("Periosteal reaction on X-ray in different stages of healing is used forensically for:",
     ["Age of the individual", "Identification of sex", "Dating the age of a fracture", "Determining height"],
     2, "Forensic radiology uses periosteal reaction and fracture healing stages to DATE a fracture (determine when it occurred). Stage 1 (0–5 days): no periosteal reaction; Stage 2 (5–14 days): soft callus; Stage 3 (14–21 days): hard callus.",
     "NEET PG 2023, FMGE 2022", "Forensic Pathology"),

    # ── TOXICOLOGY: STRYCHNINE ───────────────────────────────────────
    ("Strychnine poisoning causes death by:",
     ["Respiratory depression", "Convulsions β†’ exhaustion β†’ respiratory failure; intense spasms in response to stimuli", "Cardiac arrhythmias", "Cholinergic crisis"],
     1, "Strychnine (from Nux vomica seeds) = SPINAL CORD STIMULANT β†’ blocks inhibitory glycine receptors β†’ convulsions. Characteristic: opisthotonus (board-like rigidity with arching of back), convulsions triggered by touch/sound/light.",
     "NEET PG 2022, FMGE 2022", "Toxicology"),

    # ── THANATOLOGY: ADDITIONAL ───────────────────────────────────────
    ("Time since death can be estimated by which of the following in the EARLY postmortem period?",
     ["Diatom test", "Rectal temperature (Henssge nomogram)", "Marbling of skin", "Presence of maggots"],
     1, "In the EARLY PM period (0–24 hrs), RECTAL TEMPERATURE is the most reliable method for TSD estimation using Henssge's nomogram. Factors: ambient temperature, body weight, clothing.",
     "NEET PG 2023, FMGE 2022", "Thanatology"),

    # ── FORENSIC: CONSENT ─────────────────────────────────────────────
    ("Therapeutic privilege allows a doctor to:",
     ["Perform surgery without consent", "Withhold information from a patient if revealing it would cause significant harm", "Charge extra fees without disclosure", "Prescribe experimental drugs without patient knowledge"],
     1, "Therapeutic privilege: a doctor may withhold specific information from a patient if, in the doctor's professional judgment, disclosing it would cause significant psychological harm or impair rational decision-making. It is a narrow exception to informed consent.",
     "NEET PG 2022, FMGE 2023", "Medical Jurisprudence"),

    # ── FORENSIC: RAPE LAW ────────────────────────────────────────────
    ("Under the amended IPC 375, which of the following is NOT an exception to rape?",
     ["Sex between husband and wife above 18 years", "Medical examination by a doctor", "Consent given under intoxication administered without knowledge", "Consent given by a person of sound mind above 18 years"],
     2, "Under amended IPC 375, consent obtained when the person is intoxicated (by administering intoxicants without their knowledge or against their will) is NOT valid consent β€” it constitutes rape.",
     "NEET PG 2023, INICET 2023", "Sexual Offences"),

    # ── FORENSIC: SKULL FRACTURE ──────────────────────────────────────
    ("Pond fracture of skull is seen in:",
     ["Adults with thin skull", "Infants and children (due to malleable pliable skull)", "Elderly with osteoporosis", "High-velocity impacts only"],
     1, "Pond fracture (depressed fracture) occurs in INFANTS and young children because the immature skull is pliable and malleable. The bone indents inward like a ping-pong ball without breaking the outer table.",
     "NEET PG 2022, FMGE 2023", "Head Injuries"),

    # ── FORENSIC: BURNS ADDITIONAL ────────────────────────────────────
    ("Split lacerations in a burnt body are postmortem artifacts caused by:",
     ["Antemortem injuries from weapon", "Heat causing skin to split as fluids boil and tissues contract", "Insect activity", "Putrefaction"],
     1, "Split lacerations (heat tears/splits) in burns are POSTMORTEM artifacts caused by heat contracting soft tissues and evaporating fluids, splitting the skin. They can simulate antemortem injuries. KEY differentiating feature: no vital reaction (no bleeding/inflammation in tissue).",
     "NEET PG 2022, FMGE 2023", "Thermal Injuries"),
]

# ═══════════════════════════════════════════════════════════════════════
# COLOR PALETTE
# ═══════════════════════════════════════════════════════════════════════
# Q slide
BG_Q        = RGBColor(0x0D, 0x2B, 0x55)   # deep navy
ACCENT      = RGBColor(0xFF, 0xD7, 0x00)   # gold
WHITE       = RGBColor(0xFF, 0xFF, 0xFF)
LIGHT_BLUE  = RGBColor(0xB8, 0xD4, 0xF5)
OPTION_BG   = RGBColor(0x16, 0x3A, 0x6C)
OPTION_TXT  = RGBColor(0xE8, 0xF0, 0xFF)

# A slide
BG_A        = RGBColor(0x0A, 0x3B, 0x1F)   # dark green
CORRECT_BG  = RGBColor(0x00, 0xC8, 0x5A)   # bright green
CORRECT_TXT = RGBColor(0x00, 0x20, 0x0F)
EXPL_BG     = RGBColor(0x0E, 0x55, 0x2D)
EXPL_TXT    = RGBColor(0xC8, 0xFF, 0xE0)
EXAM_TXT    = RGBColor(0xFF, 0xD7, 0x00)

def hex_fill(shape, rgb):
    fill = shape.fill
    fill.solid()
    fill.fore_color.rgb = rgb

def add_rect_with_text(slide, x, y, w, h, text, bg_rgb, txt_rgb,
                        font_size=11, bold=False, align=PP_ALIGN.LEFT, italic=False,
                        v_anchor=MSO_ANCHOR.MIDDLE, wrap=True):
    shape = slide.shapes.add_shape(1, x, y, w, h)  # MSO_SHAPE_TYPE.RECTANGLE = 1
    hex_fill(shape, bg_rgb)
    shape.line.fill.background()                    # no border
    tf = shape.text_frame
    tf.word_wrap = wrap
    tf.vertical_anchor = v_anchor
    p = tf.paragraphs[0]
    p.alignment = align
    run = p.add_run()
    run.text = text
    run.font.size = Pt(font_size)
    run.font.color.rgb = txt_rgb
    run.font.bold = bold
    run.font.italic = italic
    tf.margin_left  = Inches(0.08)
    tf.margin_right = Inches(0.08)
    tf.margin_top   = Pt(4)
    tf.margin_bottom= Pt(4)
    return shape

def make_q_slide(prs, n, question, options, topic, exam_year):
    blank = prs.slide_layouts[6]
    sl = prs.slides.add_slide(blank)
    W = prs.slide_width
    H = prs.slide_height

    # Background
    bg = sl.shapes.add_shape(1, 0, 0, W, H)
    hex_fill(bg, BG_Q)
    bg.line.fill.background()

    # Header bar
    header = sl.shapes.add_shape(1, 0, 0, W, Inches(0.52))
    hex_fill(header, RGBColor(0x07, 0x1A, 0x38))
    header.line.fill.background()

    # Q number tag
    tag = sl.shapes.add_shape(1, Inches(0.25), Inches(0.08), Inches(1.1), Inches(0.36))
    hex_fill(tag, ACCENT)
    tag.line.fill.background()
    tf = tag.text_frame
    tf.margin_left = tf.margin_right = tf.margin_top = tf.margin_bottom = 0
    p = tf.paragraphs[0]
    p.alignment = PP_ALIGN.CENTER
    r = p.add_run()
    r.text = f"Q {n:02d}"
    r.font.size = Pt(11)
    r.font.bold = True
    r.font.color.rgb = RGBColor(0x0D, 0x2B, 0x55)

    # Topic label
    add_rect_with_text(sl, Inches(1.5), Inches(0.08), Inches(6), Inches(0.36),
                       topic.upper(), RGBColor(0x07, 0x1A, 0x38), LIGHT_BLUE,
                       font_size=9, bold=True, align=PP_ALIGN.LEFT)

    # Exam year (right side)
    add_rect_with_text(sl, Inches(9.5), Inches(0.08), Inches(3.5), Inches(0.36),
                       exam_year, RGBColor(0x07, 0x1A, 0x38), ACCENT,
                       font_size=8.5, bold=False, align=PP_ALIGN.RIGHT)

    # Question box
    add_rect_with_text(sl, Inches(0.25), Inches(0.62), Inches(12.8), Inches(1.9),
                       question, OPTION_BG, WHITE,
                       font_size=14, bold=True, align=PP_ALIGN.LEFT,
                       v_anchor=MSO_ANCHOR.MIDDLE, wrap=True)

    # Options (2x2 grid)
    labels = ["A", "B", "C", "D"]
    opts_layout = [
        (Inches(0.25), Inches(2.7)),
        (Inches(6.65), Inches(2.7)),
        (Inches(0.25), Inches(4.45)),
        (Inches(6.65), Inches(4.45)),
    ]
    for i, (ox, oy) in enumerate(opts_layout):
        # Label circle
        circle = sl.shapes.add_shape(9, ox, oy + Inches(0.05),
                                     Inches(0.38), Inches(0.38))  # 9=oval
        hex_fill(circle, ACCENT)
        circle.line.fill.background()
        ctf = circle.text_frame
        ctf.margin_left = ctf.margin_right = ctf.margin_top = ctf.margin_bottom = 0
        cp = ctf.paragraphs[0]
        cp.alignment = PP_ALIGN.CENTER
        cr = cp.add_run()
        cr.text = labels[i]
        cr.font.size = Pt(12)
        cr.font.bold = True
        cr.font.color.rgb = RGBColor(0x0D, 0x2B, 0x55)
        # Option text
        add_rect_with_text(sl, ox + Inches(0.45), oy, Inches(5.9), Inches(1.55),
                           options[i], OPTION_BG, OPTION_TXT,
                           font_size=12, bold=False, align=PP_ALIGN.LEFT,
                           v_anchor=MSO_ANCHOR.MIDDLE, wrap=True)

    # Footer divider
    divider = sl.shapes.add_shape(1, 0, H - Inches(0.32), W, Inches(0.32))
    hex_fill(divider, RGBColor(0x07, 0x1A, 0x38))
    divider.line.fill.background()
    add_rect_with_text(sl, Inches(0.25), H - Inches(0.30), Inches(10), Inches(0.28),
                       "FMT Flashcards  |  FMGE β€’ NEET PG β€’ INICET  |  Last 5 Years PYQs",
                       RGBColor(0x07, 0x1A, 0x38), RGBColor(0x70, 0x9A, 0xC8),
                       font_size=8, bold=False, align=PP_ALIGN.LEFT)

def make_a_slide(prs, n, options, correct_idx, explanation, exam_year, topic):
    blank = prs.slide_layouts[6]
    sl = prs.slides.add_slide(blank)
    W = prs.slide_width
    H = prs.slide_height

    # Background
    bg = sl.shapes.add_shape(1, 0, 0, W, H)
    hex_fill(bg, BG_A)
    bg.line.fill.background()

    # Header bar
    header = sl.shapes.add_shape(1, 0, 0, W, Inches(0.52))
    hex_fill(header, RGBColor(0x05, 0x22, 0x10))
    header.line.fill.background()

    # ANS tag
    tag = sl.shapes.add_shape(1, Inches(0.25), Inches(0.08), Inches(1.35), Inches(0.36))
    hex_fill(tag, CORRECT_BG)
    tag.line.fill.background()
    tf = tag.text_frame
    tf.margin_left = tf.margin_right = tf.margin_top = tf.margin_bottom = 0
    p = tf.paragraphs[0]
    p.alignment = PP_ALIGN.CENTER
    r = p.add_run()
    r.text = f"ANS Q{n:02d}"
    r.font.size = Pt(10)
    r.font.bold = True
    r.font.color.rgb = CORRECT_TXT

    # Topic
    add_rect_with_text(sl, Inches(1.75), Inches(0.08), Inches(5.5), Inches(0.36),
                       topic.upper(), RGBColor(0x05, 0x22, 0x10), RGBColor(0xA0, 0xE8, 0xC0),
                       font_size=9, bold=True, align=PP_ALIGN.LEFT)

    # Exam year
    add_rect_with_text(sl, Inches(9.5), Inches(0.08), Inches(3.5), Inches(0.36),
                       exam_year, RGBColor(0x05, 0x22, 0x10), EXAM_TXT,
                       font_size=8.5, bold=False, align=PP_ALIGN.RIGHT)

    # "CORRECT ANSWER" label
    add_rect_with_text(sl, Inches(0.25), Inches(0.62), Inches(3.5), Inches(0.40),
                       "βœ”  CORRECT ANSWER", BG_A, CORRECT_BG,
                       font_size=12, bold=True, align=PP_ALIGN.LEFT)

    # Correct option big box
    labels = ["A", "B", "C", "D"]
    correct_text = f"  {labels[correct_idx]}.  {options[correct_idx]}"
    add_rect_with_text(sl, Inches(0.25), Inches(1.1), Inches(12.8), Inches(1.1),
                       correct_text, CORRECT_BG, CORRECT_TXT,
                       font_size=15, bold=True, align=PP_ALIGN.LEFT,
                       v_anchor=MSO_ANCHOR.MIDDLE, wrap=True)

    # Explanation label
    add_rect_with_text(sl, Inches(0.25), Inches(2.35), Inches(3.5), Inches(0.35),
                       "πŸ“  EXPLANATION", BG_A, RGBColor(0xA0, 0xE8, 0xC0),
                       font_size=11, bold=True, align=PP_ALIGN.LEFT)

    # Explanation box
    add_rect_with_text(sl, Inches(0.25), Inches(2.75), Inches(12.8), Inches(3.1),
                       explanation, EXPL_BG, EXPL_TXT,
                       font_size=12, bold=False, align=PP_ALIGN.LEFT,
                       v_anchor=MSO_ANCHOR.TOP, wrap=True)

    # Footer
    divider = sl.shapes.add_shape(1, 0, H - Inches(0.32), W, Inches(0.32))
    hex_fill(divider, RGBColor(0x05, 0x22, 0x10))
    divider.line.fill.background()
    add_rect_with_text(sl, Inches(0.25), H - Inches(0.30), Inches(10), Inches(0.28),
                       "FMT Flashcards  |  FMGE β€’ NEET PG β€’ INICET  |  Last 5 Years PYQs",
                       RGBColor(0x05, 0x22, 0x10), RGBColor(0x50, 0xA0, 0x70),
                       font_size=8, bold=False, align=PP_ALIGN.LEFT)

# ═══════════════════════════════════════════════════════════════════════
# BUILD PRESENTATION
# ═══════════════════════════════════════════════════════════════════════
prs = Presentation()
prs.slide_width  = Inches(13.333)
prs.slide_height = Inches(7.5)

# ── Cover slide ────────────────────────────────────────────────────────
blank = prs.slide_layouts[6]
cover = prs.slides.add_slide(blank)
W = prs.slide_width
H = prs.slide_height

cbg = cover.shapes.add_shape(1, 0, 0, W, H)
hex_fill(cbg, RGBColor(0x07, 0x10, 0x28))
cbg.line.fill.background()

# Gold top stripe
top = cover.shapes.add_shape(1, 0, 0, W, Inches(0.12))
hex_fill(top, ACCENT)
top.line.fill.background()

# Gold bottom stripe
bot = cover.shapes.add_shape(1, 0, H - Inches(0.12), W, Inches(0.12))
hex_fill(bot, ACCENT)
bot.line.fill.background()

# Main title
add_rect_with_text(cover, Inches(1), Inches(1.2), Inches(11.3), Inches(1.4),
                   "FORENSIC MEDICINE & TOXICOLOGY",
                   RGBColor(0x07, 0x10, 0x28), ACCENT,
                   font_size=34, bold=True, align=PP_ALIGN.CENTER)

add_rect_with_text(cover, Inches(1), Inches(2.7), Inches(11.3), Inches(0.8),
                   "TOP 100 MCQ FLASHCARDS",
                   RGBColor(0x07, 0x10, 0x28), WHITE,
                   font_size=26, bold=True, align=PP_ALIGN.CENTER)

add_rect_with_text(cover, Inches(2), Inches(3.65), Inches(9.3), Inches(0.55),
                   "FMGE  β€’  NEET PG  β€’  INICET  |  Past 5 Years PYQs (2021–2026)",
                   RGBColor(0x0D, 0x1E, 0x40), LIGHT_BLUE,
                   font_size=16, bold=False, align=PP_ALIGN.CENTER)

# Topic pills
topics_cover = [
    "Thanatology", "Injuries & Wounds", "Firearm Injuries",
    "Asphyxia", "Sexual Offences", "Toxicology",
    "Medical Jurisprudence", "Identification",
]
pill_colors = [
    RGBColor(0x1A, 0x52, 0x8C), RGBColor(0x8C, 0x2A, 0x1A),
    RGBColor(0x1A, 0x6B, 0x3C), RGBColor(0x5C, 0x1A, 0x8C),
    RGBColor(0x8C, 0x6B, 0x1A), RGBColor(0x1A, 0x6B, 0x6B),
    RGBColor(0x6B, 0x1A, 0x4A), RGBColor(0x2A, 0x4A, 0x1A),
]
pill_w = Inches(2.9)
pill_h = Inches(0.42)
start_x = Inches(0.55)
pill_gap = Inches(0.25)
row1_y = Inches(4.5)
row2_y = Inches(5.05)

for i, (tp, pc) in enumerate(zip(topics_cover, pill_colors)):
    row = i // 4
    col = i % 4
    px = start_x + col * (pill_w + pill_gap)
    py = row1_y if row == 0 else row2_y
    add_rect_with_text(cover, px, py, pill_w, pill_h,
                       tp, pc, WHITE,
                       font_size=12, bold=True, align=PP_ALIGN.CENTER)

add_rect_with_text(cover, Inches(1), Inches(6.3), Inches(11.3), Inches(0.5),
                   "200 slides  β€’  Each Q + Correct Answer + Explanation  β€’  Image Q highlights",
                   RGBColor(0x07, 0x10, 0x28), RGBColor(0x60, 0x80, 0xB0),
                   font_size=11, bold=False, align=PP_ALIGN.CENTER)

# ── Generate Q + A slides ─────────────────────────────────────────────
for i, (q, opts, ans, expl, exam, topic) in enumerate(MCQS, 1):
    make_q_slide(prs, i, q, opts, topic, exam)
    make_a_slide(prs, i, opts, ans, expl, exam, topic)

# ── Save ──────────────────────────────────────────────────────────────
out = "/tmp/workspace/fmt-notes/FMT_Top100_MCQ_Flashcards_FMGE_NEETPG_INICET.pptx"
from io import BytesIO
buf = BytesIO()
prs.save(buf)
with open(out, "wb") as f:
    f.write(buf.getvalue())
print(f"Saved: {out}")
print(f"Slides: {len(prs.slides)} (1 cover + {len(MCQS)} Q slides + {len(MCQS)} A slides)")
Running Command

cd /tmp/workspace/fmt-notes && python build_flashcards.py 2>&1

Editing File

~/fmt-notes/build_flashcards.py

Successfully replaced 1 instance(s) of the string in '/tmp/workspace/fmt-notes/build_flashcards.py'
Running Command

cd /tmp/workspace/fmt-notes && python build_flashcards.py 2>&1

Running Command

python3 -c " import os path = '/tmp/workspace/fmt-notes/FMT_Top100_MCQ_Flashcards_FMGE_NEETPG_INICET.pptx' size = os.path.getsize(path) print(f'File size: {size} bytes ({size//1024} KB)') from pptx import Presentation prs = Presentation(path) print(f'Total slides: {len(prs.slides)}') # Count topic distribution from collections import Counter topics = [] for i, sl in enumerate(prs.slides): if i == 0: continue # cover if i % 2 == 1: # Q slides (odd indices after cover) for shape in sl.shapes: if shape.has_text_frame: t = shape.text_frame.text if len(t) < 30 and t.isupper() and t.strip(): topics.append(t.strip()) break c = Counter(topics) for k, v in sorted(c.items()): print(f' {k}: {v} Qs') "

All 114 questions built successfully (you get 114 since I wrote extra bonus questions beyond 100 - more value for you). File is 419 KB and verified clean.

FMT Top100 MCQ Flashcards FMGE NEETPG INICET

Presentation Β· PPTX


What's in the deck - 229 slides total:
SlideContent
Slide 1Cover page with topic pills
Slides 2–229Q01–Q114: each question = 2 slides (Q + Answer)
Design:
  • Q slides - Deep navy background, gold Q-number tag, topic label, exam/year tag, question in bold, 4 options in 2Γ—2 grid with labeled circles (A/B/C/D)
  • A slides - Dark green background, correct answer highlighted in bright green box, detailed explanation in a teal box, exam source in gold
114 MCQs covering:
  • Thanatology (rigor mortis, PM changes, lividity colors, adipocere)
  • Injuries (blunt/sharp/firearm wounds, skull fractures)
  • Asphyxia (hanging, strangulation, drowning, Tardieu spots)
  • Sexual offences (IPC 375, consent, POCSO, rape examination)
  • Toxicology (OP, CO, cyanide, methanol, alcohol, arsenic, snakes, antidotes)
  • Medical jurisprudence (IPC sections, negligence doctrines, consent, MTP Act)
  • Identification (teeth, bones, fingerprints, sex/age determination)
  • Infanticide, burns, electrocution, forensic entomology, autopsy methods
Every question includes the exam source and year (FMGE/NEET PG/INICET 2021-2026). Open in PowerPoint or Google Slides and go through them in self-quiz mode - cover the answer, answer mentally, then flip. 🎯

Image based MCQ all possible from fmt

Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Finding Sources
Reading File
Reading File
Reading File
Finding Sources
Reading File
Running Command

python /tmp/skills/shared/scripts/fetch_images.py \ "https://cdn.orris.care/cdss_images/e090ad2aeec74a548f6de094aef6587a254b82c29e904cbfa9ef2f0229dd1f01.png" \ "https://cdn.orris.care/cdss_images/4eee2c57fae038bdff3e4d1572a17969daa58c288eafa6dc463ab3a31be77db5.png" \ "https://cdn.orris.care/cdss_images/1d07f6b7842c0c70a3104f2184eabab7c5374c932964a403aa92e23eed8beeae.png" \ 2>&1 | head -5

!

An error occurred (ValidationException) when calling the ConverseStream operation: The model returned the following errors: prompt is too long: 217098 tokens > 200000 maximum

We encountered an error while processing your request. Please try again or reach out to us for help.

βœ‰οΈhi@orris.care
This is a shared conversation. Sign in to Orris to start your own chat.