Copd power point fullseminar
"pulmonary disease, chronic obstructive"[MeSH Terms]
GOLD 2026 COPD Pocket Guide diagnosis assessment treatment exacerbation
COPD emphysema chronic bronchitis anatomy pathology diagram
COPD chest radiograph emphysema hyperinflation

This diagnostic image is an anteroposterior (AP) chest X-ray demonstrating parietal subcutaneous gas and signs of underlying pulmonary pathology. The most prominent finding is the presence of subcutaneous emphysema along the left lower chest wall and axillary region, appearing as linear and mottled radiolucencies (dark streaks) dissecting through the soft tissue planes. Both lung fields exhibit hyperlucency and flattened diaphragms, characteristic of hyperinflation consistent with chronic obstructive pulmonary disease (COPD) or emphysema. The right lung appears more hyperlucent than the left. Bony structures, including the ribs, clavicles, and scapulae, are clearly visualized, with the ribs showing a more horizontal orientation typical of hyperinflation. The mediastinum remains centrally located. This radiograph is an educational example of subcutaneous emphysema resulting from thoracic wall air leakage, often seen in the context of pulmonary hernias or previous thoracic surgeries.

This diagnostic image is a posteroanterior (PA) chest radiograph demonstrating bilateral lung parenchyma with signs of chronic obstructive pulmonary disease (COPD) and emphysema. Key findings include increased lung translucency and hyperinflation, evidenced by flattened diaphragmatic contours and a vertically oriented heart silhouette. The image shows the chest following treatment for a prior right-sided pneumothorax, with current findings indicating complete lung re-expansion and the absence of any visible pleural air collection or active pneumothorax. The mediastinum is midline, and the costophrenic angles appear clear. This radiograph serves as an educational example of treatment follow-up for refractory air leaks in patients with severe emphysematous changes and comorbidities, where surgical intervention was contraindicated. Notable features include the prominent pulmonary vasculature and diffuse parenchymal rarefaction consistent with advanced emphysema.

