Make anemia 10 slide pot

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.

Make anemia 20 slide ppt

Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Searching Images

peripheral blood smear iron deficiency anemia microcytic hypochromic red cells

Searching Images

sickle cell anemia peripheral blood smear

Searching Images

megaloblastic anemia hypersegmented neutrophil bone marrow

Finding Sources
Finding Sources
Finding Sources
Finding Sources
Searching Images

iron deficiency anemia red blood cells

This histopathology slide displays a high-grade vascular neoplasm consistent with epithelioid angiosarcoma of the small intestine, in a patient with a history of radiation therapy for a prior malignancy. Under light microscopy using Hematoxylin and Eosin staining, atypical epithelioid endothelial cells form sheets and irregular, poorly defined vascular channels, with true lumina not readily evident. The tumor demonstrates marked nuclear pleomorphism, vesicular nuclei, conspicuous nucleoli, and abundant eosinophilic to amphophilic cytoplasm. Multinucleated giant cells are variably present. Hemorrhagic debris, erythrocyte extravasation, and numerous mitotic figures highlight high proliferative activity. Infiltrative growth into surrounding mucosa and muscularis propria can be inferred, with occasional spindle cell components and necrotic foci. The vascular differentiation is suggested by occasional intracytoplasmic lumina and red blood cell–containing spaces, though nonclassic channels predominate. Radiotherapy-related etiology is supported by clinical history; the lesion can arise years after exposure, particularly in the small intestine, and presents with GI bleeding, iron-deficiency anemia, or obstruction. Immunohistochemical confirmation is typically sought (CD31, ERG, factor VIII-related antigen) to differentiate from mimics such as Kaposi sarcoma, melanoma, or carcinoma. This image supports a high-grade, aggressive sarcoma with poor short-term prognosis and informs therapeutic planning including surgical excision and systemic therapy and follow-up.

This histopathology slide displays a high-grade vascular neoplasm consistent with epithelioid angiosarcoma of the small intestine, in a patient with a history of radiation therapy for a prior malignancy. Under light microscopy using Hematoxylin and Eosin staining, atypical epithelioid endothelial cells form sheets and irregular, poorly defined vascular channels, with true lumina not readily evident. The tumor demonstrates marked nuclear pleomorphism, vesicular nuclei, conspicuous nucleoli, and abundant eosinophilic to amphophilic cytoplasm. Multinucleated giant cells are variably present. Hemorrhagic debris, erythrocyte extravasation, and numerous mitotic figures highlight high proliferative activity. Infiltrative growth into surrounding mucosa and muscularis propria can be inferred, with occasional spindle cell components and necrotic foci. The vascular differentiation is suggested by occasional intracytoplasmic lumina and red blood cell–containing spaces, though nonclassic channels predominate. Radiotherapy-related etiology is supported by clinical history; the lesion can arise years after exposure, particularly in the small intestine, and presents with GI bleeding, iron-deficiency anemia, or obstruction. Immunohistochemical confirmation is typically sought (CD31, ERG, factor VIII-related antigen) to differentiate from mimics such as Kaposi sarcoma, melanoma, or carcinoma. This image supports a high-grade, aggressive sarcoma with poor short-term prognosis and informs therapeutic planning including surgical excision and systemic therapy and follow-up.

Searching Images

sickle cell red blood cells

A multi-panel medical illustration and data graphic comparing normal hemoglobin and sickle cell disease (SCD) hemoglobin. (a) A 3D schematic of a bifurcating blood vessel showing the movement of red blood cells. (b, c) Magnified views contrasting the flexible, biconcave disc morphology of normal hemoglobin with the rigid, elongated, crescent or sickle shape characteristic of SCD hemoglobin, illustrating the mechanism for vascular occlusion. (d, e) Ball-and-stick molecular models detailing Heme (with Fe2+) and Sickle Heme (associated with Fe3+), emphasizing structural differences at the molecular level. (f) A comparative fluorescence spectrum plot showing Protoporphyrin (black), Sickle-cell Disease Hemoglobin (red), and Normal Hemoglobin (blue) across wavelengths of 610–690 nm. The graph highlights diagnostic spectral shifts: Protoporphyrin peaks at ~628.1 nm, while hemoglobin variants show distinctive primary peaks at ~672.5 nm and secondary peaks showing shifts (629.5 nm for normal vs. 633.8 nm for sickle). This composite image serves to correlate clinical hematology, cellular morphology, and molecular spectroscopy in the study of Sickle Cell Anemia.

A multi-panel medical illustration and data graphic comparing normal hemoglobin and sickle cell disease (SCD) hemoglobin. (a) A 3D schematic of a bifurcating blood vessel showing the movement of red blood cells. (b, c) Magnified views contrasting the flexible, biconcave disc morphology of normal hemoglobin with the rigid, elongated, crescent or sickle shape characteristic of SCD hemoglobin, illustrating the mechanism for vascular occlusion. (d, e) Ball-and-stick molecular models detailing Heme (with Fe2+) and Sickle Heme (associated with Fe3+), emphasizing structural differences at the molecular level. (f) A comparative fluorescence spectrum plot showing Protoporphyrin (black), Sickle-cell Disease Hemoglobin (red), and Normal Hemoglobin (blue) across wavelengths of 610–690 nm. The graph highlights diagnostic spectral shifts: Protoporphyrin peaks at ~628.1 nm, while hemoglobin variants show distinctive primary peaks at ~672.5 nm and secondary peaks showing shifts (629.5 nm for normal vs. 633.8 nm for sickle). This composite image serves to correlate clinical hematology, cellular morphology, and molecular spectroscopy in the study of Sickle Cell Anemia.

