Create a presentation ARDS

Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Searching PubMed

"acute respiratory distress syndrome"

Searching the Web

acute respiratory distress syndrome current management guidelines ARDS mechanical ventilation prone positioning official

Searching Images

ARDS diffuse bilateral opacities chest radiograph acute respiratory distress syndrome

This diagnostic image is a frontoposterior thoracic radiograph (chest X-ray) of an adult patient. The radiograph demonstrates diffuse, bilateral pulmonary opacities characterized by a mixed alveolar and interstitial pattern. These findings are consistent with widespread lung inflammation or damage, as seen in cases of severe pneumonia or Acute Respiratory Distress Syndrome (ARDS). The distribution is globally increased in density, but there is a notable concentration of opacity in the left lung base, suggestive of focal consolidation or a small pleural effusion. The cardiac silhouette appears within normal limits, though partially obscured by the adjacent pulmonary opacities. The costophrenic angle on the right is relatively clear compared to the obscured left base. Educational focus includes the recognition of bilateral lung infiltrates and the differentiation between diffuse interstitial patterns and localized consolidation in a clinical context of respiratory distress.

This diagnostic image is a frontoposterior thoracic radiograph (chest X-ray) of an adult patient. The radiograph demonstrates diffuse, bilateral pulmonary opacities characterized by a mixed alveolar and interstitial pattern. These findings are consistent with widespread lung inflammation or damage, as seen in cases of severe pneumonia or Acute Respiratory Distress Syndrome (ARDS). The distribution is globally increased in density, but there is a notable concentration of opacity in the left lung base, suggestive of focal consolidation or a small pleural effusion. The cardiac silhouette appears within normal limits, though partially obscured by the adjacent pulmonary opacities. The costophrenic angle on the right is relatively clear compared to the obscured left base. Educational focus includes the recognition of bilateral lung infiltrates and the differentiation between diffuse interstitial patterns and localized consolidation in a clinical context of respiratory distress.

Anteroposterior (AP) chest radiograph demonstrating diffuse, bilateral, 'fluffy' pulmonary infiltrates. The opacities are distributed throughout both lung fields, showing a poorly defined, hazy morphology characteristic of alveolar edema or acute respiratory distress syndrome (ARDS). The cardiac silhouette appears moderately enlarged, though assessment is limited by the AP projection and the extent of overlying pulmonary disease. Multiple medical devices are visible, including several circular EKG leads on the chest wall and various coiled monitoring lines/cables traversing the thorax. A radiopaque 'LEFT' marker is positioned in the upper right corner of the frame. The image illustrates a critical care clinical scenario where pulmonary consolidation and widespread infiltrates correlate with severe respiratory distress. Key educational features include the recognition of diffuse bilateral opacities and the differentiation between cardiogenic and non-cardiogenic pulmonary edema in the context of sepsis or valvular pathology.

Anteroposterior (AP) chest radiograph demonstrating diffuse, bilateral, 'fluffy' pulmonary infiltrates. The opacities are distributed throughout both lung fields, showing a poorly defined, hazy morphology characteristic of alveolar edema or acute respiratory distress syndrome (ARDS). The cardiac silhouette appears moderately enlarged, though assessment is limited by the AP projection and the extent of overlying pulmonary disease. Multiple medical devices are visible, including several circular EKG leads on the chest wall and various coiled monitoring lines/cables traversing the thorax. A radiopaque 'LEFT' marker is positioned in the upper right corner of the frame. The image illustrates a critical care clinical scenario where pulmonary consolidation and widespread infiltrates correlate with severe respiratory distress. Key educational features include the recognition of diffuse bilateral opacities and the differentiation between cardiogenic and non-cardiogenic pulmonary edema in the context of sepsis or valvular pathology.

A series of three sequential anteroposterior (AP) chest radiographs (labeled A, B, and C) illustrating the progression and resolution of viral pneumonia in a pregnant patient with Severe Acute Respiratory Syndrome (SARS). Radiograph A (Day 6 of illness) shows diffuse bilateral lower lobe pulmonary infiltrates with relative sparing of the upper zones. Radiograph B (Day 10) demonstrates significant radiographic progression, characterized by worsening bilateral consolidations and ground-glass opacities, consistent with acute respiratory distress syndrome (ARDS). Supportive medical equipment is visible in image B, including an endotracheal tube, a central venous catheter, and ECG leads, indicating critical care management. Radiograph C (Day 13) shows interval improvement of the bilateral pulmonary opacities, reflecting clinical recovery and response to therapy, though residual infiltrates remain. This timeline serves as a clinical example of the rapid evolution and subsequent resolution phase of severe coronavirus-related lung injury in an obstetric context.

