Make a power point presentation Recent antitubercular guidelines according to category a,b,c and special population from latest guidelines pf 2025,2026 and adverse drug reaction
WHO consolidated guidelines tuberculosis module 4 treatment drug resistant TB 2025 Group A B C special populations adverse events
tuberculosis drug resistant treatment
https://tbksp.who.int/en/node/3011
~/
site:tbksp.who.int/en "BPaLM" "children" 2025 "6-month" WHO
tuberculosis drug resistance treatment regimen infographic bedaquiline pretomanid linezolid moxifloxacin
https://tbksp.who.int/en/node/3033
mkdir -p "/tmp/workspace/antitubercular-guidelines-ppt/src" "/tmp/workspace/antitubercular-guidelines-ppt/output" && cat > "/tmp/workspace/antitubercular-guidelines-ppt/src/create_deck.py" <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.shapes import MSO_SHAPE from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.dml.color import RGBColor from pptx.enum.dml import MSO_THEME_COLOR OUT='/tmp/workspace/antitubercular-guidelines-ppt/output/Recent_Antitubercular_Guidelines_WHO_2025_2026.pptx' prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5) blank=prs.slide_layouts[6] NAVY=RGBColor(12,39,65); BLUE=RGBColor(20,96,150); TEAL=RGBColor(0,143,140); CYAN=RGBColor(59,180,196) MINT=RGBColor(227,246,241); PALE=RGBColor(244,248,251); WHITE=RGBColor(255,255,255); INK=RGBColor(29,42,55) GRAY=RGBColor(94,108,121); RED=RGBColor(185,52,48); AMBER=RGBColor(205,126,0); GREEN=RGBColor(20,128,90) # helpers def rect(slide,x,y,w,h,fill,line=None,r=False): s=slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if r 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 tx(slide,x,y,w,h,text,size=18,color=INK,bold=False,align=PP_ALIGN.LEFT, valign=MSO_ANCHOR.TOP, font='Aptos', margin=.06): s=slide.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h)); tf=s.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 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.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 s def title(slide,heading,sub=''): rect(slide,0,0,13.333,.53,NAVY); rect(slide,.43,.86,.10,.55,TEAL) tx(slide,.65,.76,11.9,.48,heading,28,NAVY,True) if sub: tx(slide,.67,1.25,11.6,.3,sub,11,GRAY) def foot(slide,n,source='WHO consolidated guidelines on TB, Module 4: Treatment and care (2025)'): rect(slide,0,7.13,13.333,.37,NAVY) tx(slide,.42,7.20,11.8,.16,source,8,WHITE) tx(slide,12.35,7.18,.55,.18,str(n),9,WHITE,True,PP_ALIGN.RIGHT) def bulletbox(slide,x,y,w,h,items,accent=TEAL,fs=15): rect(slide,x,y,w,h,WHITE,RGBColor(219,229,236),True); rect(slide,x,y,.1,h,accent) s=slide.shapes.add_textbox(Inches(x+.22),Inches(y+.15),Inches(w-.33),Inches(h-.25)); tf=s.text_frame; tf.clear(); tf.word_wrap=True tf.margin_left=tf.margin_right=tf.margin_top=tf.margin_bottom=0 for i,item in enumerate(items): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=item; p.level=0; p.space_after=Pt(7) p._p.get_or_add_pPr().insert(0, __import__('pptx').oxml.parse_xml('<a:buChar xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" char="•"/>')) for r in p.runs: r.font.name='Aptos'; r.font.size=Pt(fs); r.font.color.rgb=INK return s def tag(slide,x,y,w,text,fill=TEAL): rect(slide,x,y,w,.31,fill,fill,True); tx(slide,x+.04,y+.045,w-.08,.17,text,10,WHITE,True,PP_ALIGN.CENTER) def flow(slide, x, y, labels, colors, w=2.7, h=.78): for i,(lab,col) in enumerate(zip(labels,colors)): xx=x+i*(w+.3); rect(slide,xx,y,w,h,col,col,True); tx(slide,xx+.1,y+.12,w-.2,h-.22,lab,15,WHITE,True,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) if i<len(labels)-1: tx(slide,xx+w+.05,y+.21,.2,.25,'›',25,NAVY,True,PP_ALIGN.CENTER) # 1 title s=prs.slides.add_slide(blank); rect(s,0,0,13.333,7.5,NAVY); rect(s,0,0,13.333,.18,TEAL); rect(s,.65,1.08,.12,4.7,TEAL) tx(s,1.05,1.0,10.6,.72,'Recent Antitubercular Guidelines',34,WHITE,True) tx(s,1.07,1.83,9.8,.55,'WHO 2025 treatment and care update',25,RGBColor(180,226,226),False) tx(s,1.08,2.62,9.8,1.4,'Drug-resistant TB regimens\nLegacy Groups A, B, C | special populations | adverse drug reactions',21,WHITE) tag(s,1.08,4.48,2.35,'Clinical teaching deck',TEAL) tx(s,1.08,5.08,8.8,.35,'Evidence current through the WHO 2025 update. Check national TB programme policy before prescribing.',12,RGBColor(203,220,232)) tx(s,1.08,6.55,6,.25,'September 2026',10,RGBColor(180,205,219)); tx(s,11.3,6.5,1.35,.35,'TB UPDATE',15,RGBColor(180,226,226),True,PP_ALIGN.RIGHT) #2 s=prs.slides.add_slide(blank); title(s,'What changed in the 2025 WHO update','The current regimen-first approach sits alongside the older medicine grouping framework.') flow(s,.75,1.82,['Rapid molecular DST','Choose a short regimen if eligible','Individualize when needed'],[BLUE,TEAL,NAVY],w=3.65,h=.85) bulletbox(s,.75,3.05,5.85,2.68,[ 'New 6-month option: BDLLfxC (bedaquiline, delamanid, linezolid, levofloxacin, clofazimine).', 'BPaLM is the preferred initial 6-month regimen for eligible MDR/RR-TB; omit moxifloxacin as BPaL if fluoroquinolone resistance is confirmed.', 'Modified 9-month all-oral regimens and longer individualized regimens remain essential.' ],TEAL,15) bulletbox(s,6.78,3.05,5.75,2.68,[ 'Obtain drug-susceptibility testing (DST), especially for fluoroquinolones, without delaying suitable treatment.', 'Clinical decisions require disease site, prior exposure, resistance pattern, pregnancy/breastfeeding status, age, comorbidities and drug interactions.', 'Use active drug-safety monitoring from baseline through treatment.' ],BLUE,15) foot(s,2) #3 groups s=prs.slides.add_slide(blank); title(s,'Groups A, B and C: the legacy framework','Useful for building longer individualized MDR/RR-TB regimens. It is not the 2025 short-regimen selection algorithm.') for x,head,col,drugs,rule in [(.68,'GROUP A',RED,'Levofloxacin OR moxifloxacin\nBedaquiline\nLinezolid','Use all three whenever possible.'),(4.55,'GROUP B',AMBER,'Clofazimine\nCycloserine OR terizidone','Add both whenever possible.'),(8.42,'GROUP C',BLUE,'Ethambutol | Delamanid | Pyrazinamide\nMeropenem + amox-clav\nAmikacin | Ethionamide/prothionamide','Use to complete regimen or replace unavailable/intolerant A/B drugs.')]: rect(s,x,1.75,3.53,4.42,WHITE,RGBColor(215,226,234),True); rect(s,x,1.75,3.53,.62,col,col,True) tx(s,x+.14,1.9,3.23,.22,head,18,WHITE,True,PP_ALIGN.CENTER) tx(s,x+.24,2.72,3.04,1.65,drugs,17,INK,True,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) rect(s,x+.22,4.78,3.08,.92,PALE,PALE,True); tx(s,x+.35,4.91,2.82,.6,rule,12,INK,False,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) tx(s,.78,6.47,11.7,.3,'Practical principle for a longer regimen: aim for at least 4 effective medicines, guided by DST and prior drug exposure.',14,NAVY,True,PP_ALIGN.CENTER) foot(s,3,'Goodman & Gilman’s Pharmacological Basis of Therapeutics, Groupings of drugs for MDR/RR-TB; WHO 2025') #4 overview s=prs.slides.add_slide(blank); title(s,'WHO 2025 DR-TB regimen selection','Simplified clinical pathway for MDR/RR-TB. Apply local eligibility criteria and expert consultation.') flow(s,.64,1.68,['Confirm MDR/RR-TB\n+ assess site/severity','FQ DST + prior exposure\n+ special populations','Select regimen\n+ monitor response/ADRs'],[NAVY,BLUE,TEAL],w=3.95,h=.9) for x,hdr,col,body in [(.72,'1. Preferred if eligible',TEAL,'6 months BPaLM\nIf FQ resistance confirmed: BPaL\nPulmonary TB; avoid in pregnancy/breastfeeding; generally age ≥14.'),(4.74,'2. Alternative short choices',BLUE,'6 months BDLLfxC\nMay be used in children, pregnancy/breastfeeding and PLHIV. Use variants according to FQ susceptibility.'),(8.76,'3. When short regimens unsuitable',AMBER,'Modified 9-month regimen if FQ resistance excluded; otherwise longer individualized all-oral regimen.')]: rect(s,x,3.02,3.56,2.65,WHITE,RGBColor(215,226,234),True); rect(s,x,3.02,3.56,.5,col,col,True); tx(s,x+.16,3.14,3.2,.2,hdr,16,WHITE,True,PP_ALIGN.CENTER); tx(s,x+.24,3.8,3.08,1.45,body,15,INK,False,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) foot(s,4) #5 6 month s=prs.slides.add_slide(blank); title(s,'Six-month regimens','A short regimen is preferred only when its population and disease eligibility criteria are met.') for y,hdr,col,reg,details in [(1.65,'BPaLM / BPaL',TEAL,'Bedaquiline + Pretomanid + Linezolid + Moxifloxacin','Initial choice for eligible MDR/RR pulmonary TB. If fluoroquinolone (FQ) resistance is documented, drop moxifloxacin: BPaL. BPaL may be extended to 9 months.'),(4.2,'BDLLfxC',BLUE,'Bedaquiline + Delamanid + Linezolid + Levofloxacin + Clofazimine','Alternative 6-month regimen, including when pretomanid cannot be used. In FQ-resistant disease, a BDLC variant may be used. May be extended to 9 months.')]: rect(s,.7,y,2.3,1.8,col,col,True); tx(s,.88,y+.28,1.95,.3,hdr,20,WHITE,True,PP_ALIGN.CENTER); tx(s,.85,y+.78,2.0,.68,'26 weeks\n(standard)',15,WHITE,False,PP_ALIGN.CENTER) rect(s,3.2,y,9.38,1.8,WHITE,RGBColor(215,226,234),True); tx(s,3.5,y+.22,8.78,.3,reg,18,NAVY,True); tx(s,3.5,y+.75,8.7,.7,details,14,INK) foot(s,5) #6 9 long s=prs.slides.add_slide(blank); title(s,'Nine-month and longer regimens','Use resistance results, drug history and tolerability to avoid functional monotherapy.') for x,hdr,col,body in [(.72,'Modified 9-month regimens',BLUE,'For MDR/RR-TB when FQ resistance has been excluded and 6-month regimens are not appropriate.\n\nWHO 2025 options include BLMZ, BLLfxCZ and BDLLfxZ. BLMZ is the preferred option among these.'),(4.74,'Longer individualized regimens',NAVY,'For FQ-resistant disease not suitable for BPaL/BDLLfxC, CNS/osteoarticular/disseminated TB, substantial prior exposure or drug intolerance.\n\nBuild with effective medicines, using Groups A/B/C as a practical legacy framework.'),(8.76,'Isoniazid-resistant, RIF-susceptible TB',TEAL,'This is not MDR/RR-TB. Use the WHO-recommended rifampicin-susceptible, isoniazid-resistant (Hr-TB) pathway rather than a DR-TB short regimen.')]: rect(s,x,1.85,3.57,4.4,WHITE,RGBColor(215,226,234),True); rect(s,x,1.85,3.57,.62,col,col,True); tx(s,x+.15,2.02,3.25,.23,hdr,16,WHITE,True,PP_ALIGN.CENTER); tx(s,x+.25,2.74,3.05,2.9,body,14,INK) foot(s,6) #7 DST s=prs.slides.add_slide(blank); title(s,'Before treatment: a safety and eligibility checklist','Never let pending DST delay appropriate initiation, but revise promptly when results return.') items=[('Resistance and exposure','Rapid molecular confirmation; FQ DST; review prior TB drugs and contact resistance.'),('Disease phenotype','Pulmonary vs extrapulmonary; avoid extrapolating 6-month BPaL/BPaLM to CNS, osteoarticular or disseminated TB.'),('Patient factors','Age, pregnancy/breastfeeding, HIV and ART regimen, hepatic/renal disease, diabetes, psychiatric or neurologic disease.'),('Baseline tests','CBC, AST/ALT/bilirubin, creatinine/electrolytes, ECG with QTcF, visual and neuropathy assessment, pregnancy test when relevant.')] for i,(h,b) in enumerate(items): y=1.55+i*1.28; rect(s,.95,y,11.3,.94,WHITE,RGBColor(216,228,235),True); rect(s,.95,y,.95,.94,[TEAL,BLUE,AMBER,NAVY][i],[TEAL,BLUE,AMBER,NAVY][i],True); tx(s,1.2,y+.27,.46,.3,str(i+1),20,WHITE,True,PP_ALIGN.CENTER); tx(s,2.1,y+.14,2.4,.23,h,16,NAVY,True); tx(s,4.5,y+.14,7.25,.55,b,14,INK) foot(s,7) #8 special s=prs.slides.add_slide(blank); title(s,'Special populations: key regimen implications','These points guide selection but do not replace consultation with a TB specialist or national programme.') for x,y,hdr,col,body in [(.7,1.6,'Children and adolescents',TEAL,'BDLLfxC is the 6-month option across ages. BPaLM/BPaL: limited safety data for <14 years due to pretomanid. Use weight-band dosing and active toxicity surveillance.'),(4.55,1.6,'Pregnancy and breastfeeding',RED,'Avoid BPaLM/BPaL: pretomanid safety is unestablished; breastfeeding is not recommended with pretomanid. BDLLfxC or a 9-month regimen can be considered.'),(.7,4.16,'HIV / ART',BLUE,'Both BPaLM/BPaL and BDLLfxC apply regardless of HIV status, with caution for CD4 <100 cells/mm³. Review ART interactions and start ART per WHO timing guidance.'),(4.55,4.16,'Renal or liver disease',AMBER,'Individualize. Assess renal clearance, electrolytes and hepatic reserve. Pre-existing HBV/HCV or alcohol-related liver disease raises DILI risk.')]: rect(s,x,y,3.62,2.15,WHITE,RGBColor(215,226,234),True); rect(s,x,y,3.62,.48,col,col,True); tx(s,x+.15,y+.11,3.32,.2,hdr,15,WHITE,True,PP_ALIGN.CENTER); tx(s,x+.22,y+.75,3.17,1.12,body,13,INK) foot(s,8) #9 interactions s=prs.slides.add_slide(blank); title(s,'TB-HIV and drug-interaction practice points','Screen all co-medications for CYP effects, QT liability, marrow toxicity and serotonergic interactions.') for x,hdr,col,items in [(.75,'ART interaction review',BLUE,['Bedaquiline is affected by strong CYP3A4 inducers/inhibitors.','Rifampicin-based regimens have major interaction implications, especially with antiretrovirals.','Select compatible ART with HIV/TB expertise.']), (4.62,'QT-risk stack',AMBER,['Bedaquiline, delamanid, clofazimine and fluoroquinolones can contribute to QT prolongation.','Correct K+, Mg2+ and Ca2+; avoid other QT-prolonging drugs where possible.','Obtain ECG monitoring.']), (8.49,'Linezolid risk stack',RED,['Myelosuppression, optic/peripheral neuropathy and lactic acidosis.','Review antidepressants/serotonergic medicines for serotonin syndrome risk.','Symptoms plus CBC and neurologic/visual assessment guide dose interruption or adjustment.'])]: rect(s,x,1.72,3.48,4.65,WHITE,RGBColor(215,226,234),True); rect(s,x,1.72,3.48,.57,col,col,True); tx(s,x+.15,1.9,3.18,.2,hdr,17,WHITE,True,PP_ALIGN.CENTER); bulletbox(s,x+.16,2.62,3.15,3.23,items,col,13) foot(s,9) #10 ADR s=prs.slides.add_slide(blank); title(s,'Adverse drug reactions: high-yield attribution','In multi-drug regimens, causality may be uncertain. Treat symptoms first, then assess the likely culprit and severity.') rows=[('Linezolid','Anaemia / cytopenias; peripheral and optic neuropathy; GI effects; lactic acidosis','CBC; neuropathy screen; visual symptoms/acuity'),('Bedaquiline','QT prolongation; hepatotoxicity','ECG QTcF; AST/ALT/bilirubin; electrolytes'),('Pretomanid','Hepatotoxicity; GI effects; peripheral neuropathy (in combination)','LFTs; symptom and neuropathy assessment'),('Moxifloxacin / levofloxacin','QT prolongation; tendinopathy; CNS/GI effects','ECG if QT risk; clinical review'),('Clofazimine / delamanid','QT prolongation; skin discoloration (clofazimine); GI effects','ECG QTcF; clinical assessment')] rect(s,.62,1.55,12.05,.48,NAVY,NAVY,True) for x,w,t in [(.82,2.05,'MEDICINE'),(3.0,5.45,'COMMON/IMPORTANT ADRs'),(8.65,3.6,'MONITOR')]: tx(s,x,1.68,w,.18,t,12,WHITE,True) for i,row in enumerate(rows): y=2.1+i*.82; fill=WHITE if i%2==0 else PALE; rect(s,.62,y,12.05,.73,fill,RGBColor(226,234,239),False) tx(s,.82,y+.13,2.0,.34,row[0],13,NAVY,True); tx(s,3.0,y+.11,5.35,.42,row[1],12,INK); tx(s,8.65,y+.11,3.65,.42,row[2],12,INK) foot(s,10) #11 management s=prs.slides.add_slide(blank); title(s,'Active TB drug-safety monitoring and management','Counsel at every visit. Grade and document events. Escalate early rather than allowing silent treatment interruption.') flow(s,.68,1.55,['Baseline\nCBC, LFT, creatinine, ECG','Each visit\nSymptoms, adherence, focused exam','Triggered testing\nRepeat CBC/LFT/ECG, vision, electrolytes','Act\nSupport, hold/adjust drug, report'],[NAVY,BLUE,TEAL,RED],w=2.82,h=.88) for x,hdr,body,col in [(.8,'Urgent red flags','Syncope/palpitations, severe rash or mucosal involvement, jaundice, severe vomiting, visual change, progressive weakness or altered mental state.',RED),(4.55,'General actions','Exclude other causes and drug interactions. Provide symptom relief and psychosocial support. Do not stop several medicines without a structured plan unless medically necessary.',AMBER),(8.3,'Monitoring focus','BPaLM and BDLLfxC: linezolid-related anaemia/neuropathy/optic neuritis; QT monitoring for bedaquiline with moxifloxacin/delamanid/clofazimine.',TEAL)]: rect(s,x,3.2,3.45,2.65,WHITE,RGBColor(215,226,234),True); rect(s,x,3.2,3.45,.45,col,col,True); tx(s,x+.13,3.33,3.13,.2,hdr,16,WHITE,True,PP_ALIGN.CENTER); tx(s,x+.23,4.0,3.0,1.28,body,13,INK) foot(s,11) #12 first line ADR s=prs.slides.add_slide(blank); title(s,'First-line antitubercular ADRs: rapid revision','Relevant when treating drug-susceptible TB or mixed resistance patterns.') for i,(d,a,m) in enumerate([('Isoniazid','Hepatitis; peripheral neuropathy; CNS effects','LFTs when risk/symptoms. Give pyridoxine for people at risk of neuropathy.'),('Rifampicin','Hepatitis, GI upset, rash/flu-like reaction; orange fluids; major drug interactions','Review all medicines, especially ART, anticoagulants and contraceptives.'),('Pyrazinamide','Hepatotoxicity; hyperuricaemia/arthralgia; GI upset','LFTs; assess joint symptoms and urate selectively.'),('Ethambutol','Optic neuritis, reduced visual acuity or red-green discrimination','Baseline and symptom-triggered visual assessment; stop and urgently assess visual symptoms.'),('Streptomycin / amikacin','Ototoxicity, vestibular toxicity and nephrotoxicity','Avoid routine injectable use when effective oral options exist; audiometry and renal monitoring if used.')]): y=1.45+i*.99; rect(s,.75,y,11.85,.82,WHITE,RGBColor(215,226,234),True); tag(s,.94,y+.16,1.35,d,[TEAL,BLUE,AMBER,NAVY,RED][i]); tx(s,2.55,y+.12,4.0,.45,a,13,INK,True); tx(s,6.57,y+.11,5.52,.48,m,12,INK) foot(s,12,'Harrison’s Principles of Internal Medicine, 22e (2025); WHO Module 4 (2025)') #13 summary s=prs.slides.add_slide(blank); title(s,'Take-home algorithm','Shorter all-oral treatment is the direction of travel, but precision selection and active safety monitoring determine success.') for y,num,head,body,col in [(1.55,'1','Confirm resistance and FQ susceptibility','Obtain DST and drug exposure history. Identify disease site and special-population factors before locking in a regimen.',NAVY),(2.65,'2','Use BPaLM first when eligible','If FQ resistance is confirmed, use BPaL. Do not use BPaLM/BPaL in pregnancy or breastfeeding.',TEAL),(3.75,'3','Use BDLLfxC where it fits','A key 2025 short-regimen alternative for children, pregnancy/breastfeeding, PLHIV or restricted pretomanid access.',BLUE),(4.85,'4','Individualize when complexity demands it','9-month modified regimens or longer A/B/C-informed regimens are needed for ineligible patterns, sites or intolerance.',AMBER)]: rect(s,.85,y,11.55,.88,WHITE,RGBColor(215,226,234),True); rect(s,.85,y,.73,.88,col,col,True); tx(s,1.05,y+.22,.34,.24,num,19,WHITE,True,PP_ALIGN.CENTER); tx(s,1.9,y+.12,3.7,.22,head,15,NAVY,True); tx(s,5.4,y+.12,6.55,.45,body,12,INK) foot(s,13) #14 sources s=prs.slides.add_slide(blank); title(s,'References and scope note','Core guideline sources used to prepare this educational presentation.') refs=[ 'WHO. Consolidated guidelines on tuberculosis: Module 4 - treatment and care. 2025 update and operational handbook. WHO TB Knowledge Sharing Platform.', 'WHO TB Knowledge Sharing. Treatment of DR-TB using 6-month regimens, including BPaLM/BPaL and BDLLfxC. 2025.', 'WHO TB Knowledge Sharing. Monitoring and management of adverse events in treatment of drug-resistant tuberculosis. Annex 2, 2025.', 'Goodman & Gilman’s The Pharmacological Basis of Therapeutics. Definitive Therapy of Drug-Resistant TB, Table 65-6 (legacy Groups A, B, C).', 'Harrison’s Principles of Internal Medicine, 22nd ed. Antituberculosis drug pharmacology and adverse effects. 2025.', 'Fekadu G, et al. Impact of all-oral bedaquiline-based shorter regimens in DR-TB: systematic review and meta-analysis. BMJ Global Health. 2025. PMID: 40194835.' ] bulletbox(s,.78,1.52,11.75,4.72,refs,NAVY,13) rect(s,.78,6.42,11.75,.45,MINT,MINT,True); tx(s,.98,6.53,11.28,.18,'Educational content only. Doses, exact duration, eligibility and pharmacovigilance thresholds must follow the applicable national TB programme and expert advice.',10,NAVY,True,PP_ALIGN.CENTER) foot(s,14,'References on slide 14 | Deck prepared September 2026') # add speaker notes unavailable easily; metadata prs.core_properties.title='Recent Antitubercular Guidelines - WHO 2025' prs.core_properties.subject='MDR/RR-TB regimens, legacy Groups A B C, special populations and adverse drug reactions' prs.core_properties.author='Orris' prs.save(OUT) print(OUT) PY python "/tmp/workspace/antitubercular-guidelines-ppt/src/create_deck.py" python - <<'PY' from pptx import Presentation p='/tmp/workspace/antitubercular-guidelines-ppt/output/Recent_Antitubercular_Guidelines_WHO_2025_2026.pptx' prs=Presentation(p) print('slides',len(prs.slides)) for i,s in enumerate(prs.slides,1): texts=[sh.text for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] print(i, texts[0][:80] if texts else 'EMPTY') PY
~/antitubercular-guidelines-ppt/output
python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/antitubercular-guidelines-ppt/output/Recent_Antitubercular_Guidelines_WHO_2025_2026.pptx') prs=Presentation(str(p)) assert len(prs.slides)==14 assert p.stat().st_size > 40000 for i,slide in enumerate(prs.slides,1): assert any(getattr(sh,'has_text_frame',False) and sh.text.strip() for sh in slide.shapes), f'No text slide {i}' print(f'Validated: {len(prs.slides)} slides, {p.stat().st_size:,} bytes') PY unzip -t "/tmp/workspace/antitubercular-guidelines-ppt/output/Recent_Antitubercular_Guidelines_WHO_2025_2026.pptx" | tail -1
Recent Antitubercular Guidelines WHO 2025 2026
Presentation · PPTX
I have an upcoming exam so make ppt according to academic purpose and so that i can prepare answer from it
WHO 2025 consolidated guidelines tuberculosis module 4 drug resistant TB BPaLM BDLLfxC summary special populations adverse events
drug resistant tuberculosis treatment
~/antitubercular-guidelines-ppt/output
https://tbksp.who.int/en/node/3033
~/antitubercular-guidelines-ppt
python - <<'PY' from pptx import Presentation p='/tmp/workspace/antitubercular-guidelines-ppt/output/Recent_Antitubercular_Guidelines_WHO_2025_2026.pptx' prs=Presentation(p) print('Existing slides:',len(prs.slides)) for i,s in enumerate(prs.slides,1): t=' | '.join(sh.text.replace('\n',' / ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()) print(i, t[:260]) PY
cat > "/tmp/workspace/antitubercular-guidelines-ppt/src/create_exam_deck.py" <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.shapes import MSO_SHAPE from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.dml.color import RGBColor from pptx.oxml import parse_xml from pathlib import Path OUT=Path('/tmp/workspace/antitubercular-guidelines-ppt/output/Antitubercular_Guidelines_Exam_Revision_WHO_2025_2026.pptx') prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5); blank=prs.slide_layouts[6] NAVY=RGBColor(12,41,66); BLUE=RGBColor(25,104,158); TEAL=RGBColor(0,137,130); GREEN=RGBColor(21,135,91); RED=RGBColor(181,55,52); AMBER=RGBColor(197,123,11); PURPLE=RGBColor(105,79,156); WHITE=RGBColor(255,255,255); INK=RGBColor(27,42,55); GRAY=RGBColor(92,108,121); PALE=RGBColor(246,249,251); MINT=RGBColor(228,246,241); LINE=RGBColor(214,226,234) def rect(s,x,y,w,h,fill,line=None,round_=False): sh=s.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if round_ else MSO_SHAPE.RECTANGLE,Inches(x), Inches(y), Inches(w), Inches(h)); sh.fill.solid(); sh.fill.fore_color.rgb=fill; sh.line.color.rgb=line or fill; return sh def text(s,x,y,w,h,st,size=16,color=INK,bold=False,align=PP_ALIGN.LEFT,va=MSO_ANCHOR.TOP): sh=s.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h)); tf=sh.text_frame; tf.clear(); tf.word_wrap=True; tf.margin_left=tf.margin_right=Inches(.055); tf.margin_top=tf.margin_bottom=Inches(.035); tf.vertical_anchor=va for i,ln in enumerate(st.split('\n')): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=ln; p.alignment=align; p.space_after=Pt(2) for r in p.runs: r.font.name='Aptos'; r.font.size=Pt(size); r.font.color.rgb=color; r.font.bold=bold return sh def bullets(s,x,y,w,h,arr,accent=TEAL,fs=14): rect(s,x,y,w,h,WHITE,LINE,True); rect(s,x,y,.1,h,accent) sh=s.shapes.add_textbox(Inches(x+.2),Inches(y+.12), Inches(w-.32), Inches(h-.18)); tf=sh.text_frame; tf.clear(); tf.word_wrap=True; tf.margin_left=tf.margin_right=tf.margin_top=tf.margin_bottom=0 for i,a in enumerate(arr): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=a; p.space_after=Pt(5); p._p.get_or_add_pPr().insert(0,parse_xml('<a:buChar xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" char="•"/>')) for r in p.runs: r.font.name='Aptos'; r.font.size=Pt(fs); r.font.color.rgb=INK return sh def top(s,hd,sub=''): rect(s,0,0,13.333,.5,NAVY); rect(s,.45,.81,.11,.54,TEAL); text(s,.68,.73,12,.37,hd,27,NAVY,True) if sub: text(s,.69,1.14,12,.24,sub,10,GRAY) def footer(s,n,src='WHO consolidated guidelines on tuberculosis, Module 4: treatment and care (2025)'): rect(s,0,7.13,13.333,.37,NAVY); text(s,.42,7.20,11.5,.15,src,8,WHITE); text(s,12.3,7.19,.55,.15,str(n),9,WHITE,True,PP_ALIGN.RIGHT) def label(s,x,y,w,st,c=TEAL): rect(s,x,y,w,.31,c,c,True); text(s,x+.03,y+.06,w-.06,.14,st,9,WHITE,True,PP_ALIGN.CENTER) def card(s,x,y,w,h,head,body,accent=TEAL,fs=13): rect(s,x,y,w,h,WHITE,LINE,True); rect(s,x,y,w,.47,accent,accent,True); text(s,x+.12,y+.1,w-.24,.18,head,15,WHITE,True,PP_ALIGN.CENTER); text(s,x+.19,y+.68,w-.38,h-.83,body,fs,INK) def table_header(s,cols,y=1.55): rect(s,.55,y,12.25,.45,NAVY,NAVY,True) for x,w,st in cols: text(s,x,y+.12,w,.15,st,11,WHITE,True) def row(s,y,vals,widths,fill=WHITE,fs=12): rect(s,.55,y,12.25,.68,fill,LINE,False); x=.75 for val,w in zip(vals,widths): text(s,x,y+.1,w,.46,val,fs,INK); x+=w # 1 s=prs.slides.add_slide(blank); rect(s,0,0,13.333,7.5,NAVY); rect(s,0,0,13.333,.18,TEAL); rect(s,.72,1.04,.12,5.15,TEAL) text(s,1.1,.96,11,.55,'ANTITUBERCULAR GUIDELINES',34,WHITE,True); text(s,1.12,1.73,10,.45,'Exam revision PPT: prepare a structured long answer',24,RGBColor(180,226,226)); text(s,1.13,2.55,10.4,1.4,'Drug-resistant TB\nLegacy Categories A, B, C | WHO 2025 regimens | Special populations | ADRs',21,WHITE) label(s,1.13,4.43,2.75,'WHO 2025 + 2026 revision',TEAL); text(s,1.15,5.08,10,.5,'Use slides 16-18 as an answer-writing template and viva checklist.',14,RGBColor(205,220,232)); text(s,1.15,6.52,5,.18,'Academic revision edition | September 2026',9,RGBColor(184,205,220)) # 2 objectives s=prs.slides.add_slide(blank); top(s,'Learning objectives','By the end, you should be able to write a complete, well-organized exam answer.') for x,head,num,body,c in [(.7,'Define',1,'Define RR-TB, MDR-TB, pre-XDR-TB and XDR-TB.',TEAL),(3.8,'Classify',2,'List legacy Groups A, B and C with their role in a longer regimen.',BLUE),(6.9,'Select',3,'State the WHO 2025 6-month, 9-month and longer regimens.',AMBER),(10.0,'Monitor',4,'Describe special-population choices and adverse-drug-reaction monitoring.',RED)]: rect(s,x,1.75,2.62,3.5,WHITE,LINE,True); rect(s,x,1.75,2.62,.52,c,c,True); text(s,x+.16,1.9,2.3,.18,head,15,WHITE,True,PP_ALIGN.CENTER); rect(s,x+.83,2.55,.94,.94,c,c,True); text(s,x+.95,2.73,.7,.25,str(num),26,WHITE,True,PP_ALIGN.CENTER); text(s,x+.25,3.86,2.1,.78,body,14,INK,False,PP_ALIGN.CENTER) rect(s,.85,5.83,11.6,.58,MINT,MINT,True); text(s,1.02,6.00,11.2,.18,'Exam rule: start with definitions and DST, then use headings: regimen, special populations, ADRs and monitoring.',14,NAVY,True,PP_ALIGN.CENTER); footer(s,2) #3 definitions s=prs.slides.add_slide(blank); top(s,'Definitions: write these first in an exam answer','Use current WHO resistance terminology, then state that regimen choice depends on FQ DST.') for y,term,defn,c in [(1.55,'RR-TB','Rifampicin-resistant TB: resistance to rifampicin, with or without resistance to other first-line medicines.',BLUE),(2.56,'MDR-TB','Multidrug-resistant TB: resistance to at least rifampicin AND isoniazid.',TEAL),(3.57,'pre-XDR-TB','MDR/RR-TB with additional resistance to any fluoroquinolone (levofloxacin or moxifloxacin).',AMBER),(4.58,'XDR-TB','MDR/RR-TB with resistance to a fluoroquinolone AND at least one of bedaquiline or linezolid.',RED)]: rect(s,.82,y,11.75,.76,WHITE,LINE,True); rect(s,.82,y,2.38,.76,c,c,True); text(s,1.02,y+.24,1.98,.2,term,15,WHITE,True,PP_ALIGN.CENTER); text(s,3.48,y+.18,8.72,.35,defn,14,INK) rect(s,.82,5.76,11.75,.45,PALE,PALE,True); text(s,1.0,5.88,11.3,.16,'Key point: FQ resistance separates pre-XDR-TB and determines whether moxifloxacin/levofloxacin should be retained.',13,NAVY,True,PP_ALIGN.CENTER); footer(s,3) #4 answer outline s=prs.slides.add_slide(blank); top(s,'Suggested 10-mark answer structure','Memorize this sequence. It prevents missing marks.') steps=[('1','Definition + importance','Define MDR/RR-TB and state the need for DST.'),('2','Classify medicines','Write Groups A, B and C in a table.'),('3','Current WHO regimens','Describe 6-month, 9-month and longer options.'),('4','Special populations','Children, pregnancy/lactation, HIV, renal/hepatic disease.'),('5','ADRs + monitoring','Drug-wise ADRs, baseline tests, follow-up and management.')] for i,(n,h,b) in enumerate(steps): y=1.45+i*.95; c=[NAVY,BLUE,TEAL,AMBER,RED][i]; rect(s,.9,y,.68,.68,c,c,True); text(s,1.08,y+.18,.3,.2,n,18,WHITE,True,PP_ALIGN.CENTER); text(s,1.84,y+.08,3.25,.2,h,15,NAVY,True); text(s,5.1,y+.09,6.8,.34,b,13,INK); footer(s,4) #5 groups s=prs.slides.add_slide(blank); top(s,'Legacy grouping of medicines: Groups A, B and C','Academic note: these groups remain useful when constructing longer individualized regimens; 2025 WHO also uses standardized short regimens.') for x,head,c,drugs,role in [(.6,'GROUP A',RED,'Levofloxacin OR moxifloxacin\nBedaquiline\nLinezolid','Include all 3 whenever possible.'),(4.53,'GROUP B',AMBER,'Clofazimine\nCycloserine OR terizidone','Add both whenever possible.'),(8.46,'GROUP C',BLUE,'Ethambutol | Delamanid | Pyrazinamide\nImipenem-cilastatin OR meropenem + amox-clav\nAmikacin | Ethionamide/prothionamide | PAS','Use to complete a regimen or replace unavailable/intolerant A/B drugs.')]: rect(s,x,1.63,3.62,4.65,WHITE,LINE,True); rect(s,x,1.63,3.62,.53,c,c,True); text(s,x+.12,1.78,3.38,.18,head,17,WHITE,True,PP_ALIGN.CENTER); text(s,x+.24,2.6,3.12,1.58,drugs,15,INK,True,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE); rect(s,x+.18,4.72,3.24,.86,PALE,PALE,True); text(s,x+.3,4.9,3.0,.46,role,12,INK,False,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) text(s,.78,6.45,11.7,.22,'Longer regimen principle: use at least 4 likely effective medicines, guided by DST, previous exposure, tolerability and disease site.',14,NAVY,True,PP_ALIGN.CENTER); footer(s,5,'Goodman & Gilman’s Pharmacological Basis of Therapeutics, Table 65-6; WHO 2025') #6 group mnemonic s=prs.slides.add_slide(blank); top(s,'How to remember Categories A, B and C','A = Always core drugs; B = Back-up companion drugs; C = Complete the regimen.') for x,letter,c,mnem,drugs in [(.75,'A',RED,'A = Always use all 3','FQ + Bedaquiline + Linezolid'),(4.58,'B',AMBER,'B = Both if possible','Clofazimine + Cycloserine/terizidone'),(8.41,'C',BLUE,'C = Complete / substitute','E, Dlm, Z, carbapenem + amox-clav, Amk, Eto/Pto, PAS')]: rect(s,x,1.7,3.43,3.85,WHITE,LINE,True); rect(s,x+.88,2.12,1.65,1.65,c,c,True); text(s,x+1.28,2.43,.85,.5,letter,38,WHITE,True,PP_ALIGN.CENTER); text(s,x+.22,4.22,3.0,.24,mnem,16,NAVY,True,PP_ALIGN.CENTER); text(s,x+.3,4.7,2.85,.58,drugs,13,INK,False,PP_ALIGN.CENTER) rect(s,.75,6.1,11.1,.43,MINT,MINT,True); text(s,.95,6.22,10.7,.15,'Write full generic names in the answer. A mnemonic is only a recall aid, not a substitute for the list.',12,NAVY,True,PP_ALIGN.CENTER); footer(s,6) #7 regimens comparison s=prs.slides.add_slide(blank); top(s,'WHO 2025 regimen comparison: core exam table','Expand abbreviations once, then use abbreviations consistently.') table_header(s,[(.75,2.0,'REGIMEN'),(2.85,3.3,'COMPOSITION'),(6.3,1.15,'DURATION'),(7.55,4.75,'MAIN PLACE')]) rows=[('BPaLM','Bedaquiline + pretomanid + linezolid + moxifloxacin','6 mo / 26 wk','Preferred initial choice for eligible MDR/RR-TB or pre-XDR-TB, age ≥14 years.'),('BPaL','Bedaquiline + pretomanid + linezolid','6 mo; may extend to 9 mo','Use when FQ resistance is confirmed or moxifloxacin is dropped.'),('BDLLfxC','Bedaquiline + delamanid + linezolid + levofloxacin + clofazimine','6 mo; may extend to 9 mo','Alternative when pretomanid cannot be used; includes children and pregnancy/lactation.'),('Modified 9-mo','BLMZ / BLLfxCZ / BDLLfxZ','9 mo','MDR/RR-TB with FQ resistance excluded when 6-month regimen unsuitable.'),('Longer individualized','Use effective A/B/C medicines','Usually longer','Complex resistance, unsuitable site, intolerance or ineligibility for standardized regimen.')] for i,r in enumerate(rows): row(s,2.08+i*.78,r,[2.1,3.45,1.25,4.7],PALE if i%2 else WHITE,11) footer(s,7) #8 BPaL s=prs.slides.add_slide(blank); top(s,'Six-month BPaLM/BPaL regimen: what to write','State eligibility, FQ DST rule, and important exclusions.') card(s,.72,1.58,3.74,4.65,'Composition', 'BPaLM = bedaquiline + pretomanid + linezolid + moxifloxacin.\n\nBPaL = bedaquiline + pretomanid + linezolid.',TEAL,15) card(s,4.78,1.58,3.74,4.65,'Eligibility / DST', 'Preferred in eligible people aged ≥14 years with MDR/RR-TB or pre-XDR-TB.\n\nStart BPaLM while awaiting FQ DST. If FQ resistance is confirmed, stop moxifloxacin and continue/initiate BPaL.',BLUE,14) card(s,8.84,1.58,3.74,4.65,'Do not extrapolate', 'Not recommended in pregnancy or breastfeeding because pretomanid safety is not established.\n\nUse caution in CNS, osteoarticular and disseminated TB. BPaL can be extended to 9 months only if inadequate response by month 4.',RED,14) footer(s,8) #9 BDLLfxC s=prs.slides.add_slide(blank); top(s,'Six-month BDLLfxC regimen: 2025 update','A high-yield new regimen for an answer on recent WHO guidelines.') rect(s,.8,1.52,11.75,.78,TEAL,TEAL,True); text(s,1.0,1.75,11.35,.25,'BDLLfxC = bedaquiline + delamanid + linezolid + levofloxacin + clofazimine',20,WHITE,True,PP_ALIGN.CENTER) for x,h,b,c in [(.8,'When to consider it','Alternative for MDR/RR-TB or pre-XDR-TB when pretomanid is restricted, unavailable, contraindicated or not tolerated.',BLUE),(4.75,'Special-population advantage','May be used in children including <14 years, pregnant/breastfeeding persons and PLHIV. This is a major exam point.',AMBER),(8.7,'FQ rule + duration','BDLLfx for FQ-susceptible disease; BDLC may be used in FQ-resistant disease. Typically 6 months, may extend to 9 months.',RED)]: card(s,x,2.72,3.55,2.85,h,b,c,14) rect(s,.8,5.95,11.75,.4,MINT,MINT,True); text(s,.98,6.07,11.35,.14,'Note: no direct trial comparison proves one 6-month regimen superior to the other. Choose on eligibility, availability, cost and safety.',11,NAVY,True,PP_ALIGN.CENTER); footer(s,9) #10 9 and long s=prs.slides.add_slide(blank); top(s,'Modified 9-month and longer individualized regimens','Use this slide when asked: “What if the patient is not eligible for a 6-month regimen?”') card(s,.8,1.58,5.55,4.65,'Modified 9-month regimens','Use when MDR/RR-TB has NO FQ resistance and 6-month regimen is not suitable.\n\nBLMZ = bedaquiline + linezolid + moxifloxacin + pyrazinamide.\n\nOther options: BLLfxCZ and BDLLfxZ.\n\nBLMZ is the preferred modified 9-month option.',BLUE,14) card(s,6.75,1.58,5.55,4.65,'Longer individualized regimen','Consider for complex resistance, treatment intolerance, major prior exposure, or disease not suited to short regimens (especially CNS, osteoarticular or disseminated TB).\n\nConstruct from susceptibility-confirmed medicines, using the A-B-C framework. Aim for at least 4 likely effective drugs.',NAVY,14) footer(s,10) #11 special population table s=prs.slides.add_slide(blank); top(s,'Special populations: ready-to-write table','Mention the reason for modification and not merely the regimen name.') table_header(s,[(.75,2.25,'POPULATION'),(3.1,4.9,'KEY POINT'),(8.15,4.05,'PREFERRED PRACTICAL DIRECTION')]) rows=[('Children / adolescents <14 y','Limited BPaLM/BPaL safety data due to pretomanid; dosing and toxicity assessment require age-specific care.','BDLLfxC or modified 9-month regimen, according to DST and programme guidance.'),('Pregnancy / breastfeeding','Pretomanid safety is unestablished; breastfeeding is not recommended with pretomanid.','Avoid BPaLM/BPaL. Consider BDLLfxC or 9-month regimen.'),('HIV coinfection','Review ART interactions and overlapping toxicity. BPaLM/BPaL applies regardless of HIV status, with caution when CD4 <100 cells/mm³.','Use compatible ART and regimen; monitor interactions, ECG and toxicity.'),('Renal / hepatic impairment','Renal clearance, electrolyte disturbances and pre-existing liver disease increase toxicity risk.','Individualize; obtain baseline/serial renal, electrolyte and liver monitoring.'),('CNS / bone / disseminated TB','Short regimen evidence is limited for these forms.','Use specialist-guided longer individualized regimen.')] for i,r in enumerate(rows): row(s,2.08+i*.79,r,[2.35,5.05,4.15],PALE if i%2 else WHITE,10.5) footer(s,11) #12 baseline monitoring s=prs.slides.add_slide(blank); top(s,'Baseline assessment before starting DR-TB treatment','This is frequently asked as “monitoring during second-line anti-TB treatment”.') for x,y,h,b,c in [(.75,1.55,'Microbiology','Rapid molecular diagnosis, FQ DST, other DST as available, prior treatment/exposure history.',TEAL),(4.55,1.55,'Clinical assessment','Weight, TB site/severity, pregnancy status, comorbidities, complete medication review.',BLUE),(8.35,1.55,'Baseline laboratory','CBC, ALT/AST/bilirubin, creatinine, electrolytes. Screen HBV/HCV when hepatotoxic regimen expected.',AMBER),(.75,4.08,'Cardiac / neurologic','ECG QTcF; assess QT-risk drugs, syncope history; baseline neuropathy and visual symptom assessment.',RED),(4.55,4.08,'HIV / ART','HIV status, CD4 count, ART regimen and potential CYP/QT interactions.',PURPLE),(8.35,4.08,'Counselling','Explain adherence, common ADRs, red flags and how/when to seek care. Document all adverse events.',GREEN)]: card(s,x,y,3.42,2.02,h,b,c,12.5) footer(s,12) #13 ADR drugs s=prs.slides.add_slide(blank); top(s,'Drug-wise adverse drug reactions: Group A and newer drugs','Write the drug, major ADRs and monitoring in three columns.') table_header(s,[(.75,2.0,'DRUG'),(2.85,5.15,'HIGH-YIELD ADRs'),(8.1,4.15,'MONITOR / ACTION')]) rows=[('Linezolid','Anaemia/cytopenias; peripheral neuropathy; optic neuritis; lactic acidosis; GI effects.','CBC; neuropathy screen; visual symptoms. Interrupt/adjust linezolid for significant toxicity.'),('Bedaquiline','QT prolongation; hepatotoxicity.','ECG QTcF; electrolytes; LFTs. Avoid additive QT-risk drugs when possible.'),('Pretomanid','Hepatotoxicity; GI effects; neuropathy in combination regimens.','LFTs and symptom review. Avoid in pregnancy/breastfeeding.'),('Moxifloxacin / levofloxacin','QT prolongation; tendinopathy; CNS/GI effects.','ECG if QT risk; symptom review. Drop moxifloxacin when FQ resistance is documented.'),('Delamanid / clofazimine','QT prolongation; clofazimine causes pigmentation and GI effects.','ECG QTcF; check additive QT burden with bedaquiline/FQ.')] for i,r in enumerate(rows): row(s,2.08+i*.78,r,[2.1,5.25,4.15],PALE if i%2 else WHITE,11) footer(s,13) #14 ADR legacy s=prs.slides.add_slide(blank); top(s,'Other important ADRs: first-line and companion drugs','Use in a broad question on adverse effects of antitubercular drugs.') table_header(s,[(.75,2.0,'DRUG'),(2.85,5.15,'MAJOR ADRs'),(8.1,4.15,'PREVENTION / MONITORING')]) rows=[('Isoniazid','Hepatitis; peripheral neuropathy; CNS toxicity; rash.','Pyridoxine for people at neuropathy risk. Assess LFTs and hepatitis symptoms.'),('Rifampicin','Hepatitis, GI upset, rash/flu-like syndrome; orange discoloration; potent enzyme induction.','Medication review, especially ART, anticoagulants and hormonal contraception.'),('Pyrazinamide','Hepatotoxicity; hyperuricaemia/arthralgia; GI upset.','LFTs; assess joint symptoms; urate only when clinically indicated.'),('Ethambutol','Optic neuritis; decreased visual acuity; red-green colour impairment.','Baseline and symptom-triggered visual assessment; stop and urgently assess visual change.'),('Cycloserine / terizidone','Depression, psychosis, seizures, neuropathy.','Baseline psychiatric history; monitor mood and neurologic symptoms; pyridoxine.'),('Amikacin','Ototoxicity, vestibular toxicity, nephrotoxicity, electrolyte wasting.','Audiometry and renal/electrolyte monitoring if used; oral regimens are preferred when possible.')] for i,r in enumerate(rows): row(s,2.08+i*.68,r,[2.1,5.25,4.15],PALE if i%2 else WHITE,10.5) footer(s,14,'Harrison’s Principles of Internal Medicine, 22e (2025); WHO Module 4 (2025)') #15 ADR management s=prs.slides.add_slide(blank); top(s,'Approach to an adverse drug reaction','This algorithm adds marks because it shows patient-safety thinking.') for i,(h,b,c) in enumerate([('1. Recognize and grade','Ask about symptoms at every visit; perform focused examination; identify red flags.',NAVY),('2. Investigate','CBC, LFTs, creatinine/electrolytes, ECG, visual/neurologic assessment as indicated.',BLUE),('3. Identify cause','Review timing, all anti-TB drugs, ART and other co-medications. Exclude disease-related causes.',TEAL),('4. Manage','Supportive care; correct electrolyte imbalance; hold/adjust suspected medicine for clinically important toxicity.',AMBER),('5. Rebuild regimen','Avoid functional monotherapy. Substitute with another likely effective medicine and document/report AE.',RED)]): x=.55+i*2.53; rect(s,x,1.95,2.2,3.47,WHITE,LINE,True); rect(s,x,1.95,2.2,.53,c,c,True); text(s,x+.12,2.1,1.95,.19,h,14,WHITE,True,PP_ALIGN.CENTER); text(s,x+.15,2.88,1.9,1.86,b,13,INK,False,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) text(s,.8,6.16,11.7,.2,'Red flags: syncope/palpitations, jaundice, severe rash or mucosal lesions, visual change, progressive neuropathy/weakness, confusion or severe vomiting.',13,RED,True,PP_ALIGN.CENTER); footer(s,15) #16 long answer model s=prs.slides.add_slide(blank); top(s,'Model long-answer skeleton','Question: “Describe recent antitubercular guidelines for MDR/RR-TB, including Groups A, B, C, special populations and ADRs.”') ans=[('Introduction (1-2 lines)','MDR/RR-TB requires rapid diagnosis, DST-based all-oral treatment, adherence support and active drug-safety monitoring.'),('Classification (table)','List Groups A, B and C. Mention that A/B/C guides longer individualized regimens.'),('Current regimens (main body)','BPaLM for eligible age ≥14; BPaL when FQ resistance. BDLLfxC is new 6-month alternative. Modified 9-month regimens when FQ resistance excluded; longer individualized regimen when needed.'),('Special populations','Children <14 and pregnancy/breastfeeding: prefer BDLLfxC/9-month pathway; HIV: review ART interactions; renal/hepatic disease: individualize and monitor.'),('ADRs and conclusion','Linezolid: anaemia/neuropathy/optic toxicity; bedaquiline/FQ/delamanid/clofazimine: QT; hepatotoxicity. Conclude: use DST-guided, patient-centred monitoring.')] for i,(h,b) in enumerate(ans): y=1.48+i*.95; rect(s,.75,y,11.85,.75,WHITE,LINE,True); label(s,.95,y+.18,2.55,h,[NAVY,BLUE,TEAL,AMBER,RED][i]); text(s,3.8,y+.13,8.35,.42,b,12.5,INK) footer(s,16) #17 five-marker s=prs.slides.add_slide(blank); top(s,'Model 5-mark short note: Categories A, B and C','A compact answer you can reproduce in 4-5 minutes.') rect(s,.82,1.45,11.7,4.95,WHITE,LINE,True) text(s,1.12,1.76,10.9,.25,'WHO medicine grouping for longer MDR/RR-TB regimens',18,NAVY,True) text(s,1.15,2.35,10.95,2.95,'1. Group A (highest priority): levofloxacin or moxifloxacin, bedaquiline and linezolid. Use all three whenever possible.\n\n2. Group B: clofazimine and cycloserine or terizidone. Add both whenever possible.\n\n3. Group C: ethambutol, delamanid, pyrazinamide, imipenem-cilastatin or meropenem with amoxicillin-clavulanate, amikacin, ethionamide/prothionamide and PAS. Use these to complete the regimen or replace medicines from A/B.\n\n4. Construct a longer individualized regimen with at least 4 likely effective medicines, guided by DST and prior exposure.',15,INK) label(s,1.15,5.86,3.05,'One-line conclusion',TEAL); text(s,4.42,5.91,7.1,.18,'These legacy groups complement, but do not replace, current standardized short regimens.',12,NAVY,True); footer(s,17,'Goodman & Gilman’s Pharmacological Basis of Therapeutics, Table 65-6; WHO 2025') #18 viva s=prs.slides.add_slide(blank); top(s,'Last-minute viva / exam questions','Test yourself aloud. Answers are embedded in the preceding slides.') qs=['Define pre-XDR-TB and XDR-TB.','Name the three Group A medicines.','When do you change BPaLM to BPaL?','Name the components of BDLLfxC.','Which 6-month option is important in pregnancy/breastfeeding?','List three linezolid adverse effects.','Which drugs in DR-TB regimens commonly prolong QT?','What baseline investigations are required before DR-TB treatment?','When is a longer individualized regimen preferred?'] for i,q in enumerate(qs): col=i//5; rowi=i%5; x=.7+col*6.1; y=1.42+rowi*.96; rect(s,x,y,5.7,.68,WHITE,LINE,True); rect(s,x,y,.53,.68,[TEAL,BLUE,AMBER,RED,PURPLE][rowi],[TEAL,BLUE,AMBER,RED,PURPLE][rowi],True); text(s,x+.14,y+.19,.24,.18,str(i+1),15,WHITE,True,PP_ALIGN.CENTER); text(s,x+.72,y+.15,4.72,.32,q,13,INK) footer(s,18) #19 references s=prs.slides.add_slide(blank); top(s,'References and scope','Use your national TB programme manual for country-specific doses, exact monitoring thresholds and availability.') refs=['WHO. Consolidated guidelines on tuberculosis: Module 4 - treatment and care. 2025 update and operational handbook. WHO TB Knowledge Sharing Platform.','WHO TB Knowledge Sharing. Treatment of DR-TB using 6-month regimens (BPaLM/BPaL and BDLLfxC). 2025.','WHO TB Knowledge Sharing. Monitoring and management of adverse events in treatment of drug-resistant tuberculosis. Annex 2, 2025.','Goodman & Gilman’s The Pharmacological Basis of Therapeutics. Definitive therapy of drug-resistant TB, Table 65-6.','Harrison’s Principles of Internal Medicine. 22nd edition. Antituberculosis drug pharmacology and adverse effects. 2025.','Fekadu G, et al. All-oral bedaquiline-based shorter regimens in DR-TB: systematic review and meta-analysis. BMJ Global Health. 2025. PMID: 40194835.'] bullets(s,.8,1.45,11.75,4.82,refs,NAVY,13) rect(s,.8,6.43,11.75,.38,MINT,MINT,True); text(s,.96,6.54,11.4,.14,'Evidence update note: Recent systematic reviews are available, but no change supersedes the WHO 2025 regimen recommendations in this deck.',10,NAVY,True,PP_ALIGN.CENTER); footer(s,19,'Reference list | Academic revision edition') prs.core_properties.title='Antitubercular Guidelines Exam Revision - WHO 2025-2026'; prs.core_properties.subject='Exam preparation: MDR/RR-TB categories, special populations and ADRs'; prs.core_properties.author='Orris' prs.save(str(OUT)); print(OUT) PY python "/tmp/workspace/antitubercular-guidelines-ppt/src/create_exam_deck.py" python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/antitubercular-guidelines-ppt/output/Antitubercular_Guidelines_Exam_Revision_WHO_2025_2026.pptx'); prs=Presentation(str(p)); print('Slides:',len(prs.slides),'bytes:',p.stat().st_size) assert len(prs.slides)==19 and p.stat().st_size>60000 for i,s in enumerate(prs.slides,1): assert any(getattr(sh,'has_text_frame',False) and sh.text.strip() for sh in s.shapes), i PY unzip -t "/tmp/workspace/antitubercular-guidelines-ppt/output/Antitubercular_Guidelines_Exam_Revision_WHO_2025_2026.pptx" | tail -1
Antitubercular Guidelines Exam Revision WHO 2025 2026
Presentation · PPTX
More detailed and structured
WHO consolidated guidelines tuberculosis Module 4 treatment care 2025 BPaLM BDLLfxC 9 month regimen special populations adverse event monitoring
drug resistant tuberculosis treatment
~/antitubercular-guidelines-ppt/output
https://tbksp.who.int/en/node/3033
cat > "/tmp/workspace/antitubercular-guidelines-ppt/src/create_detailed_exam_deck.py" <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.shapes import MSO_SHAPE from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.dml.color import RGBColor from pptx.oxml import parse_xml from pathlib import Path out=Path('/tmp/workspace/antitubercular-guidelines-ppt/output/Detailed_Antitubercular_Guidelines_Exam_Revision_WHO_2025_2026.pptx') prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5); blank=prs.slide_layouts[6] N=RGBColor(11,41,68); B=RGBColor(29,105,159); T=RGBColor(0,138,132); G=RGBColor(17,132,86); R=RGBColor(181,55,51); A=RGBColor(197,121,8); P=RGBColor(112,78,159); W=RGBColor(255,255,255); I=RGBColor(27,42,55); GR=RGBColor(93,108,122); L=RGBColor(214,226,234); PA=RGBColor(246,249,251); MI=RGBColor(226,245,240) def rect(s,x,y,w,h,c,line=None,rd=False): q=s.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if rd else MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h));q.fill.solid();q.fill.fore_color.rgb=c;q.line.color.rgb=line or c;return q def tx(s,x,y,w,h,z,fs=15,c=I,bo=False,al=PP_ALIGN.LEFT,va=MSO_ANCHOR.TOP): q=s.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h));f=q.text_frame;f.clear();f.word_wrap=True;f.margin_left=f.margin_right=Inches(.055);f.margin_top=f.margin_bottom=Inches(.03);f.vertical_anchor=va for j,line in enumerate(z.split('\n')): p=f.paragraphs[0] if j==0 else f.add_paragraph();p.text=line;p.alignment=al;p.space_after=Pt(2) for r in p.runs:r.font.name='Aptos';r.font.size=Pt(fs);r.font.color.rgb=c;r.font.bold=bo return q def top(s,h,sub=''): rect(s,0,0,13.333,.5,N);rect(s,.45,.8,.11,.55,T);tx(s,.68,.72,12,.38,h,27,N,True) if sub:tx(s,.69,1.14,12,.2,sub,10,GR) def foot(s,n,src='WHO consolidated guidelines on tuberculosis, Module 4: treatment and care (2025)'): rect(s,0,7.13,13.333,.37,N);tx(s,.4,7.2,11.55,.14,src,8,W);tx(s,12.25,7.19,.6,.14,str(n),9,W,True,PP_ALIGN.RIGHT) def pill(s,x,y,w,z,c=T):rect(s,x,y,w,.3,c,c,True);tx(s,x+.03,y+.06,w-.06,.13,z,9,W,True,PP_ALIGN.CENTER) def bullets(s,x,y,w,h,items,c=T,fs=13): rect(s,x,y,w,h,W,L,True);rect(s,x,y,.1,h,c) q=s.shapes.add_textbox(Inches(x+.22),Inches(y+.12),Inches(w-.34),Inches(h-.18)); f=q.text_frame;f.clear();f.word_wrap=True;f.margin_left=f.margin_right=f.margin_top=f.margin_bottom=0 for j,z in enumerate(items): p=f.paragraphs[0] if j==0 else f.add_paragraph();p.text=z;p.space_after=Pt(5);p._p.get_or_add_pPr().insert(0,parse_xml('<a:buChar xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" char="•"/>')) for r in p.runs:r.font.name='Aptos';r.font.size=Pt(fs);r.font.color.rgb=I def card(s,x,y,w,h,hdr,body,c=T,fs=13): rect(s,x,y,w,h,W,L,True);rect(s,x,y,w,.46,c,c,True);tx(s,x+.1,y+.1,w-.2,.18,hdr,14,W,True,PP_ALIGN.CENTER);tx(s,x+.18,y+.65,w-.36,h-.8,body,fs,I) def th(s,heads): rect(s,.55,1.5,12.25,.45,N,N,True) for x,w,z in heads: tx(s,x,1.62,w,.14,z,10.5,W,True) def tr(s,y,vals,widths,shade=False,fs=10.5): rect(s,.55,y,12.25,.67,PA if shade else W,L);x=.72 for z,w in zip(vals,widths):tx(s,x,y+.09,w,.48,z,fs,I);x+=w # 1 s=prs.slides.add_slide(blank);rect(s,0,0,13.333,7.5,N);rect(s,0,0,13.333,.18,T);rect(s,.7,1.05,.12,5.1,T);tx(s,1.08,.98,11,.55,'ANTITUBERCULAR GUIDELINES',34,W,True);tx(s,1.1,1.72,10,.4,'Detailed academic revision deck for theory examination',23,RGBColor(185,226,226));tx(s,1.1,2.52,10.3,1.4,'Drug-resistant TB\nWHO 2025 regimens | Groups A, B, C | Special populations | ADRs',21,W);pill(s,1.1,4.45,3,'Answer-ready structure',T);tx(s,1.12,5.05,10,.4,'Designed for 5-mark, 10-mark and long-answer preparation.',14,RGBColor(207,222,233));tx(s,1.12,6.5,5,.18,'September 2026',9,RGBColor(187,205,220)) #2 roadmap s=prs.slides.add_slide(blank);top(s,'How to use this PPT for an exam','Read in order once, then revise the blue “write in answer” boxes.') items=[('I. Foundation','Definitions, classifications and DST'),('II. Medicine framework','Legacy A/B/C grouping and longer-regimen construction'),('III. 2025 WHO regimens','6-month BPaLM/BPaL and BDLLfxC; modified 9-month and longer regimens'),('IV. Patient modification','Children, pregnancy, HIV, organ dysfunction and disease site'),('V. Safety','Drug-wise ADRs, investigations, monitoring and management'),('VI. Answer practice','Model long answer, short notes and viva questions')] for i,(h,b) in enumerate(items): y=1.48+i*.76;c=[N,B,T,A,R,P][i];rect(s,.8,y,.58,.55,c,c,True);tx(s,.98,y+.13,.2,.15,str(i+1),15,W,True,PP_ALIGN.CENTER);tx(s,1.68,y+.05,3.45,.17,h,14,N,True);tx(s,5.15,y+.05,6.7,.28,b,13,I) foot(s,2) #3 aims s=prs.slides.add_slide(blank);top(s,'Learning objectives','At the end, you should be able to reproduce a structured answer without missing key headings.') for x,h,b,c in [(.75,'Define DR-TB','State RR-TB, MDR-TB, pre-XDR-TB and XDR-TB correctly.',T),(3.86,'Classify medicines','List Groups A, B and C and construct a longer regimen.',B),(6.97,'Select regimens','Choose a WHO 2025 standardized regimen according to eligibility.',A),(10.08,'Monitor safety','Describe special populations and ADR prevention/management.',R)]:card(s,x,1.7,2.55,3.42,h,b,c,14) rect(s,.83,5.68,11.55,.6,MI,MI,True);tx(s,1,5.86,11.2,.16,'High-scoring answer order: definition → DST → regimen → special population → ADRs + monitoring → conclusion.',14,N,True,PP_ALIGN.CENTER);foot(s,3) #4 definitions s=prs.slides.add_slide(blank);top(s,'1. Definitions and resistance classification','Start your answer with definitions. These earn easy marks.') for i,(h,b,c) in enumerate([('RR-TB','Resistance to rifampicin, with or without resistance to other anti-TB drugs.',B),('MDR-TB','Resistance to at least rifampicin AND isoniazid.',T),('pre-XDR-TB','MDR/RR-TB plus resistance to any fluoroquinolone: levofloxacin or moxifloxacin.',A),('XDR-TB','MDR/RR-TB plus resistance to a fluoroquinolone AND at least one of bedaquiline or linezolid.',R)]): y=1.5+i*1.02;rect(s,.8,y,11.8,.78,W,L,True);rect(s,.8,y,2.45,.78,c,c,True);tx(s,1.0,y+.24,2.05,.18,h,15,W,True,PP_ALIGN.CENTER);tx(s,3.55,y+.17,8.6,.34,b,14,I) rect(s,.8,5.86,11.8,.43,PA,PA,True);tx(s,1,5.98,11.35,.15,'Exam pearl: Fluoroquinolone DST is central because it changes the regimen and determines pre-XDR-TB.',12,N,True,PP_ALIGN.CENTER);foot(s,4) #5 diagnostic/DST s=prs.slides.add_slide(blank);top(s,'2. Diagnostic and pretreatment assessment','A regimen is never selected from resistance labels alone.') for x,h,b,c in [(.75,'Confirm TB and rifampicin resistance','Use rapid molecular testing. Obtain culture and DST where possible.',T),(3.85,'Establish FQ status','Perform FQ DST urgently. Do not delay appropriate initiation while awaiting result.',B),(6.95,'Map resistance / exposure','Review exposure to BDQ, LZD, DLM, Pa and FQs for ≥4 weeks; obtain further DST as available.',A),(10.05,'Assess host and site','Age, pregnancy, HIV/ART, liver/renal disease, QT risk, psychiatric/neurologic disease, pulmonary vs EPTB.',R)]:card(s,x,1.65,2.55,3.2,h,b,c,12.5) rect(s,.86,5.35,11.55,.74,MI,MI,True);tx(s,1.08,5.53,11.1,.28,'Baseline tests: weight; CBC; ALT/AST/bilirubin; creatinine and electrolytes; ECG QTcF; neuropathy and visual assessment; pregnancy test when relevant; HIV/ART review.',13,N,True,PP_ALIGN.CENTER);foot(s,5) #6 groups s=prs.slides.add_slide(blank);top(s,'3. Legacy Groups A, B and C','These are used mainly to construct a longer individualized MDR/RR-TB regimen.') for x,h,c,dr,role in [(.6,'GROUP A',R,'Levofloxacin OR moxifloxacin\nBedaquiline\nLinezolid','Use all three whenever possible.'),(4.53,'GROUP B',A,'Clofazimine\nCycloserine OR terizidone','Add both whenever possible.'),(8.46,'GROUP C',B,'Ethambutol | Delamanid | Pyrazinamide\nImipenem-cilastatin OR meropenem + amox-clav\nAmikacin | Ethionamide/prothionamide | PAS','Use to complete regimen or replace A/B drug.')]: card(s,x,1.55,3.62,4.65,h,dr,c,15);rect(s,x+.2,5.32,3.2,.55,PA,PA,True);tx(s,x+.32,5.45,2.96,.23,role,12,I,False,PP_ALIGN.CENTER) tx(s,.7,6.35,12,.2,'Longer-regimen principle: use ≥4 likely effective medicines based on DST, prior exposure, tolerability and availability.',14,N,True,PP_ALIGN.CENTER);foot(s,6,'Goodman & Gilman’s Pharmacological Basis of Therapeutics, Table 65-6; WHO 2025') #7 construct longer s=prs.slides.add_slide(blank);top(s,'4. How to construct a longer individualized regimen','Use this if short standardized regimens are unsuitable.') for i,(h,b,c) in enumerate([('Step 1: Select Group A','Include FQ if susceptible + bedaquiline + linezolid whenever possible.',R),('Step 2: Add Group B','Add clofazimine and cycloserine/terizidone if tolerated.',A),('Step 3: Complete with Group C','Choose enough medicines to give ≥4 likely effective agents.',B),('Step 4: Individualize','Consider resistance, prior use, disease site, drug interactions, comorbidities and ADRs.',T),('Step 5: Monitor and adapt','Avoid functional monotherapy. Replace a stopped drug with a likely effective alternative.',P)]): x=.5+i*2.55;card(s,x,1.8,2.22,3.8,h,b,c,12.5) rect(s,.85,6.1,11.55,.42,MI,MI,True);tx(s,1.05,6.22,11.1,.14,'Avoid adding a single medicine to a failing regimen. Always rebuild a regimen with multiple active drugs.',12,N,True,PP_ALIGN.CENTER);foot(s,7) #8 2025 overview s=prs.slides.add_slide(blank);top(s,'5. Current WHO 2025 DR-TB treatment overview','First select a standardized short regimen when eligible. Otherwise use a modified 9-month or longer individualized regimen.') for x,h,b,c in [(.7,'6-month BPaLM / BPaL','Preferred initial short option for eligible patients ≥14 years. BPaL if FQ resistance.',T),(3.8,'6-month BDLLfxC','Alternative short option. Important for <14 years and pregnancy/breastfeeding.',B),(6.9,'Modified 9-month','For MDR/RR-TB with FQ resistance excluded when 6-month regimen unsuitable.',A),(10,'Longer individualized','Complex resistance, ineligible site or population, intolerance or prior exposure.',R)]:card(s,x,1.65,2.55,3.25,h,b,c,12.5) rect(s,.76,5.5,11.85,.64,PA,PA,True);tx(s,.98,5.7,11.4,.2,'The old A/B/C grouping and newer standardized regimens are complementary, not contradictory.',14,N,True,PP_ALIGN.CENTER);foot(s,8) #9 comparison s=prs.slides.add_slide(blank);top(s,'6. Regimen comparison table','Learn this table for a long-answer question.') th(s,[(.7,1.8,'REGIMEN'),(2.55,3.55,'COMPOSITION'),(6.15,1.25,'DURATION'),(7.45,4.95,'CORE INDICATION')]) D=[('BPaLM','BDQ + Pa + LZD + MFX','6 mo','Eligible MDR/RR-TB or pre-XDR-TB; age ≥14; FQ result pending/susceptible.'),('BPaL','BDQ + Pa + LZD','6-9 mo','FQ resistance confirmed or moxifloxacin removed.'),('BDLLfxC','BDQ + DLM + LZD + LFX + CFZ','6-9 mo','Alternative to Pa-containing regimen; children and pregnancy/lactation.'),('Modified 9 mo','BLMZ, BLLfxCZ, BDLLfxZ','9 mo','MDR/RR-TB with FQ resistance excluded; not eligible for 6-month regimen.'),('Longer individualized','A/B/C based, DST-directed','Longer','Complex resistance, special disease sites, intolerance or regimen ineligibility.')] for i,a in enumerate(D):tr(s,2.06+i*.78,a,[1.85,3.6,1.3,4.9],i%2==1,10.4) foot(s,9) #10 BPaLM details s=prs.slides.add_slide(blank);top(s,'7. BPaLM and BPaL: detailed answer points','BPaLM is bedaquiline + pretomanid + linezolid + moxifloxacin.') card(s,.72,1.5,3.75,4.9,'Eligibility','Age ≥14 years. MDR/RR-TB or pre-XDR-TB. Use FQ DST, but treatment need not wait for result. Applies irrespective of HIV status.',T,14) card(s,4.79,1.5,3.75,4.9,'FQ DST rule','Start BPaLM if FQ result is pending. If FQ resistance is confirmed, omit moxifloxacin and use/continue BPaL. BPaL may be extended up to 9 months if response is inadequate by month 4.',B,13) card(s,8.86,1.5,3.75,4.9,'When not to use / caution','Do not use in pregnancy or breastfeeding due to pretomanid. Not appropriate for CNS, osteoarticular or disseminated TB. Do not use if resistance to BDQ, Pa or LZD is detected.',R,13) foot(s,10) #11 BDLL s=prs.slides.add_slide(blank);top(s,'8. BDLLfxC: detailed answer points','New WHO 2025 all-oral 6-month regimen.') rect(s,.75,1.46,11.85,.75,T,T,True);tx(s,.95,1.68,11.45,.2,'BDLLfxC = bedaquiline + delamanid + linezolid + levofloxacin + clofazimine',20,W,True,PP_ALIGN.CENTER) for x,h,b,c in [(.76,'Role','Alternative if pretomanid is unavailable, contraindicated or not tolerated.',B),(4.75,'Special population value','Can be used in children including <14 years, pregnancy/breastfeeding and PLHIV.',A),(8.74,'FQ and duration','BDLLfx in FQ-susceptible disease; BDLC if FQ resistance. 6 months, extend to 9 months if needed.',R)]:card(s,x,2.62,3.48,2.82,h,b,c,13.5) rect(s,.78,5.8,11.78,.45,MI,MI,True);tx(s,.96,5.92,11.4,.16,'No direct evidence proves superiority of BPaLM/BPaL versus BDLLfxC. Choose by eligibility, safety, availability and cost.',12,N,True,PP_ALIGN.CENTER);foot(s,11) #12 9 mo s=prs.slides.add_slide(blank);top(s,'9. Modified 9-month regimens','Use for MDR/RR-TB only when FQ resistance has been excluded.') card(s,.75,1.55,3.5,4.65,'Indication','MDR/RR-TB with FQ susceptibility confirmed or FQ resistance excluded, but not eligible for a 6-month regimen. They are generally preferred over longer 18-month regimens in eligible patients.',B,13) card(s,4.9,1.55,3.5,4.65,'Options','BLMZ = bedaquiline + linezolid + moxifloxacin + pyrazinamide.\n\nBLLfxCZ and BDLLfxZ are other modified 9-month options.\n\nBLMZ is the preferred modified 9-month option.',T,13) card(s,9.05,1.55,3.5,4.65,'Limitations','Need rapid DST before use. Not appropriate for extensive TB disease. In pregnancy/breastfeeding, only the linezolid-containing variation may be used. Follow national programme algorithms.',A,13) foot(s,12) #13 disease site s=prs.slides.add_slide(blank);top(s,'10. Disease site and regimen eligibility','Do not use a short regimen simply because the organism is MDR/RR.') for y,h,b,c in [(1.52,'Pulmonary TB','BPaLM/BPaL and BDLLfxC are principally used for eligible pulmonary disease.',T),(2.5,'Non-severe extrapulmonary TB','Some forms such as uncomplicated pleural effusion or peripheral lymph-node TB may be eligible according to WHO criteria.',B),(3.48,'CNS TB, osteoarticular TB, disseminated/miliary TB','BPaLM/BPaL should not be used. Seek specialist input and use a longer individualized approach.',R),(4.46,'Extensive disease / poor response','Do not force a fixed short regimen. Reassess DST, adherence, drug exposure and select a longer or modified regimen.',A)]: rect(s,.82,y,11.7,.72,W,L,True);rect(s,.82,y,3.15,.72,c,c,True);tx(s,1,y+.23,2.8,.16,h,14,W,True,PP_ALIGN.CENTER);tx(s,4.25,y+.14,7.7,.34,b,13,I) foot(s,13) #14 children s=prs.slides.add_slide(blank);top(s,'11. Special population: children and adolescents','Write a separate subheading for paediatric DR-TB.') card(s,.75,1.5,3.55,4.75,'Why modify?','Pretomanid data are limited in younger children. Monitoring anaemia, visual symptoms and neuropathy can also be more difficult.',T,14) card(s,4.9,1.5,3.55,4.75,'Regimen direction','For children <14 years, BDLLfxC is the 6-month option. Modified 9-month regimens are another option if FQ resistance is excluded.',B,14) card(s,9.05,1.5,3.55,4.75,'Practical monitoring','Use weight-band dosing. Check growth/weight, adherence, CBC, neuropathy/visual symptoms and ECG where QT-risk drugs are used.',A,14) foot(s,14) #15 pregnancy s=prs.slides.add_slide(blank);top(s,'12. Special population: pregnancy and breastfeeding','This is a repeatedly tested point.') rect(s,.75,1.5,11.8,.68,R,R,True);tx(s,.95,1.71,11.4,.2,'Avoid BPaLM/BPaL in pregnancy and breastfeeding: pretomanid safety is unestablished; breastfeeding is not recommended with pretomanid.',17,W,True,PP_ALIGN.CENTER) for x,h,b,c in [(.75,'Preferred direction','Consider BDLLfxC or appropriate 9-month regimen, guided by DST and national programme.',T),(4.85,'Why careful selection?','Pregnancy trials excluded BPaLM/BPaL participants; fetal and lactation safety data for pretomanid are insufficient.',A),(8.95,'Monitoring','Maternal clinical response and ADRs; anaemia, liver injury, ECG QTcF, fetal well-being and drug interactions.',B)]:card(s,x,2.65,3.48,2.75,h,b,c,13) foot(s,15) #16 HIV organ s=prs.slides.add_slide(blank);top(s,'13. Special populations: HIV, renal and hepatic disease','Always mention drug interactions and overlapping toxicity.') card(s,.75,1.5,3.55,4.7,'HIV coinfection','BPaLM/BPaL and BDLLfxC apply irrespective of HIV status. Take caution at CD4 <100 cells/mm³. Review ART for CYP interactions, QT burden and marrow toxicity; start ART according to current TB/HIV guidance.',P,13) card(s,4.9,1.5,3.55,4.7,'Renal impairment','Individualize dosing and monitoring. Monitor creatinine and electrolytes, particularly with nephrotoxic medicines or QT-risk regimens. Avoid/minimize injectables where effective oral options are available.',B,13) card(s,9.05,1.5,3.55,4.7,'Hepatic disease','Pre-existing HBV/HCV or alcohol-related liver disease increases DILI risk. Obtain baseline ALT and monitor LFTs monthly with BPaLM/BPaL or when clinically indicated.',A,13) foot(s,16) #17 baseline monit s=prs.slides.add_slide(blank);top(s,'14. Baseline and follow-up monitoring plan','Present this in a table if asked about monitoring.') th(s,[(.7,2.5,'DOMAIN'),(3.25,4.85,'BASELINE'),(8.15,4.05,'FOLLOW-UP')]) D=[('Clinical','Weight, symptoms, TB site/severity, comorbidities, pregnancy, all concomitant drugs.','At every visit: adherence, weight, response, red-flag ADRs.'),('Microbiology','Rapid molecular result, culture where available, FQ DST and other DST.','Bacteriology and clinical/radiological response per programme.'),('Haematology','CBC, especially before linezolid.','CBC regularly; investigate anaemia, neutropenia or thrombocytopenia.'),('Hepatic','ALT/AST/bilirubin; consider HBV/HCV screen for hepatotoxic regimens.','Monthly LFT for BPaLM/BPaL; immediately if symptoms of hepatitis.'),('Cardiac/electrolytes','ECG QTcF, K+, Mg2+, Ca2+ and review QT drugs.','Repeat ECG and electrolytes according to risk/regimen and symptoms.'),('Neuro-ocular','Baseline neuropathy and visual symptom assessment.','Ask about paresthesia/vision at each visit; urgent assessment if visual change.')] for i,a in enumerate(D):tr(s,2.05+i*.66,a,[2.55,4.9,4.0],i%2==1,10.1) foot(s,17) #18 ADR overview s=prs.slides.add_slide(blank);top(s,'15. Adverse drug reactions: exam overview','For every ADR, write: culprit drug → presentation → monitoring → action.') for x,h,b,c in [(.75,'Bone marrow / neurologic','Linezolid: anaemia, neutropenia, thrombocytopenia, peripheral neuropathy, optic neuritis, lactic acidosis.',R),(4.75,'Cardiac','Bedaquiline, moxifloxacin/levofloxacin, delamanid and clofazimine: QT prolongation and arrhythmia risk.',A),(8.75,'Hepatic','Pretomanid, bedaquiline and several other TB drugs: DILI. Risk rises with HBV/HCV and alcohol-related disease.',T)]:card(s,x,1.55,3.45,3.35,h,b,c,13.5) rect(s,.78,5.35,11.75,.58,MI,MI,True);tx(s,.95,5.55,11.4,.16,'Most common AEs with standardized short regimens: anaemia, hepatotoxicity, QT prolongation, nausea/vomiting. Many BPaLM and BDLLfxC AEs are attributable to linezolid.',12,N,True,PP_ALIGN.CENTER);foot(s,18) #19 drug ADR table s=prs.slides.add_slide(blank);top(s,'16. Drug-wise ADR table: Group A and newer medicines','Use this directly in an answer.') th(s,[(.7,1.9,'DRUG'),(2.65,5.35,'MAJOR ADRs'),(8.05,4.2,'MONITOR / ACTION')]) D=[('Linezolid','Anaemia/cytopenias; peripheral neuropathy; optic neuritis; lactic acidosis; GI effects.','CBC, neuropathy screen, vision symptoms. Hold/reduce/stop when clinically important toxicity.'),('Bedaquiline','QT prolongation; hepatotoxicity.','ECG QTcF, electrolytes, LFTs; avoid additive QT drugs if possible.'),('Pretomanid','Hepatotoxicity; GI effects; neuropathy in combination regimen.','LFTs and symptoms; avoid during pregnancy/breastfeeding.'),('Moxifloxacin / levofloxacin','QT prolongation, tendinopathy, CNS/GI effects.','ECG if risk; clinical review. Do not retain MFX with confirmed FQ resistance.'),('Delamanid / clofazimine','QT prolongation; pigmentation and GI effects with clofazimine.','ECG; assess total QT-risk burden with BDQ and FQ.')] for i,a in enumerate(D):tr(s,2.05+i*.78,a,[1.95,5.4,4.2],i%2==1,10.5) foot(s,19) #20 old ADR s=prs.slides.add_slide(blank);top(s,'17. Drug-wise ADR table: first-line and companion medicines','Useful for “adverse effects of anti-TB drugs” as a broad question.') th(s,[(.7,1.9,'DRUG'),(2.65,5.35,'MAJOR ADRs'),(8.05,4.2,'PREVENTION / MONITORING')]) D=[('Isoniazid','Hepatitis, peripheral neuropathy, CNS toxicity, rash.','Pyridoxine for risk groups; assess liver injury symptoms.'),('Rifampicin','Hepatitis, GI upset, rash/flu syndrome, orange fluids, strong enzyme induction.','Check ART, anticoagulant and contraceptive interactions.'),('Pyrazinamide','Hepatotoxicity, hyperuricaemia/arthralgia, GI upset.','LFTs and clinical joint assessment.'),('Ethambutol','Optic neuritis, reduced visual acuity, red-green colour impairment.','Baseline/symptom-based vision assessment; stop if visual change.'),('Cycloserine/terizidone','Depression, psychosis, seizures, neuropathy.','Psychiatric history and follow-up; pyridoxine.'),('Amikacin','Ototoxicity, vestibular toxicity, nephrotoxicity and electrolyte wasting.','Audiometry, renal/electrolyte monitoring if used.')] for i,a in enumerate(D):tr(s,2.05+i*.66,a,[1.95,5.4,4.2],i%2==1,10.1) foot(s,20,'Harrison’s Principles of Internal Medicine, 22e (2025); WHO Module 4 (2025)') #21 management s=prs.slides.add_slide(blank);top(s,'18. Approach to suspected ADR','This algorithm demonstrates clinical reasoning and patient safety.') steps=[('Recognize and grade','Ask at each visit; identify red flags: syncope, jaundice, visual symptoms, severe rash, confusion or weakness.'),('Investigate','CBC, LFTs, renal function/electrolytes, ECG, visual/neurologic evaluation according to presentation.'),('Identify culprit','Review time sequence, all TB drugs, ART/other drugs, comorbidities and alternative causes.'),('Treat safely','Supportive care; correct electrolytes; hold or change suspected drug for significant toxicity; refer if severe.'),('Preserve efficacy','Do not create functional monotherapy. Replace with another likely effective drug and document/report the event.')] for i,(h,b) in enumerate(steps): y=1.48+i*.93;c=[N,B,T,A,R][i];rect(s,.82,y,11.72,.7,W,L,True);rect(s,.82,y,.68,.7,c,c,True);tx(s,1,y+.21,.28,.16,str(i+1),15,W,True,PP_ALIGN.CENTER);tx(s,1.8,y+.1,2.5,.16,h,14,N,True);tx(s,4.4,y+.1,7.6,.36,b,12.5,I) foot(s,21) #22 answer template s=prs.slides.add_slide(blank);top(s,'19. Model long-answer framework: 10-15 marks','Question: “Describe recent antitubercular guidelines for MDR/RR-TB, including categories A/B/C, special populations and ADRs.”') for i,(h,b,c) in enumerate([('Introduction','Define MDR/RR-TB and state that treatment must be DST-guided, all-oral where possible, patient-centred and safety monitored.',N),('Drug classification','Write Groups A, B and C and explain their role in constructing a longer individualized regimen.',B),('Current regimen choices','BPaLM/BPaL, BDLLfxC, modified 9-month regimen and longer individualized regimen. State FQ DST rule.',T),('Special populations','Children <14 years, pregnancy/breastfeeding, HIV/ART, renal/hepatic impairment and ineligible disease sites.',A),('ADRs and monitoring','Linezolid toxicity, QT-prolonging drugs, hepatotoxicity, first-line ADRs; baseline and serial tests.',R),('Conclusion','Treatment success requires DST-guided regimen selection, adherence support and active pharmacovigilance.',P)]): y=1.35+i*.8;rect(s,.75,y,11.85,.62,W,L,True);pill(s,.92,y+.15,2.3,h,c);tx(s,3.48,y+.11,8.75,.32,b,11.5,I) foot(s,22) #23 5marker s=prs.slides.add_slide(blank);top(s,'20. Model 5-mark answer: Groups A, B and C','You can write this in approximately 5 minutes.') rect(s,.75,1.4,11.85,5.05,W,L,True);tx(s,1.05,1.7,11,.22,'WHO medicine groups for longer MDR/RR-TB treatment',18,N,True) tx(s,1.08,2.25,11.05,3.7,'1. Group A: levofloxacin or moxifloxacin, bedaquiline and linezolid. All three should be included whenever possible.\n\n2. Group B: clofazimine and cycloserine or terizidone. Both should be added whenever possible.\n\n3. Group C: ethambutol, delamanid, pyrazinamide, imipenem-cilastatin or meropenem with amoxicillin-clavulanate, amikacin, ethionamide/prothionamide and PAS. These are used to complete the regimen or when A/B agents cannot be used.\n\n4. A longer individualized regimen should contain at least four likely effective drugs, selected using DST, prior treatment history and tolerability.',14,I) pill(s,1.07,5.9,2.5,'Conclusion',T);tx(s,3.72,5.96,7.8,.16,'The grouping supports individualized longer regimens and complements current standardized short regimens.',11.5,N,True);foot(s,23,'Goodman & Gilman’s Pharmacological Basis of Therapeutics, Table 65-6; WHO 2025') #24 quick revise s=prs.slides.add_slide(blank);top(s,'21. One-page rapid revision','Read this the day before the examination.') for x,h,b,c in [(.72,'Definitions','MDR = RIF + INH resistance.\npre-XDR = MDR/RR + FQ resistance.\nXDR = MDR/RR + FQ + BDQ or LZD resistance.',T),(4.75,'Regimens','≥14 y eligible: BPaLM; FQ resistant: BPaL.\n<14 y or pregnancy/lactation: BDLLfxC.\nFQ susceptible but short ineligible: 9-month.\nComplex: longer individualized.',B),(8.78,'ADRs','LZD: marrow + nerve + eye.\nBDQ/FQ/DLM/CFZ: QT.\nPa/BDQ: liver.\nE: eye.\nAmk: ear + kidney.',R)]:card(s,x,1.48,3.35,3.9,h,b,c,13) rect(s,.78,5.85,11.75,.48,MI,MI,True);tx(s,.97,5.98,11.35,.15,'Mnemonic: “A = Always core, B = Both companions, C = Complete the regimen.”',13,N,True,PP_ALIGN.CENTER);foot(s,24) #25 viva s=prs.slides.add_slide(blank);top(s,'22. Viva questions and self-testing','Cover the answers and answer aloud.') qs=['Define pre-XDR-TB and XDR-TB.','Name all three Group A medicines.','When does BPaLM become BPaL?','Expand BDLLfxC.','Which 6-month regimen suits pregnancy/breastfeeding?','Name three linezolid toxicities.','Which medicines commonly prolong QT?','What tests are required at baseline?','When is a longer regimen chosen?','Why should you avoid adding one drug to a failing regimen?'] for i,q in enumerate(qs): col=i//5;row=i%5;x=.68+col*6.12;y=1.42+row*.91;c=[T,B,A,R,P][row];rect(s,x,y,5.72,.65,W,L,True);rect(s,x,y,.48,.65,c,c,True);tx(s,x+.13,y+.18,.2,.14,str(i+1),14,W,True,PP_ALIGN.CENTER);tx(s,x+.68,y+.13,4.78,.32,q,12.5,I) foot(s,25) #26 refs s=prs.slides.add_slide(blank);top(s,'References and scope note','Use your national TB programme manual for country-specific dosing and local algorithms.') refs=['WHO. Consolidated guidelines on tuberculosis: Module 4 - treatment and care. 2025 update and operational handbook.','WHO TB Knowledge Sharing. Treatment of DR-TB using 6-month regimens, including BPaLM/BPaL and BDLLfxC. 2025.','WHO TB Knowledge Sharing. Monitoring and management of adverse events in treatment of drug-resistant tuberculosis. Annex 2, 2025.','Goodman & Gilman’s The Pharmacological Basis of Therapeutics. Definitive therapy of drug-resistant TB, Table 65-6.','Harrison’s Principles of Internal Medicine. 22nd edition. Antituberculosis drug pharmacology and adverse effects. 2025.','Fekadu G, et al. All-oral bedaquiline-based shorter regimens in DR-TB: systematic review and meta-analysis. BMJ Global Health. 2025. PMID: 40194835.'] bullets(s,.78,1.42,11.78,4.85,refs,N,13) rect(s,.8,6.45,11.75,.36,MI,MI,True);tx(s,.95,6.55,11.42,.14,'Educational revision resource. Treatment decisions require local protocol, weight-band dose tables, DST and specialist/national TB programme oversight.',10,N,True,PP_ALIGN.CENTER);foot(s,26,'References | Detailed academic revision edition') prs.core_properties.title='Detailed Antitubercular Guidelines Exam Revision, WHO 2025-2026';prs.core_properties.subject='Academic long-answer preparation';prs.core_properties.author='Orris';prs.save(out);print(out) PY python "/tmp/workspace/antitubercular-guidelines-ppt/src/create_detailed_exam_deck.py" python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/antitubercular-guidelines-ppt/output/Detailed_Antitubercular_Guidelines_Exam_Revision_WHO_2025_2026.pptx');r=Presentation(str(p));print(len(r.slides),p.stat().st_size);assert len(r.slides)==26;assert p.stat().st_size>80000 for n,s in enumerate(r.slides,1):assert any(getattr(x,'has_text_frame',False) and x.text.strip() for x in s.shapes),n PY unzip -t "/tmp/workspace/antitubercular-guidelines-ppt/output/Detailed_Antitubercular_Guidelines_Exam_Revision_WHO_2025_2026.pptx" | tail -1
Detailed Antitubercular Guidelines Exam Revision WHO 2025 2026
Presentation · PPTX
Also add answers in rapid viva slide
~/antitubercular-guidelines-ppt
cat > "/tmp/workspace/antitubercular-guidelines-ppt/src/add_viva_answers.py" <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.shapes import MSO_SHAPE from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.dml.color import RGBColor from pathlib import Path src=Path('/tmp/workspace/antitubercular-guidelines-ppt/output/Detailed_Antitubercular_Guidelines_Exam_Revision_WHO_2025_2026.pptx') out=Path('/tmp/workspace/antitubercular-guidelines-ppt/output/Detailed_Antitubercular_Guidelines_Exam_Revision_with_Viva_Answers_WHO_2025_2026.pptx') prs=Presentation(str(src)) assert len(prs.slides)==26, 'Unexpected source deck' blank=prs.slide_layouts[6] N=RGBColor(11,41,68); B=RGBColor(29,105,159); T=RGBColor(0,138,132); A=RGBColor(197,121,8); R=RGBColor(181,55,51); P=RGBColor(112,78,159); W=RGBColor(255,255,255); I=RGBColor(27,42,55); GR=RGBColor(93,108,122); L=RGBColor(214,226,234); PA=RGBColor(246,249,251); MI=RGBColor(226,245,240) def rect(s,x,y,w,h,c,line=None,rd=False): q=s.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if rd else MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h)); q.fill.solid();q.fill.fore_color.rgb=c;q.line.color.rgb=line or c;return q def tx(s,x,y,w,h,z,fs=15,c=I,bo=False,al=PP_ALIGN.LEFT,va=MSO_ANCHOR.TOP): q=s.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h));f=q.text_frame;f.clear();f.word_wrap=True;f.margin_left=f.margin_right=Inches(.055);f.margin_top=f.margin_bottom=Inches(.03);f.vertical_anchor=va for j,line in enumerate(z.split('\n')): p=f.paragraphs[0] if j==0 else f.add_paragraph();p.text=line;p.alignment=al;p.space_after=Pt(2) for r in p.runs:r.font.name='Aptos';r.font.size=Pt(fs);r.font.color.rgb=c;r.font.bold=bo return q def top(s,h,sub=''): rect(s,0,0,13.333,.5,N);rect(s,.45,.8,.11,.55,T);tx(s,.68,.72,12,.38,h,27,N,True) if sub:tx(s,.69,1.14,12,.2,sub,10,GR) def foot(s,n): rect(s,0,7.13,13.333,.37,N);tx(s,.4,7.2,11.55,.14,'WHO consolidated guidelines on tuberculosis, Module 4: treatment and care (2025)',8,W);tx(s,12.25,7.19,.6,.14,str(n),9,W,True,PP_ALIGN.RIGHT) def qa_card(s,x,y,w,h,num,question,answer,c): rect(s,x,y,w,h,W,L,True);rect(s,x,y,.52,h,c,c,True);tx(s,x+.13,y+.16,.22,.16,str(num),14,W,True,PP_ALIGN.CENTER) tx(s,x+.72,y+.12,w-.92,.28,'Q. '+question,12,N,True) rect(s,x+.68,y+.55,w-.9,h-.68,PA,PA,True);tx(s,x+.82,y+.69,w-1.18,h-.92,'A. '+answer,10.5,I) qa1=[ ('Define pre-XDR-TB and XDR-TB.','pre-XDR-TB is MDR/RR-TB with resistance to any fluoroquinolone. XDR-TB is MDR/RR-TB with FQ resistance plus resistance to bedaquiline or linezolid.'), ('Name all three Group A medicines.','Levofloxacin or moxifloxacin, bedaquiline and linezolid.'), ('When does BPaLM become BPaL?','When fluoroquinolone resistance is confirmed, moxifloxacin is omitted and the regimen becomes BPaL.'), ('Expand BDLLfxC.','Bedaquiline + delamanid + linezolid + levofloxacin + clofazimine.'), ('Which 6-month regimen suits pregnancy or breastfeeding?','BDLLfxC is the 6-month option. BPaLM/BPaL is avoided because pretomanid safety is unestablished in pregnancy and breastfeeding.')] qa2=[ ('Name three linezolid toxicities.','Anaemia or other cytopenias, peripheral neuropathy, optic neuritis. Lactic acidosis is another important toxicity.'), ('Which medicines commonly prolong QT?','Bedaquiline, moxifloxacin or levofloxacin, delamanid and clofazimine. Their combined QT burden must be assessed.'), ('What baseline tests are required?','CBC, ALT/AST/bilirubin, creatinine and electrolytes, ECG QTcF, neuropathy/visual assessment, weight, DST including FQ DST, and HIV/ART/pregnancy review where relevant.'), ('When is a longer regimen chosen?','For complex resistance, short-regimen ineligibility or intolerance, significant prior exposure, or CNS, osteoarticular or disseminated TB.'), ('Why not add one drug to a failing regimen?','It creates functional monotherapy and promotes additional resistance. Rebuild using multiple likely effective drugs.')] for slide_no,title,sub,data in [(26,'Rapid viva answers: Part 1','Read the question, answer aloud, then compare with the short model answer.',qa1),(27,'Rapid viva answers: Part 2','Keep the answer concise, then add details only if the examiner asks.',qa2)]: s=prs.slides.add_slide(blank);top(s,title,sub) for i,(q,a) in enumerate(data): qa_card(s,.68,1.42+i*1.1,12.0,.94,i+1,q,a,[T,B,A,R,P][i]) rect(s,.8,6.96,11.65,.01,MI,MI);foot(s,slide_no) prs.core_properties.title='Detailed Antitubercular Guidelines Exam Revision with Viva Answers, WHO 2025-2026' prs.save(str(out));print(out) PY python "/tmp/workspace/antitubercular-guidelines-ppt/src/add_viva_answers.py" python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/antitubercular-guidelines-ppt/output/Detailed_Antitubercular_Guidelines_Exam_Revision_with_Viva_Answers_WHO_2025_2026.pptx') r=Presentation(str(p));print('slides:',len(r.slides),'bytes:',p.stat().st_size) assert len(r.slides)==28 and p.stat().st_size>90000 for i in [26,27]: text=' '.join(sh.text for sh in r.slides[i].shapes if getattr(sh,'has_text_frame',False)) assert 'A.' in text and 'Q.' in text print('validated answer slide',i+1) PY unzip -t "/tmp/workspace/antitubercular-guidelines-ppt/output/Detailed_Antitubercular_Guidelines_Exam_Revision_with_Viva_Answers_WHO_2025_2026.pptx" | tail -1
Detailed Antitubercular Guidelines Exam Revision with Viva Answers WHO 2025 2026
Presentation · PPTX
Use indian guidelines for tuberculosis not who and re build ppt
site:tbcindia.mohfw.gov.in NTEP guidelines drug resistant tuberculosis PMDT 2025 BPaLM BPaL India
India tuberculosis BPaLM programmatic management
~/antitubercular-guidelines-ppt
India NTEP programmatic management drug resistant TB guideline 2021 PDF regimen longer oral shorter 9-11 months
https://tbcindia.mohfw.gov.in/wp-content/uploads/2025/01/Nat…
~/antitubercular-guidelines-ppt/src
cat > "/tmp/workspace/antitubercular-guidelines-ppt/src/create_india_ntep_exam_deck.py" <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.shapes import MSO_SHAPE from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.dml.color import RGBColor from pptx.oxml import parse_xml from pathlib import Path OUT=Path('/tmp/workspace/antitubercular-guidelines-ppt/output/Indian_NTEP_DR_TB_Guidelines_Exam_Revision_2025_2026.pptx') prs=Presentation();prs.slide_width=Inches(13.333);prs.slide_height=Inches(7.5);blank=prs.slide_layouts[6] N=RGBColor(14,48,76); SAFF=RGBColor(224,128,26); GRN=RGBColor(17,125,86); BL=RGBColor(31,109,169); RD=RGBColor(181,57,52); PUR=RGBColor(99,75,152); WH=RGBColor(255,255,255); INK=RGBColor(26,43,56); GY=RGBColor(91,108,121); LN=RGBColor(215,227,235); PA=RGBColor(246,249,251); MI=RGBColor(231,246,239) def rect(s,x,y,w,h,c,line=None,r=False): q=s.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if r else MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h));q.fill.solid();q.fill.fore_color.rgb=c;q.line.color.rgb=line or c;return q def tx(s,x,y,w,h,z,fs=15,c=INK,b=False,a=PP_ALIGN.LEFT,v=MSO_ANCHOR.TOP): q=s.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h));f=q.text_frame;f.clear();f.word_wrap=True;f.margin_left=f.margin_right=Inches(.05);f.margin_top=f.margin_bottom=Inches(.03);f.vertical_anchor=v for i,line in enumerate(z.split('\n')): p=f.paragraphs[0] if i==0 else f.add_paragraph();p.text=line;p.alignment=a;p.space_after=Pt(2) for run in p.runs:run.font.name='Aptos';run.font.size=Pt(fs);run.font.color.rgb=c;run.font.bold=b return q def top(s,h,sub=''): rect(s,0,0,13.333,.5,N);rect(s,.45,.8,.12,.55,SAFF);tx(s,.69,.72,12,.38,h,27,N,True) if sub:tx(s,.7,1.14,12,.2,sub,10,GY) def foot(s,n,src='National Guidelines for Management of DR-TB, NTEP India, 27 March 2025'): rect(s,0,7.13,13.333,.37,N);tx(s,.4,7.2,11.4,.14,src,8,WH);tx(s,12.25,7.19,.6,.14,str(n),9,WH,True,PP_ALIGN.RIGHT) def pill(s,x,y,w,z,c=GRN):rect(s,x,y,w,.3,c,c,True);tx(s,x+.02,y+.06,w-.04,.13,z,9,WH,True,PP_ALIGN.CENTER) def card(s,x,y,w,h,hdr,body,c=GRN,fs=13): rect(s,x,y,w,h,WH,LN,True);rect(s,x,y,w,.46,c,c,True);tx(s,x+.1,y+.1,w-.2,.17,hdr,14,WH,True,PP_ALIGN.CENTER);tx(s,x+.18,y+.65,w-.36,h-.8,body,fs,INK) def th(s,cols): rect(s,.55,1.5,12.25,.45,N,N,True) for x,w,z in cols:tx(s,x,1.62,w,.14,z,10.5,WH,True) def tr(s,y,vals,widths,shade=False,fs=10.4): rect(s,.55,y,12.25,.67,PA if shade else WH,LN);x=.72 for z,w in zip(vals,widths):tx(s,x,y+.09,w,.48,z,fs,INK);x+=w #1 s=prs.slides.add_slide(blank);rect(s,0,0,13.333,7.5,N);rect(s,0,0,13.333,.18,SAFF);rect(s,.72,1.04,.12,5.2,SAFF);tx(s,1.1,.96,11,.56,'INDIAN NTEP DR-TB GUIDELINES',33,WH,True);tx(s,1.12,1.73,10.3,.4,'Detailed academic revision PPT',23,RGBColor(242,211,171));tx(s,1.12,2.52,10.4,1.45,'National Guidelines for Management of DR-TB\nNTEP India, 27 March 2025 | exam-focused 2026 edition',21,WH);pill(s,1.12,4.48,3.35,'India-specific: not WHO-only',SAFF);tx(s,1.13,5.13,10,.45,'Regimens, programme pathway, special populations, ADRs and viva answers.',14,RGBColor(211,225,233));tx(s,1.12,6.5,5,.17,'For MBBS / PG theory and viva revision',9,RGBColor(187,205,220)) #2 s=prs.slides.add_slide(blank);top(s,'Scope and source hierarchy','This deck has been rebuilt around Indian NTEP policy, not a generic WHO regimen chart.') for x,h,b,c in [(.75,'Primary source','National Guidelines for Management of DR-TB, NTEP, 27 March 2025.',GRN),(3.88,'Programme source','PMDT Guidelines India 2021, where retained by the 2025 national document.',BL),(7.01,'Operational source','NTEP implementation material and patient-flow updates available in 2026.',SAFF),(10.14,'Exam use','Use national regimen notation and NTEP terms: N/DDR-TBC, Nikshay and DST.',RD)]:card(s,x,1.7,2.48,3.42,h,b,c,12.5) rect(s,.82,5.72,11.65,.55,MI,MI,True);tx(s,1,5.89,11.3,.16,'Important: drug doses are weight-band based and must be checked against the current NTEP dose table. This deck emphasizes answer structure and regimen logic.',12,N,True,PP_ALIGN.CENTER);foot(s,2) #3 s=prs.slides.add_slide(blank);top(s,'How to write a 10-15 mark NTEP DR-TB answer','Follow this sequence for a complete answer.') for i,(h,b,c) in enumerate([('Define and classify','RR-TB, MDR-TB, pre-XDR-TB and XDR-TB.'),('Diagnosis and DST','Rapid molecular test, FQ DST, baseline C&DST and prior SLD exposure.'),('NTEP algorithm','BPaLM/BPaL → 9-11 month shorter oral → 18-20 month longer oral.'),('Special populations','Children, pregnancy/lactation, HIV, organ dysfunction, EPTB.'),('Safety and programme care','Pre-treatment evaluation, ADR monitoring, adherence, Nikshay support.')]): y=1.45+i*.92;rect(s,.85,y,.7,.68,[N,BL,GRN,SAFF,RD][i],[N,BL,GRN,SAFF,RD][i],True);tx(s,1.07,y+.19,.28,.16,str(i+1),16,WH,True,PP_ALIGN.CENTER);tx(s,1.82,y+.08,3.1,.16,h,14,N,True);tx(s,5.0,y+.08,7.0,.32,b,13,INK) foot(s,3) #4 s=prs.slides.add_slide(blank);top(s,'1. Definitions and classification','Write these first. They are common viva questions.') for i,(h,b,c) in enumerate([('RR-TB','Resistance to rifampicin, with or without resistance to other anti-TB drugs.',BL),('MDR-TB','Resistance to at least isoniazid AND rifampicin.',GRN),('pre-XDR-TB','MDR/RR-TB with additional resistance to any fluoroquinolone.',SAFF),('XDR-TB','MDR/RR-TB with fluoroquinolone resistance plus resistance to bedaquiline OR linezolid.',RD)]): y=1.5+i*1.0;rect(s,.8,y,11.8,.76,WH,LN,True);rect(s,.8,y,2.45,.76,c,c,True);tx(s,1.02,y+.23,2.0,.17,h,15,WH,True,PP_ALIGN.CENTER);tx(s,3.55,y+.17,8.6,.34,b,14,INK) rect(s,.82,5.82,11.75,.42,PA,PA,True);tx(s,1,5.94,11.4,.14,'Key NTEP decision point: detect rifampicin resistance and rapidly rule out fluoroquinolone resistance before selecting the shorter oral regimen.',12,N,True,PP_ALIGN.CENTER);foot(s,4) #5 s=prs.slides.add_slide(blank);top(s,'2. NTEP diagnostic and patient-flow approach','DR-TB treatment is initiated through the Nodal or District DR-TB Centre with N/DDR-TBC consultation.') for i,(h,b,c) in enumerate([('Detect','Universal access to rapid molecular testing for TB and rifampicin resistance.'),('Confirm / characterize','FQ DST and baseline culture-DST. Assess resistance to H, Z and second-line/new drugs as available.'),('Assess eligibility','Age, pregnancy/lactation, disease site, prior second-line drug exposure, comorbidities and drug availability.'),('Committee decision','N/DDR-TBC selects BPaLM/BPaL, 9-11 month shorter oral MDR/RR-TB regimen or longer oral M/XDR-TB regimen.'),('Register and support','Notify in Nikshay; counsel patient/family; arrange follow-up, adherence support and social protection.')]): x=.48+i*2.55;card(s,x,1.65,2.24,3.95,h,b,[N,BL,GRN,SAFF,RD][i],12.2) foot(s,5) #6 s=prs.slides.add_slide(blank);top(s,'3. NTEP integrated regimen-selection algorithm','Memorize the order of preference in India.') rect(s,.7,1.52,3.2,.82,N,N,True);tx(s,.95,1.75,2.7,.22,'MDR/RR-TB diagnosed',18,WH,True,PP_ALIGN.CENTER) tx(s,4.04,1.68,.4,.28,'→',25,N,True,PP_ALIGN.CENTER) for x,h,b,c in [(4.55,'Age ≥14 and eligible','BPaLM/BPaL\n26-39 weeks',GRN),(7.58,'If BPaLM ineligible','9-11 month shorter oral MDR/RR-TB regimen',BL),(10.61,'If shorter oral ineligible','18-20 month longer oral M/XDR-TB regimen',SAFF)]:card(s,x,1.4,2.35,2.45,h,b,c,13) rect(s,.83,4.42,11.6,1.2,MI,MI,True);tx(s,1.08,4.65,11.1,.62,'For patients <14 years: 9-11 month shorter oral regimen is the first preference if eligible. If ineligible, use a longer oral regimen in consultation with the paediatrician and N/DDR-TBC.',15,N,True,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) foot(s,6) #7 s=prs.slides.add_slide(blank);top(s,'4. BPaLM / BPaL under NTEP','First preference for eligible MDR/RR-TB patients aged 14 years or more.') card(s,.7,1.5,3.7,4.9,'Composition and duration','BPaLM = bedaquiline + pretomanid + linezolid + moxifloxacin.\n\nNTEP duration: 26-39 weeks.\n\nBPaL = bedaquiline + pretomanid + linezolid when moxifloxacin cannot be retained due to FQ resistance.',GRN,13.5) card(s,4.8,1.5,3.7,4.9,'Eligibility logic','Age ≥14 years, MDR/RR-TB, and no resistance or significant prior exposure that makes the regimen unsuitable. Review FQ DST and resistance to BDQ, Pa and LZD as available.',BL,13) card(s,8.9,1.5,3.7,4.9,'Key cautions','BPaLM is not used in children <14 years because pretomanid evidence is not established. Pregnancy/lactation and significant contraindications require a modified NTEP pathway.',RD,13) foot(s,7) #8 s=prs.slides.add_slide(blank);top(s,'5. NTEP 9-11 month shorter oral MDR/RR-TB regimen','Preferred over longer oral treatment in eligible adults and children with MDR/RR-TB.') rect(s,.78,1.48,11.72,.68,BL,BL,True);tx(s,.97,1.68,11.35,.2,'Duration: intensive phase 4 months, extendable to 6 months + continuation phase 5 months = total 9-11 months',17,WH,True,PP_ALIGN.CENTER) card(s,.78,2.55,3.55,3.2,'Intensive phase','4-6 months: Bdq (for 6 months or longer) + Lfx/Mfx + Cfz + Lzd (first 2 months) + Hh + Z + E.\n\nLzd may be replaced by Eto as per NTEP guidance in appropriate circumstances.',GRN,12.7) card(s,4.88,2.55,3.55,3.2,'Continuation phase','5 months: Lfx/Mfx + Cfz + Z + E.\n\nBedaquiline is used for 6 months in the standard course.',SAFF,12.7) card(s,8.98,2.55,3.55,3.2,'Eligibility principle','Rapid DST to rule out FQ resistance is required. Use only after assessment of resistance pattern, prior exposure and exclusions by N/DDR-TBC.',RD,12.7) foot(s,8) #9 s=prs.slides.add_slide(blank);top(s,'6. Eligibility and ineligibility for 9-11 month regimen','Know the concept. Detailed programme criteria must be checked in the current NTEP guideline.') card(s,.75,1.52,5.5,4.62,'Favourable eligibility features','• Rifampicin resistance detected.\n• FQ resistance excluded by rapid DST.\n• No major resistance/exposure that compromises the regimen.\n• Patient can tolerate and adhere to the regimen.\n• Selection confirmed by N/DDR-TBC.',GRN,14) card(s,6.75,1.52,5.5,4.62,'Move to longer oral regimen when','• FQ resistance or additional resistance compromises the short regimen.\n• Significant previous second-line drug exposure.\n• Intolerance, contraindication or unavailability of a required drug.\n• Emergence of exclusion criteria or poor response requiring reassessment.',RD,14) foot(s,9) #10 s=prs.slides.add_slide(blank);top(s,'7. Longer oral M/XDR-TB regimen','Use when BPaLM and the 9-11 month shorter oral regimen cannot be used.') rect(s,.8,1.48,11.7,.58,SAFF,SAFF,True);tx(s,1,1.65,11.3,.18,'Usual NTEP duration: 18-20 months, modified according to DST pattern and drug tolerability.',16,WH,True,PP_ALIGN.CENTER) for x,h,b,c in [(.75,'Core base','(6 months or longer) bedaquiline + (18-20 months) levofloxacin + linezolid + clofazimine + cycloserine.',GRN),(4.9,'Modification','If a core drug cannot be used because of resistance, intolerance, contraindication or non-availability, modify the regimen using NTEP sequence and DST.',BL),(9.05,'Follow-up','Evaluate clinical response, culture/DST, adverse events and adherence. If further resistance develops, re-discuss at N/DDR-TBC.',RD)]:card(s,x,2.55,3.45,3.25,h,b,c,13) foot(s,10) #11 groups s=prs.slides.add_slide(blank);top(s,'8. Categories / Groups A, B and C','Use these to explain longer individualized regimen construction. They are retained as an academic framework.') for x,h,c,dr,role in [(.6,'GROUP A',RD,'Levofloxacin OR moxifloxacin\nBedaquiline\nLinezolid','Use all 3 whenever possible.'),(4.53,'GROUP B',SAFF,'Clofazimine\nCycloserine OR terizidone','Add both whenever possible.'),(8.46,'GROUP C',BL,'Ethambutol | Delamanid | Pyrazinamide\nCarbapenem + amox-clav | Amikacin\nEthionamide/prothionamide | PAS','Use to complete/replace medicines.')]: card(s,x,1.55,3.62,4.65,h,dr,c,14);rect(s,x+.22,5.33,3.18,.46,PA,PA,True);tx(s,x+.34,5.45,2.95,.14,role,11.5,INK,False,PP_ALIGN.CENTER) tx(s,.75,6.35,11.9,.2,'Mnemonic: A = Always core drugs; B = Both companion drugs; C = Complete the regimen.',14,N,True,PP_ALIGN.CENTER);foot(s,11,'National PMDT Guidelines India 2021; NTEP DR-TB guidelines 2025') #12 H mono s=prs.slides.add_slide(blank);top(s,'9. Isoniazid mono/poly-resistant TB: NTEP perspective','Do not confuse H mono/poly resistance with MDR/RR-TB.') card(s,.78,1.55,3.6,4.45,'Definition','Isoniazid mono/poly DR-TB is rifampicin-susceptible TB with isoniazid resistance, with or without resistance to other first-line drugs except rifampicin.',BL,14) card(s,4.87,1.55,3.6,4.45,'Key principle','Treat according to the dedicated NTEP H mono/poly-DR-TB regimen and DST result. Do not put these patients on an MDR/RR-TB regimen simply because isoniazid resistance is present.',GRN,14) card(s,8.96,1.55,3.6,4.45,'Exam point','State: “The DR-TB algorithm separates H mono/poly-DR-TB from MDR/RR-TB at the diagnostic stage.”',SAFF,14) foot(s,12) #13 children s=prs.slides.add_slide(blank);top(s,'10. Special population: children and adolescents','NTEP paediatric approach differs from generic international slides.') for x,h,b,c in [(.75,'Age <14 years','Safety and effectiveness of pretomanid-containing BPaLM have not been established. Use 9-11 month shorter oral regimen if eligible, or longer oral regimen.',GRN),(4.85,'Role of Bdq','Bedaquiline is approved for children aged 5 years and above. Below 5 years, regimen modification follows current NTEP availability/regulatory guidance and paediatric advice.',BL),(8.95,'Programme decision','Initiate/modify in consultation with a paediatrician available or linked to N/DDR-TBC. Use paediatric weight-band dose tables and close toxicity monitoring.',SAFF)]:card(s,x,1.55,3.48,4.55,h,b,c,13) foot(s,13) #14 pregnancy s=prs.slides.add_slide(blank);top(s,'11. Special population: pregnancy and lactation','Use NTEP decision-making and document counselling.') rect(s,.75,1.45,11.8,.65,RD,RD,True);tx(s,.97,1.64,11.35,.2,'If pregnancy occurs during BPaLM, treatment choice depends on gestational age, MTP decision and patient preference, with N/DDR-TBC oversight.',16,WH,True,PP_ALIGN.CENTER) card(s,.75,2.5,3.48,3.35,'<20 / <24 weeks','Counsel regarding MTP as per law and informed choice. If MTP is done, BPaLM may be started/continued if otherwise eligible.',BL,12.5) card(s,4.85,2.5,3.48,3.35,'MTP declined or later pregnancy','Use/shift to 9-11 month shorter oral MDR/RR-TB regimen with Lzd, or longer oral M/XDR-TB regimen, according to eligibility.',SAFF,12.5) card(s,8.95,2.5,3.48,3.35,'Monitoring','Explain maternal and fetal risk; monitor pregnancy and treatment carefully. Deliver in tertiary care or where paediatric support is available; monitor CBC/Hb monthly.',GRN,12.5) foot(s,14) #15 hiv s=prs.slides.add_slide(blank);top(s,'12. HIV, diabetes, renal and hepatic disease','Write co-morbidity modification as a separate answer heading.') for x,h,b,c in [(.75,'HIV / ART','Test for HIV, initiate/continue ART under NTEP ART-centre linkage, and review interactions, QT risk and overlapping marrow/liver toxicity.',PUR),(4.85,'Diabetes','Check blood glucose and optimize glycaemic control. Diabetes worsens outcomes and can complicate neuropathy and adherence.',SAFF),(8.95,'Renal / hepatic disease','Use individualized regimen and monitoring. Check creatinine/electrolytes; baseline LFT. Viral hepatitis and alcohol use heighten risk of DILI.',RD)]:card(s,x,1.55,3.48,4.55,h,b,c,13) foot(s,15) #16 PTE s=prs.slides.add_slide(blank);top(s,'13. Pre-treatment evaluation (PTE) under NTEP','List these in an exam answer on DR-TB work-up.') for x,y,h,b,c in [(.75,1.5,'Clinical','History, examination, height/weight, pregnancy/lactation status, prior anti-TB exposure, psychiatric assessment if required.',GRN),(4.55,1.5,'Laboratory','RBS, HIV test, CBC, LFT including serum proteins, TSH, urine routine/microscopy, serum Na/K/Mg/Ca.',BL),(8.35,1.5,'Imaging / cardiac','Chest X-ray and ECG; assess baseline QT risk and concomitant medicines.',SAFF),(.75,4.15,'Microbiology','Rapid molecular result, culture where available, FQ DST and appropriate C&DST / LC-DST.',RD),(4.55,4.15,'Counselling','Explain disease, duration, adherence, possible ADRs, danger signs and programme support.',PUR),(8.35,4.15,'Programme','Register in Nikshay; plan DRTB-centre follow-up and N/DDR-TBC review.',N)]:card(s,x,y,3.42,2.05,h,b,c,12) foot(s,16,'PMDT India 2021 and NTEP DR-TB guideline/implementation material') #17 follow s=prs.slides.add_slide(blank);top(s,'14. Follow-up monitoring during DR-TB treatment','Record clinical response, bacteriology, safety and adherence at every scheduled visit.') th(s,[(.7,2.4,'DOMAIN'),(3.15,4.55,'WHAT TO CHECK'),(7.78,4.45,'WHY IT MATTERS')]) D=[('Clinical','Symptoms, weight, adherence, new ADRs, pregnancy status, co-morbidity control.','Detect non-response, toxicity and barriers early.'),('Bacteriology','Sputum microscopy/culture and DST as indicated; follow-up LC-DST for Bdq, Lzd, Pa, Dlm, Z and Mfx where available.','Detect persistent positivity, acquired resistance or failure.'),('Haematology','Hb, TLC/DLC and platelet count, particularly with linezolid.','Detect anaemia, neutropenia and thrombocytopenia.'),('Hepatic','LFTs, especially if symptoms or hepatotoxic regimen.','Detect DILI before severe hepatic injury.'),('ECG / electrolytes','QTcF, K/Mg/Ca where indicated by regimen or symptoms.','Prevent torsades risk from additive QT drugs.'),('Psychiatric / neurologic / visual','Mood, seizures, neuropathy, visual acuity/colour vision where relevant.','Detect cycloserine, linezolid or ethambutol toxicity.')] for i,a in enumerate(D):tr(s,2.05+i*.66,a,[2.45,4.65,4.35],i%2==1,10.1) foot(s,17) #18 ADR s=prs.slides.add_slide(blank);top(s,'15. ADRs of key NTEP DR-TB medicines','Use a drug → toxicity → monitor → action format.') th(s,[(.7,2,'DRUG'),(2.75,5.15,'MAJOR ADRs'),(7.95,4.25,'MONITOR / PRACTICAL RESPONSE')]) D=[('Linezolid','Anaemia, neutropenia, thrombocytopenia; peripheral/optic neuropathy; lactic acidosis.','CBC; neuropathy and visual assessment. Consider interruption/reduction under programme/expert advice.'),('Bedaquiline','QT prolongation; hepatotoxicity.','ECG QTcF, electrolytes, LFT. Avoid additive QT drugs where feasible.'),('Moxifloxacin / levofloxacin','QT prolongation, tendinopathy, CNS/GI effects.','ECG if risk; clinical review. Do not use a resistant FQ as an active agent.'),('Clofazimine','Skin pigmentation, GI symptoms, QT prolongation.','Counsel about pigmentation; ECG with other QT agents.'),('Cycloserine / terizidone','Depression, psychosis, seizures, neuropathy.','Psychiatric screening/follow-up; pyridoxine and urgent review of neuropsychiatric symptoms.')] for i,a in enumerate(D):tr(s,2.05+i*.78,a,[2.05,5.2,4.2],i%2==1,10.3) foot(s,18) #19 first line s=prs.slides.add_slide(blank);top(s,'16. First-line and companion medicine ADRs','Useful for a general pharmacology or TB-management question.') th(s,[(.7,2,'DRUG'),(2.75,5.15,'MAJOR ADRs'),(7.95,4.25,'PREVENTION / MONITORING')]) D=[('Isoniazid','Hepatitis, peripheral neuropathy, CNS toxicity, rash.','Give pyridoxine to risk groups; assess for hepatitis.'),('Rifampicin','Hepatitis, rash/flu-like syndrome, orange fluids, potent enzyme induction.','Check ART, anticoagulant and contraceptive interactions.'),('Pyrazinamide','Hepatotoxicity, hyperuricaemia/arthralgia, GI effects.','LFT and clinical review.'),('Ethambutol','Optic neuritis, reduced visual acuity, red-green impairment.','Baseline/symptom-based visual assessment; stop for visual change.'),('Ethionamide','GI intolerance, hypothyroidism, hepatotoxicity, neuropathy.','TSH and LFT monitoring; pyridoxine; counsel about GI symptoms.'),('Amikacin','Ototoxicity, vestibular toxicity, nephrotoxicity, electrolyte losses.','Audiometry and renal/electrolyte monitoring when used.')] for i,a in enumerate(D):tr(s,2.05+i*.66,a,[2.05,5.2,4.2],i%2==1,10) foot(s,19) #20 management s=prs.slides.add_slide(blank);top(s,'17. Management of an adverse drug reaction','This clinical algorithm earns marks in both theory and viva.') for i,(h,b,c) in enumerate([('Recognize','Ask about symptoms at every visit. Identify red flags: syncope, jaundice, visual change, severe rash, psychosis/seizure.',N),('Assess severity','Clinical examination plus targeted CBC, LFT, renal/electrolyte, ECG or visual/neurologic tests.',BL),('Attribute','Review timing, all TB drugs, ART/other medicines and alternative disease-related causes.',GRN),('Act','Supportive treatment, correction of electrolytes and expert-guided holding/substitution of culprit drug.',SAFF),('Preserve regimen','Never create functional monotherapy. Rebuild with multiple likely effective drugs and document/report the event.',RD)]): x=.48+i*2.55;card(s,x,1.7,2.25,3.95,h,b,c,12) foot(s,20) #21 program care s=prs.slides.add_slide(blank);top(s,'18. NTEP programmatic patient-centred care','An India-specific answer should mention service delivery, not drugs alone.') for x,h,b,c in [(.75,'Nikshay notification','All diagnosed TB patients are notified and followed through Nikshay; treatment records and outcomes are documented.',BL),(3.85,'N/DDR-TBC oversight','Regimen initiation, switching and complex resistance decisions are taken with Nodal/District DR-TB Centre and committee support.',GRN),(6.95,'Adherence support','Counselling, family engagement, digital/adherence support as available, prompt management of ADRs and social support.',SAFF),(10.05,'Nutrition / support','Link patients with NTEP benefits such as Nikshay Poshan support and local social-welfare measures.',PUR)]:card(s,x,1.6,2.55,3.85,h,b,c,12.3) rect(s,.78,5.82,11.8,.45,MI,MI,True);tx(s,.98,5.94,11.35,.14,'Exam conclusion: “NTEP integrates diagnosis, standardized treatment, decentralised DR-TB services, Nikshay recording and patient support.”',12,N,True,PP_ALIGN.CENTER);foot(s,21) #22 model answer s=prs.slides.add_slide(blank);top(s,'19. Model 10-15 mark answer framework','Question: Describe NTEP management of MDR/RR-TB, including regimen selection and adverse effects.') for i,(h,b,c) in enumerate([('Introduction','Define MDR/RR-TB and state that NTEP uses rapid DST, all-oral regimens, N/DDR-TBC oversight and active safety monitoring.',N),('Classification + DST','Define pre-XDR/XDR; write FQ DST and baseline resistance assessment.',BL),('NTEP regimen sequence','≥14 y eligible: BPaLM/BPaL (26-39 wk) → if ineligible 9-11 month shorter oral regimen → longer oral M/XDR regimen 18-20 mo.',GRN),('Special populations','<14 y: short or longer oral as eligible; pregnancy/lactation requires NTEP-specific pathway; HIV/organ disease needs modification.',SAFF),('ADRs / follow-up','Linezolid marrow/neuropathy, QT drugs, DILI; PTE and scheduled clinical, laboratory, ECG/bacteriological review.',RD),('Conclusion','DST-guided, patient-centred care with adherence and Nikshay support improves outcomes and prevents further resistance.',PUR)]): y=1.35+i*.8;rect(s,.75,y,11.85,.62,WH,LN,True);pill(s,.92,y+.15,2.45,h,c);tx(s,3.52,y+.11,8.65,.32,b,11.5,INK) foot(s,22) #23 viva Q s=prs.slides.add_slide(blank);top(s,'20. Rapid viva questions','Try answering before moving to the model answers.') qs=['What is MDR-TB?','What is the NTEP order of preference for MDR/RR-TB regimens?','Expand BPaLM.','State duration of BPaLM under NTEP.','Write the 9-11 month regimen phases.','What is the usual duration of a longer oral M/XDR regimen?','What is preferred for a child below 14 years?','How is pregnancy managed on BPaLM?','Name three linezolid ADRs.','What are the key PTE investigations?'] for i,q in enumerate(qs): col=i//5;row=i%5;x=.68+col*6.12;y=1.42+row*.91;c=[GRN,BL,SAFF,RD,PUR][row];rect(s,x,y,5.72,.65,WH,LN,True);rect(s,x,y,.48,.65,c,c,True);tx(s,x+.13,y+.18,.2,.14,str(i+1),14,WH,True,PP_ALIGN.CENTER);tx(s,x+.68,y+.13,4.78,.32,q,12.5,INK) foot(s,23) #24 viva answers 1 s=prs.slides.add_slide(blank);top(s,'21. Rapid viva answers: Part 1','Use these concise lines for an oral response.') answers=[('What is MDR-TB?','Resistance to at least isoniazid and rifampicin.'),('NTEP order of preference?','For eligible age ≥14: BPaLM/BPaL. If ineligible: 9-11 month shorter oral MDR/RR-TB regimen. If still ineligible: 18-20 month longer oral M/XDR-TB regimen.'),('Expand BPaLM.','Bedaquiline + pretomanid + linezolid + moxifloxacin.'),('NTEP BPaLM duration?','26-39 weeks.'),('9-11 month phases?','Intensive phase 4 months, extendable to 6 months; continuation phase 5 months.')] for i,(q,a) in enumerate(answers): y=1.42+i*1.08;c=[GRN,BL,SAFF,RD,PUR][i];rect(s,.7,y,12,.92,WH,LN,True);rect(s,.7,y,.5,.92,c,c,True);tx(s,.83,y+.18,.22,.15,str(i+1),14,WH,True,PP_ALIGN.CENTER);tx(s,1.38,y+.08,10.9,.18,'Q. '+q,12,N,True);rect(s,1.38,y+.39,10.9,.38,PA,PA,True);tx(s,1.55,y+.49,10.55,.14,'A. '+a,10.5,INK) foot(s,24) #25 viva answers2 s=prs.slides.add_slide(blank);top(s,'22. Rapid viva answers: Part 2','Answers are based on the current NTEP DR-TB framework.') answers=[('Longer oral M/XDR duration?','Usually 18-20 months, with modification according to DST pattern and tolerability.'),('Child below 14 years?','Treat with 9-11 month shorter oral or longer oral regimen as eligible, with paediatrician and N/DDR-TBC consultation. BPaLM safety with pretomanid is not established below 14 years.'),('Pregnancy on BPaLM?','Use NTEP pregnancy pathway: counselling, gestational-age and MTP decision; if required shift to 9-11 month shorter oral regimen with Lzd or longer oral regimen.'),('Three linezolid ADRs?','Anaemia/cytopenias, peripheral neuropathy and optic neuritis. Lactic acidosis is another important ADR.'),('Key PTE investigations?','CBC, LFT, RBS, HIV test, renal/electrolytes, TSH, urine test, chest X-ray, ECG, pregnancy test when relevant, and DST.')] for i,(q,a) in enumerate(answers): y=1.42+i*1.08;c=[GRN,BL,SAFF,RD,PUR][i];rect(s,.7,y,12,.92,WH,LN,True);rect(s,.7,y,.5,.92,c,c,True);tx(s,.83,y+.18,.22,.15,str(i+1),14,WH,True,PP_ALIGN.CENTER);tx(s,1.38,y+.08,10.9,.18,'Q. '+q,12,N,True);rect(s,1.38,y+.39,10.9,.38,PA,PA,True);tx(s,1.55,y+.49,10.55,.14,'A. '+a,10.5,INK) foot(s,25) #26 ref s=prs.slides.add_slide(blank);top(s,'References and exam caution','This deck deliberately follows Indian NTEP documents.') refs=['Central Tuberculosis Division, MoHFW, Government of India. National Guidelines for Management of Drug Resistant TB. 27 March 2025.','Central Tuberculosis Division, MoHFW, Government of India. Guidelines for Programmatic Management of Drug Resistant TB in India. 2021.','Central Tuberculosis Division, MoHFW. Management of MDR-TB: implementation considerations, patient flow and treatment outcome material. 2026.','NTEP / Central TB Division guideline portal, accessed September 2026.','Goodman & Gilman’s Pharmacological Basis of Therapeutics. DR-TB drug grouping framework (A/B/C) for academic context.'] rect(s,.78,1.45,11.78,4.65,WH,LN,True) for i,r in enumerate(refs): pill(s,1.0,1.8+i*.78,.45,str(i+1),[GRN,BL,SAFF,RD,PUR][i]);tx(s,1.6,1.76+i*.78,10.45,.4,r,13,INK) rect(s,.8,6.35,11.75,.42,MI,MI,True);tx(s,.96,6.47,11.38,.14,'Always verify weight-band doses, eligibility and drug availability with the latest NTEP circular and N/DDR-TBC before clinical use.',10,N,True,PP_ALIGN.CENTER);foot(s,26,'NTEP India sources listed on slide 26') prs.core_properties.title='Indian NTEP DR-TB Guidelines Exam Revision 2025-2026';prs.core_properties.author='Orris';prs.core_properties.subject='NTEP India DR-TB exam preparation';prs.save(str(OUT));print(OUT) PY python "/tmp/workspace/antitubercular-guidelines-ppt/src/create_india_ntep_exam_deck.py" python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/antitubercular-guidelines-ppt/output/Indian_NTEP_DR_TB_Guidelines_Exam_Revision_2025_2026.pptx');r=Presentation(str(p));print('slides',len(r.slides),'bytes',p.stat().st_size);assert len(r.slides)==26 and p.stat().st_size>85000 for i,s in enumerate(r.slides,1): assert any(getattr(x,'has_text_frame',False) and x.text.strip() for x in s.shapes),i PY unzip -t "/tmp/workspace/antitubercular-guidelines-ppt/output/Indian_NTEP_DR_TB_Guidelines_Exam_Revision_2025_2026.pptx" | tail -1
.../src/create_india_ntep_exam_deck.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/antitubercular-guidelines-ppt/src/create_india_ntep_exam_deck.py'
python "/tmp/workspace/antitubercular-guidelines-ppt/src/create_india_ntep_exam_deck.py" && python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/antitubercular-guidelines-ppt/output/Indian_NTEP_DR_TB_Guidelines_Exam_Revision_2025_2026.pptx') r=Presentation(str(p)); print('slides',len(r.slides),'bytes',p.stat().st_size) assert len(r.slides)==26 and p.stat().st_size > 85000 for i,s in enumerate(r.slides,1): assert any(getattr(x,'has_text_frame',False) and x.text.strip() for x in s.shapes),i print('all slides have text') PY unzip -t "/tmp/workspace/antitubercular-guidelines-ppt/output/Indian_NTEP_DR_TB_Guidelines_Exam_Revision_2025_2026.pptx" | tail -1
"for i,(h,b,c)" in ~/antitubercular-guidelines-ppt/src
.../src/create_india_ntep_exam_deck.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/antitubercular-guidelines-ppt/src/create_india_ntep_exam_deck.py'
python "/tmp/workspace/antitubercular-guidelines-ppt/src/create_india_ntep_exam_deck.py" && python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/antitubercular-guidelines-ppt/output/Indian_NTEP_DR_TB_Guidelines_Exam_Revision_2025_2026.pptx') r=Presentation(str(p)); print('slides',len(r.slides),'bytes',p.stat().st_size) assert len(r.slides)==26 and p.stat().st_size > 85000 for i,s in enumerate(r.slides,1): assert any(getattr(x,'has_text_frame',False) and x.text.strip() for x in s.shapes),i print('all slides have text') PY unzip -t "/tmp/workspace/antitubercular-guidelines-ppt/output/Indian_NTEP_DR_TB_Guidelines_Exam_Revision_2025_2026.pptx" | tail -1
Indian NTEP DR TB Guidelines Exam Revision 2025 2026
Presentation · PPTX