A comparison chart containing a series of multi-panel plots displaying Cell Tracking Velocimetry (CTV) data for red blood cells (RBCs). Panel A shows data from four healthy donors (M1, M2, F1, F2), while Panel B shows data from three Sickle Cell Disease (SCD) donors (SCD4, SCD5, SCD6). Each donor's sub-plot features a central scatter plot showing the relationship between magnetic velocity (um, x-axis) and settling velocity (us, y-axis), flanked by marginal histograms with overlaid cumulative distribution curves. Data are color-coded by paramagnetic preparation method: sodium nitrite (black), sodium dithionite (red), and Oxyrase (green). In healthy donors, the RBC populations exhibit tight, clustered distributions with minimal variability. In contrast, SCD donor plots show significantly wider scatter and broader histograms, indicating greater heterogeneity in cell size and hemoglobin content. The SCD scatter plots demonstrate a positive correlation between um and us, suggesting that smaller or less dense sickle cells possess lower magnetic mobility and reduced intracellular hemoglobin compared to larger, denser cells.

A comparison chart containing a series of multi-panel plots displaying Cell Tracking Velocimetry (CTV) data for red blood cells (RBCs). Panel A shows data from four healthy donors (M1, M2, F1, F2), while Panel B shows data from three Sickle Cell Disease (SCD) donors (SCD4, SCD5, SCD6). Each donor's sub-plot features a central scatter plot showing the relationship between magnetic velocity (um, x-axis) and settling velocity (us, y-axis), flanked by marginal histograms with overlaid cumulative distribution curves. Data are color-coded by paramagnetic preparation method: sodium nitrite (black), sodium dithionite (red), and Oxyrase (green). In healthy donors, the RBC populations exhibit tight, clustered distributions with minimal variability. In contrast, SCD donor plots show significantly wider scatter and broader histograms, indicating greater heterogeneity in cell size and hemoglobin content. The SCD scatter plots demonstrate a positive correlation between um and us, suggesting that smaller or less dense sickle cells possess lower magnetic mobility and reduced intracellular hemoglobin compared to larger, denser cells.

This clinical photograph displays a close-up view of a pediatric patient's hand demonstrating dactylitis, a hallmark clinical sign of sickle cell disease (SCD) often referred to as 'hand-foot syndrome.' The image shows marked, diffuse swelling of the second and third digits, characterized by a 'sausage-like' appearance. The fingers appear edematous and bulbous, particularly around the proximal interphalangeal (PIP) joints, with taut, shiny overlying skin indicating acute soft tissue inflammation. The nail beds exhibit slight pallor, consistent with the patient's associated severe anemia. Clinically, this presentation represents a vaso-occlusive crisis where sickle-shaped red blood cells obstruct small capillaries in the phalanges, leading to ischemia and painful infarction of the bone marrow and periosteum. This visual is a classic educational example of early-onset skeletal complications in toddlers with sickle cell anemia, illustrating the inflammatory response to microvascular occlusion in the extremities.

This clinical photograph displays a close-up view of a pediatric patient's hand demonstrating dactylitis, a hallmark clinical sign of sickle cell disease (SCD) often referred to as 'hand-foot syndrome.' The image shows marked, diffuse swelling of the second and third digits, characterized by a 'sausage-like' appearance. The fingers appear edematous and bulbous, particularly around the proximal interphalangeal (PIP) joints, with taut, shiny overlying skin indicating acute soft tissue inflammation. The nail beds exhibit slight pallor, consistent with the patient's associated severe anemia. Clinically, this presentation represents a vaso-occlusive crisis where sickle-shaped red blood cells obstruct small capillaries in the phalanges, leading to ischemia and painful infarction of the bone marrow and periosteum. This visual is a classic educational example of early-onset skeletal complications in toddlers with sickle cell anemia, illustrating the inflammatory response to microvascular occlusion in the extremities.

Searching Images

anemia pallor conjunctiva clinical photo

Running Command

mkdir -p /tmp/workspace/anemia-ppt/output && ls -la /tmp/workspace

Quick answer

I've gathered solid research on anemia but ran into a budget limit before finishing the actual PPTX file build. Here's a complete 20-slide content outline you can use right now (or I can generate the file itself once tools are available again):
Anemia — 20-Slide Deck Outline
  1. Title Slide — Anemia: Overview, Classification, and Management
  2. What is Anemia? — Definition; WHO Hb thresholds (men <13 g/dL, women <12 g/dL, pregnant <11 g/dL)
  3. Epidemiology/Burden — Global prevalence, most common nutritional deficiency worldwide
  4. Pathophysiology — 3 Core Mechanisms — Decreased RBC production, increased destruction (hemolysis), blood loss
  5. Classification by MCV — Microcytic (<80 fL), Normocytic (80-100 fL), Macrocytic (>100 fL)
  6. Clinical Features/Symptoms — Fatigue, dyspnea, loss of stamina, dizziness, headache
  7. Physical Signs — Pallor, tachycardia, wide pulse pressure, systolic flow murmur, koilonychia, glossitis
  8. Diagnostic Approach — CBC, reticulocyte count, peripheral smear, ferritin, B12/folate levels
  9. Microcytic Anemia — Overview — Iron deficiency, thalassemia, sideroblastic anemia, chronic disease
  10. Iron Deficiency Anemia — Etiology — Blood loss (GI, menstrual), poor intake, malabsorption
  11. Iron Deficiency Anemia — Diagnosis — Low ferritin, low serum iron, high TIBC, microcytic hypochromic cells
  12. Iron Deficiency Anemia — Treatment — Oral ferrous sulfate/fumarate/gluconate; IV iron if needed
  13. Macrocytic Anemia — Megaloblastic — B12/folate deficiency, hypersegmented neutrophils
  14. Pernicious Anemia & Treatment — Intrinsic factor loss; B12 replacement (IM/oral), folate repletion
  15. Normocytic Anemia — Hemolytic Overview — Increased destruction, elevated LDH/bilirubin, low haptoglobin
  16. Hemolytic Anemia — Types — Intrinsic (hereditary spherocytosis, G6PD, sickle cell) vs extrinsic (autoimmune, mechanical)
  17. Sickle Cell Disease — Pathophysiology, vaso-occlusive crises, hand-foot syndrome
  18. Aplastic Anemia — Bone marrow failure, pancytopenia, fatigue/bleeding/infection triad
  19. Thalassemia — Alpha/beta chain defects, iron overload risk, transfusion dependence
  20. Summary & Key Takeaways — MCV-based diagnostic algorithm recap; when to refer/treat