A series of three sequential anteroposterior (AP) chest radiographs (labeled A, B, and C) illustrating the progression and resolution of viral pneumonia in a pregnant patient with Severe Acute Respiratory Syndrome (SARS). Radiograph A (Day 6 of illness) shows diffuse bilateral lower lobe pulmonary infiltrates with relative sparing of the upper zones. Radiograph B (Day 10) demonstrates significant radiographic progression, characterized by worsening bilateral consolidations and ground-glass opacities, consistent with acute respiratory distress syndrome (ARDS). Supportive medical equipment is visible in image B, including an endotracheal tube, a central venous catheter, and ECG leads, indicating critical care management. Radiograph C (Day 13) shows interval improvement of the bilateral pulmonary opacities, reflecting clinical recovery and response to therapy, though residual infiltrates remain. This timeline serves as a clinical example of the rapid evolution and subsequent resolution phase of severe coronavirus-related lung injury in an obstetric context.

Searching Images

diagram ARDS alveolar capillary membrane edema pathology

Reading File
Reading File
Reading Web Page

https://www.thoracic.org/statements/resources/cc/ards-guidel…

Browsing Directory

~/

Running Command

mkdir -p "/tmp/workspace/ards-presentation/src" "/tmp/workspace/ards-presentation/output" "/tmp/workspace/ards-presentation/assets" && python /tmp/skills/shared/scripts/fetch_images.py "https://cdn.orris.care/cdss_images/pmc_clinical_VQA_1c9ca09117d524e9d0c9e4992175e2f69472675d11e28a50dc704617a1db9f20.jpg" > "/tmp/workspace/ards-presentation/assets/image_fetch.json"

Reading File
Writing File

~/ards-presentation/src/create_ards_presentation.py

import json, base64
from io import BytesIO
from pathlib import Path
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.shapes import MSO_SHAPE
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.enum.dml import MSO_THEME_COLOR

ROOT = Path('/tmp/workspace/ards-presentation')
OUT = ROOT / 'output' / 'ARDS_Presentation.pptx'
ASSET = ROOT / 'assets' / 'ards_cxr.jpg'

# Decode fetched image
j = json.loads((ROOT / 'assets' / 'image_fetch.json').read_text())
data = j[0]['base64'].split(',', 1)[1]
ASSET.write_bytes(base64.b64decode(data))

prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]

NAVY = RGBColor(12, 40, 66)
BLUE = RGBColor(26, 102, 150)
TEAL = RGBColor(32, 145, 140)
CYAN = RGBColor(94, 200, 210)
RED = RGBColor(204, 75, 80)
ORANGE = RGBColor(236, 151, 56)
LIGHT = RGBColor(242, 247, 250)
MID = RGBColor(211, 225, 234)
DARK = RGBColor(37, 53, 65)
WHITE = RGBColor(255,255,255)
GRAY = RGBColor(93, 112, 125)

# Helpers
def rect(slide, x,y,w,h, fill, line=None, radius=False):
    shp = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if radius else MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h))
    shp.fill.solid(); shp.fill.fore_color.rgb = fill
    shp.line.color.rgb = line if line else fill
    if radius: shp.adjustments[0] = 0.08
    return shp

def text(slide, x,y,w,h, s, size=18, color=DARK, bold=False, font='Aptos', align=PP_ALIGN.LEFT, valign=MSO_ANCHOR.TOP, margin=0.05):
    box = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = box.text_frame; tf.clear(); tf.word_wrap=True
    tf.margin_left=tf.margin_right=Inches(margin); tf.margin_top=tf.margin_bottom=Inches(margin)
    tf.vertical_anchor=valign
    p=tf.paragraphs[0]; p.alignment=align
    for idx,line in enumerate(s.split('\n')):
        if idx: p=tf.add_paragraph(); p.alignment=align
        p.text=line
        for r in p.runs:
            r.font.name=font; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color
        p.space_after=Pt(0)
    return box

