• General data • Chief complaint • History of present illness Need for PPT presentation

Reading File
Reading File
Running Command

cd "/tmp/workspace/attachments/047ec892-cc22-436e-b2ce-f3c42f454509/" && python3 -c " import pdfplumber with pdfplumber.open('Case2 jul27.pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() print(f'--- PAGE {i+1} ---') print(text) print() "

Reading File
Running Command

mkdir -p /tmp/workspace/case2-ppt && python3 << 'EOF' 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 from io import BytesIO prs = Presentation() prs.slide_width = Inches(13.333) prs.slide_height = Inches(7.5) blank = prs.slide_layouts[6] # ── Color palette ────────────────────────────────────────────────────────────── DARK_BLUE = RGBColor(0x1A, 0x37, 0x5E) # header bg MID_BLUE = RGBColor(0x2E, 0x6D, 0xA4) # accent / sub-header LIGHT_BLUE = RGBColor(0xD6, 0xE8, 0xF7) # light bg band WHITE = RGBColor(0xFF, 0xFF, 0xFF) DARK_TEXT = RGBColor(0x1E, 0x1E, 0x1E) GREY_BG = RGBColor(0xF4, 0xF7, 0xFB) GOLD = RGBColor(0xF0, 0xA5, 0x00) def add_rect(slide, l, t, w, h, color, alpha=None): shape = slide.shapes.add_shape(1, Inches(l), Inches(t), Inches(w), Inches(h)) shape.fill.solid() shape.fill.fore_color.rgb = color shape.line.fill.background() return shape def add_textbox(slide, l, t, w, h, text, font_size=18, bold=False, color=DARK_TEXT, align=PP_ALIGN.LEFT, italic=False, word_wrap=True, v_anchor=MSO_ANCHOR.TOP): tb = slide.shapes.add_textbox(Inches(l), Inches(t), Inches(w), Inches(h)) tf = tb.text_frame tf.word_wrap = word_wrap tf.vertical_anchor = v_anchor tf.margin_left = Inches(0.05) tf.margin_right = Inches(0.05) tf.margin_top = Inches(0.03) tf.margin_bottom = Inches(0.03) p = tf.paragraphs[0] p.alignment = align run = p.add_run() run.text = text run.font.size = Pt(font_size) run.font.bold = bold run.font.italic = italic run.font.color.rgb = color run.font.name = "Calibri" return tf def add_bullet_tf(slide, l, t, w, h, items, font_size=17, color=DARK_TEXT, indent=0.15): tb = slide.shapes.add_textbox(Inches(l), Inches(t), Inches(w), Inches(h)) tf = tb.text_frame tf.word_wrap = True tf.margin_left = Inches(0.05) tf.margin_right = Inches(0.05) tf.margin_top = Inches(0.04) tf.margin_bottom = Inches(0.04) first = True for item in items: if first: p = tf.paragraphs[0] first = False else: p = tf.add_paragraph() p.space_before = Pt(4) from pptx.util import Pt as _Pt p.level = 0 run = p.add_run() run.text = (" " * int(indent > 0.2)) + item run.font.size = Pt(font_size) run.font.color.rgb = color run.font.name = "Calibri" return tf def add_header(slide, title, subtitle=None): # Dark blue top bar add_rect(slide, 0, 0, 13.333, 1.15, DARK_BLUE) # Gold accent stripe add_rect(slide, 0, 1.15, 13.333, 0.08, GOLD) add_textbox(slide, 0.35, 0.1, 12.5, 0.75, title, font_size=32, bold=True, color=WHITE, align=PP_ALIGN.LEFT) if subtitle: add_textbox(slide, 0.35, 0.78, 12.5, 0.38, subtitle, font_size=17, bold=False, color=LIGHT_BLUE, align=PP_ALIGN.LEFT) # ══════════════════════════════════════════════════════════════════════════════ # SLIDE 1 – Title / Cover # ══════════════════════════════════════════════════════════════════════════════ slide = prs.slides.add_slide(blank) # Full-slide bg add_rect(slide, 0, 0, 13.333, 7.5, DARK_BLUE) # Bottom accent add_rect(slide, 0, 6.8, 13.333, 0.7, MID_BLUE) # Gold stripe add_rect(slide, 0, 3.6, 13.333, 0.1, GOLD) add_textbox(slide, 1.0, 0.9, 11.0, 1.0, "CASE PRESENTATION", font_size=22, bold=False, color=LIGHT_BLUE, align=PP_ALIGN.CENTER) add_textbox(slide, 1.0, 1.8, 11.0, 1.4, "Anterior Neck Mass", font_size=48, bold=True, color=WHITE, align=PP_ALIGN.CENTER) add_textbox(slide, 1.0, 3.1, 11.0, 0.55, "AB | 6-year-old Male | Valenzuela City", font_size=20, bold=False, color=GOLD, align=PP_ALIGN.CENTER) add_textbox(slide, 1.0, 4.2, 11.0, 0.55, "ENT Department – July 27, 2026", font_size=16, bold=False, color=LIGHT_BLUE, align=PP_ALIGN.CENTER) # ══════════════════════════════════════════════════════════════════════════════ # SLIDE 2 – General Data # ══════════════════════════════════════════════════════════════════════════════ slide = prs.slides.add_slide(blank) add_rect(slide, 0, 0, 13.333, 7.5, GREY_BG) add_header(slide, "General Data") # Card add_rect(slide, 0.45, 1.42, 12.4, 5.65, WHITE) rows = [ ("Patient", "AB"), ("Age", "6 years old"), ("Sex", "Male"), ("Address", "Valenzuela City"), ("Referral", "Consult to ENT (no prior consult or medications)"), ] row_h = 0.88 col1_x = 0.6 col2_x = 3.8 y_start = 1.55 for i, (label, value) in enumerate(rows): y = y_start + i * row_h # alternating shading if i % 2 == 0: add_rect(slide, 0.45, y, 12.4, row_h - 0.05, RGBColor(0xEA, 0xF3, 0xFB)) # label pill add_rect(slide, col1_x, y + 0.12, 2.8, 0.55, MID_BLUE) add_textbox(slide, col1_x, y + 0.1, 2.8, 0.6, label, font_size=14, bold=True, color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE) add_textbox(slide, col2_x, y + 0.1, 8.7, 0.6, value, font_size=16, bold=False, color=DARK_TEXT, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE) # ══════════════════════════════════════════════════════════════════════════════ # SLIDE 3 – Chief Complaint # ══════════════════════════════════════════════════════════════════════════════ slide = prs.slides.add_slide(blank) add_rect(slide, 0, 0, 13.333, 7.5, GREY_BG) add_header(slide, "Chief Complaint") # Large centred card add_rect(slide, 1.5, 1.8, 10.3, 4.0, WHITE) add_rect(slide, 1.5, 1.8, 10.3, 0.12, GOLD) # top accent on card add_textbox(slide, 1.5, 2.1, 10.3, 3.5, "Anterior Neck Mass", font_size=42, bold=True, color=DARK_BLUE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE) add_textbox(slide, 1.5, 5.5, 10.3, 0.6, "Duration: 2 years prior to consult", font_size=18, bold=False, color=MID_BLUE, align=PP_ALIGN.CENTER) # ══════════════════════════════════════════════════════════════════════════════ # SLIDE 4 – History of Present Illness (Timeline / narrative) # ══════════════════════════════════════════════════════════════════════════════ slide = prs.slides.add_slide(blank) add_rect(slide, 0, 0, 13.333, 7.5, GREY_BG) add_header(slide, "History of Present Illness", subtitle="Chronological account of anterior neck mass") # Timeline spine (vertical line) add_rect(slide, 1.72, 1.35, 0.08, 5.6, MID_BLUE) events = [ ("2 Years Prior\nto Consult", [ "Mother noted a mass on the anterior neck", "Size: ~0.5 × 0.5 cm", "Non-tender, well-circumscribed", "Moved with deglutition", "No hoarseness, tremors, increased appetite, or weight loss", "No consult or medications taken", ]), ("Reason for\nConsult", [ "Persistence of the mass prompted ENT referral", ]), ] dot_x = 1.68 y_positions = [1.55, 4.45] box_l = 2.1 for idx, ((time_label, bullets), y0) in enumerate(zip(events, y_positions)): # dot on spine dot_shape = slide.shapes.add_shape( 9, # MSO_SHAPE_TYPE oval Inches(dot_x), Inches(y0 + 0.12), Inches(0.22), Inches(0.22) ) dot_shape.fill.solid() dot_shape.fill.fore_color.rgb = GOLD dot_shape.line.fill.background() # time label box add_rect(slide, 0.05, y0, 1.55, 0.65, MID_BLUE) add_textbox(slide, 0.05, y0, 1.55, 0.65, time_label, font_size=11, bold=True, color=WHITE, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE) # bullet card card_h = 0.55 + len(bullets) * 0.46 add_rect(slide, box_l, y0, 10.8, card_h, WHITE) add_rect(slide, box_l, y0, 10.8, 0.07, GOLD) for bi, bullet in enumerate(bullets): add_textbox(slide, box_l + 0.25, y0 + 0.1 + bi * 0.46, 10.3, 0.46, "▸ " + bullet, font_size=15, bold=False, color=DARK_TEXT) # ══════════════════════════════════════════════════════════════════════════════ # Save # ══════════════════════════════════════════════════════════════════════════════ out_path = "/tmp/workspace/case2-ppt/Case2_Anterior_Neck_Mass.pptx" buf = BytesIO() prs.save(buf) with open(out_path, "wb") as f: f.write(buf.getvalue()) print(f"Saved: {out_path}") EOF

Your presentation is ready for download:

Case2 Anterior Neck Mass

Presentation · PPTX


Here is what was built across 4 slides:
SlideContent
1 - CoverCase title "Anterior Neck Mass", patient identifier (AB, 6-year-old Male, Valenzuela City), department & date
2 - General DataTabular card layout - Patient, Age, Sex, Address, Referral info with alternating row shading
3 - Chief ComplaintLarge centred card - "Anterior Neck Mass" + duration callout (2 years prior to consult)
4 - History of Present IllnessVertical timeline design - two nodes (2 Years Prior / Reason for Consult) with bullet cards for all details
Design choices: Navy blue header bar with gold accent stripe, light blue/white card backgrounds, Calibri font throughout - clean and professional for a clinical case presentation. Let me know if you want to adjust colors, add more slides (PE, questions, differential diagnosis), or change any content.
This is a shared conversation. Sign in to Orris to start your own chat.