Say "continue" or "build the file" and I'll generate the actual downloadable .pptx with this content plus supporting images (sickle cell hand-foot syndrome photo, RBC morphology diagrams).

Make anemia 20 slide ppt

Reading File
Browsing Directory

~/anemia-ppt

Running Command

mkdir -p /tmp/workspace/anemia-ppt/output && mkdir -p /tmp/workspace/anemia-ppt/assets && python /tmp/skills/shared/scripts/fetch_images.py "https://cdn.orris.care/cdss_images/pmc_clinical_VQA_4611d6477c633cd420dba36af573ddbcefe3cb44fbf43ac678977089a4dda30e.jpg" "https://cdn.orris.care/cdss_images/pmc_clinical_VQA_478fff5694e06eccc25fc038a64fe8d506be89b6aca140fdfc6fd76e486acaa2.jpg" > /tmp/workspace/anemia-ppt/assets/images.json && python3 -c " import json data = json.load(open('/tmp/workspace/anemia-ppt/assets/images.json')) for i, d in enumerate(data): print(i, d['url'][:60], 'OK' if d['base64'] else d['error']) "

Writing File

~/anemia-ppt/build_ppt.py

#!/usr/bin/env python3
import json, base64, os
from io import BytesIO
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.enum.shapes import MSO_SHAPE

ASSETS = "/tmp/workspace/anemia-ppt/assets"
OUT = "/tmp/workspace/anemia-ppt/output/Anemia_Overview.pptx"

# ---- decode images ----
imgs = json.load(open(os.path.join(ASSETS, "images.json")))
img_paths = []
for i, d in enumerate(imgs):
    if d["base64"]:
        raw = base64.b64decode(d["base64"].split(",", 1)[1])
        p = os.path.join(ASSETS, f"img{i}.jpg")
        with open(p, "wb") as f:
            f.write(raw)
        img_paths.append(p)
    else:
        img_paths.append(None)

HB_IMG, SICKLE_HAND_IMG = img_paths[0], img_paths[1]

# ---- palette ----
NAVY = RGBColor(0x1B, 0x2A, 0x4A)
RED = RGBColor(0xA8, 0x1D, 0x2B)
LIGHT = RGBColor(0xF4, 0xF2, 0xEC)
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
GRAY = RGBColor(0x55, 0x5A, 0x63)
ACCENT = RGBColor(0xC9, 0x8A, 0x2A)

prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
BLANK = prs.slide_layouts[6]
SW, SH = prs.slide_width, prs.slide_height


def add_slide():
    return prs.slides.add_slide(BLANK)


def bg(slide, color=WHITE):
    slide.background.fill.solid()
    slide.background.fill.fore_color.rgb = color


def rect(slide, x, y, w, h, color, line=False):
    sh = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, x, y, w, h)
    sh.fill.solid()
    sh.fill.fore_color.rgb = color
    if line:
        sh.line.color.rgb = color
    else:
        sh.line.fill.background()
    sh.shadow.inherit = False
    return sh


def textbox(slide, x, y, w, h, text, size=18, color=NAVY, bold=False, italic=False,
            align=PP_ALIGN.LEFT, font="Calibri", anchor=None, line_spacing=1.0):
    tb = slide.shapes.add_textbox(x, y, w, h)
    tf = tb.text_frame
    tf.word_wrap = True
    if anchor:
        tf.vertical_anchor = anchor
    tf.margin_left = 0
    tf.margin_right = 0
    tf.margin_top = 0
    tf.margin_bottom = 0
    lines = text.split("\n")
    for i, line in enumerate(lines):
        p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
        p.text = line
        p.alignment = align
        p.line_spacing = line_spacing
        for r in p.runs:
            r.font.size = Pt(size)
            r.font.color.rgb = color
            r.font.bold = bold
            r.font.italic = italic
            r.font.name = font
    return tb


def bullets(slide, x, y, w, h, items, size=16, color=NAVY, bold_first=False,
            font="Calibri", space_after=10, bullet_color=ACCENT):
    tb = slide.shapes.add_textbox(x, y, w, h)
    tf = tb.text_frame
    tf.word_wrap = True
    tf.margin_left = 0
    tf.margin_right = 0
    for i, item in enumerate(items):
        p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
        p.space_after = Pt(space_after)
        p.line_spacing = 1.05
        if isinstance(item, tuple):
            head, rest = item
            r1 = p.add_run()
            r1.text = f"{head}  "
            r1.font.bold = True
            r1.font.size = Pt(size)
            r1.font.color.rgb = ACCENT if bold_first else color
            r1.font.name = font
            r2 = p.add_run()
            r2.text = rest
            r2.font.size = Pt(size)
            r2.font.color.rgb = color
            r2.font.name = font
        else:
            r = p.add_run()
            r.text = "•  " + item
            r.font.size = Pt(size)
            r.font.color.rgb = color
            r.font.name = font
    return tb


def header(slide, kicker, title, dark=False):
    bg(slide, NAVY if dark else WHITE)
    rect(slide, 0, 0, SW, Inches(0.12), ACCENT)
    tcolor = WHITE if dark else NAVY
    kcolor = ACCENT
    textbox(slide, Inches(0.6), Inches(0.35), Inches(10), Inches(0.35),
            kicker.upper(), size=13, color=kcolor, bold=True)
    textbox(slide, Inches(0.6), Inches(0.68), Inches(11.8), Inches(0.9),
            title, size=30, color=tcolor, bold=True)
    rect(slide, Inches(0.6), Inches(1.5), Inches(1.3), Pt(3), ACCENT)