def title(slide, kicker, heading, sub=''):
    text(slide, .62,.38,12,.3,kicker.upper(),10,TEAL,True,align=PP_ALIGN.LEFT)
    text(slide,.62,.72,12,0.55,heading,29,NAVY,True)
    if sub: text(slide,.64,1.31,11.9,.35,sub,12,GRAY)
    rect(slide,.62,1.78,1.12,.045,TEAL)

def foot(slide, n, source='Educational summary - adult ARDS'):
    rect(slide,0,7.16,13.333,.34,NAVY)
    text(slide,.62,7.20,10,.18,source,8,RGBColor(210,225,235))
    text(slide,12.1,7.18,.55,.2,str(n).zfill(2),9,WHITE,True,align=PP_ALIGN.RIGHT)

def bullet(slide,x,y,w,label,body, accent=TEAL):
    rect(slide,x,y,.10,.58,accent)
    text(slide,x+.22,y,w-.22,.20,label,15,NAVY,True)
    text(slide,x+.22,y+.24,w-.22,.36,body,11,GRAY)

def card(slide,x,y,w,h,head,body,accent=TEAL):
    rect(slide,x,y,w,h,WHITE,MID,True)
    rect(slide,x,y,w,.08,accent)
    text(slide,x+.22,y+.20,w-.44,.32,head,15,NAVY,True)
    text(slide,x+.22,y+.62,w-.44,h-.76,body,12,DARK)

def add_notes(slide, notes):
    tf=slide.notes_slide.notes_text_frame
    tf.text=notes

# 1
s=prs.slides.add_slide(blank)
rect(s,0,0,13.333,7.5,NAVY)
# decorative alveoli
for x,y,r in [(9.8,.8,.65),(10.95,1.35,.42),(11.85,.72,.78),(10.5,2.3,.28),(12.55,1.75,.34),(11.4,2.55,.49)]:
    shp=s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(x),Inches(y),Inches(r),Inches(r)); shp.fill.solid(); shp.fill.fore_color.rgb=BLUE; shp.fill.transparency=35; shp.line.color.rgb=CYAN
text(s,.78,.80,6.8,.30,'CRITICAL CARE TEACHING DECK',12,CYAN,True)
text(s,.75,1.35,7.3,1.05,'Acute Respiratory\nDistress Syndrome',35,WHITE,True)
text(s,.78,3.12,6.8,.55,'Recognition, physiology, and evidence-based supportive care',17,RGBColor(202,223,236))
rect(s,.78,4.05,2.05,.08,TEAL)
text(s,.78,5.95,7,.34,'ARDS | Adult intensive-care overview',13,WHITE,True)
text(s,.78,6.38,8,.32,'For education. Apply local protocols and specialist judgement.',10,RGBColor(180,205,220))
foot(s,1,'ARDS teaching deck')
add_notes(s,'Opening slide. Frame ARDS as a syndrome of acute inflammatory lung injury that needs rapid etiologic treatment plus lung-protective support.')

# 2
s=prs.slides.add_slide(blank); title(s,'01 | Definition','What is ARDS?','A syndrome of acute, diffuse inflammatory lung injury causing non-cardiogenic pulmonary edema.')
card(s,.68,2.15,3.9,3.75,'Core process','Increased alveolar-capillary permeability\n→ protein-rich edema\n→ loss of aerated lung\n→ severe gas-exchange failure',TEAL)
card(s,4.73,2.15,3.9,3.75,'Clinical result','Hypoxemia, reduced compliance, increased work of breathing, bilateral opacities, and risk of multi-organ dysfunction.',BLUE)
card(s,8.78,2.15,3.9,3.75,'Key distinction','Edema is not fully explained by cardiac failure or fluid overload. Identify and treat the precipitating insult.',RED)
text(s,.74,6.18,11.85,.42,'ARDS is a clinical syndrome, not a single disease. Mechanical ventilation supports recovery but does not reverse diffuse alveolar damage directly.',13,NAVY,True)
foot(s,2,'Goldman-Cecil Medicine, ARDS section')

