Hi can I get viva questions and answers for pathology 2nd year mbbs subject unit wise according to Robbins for mgr university exams?
MGR University 2nd year MBBS pathology syllabus units Robbins 2024
| Feature | Benign | Malignant |
|---|---|---|
| Growth rate | Slow | Fast |
| Encapsulation | Usually capsulated | Non-capsulated |
| Border | Well-defined | Irregular |
| Differentiation | Well-differentiated | Poorly differentiated |
| Mitoses | Rare/normal | Frequent/abnormal |
| Metastasis | No | Yes |
| Necrosis | Rare | Common |
| IDA | ACD | Thalassaemia | |
|---|---|---|---|
| Serum iron | Low | Low | Normal/High |
| TIBC | High | Low | Normal |
| Ferritin | Low | High | Normal/High |
| RDW | High | Normal | Low/Normal |
| AML | ALL | |
|---|---|---|
| Age | Adults (>60 yr) | Children (peak 2-5 yr) |
| Auer rods | Yes (pathognomonic) | No |
| Marker | MPO+, CD33+, CD117+ | TdT+, CD19+(B), CD3+(T) |
| Prognosis | Poorer | Better (esp. in children) |
| Hodgkin | Non-Hodgkin | |
|---|---|---|
| RS cells | Present | Absent |
| Spread | Contiguous | Non-contiguous |
| B symptoms | Common | Less common |
| Extranodal | Rare | Frequent |
| Cure rate | ~80-90% | Variable |
6 weeks: Dense fibrous scar
| Crohn's | UC | |
|---|---|---|
| Distribution | Mouth to anus (skip lesions) | Rectum upward (continuous) |
| Layers | Transmural | Mucosa/submucosa |
| Granulomas | Yes (non-caseating) | No |
| Fistula | Common | Rare |
| Malignancy risk | Low | High |
| Terminal ileum | Commonly involved | Not involved |
| Nephritic | Nephrotic | |
|---|---|---|
| Haematuria | Yes (RBC casts) | No |
| Proteinuria | Mild (<3.5 g/day) | Heavy (>3.5 g/day) |
| Oedema | Mild | Massive (anasarca) |
| BP | Raised | Normal/raised |
| Example | Post-strep GN | Minimal change disease |
Source: Robbins & Kumar Basic Pathology (ISBN 9780323790185) and Robbins, Cotran & Kumar Pathologic Basis of Disease (ISBN 9780443264528), as available in the medical library database.
Create a Word document with all these viva Q&A for easy download and sharing
ls /home/daytona/workspace/ && ls /home/daytona/skills/docx/
mkdir -p /home/daytona/workspace/pathology-viva
~/pathology-viva/create_viva.js
const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
HeadingLevel, AlignmentType, BorderStyle, WidthType, ShadingType,
VerticalAlign, PageNumber, Header, Footer, TabStopType, TabStopPosition,
UnderlineType
} = require('docx');
const fs = require('fs');
// ─── colour palette ─────────────────────────────────────────────────────────
const DARK_BLUE = "1F3864";
const MED_BLUE = "2E74B5";
const LIGHT_BLUE = "D6E4F0";
const ACCENT = "C0392B";
const Q_BG = "EBF5FB";
const TABLE_HDR = "1F3864";
const TABLE_ALT = "EBF5FB";
// ─── helpers ─────────────────────────────────────────────────────────────────
function coverPage() {
return [
new Paragraph({ children: [new TextRun({ text: "", break: 4 })] }),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "2nd Year MBBS Pathology", bold: true, size: 52, color: DARK_BLUE, font: "Calibri" })],
}),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "Unit-wise Viva Q&A", bold: true, size: 44, color: MED_BLUE, font: "Calibri" })],
}),
new Paragraph({ children: [new TextRun({ text: "" })] }),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "Based on Robbins & Kumar Basic Pathology", size: 28, italics: true, color: "555555", font: "Calibri" })],
}),
new Paragraph({ children: [new TextRun({ text: "" })] }),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "Dr. M.G.R. Medical University", bold: true, size: 28, color: DARK_BLUE, font: "Calibri" })],
}),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "Paper I: General Pathology & Haematology", size: 24, color: "555555", font: "Calibri" })],
}),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "Paper II: Systemic Pathology", size: 24, color: "555555", font: "Calibri" })],
}),
new Paragraph({ children: [new TextRun({ text: "" })] }),
new Paragraph({ children: [new TextRun({ text: "", break: 6 })] }),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "Exam-Ready Short Answers", bold: true, size: 22, color: ACCENT, font: "Calibri" })],
}),
new Paragraph({ pageBreakBefore: true, children: [] }),
];
}
function paperHeading(text) {
return new Paragraph({
heading: HeadingLevel.HEADING_1,
pageBreakBefore: true,
children: [new TextRun({ text, bold: true, size: 36, color: "FFFFFF", font: "Calibri" })],
shading: { type: ShadingType.SOLID, color: DARK_BLUE },
spacing: { before: 0, after: 240 },
});
}
function unitHeading(text) {
return new Paragraph({
heading: HeadingLevel.HEADING_2,
children: [new TextRun({ text, bold: true, size: 28, color: "FFFFFF", font: "Calibri" })],
shading: { type: ShadingType.SOLID, color: MED_BLUE },
spacing: { before: 240, after: 120 },
});
}
function subHeading(text) {
return new Paragraph({
heading: HeadingLevel.HEADING_3,
children: [new TextRun({ text, bold: true, size: 24, color: DARK_BLUE, font: "Calibri" })],
spacing: { before: 200, after: 80 },
});
}
function qa(qNum, question, answer) {
const items = [];
// Question box
items.push(new Paragraph({
children: [
new TextRun({ text: `Q${qNum}. `, bold: true, size: 22, color: ACCENT, font: "Calibri" }),
new TextRun({ text: question, bold: true, size: 22, color: "1A1A1A", font: "Calibri" }),
],
shading: { type: ShadingType.SOLID, color: Q_BG },
spacing: { before: 120, after: 0 },
indent: { left: 100, right: 100 },
}));
// Answer
items.push(new Paragraph({
children: [
new TextRun({ text: "A: ", bold: true, size: 21, color: MED_BLUE, font: "Calibri" }),
new TextRun({ text: answer, size: 21, font: "Calibri", color: "1A1A1A" }),
],
spacing: { before: 40, after: 100 },
indent: { left: 100, right: 100 },
}));
return items;
}
function qaList(qNum, question, bulletLines) {
const items = [];
items.push(new Paragraph({
children: [
new TextRun({ text: `Q${qNum}. `, bold: true, size: 22, color: ACCENT, font: "Calibri" }),
new TextRun({ text: question, bold: true, size: 22, color: "1A1A1A", font: "Calibri" }),
],
shading: { type: ShadingType.SOLID, color: Q_BG },
spacing: { before: 120, after: 0 },
indent: { left: 100, right: 100 },
}));
items.push(new Paragraph({
children: [new TextRun({ text: "A:", bold: true, size: 21, color: MED_BLUE, font: "Calibri" })],
spacing: { before: 40, after: 20 },
indent: { left: 100 },
}));
bulletLines.forEach(line => {
items.push(new Paragraph({
bullet: { level: 0 },
children: [new TextRun({ text: line, size: 21, font: "Calibri", color: "1A1A1A" })],
spacing: { before: 20, after: 20 },
indent: { left: 360, right: 100 },
}));
});
items.push(new Paragraph({ children: [new TextRun({ text: "" })], spacing: { before: 60, after: 0 } }));
return items;
}
function makeTable(headers, rows, alternateRows = true) {
const headerRow = new TableRow({
tableHeader: true,
children: headers.map(h =>
new TableCell({
shading: { type: ShadingType.SOLID, color: TABLE_HDR },
verticalAlign: VerticalAlign.CENTER,
children: [new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: h, bold: true, color: "FFFFFF", size: 20, font: "Calibri" })],
})],
})
),
});
const dataRows = rows.map((row, ri) =>
new TableRow({
children: row.map((cell, ci) =>
new TableCell({
shading: alternateRows && ri % 2 === 0
? { type: ShadingType.SOLID, color: TABLE_ALT }
: { type: ShadingType.SOLID, color: "FFFFFF" },
verticalAlign: VerticalAlign.CENTER,
children: [new Paragraph({
children: [new TextRun({ text: cell, size: 20, font: "Calibri", bold: ci === 0 })],
spacing: { before: 60, after: 60 },
indent: { left: 80 },
})],
})
),
})
);
return new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [headerRow, ...dataRows],
margins: { top: 100, bottom: 100, left: 100, right: 100 },
});
}
function tip(text) {
return new Paragraph({
children: [
new TextRun({ text: "💡 Tip: ", bold: true, size: 20, color: ACCENT, font: "Calibri" }),
new TextRun({ text, size: 20, italics: true, color: "444444", font: "Calibri" }),
],
shading: { type: ShadingType.SOLID, color: "FEF9E7" },
spacing: { before: 80, after: 80 },
indent: { left: 100, right: 100 },
});
}
function spacer() {
return new Paragraph({ children: [new TextRun({ text: "" })], spacing: { before: 40, after: 40 } });
}
// ─── BUILD DOCUMENT ──────────────────────────────────────────────────────────
const children = [];
// Cover
children.push(...coverPage());
// ════════════════════════════════════════════════════════════
// PAPER I - GENERAL PATHOLOGY & HAEMATOLOGY
// ════════════════════════════════════════════════════════════
children.push(paperHeading("PAPER I — GENERAL PATHOLOGY & HAEMATOLOGY"));
// ── UNIT 1: CELL INJURY ──────────────────────────────────────
children.push(unitHeading("UNIT 1: CELL INJURY, ADAPTATION & CELL DEATH"));
children.push(...qa(1, "What is the most common cause of reversible cell injury?",
"Ischemia (reduced blood supply) is the most common cause, leading to decreased ATP, Na/K pump failure, and cell swelling (hydropic change)."));
children.push(...qa(2, "What are the morphological features of reversible cell injury?",
"Cell swelling (hydropic/vacuolar degeneration), fatty change, clumping of nuclear chromatin, and membrane blebs. All changes are reversible on restoration of blood flow."));
children.push(...qa(3, "What are the two types of cell death in pathology?",
"Necrosis (uncontrolled, always pathological) and Apoptosis (programmed, may be physiological or pathological)."));
children.push(...qa(4, "What is necrosis? How does it differ from apoptosis?",
"Necrosis = enzymatic digestion + denaturation of proteins after lethal injury; causes inflammation. Apoptosis = ATP-dependent, caspase-mediated, no inflammation, affects single cells."));
children.push(...qaList(5, "Name the types of necrosis.", [
"Coagulative – most organs (ischemia); architecture preserved",
"Liquefactive – brain, abscess (pus)",
"Caseous – TB (cheese-like, surrounded by granuloma)",
"Fat necrosis – pancreas, breast",
"Fibrinoid – blood vessel walls (immune complexes)",
"Gangrenous – limbs (wet/dry/gas)",
]));
children.push(...qa(6, "What is coagulative necrosis? Give an example.",
"Cell outlines preserved but nucleus gone; tissue is firm and pale. Classic example: myocardial infarction (heart attack)."));
children.push(...qa(7, "What is caseous necrosis? What disease causes it?",
"Cheese-like, granular necrosis with complete loss of architecture, surrounded by a granuloma. Hallmark of tuberculosis."));
children.push(...qaList(8, "What is apoptosis? Name two pathways.", [
"Programmed cell death mediated by caspases.",
"Intrinsic (mitochondrial): activated by DNA damage → cytochrome c release → caspase-9 → caspase-3",
"Extrinsic (death receptor): FasL/TNF binds receptor → caspase-8 → caspase-3",
]));
children.push(...qaList(9, "What are cellular adaptations? Name them.", [
"Hypertrophy – increased cell size (e.g., cardiac hypertrophy in hypertension)",
"Hyperplasia – increased cell number (e.g., endometrial hyperplasia)",
"Atrophy – decreased cell size/number (e.g., denervation atrophy)",
"Metaplasia – one adult cell type replaced by another (e.g., Barrett's oesophagus: squamous → columnar)",
]));
children.push(...qa(10, "What is dystrophic vs. metastatic calcification?",
"Dystrophic = calcium deposits in dead/damaged tissue; serum calcium is normal (e.g., TB, atherosclerosis). Metastatic = calcium deposits in normal tissue due to hypercalcaemia (e.g., hyperparathyroidism)."));
children.push(...qaList(11, "What are the 4 major mechanisms of cell injury (Robbins)?", [
"Mitochondrial damage (ATP depletion)",
"Increased ROS / oxidative stress",
"Increased cytosolic Ca²⁺",
"Loss of membrane integrity (plasma + lysosomal)",
]));
children.push(...qa(12, "What is free radical injury? How are free radicals neutralized?",
"ROS (superoxide, hydrogen peroxide, hydroxyl) damage lipids, proteins, and DNA. Neutralized by superoxide dismutase (SOD), catalase, glutathione peroxidase, and antioxidants (vitamins C and E)."));
children.push(...qa(13, "What is lipofuscin? Its significance?",
'"Wear and tear pigment" – yellowish-brown lipid-protein complexes; accumulates in heart and liver with aging. Marker of aging/atrophy but not harmful.'));
children.push(...qaList(14, "What is cellular aging? Key mechanisms?", [
"Telomere shortening (key mechanism)",
"Accumulation of DNA damage",
"Defective protein homeostasis (autophagy failure)",
"Epigenetic changes",
]));
// ── UNIT 2: INFLAMMATION ─────────────────────────────────────
children.push(unitHeading("UNIT 2: INFLAMMATION, REPAIR & WOUND HEALING"));
children.push(...qa(1, "Define inflammation.",
"A protective vascular and cellular response to injury or infection, aimed at eliminating the causative agent and initiating repair. Can itself cause damage if uncontrolled."));
children.push(...qaList(2, "What are the 5 cardinal signs of inflammation?", [
"Rubor (redness)",
"Calor (heat)",
"Tumor (swelling)",
"Dolor (pain)",
"Functio laesa (loss of function) – added by Virchow",
]));
children.push(...qa(3, "What are the vascular changes in acute inflammation?",
"Transient vasoconstriction → vasodilation → increased vascular permeability → slowing of blood flow (stasis) → margination and emigration of leukocytes."));
children.push(...qaList(4, "What is the sequence of leukocyte events in acute inflammation?", [
"Margination and rolling (selectins – P-selectin, E-selectin)",
"Adhesion (integrins – ICAM-1, VCAM-1)",
"Transmigration / Diapedesis (PECAM-1 / CD31)",
"Chemotaxis (C5a, IL-8, LTB4, bacterial products)",
"Phagocytosis and killing",
]));
children.push(...qa(5, "What is the 'respiratory burst' in neutrophils?",
"Activation of NADPH oxidase → superoxide → H₂O₂ → HOCl (hypochlorous acid via MPO). This oxidative burst kills ingested microbes."));
children.push(subHeading("Key Mediators of Inflammation"));
const mediatorTable = makeTable(
["Mediator", "Source", "Action"],
[
["Histamine", "Mast cells", "Vasodilation, ↑permeability (early)"],
["Serotonin", "Platelets", "Similar to histamine"],
["PGE2 / PGI2", "Arachidonic acid (COX)", "Vasodilation, pain, fever"],
["LTB4", "Arachidonic acid (LOX)", "Chemotaxis of neutrophils"],
["C3a, C5a", "Complement system", "Chemotaxis, opsonization, mast cell degranulation"],
["IL-1, TNF-α", "Macrophages", "Fever, acute phase response, endothelial activation"],
["NO", "Endothelium", "Vasodilation"],
]
);
children.push(mediatorTable, spacer());
children.push(...qaList(7, "What are the outcomes of acute inflammation?", [
"Resolution (complete restoration – best outcome)",
"Healing by fibrosis / scar",
"Abscess formation",
"Progression to chronic inflammation",
]));
children.push(...qa(8, "What is chronic inflammation? How does it differ from acute?",
"Chronic = prolonged inflammation with simultaneous tissue destruction and repair. Cells: macrophages, lymphocytes, plasma cells (vs. neutrophils in acute). May be primary (e.g., TB, RA) or follow acute inflammation."));
children.push(...qa(9, "What is a granuloma? Name types.",
"Focal aggregate of activated macrophages (epithelioid cells), often with giant cells. Caseating granuloma (TB) – central caseous necrosis. Non-caseating – sarcoidosis, Crohn's disease, foreign body reactions."));
children.push(...qaList(10, "What are the types of giant cells?", [
"Langhans giant cell – nuclei arranged peripherally in horseshoe pattern; TB",
"Foreign body giant cell – nuclei central/scattered; foreign material",
"Touton giant cell – foamy cytoplasm; fat necrosis, xanthoma",
]));
children.push(...qa(11, "What are the two types of wound healing?",
"Primary intention (per primam): clean wound, edges approximated, minimal scar (e.g., surgical incision). Secondary intention (per secundam): open wound, more granulation tissue, larger scar (e.g., abscess cavity)."));
children.push(...qaList(12, "What are the 3 phases of wound healing?", [
"Inflammatory phase (0–3 days): neutrophils then macrophages clean the wound",
"Proliferative phase (3–21 days): fibroblasts, angiogenesis, collagen deposition, granulation tissue",
"Remodelling phase (weeks–months): collagen reorganization, scar maturation",
]));
children.push(...qa(13, "What is the role of macrophages in wound healing?",
"M1 macrophages clean debris and fight infection; M2 macrophages promote repair by releasing TGF-β and VEGF, stimulating fibroblast proliferation and angiogenesis."));
children.push(...qa(14, "What is keloid vs. hypertrophic scar?",
"Both are excess collagen scars. Hypertrophic scar stays within wound boundaries. Keloid extends beyond original wound margin and does not regress spontaneously."));
// ── UNIT 3: HAEMODYNAMIC DISORDERS ───────────────────────────
children.push(unitHeading("UNIT 3: HAEMODYNAMIC DISORDERS"));
children.push(...qa(1, "What is oedema? Classify it.",
"Excess fluid in interstitial tissue. Exudate = protein-rich, inflammatory. Transudate = protein-poor, due to hydrostatic or osmotic imbalance. Causes: ↑hydrostatic pressure, ↓oncotic pressure (hypoalbuminaemia), lymphatic obstruction, Na⁺ retention."));
children.push(...qa(2, "What is hyperaemia vs. congestion?",
"Hyperaemia = active – increased blood flow, arteriolar dilation (e.g., exercise, inflammation). Congestion = passive – impaired venous outflow, venous engorgement (e.g., cardiac failure)."));
children.push(...qa(3, "What is 'nutmeg liver'?",
"Chronic passive congestion of the liver; central veins dilated with haemorrhage, surrounded by pale fatty hepatocytes. Cut surface resembles nutmeg pattern."));
children.push(...qaList(4, "What is Virchow's triad?", [
"Endothelial injury",
"Abnormal blood flow (stasis / turbulence)",
"Hypercoagulability",
"(Thrombosis occurs when one or more of these factors is present)",
]));
children.push(...qa(5, "What is the difference between a thrombus and a clot?",
"Thrombus – formed in vivo, adherent to vessel wall, has lines of Zahn (ante-mortem indicator). Clot – formed post-mortem or in vitro, gelatinous, no lines of Zahn."));
children.push(...qaList(6, "What is an embolism? Types?", [
"Thromboembolus (most common, >99% of cases)",
"Fat embolism (long bone fracture)",
"Air embolism",
"Amniotic fluid embolism",
"Tumour emboli",
]));
children.push(...qa(7, "What is pulmonary embolism? What causes sudden death?",
"Blockage of pulmonary artery, usually from DVT. Massive PE causes acute right heart failure and obstructive shock. 'Saddle embolus' straddles bifurcation of pulmonary trunk."));
children.push(...qa(8, "What is infarction? Types?",
"Area of ischaemic necrosis from arterial/venous occlusion. Red (haemorrhagic) infarct = lungs, intestine, testes (dual supply/loose tissue). Pale (anaemic) infarct = heart, kidney, spleen (end-arterial supply)."));
children.push(...qa(9, "What is DIC?",
"Disseminated Intravascular Coagulation – widespread microvascular thrombi consuming clotting factors and platelets → simultaneous thrombosis AND bleeding. Caused by sepsis, obstetric complications, malignancy."));
children.push(...qaList(10, "What is shock? Classify it.", [
"Cardiogenic – pump failure (MI, arrhythmia)",
"Hypovolaemic – blood/fluid loss",
"Septic – most common distributive shock (vasodilation from endotoxins)",
"Anaphylactic – IgE-mediated vasodilation",
"Neurogenic – loss of sympathetic tone",
]));
// ── UNIT 4: NEOPLASIA ─────────────────────────────────────────
children.push(unitHeading("UNIT 4: NEOPLASIA"));
children.push(...qa(1, "Define neoplasm (Robbins / Willis definition).",
'"An abnormal mass of tissue, the growth of which exceeds and is uncoordinated with that of normal tissues and persists after cessation of the stimuli that evoked the change." – Willis'));
children.push(subHeading("Benign vs. Malignant Tumours"));
const benMalTable = makeTable(
["Feature", "Benign", "Malignant"],
[
["Growth rate", "Slow", "Fast"],
["Encapsulation", "Usually capsulated", "Non-capsulated"],
["Border", "Well-defined", "Irregular / infiltrating"],
["Differentiation", "Well-differentiated", "Poorly differentiated"],
["Mitoses", "Rare / normal", "Frequent / abnormal"],
["Metastasis", "No", "Yes"],
["Necrosis", "Rare", "Common"],
["Recurrence", "Rare", "Common"],
]
);
children.push(benMalTable, spacer());
children.push(...qaList(3, "What is the nomenclature of tumours?", [
"Benign epithelial: adenoma (glandular), papilloma (surface)",
"Malignant epithelial: carcinoma (adeno-, squamous, transitional)",
"Benign mesenchymal: -oma (fibroma, lipoma, chondroma)",
"Malignant mesenchymal: sarcoma (fibro-, lipo-, osteo-)",
"Mixed: teratoma, carcinosarcoma",
]));
children.push(...qaList(4, "What is metastasis? Name the routes.", [
"Lymphatic – most common for carcinomas",
"Haematogenous – sarcomas, hepatocellular carcinoma",
"Transcoelomic – peritoneal/pleural cavity (e.g., ovarian Ca → Krukenberg tumour)",
"Perineural – prostate, pancreatic carcinoma",
]));
children.push(...qa(5, "What are proto-oncogenes? Give examples.",
"Normal genes that promote cell growth. When mutated → oncogenes that drive uncontrolled proliferation. Examples: RAS (point mutation), MYC (amplification), HER2/neu (amplification in breast Ca)."));
children.push(...qa(6, "What are tumour suppressor genes? Give examples.",
"Genes that brake cell proliferation. Two-hit hypothesis: loss of both alleles needed. Examples: RB (retinoblastoma), p53 (most commonly mutated gene in cancers), APC (colorectal Ca), BRCA1/2."));
children.push(...qa(7, "What is the role of p53 in cancer?",
"Called 'guardian of the genome.' Mutated/lost in ~50% of human cancers. Normally triggers G1/S cell cycle arrest and apoptosis after DNA damage. Loss allows damaged cells to proliferate → malignant transformation."));
children.push(...qa(8, "What is tumour grading vs. staging?",
"Grading = histological differentiation (Grade I = well-differentiated to Grade III/IV = poorly differentiated). Staging = extent of spread (TNM: T = tumour size, N = nodes, M = metastasis). Staging is more important for prognosis."));
children.push(...qaList(9, "What are carcinogens? Name types with examples.", [
"Chemical: polycyclic aromatic hydrocarbons (smoking), aflatoxin B1 (liver Ca), nitrosamines",
"Radiation: UV light (skin Ca – SCC, BCC), ionizing radiation (leukaemia)",
"Viral: HPV (cervical Ca), EBV (Burkitt's lymphoma, NPC), HBV/HCV (HCC), HTLV-1 (T cell leukaemia)",
"Bacterial: H. pylori (gastric Ca, MALT lymphoma)",
]));
children.push(...qaList(10, "What are the hallmarks of cancer (Hanahan & Weinberg)?", [
"Sustained proliferative signalling",
"Evasion of growth suppressors",
"Resistance to apoptosis",
"Replicative immortality (telomerase upregulation)",
"Induction of angiogenesis (VEGF)",
"Tissue invasion and metastasis",
"Reprogrammed energy metabolism (Warburg effect)",
"Evasion of immune destruction",
]));
children.push(...qa(11, "What is paraneoplastic syndrome? Give examples.",
"Signs/symptoms not due to local tumour or metastasis but from tumour-secreted substances. Examples: ACTH → Cushing syndrome (small cell lung Ca); PTHrP → hypercalcaemia (squamous cell lung Ca); EPO → polycythaemia (renal cell Ca)."));
// ════════════════════════════════════════════════════════════
// PAPER I continued – HAEMATOLOGY
// ════════════════════════════════════════════════════════════
children.push(unitHeading("UNIT 5: HAEMATOLOGY — ANAEMIAS"));
children.push(...qa(1, "Define anaemia. How is it classified?",
"Reduction in oxygen-carrying capacity of blood due to decreased RBC/Hb. By pathophysiology: blood loss, decreased production, increased destruction. By MCV: microcytic (<80 fL), normocytic (80–100 fL), macrocytic (>100 fL)."));
children.push(...qa(2, "What are the features of iron deficiency anaemia (IDA)?",
"Microcytic hypochromic anaemia. Low serum iron, low ferritin, raised TIBC. Blood smear: pencil cells, target cells, anisocytosis/poikilocytosis. Clinical: Koilonychia (spoon nails), angular stomatitis, Plummer-Vinson syndrome."));
children.push(subHeading("IDA vs. ACD vs. Thalassaemia – Comparison"));
const anaemiaTable = makeTable(
["Feature", "IDA", "ACD", "Thalassaemia"],
[
["Serum iron", "Low", "Low", "Normal / High"],
["TIBC", "High", "Low", "Normal"],
["Ferritin", "Low", "High", "Normal / High"],
["RDW", "High", "Normal", "Low / Normal"],
["HbA2", "Normal", "Normal", "Raised (β-thal)"],
]
);
children.push(anaemiaTable, spacer());
children.push(...qa(4, "What is megaloblastic anaemia? Causes?",
"Macrocytic anaemia due to impaired DNA synthesis → defective nuclear maturation with normal cytoplasm (nuclear-cytoplasmic dissociation). Causes: Vitamin B12 deficiency and Folic acid deficiency."));
children.push(...qa(5, "What is pernicious anaemia?",
"Autoimmune gastritis destroying parietal cells → loss of intrinsic factor → B12 malabsorption. Anti-parietal cell and anti-intrinsic factor antibodies present. Causes megaloblastic anaemia + subacute combined degeneration of spinal cord."));
children.push(...qa(6, "What is sickle cell disease? Pathophysiology?",
"Autosomal recessive; HbS – Glu→Val substitution at position 6 of β-globin chain. Deoxygenation → HbS polymerization → sickling → vaso-occlusion + haemolysis. Howell-Jolly bodies seen due to functional asplenia."));
children.push(...qa(7, "What is thalassaemia?",
"Inherited decreased synthesis of α- or β-globin chains. β-thalassaemia major (Cooley's anaemia): severe, transfusion-dependent, facial bone deformities, crew-cut skull X-ray. β-thal minor: mild microcytic anaemia, raised HbA2 (>3.5%) on electrophoresis."));
children.push(...qaList(8, "What is haemolytic anaemia? How to confirm haemolysis?", [
"Raised indirect (unconjugated) bilirubin",
"Raised LDH",
"Raised reticulocyte count (reticulocytosis)",
"Low serum haptoglobin",
"Haemoglobinuria (intravascular haemolysis only)",
]));
children.push(...qa(9, "What is hereditary spherocytosis?",
"Autosomal dominant; defect in spectrin/ankyrin/band 3 → spherical RBCs → splenic sequestration. Presents with splenomegaly, jaundice, pigment gallstones. Positive osmotic fragility test. Treatment: splenectomy."));
children.push(...qa(10, "What is aplastic anaemia?",
"Pancytopenia due to hypocellular bone marrow (fatty replacement of haemopoietic cells). Causes: autoimmune (most common), drugs (chloramphenicol, benzene), radiation, viral (hepatitis). Treated with BMT or immunosuppression."));
// White blood cell disorders
children.push(unitHeading("UNIT 6: WHITE BLOOD CELL DISORDERS & LYMPHOMAS"));
children.push(...qa(1, "What is leukaemia? How is it classified?",
"Malignant clonal proliferation of haemopoietic cells in bone marrow, spilling into blood. Classified as Acute (AML, ALL) vs. Chronic (CML, CLL); and Myeloid vs. Lymphoid."));
children.push(...qa(2, "What is the Philadelphia chromosome? In which disease?",
"t(9;22) translocation → BCR-ABL fusion gene → constitutively active tyrosine kinase → uncontrolled myeloid proliferation. Found in CML (and some ALL). Treated with imatinib (Gleevec)."));
children.push(subHeading("AML vs. ALL — Comparison"));
const leukaemiaTable = makeTable(
["Feature", "AML", "ALL"],
[
["Peak age", "Adults (>60 yr)", "Children (peak 2–5 yr)"],
["Auer rods", "Yes (pathognomonic)", "No"],
["Markers", "MPO+, CD33+, CD117+", "TdT+, CD19+ (B-ALL), CD3+ (T-ALL)"],
["CNS involvement", "Less common", "Common"],
["Prognosis", "Poorer", "Better (esp. children)"],
]
);
children.push(leukaemiaTable, spacer());
children.push(...qa(4, "What is Reed-Sternberg cell? In which disease?",
"Large binucleate/bilobed cell with prominent 'owl-eye' nucleoli. Pathognomonic of Hodgkin lymphoma. RS cells are CD15+ and CD30+ (B-cell origin, EBV-associated in many cases)."));
children.push(subHeading("Hodgkin vs. Non-Hodgkin Lymphoma"));
const lymphomaTable = makeTable(
["Feature", "Hodgkin Lymphoma", "Non-Hodgkin Lymphoma"],
[
["RS cells", "Present", "Absent"],
["Spread", "Contiguous (orderly)", "Non-contiguous"],
["B symptoms", "Common", "Less common"],
["Extranodal", "Rare", "Frequent"],
["Cure rate", "~80–90%", "Variable"],
["Age", "Bimodal (15–35 + >50)", "Any age"],
]
);
children.push(lymphomaTable, spacer());
// Bleeding disorders
children.push(unitHeading("UNIT 7: BLEEDING DISORDERS"));
children.push(...qaList(1, "Classify bleeding disorders.", [
"Platelet disorders: ITP (↓platelets), TTP/HUS",
"Coagulation factor disorders: Haemophilia A (Factor VIII), Haemophilia B (Factor IX – Christmas disease), von Willebrand disease",
"Vascular disorders: scurvy (↓collagen), Henoch-Schönlein purpura",
]));
children.push(...qa(2, "What is ITP? How to diagnose?",
"Immune Thrombocytopenic Purpura – IgG antibodies destroy platelets. Low platelet count with normal PT, normal aPTT. Bone marrow shows increased megakaryocytes. Managed with steroids, IVIg, or splenectomy."));
children.push(...qa(3, "Differentiate Haemophilia A and B.",
"Haemophilia A = Factor VIII deficiency; Haemophilia B = Factor IX deficiency. Both X-linked recessive (males affected). Both show prolonged aPTT with normal PT. Haemarthrosis (joint bleeding) is the hallmark clinical feature."));
children.push(tip("For viva: Always state the factor deficient, inheritance pattern, and the coagulation test that is prolonged for each haemophilia type."));
// ════════════════════════════════════════════════════════════
// PAPER II – SYSTEMIC PATHOLOGY
// ════════════════════════════════════════════════════════════
children.push(paperHeading("PAPER II — SYSTEMIC PATHOLOGY"));
// CVS
children.push(unitHeading("UNIT 8: CARDIOVASCULAR PATHOLOGY"));
children.push(...qa(1, "What is atherosclerosis? Key risk factors?",
"Chronic intimal disease of large/medium arteries with lipid-laden plaques (atheromas). Risk factors: hypertension, hypercholesterolaemia, diabetes mellitus, smoking, obesity, and family history."));
children.push(...qa(2, "What is the pathogenesis of atherosclerosis (response-to-injury)?",
"Endothelial injury → LDL accumulation → macrophage infiltration → foam cells (lipid-laden macrophages) → fatty streak → fibrous plaque with lipid core and fibrous cap → plaque rupture → thrombosis."));
children.push(...qa(3, "What is myocardial infarction? How is it confirmed?",
"Ischaemic necrosis of myocardium, usually from coronary artery thrombosis on a ruptured atherosclerotic plaque. Confirmed by: raised troponin I/T (most sensitive/specific), CK-MB, ECG changes (ST elevation in STEMI)."));
children.push(subHeading("Morphological Changes in MI Over Time"));
const miTable = makeTable(
["Timeframe", "Gross/Microscopic Change"],
[
["0–4 hours", "No gross change; wavy fibres on EM"],
["4–12 hours", "Coagulative necrosis begins; hypereosinophilic fibres"],
["12–24 hours", "Neutrophil infiltration; early coagulative necrosis"],
["1–3 days", "Maximum neutrophil infiltration; early macrophage arrival"],
["1–2 weeks", "Granulation tissue (macrophages, fibroblasts, new vessels)"],
[">6 weeks", "Dense fibrous scar (collagen)"],
]
);
children.push(miTable, spacer());
children.push(...qa(5, "What is rheumatic heart disease? Pathognomonic lesion?",
"Sequela of Group A Strep pharyngitis → autoimmune carditis. Pathognomonic lesion: Aschoff body (granuloma with Anitschkow cells – caterpillar/owl-eye nuclei). Mitral stenosis is the most common chronic valvular lesion."));
// Respiratory
children.push(unitHeading("UNIT 9: RESPIRATORY PATHOLOGY"));
children.push(...qa(1, "What is pneumonia? Classify it.",
"Inflammatory consolidation of lung parenchyma. By aetiology: bacterial (lobar – S. pneumoniae; bronchopneumonia – mixed flora), viral, atypical (Mycoplasma, Legionella). By distribution: lobar, bronchopneumonia, interstitial."));
children.push(...qaList(2, "What are the 4 stages of lobar pneumonia?", [
"Congestion (day 1–2): vascular engorgement, few bacteria",
"Red hepatization (day 2–4): RBCs + neutrophils, firm red liver-like texture",
"Grey hepatization (day 4–8): RBCs lysed, fibrin++, grey appearance",
"Resolution (day 8+): enzymatic digestion, clearing of exudate",
]));
children.push(...qa(3, "What is COPD? Types?",
"Chronic Obstructive Pulmonary Disease = persistent airflow obstruction. Types: Emphysema (permanent alveolar enlargement, loss of alveolar walls) and Chronic bronchitis (productive cough ≥3 months/year for ≥2 consecutive years)."));
children.push(...qaList(4, "What are the types of emphysema?", [
"Centrilobular (centriacinar) – smokers, involves respiratory bronchioles, upper lobes",
"Panacinar – α1-antitrypsin deficiency, affects entire acinus, lower lobes",
"Paraseptal (distal acinar) – subpleural; can cause spontaneous pneumothorax",
]));
children.push(...qa(5, "What is lung carcinoma? Most common type?",
"Most common cause of cancer death worldwide. Types: Adenocarcinoma (most common, peripheral, non-smokers possible), Squamous cell carcinoma (central/hilar, smokers, cavitates), Small cell carcinoma (neuroendocrine, worst prognosis, paraneoplastic syndromes), Large cell carcinoma."));
// GIT
children.push(unitHeading("UNIT 10: GASTROINTESTINAL PATHOLOGY"));
children.push(...qa(1, "What is peptic ulcer disease? Commonest site?",
"Mucosal break extending through muscularis mucosae. 95% caused by H. pylori or NSAIDs. Duodenum (D1/first part) is the most common site (4:1 ratio over gastric ulcer). Chronic gastric ulcer occurs on the lesser curvature."));
children.push(subHeading("Crohn's Disease vs. Ulcerative Colitis"));
const ibdTable = makeTable(
["Feature", "Crohn's Disease", "Ulcerative Colitis"],
[
["Distribution", "Mouth to anus (skip lesions)", "Rectum upward (continuous)"],
["Layers affected", "Transmural", "Mucosa/submucosa only"],
["Granulomas", "Yes (non-caseating)", "No"],
["Fistula", "Common", "Rare"],
["Malignancy risk", "Low", "High (duration-dependent)"],
["Terminal ileum", "Commonly involved", "Not involved"],
["Pseudopolyps", "Rare", "Common"],
]
);
children.push(ibdTable, spacer());
children.push(...qa(3, "What is carcinoid tumour?",
"Well-differentiated neuroendocrine tumour, most common in ileum and appendix. Secretes serotonin → carcinoid syndrome (flushing, diarrhoea, bronchospasm, right heart lesions) when hepatic metastases are present. Chromogranin A is the tumour marker."));
// Hepatobiliary
children.push(unitHeading("UNIT 11: HEPATOBILIARY PATHOLOGY"));
children.push(subHeading("Types of Jaundice"));
const jaunTable = makeTable(
["Type", "Bilirubin", "Urine Bili", "Stool colour", "Example"],
[
["Pre-hepatic (haemolytic)", "↑ Indirect", "Absent (acholuric)", "Normal/Dark", "Haemolytic anaemia"],
["Hepatic (hepatocellular)", "Both fractions raised", "Present", "Pale/Normal", "Viral hepatitis, cirrhosis"],
["Post-hepatic (obstructive)", "↑ Direct", "Present", "Pale/clay", "Gallstones, Ca head pancreas"],
]
);
children.push(jaunTable, spacer());
children.push(...qa(2, "What is cirrhosis? Commonest causes?",
"Diffuse fibrosis with nodule formation, disrupting normal hepatic architecture. Causes: alcohol (most common in Western countries), viral hepatitis B/C (most common globally), NASH, autoimmune, metabolic (Wilson's disease, haemochromatosis)."));
children.push(...qa(3, "What is hepatocellular carcinoma (HCC)? Risk factors?",
"Primary liver malignancy, most common primary liver cancer. Risk factors: HBV/HCV (chronic infection), cirrhosis, aflatoxin B1 (Aspergillus on stored grain), alcohol. Tumour marker: AFP (alpha-fetoprotein) raised."));
// Renal
children.push(unitHeading("UNIT 12: RENAL PATHOLOGY"));
children.push(subHeading("Nephritic vs. Nephrotic Syndrome"));
const renalTable = makeTable(
["Feature", "Nephritic Syndrome", "Nephrotic Syndrome"],
[
["Haematuria", "Yes (RBC casts)", "No"],
["Proteinuria", "Mild (<3.5 g/day)", "Heavy (>3.5 g/day)"],
["Oedema", "Mild", "Massive (anasarca)"],
["Hypertension", "Raised", "Normal / mildly raised"],
["Lipiduria", "No", "Yes (Maltese cross)"],
["Classic example", "Post-strep GN", "Minimal change disease (children)"],
]
);
children.push(renalTable, spacer());
children.push(...qa(2, "What is post-streptococcal glomerulonephritis?",
"Occurs 1–3 weeks after Group A Strep pharyngitis/skin infection. Immune complex (Type III hypersensitivity) deposition in glomeruli. EM: sub-epithelial 'humps.' Low C3, haematuria, oliguria, hypertension. Self-limiting in children."));
children.push(...qa(3, "What is minimal change disease?",
"Most common cause of nephrotic syndrome in children. LM normal, IF no deposits, EM shows podocyte foot process effacement. Excellent response to steroids."));
children.push(...qa(4, "What is the difference between acute and chronic pyelonephritis?",
"Acute: bacterial (E. coli), neutrophilic infiltration, tubular abscesses, corticomedullary scarring. Chronic: repeated infections → coarse cortical scars at poles, atrophic tubules with colloid casts ('thyroidization of kidney')."));
// Endocrine
children.push(unitHeading("UNIT 13: ENDOCRINE PATHOLOGY"));
children.push(...qa(1, "What is Hashimoto's thyroiditis?",
"Autoimmune thyroiditis – most common cause of hypothyroidism in iodine-sufficient areas. Anti-TPO and anti-thyroglobulin antibodies. Histology: lymphocytic infiltration with germinal centres + Hurthle (Askanazy) cell change. ↑Risk of thyroid lymphoma."));
children.push(...qa(2, "What is Graves' disease?",
"Autoimmune hyperthyroidism – TSH receptor-stimulating antibodies (TRAb). Clinical triad: diffuse goitre + exophthalmos + pretibial myxoedema. Most common cause of hyperthyroidism. Histology: tall follicular cells, scalloped colloid."));
children.push(...qa(3, "What are the features of papillary thyroid carcinoma?",
"Most common thyroid malignancy. 'Orphan Annie eye' nuclei (clear/ground-glass), nuclear grooves, psammoma bodies (concentric calcifications). Spreads via lymphatics. BRAF V600E mutation common. Best prognosis among thyroid malignancies."));
// ── TIPS PAGE ─────────────────────────────────────────────────
children.push(new Paragraph({ pageBreakBefore: true, children: [] }));
children.push(new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "MGR University Viva Preparation Tips", bold: true, size: 32, color: DARK_BLUE, font: "Calibri" })],
spacing: { before: 0, after: 200 },
}));
const tips = [
"Know Robbins definitions verbatim – examiners often quote directly from the textbook.",
"Always mention the morphological hallmarks: Aschoff body, Auer rod, Reed-Sternberg cell, Orphan Annie nuclei, caseous necrosis, etc.",
"For each condition learn the sequence: Definition → Pathogenesis → Morphology → Clinical features → Investigations.",
"Paper I (General Pathology + Haematology) and Paper II (Systemic Pathology) are examined separately – plan revision accordingly.",
"Staining methods are high-yield: Congo red (amyloid), ZN stain (AFB/TB), PAS (fungi, glycogen), Perl's Prussian blue (iron), Sudan III (fat).",
"For haematology, always quote the specific factor/gene/chromosome involved.",
"For neoplasia, remember: oncogene mutations are gain-of-function; tumour suppressor gene mutations are loss-of-function.",
"Hypersensitivity types frequently appear in viva: Type I (anaphylaxis/IgE), Type II (cytotoxic/IgG/IgM), Type III (immune complex), Type IV (cell-mediated/delayed).",
"Inflammatory markers: ESR, CRP, WBC count – know which rise in acute vs. chronic inflammation.",
"Tumour markers to memorise: AFP (HCC, testicular), CEA (colon Ca), CA-125 (ovarian), PSA (prostate), β-hCG (choriocarcinoma).",
];
tips.forEach((t, i) => {
children.push(new Paragraph({
bullet: { level: 0 },
children: [new TextRun({ text: `${t}`, size: 21, font: "Calibri", color: "1A1A1A" })],
spacing: { before: 60, after: 60 },
indent: { left: 360 },
}));
});
children.push(spacer(), new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "Source: Robbins & Kumar Basic Pathology (9780323790185) & Robbins, Cotran & Kumar Pathologic Basis of Disease (9780443264528)", size: 18, italics: true, color: "777777", font: "Calibri" })],
}));
// ─── ASSEMBLE DOCUMENT ───────────────────────────────────────────────────────
const doc = new Document({
creator: "Orris AI – Medical Assistant",
title: "2nd Year MBBS Pathology Viva Q&A – MGR University",
description: "Unit-wise viva questions and answers based on Robbins & Kumar Basic Pathology",
styles: {
default: {
document: {
run: { font: "Calibri", size: 21 },
},
},
},
sections: [{
properties: {
page: {
margin: { top: 720, bottom: 720, left: 900, right: 720 },
},
},
headers: {
default: new Header({
children: [new Paragraph({
children: [
new TextRun({ text: "2nd Year MBBS Pathology Viva Q&A | MGR University | Based on Robbins", size: 18, color: "777777", font: "Calibri" }),
],
alignment: AlignmentType.RIGHT,
})],
}),
},
footers: {
default: new Footer({
children: [new Paragraph({
children: [
new TextRun({ text: "Page ", size: 18, color: "777777", font: "Calibri" }),
new TextRun({ children: [PageNumber.CURRENT], size: 18, color: "777777", font: "Calibri" }),
new TextRun({ text: " of ", size: 18, color: "777777", font: "Calibri" }),
new TextRun({ children: [PageNumber.TOTAL_PAGES], size: 18, color: "777777", font: "Calibri" }),
],
alignment: AlignmentType.CENTER,
})],
}),
},
children,
}],
});
Packer.toBuffer(doc).then(buffer => {
fs.writeFileSync("/home/daytona/workspace/pathology-viva/Pathology_Viva_QA_MGR.docx", buffer);
console.log("Document created successfully.");
});
cd /home/daytona/workspace/pathology-viva && node create_viva.js 2>&1
python3 /home/daytona/skills/docx/scripts/office/validate.py /home/daytona/workspace/pathology-viva/Pathology_Viva_QA_MGR.docx 2>&1
ls -lh /home/daytona/workspace/pathology-viva/Pathology_Viva_QA_MGR.docx && python3 -c "import zipfile; z=zipfile.ZipFile('/home/daytona/workspace/pathology-viva/Pathology_Viva_QA_MGR.docx'); print('Valid ZIP with files:', z.namelist()[:8])"
Pathology Viva QA MGR
Word Document · DOCX
What about pediatric tumors and genetics chapter in pathology??
| Age 0-4 Years | Age 5-9 Years | Age 10-14 Years |
|---|---|---|
| Leukemia | Leukemia | Leukemia |
| Retinoblastoma | Retinoblastoma | Hepatocellular carcinoma |
| Neuroblastoma | Neuroblastoma | Soft tissue sarcoma |
| Wilms tumor | Hepatocellular Ca | Osteosarcoma |
| Hepatoblastoma | Soft tissue sarcoma | Thyroid carcinoma |
| Rhabdomyosarcoma | Ewing sarcoma | Hodgkin lymphoma |
| Feature | Klinefelter (47,XXY) | Turner (45,X) |
|---|---|---|
| Sex | Male | Female (phenotype) |
| Karyotype | 47,XXY (or 48,XXXY) | 45,X or mosaic |
| Barr bodies | Yes (1 Barr body) | No |
| Stature | Tall | Short |
| Gonads | Small testes, fibrosis | Streak ovaries |
| Fertility | Infertile (azoospermia) | Infertile |
| Hormones | Low testosterone, ↑ FSH/LH | Low estrogen, ↑ FSH/LH |
| Cardiac | Rare | Coarctation of aorta |
Source: Robbins & Kumar Basic Pathology (Chapters 4 & 5), ISBN 9780323790185, as indexed in the medical library.
Please create all of this into a pdf
python3 -c "import reportlab; print(reportlab.Version)"
~/pathology-viva/create_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import mm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
PageBreak, HRFlowable, KeepTogether
)
from reportlab.platypus.flowables import Flowable
from reportlab.pdfgen import canvas
from reportlab.lib.colors import HexColor
# ── Colour palette ─────────────────────────────────────────────
DARK_BLUE = HexColor("#1F3864")
MED_BLUE = HexColor("#2E74B5")
LIGHT_BLUE = HexColor("#D6E4F0")
Q_BG = HexColor("#EBF5FB")
ACCENT = HexColor("#C0392B")
LIGHT_ACCENT= HexColor("#FDEDEC")
TABLE_HDR = HexColor("#1F3864")
TABLE_ALT = HexColor("#EBF5FB")
GOLD = HexColor("#F39C12")
TIP_BG = HexColor("#FEF9E7")
WHITE = colors.white
BLACK = HexColor("#1A1A1A")
GREY = HexColor("#777777")
DARK_GREEN = HexColor("#1E8449")
W, H = A4
MARGIN = 18*mm
# ── Styles ──────────────────────────────────────────────────────
def make_styles():
base = getSampleStyleSheet()
s = {}
s['cover_title'] = ParagraphStyle('cover_title',
fontName='Helvetica-Bold', fontSize=26, textColor=DARK_BLUE,
alignment=TA_CENTER, spaceAfter=6)
s['cover_sub'] = ParagraphStyle('cover_sub',
fontName='Helvetica-Bold', fontSize=18, textColor=MED_BLUE,
alignment=TA_CENTER, spaceAfter=4)
s['cover_body'] = ParagraphStyle('cover_body',
fontName='Helvetica', fontSize=12, textColor=GREY,
alignment=TA_CENTER, spaceAfter=3)
s['paper_heading'] = ParagraphStyle('paper_heading',
fontName='Helvetica-Bold', fontSize=15, textColor=WHITE,
alignment=TA_CENTER, spaceAfter=4, spaceBefore=2,
leftIndent=0, rightIndent=0, leading=20)
s['unit_heading'] = ParagraphStyle('unit_heading',
fontName='Helvetica-Bold', fontSize=12, textColor=WHITE,
alignment=TA_LEFT, spaceAfter=3, spaceBefore=2,
leftIndent=2, leading=16)
s['sub_heading'] = ParagraphStyle('sub_heading',
fontName='Helvetica-Bold', fontSize=11, textColor=DARK_BLUE,
alignment=TA_LEFT, spaceAfter=3, spaceBefore=6, leading=14)
s['section_heading'] = ParagraphStyle('section_heading',
fontName='Helvetica-Bold', fontSize=10, textColor=MED_BLUE,
alignment=TA_LEFT, spaceAfter=2, spaceBefore=4, leading=13)
s['q_text'] = ParagraphStyle('q_text',
fontName='Helvetica-Bold', fontSize=9.5, textColor=BLACK,
alignment=TA_LEFT, spaceAfter=1, leading=13, leftIndent=4)
s['q_num'] = ParagraphStyle('q_num',
fontName='Helvetica-Bold', fontSize=9.5, textColor=ACCENT,
alignment=TA_LEFT, spaceAfter=0, leading=13)
s['a_text'] = ParagraphStyle('a_text',
fontName='Helvetica', fontSize=9, textColor=BLACK,
alignment=TA_JUSTIFY, spaceAfter=4, leading=13, leftIndent=4)
s['bullet'] = ParagraphStyle('bullet',
fontName='Helvetica', fontSize=9, textColor=BLACK,
alignment=TA_LEFT, spaceAfter=1, leading=12,
leftIndent=14, bulletIndent=4, leading=12)
s['tip'] = ParagraphStyle('tip',
fontName='Helvetica-Oblique', fontSize=8.5, textColor=HexColor("#7D6608"),
alignment=TA_LEFT, spaceAfter=2, leading=12, leftIndent=4)
s['footer'] = ParagraphStyle('footer',
fontName='Helvetica', fontSize=8, textColor=GREY,
alignment=TA_CENTER)
s['source'] = ParagraphStyle('source',
fontName='Helvetica-Oblique', fontSize=7.5, textColor=GREY,
alignment=TA_CENTER, spaceAfter=2)
s['normal'] = ParagraphStyle('normal',
fontName='Helvetica', fontSize=9, textColor=BLACK,
alignment=TA_JUSTIFY, leading=13, spaceAfter=2)
return s
ST = make_styles()
# ── Header / Footer canvas ──────────────────────────────────────
class NumberedCanvas(canvas.Canvas):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._saved_page_states = []
def showPage(self):
self._saved_page_states.append(dict(self.__dict__))
self._startPage()
def save(self):
num_pages = len(self._saved_page_states)
for state in self._saved_page_states:
self.__dict__.update(state)
self.draw_page_decorations(num_pages)
super().showPage()
super().save()
def draw_page_decorations(self, page_count):
pg = self._pageNumber
if pg == 1:
return # skip cover page
# Header bar
self.setFillColor(DARK_BLUE)
self.rect(MARGIN, H - 14*mm, W - 2*MARGIN, 7*mm, fill=1, stroke=0)
self.setFillColor(WHITE)
self.setFont("Helvetica-Bold", 7.5)
self.drawString(MARGIN + 3, H - 9.5*mm,
"2nd Year MBBS Pathology Viva Q&A | MGR University | Based on Robbins & Kumar")
self.setFont("Helvetica", 7.5)
self.drawRightString(W - MARGIN - 3, H - 9.5*mm, f"Page {pg} of {page_count}")
# Footer line
self.setStrokeColor(MED_BLUE)
self.setLineWidth(0.5)
self.line(MARGIN, 12*mm, W - MARGIN, 12*mm)
self.setFillColor(GREY)
self.setFont("Helvetica-Oblique", 7)
self.drawCentredString(W/2, 8*mm, "Source: Robbins & Kumar Basic Pathology (9780323790185)")
# ── Helper flowable builders ────────────────────────────────────
def paper_banner(text):
tbl = Table([[Paragraph(text, ST['paper_heading'])]],
colWidths=[W - 2*MARGIN])
tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), DARK_BLUE),
('TOPPADDING', (0,0), (-1,-1), 8),
('BOTTOMPADDING', (0,0), (-1,-1), 8),
('LEFTPADDING', (0,0), (-1,-1), 10),
('RIGHTPADDING', (0,0), (-1,-1), 10),
('ROUNDEDCORNERS', [4,4,4,4]),
]))
return [PageBreak(), tbl, Spacer(1, 6*mm)]
def unit_banner(text):
tbl = Table([[Paragraph(text, ST['unit_heading'])]],
colWidths=[W - 2*MARGIN])
tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), MED_BLUE),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('ROUNDEDCORNERS', [3,3,3,3]),
]))
return [Spacer(1, 3*mm), tbl, Spacer(1, 3*mm)]
def section_banner(text):
tbl = Table([[Paragraph(text, ST['section_heading'])]],
colWidths=[W - 2*MARGIN])
tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), LIGHT_BLUE),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 8),
]))
return [Spacer(1, 2*mm), tbl, Spacer(1, 2*mm)]
def qa_block(num, question, answer_lines, is_list=False):
"""answer_lines: str for single answer, list of str for bullets"""
col_w = W - 2*MARGIN
# Question row
q_cell = Paragraph(f'<font color="#C0392B"><b>Q{num}.</b></font> <b>{question}</b>', ST['q_text'])
q_tbl = Table([[q_cell]], colWidths=[col_w])
q_tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), Q_BG),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('RIGHTPADDING', (0,0), (-1,-1), 8),
('BOX', (0,0), (-1,-1), 0.5, MED_BLUE),
('ROUNDEDCORNERS', [2,2,0,0]),
]))
items = []
if is_list:
for line in answer_lines:
items.append(Paragraph(f'• {line}', ST['bullet']))
else:
items.append(Paragraph(
f'<font color="#2E74B5"><b>A:</b></font> {answer_lines}', ST['a_text']))
a_tbl = Table([[items[0] if len(items)==1 else
Table([[i] for i in items],
colWidths=[col_w-16],
style=[('TOPPADDING',(0,0),(-1,-1),1),
('BOTTOMPADDING',(0,0),(-1,-1),1),
('LEFTPADDING',(0,0),(-1,-1),0),
('RIGHTPADDING',(0,0),(-1,-1),0)])
]],
colWidths=[col_w])
if is_list:
answer_content = []
for line in answer_lines:
answer_content.append([Paragraph(f'• {line}', ST['bullet'])])
a_inner = Table(answer_content, colWidths=[col_w - 20])
a_inner.setStyle(TableStyle([
('TOPPADDING', (0,0), (-1,-1), 1),
('BOTTOMPADDING', (0,0), (-1,-1), 1),
('LEFTPADDING', (0,0), (-1,-1), 0),
('RIGHTPADDING', (0,0), (-1,-1), 0),
]))
label = Paragraph('<font color="#2E74B5"><b>A:</b></font>', ST['a_text'])
a_tbl = Table([[label, a_inner]], colWidths=[20, col_w-20])
a_tbl.setStyle(TableStyle([
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING', (0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 8),
('RIGHTPADDING', (0,0), (-1,-1), 8),
('VALIGN', (0,0), (-1,-1), 'TOP'),
]))
else:
a_tbl = Table([[Paragraph(
f'<font color="#2E74B5"><b>A:</b></font> {answer_lines}', ST['a_text'])]],
colWidths=[col_w])
a_tbl.setStyle(TableStyle([
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('RIGHTPADDING', (0,0), (-1,-1), 8),
('LINEBELOW', (0,0), (-1,-1), 0.3, HexColor("#CCCCCC")),
]))
return KeepTogether([q_tbl, a_tbl, Spacer(1, 2.5*mm)])
def comparison_table(headers, rows):
col_count = len(headers)
col_w = (W - 2*MARGIN) / col_count
header_row = [Paragraph(f'<b>{h}</b>', ParagraphStyle('th',
fontName='Helvetica-Bold', fontSize=8.5, textColor=WHITE,
alignment=TA_CENTER, leading=11)) for h in headers]
data = [header_row]
for i, row in enumerate(rows):
data.append([Paragraph(str(cell), ParagraphStyle('td',
fontName='Helvetica-Bold' if j==0 else 'Helvetica',
fontSize=8.5, textColor=BLACK, leading=11,
alignment=TA_LEFT)) for j, cell in enumerate(row)])
tbl = Table(data, colWidths=[col_w]*col_count, repeatRows=1)
style = [
('BACKGROUND', (0,0), (-1,0), TABLE_HDR),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 5),
('RIGHTPADDING', (0,0), (-1,-1), 5),
('GRID', (0,0), (-1,-1), 0.4, HexColor("#BBBBBB")),
('VALIGN', (0,0), (-1,-1), 'TOP'),
('ROWBACKGROUNDS', (0,1), (-1,-1), [TABLE_ALT, WHITE]),
]
tbl.setStyle(TableStyle(style))
return [tbl, Spacer(1, 3*mm)]
def tip_box(text):
tbl = Table([[Paragraph(f'<b>💡 Exam Tip:</b> {text}', ST['tip'])]],
colWidths=[W - 2*MARGIN])
tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), TIP_BG),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('BOX', (0,0), (-1,-1), 0.5, GOLD),
]))
return [tbl, Spacer(1, 2*mm)]
def sp(n=1):
return Spacer(1, n*mm)
# ═══════════════════════════════════════════════════════════════
# CONTENT BUILDER
# ═══════════════════════════════════════════════════════════════
def build_content():
story = []
# ── COVER PAGE ──────────────────────────────────────────────
story.append(sp(30))
story.append(Paragraph("2nd Year MBBS Pathology", ST['cover_title']))
story.append(Paragraph("Unit-wise Viva Q&A", ST['cover_sub']))
story.append(sp(3))
story.append(HRFlowable(width="60%", thickness=2, color=MED_BLUE, spaceAfter=8))
story.append(Paragraph("Based on <b>Robbins & Kumar Basic Pathology</b>", ST['cover_body']))
story.append(sp(4))
story.append(Paragraph("<b>Dr. M.G.R. Medical University</b>", ST['cover_body']))
story.append(Paragraph("Paper I: General Pathology & Haematology", ST['cover_body']))
story.append(Paragraph("Paper II: Systemic Pathology", ST['cover_body']))
story.append(Paragraph("Pediatric Tumors & Genetic Disorders", ST['cover_body']))
story.append(sp(8))
story.append(HRFlowable(width="60%", thickness=1, color=LIGHT_BLUE, spaceAfter=6))
story.append(Paragraph("Exam-Ready Short Answers for Viva Voce", ParagraphStyle('ct2',
fontName='Helvetica-BoldOblique', fontSize=11, textColor=ACCENT, alignment=TA_CENTER)))
story.append(PageBreak())
# ═══════════════════════════════════════════════════
# PAPER I — GENERAL PATHOLOGY & HAEMATOLOGY
# ═══════════════════════════════════════════════════
story += paper_banner("PAPER I — GENERAL PATHOLOGY & HAEMATOLOGY")
# ── UNIT 1: CELL INJURY ──────────────────────────
story += unit_banner("UNIT 1: CELL INJURY, ADAPTATION & CELL DEATH")
story.append(qa_block(1, "What is the most common cause of reversible cell injury?",
"Ischemia (reduced blood supply) is the most common cause, leading to decreased ATP, Na/K pump failure, and cell swelling (hydropic change)."))
story.append(qa_block(2, "What are the morphological features of reversible cell injury?",
"Cell swelling (hydropic/vacuolar degeneration), fatty change, clumping of nuclear chromatin, and membrane blebs. All changes reverse on restoration of blood flow."))
story.append(qa_block(3, "What are the two types of cell death?",
"Necrosis (uncontrolled, always pathological, causes inflammation) and Apoptosis (programmed, caspase-mediated, no inflammation, may be physiological or pathological)."))
story.append(qa_block(4, "Name the types of necrosis with examples.",
["Coagulative – most organs, ischemia; architecture preserved (e.g., MI)",
"Liquefactive – brain, abscess (pus formation)",
"Caseous – TB (cheese-like, surrounded by granuloma)",
"Fat necrosis – pancreas (enzymatic) and breast (traumatic)",
"Fibrinoid – blood vessel walls (immune complex deposition)",
"Gangrenous – limbs (wet/dry/gas gangrene)"], is_list=True))
story.append(qa_block(5, "What is apoptosis? Name its two pathways.",
["Programmed cell death mediated by caspases",
"Intrinsic (mitochondrial): DNA damage → cytochrome c release → caspase-9 → caspase-3",
"Extrinsic (death receptor): FasL/TNF binds receptor → caspase-8 → caspase-3"], is_list=True))
story.append(qa_block(6, "What are cellular adaptations? Name them.",
["Hypertrophy – increased cell size (e.g., cardiac hypertrophy in hypertension)",
"Hyperplasia – increased cell number (e.g., endometrial hyperplasia)",
"Atrophy – decreased cell size/number (e.g., denervation atrophy)",
"Metaplasia – one adult cell type replaced by another (e.g., Barrett's oesophagus: squamous → columnar)"], is_list=True))
story.append(qa_block(7, "What is dystrophic vs. metastatic calcification?",
"Dystrophic = calcium in dead/damaged tissue; serum calcium NORMAL (e.g., TB, atherosclerosis). Metastatic = calcium in NORMAL tissue due to hypercalcaemia (e.g., hyperparathyroidism)."))
story.append(qa_block(8, "What are the 4 major mechanisms of cell injury (Robbins)?",
["Mitochondrial damage (ATP depletion)",
"Increased ROS / oxidative stress",
"Increased cytosolic Ca²⁺",
"Loss of membrane integrity (plasma + lysosomal)"], is_list=True))
story.append(qa_block(9, "What is lipofuscin? Its significance?",
'"Wear and tear pigment" – yellowish-brown lipid-protein complexes accumulating in heart/liver with aging. Marker of aging/atrophy; not harmful.'))
story.append(qa_block(10, "What is cellular aging? Key mechanisms?",
["Telomere shortening (key mechanism)",
"Accumulation of DNA damage",
"Defective protein homeostasis (autophagy failure)",
"Epigenetic changes"], is_list=True))
# ── UNIT 2: INFLAMMATION ─────────────────────────
story += unit_banner("UNIT 2: INFLAMMATION, REPAIR & WOUND HEALING")
story.append(qa_block(1, "Define inflammation.",
"A protective vascular and cellular response to injury or infection, aimed at eliminating the causative agent and initiating repair. Can cause damage if uncontrolled."))
story.append(qa_block(2, "What are the 5 cardinal signs of inflammation?",
["Rubor (redness)", "Calor (heat)", "Tumor (swelling)", "Dolor (pain)",
"Functio laesa (loss of function) – added by Virchow"], is_list=True))
story.append(qa_block(3, "What is the sequence of leukocyte events in acute inflammation?",
["Margination and rolling (selectins – P-selectin, E-selectin)",
"Adhesion (integrins – ICAM-1, VCAM-1)",
"Transmigration / Diapedesis (PECAM-1 / CD31)",
"Chemotaxis (C5a, IL-8, LTB4, bacterial products)",
"Phagocytosis and killing (respiratory burst)"], is_list=True))
story += section_banner("Key Mediators of Inflammation")
story += comparison_table(
["Mediator", "Source", "Action"],
[["Histamine", "Mast cells", "Vasodilation, ↑permeability (early)"],
["PGE2 / PGI2", "Arachidonic acid (COX)", "Vasodilation, pain, fever"],
["LTB4", "Arachidonic acid (LOX)", "Chemotaxis of neutrophils"],
["C3a, C5a", "Complement", "Chemotaxis, opsonization, mast cell degranulation"],
["IL-1, TNF-α", "Macrophages", "Fever, acute phase response"],
["NO", "Endothelium", "Vasodilation"]])
story.append(qa_block(5, "What is a granuloma? Name the types.",
"Focal aggregate of activated macrophages (epithelioid cells), often with giant cells. Caseating (TB – central necrosis) vs. Non-caseating (sarcoidosis, Crohn's, foreign body)."))
story.append(qa_block(6, "What are the types of giant cells?",
["Langhans giant cell – nuclei in horseshoe periphery; TB",
"Foreign body giant cell – nuclei central/scattered; foreign material",
"Touton giant cell – foamy cytoplasm; fat necrosis, xanthoma"], is_list=True))
story.append(qa_block(7, "What are the 3 phases of wound healing?",
["Inflammatory phase (0–3 days): neutrophils then macrophages",
"Proliferative phase (3–21 days): fibroblasts, angiogenesis, granulation tissue",
"Remodelling phase (weeks–months): collagen reorganization, scar maturation"], is_list=True))
story.append(qa_block(8, "What is keloid vs. hypertrophic scar?",
"Both involve excess collagen. Hypertrophic scar stays within wound boundaries. Keloid extends beyond original wound margins and does NOT regress spontaneously."))
# ── UNIT 3: HAEMODYNAMIC DISORDERS ───────────────
story += unit_banner("UNIT 3: HAEMODYNAMIC DISORDERS")
story.append(qa_block(1, "What is Virchow's triad?",
["Endothelial injury",
"Abnormal blood flow (stasis / turbulence)",
"Hypercoagulability"], is_list=True))
story.append(qa_block(2, "Differentiate thrombus from clot.",
"Thrombus – formed in vivo, adherent to vessel, has lines of Zahn (ante-mortem indicator). Clot – post-mortem/in vitro, gelatinous, no lines of Zahn."))
story.append(qa_block(3, "What are the types of embolism?",
["Thromboembolus (most common, >99%)",
"Fat embolism (long bone fracture)",
"Air embolism",
"Amniotic fluid embolism",
"Tumour emboli"], is_list=True))
story.append(qa_block(4, "What is infarction? Name the types.",
"Area of ischaemic necrosis from arterial/venous occlusion. Red (haemorrhagic) = lungs, intestine, testes (dual supply). Pale (anaemic) = heart, kidney, spleen (end-arterial supply)."))
story.append(qa_block(5, "What is shock? Classify it.",
["Cardiogenic – pump failure (MI, arrhythmia)",
"Hypovolaemic – blood/fluid loss",
"Septic – most common distributive shock (endotoxin-induced vasodilation)",
"Anaphylactic – IgE-mediated",
"Neurogenic – loss of sympathetic tone"], is_list=True))
# ── UNIT 4: NEOPLASIA ─────────────────────────────
story += unit_banner("UNIT 4: NEOPLASIA")
story.append(qa_block(1, "Define neoplasm (Willis definition).",
'"An abnormal mass of tissue, the growth of which exceeds and is uncoordinated with that of normal tissues and persists after cessation of the stimuli that evoked the change."'))
story += section_banner("Benign vs. Malignant Tumours")
story += comparison_table(
["Feature", "Benign", "Malignant"],
[["Growth rate", "Slow", "Fast"],
["Capsule", "Usually capsulated", "Non-capsulated"],
["Border", "Well-defined", "Irregular / infiltrating"],
["Differentiation", "Well-differentiated", "Poorly differentiated"],
["Mitoses", "Rare / normal", "Frequent / abnormal"],
["Metastasis", "Never", "Yes"],
["Recurrence", "Rare", "Common"]])
story.append(qa_block(3, "What are the routes of metastasis?",
["Lymphatic – most common for carcinomas",
"Haematogenous – sarcomas, hepatocellular Ca",
"Transcoelomic – ovarian Ca → Krukenberg tumour",
"Perineural – prostate Ca, pancreatic Ca"], is_list=True))
story.append(qa_block(4, "What is the role of p53 in cancer?",
"Called 'guardian of the genome.' Mutated/lost in ~50% of human cancers. Normally triggers G1/S cell cycle arrest and apoptosis after DNA damage. Its loss allows damaged cells to proliferate → malignant transformation."))
story.append(qa_block(5, "What is tumour grading vs. staging?",
"Grading = histological differentiation (Grade I well-differentiated to Grade IV poorly differentiated). Staging = extent of spread (TNM: T = tumour size, N = nodes, M = metastasis). Staging is more important for prognosis."))
story.append(qa_block(6, "Name types of carcinogens with examples.",
["Chemical: PAH (smoking), aflatoxin B1 (HCC), nitrosamines",
"Radiation: UV light (skin Ca – SCC/BCC), ionizing (leukaemia)",
"Viral: HPV (cervical Ca), EBV (Burkitt's lymphoma), HBV/HCV (HCC), HTLV-1 (T-cell leukaemia)",
"Bacterial: H. pylori (gastric Ca, MALT lymphoma)"], is_list=True))
story.append(qa_block(7, "What are the hallmarks of cancer (Hanahan & Weinberg)?",
["Sustained proliferative signalling", "Evasion of growth suppressors",
"Resistance to apoptosis", "Replicative immortality (telomerase)",
"Induction of angiogenesis (VEGF)", "Tissue invasion and metastasis",
"Reprogrammed energy metabolism (Warburg effect)",
"Evasion of immune destruction"], is_list=True))
# ── UNIT 5: HAEMATOLOGY ───────────────────────────
story += unit_banner("UNIT 5: HAEMATOLOGY — ANAEMIAS")
story.append(qa_block(1, "Define anaemia. How is it classified?",
"Reduction in oxygen-carrying capacity. By MCV: microcytic (<80 fL), normocytic (80-100 fL), macrocytic (>100 fL). By pathophysiology: blood loss, decreased production, increased destruction."))
story.append(qa_block(2, "What are the features of iron deficiency anaemia?",
"Microcytic hypochromic anaemia. Low serum iron, low ferritin, raised TIBC. Blood smear: pencil cells, target cells. Clinical: koilonychia, angular stomatitis, Plummer-Vinson syndrome."))
story += section_banner("IDA vs. ACD vs. Thalassaemia")
story += comparison_table(
["Feature", "IDA", "ACD", "Thalassaemia"],
[["Serum iron", "Low", "Low", "Normal/High"],
["TIBC", "High", "Low", "Normal"],
["Ferritin", "Low", "High", "Normal/High"],
["RDW", "High", "Normal", "Low/Normal"],
["HbA2", "Normal", "Normal", "Raised (β-thal)"]])
story.append(qa_block(4, "What is pernicious anaemia?",
"Autoimmune gastritis destroying parietal cells → loss of intrinsic factor → B12 malabsorption. Anti-parietal cell and anti-intrinsic factor antibodies. Causes megaloblastic anaemia + subacute combined degeneration of spinal cord."))
story.append(qa_block(5, "What is sickle cell disease? Pathophysiology?",
"Autosomal recessive; HbS – Glu→Val substitution at β-globin position 6. Deoxygenation → HbS polymerization → sickling → vaso-occlusion + haemolysis. Howell-Jolly bodies due to functional asplenia."))
story.append(qa_block(6, "What is hereditary spherocytosis?",
"Autosomal dominant; defect in spectrin/ankyrin/band 3 → spherical RBCs → splenic sequestration. Splenomegaly, jaundice, pigment gallstones. Positive osmotic fragility test. Treatment: splenectomy."))
story.append(qa_block(7, "What is aplastic anaemia?",
"Pancytopenia due to hypocellular bone marrow (fatty replacement). Causes: autoimmune (most common), drugs (chloramphenicol, benzene), radiation, viral hepatitis. Treat with BMT or immunosuppression."))
# ── UNIT 6: WBC DISORDERS ────────────────────────
story += unit_banner("UNIT 6: WHITE BLOOD CELL DISORDERS & LYMPHOMAS")
story.append(qa_block(1, "What is the Philadelphia chromosome?",
"t(9;22) translocation → BCR-ABL fusion gene → constitutively active tyrosine kinase → uncontrolled myeloid proliferation. Found in CML (and some ALL). Treated with imatinib (Gleevec)."))
story += section_banner("AML vs. ALL")
story += comparison_table(
["Feature", "AML", "ALL"],
[["Peak age", "Adults (>60 yr)", "Children (peak 2-5 yr)"],
["Auer rods", "Yes (pathognomonic)", "No"],
["Markers", "MPO+, CD33+, CD117+", "TdT+, CD19+ (B-ALL) or CD3+ (T-ALL)"],
["Prognosis", "Poorer", "Better (esp. children)"]])
story.append(qa_block(3, "What is Reed-Sternberg cell?",
"Large binucleate cell with prominent 'owl-eye' nucleoli. Pathognomonic of Hodgkin lymphoma. RS cells are CD15+ and CD30+ (B-cell origin). EBV-associated in many cases."))
story += section_banner("Hodgkin vs. Non-Hodgkin Lymphoma")
story += comparison_table(
["Feature", "Hodgkin Lymphoma", "Non-Hodgkin Lymphoma"],
[["RS cells", "Present", "Absent"],
["Spread", "Contiguous", "Non-contiguous"],
["Extranodal", "Rare", "Frequent"],
["Cure rate", "~80-90%", "Variable"]])
story.append(qa_block(5, "Differentiate Haemophilia A and B.",
"Haemophilia A = Factor VIII deficiency; Haemophilia B = Factor IX deficiency (Christmas disease). Both X-linked recessive. Both show prolonged aPTT, normal PT. Haemarthrosis is the hallmark clinical feature."))
# ═══════════════════════════════════════════════════
# PAPER II — SYSTEMIC PATHOLOGY
# ═══════════════════════════════════════════════════
story += paper_banner("PAPER II — SYSTEMIC PATHOLOGY")
# ── CVS ──────────────────────────────────────────
story += unit_banner("UNIT 7: CARDIOVASCULAR PATHOLOGY")
story.append(qa_block(1, "What is the pathogenesis of atherosclerosis?",
"Endothelial injury → LDL accumulation → macrophage infiltration → foam cells → fatty streak → fibrous plaque with lipid core + fibrous cap → plaque rupture → thrombosis."))
story.append(qa_block(2, "How is myocardial infarction confirmed?",
"Raised troponin I/T (most sensitive and specific marker), CK-MB, ECG changes (ST elevation in STEMI). Coagulative necrosis on histology after 4-12 hours."))
story += section_banner("Morphological Changes in MI Over Time")
story += comparison_table(
["Timeframe", "Change"],
[["0–4 hours", "No gross change; wavy fibres on EM"],
["4–12 hours", "Coagulative necrosis begins; hypereosinophilic fibres"],
["12–24 hours", "Neutrophil infiltration"],
["1–3 days", "Maximum neutrophils; early macrophages"],
["1–2 weeks", "Granulation tissue (macrophages, fibroblasts, vessels)"],
[">6 weeks", "Dense fibrous collagen scar"]])
story.append(qa_block(4, "What is rheumatic heart disease? Pathognomonic lesion?",
"Sequela of Group A Strep pharyngitis → autoimmune carditis. Pathognomonic: Aschoff body (granuloma with Anitschkow/caterpillar cells). Mitral stenosis is the most common chronic valvular lesion."))
# ── RESPIRATORY ───────────────────────────────────
story += unit_banner("UNIT 8: RESPIRATORY PATHOLOGY")
story.append(qa_block(1, "What are the 4 stages of lobar pneumonia?",
["Congestion (day 1-2): vascular engorgement, few bacteria",
"Red hepatization (day 2-4): RBCs + neutrophils, firm red liver-like texture",
"Grey hepatization (day 4-8): RBCs lysed, fibrin++, grey appearance",
"Resolution (day 8+): enzymatic digestion, clearing of exudate"], is_list=True))
story.append(qa_block(2, "What are the types of emphysema?",
["Centrilobular (centriacinar) – smokers, upper lobes, respiratory bronchioles",
"Panacinar – alpha-1 antitrypsin deficiency, entire acinus, lower lobes",
"Paraseptal (distal acinar) – subpleural; can cause spontaneous pneumothorax"], is_list=True))
story.append(qa_block(3, "What are the types of lung carcinoma?",
["Adenocarcinoma – most common, peripheral, non-smokers possible",
"Squamous cell carcinoma – central/hilar, smokers, can cavitate",
"Small cell carcinoma – neuroendocrine, worst prognosis, paraneoplastic syndromes",
"Large cell carcinoma – undifferentiated, peripheral"], is_list=True))
# ── GIT ───────────────────────────────────────────
story += unit_banner("UNIT 9: GASTROINTESTINAL PATHOLOGY")
story += section_banner("Crohn's Disease vs. Ulcerative Colitis")
story += comparison_table(
["Feature", "Crohn's Disease", "Ulcerative Colitis"],
[["Distribution", "Mouth to anus (skip lesions)", "Rectum upward (continuous)"],
["Layers", "Transmural", "Mucosa/submucosa"],
["Granulomas", "Yes (non-caseating)", "No"],
["Fistula", "Common", "Rare"],
["Malignancy risk", "Low", "High (duration-dependent)"],
["Terminal ileum", "Commonly involved", "Not involved"]])
story.append(qa_block(2, "What is peptic ulcer disease? Commonest site?",
"Mucosal break extending through muscularis mucosae. 95% caused by H. pylori or NSAIDs. Duodenum (D1) most common site (4:1 over gastric ulcer). Chronic gastric ulcer: lesser curvature."))
# ── LIVER ─────────────────────────────────────────
story += unit_banner("UNIT 10: HEPATOBILIARY PATHOLOGY")
story += section_banner("Types of Jaundice")
story += comparison_table(
["Type", "Bilirubin", "Urine Bili", "Example"],
[["Pre-hepatic (haemolytic)", "↑ Indirect", "Absent", "Haemolytic anaemia"],
["Hepatic (hepatocellular)", "Both raised", "Present", "Viral hepatitis, cirrhosis"],
["Post-hepatic (obstructive)", "↑ Direct", "Present", "Gallstones, Ca pancreas"]])
story.append(qa_block(2, "What is cirrhosis? Commonest causes?",
"Diffuse fibrosis with nodule formation, disrupting normal hepatic architecture. Causes: alcohol (West), viral hepatitis B/C (globally most common), NASH, autoimmune, Wilson's disease, haemochromatosis."))
story.append(qa_block(3, "What is HCC? Risk factors?",
"Most common primary liver cancer. Risk factors: HBV/HCV (chronic), cirrhosis, aflatoxin B1 (Aspergillus on stored grain), alcohol. Tumour marker: AFP (alpha-fetoprotein) raised."))
# ── RENAL ─────────────────────────────────────────
story += unit_banner("UNIT 11: RENAL PATHOLOGY")
story += section_banner("Nephritic vs. Nephrotic Syndrome")
story += comparison_table(
["Feature", "Nephritic", "Nephrotic"],
[["Haematuria", "Yes (RBC casts)", "No"],
["Proteinuria", "Mild (<3.5 g/day)", "Heavy (>3.5 g/day)"],
["Oedema", "Mild", "Massive (anasarca)"],
["BP", "Raised", "Normal/raised"],
["Classic example", "Post-strep GN", "Minimal change disease"]])
story.append(qa_block(2, "What is minimal change disease?",
"Most common cause of nephrotic syndrome in children. LM normal, IF no deposits, EM shows podocyte foot process effacement. Excellent response to steroids."))
story.append(qa_block(3, "What is post-streptococcal GN?",
"Occurs 1-3 weeks after Group A Strep infection. Immune complex deposition (Type III hypersensitivity). EM: sub-epithelial 'humps.' Low C3, haematuria, oliguria, hypertension. Self-limiting in children."))
# ── ENDOCRINE ────────────────────────────────────
story += unit_banner("UNIT 12: ENDOCRINE PATHOLOGY")
story.append(qa_block(1, "What is Hashimoto's thyroiditis?",
"Autoimmune – most common cause of hypothyroidism in iodine-sufficient areas. Anti-TPO and anti-thyroglobulin antibodies. Histology: lymphocytic infiltration with germinal centres + Hurthle cell change."))
story.append(qa_block(2, "What is Graves' disease?",
"Autoimmune hyperthyroidism – TSH receptor-stimulating antibodies (TRAb). Clinical triad: diffuse goitre + exophthalmos + pretibial myxoedema. Most common cause of hyperthyroidism."))
story.append(qa_block(3, "What are the features of papillary thyroid carcinoma?",
"Most common thyroid malignancy. 'Orphan Annie eye' nuclei (ground-glass), nuclear grooves, psammoma bodies (concentric calcifications). Spreads via lymphatics. BRAF V600E mutation. Best prognosis."))
# ═══════════════════════════════════════════════════
# PEDIATRIC TUMORS
# ═══════════════════════════════════════════════════
story += paper_banner("UNIT 13: PEDIATRIC TUMORS")
story += unit_banner("SECTION A: GENERAL FEATURES")
story.append(qa_block(1, "What makes pediatric tumors different from adult tumors?",
["Primitive (embryonal) histology rather than pleomorphic-anaplastic",
"Tendency to spontaneously regress or mature (e.g., neuroblastoma)",
"Arise from embryonal remnants / displaced organ anlage",
"Many are 'small, round, blue-cell tumors'",
"Improved cure rates but long-term effects of therapy are a concern"], is_list=True))
story.append(qa_block(2, "What are small, round, blue-cell tumors of childhood?",
["Neuroblastoma", "Rhabdomyosarcoma", "Ewing sarcoma", "Lymphoma",
"Medulloblastoma", "Retinoblastoma", "Some Wilms tumors"], is_list=True))
story += section_banner("Most Common Malignant Neoplasms by Age (Robbins Table 4.8)")
story += comparison_table(
["0-4 Years", "5-9 Years", "10-14 Years"],
[["Leukemia", "Leukemia", "Leukemia"],
["Retinoblastoma", "Retinoblastoma", "Hepatocellular Ca"],
["Neuroblastoma", "Neuroblastoma", "Soft tissue sarcoma"],
["Wilms tumor", "Hepatocellular Ca", "Osteosarcoma"],
["Hepatoblastoma", "Soft tissue sarcoma", "Thyroid carcinoma"],
["Rhabdomyosarcoma", "Ewing sarcoma", "Hodgkin lymphoma"]])
story += unit_banner("SECTION B: NEUROBLASTOMA")
story.append(qa_block(3, "What is neuroblastoma? Common sites?",
["Arises from neural crest cells (sympathetic ganglia + adrenal medulla)",
"2nd most common solid malignancy of childhood after brain tumors",
"Accounts for 7-10% of all pediatric neoplasms; up to 50% of infant malignancies",
"Sites: adrenal medulla (40%), paravertebral abdomen (25%), posterior mediastinum (15%)"], is_list=True))
story.append(qa_block(4, "What is the histology of neuroblastoma? What are Homer-Wright pseudorosettes?",
"Sheets of small, primitive cells with dark nuclei, scant cytoplasm, eosinophilic fibrillary background (neuropil). Homer-Wright pseudorosettes: tumor cells concentrically arranged around central NEUROPIL (no lumen) – pathognomonic of neuroblastoma."))
story.append(qa_block(5, "What are the key clinical features and markers of neuroblastoma?",
["Abdominal mass crossing midline (unlike Wilms tumor)",
"Hypertension (catecholamine secretion)",
"Raised urinary VMA and HVA (key diagnostic markers)",
"Opsoclonus-myoclonus ('dancing eyes') in some cases",
"'Raccoon eyes' – periorbital ecchymosis from orbital metastasis",
"MYCN amplification = poor prognosis; age <18 months = favorable prognosis"], is_list=True))
story.append(qa_block(6, "What is Stage 4S neuroblastoma? Why is it important?",
"Infants <1 year with liver, skin, or bone marrow metastasis but NO cortical bone/CNS involvement. Despite metastases, these tumors can SPONTANEOUSLY REGRESS without treatment – unique pediatric phenomenon."))
story += unit_banner("SECTION C: WILMS TUMOR (NEPHROBLASTOMA)")
story.append(qa_block(7, "What is Wilms tumor? Distinguish from neuroblastoma.",
"Most common primary renal tumor of childhood. Peak age 2-5 years. Arises from metanephric blastema. Does NOT cross midline (neuroblastoma does). Does NOT secrete catecholamines."))
story.append(qa_block(8, "What genes/syndromes are associated with Wilms tumor?",
["WT1 gene (11p13) – mutated in ~10%; WAGR syndrome (Wilms + Aniridia + GU anomalies + Retardation)",
"WT2 locus (11p15) – Beckwith-Wiedemann syndrome (overgrowth, macroglossia, hemihypertrophy)",
"Denys-Drash syndrome – WT1 mutation + gonadal dysgenesis + nephropathy"], is_list=True))
story.append(qa_block(9, "What is the triphasic histology of Wilms tumor?",
["Blastemal component – small, blue, primitive cells (most primitive)",
"Epithelial component – primitive tubules or glomeruli",
"Stromal component – loose myxoid or spindle-cell stroma",
"Diffuse anaplasia (nuclear enlargement, hyperchromasia, abnormal mitoses) = ADVERSE prognosis"], is_list=True))
story.append(qa_block(10, "What is the prognosis of Wilms tumor?",
"Excellent – >90% cure rate with nephrectomy + chemotherapy (actinomycin D + vincristine). Diffuse anaplasia is the most important adverse prognostic factor."))
story += unit_banner("SECTION D: RETINOBLASTOMA")
story.append(qa_block(11, "What is retinoblastoma? Gene involved?",
"Most common intraocular tumor of childhood. RB1 gene (chromosome 13q14) mutation – classic example of Knudson's two-hit hypothesis. Familial: first hit germline (bilateral/multifocal). Sporadic: both hits somatic (unilateral, later onset)."))
story.append(qa_block(12, "What is the two-hit hypothesis (Knudson)?",
"Two sequential inactivating mutations ('hits') in BOTH alleles of a tumour suppressor gene are needed for malignancy. In hereditary form: one hit inherited → only one somatic hit needed → earlier onset, bilateral disease. Key example: Retinoblastoma (RB1)."))
story.append(qa_block(13, "What is leukocoria?",
"'Cat's eye reflex' – white pupillary reflex instead of normal red reflex. Classic presenting sign of retinoblastoma. Other causes: cataract, persistent hyperplastic primary vitreous."))
story += unit_banner("SECTION E: RHABDOMYOSARCOMA")
story.append(qa_block(14, "What is rhabdomyosarcoma? Types?",
["Most common soft tissue sarcoma of childhood; shows skeletal muscle differentiation",
"Embryonal (most common, 60%) – head/neck, orbit, GU tract; better prognosis",
"Alveolar (25%) – extremities/trunk; t(2;13) or t(1;13) PAX3/7-FOXO1 fusion; worse prognosis",
"Pleomorphic – adults only"], is_list=True))
story.append(qa_block(15, "What are rhabdomyoblasts?",
"Cells with eosinophilic cytoplasm showing cross-striations in well-differentiated tumors; tadpole or tennis racket shape. Their presence confirms rhabdomyosarcoma. Embryonal type: loose myxoid stroma. Alveolar type: cells in alveolar (lung-like) spaces."))
# ═══════════════════════════════════════════════════
# GENETIC DISORDERS
# ═══════════════════════════════════════════════════
story += paper_banner("UNIT 14: GENETIC DISORDERS")
story += unit_banner("SECTION A: MENDELIAN DISORDERS — AUTOSOMAL DOMINANT")
story.append(qa_block(1, "What are the key autosomal dominant disorders? (Summary)",
["Marfan syndrome – FBN1 gene; fibrillin-1 defect → aortic aneurysm, lens dislocation",
"Familial hypercholesterolaemia – LDL receptor defect → premature atherosclerosis, xanthomas",
"Huntington disease – CAG repeat in HTT → chorea, dementia; anticipation",
"Neurofibromatosis type 1 – NF1 gene; café-au-lait spots, neurofibromas, Lisch nodules",
"Achondroplasia – FGFR3 gain-of-function; most common form of dwarfism"], is_list=True))
story.append(qa_block(2, "What is Marfan syndrome? Key features?",
["Autosomal dominant; FBN1 mutation → defective fibrillin → weakened connective tissue",
"Skeletal: tall, arachnodactyly, pectus excavatum, scoliosis, hypermobile joints",
"Cardiovascular: MVP, aortic root dilation → dissecting aortic aneurysm (most common cause of death)",
"Ocular: bilateral upward dislocation of lens (ectopia lentis)"], is_list=True))
story += unit_banner("SECTION B: AUTOSOMAL RECESSIVE DISORDERS")
story.append(qa_block(3, "What is cystic fibrosis? Genetics and pathogenesis?",
"Most common lethal AR disorder in Caucasians. CFTR gene (chromosome 7q31); most common mutation = ΔF508. Defective Cl⁻ channel → thick mucus → lung disease (bronchiectasis, Pseudomonas infections), pancreatic insufficiency (malabsorption), infertility (males)."))
story.append(qa_block(4, "What is Tay-Sachs disease?",
"AR; Hexosaminidase A deficiency → GM2 ganglioside accumulates in neurons → neurodegeneration. Presents at 6 months with developmental regression, hyperacusis, seizures. Macular cherry-red spot (fovea has no ganglion cells). Fatal by age 2-3 years. Common in Ashkenazi Jews."))
story.append(qa_block(5, "What is Gaucher disease? Cell morphology?",
"Most common lysosomal storage disorder. AR; glucocerebrosidase deficiency → glucocerebroside in macrophages. Gaucher cells = enlarged macrophages with 'crumpled tissue paper / wrinkled silk' cytoplasm (PAS positive). Hepatosplenomegaly. Type 1 = non-neuronopathic."))
story.append(qa_block(6, "What is Wilson's disease?",
"AR; ATP7B mutation → impaired copper excretion → copper accumulates in liver (cirrhosis), brain (movement disorder, psychiatric symptoms), cornea. Kayser-Fleischer rings (copper in Descemet membrane). Low serum ceruloplasmin. Treat with D-penicillamine."))
story += unit_banner("SECTION C: X-LINKED & TRINUCLEOTIDE DISORDERS")
story.append(qa_block(7, "What is Fragile X syndrome?",
"Most common inherited cause of intellectual disability. X-linked; FMR1 gene – CGG trinucleotide repeat expansion (>200 repeats = full mutation). Features: intellectual disability, macroorchidism, large ears, long face, hyperextensible joints, autism spectrum features."))
story.append(qa_block(8, "What are trinucleotide repeat expansion disorders? Show anticipation?",
["Fragile X – CGG repeat in FMR1 (X-linked)",
"Huntington disease – CAG repeat in HTT (autosomal dominant)",
"Myotonic dystrophy – CTG repeat in DMPK (autosomal dominant)",
"Friedreich ataxia – GAA repeat in FXN (autosomal recessive)",
"All show ANTICIPATION = earlier onset and greater severity in successive generations"], is_list=True))
story += unit_banner("SECTION D: CHROMOSOMAL DISORDERS")
story.append(qa_block(9, "What are the causes of chromosomal disorders?",
"Usually non-disjunction (failure of chromosome separation during meiosis I or II) → aneuploidy. Also: deletion, translocation, inversion. Risk of trisomies increases with advanced maternal age."))
story.append(qa_block(10, "What is Down syndrome? Causes?",
["Non-disjunction during meiosis (95%) – risk increases with maternal age",
"Robertsonian translocation (4-5%) – chromosome 21 on chromosome 14; NO maternal age effect, familial",
"Mosaicism (1%) – milder phenotype",
"Karyotype: 47 chromosomes with extra chromosome 21"], is_list=True))
story.append(qa_block(11, "What are the clinical features of Down syndrome?",
["Facies: flat face, epicanthic folds, upward slanting palpebral fissures, Brushfield spots",
"Hands: single palmar (simian) crease, clinodactyly 5th finger, sandal gap",
"CNS: intellectual disability (IQ 25-50), early Alzheimer disease (chromosome 21 carries APP gene)",
"Cardiac: congenital heart disease in ~40% (AV canal defect, VSD, ASD)",
"GI: duodenal atresia, Hirschsprung disease",
"Increased risk of ALL and AML; hypothyroidism"], is_list=True))
story.append(qa_block(12, "What is Klinefelter syndrome? Features?",
["Karyotype: 47,XXY (most common sex chromosome aneuploidy in males)",
"Tall stature, long limbs",
"Small testes (hyalinization + fibrosis) → infertility (azoospermia) – MOST CONSISTENT feature",
"Gynaecomastia (↑ risk of breast cancer)",
"Low testosterone → sparse body hair",
"Barr body POSITIVE (one inactivated X present)"], is_list=True))
story.append(qa_block(13, "What is Turner syndrome? Features?",
["Karyotype: 45,X (monosomy X)",
"Short stature – most consistent feature",
"Streak ovaries → primary amenorrhoea, infertility, no secondary sexual development",
"Webbed neck (pterygium colli), low posterior hairline, shield chest",
"Cubitus valgus (increased carrying angle)",
"Coarctation of aorta, bicuspid aortic valve (cardiac defects ~35%)",
"No Barr bodies (only one X chromosome present)"], is_list=True))
story += section_banner("Klinefelter vs. Turner Syndrome")
story += comparison_table(
["Feature", "Klinefelter (47,XXY)", "Turner (45,X)"],
[["Sex phenotype", "Male", "Female"],
["Barr bodies", "Yes (1 Barr body)", "No"],
["Stature", "Tall", "Short"],
["Gonads", "Small testes, fibrosis", "Streak ovaries"],
["Fertility", "Infertile (azoospermia)", "Infertile"],
["Cardiac defect", "Rare", "Coarctation of aorta"],
["Hormones", "Low testosterone, ↑FSH/LH", "Low estrogen, ↑FSH/LH"]])
story.append(qa_block(15, "What is genomic imprinting? Give examples.",
["Parent-of-origin specific gene expression (differential methylation of alleles)",
"SAME region (chromosome 15q11-13) deleted → DIFFERENT syndromes:",
"Prader-Willi syndrome – PATERNAL deletion → hypotonia, hyperphagia, obesity, intellectual disability",
"Angelman syndrome – MATERNAL deletion → 'happy puppet': inappropriate laughter, seizures, ataxia"], is_list=True))
story.append(qa_block(16, "What is DiGeorge / 22q11.2 deletion syndrome?",
"Microdeletion of chromosome 22q11.2. CATCH-22: Cardiac defects, Abnormal facies, Thymic hypoplasia, Cleft palate, Hypocalcaemia, chromosome 22. Presents with T-cell immunodeficiency (recurrent infections) and neonatal hypocalcaemia (tetany/seizures)."))
story.append(qa_block(17, "What methods are used for genetic diagnosis?",
["Karyotyping – chromosomal number/gross structure; gold standard for aneuploidy",
"FISH – specific deletions/translocations (e.g., Philadelphia chromosome, MYCN amplification)",
"PCR – specific point mutations (e.g., CFTR ΔF508, BCR-ABL)",
"DNA microarray (gene chips) – genome-wide copy number variation",
"Next-generation sequencing (NGS) – comprehensive mutation detection"], is_list=True))
# ── TIPS PAGE ─────────────────────────────────────
story += paper_banner("VIVA PREPARATION TIPS — MGR UNIVERSITY")
tips = [
"Know Robbins definitions verbatim – examiners often quote directly from the textbook.",
"Always mention morphological hallmarks: Aschoff body, Auer rod, Reed-Sternberg cell, Orphan Annie nuclei, Homer-Wright pseudorosettes, Gaucher cells, caseous necrosis.",
"For each condition: Definition → Pathogenesis → Morphology → Clinical features → Investigations.",
"Neuroblastoma vs. Wilms tumor: Neuroblastoma crosses midline + secretes catecholamines (raised VMA/HVA); Wilms does NOT cross midline.",
"Two-hit hypothesis = Knudson = Retinoblastoma = RB1 gene (tumour suppressor).",
"Chromosomal disorders: Trisomy 21 (Down), 47,XXY (Klinefelter), 45,X (Turner), 22q11.2 del (DiGeorge).",
"Imprinting: Prader-Willi (paternal 15q deletion) vs. Angelman (maternal 15q deletion) – same region, different syndrome.",
"Trinucleotide repeats show ANTICIPATION (e.g., Fragile X-CGG, Huntington-CAG, Myotonic dystrophy-CTG).",
"Staining methods: Congo red (amyloid), ZN stain (TB/AFB), PAS (fungi, glycogen), Perl's Prussian blue (iron), Sudan III (fat).",
"Tumour markers: AFP (HCC, testicular GCT), CEA (colon Ca), CA-125 (ovarian Ca), PSA (prostate Ca), β-hCG (choriocarcinoma).",
"Hypersensitivity: Type I = IgE/anaphylaxis; Type II = cytotoxic (IgG/IgM); Type III = immune complex; Type IV = cell-mediated/delayed.",
"Paper I (General Pathology + Haematology) and Paper II (Systemic Pathology) are examined separately.",
]
for t in tips:
story += tip_box(t)
story.append(sp(5))
story.append(Paragraph(
"Source: Robbins & Kumar Basic Pathology (9780323790185) and "
"Robbins, Cotran & Kumar Pathologic Basis of Disease (9780443264528)",
ST['source']))
return story
# ─── Build PDF ───────────────────────────────────────────────────
out_path = "/home/daytona/workspace/pathology-viva/Pathology_Viva_QA_MGR.pdf"
doc = SimpleDocTemplate(
out_path,
pagesize=A4,
leftMargin=MARGIN, rightMargin=MARGIN,
topMargin=20*mm, bottomMargin=18*mm,
title="2nd Year MBBS Pathology Viva Q&A – MGR University",
author="Orris AI Medical Assistant",
subject="Pathology Viva Q&A based on Robbins"
)
story = build_content()
doc.build(story, canvasmaker=NumberedCanvas)
print(f"PDF created: {out_path}")
cd /home/daytona/workspace/pathology-viva && python3 create_pdf.py 2>&1
~/pathology-viva/create_pdf.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/pathology-viva/create_pdf.py'
cd /home/daytona/workspace/pathology-viva && python3 create_pdf.py 2>&1
ls -lh /home/daytona/workspace/pathology-viva/Pathology_Viva_QA_MGR.pdf && python3 -c "from pypdf import PdfReader; r=PdfReader('/home/daytona/workspace/pathology-viva/Pathology_Viva_QA_MGR.pdf'); print(f'Pages: {len(r.pages)}')"
Pathology Viva QA MGR
PDF Document · PDF