def footer(slide, num, dark=False):
    color = RGBColor(0xB8, 0xBE, 0xC8) if dark else GRAY
    textbox(slide, Inches(0.6), Inches(7.12), Inches(4), Inches(0.3),
            "Anemia: Overview, Classification & Management", size=10, color=color)
    textbox(slide, Inches(12.3), Inches(7.12), Inches(0.5), Inches(0.3),
            str(num), size=10, color=color, align=PP_ALIGN.RIGHT)


def add_pic(slide, path, x, y, w=None, h=None):
    if path and os.path.exists(path):
        return slide.shapes.add_picture(path, x, y, width=w, height=h)
    return None


def caption(slide, x, y, w, text):
    textbox(slide, x, y, w, Inches(0.4), text, size=11, color=GRAY, italic=True,
            align=PP_ALIGN.CENTER)


# =====================================================================
# SLIDE 1 — TITLE
# =====================================================================
s = add_slide()
bg(s, NAVY)
rect(s, 0, 0, SW, Inches(7.5), NAVY)
rect(s, 0, Inches(6.9), SW, Inches(0.6), RED)
rect(s, 0, Inches(6.85), SW, Pt(2), ACCENT)
textbox(s, Inches(1), Inches(2.3), Inches(11.3), Inches(0.5), "HEMATOLOGY",
        size=18, color=ACCENT, bold=True, align=PP_ALIGN.CENTER)
textbox(s, Inches(1), Inches(2.85), Inches(11.3), Inches(1.3), "Anemia",
        size=66, color=WHITE, bold=True, align=PP_ALIGN.CENTER)
textbox(s, Inches(1), Inches(4.05), Inches(11.3), Inches(0.6),
        "Definition, Classification, Diagnosis and Management",
        size=22, color=RGBColor(0xE3, 0xE6, 0xEC), align=PP_ALIGN.CENTER)
rect(s, Inches(5.67), Inches(4.85), Inches(2), Pt(3), ACCENT)
textbox(s, Inches(1), Inches(6.95), Inches(11.3), Inches(0.4),
        "Medical Education Series", size=13, color=RGBColor(0xB8, 0xBE, 0xC8),
        align=PP_ALIGN.CENTER)

# =====================================================================
# SLIDE 2 — Agenda
# =====================================================================
s = add_slide()
header(s, "Overview", "What We'll Cover")
agenda = [
    "Definition, epidemiology and burden of disease",
    "Pathophysiology: 3 core mechanisms of anemia",
    "Classification by mean corpuscular volume (MCV)",
    "Clinical features, signs and complications",
    "Diagnostic work-up: labs, smear, algorithm",
    "Microcytic anemias — iron deficiency, thalassemia",
    "Macrocytic anemias — B12/folate deficiency",
    "Normocytic anemias — hemolytic & aplastic anemia",
    "Hemoglobinopathies — sickle cell disease",
    "Management summary and key takeaways",
]
left = agenda[:5]
right = agenda[5:]
bullets(s, Inches(0.7), Inches(1.9), Inches(5.8), Inches(4.8), left, size=17, space_after=18)
bullets(s, Inches(6.8), Inches(1.9), Inches(5.8), Inches(4.8), right, size=17, space_after=18)
footer(s, 2)

# =====================================================================
# SLIDE 3 — Definition
# =====================================================================
s = add_slide()
header(s, "Fundamentals", "What Is Anemia?")
textbox(s, Inches(0.6), Inches(1.8), Inches(7.3), Inches(1.3),
        "A reduction in red blood cell mass, hemoglobin concentration, or "
        "oxygen-carrying capacity of blood below normal for age and sex, "
        "leading to impaired tissue oxygen delivery.",
        size=18, color=NAVY, line_spacing=1.2)
rect(s, Inches(0.6), Inches(3.3), Inches(7.3), Pt(2), RGBColor(0xDD,0xDD,0xDD))
bullets(s, Inches(0.6), Inches(3.55), Inches(7.3), Inches(3), [
    ("WHO threshold (men):", "Hemoglobin < 13 g/dL"),
    ("WHO threshold (women):", "Hemoglobin < 12 g/dL"),
    ("WHO threshold (pregnancy):", "Hemoglobin < 11 g/dL"),
    ("Not a diagnosis:", "always a sign of an underlying disease process"),
], size=16, space_after=14)
rect(s, Inches(8.3), Inches(1.8), Inches(4.4), Inches(4.9), LIGHT)
textbox(s, Inches(8.6), Inches(2.0), Inches(3.8), Inches(0.4), "QUICK FACTS", size=13, color=ACCENT, bold=True)
bullets(s, Inches(8.6), Inches(2.5), Inches(3.9), Inches(4), [
    "Most common blood disorder worldwide",
    "Affects ~1/4 of the global population (WHO)",
    "Iron deficiency is the leading cause globally",
    "Highest burden in preschool children and women of reproductive age",
], size=14, space_after=14)
footer(s, 3)

# =====================================================================
# SLIDE 4 — Pathophysiology (3 mechanisms)
# =====================================================================
s = add_slide()
header(s, "Pathophysiology", "Three Core Mechanisms")
mechs = [
    ("Decreased Production", "Bone marrow failure, nutrient deficiency (iron, B12, folate), chronic disease, renal disease (low EPO), marrow infiltration", RED),
    ("Increased Destruction", "Hemolysis — intrinsic (membrane, enzyme, hemoglobin defects) or extrinsic (immune, mechanical, infectious)", ACCENT),
    ("Blood Loss", "Acute hemorrhage or chronic occult loss (GI, menstrual) — most common cause of iron deficiency anemia", NAVY),
]
x0 = Inches(0.6)
w = Inches(3.95)
gap = Inches(0.2)
for i, (t, d, c) in enumerate(mechs):
    x = Inches(0.6) + i * (Inches(4.0) + Inches(0.15))
    rect(s, x, Inches(1.85), Inches(3.95), Inches(0.15), c)
    rect(s, x, Inches(2.0), Inches(3.95), Inches(3.6), LIGHT)
    textbox(s, x + Inches(0.25), Inches(2.25), Inches(3.45), Inches(0.7), t, size=19, color=c, bold=True)
    textbox(s, x + Inches(0.25), Inches(3.0), Inches(3.45), Inches(2.4), d, size=14.5, color=NAVY, line_spacing=1.25)
