inflammation pathology ppt
mkdir -p /tmp/workspace/inflammation-ppt && ls /tmp/workspace/
~/inflammation-ppt/build_ppt.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.util import Inches, Pt
import json, subprocess, base64
from io import BytesIO
# ── Colour palette ──────────────────────────────────────────────────
NAVY = RGBColor(0x1A, 0x37, 0x6C) # dark navy
RED = RGBColor(0xC0, 0x39, 0x2B) # cardinal red
CREAM = RGBColor(0xF5, 0xF5, 0xF0) # off-white bg
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
DGRAY = RGBColor(0x2C, 0x3E, 0x50) # dark grey text
LGRAY = RGBColor(0xEC, 0xF0, 0xF1) # light grey accent
ORANGE = RGBColor(0xD3, 0x54, 0x00) # highlight
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6] # fully blank
# ── helpers ──────────────────────────────────────────────────────────
def bg(slide, color):
from pptx.oxml.ns import qn
from lxml import etree
bg_elem = slide.background
fill = bg_elem.get_or_add_bgPr()
solidFill = etree.SubElement(fill, qn('a:solidFill'))
srgbClr = etree.SubElement(solidFill, qn('a:srgbClr'))
srgbClr.set('val', f'{color.rgb:06X}')
def rect(slide, x, y, w, h, color):
shape = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
shape.fill.solid()
shape.fill.fore_color.rgb = color
shape.line.fill.background()
return shape
def tb(slide, text, x, y, w, h,
size=20, bold=False, color=DGRAY, align=PP_ALIGN.LEFT,
wrap=True, italic=False, anchor=MSO_ANCHOR.TOP):
box = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = box.text_frame
tf.word_wrap = wrap
tf.vertical_anchor = anchor
tf.margin_left = tf.margin_right = tf.margin_top = tf.margin_bottom = 0
p = tf.paragraphs[0]
p.alignment = align
r = p.add_run()
r.text = text
r.font.size = Pt(size)
r.font.bold = bold
r.font.italic = italic
r.font.color.rgb = color
r.font.name = 'Calibri'
return tf
def tb_lines(slide, lines, x, y, w, h,
size=18, bold_first=False, color=DGRAY, bullet=False,
line_color=None):
"""Add multi-line textbox. lines = list of (text, bold, color_override)."""
box = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = box.text_frame
tf.word_wrap = True
tf.margin_left = tf.margin_right = tf.margin_top = tf.margin_bottom = 0
first = True
for item in lines:
if isinstance(item, str):
text, bold, col = item, False, color
else:
text = item[0]
bold = item[1] if len(item) > 1 else False
col = item[2] if len(item) > 2 else color
if first:
p = tf.paragraphs[0]
first = False
else:
p = tf.add_paragraph()
if bullet:
p.space_before = Pt(4)
r = p.add_run()
prefix = ' • ' if bullet else ''
r.text = prefix + text
r.font.size = Pt(size)
r.font.bold = bold
r.font.color.rgb = col
r.font.name = 'Calibri'
return tf
def header_bar(slide, title, subtitle=None):
rect(slide, 0, 0, 13.333, 1.1, NAVY)
tb(slide, title, 0.35, 0.08, 12.5, 0.65,
size=32, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE)
if subtitle:
tb(slide, subtitle, 0.35, 0.72, 12.5, 0.38,
size=15, color=RGBColor(0xBD, 0xD7, 0xFF), anchor=MSO_ANCHOR.MIDDLE)
def section_card(slide, title, x, y, w, h, text_lines, title_bg=RED):
rect(slide, x, y, w, 0.4, title_bg)
tb(slide, title, x+0.1, y+0.04, w-0.2, 0.36,
size=16, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE)
rect(slide, x, y+0.4, w, h-0.4, LGRAY)
tb_lines(slide, text_lines, x+0.15, y+0.5, w-0.3, h-0.6,
size=14, bullet=True, color=DGRAY)
def footer(slide, text='Robbins & Kumar Basic Pathology, 10th ed.'):
tb(slide, text, 0.2, 7.2, 12.9, 0.28,
size=9, color=RGBColor(0xAA, 0xAA, 0xAA), align=PP_ALIGN.RIGHT)
def slide_number_box(slide, n):
tb(slide, str(n), 12.8, 7.2, 0.4, 0.28,
size=9, color=RGBColor(0xAA, 0xAA, 0xAA), align=PP_ALIGN.RIGHT)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 1 – TITLE SLIDE
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, NAVY)
rect(s, 0, 2.5, 13.333, 3.2, RGBColor(0x0F, 0x22, 0x4A))
rect(s, 0.4, 2.52, 0.12, 3.16, RED) # accent bar
tb(s, 'INFLAMMATION', 0.7, 2.75, 12.2, 1.4,
size=56, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE)
tb(s, 'Pathology | Mechanisms, Mediators & Morphology', 0.7, 4.1, 12.2, 0.7,
size=22, bold=False, color=RGBColor(0xBD, 0xD7, 0xFF),
anchor=MSO_ANCHOR.MIDDLE)
tb(s, 'Based on Robbins & Kumar Basic Pathology (10th ed.)', 0.7, 4.85, 12.2, 0.5,
size=14, color=RGBColor(0x88, 0xAA, 0xDD), anchor=MSO_ANCHOR.MIDDLE)
tb(s, 'PATHOLOGY LECTURE SERIES', 0.7, 0.3, 12.2, 0.6,
size=13, bold=True, color=RGBColor(0x88, 0xAA, 0xDD),
align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 2 – LEARNING OBJECTIVES
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Learning Objectives', 'By the end of this session you will be able to …')
objs = [
'Define inflammation and list its cardinal signs',
'Distinguish acute from chronic inflammation',
'Describe vascular and cellular events in acute inflammation',
'Identify the key mediators and their roles',
'Classify morphologic patterns of acute inflammation',
'Outline outcomes of acute inflammation',
'Describe causes, cells, and features of chronic inflammation',
'Explain granulomatous inflammation and give examples',
'List systemic effects of inflammation (acute-phase response)',
]
tb_lines(s, objs, 0.5, 1.3, 12.3, 5.8,
size=17, bullet=True, color=DGRAY)
footer(s); slide_number_box(s,2)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 3 – WHAT IS INFLAMMATION?
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'What Is Inflammation?')
tb(s,
'"Inflammation is a response of vascularized tissues to infections and damaged '
'tissue that brings cells and molecules of host defense from the circulation to '
'the sites where they are needed."',
0.5, 1.2, 12.3, 1.4,
size=18, italic=True, color=NAVY)
tb(s, '— Robbins & Kumar Basic Pathology', 10.5, 2.55, 2.7, 0.4,
size=12, color=RGBColor(0x88, 0x88, 0x88), align=PP_ALIGN.RIGHT)
# Key points
section_card(s, 'Purpose of Inflammation', 0.4, 2.95, 5.8, 3.95,
['Eliminate microorganisms',
'Remove damaged/dead tissue',
'Initiate repair processes',
'Restore tissue homeostasis'])
section_card(s, 'When Inflammation Becomes Harmful', 6.5, 2.95, 6.4, 3.95,
['Misdirected (autoimmune — RA, MS)',
'Exaggerated (allergies, asthma)',
'Inappropriately prolonged',
'Atherosclerosis, IBD, sepsis'])
footer(s); slide_number_box(s,3)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 4 – CARDINAL SIGNS
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Cardinal Signs of Inflammation', 'Described by Celsus (~50 AD); 5th sign added by Rudolf Virchow (19th c.)')
signs = [
('RUBOR', 'Redness', 'Vasodilation → ↑ blood flow'),
('CALOR', 'Heat/Warmth', 'Vasodilation → ↑ blood flow'),
('TUMOR', 'Swelling', 'Vascular permeability → edema'),
('DOLOR', 'Pain', 'Bradykinin, prostaglandins stimulate nociceptors'),
('FUNCTIO\nLAESA', 'Loss of function', 'Consequence of tissue damage & pain'),
]
colors_cards = [RED, RGBColor(0xE6, 0x7E, 0x22), RGBColor(0x27, 0x80, 0x69),
NAVY, RGBColor(0x88, 0x44, 0xAA)]
w = 2.4
for i, (lat, eng, mech) in enumerate(signs):
x = 0.3 + i * 2.56
rect(s, x, 1.25, w, 0.65, colors_cards[i])
tb(s, lat, x+0.1, 1.28, w-0.2, 0.58,
size=18, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
rect(s, x, 1.9, w, 0.7, LGRAY)
tb(s, eng, x+0.1, 1.92, w-0.2, 0.66,
size=15, bold=True, color=DGRAY, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
rect(s, x, 2.6, w, 1.5, WHITE)
tb(s, mech, x+0.1, 2.65, w-0.2, 1.4,
size=12, color=DGRAY, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.TOP, wrap=True)
tb(s, 'The FIVE R\'s of Inflammation:', 0.4, 4.35, 5.0, 0.42, size=16, bold=True, color=NAVY)
tb(s, '(1) Recognition • (2) Recruitment • (3) Removal • (4) Regulation • (5) Repair',
0.4, 4.75, 12.5, 0.6, size=15, color=DGRAY)
footer(s); slide_number_box(s,4)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 5 – ACUTE vs CHRONIC COMPARISON
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Acute vs Chronic Inflammation')
# Table
rows = [
('Feature', 'Acute Inflammation', 'Chronic Inflammation'),
('Onset', 'Fast: minutes to hours', 'Slow: days to weeks'),
('Duration', 'Hours to a few days', 'Weeks to months'),
('Cellular infiltrate', 'Neutrophils (PMNs)', 'Macrophages, lymphocytes, plasma cells'),
('Tissue injury', 'Usually mild and self-limited', 'May be significant'),
('Fibrosis', 'None', 'May be severe and progressive'),
('Blood vessels', 'Vasodilation & permeability ↑', 'Angiogenesis common'),
('Local/systemic signs', 'Prominent (fever, elevated WBC)', 'Variable, usually modest'),
('Outcome', 'Resolution / scarring / chronic transition', 'Healing or persistent injury'),
]
col_widths = [3.2, 4.5, 5.1]
col_x = [0.3, 3.6, 8.2]
row_h = 0.52
for r_i, row in enumerate(rows):
y = 1.2 + r_i * row_h
for c_i, cell in enumerate(row):
if r_i == 0:
fill = NAVY
fc = WHITE
fsz = 15
fb = True
elif c_i == 0:
fill = RGBColor(0xD6, 0xE4, 0xF7)
fc = NAVY
fsz = 13
fb = True
else:
fill = WHITE if r_i % 2 == 0 else LGRAY
fc = DGRAY
fsz = 13
fb = False
rect(s, col_x[c_i], y, col_widths[c_i]-0.05, row_h-0.04, fill)
tb(s, cell, col_x[c_i]+0.08, y+0.04, col_widths[c_i]-0.2, row_h-0.1,
size=fsz, bold=fb, color=fc, anchor=MSO_ANCHOR.MIDDLE)
footer(s); slide_number_box(s,5)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 6 – CAUSES OF INFLAMMATION
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Causes of Inflammation')
causes = [
('Infections', RED,
['Bacteria, viruses, fungi, parasites',
'Most important causes of inflammation',
'Microbial products recognised by pattern recognition receptors (PRRs)']),
('Tissue Necrosis', RGBColor(0xE6, 0x7E, 0x22),
['Any cause: ischemia, trauma, chemicals',
'Released DAMPs (danger-associated molecular patterns)',
'Uric acid crystals, ATP, DNA trigger sterile inflammation']),
('Foreign Bodies', RGBColor(0x27, 0x80, 0x69),
['Splinters, sutures, talc, silica',
'May carry microbes',
'Drive foreign body granuloma formation']),
('Immune Reactions\n(Hypersensitivity)', NAVY,
['Autoimmune: RA, SLE, MS',
'Allergic: asthma, atopic dermatitis',
'Gut: Crohn disease, ulcerative colitis']),
]
for i, (title, col, points) in enumerate(causes):
col_i = i % 2
row_i = i // 2
x = 0.4 + col_i * 6.5
y = 1.2 + row_i * 3.1
section_card(s, title, x, y, 6.2, 2.9, points, title_bg=col)
footer(s); slide_number_box(s,6)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 7 – VASCULAR REACTIONS
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Vascular Reactions in Acute Inflammation')
# Left column
section_card(s, 'Vasodilation', 0.35, 1.2, 5.9, 2.7,
['Earliest reaction → redness & warmth',
'Arteriolar dilation → ↑ blood flow',
'Mediated mainly by HISTAMINE & NO',
'Occurs in minutes'])
section_card(s, 'Increased Vascular Permeability', 0.35, 4.1, 5.9, 2.9,
['Endothelial cell contraction → gaps',
'Triggered by histamine, bradykinin, leukotrienes',
'Protein-rich exudate leaks into tissue',
'Direct injury in burns → immediate & sustained leakage'])
# Right column – exudate vs transudate
section_card(s, 'Exudate', 6.5, 1.2, 6.4, 2.7,
['High protein content, cellular debris',
'Implies ↑ vascular permeability',
'Specific gravity > 1.020',
'Types: serous, fibrinous, purulent, haemorrhagic'])
section_card(s, 'Transudate vs Pus', 6.5, 4.1, 6.4, 2.9,
['Transudate: low protein, ultrafiltrate — NO inflammation',
'Edema = excess fluid (exudate or transudate)',
'Pus = purulent exudate — neutrophils, debris, microbes',
'Stasis → rouleaux → margination of leukocytes'])
footer(s); slide_number_box(s,7)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 8 – LEUKOCYTE RECRUITMENT
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Leukocyte Recruitment & Extravasation')
steps = [
('1. MARGINATION\n& ROLLING',
'Slowing of blood flow → leukocytes move to periphery; selectin-mediated rolling (P-selectin, E-selectin, L-selectin)',
RED),
('2. ADHESION',
'Firm arrest mediated by integrins (LFA-1, Mac-1) binding ICAMs on endothelium. Induced by chemokines & TNF/IL-1.',
RGBColor(0xE6, 0x7E, 0x22)),
('3. TRANSMIGRATION\n(Diapedesis)',
'Leukocytes squeeze between endothelial cells at junctions (PECAM-1 / CD31 on both cells).',
RGBColor(0x27, 0x80, 0x69)),
('4. CHEMOTAXIS',
'Migration along chemical gradient toward bacteria: C5a, LTB4, IL-8 (CXCL8), bacterial products (fMet-Leu-Phe).',
NAVY),
('5. PHAGOCYTOSIS\n& KILLING',
'Recognition (opsonins: C3b, IgG); engulfment; lysosomal fusion; killing by ROS, NO, lysosomal enzymes.',
RGBColor(0x88, 0x44, 0xAA)),
]
step_w = 2.4
for i, (title, desc, col) in enumerate(steps):
x = 0.3 + i * 2.58
rect(s, x, 1.2, step_w, 0.7, col)
tb(s, title, x+0.05, 1.22, step_w-0.1, 0.66,
size=12, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
rect(s, x, 1.9, step_w, 3.8, LGRAY)
tb(s, desc, x+0.1, 1.95, step_w-0.2, 3.7,
size=12, color=DGRAY, anchor=MSO_ANCHOR.TOP, wrap=True)
# arrow (except last)
if i < 4:
rect(s, x+step_w, 2.45, 0.18, 0.35, RGBColor(0xCC, 0xCC, 0xCC))
tb(s, 'Key selectins: P-selectin (platelets/EC), E-selectin (EC), L-selectin (leukocytes) • Key integrins: LFA-1, Mac-1 (CD11b)',
0.3, 5.9, 12.7, 0.4, size=12, color=NAVY, align=PP_ALIGN.CENTER)
footer(s); slide_number_box(s,8)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 9 – MEDIATORS OF INFLAMMATION (overview)
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Mediators of Inflammation — Overview')
tb(s, 'Cell-Derived Mediators', 0.3, 1.2, 6.3, 0.45,
size=17, bold=True, color=NAVY)
cell_meds = [
('Vasoactive amines', 'Histamine (mast cells/basophils/platelets) → vasodilation, ↑ permeability'),
('Arachidonic acid metab.', 'Prostaglandins (pain, fever via COX); Leukotrienes (bronchoconstriction, chemotaxis via LOX)'),
('Cytokines', 'TNF & IL-1: endothelial activation, fever, acute-phase response; IL-6: acute-phase proteins; IL-8: neutrophil chemotaxis'),
('PAF', 'Platelet-activating factor: vasodilation, ↑ permeability, leukocyte adhesion'),
('ROS / NO', 'Reactive oxygen species & nitric oxide: microbial killing; may injure host tissue'),
('Lysosomal enzymes', 'Neutrophil granules: proteases, elastase, collagenase'),
]
for i, (name, desc) in enumerate(cell_meds):
y = 1.75 + i * 0.82
rect(s, 0.3, y, 2.6, 0.72, RGBColor(0xD6, 0xE4, 0xF7))
tb(s, name, 0.38, y+0.05, 2.5, 0.62, size=13, bold=True, color=NAVY, anchor=MSO_ANCHOR.MIDDLE)
rect(s, 2.9, y, 3.7, 0.72, WHITE if i%2==0 else LGRAY)
tb(s, desc, 3.0, y+0.05, 3.5, 0.62, size=12, color=DGRAY, anchor=MSO_ANCHOR.MIDDLE, wrap=True)
tb(s, 'Plasma-Derived Mediators', 6.8, 1.2, 6.1, 0.45,
size=17, bold=True, color=NAVY)
plasma_meds = [
('Complement system',
['C3a, C5a (anaphylatoxins) → mast cell degranulation, chemotaxis',
'C5b-9 (MAC) → direct cell lysis',
'C3b → opsonisation']),
('Kinin system',
['Bradykinin → vasodilation, pain, ↑ permeability',
'Activated by Factor XII (Hageman factor)']),
('Coagulation / fibrinolysis',
['Thrombin → fibrin formation, endothelial activation',
'Fibrin split products → ↑ vascular permeability']),
]
y = 1.75
for name, points in plasma_meds:
rect(s, 6.8, y, 6.0, 0.38, RED)
tb(s, name, 6.9, y+0.03, 5.8, 0.3, size=14, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE)
rect(s, 6.8, y+0.38, 6.0, len(points)*0.38+0.1, LGRAY)
for j, pt in enumerate(points):
tb(s, '• '+pt, 6.95, y+0.42+j*0.38, 5.7, 0.36, size=12, color=DGRAY)
y += 0.38 + len(points)*0.38 + 0.28
footer(s); slide_number_box(s,9)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 10 – COMPLEMENT SYSTEM
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'The Complement System in Inflammation')
pathways = [
('Classical Pathway', 'Activated by antigen-antibody complexes (IgM, IgG)', RGBColor(0xC0, 0x39, 0x2B)),
('Lectin Pathway', 'Mannose-binding lectin (MBL) binds microbial carbohydrates', RGBColor(0xE6, 0x7E, 0x22)),
('Alternative Pathway', 'Spontaneous C3 hydrolysis on microbial surfaces', RGBColor(0x27, 0x80, 0x69)),
]
for i, (name, desc, col) in enumerate(pathways):
x = 0.4 + i * 4.3
rect(s, x, 1.2, 4.0, 0.55, col)
tb(s, name, x+0.1, 1.22, 3.8, 0.5, size=15, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE, align=PP_ALIGN.CENTER)
rect(s, x, 1.75, 4.0, 0.8, LGRAY)
tb(s, desc, x+0.1, 1.78, 3.8, 0.74, size=12, color=DGRAY, anchor=MSO_ANCHOR.MIDDLE, wrap=True)
# Converge arrow text
rect(s, 5.0, 2.65, 3.3, 0.45, NAVY)
tb(s, 'All converge → C3 Convertase → C3a + C3b', 5.05, 2.67, 3.2, 0.4,
size=12, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
effects = [
('C3a & C5a\n(Anaphylatoxins)',
'Mast cell degranulation → histamine release; neutrophil chemotaxis (C5a especially); ↑ vascular permeability'),
('C3b\n(Opsonin)',
'Coats bacteria → phagocytosis by neutrophils and macrophages bearing CR1 (complement receptor)'),
('C5b-9\n(MAC — Membrane Attack Complex)',
'Creates pores in microbial cell membrane → direct osmotic lysis of gram-negative bacteria'),
]
for i, (name, desc) in enumerate(effects):
x = 0.4 + i * 4.3
rect(s, x, 3.2, 4.0, 0.62, RGBColor(0x2C, 0x3E, 0x50))
tb(s, name, x+0.1, 3.22, 3.8, 0.58, size=14, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE, align=PP_ALIGN.CENTER)
rect(s, x, 3.82, 4.0, 1.5, LGRAY)
tb(s, desc, x+0.1, 3.87, 3.8, 1.4, size=12, color=DGRAY, anchor=MSO_ANCHOR.TOP, wrap=True)
tb(s, 'Inhibitors: CD55 (DAF) and CD59 prevent complement activation on host cells — deficiency → paroxysmal nocturnal haemoglobinuria (PNH)',
0.4, 5.55, 12.5, 0.5, size=13, italic=True, color=RED)
footer(s); slide_number_box(s,10)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 11 – ARACHIDONIC ACID METABOLISM
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Arachidonic Acid Metabolites')
# Pathway columns
rect(s, 0.3, 1.2, 12.7, 0.5, DGRAY)
tb(s, 'Membrane Phospholipids → Phospholipase A₂ → Arachidonic Acid (AA)',
0.4, 1.22, 12.5, 0.45, size=16, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
# COX branch
rect(s, 0.3, 1.85, 6.0, 0.45, RED)
tb(s, 'COX PATHWAY (Cyclooxygenase)', 0.4, 1.87, 5.8, 0.4, size=15, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE, align=PP_ALIGN.CENTER)
cox_items = [
('Prostaglandins (PGE₂, PGI₂)', 'Vasodilation, pain sensitisation, fever, ↑ cAMP'),
('Thromboxane A₂ (TXA₂)', 'Platelet aggregation, vasoconstriction'),
('Prostacyclin (PGI₂ — endothelial)', 'Vasodilation, inhibits platelet aggregation'),
]
for i, (name, desc) in enumerate(cox_items):
y = 2.4 + i*0.72
rect(s, 0.3, y, 2.8, 0.65, LGRAY)
tb(s, name, 0.38, y+0.05, 2.65, 0.55, size=12, bold=True, color=NAVY, anchor=MSO_ANCHOR.MIDDLE, wrap=True)
rect(s, 3.1, y, 3.2, 0.65, WHITE)
tb(s, desc, 3.18, y+0.05, 3.0, 0.55, size=12, color=DGRAY, anchor=MSO_ANCHOR.MIDDLE, wrap=True)
# LOX branch
rect(s, 6.8, 1.85, 6.2, 0.45, NAVY)
tb(s, 'LOX PATHWAY (5-Lipoxygenase)', 6.9, 1.87, 6.0, 0.4, size=15, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE, align=PP_ALIGN.CENTER)
lox_items = [
('LTB₄', 'Potent neutrophil chemotaxis & adhesion'),
('LTC₄ / D₄ / E₄', 'Bronchoconstriction (asthma), ↑ vascular permeability'),
('Lipoxins', 'Anti-inflammatory; inhibit neutrophil recruitment'),
]
for i, (name, desc) in enumerate(lox_items):
y = 2.4 + i*0.72
rect(s, 6.8, y, 2.5, 0.65, LGRAY)
tb(s, name, 6.88, y+0.05, 2.35, 0.55, size=12, bold=True, color=NAVY, anchor=MSO_ANCHOR.MIDDLE)
rect(s, 9.3, y, 3.7, 0.65, WHITE)
tb(s, desc, 9.38, y+0.05, 3.55, 0.55, size=12, color=DGRAY, anchor=MSO_ANCHOR.MIDDLE, wrap=True)
tb(s, 'Pharmacology: NSAIDs / Aspirin block COX → ↓ PG & TX • Corticosteroids block Phospholipase A₂ • Zileuton blocks 5-LOX • Montelukast blocks LT receptors',
0.3, 5.6, 12.7, 0.55, size=13, italic=True, color=RGBColor(0x0F, 0x55, 0x99))
footer(s); slide_number_box(s,11)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 12 – CYTOKINES IN INFLAMMATION
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Key Cytokines in Inflammation')
cytokines = [
('TNF\n(Tumor Necrosis Factor)', RED,
['Source: macrophages, mast cells, T cells',
'Endothelial adhesion molecule expression',
'Fever, anorexia, hypotension (septic shock)',
'Activates neutrophils & macrophages']),
('IL-1', RGBColor(0xE6, 0x7E, 0x22),
['Source: macrophages, endothelium',
'Endothelial and leukocyte activation',
'Fever (acts on hypothalamus via PGE₂)',
'Acute-phase protein synthesis']),
('IL-6', RGBColor(0x27, 0x80, 0x69),
['Source: macrophages, endothelium, T cells',
'Stimulates hepatic acute-phase proteins (CRP, fibrinogen)',
'Differentiation of B cells',
'Fever induction']),
('IL-8\n(CXCL8)', NAVY,
['Source: macrophages, endothelium, mast cells',
'Most important NEUTROPHIL chemoattractant',
'Activates neutrophil integrin expression',
'Target: anti-IL-8 strategies in sepsis']),
('IL-12 / IL-23', RGBColor(0x88, 0x44, 0xAA),
['Source: dendritic cells, macrophages',
'IL-12: activates NK cells; drives Th1 differentiation',
'IL-23: drives Th17 responses, chronic inflammation',
'Target: ustekinumab (IBD, psoriasis)']),
]
step_w = 2.45
for i, (name, col, pts) in enumerate(cytokines):
x = 0.28 + i * 2.61
rect(s, x, 1.2, step_w, 0.75, col)
tb(s, name, x+0.05, 1.22, step_w-0.1, 0.7,
size=14, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
rect(s, x, 1.95, step_w, 4.3, LGRAY)
tb_lines(s, pts, x+0.12, 2.0, step_w-0.25, 4.15, size=12, bullet=True, color=DGRAY)
footer(s); slide_number_box(s,12)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 13 – MORPHOLOGIC PATTERNS
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Morphologic Patterns of Acute Inflammation')
patterns = [
('Serous\nInflammation', RGBColor(0x27, 0x80, 0x69),
['Protein-rich, scant leukocytes',
'Body cavities: pleural, pericardial, peritoneal effusions',
'Skin blisters (burns, viral infections)',
'Example: pleuritis in early TB']),
('Fibrinous\nInflammation', RGBColor(0xE6, 0x7E, 0x22),
['Large ↑ in vascular permeability → fibrinogen extravasation',
'Fibrin mesh deposited at surfaces',
'Bread-and-butter pericarditis (Fig. 2.10)',
'May organise → fibrosis & scarring']),
('Purulent\n(Suppurative)', RED,
['Abundant neutrophils + tissue necrosis → PUS',
'Caused by pyogenic bacteria (Staphylococci)',
'Example: acute appendicitis',
'Abscess = localised PUS collection']),
('Ulceration', NAVY,
['Necrotic sloughing of epithelium',
'GI tract: peptic ulcer (H. pylori/NSAID)',
'Skin: pressure sores, venous ulcers',
'May heal or progress to chronic inflammation']),
]
for i, (name, col, pts) in enumerate(patterns):
col_i = i % 2
row_i = i // 2
x = 0.4 + col_i * 6.5
y = 1.2 + row_i * 3.0
section_card(s, name, x, y, 6.2, 2.8, pts, title_bg=col)
footer(s); slide_number_box(s,13)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 14 – OUTCOMES OF ACUTE INFLAMMATION
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Outcomes of Acute Inflammation')
outcomes = [
('Complete\nResolution', RGBColor(0x27, 0x80, 0x69),
['Most favourable outcome',
'Offending agent eliminated',
'Tissue returns to normal',
'Cellular debris cleared by macrophages',
'Edema resorbed via lymphatics',
'Requires minimal tissue destruction & intact parenchyma']),
('Healing by Fibrosis\n(Scarring)', RGBColor(0xE6, 0x7E, 0x22),
['Substantial tissue destruction',
'Tissues incapable of regeneration (myocardium, neurons)',
'Abundant fibrin exudate → organises',
'Connective tissue replaces necrotic area',
'Examples: MI scar, pericardial constriction']),
('Progression to\nChronic Inflammation', RED,
['Acute response cannot resolve',
'Injurious agent persists',
'Normal healing impaired',
'Ongoing tissue destruction',
'May evolve to granulomatous disease, fibrosis',
'Examples: TB, autoimmune hepatitis']),
]
for i, (name, col, pts) in enumerate(outcomes):
x = 0.35 + i * 4.3
rect(s, x, 1.2, 4.1, 0.65, col)
tb(s, name, x+0.1, 1.22, 3.9, 0.6, size=16, bold=True, color=WHITE,
align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
rect(s, x, 1.85, 4.1, 4.6, LGRAY)
tb_lines(s, pts, x+0.15, 1.92, 3.8, 4.4, size=13, bullet=True, color=DGRAY)
footer(s); slide_number_box(s,14)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 15 – CHRONIC INFLAMMATION
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Chronic Inflammation')
# Definition box
rect(s, 0.35, 1.2, 12.6, 0.7, NAVY)
tb(s, 'Prolonged duration (weeks–months) where inflammation, tissue injury, and attempts at repair coexist simultaneously',
0.5, 1.22, 12.3, 0.65, size=16, color=WHITE, anchor=MSO_ANCHOR.MIDDLE, align=PP_ALIGN.CENTER)
# Three panels
section_card(s, 'Causes', 0.35, 2.05, 4.0, 4.4,
['Persistent infections (TB, fungi, parasites)',
'Autoimmune diseases (RA, SLE, MS)',
'Allergic / hypersensitivity (asthma)',
'Prolonged toxic exposure (silica → silicosis)',
'Atherosclerosis (lipid-driven)'],
title_bg=RED)
section_card(s, 'Cells Involved', 4.55, 2.05, 4.0, 4.4,
['Macrophages (dominant cell)',
'Lymphocytes (T & B cells)',
'Plasma cells (antibody production)',
'Eosinophils (parasites, allergy)',
'Mast cells',
'Fibroblasts (repair/fibrosis)'],
title_bg=RGBColor(0xE6, 0x7E, 0x22))
section_card(s, 'Macrophage Roles', 8.7, 2.05, 4.25, 4.4,
['Phagocytose debris & microorganisms',
'Secrete TNF, IL-1, IL-6, chemokines',
'Activate fibroblasts → fibrosis',
'Angiogenesis via VEGF',
'Activated by IFN-γ from T cells',
'Form giant cells in granulomas'],
title_bg=NAVY)
footer(s); slide_number_box(s,15)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 16 – GRANULOMATOUS INFLAMMATION
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Granulomatous Inflammation')
rect(s, 0.35, 1.2, 12.6, 0.65, RGBColor(0x1A, 0x37, 0x6C))
tb(s, 'A form of chronic inflammation characterised by collections of activated macrophages (epithelioid cells), often with T lymphocytes',
0.5, 1.22, 12.3, 0.6, size=15, color=WHITE, anchor=MSO_ANCHOR.MIDDLE, align=PP_ALIGN.CENTER)
section_card(s, 'Key Components', 0.35, 1.95, 4.0, 3.5,
['Epithelioid cells = activated macrophages (pink granular cytoplasm)',
'Langhans giant cells (fused macrophages; horse-shoe nuclei)',
'Collar of lymphocytes (T cells)',
'Rim of fibroblasts (older granulomas)',
'Caseous necrosis — central cheesy necrosis (TB)'],
title_bg=RED)
section_card(s, 'Causes / Examples', 4.55, 1.95, 4.1, 3.5,
['TB (Mycobacterium tuberculosis) — CASEATING',
'Leprosy',
'Syphilis (tertiary)',
'Sarcoidosis — NON-caseating',
'Crohn disease — NON-caseating',
'Foreign body (talc, sutures) — NON-caseating'],
title_bg=RGBColor(0xE6, 0x7E, 0x22))
section_card(s, 'Clinical Significance', 8.85, 1.95, 4.1, 3.5,
['Always exclude TB when granulomas are found',
'Special stains: ZN (AFB), PAS, GMS for fungi',
'Caseating = likely infection',
'Non-caseating = sarcoidosis, Crohn, foreign body',
'Fibrosis may cause organ dysfunction'],
title_bg=NAVY)
tb(s, 'Trigger for granuloma formation: agent too large to phagocytose OR induces strong Th1 T-cell immune response (IFN-γ → macrophage activation)',
0.35, 5.65, 12.6, 0.55, size=13, italic=True, color=RGBColor(0x0F, 0x55, 0x99))
footer(s); slide_number_box(s,16)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 17 – SYSTEMIC EFFECTS
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Systemic Effects of Inflammation')
# Acute-phase response box
rect(s, 0.35, 1.2, 12.6, 0.5, NAVY)
tb(s, 'Systemic Inflammatory Response (Acute-Phase Response) — driven by TNF, IL-1, IL-6',
0.5, 1.22, 12.3, 0.45, size=15, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE, align=PP_ALIGN.CENTER)
effects = [
('FEVER', RED,
['IL-1, TNF, IL-6 → COX in hypothalamus → PGE₂ ↑',
'Raises temperature set-point',
'Thought to enhance antimicrobial defence',
'NSAIDs/aspirin block fever by inhibiting COX']),
('ACUTE-PHASE PROTEINS', RGBColor(0xE6, 0x7E, 0x22),
['Synthesised by liver in response to IL-6',
'CRP: opsonin, activates complement',
'Fibrinogen: ↑ ESR (rouleaux); coagulation',
'Serum amyloid A (SAA): precursor to amyloid A',
'Hepcidin: ↑ → anemia of chronic disease']),
('LEUKOCYTOSIS', RGBColor(0x27, 0x80, 0x69),
['Bacterial infections → neutrophilia + left shift',
'Viral infections → lymphocytosis',
'Parasites/allergy → eosinophilia',
'Bone marrow releases stored/immature PMNs',
'Colony-stimulating factors (M-CSF, G-CSF)']),
('OTHER EFFECTS', NAVY,
['Tachycardia, hypotension (severe/sepsis)',
'Anorexia, weight loss (TNF cachexia)',
'Somnolence, lethargy (IL-1, TNF)',
'Septic shock: TNF → widespread vasodilation, DIC',
'Sepsis mortality related to cytokine storm']),
]
for i, (name, col, pts) in enumerate(effects):
col_i = i % 2
row_i = i // 2
x = 0.35 + col_i * 6.5
y = 1.8 + row_i * 2.75
section_card(s, name, x, y, 6.2, 2.55, pts, title_bg=col)
footer(s); slide_number_box(s,17)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 18 – ANTI-INFLAMMATORY DRUGS
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Anti-inflammatory Pharmacology')
drugs = [
('NSAIDs / Aspirin', RED,
'COX-1 & COX-2 inhibition → ↓ PG & TXA₂',
['Ibuprofen, naproxen, indomethacin',
'Aspirin: irreversible COX inhibition',
'COX-2 selective: celecoxib (↓ GI SE)',
'Clinical uses: fever, pain, arthritis']),
('Corticosteroids', RGBColor(0xE6, 0x7E, 0x22),
'Inhibit phospholipase A₂ → ↓ ALL eicosanoids; ↓ cytokine gene transcription',
['Prednisolone, dexamethasone, hydrocortisone',
'Broad immunosuppression',
'Uses: severe asthma, autoimmune disease, anaphylaxis',
'SE: Cushing, infection, osteoporosis, hyperglycaemia']),
('Biologics', RGBColor(0x27, 0x80, 0x69),
'Target specific cytokines or receptors',
['Anti-TNF: infliximab, adalimumab (RA, IBD)',
'Anti-IL-6R: tocilizumab (RA, cytokine storm)',
'Anti-IL-1: anakinra, canakinumab (autoinflammatory)',
'Anti-IL-12/23: ustekinumab (psoriasis, IBD)']),
('Antihistamines', NAVY,
'Block H1 receptors → ↓ histamine-mediated vasodilation & itch',
['Loratadine, cetirizine (non-sedating)',
'Diphenhydramine (sedating, older)',
'Uses: allergic rhinitis, urticaria, anaphylaxis adjunct',
'Do NOT block all mediators of inflammation']),
]
for i, (name, col, mech, pts) in enumerate(drugs):
col_i = i % 2
row_i = i // 2
x = 0.35 + col_i * 6.5
y = 1.2 + row_i * 2.9
rect(s, x, y, 6.2, 0.45, col)
tb(s, name, x+0.1, y+0.03, 6.0, 0.38, size=16, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE)
rect(s, x, y+0.45, 6.2, 0.45, RGBColor(0x44, 0x62, 0x7A))
tb(s, 'MOA: '+mech, x+0.1, y+0.47, 6.0, 0.4, size=11, italic=True, color=RGBColor(0xDD, 0xEE, 0xFF))
rect(s, x, y+0.9, 6.2, 1.9, LGRAY)
tb_lines(s, pts, x+0.15, y+0.95, 5.9, 1.8, size=12, bullet=True, color=DGRAY)
footer(s); slide_number_box(s,18)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 19 – CLINICOPATHOLOGICAL CORRELATIONS
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, CREAM)
header_bar(s, 'Clinicopathological Correlations')
cases = [
('Case 1 — Appendicitis',
'Acute suppurative inflammation\nNeutrophilic infiltrate, fibrinous exudate on serosa, abscess formation\n→ Surgical emergency: appendicectomy'),
('Case 2 — Pulmonary TB',
'Granulomatous inflammation\nCaseating granulomas + Langhans giant cells + AFB +ve\n→ Anti-TB therapy (RHZE × 2/HR × 4)'),
('Case 3 — Rheumatoid Arthritis',
'Chronic synovial inflammation\nPannus formation, macrophages, lymphocytes, plasma cells\n→ DMARDs (methotrexate), biologics (anti-TNF)'),
('Case 4 — Septic Shock',
'Systemic inflammatory response\nCytokine storm (TNF/IL-1), vasodilation, DIC, multi-organ failure\n→ Resuscitation, antibiotics, ICU support'),
('Case 5 — Sarcoidosis',
'Non-caseating granulomas\nMulti-system, AFB –ve, elevated ACE, bilateral hilar lymphadenopathy\n→ Corticosteroids'),
('Case 6 — Wound Healing',
'Resolution → repair\nGranulation tissue (macrophages, fibroblasts, new vessels)\n→ Scar formation or regeneration'),
]
col_w = 4.1
for i, (title, desc) in enumerate(cases):
col_i = i % 3
row_i = i // 3
x = 0.3 + col_i * 4.35
y = 1.2 + row_i * 2.9
rect(s, x, y, col_w, 0.4, NAVY)
tb(s, title, x+0.1, y+0.04, col_w-0.2, 0.32, size=13, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE)
rect(s, x, y+0.4, col_w, 2.35, LGRAY)
tb(s, desc, x+0.12, y+0.48, col_w-0.25, 2.2, size=12, color=DGRAY, anchor=MSO_ANCHOR.TOP, wrap=True)
footer(s); slide_number_box(s,19)
# ═══════════════════════════════════════════════════════════════════
# SLIDE 20 – SUMMARY / KEY TAKEAWAYS
# ═══════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
bg(s, NAVY)
rect(s, 0, 0, 13.333, 1.0, RGBColor(0x0F, 0x22, 0x4A))
tb(s, 'Key Takeaways — Inflammation Pathology', 0.4, 0.1, 12.5, 0.8,
size=28, bold=True, color=WHITE, anchor=MSO_ANCHOR.MIDDLE, align=PP_ALIGN.CENTER)
takeaways = [
'Inflammation is a protective vascular-cellular response to infection/tissue damage but causes disease when misdirected or excessive',
'Cardinal signs: Rubor, Calor, Tumor, Dolor, Functio laesa — result from vasodilation, ↑ permeability, and tissue damage',
'Acute inflammation: neutrophils, self-limited; mediators include histamine, prostaglandins, C5a, IL-8',
'Leukocyte extravasation follows Rolling → Adhesion → Transmigration → Chemotaxis → Phagocytosis',
'Complement system (classical/lectin/alternative) produces anaphylatoxins (C3a/C5a), opsonin (C3b), and lytic MAC (C5b-9)',
'Outcomes of acute inflammation: resolution, fibrosis/scarring, or progression to chronic inflammation',
'Chronic inflammation: macrophages + lymphocytes; causes include persistent infection, autoimmunity, toxic exposure',
'Granulomatous inflammation = epithelioid macrophages ± Langhans giant cells; always exclude TB when granulomas found',
'Acute-phase response: fever, ↑ CRP/fibrinogen/SAA (IL-6-driven); leukocytosis; severe sepsis → cytokine storm',
'Anti-inflammatory drugs target specific mediators: NSAIDs (COX), steroids (PLA₂), biologics (TNF/IL-1/IL-6 pathway)',
]
for i, t in enumerate(takeaways):
y = 1.1 + i * 0.61
rect(s, 0.35, y, 0.5, 0.48, RED)
tb(s, str(i+1), 0.35, y+0.02, 0.5, 0.44, size=14, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
tb(s, t, 0.95, y+0.03, 12.0, 0.5, size=13, color=WHITE, anchor=MSO_ANCHOR.MIDDLE, wrap=True)
# ── save ──────────────────────────────────────────────────────────
out = '/tmp/workspace/inflammation-ppt/Inflammation_Pathology.pptx'
prs.save(out)
print(f'Saved: {out}')
print(f'Slides: {len(prs.slides)}')
cd /tmp/workspace/inflammation-ppt && python build_ppt.py 2>&1
~/inflammation-ppt/build_ppt.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/inflammation-ppt/build_ppt.py'
cd /tmp/workspace/inflammation-ppt && python build_ppt.py 2>&1
ls -lh /tmp/workspace/inflammation-ppt/Inflammation_Pathology.pptx
Inflammation Pathology
Presentation · PPTX
| # | Slide | Content |
|---|---|---|
| 1 | Title Slide | Inflammation Pathology |
| 2 | Learning Objectives | 9 session goals |
| 3 | What Is Inflammation? | Definition, protective vs harmful roles |
| 4 | Cardinal Signs | Rubor, Calor, Tumor, Dolor, Functio Laesa + the Five R's |
| 5 | Acute vs Chronic | Comparison table (onset, cells, fibrosis, outcomes) |
| 6 | Causes | Infections, necrosis/DAMPs, foreign bodies, immune reactions |
| 7 | Vascular Reactions | Vasodilation, permeability, exudate vs transudate, pus |
| 8 | Leukocyte Recruitment | Margination → Rolling → Adhesion → Diapedesis → Chemotaxis → Phagocytosis |
| 9 | Mediators Overview | Cell-derived (histamine, AA metabolites, cytokines, ROS/NO) + plasma-derived (complement, kinins, coagulation) |
| 10 | Complement System | Classical/lectin/alternative pathways; C3a/C5a/C3b/MAC; PNH connection |
| 11 | Arachidonic Acid | COX pathway (PGs, TXA₂) vs LOX pathway (LTs, lipoxins); drug targets |
| 12 | Key Cytokines | TNF, IL-1, IL-6, IL-8, IL-12/23 with sources and actions |
| 13 | Morphologic Patterns | Serous, fibrinous, purulent/abscess, ulceration |
| 14 | Outcomes of Acute | Resolution, fibrosis/scarring, chronic transition |
| 15 | Chronic Inflammation | Definition, causes, cells involved, macrophage roles |
| 16 | Granulomatous Inflammation | Components, caseating vs non-caseating, examples, workup |
| 17 | Systemic Effects | Fever, acute-phase proteins (CRP/fibrinogen/SAA), leukocytosis, septic shock |
| 18 | Anti-inflammatory Drugs | NSAIDs, corticosteroids, biologics, antihistamines with MOA |
| 19 | Clinicopathological Cases | Appendicitis, TB, RA, septic shock, sarcoidosis, wound healing |
| 20 | Key Takeaways | 10 exam-ready summary points |
inflammation pathology full ppt from robbins pathology