# 3
s=prs.slides.add_slide(blank); title(s,'02 | Biology','How lung injury produces hypoxemia')
# pathway
steps=[('Trigger','Sepsis, pneumonia, aspiration, trauma'),('Inflammation','Neutrophil-mediated endothelial and epithelial injury'),('Leak','Permeability edema floods alveoli; surfactant dysfunction'),('Collapse','Shunt, atelectasis, reduced compliance'),('VILI risk','Small “baby lung” exposed to stress and strain')]
for i,(h,b) in enumerate(steps):
    x=.68+i*2.52
    rect(s,x,2.45,2.1,2.0,WHITE,MID,True)
    rect(s,x,2.45,2.1,.12,[TEAL,BLUE,ORANGE,RED,NAVY][i])
    text(s,x+.15,2.78,1.8,.31,str(i+1).zfill(2),12,[TEAL,BLUE,ORANGE,RED,NAVY][i],True)
    text(s,x+.15,3.14,1.8,.33,h,15,NAVY,True)
    text(s,x+.15,3.57,1.78,.65,b,10,GRAY)
    if i<4: text(s,x+2.13,3.23,.27,.28,'›',25,TEAL,True,align=PP_ALIGN.CENTER)
text(s,.83,5.23,11.6,.60,'Management implication: minimize ventilator-induced lung injury while correcting the cause and maintaining adequate oxygenation and organ perfusion.',16,NAVY,True,align=PP_ALIGN.CENTER)
foot(s,3,'Goldman-Cecil Medicine, ARDS section')

# 4
s=prs.slides.add_slide(blank); title(s,'03 | Causes','Look for a direct or indirect pulmonary insult')
card(s,.72,2.08,3.82,3.80,'Direct lung injury','• Pneumonia\n• Aspiration of gastric contents\n• Inhalational injury\n• Pulmonary contusion\n• Near drowning',TEAL)
card(s,4.76,2.08,3.82,3.80,'Indirect lung injury','• Sepsis\n• Acute pancreatitis\n• Major trauma or shock\n• Massive transfusion\n• Drug reactions',BLUE)
card(s,8.80,2.08,3.82,3.80,'Clinical priorities','1. Stabilize airway and oxygenation\n2. Treat source early\n3. Assess hemodynamics\n4. Exclude hydrostatic edema\n5. Avoid harmful ventilator settings',RED)
text(s,.75,6.13,11.8,.35,'Sepsis and pneumonia are common precipitants. More than one mechanism may coexist.',12,GRAY,True)
foot(s,4,'Murray & Nadel’s Textbook of Respiratory Medicine')

# 5
s=prs.slides.add_slide(blank); title(s,'04 | Diagnosis','Berlin definition: practical bedside framework')
# timeline strip
text(s,.76,2.12,1.6,.3,'TIMING',11,TEAL,True)
text(s,2.34,2.10,9.7,.35,'Within 1 week of a known clinical insult or new/worsening respiratory symptoms',15,NAVY,True)
rect(s,.76,2.62,11.84,.02,MID)
items=[('IMAGING','Bilateral opacities on chest imaging, not fully explained by effusions, collapse, or nodules.'),('EDEMA ORIGIN','Respiratory failure not fully explained by cardiac failure or fluid overload. Use objective evaluation if no risk factor.'),('OXYGENATION','With PEEP or CPAP ≥5 cm H₂O: mild 200-300, moderate 100-200, severe ≤100 mmHg PaO₂/FiO₂.')]
for i,(h,b) in enumerate(items):
    y=2.98+i*1.02
    rect(s,.76,y,1.37,.72,[TEAL,BLUE,RED][i],None,True)
    text(s,.87,y+.17,1.15,.36,h,10,WHITE,True,align=PP_ALIGN.CENTER,valign=MSO_ANCHOR.MIDDLE)
    text(s,2.36,y+.08,9.9,.59,b,13,DARK)
foot(s,5,'Berlin Definition of ARDS, 2012')