textbox(s, Inches(0.6), Inches(5.9), Inches(11.8), Inches(0.7),
        "Clue: reticulocyte count differentiates underproduction (low) from destruction/loss (high, compensatory) anemias.",
        size=14, color=GRAY, italic=True)
footer(s, 4)

# =====================================================================
# SLIDE 5 — Classification by MCV
# =====================================================================
s = add_slide()
header(s, "Classification", "Classification by Mean Corpuscular Volume (MCV)")
rect(s, Inches(0.6), Inches(2.0), Inches(11.8), Inches(0.55), NAVY)
textbox(s, Inches(0.6), Inches(2.05), Inches(11.8), Inches(0.45),
        "MCV < 80 fL                         MCV 80-100 fL                         MCV > 100 fL",
        size=16, color=WHITE, bold=True, align=PP_ALIGN.CENTER)
cols = [
    ("MICROCYTIC", "Iron deficiency\nThalassemia\nSideroblastic anemia\nAnemia of chronic disease (some)", RED),
    ("NORMOCYTIC", "Acute blood loss\nHemolytic anemia\nAplastic anemia\nAnemia of chronic disease/kidney disease", ACCENT),
    ("MACROCYTIC", "Vitamin B12 deficiency\nFolate deficiency\nMyelodysplasia\nAlcohol use, liver disease, hypothyroidism", NAVY),
]
for i, (t, d, c) in enumerate(cols):
    x = Inches(0.6) + i * (Inches(4.0) + Inches(0.13))
    rect(s, x, Inches(2.75), Inches(3.95), Pt(4), c)
    textbox(s, x, Inches(2.95), Inches(3.95), Inches(0.5), t, size=18, color=c, bold=True, align=PP_ALIGN.CENTER)
    textbox(s, x + Inches(0.35), Inches(3.55), Inches(3.3), Inches(2.6), d, size=14.5, color=NAVY, line_spacing=1.5)
textbox(s, Inches(0.6), Inches(6.35), Inches(11.8), Inches(0.6),
        "First diagnostic step in any anemia work-up: obtain the MCV to narrow the differential before ordering further tests.",
        size=13.5, color=GRAY, italic=True)
footer(s, 5)

# =====================================================================
# SLIDE 6 — Clinical Features
# =====================================================================
s = add_slide()
header(s, "Clinical Presentation", "Symptoms")
textbox(s, Inches(0.6), Inches(1.8), Inches(11.8), Inches(0.5),
        "Severity depends on the degree of anemia, chronicity, and rate of onset.", size=15, color=GRAY, italic=True)
bullets(s, Inches(0.6), Inches(2.4), Inches(5.8), Inches(4.3), [
    ("Fatigue & weakness", "reduced oxygen delivery to tissues"),
    ("Dyspnea", "on exertion, progressing to rest"),
    ("Dizziness / headache / tinnitus", "cerebral hypoperfusion"),
    ("Decreased cognitive ability", "in chronic, severe anemia"),
], size=16, space_after=18)
bullets(s, Inches(6.8), Inches(2.4), Inches(5.8), Inches(4.3), [
    ("Palpitations", "compensatory tachycardia"),
    ("Angina", "in patients with coronary disease"),
    ("Pica / cravings", "classic for iron deficiency"),
    ("Non-specific", "onset may be insidious, especially if chronic"),
], size=16, space_after=18)
footer(s, 6)

# =====================================================================
# SLIDE 7 — Physical Signs
# =====================================================================
s = add_slide()
header(s, "Clinical Presentation", "Physical Findings")
bullets(s, Inches(0.6), Inches(1.9), Inches(5.9), Inches(4.6), [
    ("Pallor", "skin, conjunctivae, nail beds"),
    ("Tachycardia & systolic flow murmur", "compensatory hyperdynamic circulation"),
    ("Wide pulse pressure, forceful heartbeat", "increased cardiac output"),
    ("Hypotension, orthostasis", "in acute or severe cases"),
], size=16, space_after=16)
bullets(s, Inches(6.9), Inches(1.9), Inches(5.9), Inches(4.6), [
    ("Atrophic glossitis, angular cheilosis", "chronic iron deficiency"),
    ("Koilonychia (spoon nails)", "brittle nails in severe, longstanding iron deficiency"),
    ("Jaundice", "suggests hemolysis"),
    ("Petechiae, bleeding, infection", "suggests marrow failure (aplastic anemia)"),
], size=16, space_after=16)
footer(s, 7)

# =====================================================================
# SLIDE 8 — Diagnostic Approach
# =====================================================================
s = add_slide()
header(s, "Work-Up", "Diagnostic Approach")
steps = [
    ("1", "CBC & MCV", "Confirm anemia; classify microcytic / normocytic / macrocytic"),
    ("2", "Reticulocyte Count", "Distinguishes underproduction (low) from hemolysis/loss (high)"),
    ("3", "Peripheral Smear", "RBC morphology — shape, size, inclusions (spherocytes, sickle cells, schistocytes)"),
    ("4", "Targeted Labs", "Ferritin/iron studies, B12/folate, LDH, bilirubin, haptoglobin, Coombs test as indicated"),
]
for i, (n, t, d) in enumerate(steps):
    y = Inches(1.85) + i * Inches(1.28)
    circ = s.shapes.add_shape(MSO_SHAPE.OVAL, Inches(0.6), y, Inches(0.75), Inches(0.75))
    circ.fill.solid(); circ.fill.fore_color.rgb = ACCENT; circ.line.fill.background(); circ.shadow.inherit=False
    tf = circ.text_frame; tf.word_wrap=True
    p = tf.paragraphs[0]; p.alignment = PP_ALIGN.CENTER
    r = p.add_run(); r.text = n; r.font.size = Pt(22); r.font.bold=True; r.font.color.rgb = WHITE
    textbox(s, Inches(1.6), y + Inches(0.02), Inches(3), Inches(0.5), t, size=17, color=NAVY, bold=True)
    textbox(s, Inches(4.7), y + Inches(0.05), Inches(7.9), Inches(0.9), d, size=14.5, color=GRAY, line_spacing=1.15)
    if i < 3:
        rect(s, Inches(0.95), y + Inches(0.78), Pt(2), Inches(0.45), RGBColor(0xDD,0xDD,0xDD))