This diagnostic image pair displays thoracic radiology findings in an 80-year-old male with Chronic Obstructive Pulmonary Disease (COPD). The left panel shows a frontal chest radiograph (X-ray) exhibiting hallmark signs of hyperinflation, including a widened anteroposterior diameter and flattened diaphragmatic domes. Both lung fields demonstrate sparse bronchovascular markings and increased lucency, indicative of diffuse emphysema. The right panel shows an axial CT scan of the thorax, further characterizing the pulmonary pathology. It reveals significant emphysematous destruction of the lung parenchyma with the presence of multiple bullae and areas of decreased attenuation. Additionally, subtle interstitial lesions are visible. The imaging illustrates the classic presentation of severe COPD, characterized by permanent enlargement of airspaces distal to the terminal bronchioles and associated structural changes to the chest wall often described as a barrel chest.
site:goldcopd.org 2025 GOLD report COPD spirometry post bronchodilator FEV1 FVC 0.7 ABE treatment
~/
GOLD 2025 report PDF global strategy diagnosis management prevention COPD
mkdir -p "/tmp/workspace/copd-seminar/src" "/tmp/workspace/copd-seminar/output" "/tmp/workspace/copd-seminar/assets" && python /tmp/skills/shared/scripts/fetch_images.py "https://cdn.orris.care/cdss_images/pmc_clinical_VQA_22bb2ae383842d011e76516fcaf810423ef0b96929aaa2f9aa5b3a16af30b391.jpg" > "/tmp/workspace/copd-seminar/assets/image_fetch.json"
~/copd-seminar/src/create_copd_seminar.py
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
from pptx.enum.text import MSO_AUTO_SIZE
from io import BytesIO
import base64, json, os
OUT='/tmp/workspace/copd-seminar/output/COPD_Full_Seminar_2026.pptx'
ASSET='/tmp/workspace/copd-seminar/assets/image_fetch.json'
prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5)
blank=prs.slide_layouts[6]
# palette
NAVY=RGBColor(13,38,62); TEAL=RGBColor(0,125,138); SKY=RGBColor(73,174,202); PALE=RGBColor(232,246,247); ORANGE=RGBColor(239,134,55); RED=RGBColor(194,66,63); WHITE=RGBColor(255,255,255); INK=RGBColor(30,45,58); GREY=RGBColor(93,110,122); LIGHT=RGBColor(246,249,250); GREEN=RGBColor(35,137,92)
def rect(sl,x,y,w,h,fill,rad=False,line=None):
s=sl.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if rad else MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h)); s.fill.solid(); s.fill.fore_color.rgb=fill; s.line.color.rgb=line if line else fill; return s
def text(sl,txt,x,y,w,h,size=20,color=INK,bold=False,align=PP_ALIGN.LEFT, font='Aptos', valign=MSO_ANCHOR.TOP):
tb=sl.shapes.add_textbox(Inches(x),Inches(y),Inches(w), Inches(h)); tf=tb.text_frame; tf.clear(); tf.word_wrap=True; tf.margin_left=Inches(.04); tf.margin_right=Inches(.04); tf.margin_top=Inches(.02); tf.margin_bottom=Inches(.02); tf.vertical_anchor=valign
for i,line in enumerate(txt.split('\n')):
p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=line; p.alignment=align; p.space_after=Pt(3)
for r in p.runs: r.font.name=font; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color
return tb
def title(sl,ttl,sub=None,n=None):
rect(sl,0,0,13.333,.18,TEAL); text(sl,ttl,.55,.34,11.9,.55,27,NAVY,True)
if sub: text(sl,sub,.57,.92,11.5,.3,10,GREY)
if n: text(sl,str(n),12.25,.43,.45,.3,10,TEAL,True,PP_ALIGN.RIGHT)
def footer(sl,txt='COPD Seminar | Educational use'):
rect(sl,.55,7.12,12.23,.015,RGBColor(210,221,225)); text(sl,txt,.57,7.18,7,.18,8,GREY); text(sl,'September 2026',10.7,7.18,2,.18,8,GREY,False,PP_ALIGN.RIGHT)
def bullets(sl,items,x,y,w,h,size=17,accent=TEAL):
yy=y
for item in items:
rect(sl,x,yy+.12,.12,.12,accent,True); text(sl,item,x+.25,yy,w-.25,.55,size,INK); yy+=.68
def card(sl,head,body,x,y,w,h,accent=TEAL):
rect(sl,x,y,w,h,WHITE,True,RGBColor(214,226,230)); rect(sl,x,y,.09,h,accent); text(sl,head,x+.25,y+.18,w-.4,.35,15,accent,True); text(sl,body,x+.25,y+.63,w-.42,h-.75,13,INK)
def add_notes(sl, notes):
# add speaker-note text as hidden tiny textbox for portability
tb=text(sl,'Presenter notes: '+notes,.1,7.42,12,.05,1,WHITE)
def image_from_asset(sl,x,y,w,h):
j=json.load(open(ASSET))[0]; raw=base64.b64decode(j['base64'].split(',',1)[1]); sl.shapes.add_picture(BytesIO(raw), Inches(x), Inches(y), width=Inches(w), height=Inches(h))
# 1 cover
sl=prs.slides.add_slide(blank); rect(sl,0,0,13.333,7.5,NAVY); rect(sl,0,0,13.333,.18,TEAL); rect(sl,8.7,0,4.63,7.5,RGBColor(17,56,78));
for r,x,y in [(1.2,9.25,1.2),(.85,11.1,2.1),(.55,9.85,3.4),(.4,11.95,4.25)]:
sh=sl.shapes.add_shape(MSO_SHAPE.OVAL,Inches(x),Inches(y), Inches(r), Inches(r)); sh.fill.solid(); sh.fill.fore_color.rgb=TEAL; sh.fill.transparency=35; sh.line.fill.background()
text(sl,'CHRONIC\nOBSTRUCTIVE\nPULMONARY DISEASE',.72,1.18,7.7,2.25,34,WHITE,True)
text(sl,'A full seminar on diagnosis, assessment, treatment, prevention and acute care',.76,3.75,7.1,.6,18,RGBColor(188,224,228))
rect(sl,.76,5.1,3.2,.48,TEAL,True); text(sl,'CLINICAL SEMINAR | 2026',.92,5.22,2.9,.18,11,WHITE,True)
text(sl,'Presenter: ____________________\nDepartment / Institution: ____________________',.78,6.15,6.5,.65,14,WHITE)
add_notes(sl,'Introduce the scope and clarify that local protocols and patient factors guide treatment.')
# 2 objectives
sl=prs.slides.add_slide(blank); title(sl,'Learning objectives','By the end of this session, participants should be able to:',2)
objs=['Define COPD and recognize its major phenotypes and risk factors','Confirm diagnosis with quality post-bronchodilator spirometry','Apply symptom and exacerbation assessment to initial therapy','Treat stable COPD, prevent exacerbations and support self-management','Recognize and manage an acute exacerbation, including escalation of care']
bullets(sl,objs,.85,1.55,7.25,4.4,19); rect(sl,8.7,1.45,3.55,4.5,PALE,True); text(sl,'SEMINAR ROADMAP',9.05,1.8,2.9,.3,16,TEAL,True); text(sl,'1 Burden & biology\n2 Diagnosis\n3 Assessment\n4 Stable treatment\n5 Exacerbations\n6 Prevention & follow-up',9.1,2.35,2.7,2.9,18,NAVY,False); footer(sl); add_notes(sl,'Use these objectives to frame the discussion.')
# 3 definition burden
sl=prs.slides.add_slide(blank); title(sl,'COPD: what it is','A preventable and treatable, heterogeneous lung condition with persistent respiratory symptoms and airflow obstruction',3)
card(sl,'Core problem','Chronic airway and/or alveolar abnormalities cause persistent, often progressive airflow limitation.',.75,1.55,3.7,2.2)
card(sl,'Clinical impact','Dyspnea, cough, sputum, activity limitation, exacerbations, hospitalizations and premature death.',4.8,1.55,3.7,2.2,ORANGE)
card(sl,'Why it matters','COPD is a leading global cause of mortality and disability. Risk rises with aging and continuing exposures.',8.85,1.55,3.7,2.2,RED)
rect(sl,.75,4.35,11.8,1.55,PALE,True); text(sl,'Key message',1.05,4.65,1.8,.28,17,TEAL,True); text(sl,'COPD is not defined by smoking alone. Identify exposure, symptoms, airflow obstruction, functional effects and coexisting disease.',2.65,4.56,9.2,.55,19,NAVY,True); footer(sl,'Source: GOLD 2026 Pocket Guide; Katzung, 16e, p. 565.'); add_notes(sl,'Stress heterogeneity and the importance of symptoms and exacerbations beyond spirometry.')
# 4 risk factors
sl=prs.slides.add_slide(blank); title(sl,'Who is at risk?','Think beyond cigarettes',4)
items=[('Tobacco smoke','Active smoking, second-hand smoke and cumulative exposure.'),('Biomass & pollution','Indoor solid-fuel smoke, outdoor pollution and occupational dusts/fumes.'),('Host factors','Genetics such as severe alpha-1 antitrypsin deficiency; abnormal lung growth; aging.'),('Early-life events','Prematurity, childhood respiratory infections, asthma and impaired lung development.'),('Socioeconomic context','Exposure burden, nutrition and limited access to prevention or care.')]
for i,(h,b) in enumerate(items):
x=.75+(i%3)*4.05; y=1.5+(i//3)*2.25; card(sl,h,b,x,y,3.55,1.7,[TEAL,ORANGE,RED,SKY,GREEN][i])
footer(sl,'Source: GOLD 2026 Pocket Guide.'); add_notes(sl,'Ask the audience for common local occupational and household exposures.')
#5 pathology
sl=prs.slides.add_slide(blank); title(sl,'Pathobiology and phenotypes','Small-airway disease and parenchymal destruction commonly coexist',5)
# flow blocks
labels=[('Noxious exposure','Smoke, biomass, dusts'),('Inflammation','Neutrophils, macrophages, oxidative stress'),('Airway changes','Mucus, narrowing, fibrosis'),('Alveolar loss','Reduced elastic recoil, hyperinflation'),('Clinical COPD','Dyspnea, obstruction, exacerbations')]
for i,(h,b) in enumerate(labels):
x=.4+i*2.58; rect(sl,x,1.75,2.18,1.3,WHITE,True,RGBColor(205,220,225)); text(sl,h,x+.14,1.98,1.9,.28,14,TEAL,True,PP_ALIGN.CENTER); text(sl,b,x+.15,2.4,1.88,.38,11,INK,False,PP_ALIGN.CENTER)
if i<4: text(sl,'›',x+2.25,2.12,.25,.4,30,ORANGE,True,PP_ALIGN.CENTER)
card(sl,'Chronic bronchitis','Clinical definition: productive cough for ≥3 months in each of 2 consecutive years. Mucus gland enlargement and small-airway inflammation contribute to obstruction.',.9,4.05,5.45,1.75,TEAL)
card(sl,'Emphysema','Permanent enlargement of air spaces distal to terminal bronchioles with destruction of alveolar walls. Centrilobular: usually smoking-related. Panlobular: consider alpha-1 antitrypsin deficiency.',6.95,4.05,5.45,1.75,ORANGE)
footer(sl,'Source: Robbins & Kumar Basic Pathology, COPD section; Katzung, 16e, p. 565.'); add_notes(sl,'Explain loss of elastic recoil as a driver of expiratory collapse and air trapping.')
#6 symptoms signs
sl=prs.slides.add_slide(blank); title(sl,'Clinical presentation','Consider COPD in an adult with symptoms plus risk-factor exposure',6)
card(sl,'Typical symptoms','Progressive exertional breathlessness\nChronic cough, with or without sputum\nWheeze, chest tightness, fatigue',.75,1.55,3.65,2.65,TEAL)
card(sl,'Examination','Prolonged expiration, reduced breath sounds, wheeze\nHyperinflation or barrel chest in advanced disease\nWeight loss, peripheral edema or cyanosis may appear late',4.85,1.55,3.65,2.65,ORANGE)
card(sl,'Red flags / alternatives','Abrupt symptoms or pleuritic pain: PE/pneumothorax\nOrthopnea/edema: heart failure\nFocal signs, hemoptysis, fever or weight loss: investigate infection/malignancy',8.95,1.55,3.65,2.65,RED)
rect(sl,.75,4.85,11.85,.65,PALE,True); text(sl,'Symptoms and airflow limitation do not always correlate. Assess activity, exacerbation history, oxygenation and comorbidities.',1.0,5.03,11.1,.25,17,NAVY,True,PP_ALIGN.CENTER); footer(sl); add_notes(sl,'Mention the differential diagnoses, especially asthma, bronchiectasis, heart failure and lung cancer.')
#7 diagnosis
sl=prs.slides.add_slide(blank); title(sl,'Diagnosis: spirometry confirms persistent airflow obstruction','Clinical suspicion must be confirmed with post-bronchodilator spirometry',7)
rect(sl,.75,1.55,5.15,3.8,PALE,True); text(sl,'DIAGNOSTIC PATHWAY',1.05,1.87,4.5,.3,16,TEAL,True)
steps=['Symptoms + exposure','Perform spirometry','Post-bronchodilator FEV₁/FVC < 0.70','Assess severity, symptoms, exacerbations & alternatives']
for i,s in enumerate(steps):
y=2.4+i*.67; rect(sl,1.08,y,.37,.37,TEAL,True); text(sl,str(i+1),1.08,y+.04,.37,.2,11,WHITE,True,PP_ALIGN.CENTER); text(sl,s,1.65,y,3.8,.32,17,INK,True if i==2 else False)
rect(sl,6.55,1.55,5.9,3.8,WHITE,True,RGBColor(210,224,230)); text(sl,'SPIROMETRY AT A GLANCE',6.9,1.86,5,.3,16,TEAL,True); text(sl,'FEV₁ = forced expiratory volume in the first second\nFVC = forced vital capacity\n\nObstruction: low FEV₁/FVC\nSeverity grading uses post-bronchodilator FEV₁ % predicted.',6.9,2.45,5.1,1.7,18,NAVY)
text(sl,'Repeat testing when the ratio is near the diagnostic threshold and interpret results in the clinical context.',6.9,4.65,4.9,.38,14,RED,True)
footer(sl,'Source: GOLD 2026 Pocket Guide.'); add_notes(sl,'The fixed 0.70 ratio is the GOLD diagnostic criterion; note clinical context and repeat spirometry near the threshold.')
#8 investigation
sl=prs.slides.add_slide(blank); title(sl,'Initial evaluation and investigations','Use tests to characterize disease, exclude alternatives and identify treatable traits',8)
cols=[('Essential','History: exposure, symptoms, exacerbations, medication and inhaler use\nExam, BMI, pulse oximetry\nPost-bronchodilator spirometry'),('Selected tests','Chest radiograph: alternative diagnoses / complications\nBlood eosinophils: informs ICS benefit probability\nCBC, ECG, alpha-1 antitrypsin testing in appropriate patients'),('When indicated','Full PFTs and DLCO\nCT: emphysema, bronchiectasis, intervention planning\nABG: severe disease, hypoxemia, hypercapnia or exacerbation')]
for i,(h,b) in enumerate(cols): card(sl,h,b,.75+i*4.05,1.6,3.55,3.9,[TEAL,ORANGE,RED][i])
footer(sl,'Source: GOLD 2026 Pocket Guide.'); add_notes(sl,'CXR cannot diagnose COPD but is useful for alternatives and coexisting disease.')
#9 assessment
sl=prs.slides.add_slide(blank); title(sl,'Assessment after diagnosis','Four domains guide patient-centered care',9)
for i,(h,b,c) in enumerate([('Symptoms','Use CAT or mMRC to quantify symptom burden.',TEAL),('Exacerbations','Count moderate and severe events in the preceding year.',ORANGE),('Airflow obstruction','GOLD 1-4 spirometric grading based on FEV₁ % predicted.',SKY),('Comorbidities','Cardiovascular disease, anxiety/depression, osteoporosis, reflux, sleep disorders and malignancy.',RED)]):
x=.7+(i%2)*6.15;y=1.45+(i//2)*2.15;card(sl,h,b,x,y,5.55,1.55,c)
rect(sl,.7,6.05,11.95,.55,PALE,True); text(sl,'High exacerbation risk: ≥2 moderate exacerbations OR ≥1 hospitalization in the previous year.',.95,6.19,11.4,.2,16,NAVY,True,PP_ALIGN.CENTER); footer(sl,'Source: GOLD 2026 Pocket Guide.'); add_notes(sl,'Do not confuse spirometric grade with the current ABE assessment for pharmacologic treatment.')
#10 GOLD ABE
sl=prs.slides.add_slide(blank); title(sl,'GOLD ABE grouping','Initial pharmacologic treatment is driven by symptoms and exacerbation history',10)
# matrix
text(sl,'Symptoms',.85,1.5,1,.25,15,TEAL,True); text(sl,'Low',5.1,1.5,1,.25,14,GREY,True,PP_ALIGN.CENTER); text(sl,'More symptomatic',8.75,1.5,2,.25,14,GREY,True,PP_ALIGN.CENTER)
text(sl,'Exacerbation risk',.25,2.55,1.25,.3,14,TEAL,True)
for x,h,b,c in [(2.0,'A','0-1 moderate\n(no admission)',TEAL),(6.0,'B','0-1 moderate\n(no admission)',ORANGE),(10.0,'E','≥2 moderate OR\n≥1 hospitalization',RED)]:
rect(sl,x,2.0,3.35,2.45,PALE if h!='E' else RGBColor(254,239,236),True); text(sl,h,x+.15,2.22,.6,.65,34,c,True); text(sl,b,x+.9,2.45,2.15,.7,16,INK,False,PP_ALIGN.CENTER)
text(sl,'A: low symptoms, low risk',2.05,4.85,3.1,.3,14,TEAL,True,PP_ALIGN.CENTER); text(sl,'B: more symptoms, low risk',6.05,4.85,3.1,.3,14,ORANGE,True,PP_ALIGN.CENTER); text(sl,'E: exacerbation-prone',10.05,4.85,3.1,.3,14,RED,True,PP_ALIGN.CENTER)
rect(sl,.85,5.72,11.5,.58,NAVY,True); text(sl,'Group E is assigned by exacerbation history regardless of symptom level.',1.05,5.89,11.1,.18,15,WHITE,True,PP_ALIGN.CENTER); footer(sl,'Source: GOLD 2026 Pocket Guide.'); add_notes(sl,'GOLD ABE replaced ABCD. Group E consolidates high exacerbation risk.')
#11 nonpharm
sl=prs.slides.add_slide(blank); title(sl,'Non-pharmacologic management for every patient','Treatment succeeds when medicines are paired with exposure reduction, rehabilitation and education',11)
items=[('Stop tobacco exposure','Offer behavioral support plus approved pharmacotherapy where appropriate.'),('Vaccinate','Follow local guidance for influenza, pneumococcal, COVID-19, RSV and other indicated vaccines.'),('Pulmonary rehabilitation','Exercise training, education and behavior change improve symptoms, exercise capacity and quality of life.'),('Physical activity & nutrition','Encourage activity; address low weight, obesity, sarcopenia and frailty.'),('Inhaler education','Choose a device the patient can use, teach technique and re-check at every visit.'),('Written action plan','Recognize deterioration, use rescue treatment correctly and seek care promptly.')]
for i,(h,b) in enumerate(items): x=.7+(i%3)*4.15;y=1.4+(i//3)*2.35;card(sl,h,b,x,y,3.65,1.75,[TEAL,GREEN,ORANGE,SKY,RED,TEAL][i])
footer(sl,'Source: GOLD 2026 Pocket Guide.'); add_notes(sl,'Use motivational interviewing for smoking cessation. Demonstrate, rather than simply describe, inhaler technique.')
#12 pharmacology
sl=prs.slides.add_slide(blank); title(sl,'Stable COPD: inhaled pharmacotherapy','Bronchodilators are the foundation. Escalate based on dyspnea and exacerbations.',12)
card(sl,'Rescue relief','Short-acting beta2-agonist (SABA) with or without short-acting muscarinic antagonist (SAMA) for immediate symptom relief.',.75,1.45,3.65,2.25,TEAL)
card(sl,'Maintenance bronchodilation','Long-acting beta2-agonist (LABA) and long-acting muscarinic antagonist (LAMA). Dual LABA+LAMA often improves symptoms more than monotherapy.',4.85,1.45,3.65,2.25,ORANGE)
card(sl,'Anti-inflammatory therapy','Inhaled corticosteroid (ICS) is not routine monotherapy. Consider benefit in exacerbation-prone patients, particularly with higher eosinophils or concomitant asthma.',8.95,1.45,3.65,2.25,RED)
rect(sl,.75,4.35,11.85,1.35,PALE,True); text(sl,'Safety pearl',1.05,4.63,1.55,.28,16,RED,True); text(sl,'ICS can increase pneumonia risk. Reassess indication, exacerbation history, eosinophil count, adherence and inhaler technique before changing therapy.',2.65,4.48,9.3,.6,17,NAVY,True); footer(sl,'Source: GOLD 2026 Pocket Guide; Katzung, 16e, pp. 565-566.'); add_notes(sl,'Emphasize that the device, technique and adherence can be as important as the prescribed class.')
#13 initial treatment
sl=prs.slides.add_slide(blank); title(sl,'Initial pharmacologic treatment: practical GOLD approach','Confirm diagnosis, provide rescue bronchodilator and individualize after assessing group',13)
rows=[('Group A','Offer a bronchodilator based on symptom benefit.','Any bronchodilator, usually long-acting if symptoms persist.',TEAL),('Group B','Start with dual long-acting bronchodilation.','LABA + LAMA',ORANGE),('Group E','Prevent further exacerbations.','LABA + LAMA preferred; consider LABA + LAMA + ICS if blood eosinophils ≥300 cells/µL or asthma features.',RED)]
for i,(a,b,c,col) in enumerate(rows):
y=1.48+i*1.48; rect(sl,.75,y,11.85,1.14,WHITE,True,RGBColor(214,227,232)); rect(sl,.75,y,1.55,1.14,col,True); text(sl,a,.88,y+.37,1.25,.28,18,WHITE,True,PP_ALIGN.CENTER); text(sl,b,2.65,y+.2,4.4,.35,16,NAVY,True); text(sl,c,7.1,y+.2,4.95,.58,15,INK)
rect(sl,.75,6.2,11.85,.52,PALE,True); text(sl,'Avoid LABA + ICS alone as a preferred COPD regimen when there is an indication for an ICS: triple therapy is preferred.',.97,6.34,11.3,.18,14,NAVY,True,PP_ALIGN.CENTER); footer(sl,'Source: GOLD 2026 Pocket Guide.'); add_notes(sl,'This is an initial treatment framework. Adapt to patient preference, device access, contraindications and local formularies.')
#14 followup
sl=prs.slides.add_slide(blank); title(sl,'Follow-up: treat the dominant problem','Review response after initiation or modification, then adjust',14)
card(sl,'Persistent dyspnea','Check inhaler technique, adherence, smoking, activity, comorbidities and alternative causes. Escalate monotherapy to LABA+LAMA; consider switching device/molecule.',.8,1.55,5.55,2.3,TEAL)
card(sl,'Persistent exacerbations','On LABA+LAMA, consider triple therapy using eosinophils to estimate likely ICS response. Consider roflumilast in selected chronic bronchitis with severe obstruction; consider macrolide in selected non-smokers.',6.95,1.55,5.55,2.3,RED)
card(sl,'De-escalation','Consider ICS withdrawal if pneumonia or major adverse effects occur. A high eosinophil count increases risk of exacerbation after withdrawal.',.8,4.45,5.55,1.45,ORANGE)
card(sl,'Every review','Symptoms, exacerbations, rescue use, technique, adherence, adverse effects, vaccinations, rehabilitation, smoking status and comorbidity care.',6.95,4.45,5.55,1.45,SKY)
footer(sl,'Source: GOLD 2026 Pocket Guide.'); add_notes(sl,'Do not escalate automatically. Investigate why treatment is failing.')
#15 oxygen advanced
sl=prs.slides.add_slide(blank); title(sl,'Oxygen, ventilatory support and advanced interventions','Match support to documented physiologic need',15)
card(sl,'Long-term oxygen therapy','Improves survival in severe chronic resting hypoxemia when prescribed according to guideline criteria. Confirm stability and reassess need.',.75,1.5,3.65,2.3,TEAL)
card(sl,'Noninvasive ventilation','Acute NIV is a key treatment for acute hypercapnic respiratory failure without contraindications. Selected chronic hypercapnia cases may benefit from nocturnal NIV.',4.85,1.5,3.65,2.3,ORANGE)
card(sl,'Procedural options','Selected patients with severe emphysema may be considered for lung volume reduction approaches, bronchoscopic valves, bullectomy or transplant evaluation.',8.95,1.5,3.65,2.3,RED)
rect(sl,.75,4.5,11.85,1.05,PALE,True); text(sl,'Palliative care is compatible with active COPD treatment. Early symptom-focused care, advance care planning and support for caregivers should be offered when needs arise.',1.05,4.79,11.2,.38,17,NAVY,True,PP_ALIGN.CENTER); footer(sl,'Source: GOLD 2026 Pocket Guide.'); add_notes(sl,'Avoid giving oxygen solely for breathlessness without hypoxemia unless a specific indication exists.')
#16 image
sl=prs.slides.add_slide(blank); title(sl,'Imaging in COPD','Radiography does not confirm COPD, but it can identify hyperinflation, complications and alternative diagnoses',16)
image_from_asset(sl,.8,1.35,6.0,4.55); rect(sl,7.25,1.36,5.2,4.55,WHITE,True,RGBColor(210,224,230)); text(sl,'What may be seen in emphysema',7.6,1.75,4.4,.3,17,TEAL,True); bullets(sl,['Hyperlucent lungs with reduced vascular markings','Flattened diaphragms and increased retrosternal airspace','Vertical or narrow cardiac silhouette','CT better demonstrates emphysema distribution, bullae and bronchiectasis'],7.6,2.3,4.35,2.6,15,ORANGE); text(sl,'Teaching image: CXR with CT depiction of severe COPD/emphysema.',.95,6.05,5.6,.25,10,GREY); footer(sl); add_notes(sl,'Describe the imaging features, then remind learners that spirometry is required for diagnosis.')
#17 exacerbation def
sl=prs.slides.add_slide(blank); title(sl,'Acute exacerbation of COPD (ECOPD)','An event characterized by worsening dyspnea and/or cough and sputum over days to weeks',17)
card(sl,'Common triggers','Respiratory viruses, bacterial infection, air pollution and poor adherence. Consider heart failure, PE, pneumonia and pneumothorax.',.75,1.55,3.65,2.55,TEAL)
card(sl,'Severity clues','Increasing dyspnea, tachypnea, new cyanosis, altered mental status, severe hypoxemia, rising PaCO₂ or acidosis, failed outpatient therapy.',4.85,1.55,3.65,2.55,ORANGE)
card(sl,'Why it matters','Exacerbations worsen health status, accelerate lung function decline, increase hospitalization risk and may be fatal.',8.95,1.55,3.65,2.55,RED)
rect(sl,.75,4.85,11.85,.75,NAVY,True); text(sl,'Always reassess for alternative or additional diagnoses when the presentation is atypical, severe or poorly responsive.',1.05,5.09,11.2,.24,16,WHITE,True,PP_ALIGN.CENTER); footer(sl,'Source: GOLD 2026 Pocket Guide; Murray & Nadel, COPD exacerbation definition.'); add_notes(sl,'Start with ABCDE and decide outpatient versus hospital management based on severity and support.')
#18 exacerbation management
sl=prs.slides.add_slide(blank); title(sl,'ECOPD management: first hour and disposition','Treat promptly while looking for the cause and severity',18)
steps=[('1. Assess','ABCDE, work of breathing, mental state, pulse oximetry, ABG when severe, ECG/CXR/labs as indicated.'),('2. Oxygen','Titrate supplemental oxygen to a target saturation of 88-92% while checking blood gases in those at risk of CO₂ retention.'),('3. Bronchodilate','Short-acting inhaled beta2-agonist with or without short-acting anticholinergic.'),('4. Systemic steroid','Short course improves recovery and lung function; use local protocol and minimize duration.'),('5. Antibiotics','When bacterial features are present, especially increased sputum purulence/volume with dyspnea, or when ventilation is required.'),('6. Ventilatory support','NIV for acute hypercapnic respiratory failure when appropriate. Escalate to ICU/intubation if failure or contraindications.')]
for i,(h,b) in enumerate(steps): x=.65+(i%2)*6.15;y=1.33+(i//2)*1.72; card(sl,h,b,x,y,5.65,1.25,[TEAL,SKY,ORANGE,RED,GREEN,NAVY][i])
footer(sl,'Source: GOLD 2026 Pocket Guide; Katzung, 16e, p. 566.'); add_notes(sl,'Use local antibiotic and corticosteroid dosing protocols. Explain why controlled oxygen and ABG assessment matter.')
#19 discharge
sl=prs.slides.add_slide(blank); title(sl,'Hospital discharge and prevention of readmission','A hospitalization is a key opportunity to reset the long-term plan',19)
bullets(sl,['Review and optimize maintenance inhaler regimen before discharge','Demonstrate inhaler technique and give a written action plan','Arrange early follow-up and assess symptom recovery, oxygen needs and adverse effects','Refer for pulmonary rehabilitation and smoking cessation support','Update vaccination and address social support, nutrition and comorbidities','Reassess precipitating factors and consider escalation if exacerbations persist'],.85,1.45,7.1,4.4,18)
rect(sl,8.6,1.55,3.85,3.95,PALE,True); text(sl,'DISCHARGE CHECK',9.02,1.92,3.05,.3,16,TEAL,True); text(sl,'□ Stable oxygen needs\n□ Correct inhaler use\n□ Medication access\n□ Follow-up booked\n□ Action plan understood\n□ Rehab / cessation referral',9.1,2.48,2.8,2.25,17,NAVY); footer(sl,'Source: GOLD 2026 Pocket Guide.'); add_notes(sl,'Emphasize practical barriers: device availability, affordability and follow-up access.')
#20 case
sl=prs.slides.add_slide(blank); title(sl,'Case discussion','Apply the framework',20)
rect(sl,.75,1.35,5.6,4.85,PALE,True); text(sl,'CASE',1.1,1.72,1,.28,17,TEAL,True); text(sl,'A 67-year-old former smoker reports progressive exertional dyspnea, CAT 19 and two steroid-treated exacerbations in the last year. Post-bronchodilator FEV₁/FVC is 0.58. Blood eosinophils: 320 cells/µL.',1.1,2.2,4.8,1.4,19,NAVY,True); text(sl,'Questions\n1. Is COPD confirmed?\n2. Which GOLD group?\n3. What initial treatment and non-drug care would you propose?\n4. What follow-up targets matter?',1.1,4.25,4.85,1.35,16,INK)
rect(sl,6.85,1.35,5.75,4.85,WHITE,True,RGBColor(210,224,230)); text(sl,'SUGGESTED RESPONSE',7.25,1.72,4.85,.3,17,ORANGE,True); bullets(sl,['COPD confirmed by post-bronchodilator FEV₁/FVC <0.70.','Group E due to ≥2 moderate exacerbations.','LABA+LAMA is preferred; with eosinophils ≥300 cells/µL, triple therapy can be considered initially.','Smoking relapse prevention, vaccines, rehabilitation, inhaler training and written action plan.'],7.2,2.25,4.75,2.6,15,ORANGE); footer(sl,'Teaching case based on GOLD 2026 assessment and initial-treatment framework.'); add_notes(sl,'Ask participants to justify their answer before showing the suggested response.')
#21 takehome
sl=prs.slides.add_slide(blank); title(sl,'Take-home messages','Five points to remember',21)
msgs=['Confirm COPD with post-bronchodilator spirometry, not symptoms alone.','Assess symptoms, prior exacerbations, airflow obstruction and comorbidities.','Smoking cessation, vaccination, pulmonary rehabilitation and inhaler technique are core treatment.','LABA+LAMA is the usual foundation for symptomatic or exacerbation-prone disease; use ICS selectively.','During ECOPD, provide controlled oxygen, short-acting bronchodilators, systemic steroids, antibiotics when indicated and NIV for acute hypercapnic failure.']
for i,m in enumerate(msgs): y=1.25+i*.94; rect(sl,.85,y,.55,.55,[TEAL,ORANGE,SKY,RED,GREEN][i],True); text(sl,str(i+1),.85,y+.13,.55,.2,16,WHITE,True,PP_ALIGN.CENTER); text(sl,m,1.7,y+.05,10.6,.43,20,NAVY,True); footer(sl,'Core sources: GOLD 2026; Katzung 16e; Robbins & Kumar Basic Pathology.'); add_notes(sl,'Use this slide as the final summary and invite questions.')
#22 references
sl=prs.slides.add_slide(blank); title(sl,'References and further reading','Current guideline plus core textbook sources',22)
refs=['Global Initiative for Chronic Obstructive Lung Disease. Global Strategy for the Diagnosis, Management, and Prevention of COPD. 2026 Report and Pocket Guide. goldcopd.org.','Katzung BG. Basic & Clinical Pharmacology. 16th ed. Treatment of COPD, pp. 565-566.','Kumar V, Abbas AK, Aster JC. Robbins & Kumar Basic Pathology. COPD section.','Murray & Nadel’s Textbook of Respiratory Medicine. COPD and acute exacerbations.','GOLD 2026 teaching slide set and local/national respiratory guidelines should be consulted for implementation details.']
bullets(sl,refs,.85,1.35,11.5,4.5,15,TEAL); rect(sl,.85,5.95,11.55,.65,PALE,True); text(sl,'Clinical disclaimer: This seminar is educational and does not replace assessment, local protocols or individualized prescribing.',1.1,6.17,11,.2,14,RED,True,PP_ALIGN.CENTER); footer(sl); add_notes(sl,'Offer the GOLD website as the primary current guideline resource.')
# set properties
prs.core_properties.title='Chronic Obstructive Pulmonary Disease - Full Seminar'
prs.core_properties.subject='COPD diagnosis, assessment, management and exacerbations'
prs.core_properties.author='Orris'
prs.save(OUT)
print(OUT)
python "/tmp/workspace/copd-seminar/src/create_copd_seminar.py" && ls -lh "/tmp/workspace/copd-seminar/output/COPD_Full_Seminar_2026.pptx"
python -c "from pptx import Presentation; p=Presentation('/tmp/workspace/copd-seminar/output/COPD_Full_Seminar_2026.pptx'); print('slides',len(p.slides)); print('titles:'); [print(i+1, next((s.text for s in sl.shapes if getattr(s,'has_text_frame',False) and s.text.strip()), '')) for i,sl in enumerate(p.slides)]"
COPD Full Seminar 2026
Presentation · PPTX