# 6
s=prs.slides.add_slide(blank); title(s,'05 | Imaging','Diffuse bilateral opacities support the syndrome','Interpret imaging with the clinical context. Radiography does not determine etiology on its own.')
s.shapes.add_picture(str(ASSET), Inches(.72), Inches(2.06), width=Inches(6.15), height=Inches(4.62))
rect(s,7.16,2.06,5.42,4.62,LIGHT,MID,True)
text(s,7.47,2.42,4.75,.30,'Typical chest radiograph features',18,NAVY,True)
bullet(s,7.48,3.02,4.6,'Bilateral opacities','Diffuse alveolar/interstitial pattern may progress rapidly.',TEAL)
bullet(s,7.48,3.83,4.6,'Non-cardiogenic context','Assess cardiac size, volume status, and echocardiography when needed.',BLUE)
bullet(s,7.48,4.64,4.6,'Serial assessment','Follow response and complications: tube position, pneumothorax, superimposed infection.',RED)
text(s,.75,6.78,5.9,.20,'Example radiograph: diffuse bilateral pulmonary opacities compatible with ARDS in context.',9,GRAY)
foot(s,6,'Medical image library: ARDS-compatible diffuse bilateral opacities')

# 7
s=prs.slides.add_slide(blank); title(s,'06 | First hours','A structured initial approach')
# timeline vertical
items=[('Recognize & escalate','ICU-level monitoring. Correct immediately life-threatening hypoxemia.'),('Treat the precipitant','Cultures and early antimicrobials when infection suspected; source control; manage aspiration, trauma, pancreatitis, etc.'),('Assess circulation','Resuscitate shock appropriately, then avoid ongoing unnecessary positive fluid balance.'),('Start lung protection','Use predicted body weight, not actual weight. Set low tidal volume and monitor plateau pressure.'),('Reassess repeatedly','Oxygenation, driving pressure, hemodynamics, sedation, synchrony, complications.')]
for i,(h,b) in enumerate(items):
    y=2.0+i*.88
    s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(.86),Inches(y),Inches(.38),Inches(.38)).fill.solid()
    dot=s.shapes[-1]; dot.fill.fore_color.rgb=TEAL; dot.line.color.rgb=TEAL
    text(s,.86,y+.06,.38,.2,str(i+1),10,WHITE,True,align=PP_ALIGN.CENTER)
    if i<4: rect(s,1.035,y+.38,.03,.50,MID)
    text(s,1.50,y-.02,2.6,.26,h,15,NAVY,True)
    text(s,4.15,y-.03,7.9,.38,b,12,GRAY)
foot(s,7,'ATS/ESICM/SCCM ARDS ventilation guidance')

# 8
s=prs.slides.add_slide(blank); title(s,'07 | Ventilation','Lung-protective ventilation is the foundation')
card(s,.74,2.08,3.64,3.85,'Tidal volume','Target 4-8 mL/kg predicted body weight. Common starting target: 6 mL/kg PBW.\n\nAvoid overdistension of the smaller functional “baby lung.”',TEAL)
card(s,4.85,2.08,3.64,3.85,'Pressure limits','Aim for plateau pressure <30 cm H₂O.\n\nFollow driving pressure, compliance, gas exchange, and patient-ventilator synchrony.',BLUE)
card(s,8.96,2.08,3.64,3.85,'PEEP and oxygen','Use adequate PEEP and FiO₂ to oxygenate while limiting toxic exposures. Higher PEEP may be considered in moderate-severe ARDS.',ORANGE)
text(s,.80,6.26,11.7,.38,'Accepting some hypercapnia may be appropriate when needed to maintain protective limits, provided contraindications are considered.',12,GRAY,True)
foot(s,8,'ATS/ESICM/SCCM ARDS guideline, 2017')

# 9
s=prs.slides.add_slide(blank); title(s,'08 | Severe ARDS','Escalate support thoughtfully')
# 3 columns
card(s,.72,2.10,3.82,3.80,'Prone positioning','For severe ARDS, prone >12 h/day is strongly recommended.\n\nImproves V/Q matching, recruitment, and distribution of tidal stress.',TEAL)
card(s,4.77,2.10,3.82,3.80,'Adjuncts','• Optimize PEEP\n• Short course neuromuscular blockade may assist synchrony in selected patients\n• Conservative fluid strategy after shock resolves\n• Rescue inhaled vasodilators: transient bridge, not mortality therapy',BLUE)
card(s,8.82,2.10,3.82,3.80,'Refractory hypoxemia','Early expert/ECMO-center consultation for selected severe cases despite optimized conventional management.\n\nAvoid routine high-frequency oscillatory ventilation.',RED)
foot(s,9,'ATS/ESICM/SCCM ARDS guideline, 2017')