footer(s, 8)

# =====================================================================
# SLIDE 9 — Microcytic overview
# =====================================================================
s = add_slide()
header(s, "Microcytic Anemia (MCV < 80 fL)", "Causes of Microcytic Anemia")
bullets(s, Inches(0.6), Inches(1.95), Inches(6.0), Inches(4.5), [
    ("Iron deficiency anemia", "most common cause worldwide"),
    ("Thalassemia", "inherited globin chain synthesis defect"),
    ("Sideroblastic anemia", "impaired heme synthesis, e.g. lead poisoning"),
    ("Anemia of chronic disease", "some cases, usually mildly microcytic"),
], size=17, space_after=20)
rect(s, Inches(7.0), Inches(1.95), Inches(5.4), Inches(4.5), LIGHT)
textbox(s, Inches(7.3), Inches(2.15), Inches(4.8), Inches(0.4), "MENTAL MODEL", size=13, color=ACCENT, bold=True)
textbox(s, Inches(7.3), Inches(2.65), Inches(4.8), Inches(3.5),
        "Iron deficiency and thalassemia are the two dominant microcytic anemias. "
        "Ferritin is the key discriminating test:\n\n"
        "• Low ferritin -> iron deficiency\n"
        "• Normal/high ferritin + microcytosis + normal/high RBC count -> "
        "consider thalassemia (confirm with hemoglobin electrophoresis)",
        size=15, color=NAVY, line_spacing=1.3)
footer(s, 9)

# =====================================================================
# SLIDE 10 — Iron Deficiency Anemia: Etiology
# =====================================================================
s = add_slide()
header(s, "Microcytic Anemia", "Iron Deficiency Anemia — Etiology")
bullets(s, Inches(0.6), Inches(1.95), Inches(11.8), Inches(4.6), [
    ("Chronic blood loss", "GI bleeding (ulcers, malignancy, NSAIDs), heavy menstrual bleeding — the most common cause in adults"),
    ("Inadequate dietary intake", "infants, toddlers, adolescents, vegetarians/vegans"),
    ("Increased demand", "pregnancy, lactation, rapid growth in childhood"),
    ("Malabsorption", "celiac disease, atrophic gastritis, post-bariatric/gastrectomy surgery, H. pylori infection"),
], size=17, space_after=20)
footer(s, 10)

# =====================================================================
# SLIDE 11 — Iron Deficiency Anemia: Diagnosis
# =====================================================================
s = add_slide()
header(s, "Microcytic Anemia", "Iron Deficiency Anemia — Diagnosis")
headers_ = ["Test", "Finding in Iron Deficiency"]
rows = [
    ("Ferritin", "Low (most specific test; acute-phase reactant, may be falsely normal/high with inflammation)"),
    ("Serum iron", "Low"),
    ("TIBC / transferrin", "High"),
    ("Transferrin saturation", "Low (< 15-20%)"),
    ("Peripheral smear", "Microcytic, hypochromic red cells; anisocytosis, pencil cells"),
]
top = Inches(1.95)
rowh = Inches(0.85)
rect(s, Inches(0.6), top, Inches(11.8), Inches(0.55), NAVY)
textbox(s, Inches(0.9), top + Inches(0.08), Inches(3.5), Inches(0.4), headers_[0], size=15, color=WHITE, bold=True)
textbox(s, Inches(4.6), top + Inches(0.08), Inches(7.5), Inches(0.4), headers_[1], size=15, color=WHITE, bold=True)
for i, (a, b) in enumerate(rows):
    y = top + Inches(0.55) + i * rowh
    if i % 2 == 0:
        rect(s, Inches(0.6), y, Inches(11.8), rowh, LIGHT)
    textbox(s, Inches(0.9), y + Inches(0.18), Inches(3.5), rowh, a, size=14.5, color=NAVY, bold=True)
    textbox(s, Inches(4.6), y + Inches(0.12), Inches(7.5), rowh, b, size=13.5, color=NAVY, line_spacing=1.15)
footer(s, 11)

# =====================================================================
# SLIDE 12 — Iron Deficiency Anemia: Treatment
# =====================================================================
s = add_slide()
header(s, "Microcytic Anemia", "Iron Deficiency Anemia — Treatment")
bullets(s, Inches(0.6), Inches(1.95), Inches(6.0), Inches(4.6), [
    ("First line — oral iron", "Ferrous sulfate, ferrous fumarate, or ferrous gluconate; inexpensive and effective"),
    ("Dosing tips", "Take on empty stomach with vitamin C for absorption; avoid enteric-coated/timed-release forms which bypass duodenal absorption"),
    ("Duration", "Continue 3-6 months after Hb normalizes to replete iron stores"),
], size=16, space_after=18)
bullets(s, Inches(6.9), Inches(1.95), Inches(5.9), Inches(4.6), [
    ("Common side effects", "Constipation, dark stools, nausea, GI upset"),
    ("Parenteral iron", "IV iron (iron dextran, ferric carboxymaltose, etc.) for malabsorption, intolerance, ongoing losses, or dialysis patients"),
    ("Always investigate the cause", "Especially GI evaluation in adult men and postmenopausal women to exclude malignancy"),
], size=16, space_after=18)
footer(s, 12)

# =====================================================================
# SLIDE 13 — Macrocytic / Megaloblastic Anemia
# =====================================================================
s = add_slide()
header(s, "Macrocytic Anemia (MCV > 100 fL)", "Megaloblastic Anemia")
textbox(s, Inches(0.6), Inches(1.85), Inches(11.8), Inches(0.6),
        "Caused by impaired DNA synthesis in erythroid precursors — chiefly Vitamin B12 or folate deficiency.",
        size=16, color=GRAY, italic=True)
bullets(s, Inches(0.6), Inches(2.5), Inches(5.9), Inches(4.0), [
    ("Vitamin B12 deficiency", "Pernicious anemia (autoimmune loss of intrinsic factor), poor intake (vegans), malabsorption (ileal disease, bariatric surgery)"),
    ("Folate deficiency", "Poor diet, alcoholism, increased demand (pregnancy, hemolysis), certain drugs (methotrexate, phenytoin)"),
], size=16, space_after=20)
bullets(s, Inches(6.9), Inches(2.5), Inches(5.9), Inches(4.0), [
    ("Peripheral smear", "Hypersegmented neutrophils (>5 lobes), oval macrocytes"),
    ("B12 deficiency only", "Neurologic findings — peripheral neuropathy, subacute combined degeneration, glossitis"),
], size=16, space_after=20)
footer(s, 13)

# =====================================================================
# SLIDE 14 — B12/Folate Treatment
# =====================================================================
s = add_slide()
header(s, "Macrocytic Anemia", "Pernicious Anemia & Treatment")
bullets(s, Inches(0.6), Inches(1.95), Inches(6.0), Inches(4.5), [
    ("Mechanism", "Autoimmune destruction of gastric parietal cells -> loss of intrinsic factor -> impaired B12 absorption in terminal ileum"),
    ("Diagnosis", "Low serum B12, elevated methylmalonic acid & homocysteine; anti-intrinsic factor / anti-parietal cell antibodies"),
], size=16, space_after=20)
rect(s, Inches(7.0), Inches(1.95), Inches(5.4), Inches(4.5), LIGHT)
textbox(s, Inches(7.3), Inches(2.15), Inches(4.8), Inches(0.4), "TREATMENT", size=13, color=ACCENT, bold=True)
bullets(s, Inches(7.3), Inches(2.65), Inches(4.8), Inches(3.6), [
    "Vitamin B12: intramuscular injection (classic), or high-dose oral if malabsorption is not severe",
    "Folate deficiency: oral folic acid replacement",
    "Caution: replace B12 before/with folate to avoid masking B12 deficiency and precipitating neurologic injury",
], size=14.5, space_after=16)
footer(s, 14)

# =====================================================================
# SLIDE 15 — Normocytic / Hemolytic overview
# =====================================================================
s = add_slide()
header(s, "Normocytic Anemia (MCV 80-100 fL)", "Hemolytic Anemia — Overview")
textbox(s, Inches(0.6), Inches(1.85), Inches(11.8), Inches(0.6),
        "Premature red cell destruction with compensatory marrow response (reticulocytosis).",
        size=16, color=GRAY, italic=True)
bullets(s, Inches(0.6), Inches(2.5), Inches(11.8), Inches(4.0), [
    ("Elevated LDH & indirect bilirubin", "released from lysed red cells"),
    ("Decreased haptoglobin", "consumed binding free hemoglobin"),
    ("Elevated reticulocyte count", "compensatory marrow response"),
    ("Peripheral smear clues", "schistocytes (mechanical), spherocytes (membrane/immune), sickle cells (hemoglobinopathy)"),
], size=17, space_after=20)
footer(s, 15)

# =====================================================================
# SLIDE 16 — Hemolytic anemia types
# =====================================================================
s = add_slide()
header(s, "Normocytic Anemia", "Hemolytic Anemia — Intrinsic vs Extrinsic")
rect(s, Inches(0.6), Inches(1.9), Inches(5.8), Inches(4.6), LIGHT)
textbox(s, Inches(0.9), Inches(2.1), Inches(5.2), Inches(0.5), "INTRINSIC (Inherited)", size=17, color=RED, bold=True)
bullets(s, Inches(0.9), Inches(2.7), Inches(5.2), Inches(3.6), [
    "Hereditary spherocytosis (membrane defect)",
    "G6PD deficiency (enzyme defect)",
    "Sickle cell disease (hemoglobinopathy)",
    "Thalassemia",
], size=15.5, space_after=14)
rect(s, Inches(6.7), Inches(1.9), Inches(5.9), Inches(4.6), LIGHT)
textbox(s, Inches(7.0), Inches(2.1), Inches(5.3), Inches(0.5), "EXTRINSIC (Acquired)", size=17, color=NAVY, bold=True)
bullets(s, Inches(7.0), Inches(2.7), Inches(5.3), Inches(3.6), [
    "Autoimmune hemolytic anemia (warm/cold antibodies)",
    "Mechanical (prosthetic valves, TTP/HUS, DIC)",
    "Infections (malaria)",
    "Drug-induced hemolysis",
], size=15.5, space_after=14)
footer(s, 16)