# 10
s=prs.slides.add_slide(blank); title(s,'09 | Take-home','Five actions that change the bedside plan')
items=[('1','Name the syndrome early','Acute hypoxemia + bilateral opacities + non-cardiogenic edema in a clear time frame.'),('2','Treat the cause, not only the oxygenation','Source control and targeted therapy are inseparable from ventilator management.'),('3','Protect the lung','Low tidal volume, plateau pressure <30 cm H₂O, and careful PEEP/FiO₂ titration.'),('4','Prone severe ARDS','Use a trained team and pressure-injury prevention measures.'),('5','Reassess the whole patient','Oxygenation, circulation, fluid balance, infection, sedation, and complications.')]
for i,(num,h,b) in enumerate(items):
    y=1.95+i*.89
    rect(s,.82,y,.55,.55,TEAL,None,True)
    text(s,.82,y+.11,.55,.25,num,14,WHITE,True,align=PP_ALIGN.CENTER)
    text(s,1.62,y-.02,4.2,.27,h,15,NAVY,True)
    text(s,5.50,y-.01,6.6,.35,b,12,GRAY)
foot(s,10,'Key messages')

# 11 sources
s=prs.slides.add_slide(blank); title(s,'References','Selected sources','Use current local protocols and specialist guidance for patient-level decisions.')
refs=[
'Fan E, et al. Official ATS/ESICM/SCCM clinical practice guideline: mechanical ventilation in adult patients with ARDS. Am J Respir Crit Care Med. 2017;195:1253-1263.',
'ARDS Definition Task Force. Acute respiratory distress syndrome: the Berlin Definition. JAMA. 2012;307:2526-2533.',
'Goldman-Cecil Medicine International Edition. Acute Respiratory Distress Syndrome. Textbook section accessed through medical library.',
'Murray & Nadel’s Textbook of Respiratory Medicine. Acute respiratory distress syndrome. Textbook sections accessed through medical library.',
'Image: medical image library, diffuse bilateral pulmonary opacities described as compatible with ARDS in clinical context.'
]
for i,r in enumerate(refs):
    y=2.05+i*.75
    rect(s,.75,y,.20,.20,[TEAL,BLUE,ORANGE,RED,NAVY][i])
    text(s,1.15,y-.04,11.1,.42,r,12,DARK)
text(s,.76,6.42,11.6,.25,'Educational content is not a substitute for individualized clinical assessment or institutional protocols.',10,GRAY,True)
foot(s,11,'References')

prs.save(OUT)
print(OUT)
Running Command

python "/tmp/workspace/ards-presentation/src/create_ards_presentation.py" && python - <<'PY' from pptx import Presentation p='/tmp/workspace/ards-presentation/output/ARDS_Presentation.pptx' prs=Presentation(p) print('slides', len(prs.slides)) for i,s in enumerate(prs.slides,1): txt=' '.join(sh.text for sh in s.shapes if getattr(sh,'has_text_frame',False)) print(i, txt[:120].replace('\n',' | ')) PY

Running Command

python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/ards-presentation/output/ARDS_Presentation.pptx') prs=Presentation(str(p)) assert len(prs.slides)==11 assert p.exists() and p.stat().st_size>50000 # check text exists every slide and image included on imaging slide for i,s in enumerate(prs.slides,1): texts=[sh.text.strip() for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] assert texts, f'No text on slide {i}' assert any(sh.shape_type==13 for sh in prs.slides[5].shapes), 'CXR image missing' print(f'OK: {p.name}, {p.stat().st_size:,} bytes, {len(prs.slides)} slides') PY

Created an 11-slide ARDS teaching presentation covering definition, pathophysiology, causes, Berlin diagnostic framework, imaging, first-hour care, lung-protective ventilation, severe ARDS escalation, key takeaways, and references.

ARDS Presentation

Presentation · PPTX

This is a shared conversation. Sign in to Orris to start your own chat.