# =====================================================================
# SLIDE 17 — Sickle Cell Disease
# =====================================================================
s = add_slide()
header(s, "Hemoglobinopathy", "Sickle Cell Disease")
bullets(s, Inches(0.6), Inches(1.95), Inches(6.1), Inches(4.6), [
    ("Genetics", "Autosomal recessive point mutation in beta-globin (HbS); homozygous HbSS causes disease"),
    ("Pathophysiology", "Deoxygenated HbS polymerizes -> rigid, sickle-shaped cells -> hemolysis and vaso-occlusion"),
    ("Complications", "Vaso-occlusive pain crises, dactylitis (hand-foot syndrome) in infants, acute chest syndrome, stroke, splenic autoinfarction, chronic hemolytic anemia"),
    ("Management", "Hydroxyurea, transfusions, pain control, vaccination, newer agents; hematopoietic transplant/gene therapy curative in select cases"),
], size=14.5, space_after=14)
if SICKLE_HAND_IMG:
    pic = add_pic(s, SICKLE_HAND_IMG, Inches(7.1), Inches(1.95), h=Inches(3.9))
    caption(s, Inches(7.1), Inches(5.9), Inches(5.6), "Dactylitis (hand-foot syndrome) in an infant with sickle cell disease")
footer(s, 17)

# =====================================================================
# SLIDE 18 — Aplastic Anemia
# =====================================================================
s = add_slide()
header(s, "Bone Marrow Failure", "Aplastic Anemia")
bullets(s, Inches(0.6), Inches(1.95), Inches(11.8), Inches(4.6), [
    ("Definition", "Bone marrow failure causing pancytopenia (anemia, leukopenia, thrombocytopenia) due to loss of hematopoietic stem cells"),
    ("Causes", "Idiopathic/autoimmune (most common), drugs, toxins (benzene), viral infection, radiation, inherited (Fanconi anemia)"),
    ("Clinical features", "Fatigue, pallor, weakness (anemia); petechiae, bruising, epistaxis, gum bleeding (thrombocytopenia); fever, infections (leukopenia)"),
    ("Diagnosis & treatment", "Bone marrow biopsy shows hypocellular marrow; treat with immunosuppression (ATG/cyclosporine) or allogeneic stem cell transplant"),
], size=16.5, space_after=18)
footer(s, 18)

# =====================================================================
# SLIDE 19 — Thalassemia
# =====================================================================
s = add_slide()
header(s, "Hemoglobinopathy", "Thalassemia")
bullets(s, Inches(0.6), Inches(1.95), Inches(11.8), Inches(4.6), [
    ("Mechanism", "Inherited defect in alpha- or beta-globin chain synthesis -> imbalanced hemoglobin production, ineffective erythropoiesis, hemolysis"),
    ("Alpha-thalassemia", "Common in Southeast Asian, African ancestry; severity ranges from silent carrier to hydrops fetalis (4-gene deletion)"),
    ("Beta-thalassemia", "Common in Mediterranean, Middle Eastern, South Asian ancestry; minor (carrier) to major (transfusion-dependent)"),
    ("Key features", "Microcytic anemia often out of proportion to mild anemia; target cells on smear; risk of transfusion-related iron overload"),
    ("Management", "Mild forms — monitoring; major forms — chronic transfusion + iron chelation, splenectomy, curative stem cell transplant"),
], size=15.5, space_after=14)
footer(s, 19)

# =====================================================================
# SLIDE 20 — Summary
# =====================================================================
s = add_slide()
bg(s, NAVY)
rect(s, 0, 0, SW, Inches(0.12), ACCENT)
textbox(s, Inches(0.6), Inches(0.5), Inches(10), Inches(0.6), "SUMMARY", size=13, color=ACCENT, bold=True)
textbox(s, Inches(0.6), Inches(0.85), Inches(11.8), Inches(0.8), "Key Takeaways", size=32, color=WHITE, bold=True)
bullets(s, Inches(0.6), Inches(1.9), Inches(11.9), Inches(4.9), [
    ("Anemia is a sign, not a diagnosis", "always investigate the underlying cause"),
    ("Start with MCV", "microcytic, normocytic, or macrocytic frames the differential"),
    ("Reticulocyte count separates mechanisms", "low = underproduction; high = hemolysis or blood loss"),
    ("Iron deficiency", "most common cause worldwide; treat with oral iron and find the bleeding/nutritional source"),
    ("B12/folate deficiency", "macrocytic; check for neurologic signs; replace B12 before folate"),
    ("Hemolytic, aplastic, and hemoglobinopathies", "require targeted work-up (smear, Coombs, marrow biopsy, hemoglobin electrophoresis)"),
], size=16.5, color=WHITE, space_after=16)
footer(s, 20, dark=True)

os.makedirs(os.path.dirname(OUT), exist_ok=True)
prs.save(OUT)
print("Saved:", OUT)
print("Slides:", len(prs.slides.__iter__.__self__._sldIdLst))
Running Command

cd /tmp/workspace/anemia-ppt && python3 build_ppt.py

The 20-slide anemia presentation is ready.

Anemia Overview

Presentation · PPTX

Contents (20 slides):
  1. Title
  2. Agenda
  3. What Is Anemia? (definition, WHO thresholds)
  4. Pathophysiology — 3 core mechanisms
  5. Classification by MCV (microcytic/normocytic/macrocytic)
  6. Clinical Features — symptoms
  7. Physical Findings
  8. Diagnostic Approach (4-step algorithm)
  9. Microcytic Anemia overview
  10. Iron Deficiency Anemia — Etiology
  11. Iron Deficiency Anemia — Diagnosis (lab table)
  12. Iron Deficiency Anemia — Treatment
  13. Megaloblastic (Macrocytic) Anemia
  14. Pernicious Anemia & B12/Folate Treatment
  15. Hemolytic Anemia — Overview
  16. Hemolytic Anemia — Intrinsic vs Extrinsic
  17. Sickle Cell Disease (with a clinical dactylitis photo)
  18. Aplastic Anemia
  19. Thalassemia
  20. Summary / Key Takeaways
It's a designed 16:9 deck (navy/gold palette) built from authoritative textbook content (Harrison's, Robbins, Goldman-Cecil, Tintinalli's, Frameworks for Internal Medicine, Katzung's Pharmacology, and others), with one real clinical image on the sickle cell slide. Let me know if you'd like any slide expanded, images added elsewhere, or a different visual theme.
This is a shared conversation. Sign in to Orris to start your own chat.