Please review attached ppts , PLease make it good final one ppt

Reading File
Reading File
Browsing Directory

/tmp/workspace

Searching PubMed

cervical cancer survivorship pelvic floor rehabilitation

Searching the Web

cervical cancer survivorship pelvic floor rehabilitation guidelines

Reading File
Reading File
Browsing Directory

~/attachments/3d837633-6011-492c-b8f9-57256c33a43a

Running Command

mkdir -p "/tmp/workspace/pelvic-floor-final/src" "/tmp/workspace/pelvic-floor-final/output" && python -c "from pptx import Presentation; import os; paths=[r'/tmp/workspace/attachments/3d837633-6011-492c-b8f9-57256c33a43a/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship (2).pptx',r'/tmp/workspace/attachments/3d837633-6011-492c-b8f9-57256c33a43a/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship (3).pptx']; out=r'/tmp/workspace/pelvic-floor-final/src/source_inventory.txt'; f=open(out,'w'); for path in paths: prs=Presentation(path); f.write('\\n'+'='*80+'\\n'+os.path.basename(path)+' | slides='+str(len(prs.slides))+'\\n'); for i,s in enumerate(prs.slides,1): texts=[sh.text.strip().replace('\\n',' | ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()]; f.write('S%02d: %s\\n'%(i,' || '.join(texts))); f.write('\\n'); f.close()"

Reading File
Reading File
Running Command

python -c "from pptx import Presentation; import os; paths=[r'/tmp/workspace/attachments/3d837633-6011-492c-b8f9-57256c33a43a/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship (2).pptx',r'/tmp/workspace/attachments/3d837633-6011-492c-b8f9-57256c33a43a/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship (3).pptx']; for path in paths: prs=Presentation(path); print('FILE',os.path.basename(path),'slides',len(prs.slides),'size',prs.slide_width,prs.slide_height) 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[:300]) print()"

Reading File
Reading Article

PMID: 39581933

Browsing Directory

~/pelvic-floor-final

Finding Sources
Reading Web Page

https://pmc.ncbi.nlm.nih.gov/articles/PMC10204585

Running Command

python -c "import pkgutil; print('pptx',bool(pkgutil.find_loader('pptx'))); print('PIL',bool(pkgutil.find_loader('PIL')))" && cat > "/tmp/workspace/pelvic-floor-final/src/build_final.py" <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.dml.color import RGBColor from pptx.enum.dml import MSO_THEME_COLOR from pptx.enum.shapes import MSO_AUTO_SHAPE_TYPE OUT='/tmp/workspace/pelvic-floor-final/output/Rebuilding_the_Base_Final_Cervical_Cancer_Survivorship.pptx' prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5) blank=prs.slide_layouts[6] # Palette NAVY=RGBColor(13,38,63); INK=RGBColor(25,39,51); TEAL=RGBColor(0,128,132); MINT=RGBColor(214,241,233); CORAL=RGBColor(230,105,91); GOLD=RGBColor(234,181,76); PAPER=RGBColor(248,249,247); WHITE=RGBColor(255,255,255); GREY=RGBColor(94,107,117); PALE=RGBColor(232,239,239); PALEBLUE=RGBColor(224,239,244) W,H=13.333,7.5 def rect(s,x,y,w,h,fill,line=None,rad=False): sh=s.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if rad 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 if rad: sh.adjustments[0]=0.12 return sh def text(s,x,y,w,h,txt,size=18,color=INK,bold=False,font='Aptos',align=PP_ALIGN.LEFT, valign=MSO_ANCHOR.TOP,margin=.03): 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(margin); tf.margin_top=tf.margin_bottom=Inches(margin); tf.vertical_anchor=valign for j,line in enumerate(txt.split('\n')): p=tf.paragraphs[0] if j==0 else tf.add_paragraph(); p.alignment=align; p.space_after=Pt(0); p.space_before=Pt(0) r=p.add_run(); r.text=line; r.font.name=font; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color return sh def rich(s,x,y,w,h,paras): 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(.05); tf.margin_top=tf.margin_bottom=Inches(.03) for j,(tx,sz,col,bold,bullet) in enumerate(paras): p=tf.paragraphs[0] if j==0 else tf.add_paragraph(); p.alignment=PP_ALIGN.LEFT; p.space_after=Pt(8); p.level=0 if bullet: p.text='• '+tx else: p.text=tx for r in p.runs: r.font.name='Aptos'; r.font.size=Pt(sz); r.font.bold=bold; r.font.color.rgb=col return sh def line(s,x1,y1,x2,y2,color=PALE,width=1.3): sh=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,Inches(x1),Inches(y1),Inches(x2),Inches(y2)); sh.line.color.rgb=color; sh.line.width=Pt(width); return sh def circle(s,x,y,d,fill,txt='',ts=12,tc=WHITE): sh=s.shapes.add_shape(MSO_SHAPE.OVAL, Inches(x), Inches(y), Inches(d), Inches(d)); sh.fill.solid(); sh.fill.fore_color.rgb=fill; sh.line.color.rgb=fill if txt: text(s,x,y+.01,d,d-.02,txt,ts,tc,True,align=PP_ALIGN.CENTER,valign=MSO_ANCHOR.MIDDLE) return sh def header(s,num,label,title,sub=''): rect(s,0,0,W,.16,TEAL); text(s,.65,.36,1.7,.25,label.upper(),10,TEAL,True); text(s,.65,.69,11.8,.55,title,27,NAVY,True) if sub: text(s,.67,1.30,11.8,.32,sub,12,GREY) text(s,12.05,.37,.6,.25,f'{num:02d}',10,TEAL,True,align=PP_ALIGN.RIGHT) line(s,.65,1.72,12.67,1.72,PALE) def footer(s,n): line(s,.65,7.08,12.67,7.08,PALE,.7); text(s,.65,7.16,7,.18,'CERVICAL CANCER SURVIVORSHIP • PELVIC FLOOR REHABILITATION',8,GREY,True); text(s,12.1,7.16,.55,.18,str(n),8,GREY,True,align=PP_ALIGN.RIGHT) def card(s,x,y,w,h,title,body,accent=TEAL): rect(s,x,y,w,h,WHITE,PALE,True); rect(s,x,y,.07,h,accent,accent); text(s,x+.25,y+.20,w-.45,.28,title,14,INK,True); rich(s,x+.22,y+.62,w-.45,h-.72,[(t,12,GREY,False,True) for t in body]) # 1 s=prs.slides.add_slide(blank); rect(s,0,0,W,H,NAVY); rect(s,0,0,.18,H,TEAL); circle(s,9.74,.85,2.15,TEAL); circle(s,10.5,1.62,.65,GOLD); circle(s,9.18,2.8,1.2,CORAL); line(s,9.25,4.7,12.0,4.7,RGBColor(65,100,125),1) text(s,.8,.78,3.4,.3,'GYNECOLOGIC ONCOLOGY | SURVIVORSHIP',11,MINT,True) text(s,.78,1.50,7.8,1.55,'Rebuilding\nthe Base',41,WHITE,True) text(s,.82,3.48,7.5,.55,'Pelvic floor rehabilitation in cervical cancer survivorship',20,MINT,False) text(s,.82,4.25,6.8,.52,'A function-first pathway from treatment to recovery',15,WHITE,False) text(s,.82,6.55,7.8,.28,'Presenter name | Institution | 2026',11,MINT) text(s,9.1,5.15,2.7,.55,'Screen\nAssess\nRestore',20,WHITE,True,align=PP_ALIGN.RIGHT) #2 s=prs.slides.add_slide(blank); header(s,2,'Why this matters','The cure is not the endpoint','Pelvic symptoms can persist after successful cancer treatment and are often not volunteered.'); text(s,.72,2.15,3.6,.48,'“Can I return to the life\nthat feels like mine?”',24,NAVY,True); rect(s,.72,3.47,3.5,.07,CORAL); text(s,.72,3.72,3.38,1.25,'A survivorship visit may be the first place these concerns are named, normalized and acted on.',16,INK) card(s,4.75,2.15,3.7,1.6,'BLADDER',['Urgency or leakage','Pain or difficult emptying'],TEAL); card(s,8.8,2.15,3.7,1.6,'BOWEL',['Constipation or urgency','Evacuation difficulty or leakage'],GOLD); card(s,4.75,4.10,3.7,1.6,'VAGINAL / SEXUAL',['Dryness, tightness or pain','Stenosis, avoidance, exam intolerance'],CORAL); card(s,8.8,4.10,3.7,1.6,'PARTICIPATION',['Sleep, movement, work, intimacy','Identity and relationships'],TEAL); text(s,.72,6.35,11.7,.32,'Clinical gap: “No recurrence” does not mean “no morbidity.”',15,NAVY,True); footer(s,2) #3 s=prs.slides.add_slide(blank); header(s,3,'Mechanism matters','Different treatments, converging pelvic consequences','The same symptom can arise through different impairments.'); for x,title,bul,ac in [(0.72,'Surgery',['Autonomic nerve disruption','Scar and altered support','Voiding dysfunction'],TEAL),(4.55,'Radiotherapy ± brachytherapy',['Fibrosis and reduced compliance','Mucosal change and shortening','Bowel and bladder irritation'],CORAL),(8.38,'Systemic / menopause effects',['Fatigue and deconditioning','Oestrogen deficiency','Mood, body image, fear'],GOLD)]: card(s,x,2.2,3.45,2.15,title,bul,ac) line(s,2.45,4.7,2.45,5.1,TEAL,2); line(s,6.28,4.7,6.28,5.1,CORAL,2); line(s,10.1,4.7,10.1,5.1,GOLD,2); line(s,2.45,5.1,10.1,5.1,PALE,2) text(s,.72,5.48,2.6,.25,'CONVERGES ON',11,TEAL,True) for x,k,v,c in [(3.35,'B','Bladder',TEAL),(5.55,'B','Bowel',GOLD),(7.75,'S','Sexual health',CORAL),(9.95,'P','Pain & participation',NAVY)]: circle(s,x,5.84,.48,c,k,14); text(s,x+.62,5.92,1.55,.22,v,12,INK,True) text(s,.72,6.55,11.4,.25,'Implication: do not prescribe “Kegels” reflexively. Match rehabilitation to the dominant impairment.',14,NAVY,True); footer(s,3) #4 s=prs.slides.add_slide(blank); header(s,4,'3-minute screen','Make pelvic function visible','At treatment transition and at follow-up: ask permission, normalize and listen.'); qs=[('1','BLADDER','Leakage, urgency, pain or difficulty emptying?'),('2','BOWEL','Urgency, constipation, leakage or bleeding?'),('3','VAGINAL / SEXUAL','Dryness, tightness, pain, change in intimacy or examination tolerance?'),('4','PAIN / FUNCTION','Pelvic pain, heaviness, fear of movement or activity restriction?')] for i,(n,t,q) in enumerate(qs): x=.72+(i%2)*6.05;y=2.15+(i//2)*1.72; circle(s,x,y,.5,TEAL,n,13); text(s,x+.72,y+.02,4.75,.22,t,12,TEAL,True); text(s,x+.72,y+.36,4.75,.55,q,15,INK,False) line(s,.72,5.82,12.6,5.82,PALE); text(s,.72,6.08,11.55,.45,'Use patient-reported symptoms to open the conversation. Targeted examination is consent-led and only undertaken when clinically appropriate.',14,GREY); footer(s,4) #5 s=prs.slides.add_slide(blank); header(s,5,'Phenotype before prescription','The pelvic floor is not a single diagnosis','The assessment identifies the treatable pattern and the survivor’s own goal.'); steps=[('1','History','Onset, triggers, diary, sexual and functional goals'),('2','Safety check','Recurrence concern, infection, fistula, bleeding, obstruction, severe pain'),('3','Examination','Consent-led external and, if appropriate, internal assessment'),('4','Measures','ICIQ-UI, PFDI-20, pain NRS, sexual outcomes or goal attainment')] for i,(n,t,b) in enumerate(steps): x=.72+i*3.0; circle(s,x,2.35,.56,[TEAL,CORAL,GOLD,NAVY][i],n,13); text(s,x,3.12,2.65,.25,t,15,INK,True); text(s,x,3.48,2.55,.72,b,12,GREY) line(s,1.0,2.63,10.2,2.63,PALE,2) rect(s,.72,5.15,11.92,.9,PALEBLUE,PALEBLUE,True); text(s,1.02,5.35,11.25,.46,'Clinical rule: strengthening is not the answer to every pelvic symptom.',18,NAVY,True,align=PP_ALIGN.CENTER); text(s,1.02,6.25,11.35,.28,'Pain, guarding or hypertonicity may require down-training, breathing, manual techniques and graded exposure first.',13,GREY,align=PP_ALIGN.CENTER); footer(s,5) #6 s=prs.slides.add_slide(blank); header(s,6,'The rehabilitation toolkit','A tailored bundle, not a one-size-fits-all exercise sheet','Dose, supervision, adherence and education shape response.'); data=[('Overactivity / pain','Down-training, diaphragmatic breathing, pain education, graded exposure, manual therapy when indicated',CORAL),('Weakness / leakage','Motor learning, progressive strengthening, “the knack”, functional loading, bladder training',TEAL),('Incoordination / bowel','Toileting mechanics, coordinated breathing and relaxation, fiber/fluid review',GOLD),('Tissue restriction / stenosis','Education, lubricants or moisturizers, graded vaginal rehabilitation or dilators when appropriate',NAVY)] for i,(t,b,c) in enumerate(data): x=.72+(i%2)*6.0;y=2.15+(i//2)*2.0; rect(s,x,y,5.55,1.6,WHITE,PALE,True); circle(s,x+.26,y+.28,.36,c); text(s,x+.78,y+.25,4.45,.25,t,14,INK,True); text(s,x+.28,y+.75,4.95,.58,b,12,GREY) text(s,.72,6.35,11.7,.3,'Rehabilitation target = function and participation, not a muscle grade in isolation.',15,NAVY,True); footer(s,6) #7 s=prs.slides.add_slide(blank); header(s,7,'Safety before therapy','Triage new, progressive or unexplained symptoms','Do not attribute concerning symptoms automatically to pelvic floor dysfunction.'); rect(s,.72,2.15,4.0,3.85,RGBColor(255,241,238),RGBColor(255,221,216),True); text(s,1.02,2.42,3.35,.3,'RED FLAGS',15,CORAL,True); rich(s,1.0,2.94,3.35,2.7,[(x,13,INK,False,True) for x in ['New or worsening pelvic pain','Vaginal, rectal or urinary bleeding','Suspected infection or fistula','Retention, obstruction or hydronephrosis symptoms','New neurologic or systemic symptoms']]) rect(s,5.05,2.15,3.2,3.85,PALEBLUE,PALEBLUE,True); text(s,5.38,2.42,2.55,.3,'CLINICAL REVIEW',15,NAVY,True); rich(s,5.35,2.94,2.5,2.5,[(x,13,INK,False,True) for x in ['Surveillance status','Treatment and medication history','Focused examination when appropriate','Urology, GI, pain or oncology input']]) rect(s,8.58,2.15,3.98,3.85,MINT,MINT,True); text(s,8.92,2.42,3.1,.3,'THEN REHABILITATE',15,TEAL,True); rich(s,8.88,2.94,3.1,2.5,[(x,13,INK,False,True) for x in ['Pelvic health physiotherapy assessment','Patient-led, trauma-informed care','Shared plan and follow-up','Escalation pathway']]) footer(s,7) #8 s=prs.slides.add_slide(blank); header(s,8,'Build it into the pathway','From prehabilitation to long-term recovery','A named route is more useful than a generic referral.'); phases=[('Before treatment','Baseline symptoms\nEducation and expectations\nRisk stratification',TEAL),('During treatment','Manage irritative symptoms\nMaintain movement\nProtect confidence',GOLD),('0-12 weeks after','Screen recovery\nAddress early dysfunction\nStart targeted rehabilitation',CORAL),('Long-term follow-up','Review function and goals\nTreat late effects\nEscalate complex care',NAVY)] for i,(t,b,c) in enumerate(phases): x=.72+i*3.0; rect(s,x,2.3,2.65,2.85,WHITE,PALE,True); rect(s,x,2.3,2.65,.11,c,c); text(s,x+.25,2.68,2.15,.46,t,15,INK,True); text(s,x+.25,3.48,2.1,1.0,b,13,GREY) if i<3: line(s,x+2.66,3.72,x+2.98,3.72,TEAL,1.5) text(s,.72,5.75,11.85,.32,'At every phase: screen bladder, bowel, pain and intimacy. Document a meaningful goal. Close the loop on response.',15,NAVY,True); footer(s,8) #9 s=prs.slides.add_slide(blank); header(s,9,'Evidence with honesty','Offer evidence-informed care, be clear about uncertainty','Most evidence pools gynecologic cancer populations, rather than cervical cancer alone.'); rect(s,.72,2.12,3.05,3.95,NAVY,NAVY,True); text(s,1.05,2.52,2.4,.3,'2026',15,MINT,True); text(s,1.05,2.98,2.3,.8,'17\nsystematic reviews\nwith meta-analyses',24,WHITE,True); text(s,1.05,4.75,2.4,.52,'92 primary studies across cancer survivor populations',12,MINT) card(s,4.12,2.12,3.95,3.95,'WHAT WE CAN SAY',['Pelvic floor rehabilitation has therapeutic potential across bladder, bowel, sexual-function and quality-of-life outcomes.','Multimodal and individualized programmes are clinically plausible.'],TEAL) card(s,8.42,2.12,4.15,3.95,'WHAT WE CANNOT OVERSTATE',['Certainty varies across outcomes and populations.','Study quality, intervention content and outcome measures are heterogeneous.','Cervical-cancer-specific data remain limited.'],CORAL) text(s,.75,6.38,11.6,.28,'Source: Hao et al. Pelvic floor rehabilitation in cancer survivorship: umbrella review. J Cancer Surviv. 2026. PMID 39581933.',9,GREY); footer(s,9) #10 s=prs.slides.add_slide(blank); header(s,10,'Service model','One door, many skills','The core team varies by setting. Shared language and feedback loops matter.'); circle(s,5.76,3.35,1.35,TEAL,'SURVIVOR\nGOALS',16,WHITE) roles=[(2.0,2.25,'Gyn oncologist','Safety, surveillance, referral',NAVY),(9.25,2.25,'Pelvic health PT','Assessment and rehabilitation lead',TEAL),(1.75,5.1,'Urology / GI','Complex bladder and bowel care',GOLD),(9.2,5.1,'Psychosexual care','Pain, intimacy, mental health',CORAL),(5.4,5.65,'Radiation oncology','Toxicity and tissue effects',NAVY)] for x,y,t,b,c in roles: rect(s,x,y,2.6,.94,WHITE,PALE,True); rect(s,x,y,.08,.94,c,c); text(s,x+.18,y+.18,2.15,.2,t,12,INK,True); text(s,x+.18,y+.47,2.18,.23,b,10,GREY) # connectors visually for a,b in [((4.6,2.7),(5.75,3.6)),((9.25,2.7),(7.1,3.6)),((4.35,5.1),(5.75,4.7)),((9.2,5.1),(7.1,4.7)),((6.7,5.65),(6.45,4.72))]:line(s,*a,*b,PALE,1.2) text(s,.72,6.62,11.5,.22,'Shared language: identify the impairment, name the goal, agree the next step, review the response.',13,NAVY,True); footer(s,10) #11 s=prs.slides.add_slide(blank); header(s,11,'Case application','The right intervention begins with the right question','Illustrative case. Management must be individualized and coordinated with the oncology team.'); rect(s,.72,2.2,3.35,3.9,NAVY,NAVY,True); text(s,1.03,2.55,2.7,.26,'AYA, 42 YEARS',12,MINT,True); text(s,1.03,3.04,2.65,1.05,'6 months after\nchemoradiation + brachytherapy',19,WHITE,True); text(s,1.03,4.58,2.62,.75,'Urgency • pain with penetration • fear of exercise',13,MINT) for y,t,b,c in [(2.25,'ASSESS','Bladder diary, consent-led assessment, tissue safety, pelvic-floor overactivity/coordination, goals',TEAL),(3.55,'PLAN','Education, bladder strategies, down-training and graded exposure; consider vaginal rehabilitation where appropriate',CORAL),(4.85,'OUTCOME','Less urgency, improved exam tolerance and return to valued movement or intimacy goals',GOLD)]: circle(s,4.65,y,.46,c); text(s,5.35,y+.02,1.15,.2,t,12,c,True); text(s,6.5,y,5.55,.58,b,13,INK) line(s,4.88,2.72,4.88,5.13,PALE,1.4); text(s,4.65,6.38,7.3,.28,'Do not assume: “weak pelvic floor,” “needs Kegels,” or “symptoms are expected.”',14,NAVY,True); footer(s,11) #12 s=prs.slides.add_slide(blank); header(s,12,'Start where you are','A 90-day implementation sprint','Build a service, not just a referral.'); for x,num,title,body,c in [(0.72,'0-30','MAP',['Agree red flags','Choose a 4-domain screen','Map referral routes'],TEAL),(4.52,'31-60','PILOT',['Train clinic team','Pilot in one clinic','Create patient handout'],GOLD),(8.32,'61-90','MEASURE',['Audit uptake and delay','Review patient outcomes','Refine pathway'],CORAL)]: rect(s,x,2.25,3.25,3.25,WHITE,PALE,True); text(s,x+.28,2.55,1.3,.25,num+' days',13,c,True); text(s,x+.28,3.05,2.5,.36,title,22,NAVY,True); rich(s,x+.25,3.75,2.65,1.3,[(z,13,GREY,False,True) for z in body]) text(s,.72,6.25,11.65,.34,'Minimum viable pathway: four questions, a clear red-flag process, a named pelvic-health contact and outcome review.',15,NAVY,True); footer(s,12) #13 s=prs.slides.add_slide(blank); rect(s,0,0,W,H,NAVY); rect(s,0,0,.18,H,TEAL); text(s,.82,.72,4.2,.25,'TAKE-HOME MESSAGES',11,MINT,True); text(s,.82,1.18,9.6,.7,'Rebuild the base.\nRestore the life.',33,WHITE,True) msgs=[('01','Ask early','Bladder, bowel, pain and intimacy are survivorship outcomes.',TEAL),('02','Assess the phenotype','Do not prescribe generic strengthening without a symptom and function assessment.',GOLD),('03','Build the pathway','A named, coordinated pelvic-health route makes recovery actionable.',CORAL)] for i,(n,t,b,c) in enumerate(msgs): x=.82+i*4.05; circle(s,x,3.5,.58,c,n,13); text(s,x,4.35,3.45,.3,t,16,WHITE,True); text(s,x,4.82,3.35,.55,b,13,MINT) text(s,.82,6.43,11.7,.25,'“No recurrence” is not “no morbidity.”',16,WHITE,True) #14 references s=prs.slides.add_slide(blank); header(s,14,'Selected references','Evidence base and further reading','References should be adapted to local guideline and institutional requirements.'); refs=['Hao J, et al. Pelvic floor rehabilitation in cancer survivorship: an umbrella review. Journal of Cancer Survivorship. 2026. PMID: 39581933.','Cyr MP, et al. Effectiveness of pelvic floor muscle and education-based therapies in females treated for gynecological cancer: a systematic review. Current Oncology Reports. 2024;26:1400-1429. PMID: 39177709.','Li X, et al. Analysis of the effectiveness of pelvic floor rehabilitation exercise in postoperative patients with cervical cancer. Frontiers in Oncology. 2023;13:1118794. PMCID: PMC10204585.','World Health Organization. Rehabilitation Package: Module 7. 2023.'] rich(s,.82,2.15,11.45,3.4,[(r,14,INK,False,True) for r in refs]) rect(s,.82,6.02,11.55,.58,PALEBLUE,PALEBLUE,True); text(s,1.1,6.19,10.95,.2,'Educational content only. Clinical assessment and treatment should be individualized within local scope of practice.',11,NAVY,True,align=PP_ALIGN.CENTER); footer(s,14) prs.core_properties.title='Rebuilding the Base: Pelvic Floor Rehabilitation in Cervical Cancer Survivorship'; prs.core_properties.subject='Educational conference presentation'; prs.core_properties.author='' prs.save(OUT) print(OUT) PY python "/tmp/workspace/pelvic-floor-final/src/build_final.py"

Running Command

python -c "from pptx import Presentation; from pptx.util import Inches; p=r'/tmp/workspace/pelvic-floor-final/output/Rebuilding_the_Base_Final_Cervical_Cancer_Survivorship.pptx'; prs=Presentation(p); W,H=prs.slide_width,prs.slide_height; print('slides',len(prs.slides)); errors=[] for i,s in enumerate(prs.slides,1): texts=[sh.text.strip().replace('\\n',' / ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] bad=[sh.name for sh in s.shapes if sh.left<0 or sh.top<0 or sh.left+sh.width>W or sh.top+sh.height>H] if bad: errors.append((i,bad)) print(f'{i:02d}: shapes={len(s.shapes):02d} text={len(texts):02d} | '+(' | '.join(texts[:2]))[:160]) print('OUT_OF_BOUNDS',errors) print('size_bytes',__import__('os').path.getsize(p))"

Created a polished, consolidated 14-slide final presentation from both attached decks.
Key improvements:
  • Clearer clinical narrative: screening, assessment, safety triage, tailored rehabilitation, pathway, implementation
  • Consistent conference-ready design and typography
  • Reduced duplication and tightened wording
  • Added an evidence slide with a 2026 umbrella review and transparent limits of cervical-cancer-specific evidence
  • Included references and a practical 90-day service implementation plan
  • Checked that all slide objects are within the slide boundaries

Rebuilding the Base Final Cervical Cancer Survivorship

Presentation · PPTX

Female Pelvic Cancer Survivors’ Experiences of Pelvic Floor Muscle Training After Pelvic Radiotherapy Lindgren A., Börjeson S., Dunberger G. (2024) Supportive Care in Cancer, 32, 844 Study Purpose To explore women’s experiences of a 3-month pelvic floor muscle training (PFMT) programme, with or without physiotherapist support, following pelvic radiotherapy and in the presence of urinary and/or fecal incontinence. Study Design Qualitative interview study involving 11 women, aged 47–83 years Pelvic cancer survivors with urinary and/or fecal incontinence Radiotherapy completed 3–60 months before participation 3-month PFMT programme with or without physiotherapist support Physiotherapy support included individual guidance, biofeedback and group training Key Findings A structured PFMT programme improved motivation, adherence and confidence. Physiotherapist guidance and biofeedback helped women identify and correctly activate the pelvic floor muscles. PFMT was associated with perceived: Increased pelvic floor muscle strength Reduced urinary and fecal leakage Improved ability to control urgency Reduced anxiety and greater confidence in daily activities Increased participation in physical activity Improved sexual health Home training was convenient but could be difficult to maintain without supervision. Group training provided motivation and peer support but was challenging for some due to privacy concerns and travel requirements. Some women reported increased pelvic floor pain, highlighting the need for individualized assessment and exercise progression. Clinical Implication PFMT, supported by a physiotherapist, should be considered an integral component of pelvic cancer rehabilitation to address incontinence, pelvic floor dysfunction and quality-of-life concerns. Take-Home Message: “Correct activation + individualized guidance + consistent practice = meaningful pelvic floor rehabilitation.” Add additional two slides in the presentation for this evidence-based slide

Reading File
Reading File
Browsing Directory

/tmp/workspace

Searching PubMed

Lindgren Börjeson Dunberger pelvic floor muscle training radiotherapy

Searching the Web

Lindgren Borjeson Dunberger 2024 Female Pelvic Cancer Survivors Experiences Pelvic Floor Muscle Training After Pelvic Radiotherapy

Reading File
Reading Article

PMID: 39623242

Finding Sources
Running Command

python -c "from pptx import Presentation; p=r'/tmp/workspace/pelvic-floor-final/output/Rebuilding_the_Base_Final_Cervical_Cancer_Survivorship.pptx'; prs=Presentation(p); print('slides',len(prs.slides)); print('last:', ' | '.join(sh.text.replace('\\n',' / ') for sh in prs.slides[-1].shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()))"

Browsing Directory

~/pelvic-floor-final

The evidence addition can be structured into two focused slides:
  1. Study at a glance
    • Purpose, design, participant characteristics, programme format, and physiotherapist support.
  2. What participants experienced
    • Motivation and correct activation, perceived continence and urgency improvements, benefits and limits of home/group delivery, pain caution, and clinical implication.
  3. Integration into the final deck
    • Add both slides immediately before the existing “Evidence with honesty” slide.
    • Update the reference slide with: Lindgren A, Börjeson S, Dunberger G. Supportive Care in Cancer. 2024;32:844. PMID 39623242. DOI: 10.1007/s00520-024-09041-w.
This qualitative study supports the presentation’s core message that PFMT is most useful when it is structured, individualized, and supported by a pelvic-health physiotherapist. It should be presented as participant-reported experience, not as definitive proof of treatment efficacy. The reported increase in pain in some women also reinforces the need for assessment and appropriate progression.

Add these two evidence slides to the final PPTX

Reading File
Reading File
Browsing Directory

/tmp/workspace

Searching the Web

PMID 39623242 Lindgren Börjeson Dunberger PFMT pelvic radiotherapy 2024

Searching PubMed

Lindgren Börjeson Dunberger pelvic floor radiotherapy

Running Command

python -c "from pptx import Presentation; p=r'/tmp/workspace/pelvic-floor-final/output/Rebuilding_the_Base_Final_Cervical_Cancer_Survivorship.pptx'; prs=Presentation(p); print('slides',len(prs.slides)); for i,s in enumerate(prs.slides,1): print(i, ' | '.join(sh.text.replace('\\n',' / ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip())[:180])"

Running Command

cat > "/tmp/workspace/pelvic-floor-final/src/add_lindgren_evidence_slides.py" <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.dml.color import RGBColor from copy import deepcopy import os SRC='/tmp/workspace/pelvic-floor-final/output/Rebuilding_the_Base_Final_Cervical_Cancer_Survivorship.pptx' OUT='/tmp/workspace/pelvic-floor-final/output/Rebuilding_the_Base_Final_Cervical_Cancer_Survivorship_with_Lindgren_Evidence.pptx' prs=Presentation(SRC) W,H=13.333,7.5 NAVY=RGBColor(13,38,63); INK=RGBColor(25,39,51); TEAL=RGBColor(0,128,132); MINT=RGBColor(214,241,233); CORAL=RGBColor(230,105,91); GOLD=RGBColor(234,181,76); WHITE=RGBColor(255,255,255); GREY=RGBColor(94,107,117); PALE=RGBColor(232,239,239); PALEBLUE=RGBColor(224,239,244) blank=prs.slide_layouts[6] def rect(s,x,y,w,h,fill,line=None,rad=False): sh=s.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if rad 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 if rad: sh.adjustments[0]=0.12 return sh def text(s,x,y,w,h,txt,size=18,color=INK,bold=False,align=PP_ALIGN.LEFT,valign=MSO_ANCHOR.TOP,margin=.03): 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(margin); tf.margin_top=tf.margin_bottom=Inches(margin); tf.vertical_anchor=valign for j,line in enumerate(txt.split('\n')): p=tf.paragraphs[0] if j==0 else tf.add_paragraph(); p.alignment=align; p.space_after=Pt(0); p.space_before=Pt(0) r=p.add_run(); r.text=line; r.font.name='Aptos'; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color return sh def rich(s,x,y,w,h,items,space=7): 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(.05); tf.margin_top=tf.margin_bottom=Inches(.03) for j,(tx,sz,col,bold,bullet) in enumerate(items): p=tf.paragraphs[0] if j==0 else tf.add_paragraph(); p.alignment=PP_ALIGN.LEFT; p.space_after=Pt(space) p.text=('• ' if bullet else '')+tx for r in p.runs: r.font.name='Aptos'; r.font.size=Pt(sz); r.font.bold=bold; r.font.color.rgb=col return sh def line(s,x1,y1,x2,y2,color=PALE,width=1.2): sh=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,Inches(x1),Inches(y1),Inches(x2),Inches(y2)); sh.line.color.rgb=color; sh.line.width=Pt(width); return sh def circle(s,x,y,d,fill,txt='',ts=12,tc=WHITE): sh=s.shapes.add_shape(MSO_SHAPE.OVAL, Inches(x), Inches(y), Inches(d), Inches(d)); sh.fill.solid(); sh.fill.fore_color.rgb=fill; sh.line.color.rgb=fill if txt: text(s,x,y+.01,d,d-.02,txt,ts,tc,True,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) return sh def header(s,num,label,title,sub=''): rect(s,0,0,W,.16,TEAL); text(s,.65,.36,2.5,.25,label.upper(),10,TEAL,True); text(s,.65,.69,11.5,.55,title,27,NAVY,True) if sub: text(s,.67,1.30,11.8,.32,sub,12,GREY) text(s,12.05,.37,.6,.25,f'{num:02d}',10,TEAL,True,PP_ALIGN.RIGHT) line(s,.65,1.72,12.67,1.72,PALE) def footer(s,n): line(s,.65,7.08,12.67,7.08,PALE,.7); text(s,.65,7.16,7,.18,'CERVICAL CANCER SURVIVORSHIP • PELVIC FLOOR REHABILITATION',8,GREY,True); text(s,12.1,7.16,.55,.18,str(n),8,GREY,True,PP_ALIGN.RIGHT) def card(s,x,y,w,h,title,body,accent): rect(s,x,y,w,h,WHITE,PALE,True); rect(s,x,y,.07,h,accent,accent); text(s,x+.23,y+.17,w-.4,.26,title,14,INK,True); rich(s,x+.22,y+.56,w-.45,h-.65,[(z,12,GREY,False,True) for z in body],6) # New slide 9: evidence at a glance s1=prs.slides.add_slide(blank) header(s1,9,'Evidence spotlight','What did women experience after pelvic radiotherapy?','Lindgren, Börjeson & Dunberger, Supportive Care in Cancer, 2024') # Study card rect(s1,.72,2.13,3.2,3.82,NAVY,NAVY,True) text(s1,1.04,2.45,2.5,.24,'QUALITATIVE INTERVIEW STUDY',11,MINT,True) text(s1,1.04,2.87,2.45,.78,'11 women\naged 47-83 years',22,WHITE,True) line(s1,1.04,3.9,3.35,3.9,RGBColor(74,109,135),1) rich(s1,1.01,4.16,2.58,1.3,[('Pelvic cancer survivors with urinary and/or fecal incontinence',12,MINT,False,True),('Radiotherapy completed 3-60 months before participation',12,MINT,False,True)]) # Program visual text(s1,4.43,2.18,7.6,.26,'3-MONTH PFMT PROGRAMME',15,TEAL,True) items=[('Structured PFMT','Practice plan and daily-routine strategies',TEAL),('Optional physiotherapist support','Individual guidance, biofeedback and group training',GOLD),('Interviews after the programme','Qualitative content analysis of participant experiences',CORAL)] for i,(t,b,c) in enumerate(items): x=4.43+i*2.72; circle(s1,x,2.78,.52,c,str(i+1),13); text(s1,x,3.52,2.45,.38,t,14,INK,True); text(s1,x,4.06,2.4,.77,b,12,GREY) if i<2: line(s1,x+.55,3.04,x+2.6,3.04,PALE,1.5) rect(s1,4.43,5.53,7.75,.46,PALEBLUE,PALEBLUE,True) text(s1,4.67,5.66,7.2,.18,'Interpretation: a qualitative study of perceived experiences, not a standalone efficacy estimate.',10,NAVY,True,PP_ALIGN.CENTER) text(s1,.72,6.4,11.7,.24,'Source: Lindgren A, Börjeson S, Dunberger G. Support Care Cancer. 2024;32:844. PMID 39623242.',9,GREY) footer(s1,9) # New slide 10: reported insights and clinical response s2=prs.slides.add_slide(blank) header(s2,10,'Participant insights','Correct activation, guidance and consistent practice made the difference','Reported experience should guide a supported, individualized approach.') card(s2,.72,2.13,3.72,2.95,'WHAT HELPED',['A structured programme and planned follow-up','Physiotherapist guidance and biofeedback to identify correct activation','Daily-routine strategies, motivation and peer support'],TEAL) card(s2,4.80,2.13,3.72,2.95,'WHAT WOMEN PERCEIVED',['More pelvic floor strength','Less urinary and fecal leakage; better urgency control','Less anxiety, more confidence, activity participation and sexual-health benefits'],GOLD) card(s2,8.88,2.13,3.72,2.95,'WHAT NEEDS INDIVIDUALIZATION',['Home and group formats were both facilitators and barriers','Privacy and travel affected group participation','Pain improved for some but increased for others'],CORAL) rect(s2,.72,5.57,11.88,.66,NAVY,NAVY,True) text(s2,1.02,5.74,11.25,.24,'Clinical implication: PFMT should be offered within pelvic cancer rehabilitation, with assessment, correct activation, individualized progression and physiotherapist support.',13,WHITE,True,PP_ALIGN.CENTER) text(s2,.72,6.46,11.7,.25,'Take-home message: Correct activation + individualized guidance + consistent practice = meaningful pelvic floor rehabilitation.',12,NAVY,True,PP_ALIGN.CENTER) footer(s2,10) # Move the two newly appended slides to after original slide 8 slides_xml=prs.slides._sldIdLst ids=list(slides_xml) for el in ids[-2:]: slides_xml.remove(el) insert_at=8 slides_xml.insert(insert_at, ids[-2]) slides_xml.insert(insert_at+1, ids[-1]) # Renumber original slides after inserted evidence slides: original 9 through 14 become 11 through 16. # Update only the small numeric header/footer text shapes based on exact-string matches. for slide_idx in range(10, len(prs.slides)): old_num=slide_idx-1 # after insertion, slide idx 10 (0-based) is original #9 new_num=slide_idx+1 old_header=f'{old_num:02d}'; new_header=f'{new_num:02d}' for sh in prs.slides[slide_idx].shapes: if not getattr(sh,'has_text_frame',False): continue current=sh.text.strip() if current==old_header: sh.text_frame.paragraphs[0].runs[0].text=new_header elif current==str(old_num): sh.text_frame.paragraphs[0].runs[0].text=str(new_num) # add Lindgren reference to selected references slide and preserve style with an appended paragraph refslide=prs.slides[-1] for sh in refslide.shapes: if getattr(sh,'has_text_frame',False) and 'Hao J, et al.' in sh.text: tf=sh.text_frame p=tf.add_paragraph(); p.text='• Lindgren A, Börjeson S, Dunberger G. Female pelvic cancer survivors’ experiences of pelvic floor muscle training after pelvic radiotherapy. Support Care Cancer. 2024;32:844. PMID: 39623242. doi:10.1007/s00520-024-09041-w.' p.space_after=Pt(6) for r in p.runs: r.font.name='Aptos'; r.font.size=Pt(11); r.font.color.rgb=INK break prs.save(OUT) print(OUT) PY python "/tmp/workspace/pelvic-floor-final/src/add_lindgren_evidence_slides.py"

Running Command

python -c "from pptx import Presentation; import os; p=r'/tmp/workspace/pelvic-floor-final/output/Rebuilding_the_Base_Final_Cervical_Cancer_Survivorship_with_Lindgren_Evidence.pptx'; prs=Presentation(p); W,H=prs.slide_width,prs.slide_height; print('slides',len(prs.slides),'bytes',os.path.getsize(p)); errors=[] for i,s in enumerate(prs.slides,1): bad=[sh.name for sh in s.shapes if sh.left<0 or sh.top<0 or sh.left+sh.width>W or sh.top+sh.height>H] texts=[sh.text.strip().replace('\\n',' / ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] if bad: errors.append((i,bad)) print(f'{i:02d}: '+(' | '.join(texts[:3]))[:180]) print('OUT_OF_BOUNDS',errors)"

Added two evidence-based slides after the rehabilitation pathway slide:
  • Evidence Spotlight: study purpose, qualitative design, participants, programme and physiotherapist support.
  • Participant Insights: reported benefits, barriers, pain caution, and clinical implication.
Also updated the reference slide with the Lindgren et al. 2024 study. The final deck is now 16 slides and has been checked for out-of-bounds objects.

Rebuilding the Base Final Cervical Cancer Survivorship with Lindgren Evidence

Presentation · PPTX

please review both presentations , please make good professional presentation

Reading File
Reading File
Browsing Directory

/tmp/workspace

Searching the Web

cervical cancer survivorship pelvic floor rehabilitation evidence 2024 2025 guideline

Searching PubMed

cervical cancer pelvic floor rehabilitation survivorship

Browsing Directory

~/attachments/3d837633-6011-492c-b8f9-57256c33a43a

Running Command

mkdir -p "/tmp/workspace/pelvic-floor-professional/src" "/tmp/workspace/pelvic-floor-professional/output" && python -c "from pptx import Presentation; import os; paths=[r'/tmp/workspace/attachments/3d837633-6011-492c-b8f9-57256c33a43a/Rebuilding_the_Base_MERGED (1).pptx',r'/tmp/workspace/attachments/3d837633-6011-492c-b8f9-57256c33a43a/Rebuilding_the_Base_Final_Cervical_Cancer_Survivorship_with_Lindgren_Evidence.pptx']; out=r'/tmp/workspace/pelvic-floor-professional/src/audit.txt'; f=open(out,'w'); for path in paths: p=Presentation(path); f.write('\\n'+'='*80+'\\n'+os.path.basename(path)+f' | slides={len(p.slides)} | dimensions={p.slide_width}x{p.slide_height}\\n') for i,s in enumerate(p.slides,1): tx=[sh.text.strip().replace('\\n',' / ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()]; f.write(f'S{i:02d} ({len(s.shapes)} objects): '+' || '.join(tx)+'\\n') f.close()"

Reading File
Reading File
Reading File
Reading File
Running Command

python -c "from pptx import Presentation; p=r'/tmp/workspace/attachments/3d837633-6011-492c-b8f9-57256c33a43a/Rebuilding_the_Base_MERGED (1).pptx'; prs=Presentation(p); for i,s in enumerate(prs.slides,1): ts=[sh.text.strip().replace('\\n',' / ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()]; print(f'{i:02d}: '+(' | '.join(ts[:3]))[:260])"

Running Command

cat > "/tmp/workspace/pelvic-floor-professional/src/build_professional_deck.py" <<'PY' from pptx import Presentation from pptx.util import Inches, Pt from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.dml.color import RGBColor OUT='/tmp/workspace/pelvic-floor-professional/output/Rebuilding_the_Base_Professional_Conference_Deck.pptx' prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5); blank=prs.slide_layouts[6] N=RGBColor(12,35,58); T=RGBColor(0,125,130); M=RGBColor(215,241,233); C=RGBColor(220,98,83); G=RGBColor(225,173,68); I=RGBColor(29,43,55); W=RGBColor(255,255,255); GR=RGBColor(92,105,115); P=RGBColor(230,238,239); B=RGBColor(226,240,244) SW,SH=13.333,7.5 def box(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 if round: sh.adjustments[0]=0.12 return sh def tx(s,x,y,w,h,v,sz=16,col=I,bold=False,align=PP_ALIGN.LEFT,vert=MSO_ANCHOR.TOP): sh=s.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h)); f=sh.text_frame;f.clear();f.word_wrap=True;f.margin_left=f.margin_right=Inches(.04);f.margin_top=f.margin_bottom=Inches(.02);f.vertical_anchor=vert for k,a in enumerate(v.split('\n')): p=f.paragraphs[0] if k==0 else f.add_paragraph();p.alignment=align;p.space_after=Pt(0);r=p.add_run();r.text=a;r.font.name='Aptos';r.font.size=Pt(sz);r.font.bold=bold;r.font.color.rgb=col return sh def bullets(s,x,y,w,h,arr,sz=13,col=GR): sh=s.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h));f=sh.text_frame;f.clear();f.word_wrap=True;f.margin_left=f.margin_right=Inches(.05);f.margin_top=Inches(.02) for j,a in enumerate(arr): p=f.paragraphs[0] if j==0 else f.add_paragraph();p.text='• '+a;p.space_after=Pt(8) for r in p.runs:r.font.name='Aptos';r.font.size=Pt(sz);r.font.color.rgb=col return sh def ln(s,x,y,x2,y2,col=P,w=1): sh=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,Inches(x),Inches(y),Inches(x2),Inches(y2));sh.line.color.rgb=col;sh.line.width=Pt(w) def dot(s,x,y,d,col,label='',fs=13): sh=s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(x),Inches(y),Inches(d),Inches(d));sh.fill.solid();sh.fill.fore_color.rgb=col;sh.line.color.rgb=col if label:tx(s,x,y+.01,d,d-.02,label,fs,W,True,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) def head(s,n,kicker,title,sub=''): box(s,0,0,SW,.16,T);tx(s,.66,.36,3,.2,kicker.upper(),10,T,True);tx(s,.66,.68,11.4,.52,title,26,N,True);tx(s,12.05,.37,.6,.2,f'{n:02d}',10,T,True,PP_ALIGN.RIGHT) if sub:tx(s,.67,1.3,11.6,.25,sub,12,GR) ln(s,.66,1.72,12.67,1.72,P) def foot(s,n): ln(s,.66,7.08,12.67,7.08,P,.7);tx(s,.66,7.15,7,.18,'CERVICAL CANCER SURVIVORSHIP • PELVIC FLOOR REHABILITATION',8,GR,True);tx(s,12.1,7.15,.55,.18,str(n),8,GR,True,PP_ALIGN.RIGHT) def card(s,x,y,w,h,title,items,accent=T,fs=12): box(s,x,y,w,h,W,P,True);box(s,x,y,.07,h,accent,accent);tx(s,x+.25,y+.18,w-.4,.24,title,14,I,True);bullets(s,x+.22,y+.54,w-.42,h-.62,items,fs) def basic(n,k,t,sub,cols): s=prs.slides.add_slide(blank);head(s,n,k,t,sub) cw=(11.85-(len(cols)-1)*.28)/len(cols) for i,(h,items,co) in enumerate(cols):card(s,.72+i*(cw+.28),2.12,cw,3.72,h,items,co) foot(s,n);return s # 1 Title s=prs.slides.add_slide(blank);box(s,0,0,SW,SH,N);box(s,0,0,.16,SH,T) for x,y,d,col in [(9.1,.9,1.55,T),(10.4,1.3,.7,G),(9.7,2.8,.9,C),(11.1,3.25,.45,M)]:dot(s,x,y,d,col) tx(s,.8,.78,4,.2,'CONFERENCE SESSION • CLINICAL SURVIVORSHIP PROGRAM',11,M,True);tx(s,.78,1.55,8,1.35,'Rebuilding\nthe Base',41,W,True);tx(s,.82,3.58,7.4,.38,'Pelvic floor rehabilitation in cervical cancer survivorship',20,M);tx(s,.82,4.28,7.3,.38,'A whole-person, multidisciplinary pathway from treatment to recovery',15,W);tx(s,.82,6.5,8,.25,'Presenter | Institution | Conference | 2026',11,M) #2 objectives basic(2,'Session roadmap','What this session delivers','A practical pathway for oncology, pelvic-health and supportive-care teams.',[ ('1 Recognize',['Screen bladder, bowel, pain and intimacy routinely','Understand common treatment-related mechanisms'],T),('2 Assess',['Use consent-forward, phenotype-led evaluation','Identify red flags and define functional goals'],G),('3 Restore',['Match intervention to impairment','Coordinate referral, review and escalation'],C)]) #3 case s=prs.slides.add_slide(blank);head(s,3,'Framing case','Meet the survivor behind the pathway','Return to this case at the close.');box(s,.72,2.1,4.0,3.95,N,N,True);tx(s,1.03,2.45,3.35,.22,'CASE VIGNETTE',11,M,True);tx(s,1.03,2.94,3.2,1.12,'38 years old\n18 months after chemoradiation + brachytherapy',20,W,True);tx(s,1.03,4.68,3.25,.65,'Dyspareunia • vaginal tightness • pelvic pain • urinary urgency',13,M) card(s,5.08,2.1,3.42,3.95,'WHAT SHE HAS NOT RECEIVED',['Routine pelvic function screen','Pelvic floor assessment','Clear referral pathway','Support for intimacy and partner communication'],T) card(s,8.87,2.1,3.7,3.95,'DISCUSSION PROMPT',['What happens in your clinic today?','Who assesses her first?','What needs medical review before rehabilitation?','Which outcome matters most to her?'],C) foot(s,3) #4 whole person basic(4,'Foundations','Recovery is whole-person, not just “pelvic floor”','Symptoms often share mechanisms and should not be managed in isolated silos.',[ ('Bladder',['Urgency, leakage, difficult emptying','Painful bladder symptoms'],T),('Bowel',['Constipation, urgency, leakage','Evacuation difficulty'],G),('Pain & intimacy',['Dyspareunia, guarding, stenosis','Activity, sleep and relationship impact'],C)]) #5 anatomy functional s=prs.slides.add_slide(blank);head(s,5,'Foundations','Pelvic floor: a functional system','Anatomy matters because symptoms map to muscle, fascia, nerve and tissue change.'); for x,no,ti,bo,co in [(0.72,'1','Support','Levator ani and connective tissue support bladder, vagina and rectum.',T),(4.52,'2','Continence','External urethral and anal sphincters coordinate voluntary closure.',G),(8.32,'3','Coordination','Pudendal and autonomic pathways link bladder, bowel, sexual function and pelvic-floor activity.',C)]: dot(s,x,2.35,.58,co,no);tx(s,x,3.17,3.1,.28,ti,17,I,True);tx(s,x,3.66,3.15,.78,bo,13,GR) ln(s,1.0,2.64,10.7,2.64,P,1.5);box(s,.72,5.46,11.88,.56,B,B,True);tx(s,1,5.63,11.3,.2,'Clinical lens: treatment can affect strength, relaxation, sensation, tissue compliance and coordination.',14,N,True,PP_ALIGN.CENTER);foot(s,5) #6 mechanisms basic(6,'Mechanisms','Different treatments, converging pelvic consequences','History of treatment guides the safety check and the rehabilitation hypothesis.',[ ('Surgery',['Autonomic nerve disruption','Scar and altered support','Voiding or defecatory dysfunction'],T),('Radiotherapy ± brachytherapy',['Fibrosis and reduced compliance','Mucosal change and shortening','Irritative bladder and bowel symptoms'],C),('Menopause / systemic effects',['Dryness and genitourinary symptoms','Fatigue and deconditioning','Mood, body image and fear'],G)]) #7 timeline s=prs.slides.add_slide(blank);head(s,7,'Treatment effects','Radiation injury evolves over time','Late effects can emerge or progress months to years after treatment.'); for x,h,b,co in [(0.72,'Acute\ndays-weeks','Inflammation, oedema, irritative symptoms, fatigue',T),(4.48,'Subacute\nweeks-months','Microvascular injury, early collagen deposition, loss of elasticity',G),(8.24,'Chronic\nmonths-years','Fibrosis, stenosis, hypertonicity, pain and participation restriction',C)]: box(s,x,2.25,3.15,2.65,W,P,True);box(s,x,2.25,3.15,.1,co,co);tx(s,x+.28,2.6,2.5,.55,h,17,I,True);tx(s,x+.28,3.55,2.45,.7,b,13,GR) ln(s,2.1,5.38,10.25,5.38,P,2);tx(s,.72,6.05,11.8,.36,'Therapeutic implication: assess tissue tolerance and guarding before assuming weakness or prescribing strengthening.',15,N,True,PP_ALIGN.CENTER);foot(s,7) #8 gsm basic(8,'Clinical spotlight','Genitourinary syndrome of menopause and radiation effects','These mechanisms commonly overlap. Treat the symptom pattern, not a single label.',[ ('Possible symptoms',['Dryness, burning, irritation','Dyspareunia','Urgency/frequency; recurrent UTI symptoms'],C),('First-line support',['Vaginal moisturizers and lubricants','Education and pelvic-health rehabilitation','Review pain, tissue tolerance and function'],T),('Coordinate care',['Consider local estrogen only when oncologically appropriate','Shared decision-making with gynecologic oncology'],G)]) #9 screen s=prs.slides.add_slide(blank);head(s,9,'Screening','A 3-minute screen makes pelvic function visible','At transition and each relevant follow-up: ask permission, normalize, listen.'); qs=[('1','BLADDER','Leakage, urgency, pain or difficulty emptying?'),('2','BOWEL','Urgency, constipation, leakage or bleeding?'),('3','VAGINAL / SEXUAL','Dryness, tightness, pain, intimacy or examination change?'),('4','PAIN / FUNCTION','Pelvic pain, heaviness, fear of movement or activity restriction?')] for i,(n,a,b) in enumerate(qs): x=.72+(i%2)*6.04;y=2.13+(i//2)*1.65;dot(s,x,y,.5,T,n);tx(s,x+.7,y+.03,4.7,.18,a,12,T,True);tx(s,x+.7,y+.35,4.8,.45,b,14,I) box(s,.72,5.68,11.88,.52,B,B,True);tx(s,.95,5.84,11.4,.18,'Positive screen → document severity and a meaningful goal → triage safety → refer or manage.',13,N,True,PP_ALIGN.CENTER);foot(s,9) #10 assessment basic(10,'Assessment','Phenotype before prescription','Assessment is consent-led. Internal examination is never automatic and only occurs when appropriate.',[ ('Listen',['Treatment timeline and symptom triggers','Bladder/bowel diary','Pain, sexual and functional goals'],T),('Examine',['Movement, breathing, abdominal wall, scars','External and internal assessment with explicit consent','Tone, tenderness, strength, relaxation, mobility'],G),('Measure & classify',['ICIQ-UI, PFDI-20, pain NRS, goal attainment','Overactive/guarding • underactive • incoordination • tissue restriction • mixed'],C)]) #11 safety basic(11,'Safety','Triage before therapy','New, progressive or unexplained symptoms warrant medical evaluation before attribution to pelvic-floor dysfunction.',[ ('Red flags',['New or worsening pain','Vaginal, rectal or urinary bleeding','Suspected infection or fistula','Retention, obstruction or systemic symptoms'],C),('Clinical review',['Recurrence surveillance status','Treatment and medication history','Focused examination when appropriate','Urology, GI or pain input'],G),('Then rehabilitate',['Pelvic health physiotherapy assessment','Trauma-informed, patient-led care','Shared plan, follow-up and escalation route'],T)]) #12 prehab basic(12,'Prehabilitation','Begin before treatment when feasible','Baseline function and expectation-setting can reduce uncertainty and create a future referral route.',[ ('Before treatment',['Baseline bladder, bowel, pain and sexual health','Education on expected effects','Risk stratification and referral plan'],T),('During treatment',['Manage irritative symptoms','Maintain movement and confidence','Support self-management'],G),('After treatment',['Screen recovery and late effects','Initiate phenotype-based rehabilitation','Review response and participation goals'],C)]) #13 toolkit basic(13,'Remedial toolkit','Match treatment to the dominant impairment','Strengthening is one tool, not the default answer for every pelvic symptom.',[ ('Overactivity / pain',['Down-training and diaphragmatic breathing','Pain education and graded exposure','Manual techniques when indicated'],C),('Weakness / leakage',['Motor learning and progressive strengthening','“The knack” and functional loading','Bladder training'],T),('Bowel / tissue restriction',['Toileting mechanics and coordinated breathing','Fiber/fluid review','Graded vaginal rehabilitation or dilators where appropriate'],G)]) #14 PFMT s=prs.slides.add_slide(blank);head(s,14,'Remedial toolkit','Pelvic floor muscle training: match the presentation','Correct activation and progression matter more than a generic exercise sheet.'); for x,h,b,co in [(0.72,'Hypotonic / leakage','Teach isolated contraction, endurance, coordination and functional pre-contraction.',T),(4.52,'Hypertonic / pain','Prioritize relaxation, lengthening, breathing, tissue tolerance and graded exposure first.',C),(8.32,'Incoordination','Train timing with breathing, mobility and bladder/bowel mechanics.',G)]:card(s,x,2.22,3.3,2.55,h,[b],co,13) box(s,.72,5.28,11.88,.68,N,N,True);tx(s,.98,5.47,11.3,.22,'Rule: if PFMT worsens pain, urgency or guarding, reassess the diagnosis, technique, dose and tissue status.',14,W,True,PP_ALIGN.CENTER);foot(s,14) #15 manual etc basic(15,'Remedial toolkit','Adjuncts are indication-led','A multimodal programme combines education, motor retraining and symptom-directed strategies.',[ ('Manual / scar techniques',['Address tissue mobility and tenderness','Use only within consent and tissue-safety parameters'],T),('Biofeedback',['Improves awareness of activation or relaxation','Useful when verbal cueing alone is insufficient'],G),('Vaginal rehabilitation',['Lubricants/moisturizers','Dilator programme when appropriate','Partner-inclusive sexual-health support'],C)]) #16 organ specific basic(16,'Organ-specific care','Bladder and bowel symptoms need parallel management','Pelvic rehabilitation works best alongside diagnosis and medical management of organ-specific conditions.',[ ('Bladder',['Bladder diary and behavioral strategies','Fluid timing, urge suppression, pelvic-floor coordination','Refer persistent retention, hematuria or suspected infection'],T),('Bowel',['Toileting posture, fiber/fluid review, coordinated relaxation','Evaluate bleeding, severe pain and suspected radiation proctitis'],G),('Sexual health',['Normalize the conversation','Treat pain, tissue and muscle contributors','Address fear, body image and relationship impact'],C)]) #17 Lindgren study s=prs.slides.add_slide(blank);head(s,17,'Evidence spotlight','Female pelvic cancer survivors’ PFMT experiences after radiotherapy','Lindgren, Börjeson & Dunberger. Supportive Care in Cancer. 2024;32:844. PMID 39623242.');box(s,.72,2.15,3.15,3.68,N,N,True);tx(s,1.02,2.46,2.5,.22,'QUALITATIVE STUDY',11,M,True);tx(s,1.02,2.9,2.4,.8,'11 women\naged 47-83 years',22,W,True);bullets(s,1.0,4.26,2.5,1.2,['Urinary and/or fecal incontinence','Radiotherapy completed 3-60 months earlier'],12,M) card(s,4.24,2.15,3.9,3.68,'3-MONTH PFMT PROGRAMME',['PFMT with or without physiotherapist support','Support included individual guidance, biofeedback and group training','Interviews after the programme'],T) card(s,8.5,2.15,4.05,3.68,'INTERPRETATION',['Captures participant experiences and perceived change','Not a standalone efficacy estimate','Adds direct survivor voice to the evidence base'],G) foot(s,17) #18 findings basic(18,'Evidence spotlight','What participants said made PFMT work','Reported experiences reinforce structured, supported and individualized rehabilitation.',[ ('What helped',['Clear programme and daily-routine strategies','Physiotherapist guidance and biofeedback','Motivation from follow-up and peer support'],T),('Perceived benefits',['Less urinary/fecal leakage and better urgency control','More confidence, activity participation and sexual-health benefit','Reduced anxiety and greater freedom'],G),('Caution',['Home and group formats were both facilitators and barriers','Pain improved for some but increased for others','Assess and progress the programme individually'],C)]) #19 larger evidence s=prs.slides.add_slide(blank);head(s,19,'Evidence synthesis','Offer evidence-informed care, be honest about certainty','The evidence supports rehabilitation potential, but intervention content and populations are heterogeneous.');box(s,.72,2.15,3.05,3.75,N,N,True);tx(s,1.04,2.5,2.4,.2,'2026 UMBRELLA REVIEW',11,M,True);tx(s,1.04,2.95,2.1,.85,'17\nreviews with meta-analyses',23,W,True);tx(s,1.04,4.78,2.35,.4,'92 primary studies across cancer survivor populations',12,M) card(s,4.1,2.15,3.95,3.75,'WHAT WE CAN SAY',['Therapeutic potential across bladder, bowel, sexual-function and quality-of-life outcomes','Individualized, multimodal programmes are clinically plausible'],T) card(s,8.4,2.15,4.15,3.75,'WHAT WE CANNOT OVERSTATE',['Quality and certainty vary across outcomes','Cervical-cancer-specific data remain limited','Patient goals and response should guide care'],C) tx(s,.72,6.35,11.8,.22,'Source: Hao J, et al. Pelvic floor rehabilitation in cancer survivorship: umbrella review. J Cancer Surviv. 2026. PMID 39581933.',9,GR);foot(s,19) #20 pathway s=prs.slides.add_slide(blank);head(s,20,'Systems of care','A practical survivorship pathway','A named route is more useful than a generic referral.'); flow=[('1','Every follow-up','Ask 4 questions',T),('2','Positive screen','Rule out red flags; define a goal',G),('3','First-line support','Education and symptom-specific basics',C),('4','Pelvic-health referral','Full assessment and individualized plan',T),('5','Review & escalate','Outcome review; complex-care route',N)] for i,(a,b,c,co) in enumerate(flow): x=.6+i*2.52;dot(s,x,2.45,.5,co,a);tx(s,x,3.22,2.2,.33,b,14,I,True);tx(s,x,3.72,2.2,.55,c,12,GR) if i<4:ln(s,x+.55,2.7,x+2.42,2.7,P,1.5) box(s,.72,5.45,11.88,.58,B,B,True);tx(s,.95,5.62,11.4,.2,'Close the loop: confirm referral completion, measure goal progress and return the plan to the oncology team.',13,N,True,PP_ALIGN.CENTER);foot(s,20) #21 team s=prs.slides.add_slide(blank);head(s,21,'Systems of care','One door, many skills','Core roles vary by setting. Shared language keeps care connected.');dot(s,5.78,3.27,1.25,T,'SURVIVOR\nGOALS',15) roles=[(1.0,2.2,'Gynecologic oncology','Safety, surveillance, referral',N),(9.45,2.2,'Pelvic-health PT','Assessment and rehabilitation lead',T),(1.0,5.05,'Urology / GI','Complex bladder and bowel care',G),(9.45,5.05,'Psychosexual care','Pain, intimacy, mental health',C),(5.35,5.65,'Radiation oncology','Toxicity and tissue effects',N)] for x,y,a,b,co in roles:box(s,x,y,2.75,.86,W,P,True);box(s,x,y,.07,.86,co,co);tx(s,x+.2,y+.15,2.2,.18,a,12,I,True);tx(s,x+.2,y+.45,2.25,.2,b,10,GR) for a,b in [((3.75,2.62),(5.75,3.65)),((9.45,2.62),(7.0,3.65)),((3.75,5.05),(5.75,4.48)),((9.45,5.05),(7.0,4.48)),((6.75,5.65),(6.42,4.54))]:ln(s,*a,*b,P,1.2) foot(s,21) #22 implementation basic(22,'Implementation','Start where you are: a 90-day sprint','Build a service, not just a referral.',[ ('0-30 days: Map',['Agree red flags','Choose the 4-domain screen','Map referral routes'],T),('31-60 days: Pilot',['Train clinic team','Pilot in one clinic','Create patient information'],G),('61-90 days: Measure',['Audit referral completion and delay','Review patient outcomes','Refine the pathway'],C)]) #23 case resolution s=prs.slides.add_slide(blank);head(s,23,'Bringing it together','Return to the case: from symptom list to meaningful recovery','The plan follows the phenotype and the survivor’s priorities.');box(s,.72,2.15,3.2,3.78,N,N,True);tx(s,1.02,2.48,2.5,.2,'HER GOAL',11,M,True);tx(s,1.02,2.95,2.45,1.02,'“I want intimacy to feel safe again and to move without fear.”',20,W,True);tx(s,1.02,4.86,2.45,.42,'Start with safety, consent and shared priorities.',12,M) for y,a,b,co in [(2.22,'ASSESS','Screen; rule out recurrence/infection; assess guarding, tissue tolerance, bladder pattern and goals.',T),(3.55,'PLAN','Education, bladder strategies, down-training and graded exposure; consider vaginal rehabilitation where appropriate.',C),(4.88,'REVIEW','Track urgency, pain, examination tolerance and return to valued activities; escalate if needed.',G)]:dot(s,4.55,y,.45,co);tx(s,5.28,y+.02,1.1,.18,a,12,co,True);tx(s,6.3,y,5.75,.52,b,13,I) ln(s,4.78,2.68,4.78,5.15,P,1.4);foot(s,23) #24 takeaways s=prs.slides.add_slide(blank);box(s,0,0,SW,SH,N);box(s,0,0,.16,SH,T);tx(s,.82,.74,4,.2,'TAKE-HOME MESSAGES',11,M,True);tx(s,.82,1.25,9,.75,'Rebuild the base.\nRestore the life.',33,W,True) for i,(a,b,c,co) in enumerate([('01','Ask early','Bladder, bowel, pain and intimacy are survivorship outcomes.',T),('02','Assess the phenotype','Generic strengthening is not the answer to every pelvic symptom.',G),('03','Build the pathway','A named pelvic-health route makes recovery actionable.',C)]): x=.82+i*4.05;dot(s,x,3.5,.58,co,a);tx(s,x,4.35,3.42,.25,b,16,W,True);tx(s,x,4.82,3.3,.56,c,13,M) tx(s,.82,6.42,11,.24,'“No recurrence” is not “no morbidity.”',16,W,True) #25 refs s=prs.slides.add_slide(blank);head(s,25,'References','Selected evidence and further reading','Adapt to local guideline, institutional policy and scope of practice.'); refs=['Hao J, et al. Pelvic floor rehabilitation in cancer survivorship: an umbrella review. Journal of Cancer Survivorship. 2026. PMID: 39581933.','Lindgren A, Börjeson S, Dunberger G. Female pelvic cancer survivors’ experiences of pelvic floor muscle training after pelvic radiotherapy. Supportive Care in Cancer. 2024;32:844. PMID: 39623242. doi:10.1007/s00520-024-09041-w.','Cyr MP, et al. Effectiveness of pelvic floor muscle and education-based therapies in females treated for gynecological cancer: a systematic review. Current Oncology Reports. 2024. PMID: 39177709.','NCCN Guidelines Insights: Survivorship, Version 2.2024. Journal of the National Comprehensive Cancer Network. 2024.'] bullets(s,.82,2.15,11.45,3.65,refs,13,I);box(s,.82,6.1,11.55,.54,B,B,True);tx(s,1.08,6.26,11,.18,'Educational content only. Clinical assessment and treatment should be individualized within local scope of practice.',10,N,True,PP_ALIGN.CENTER);foot(s,25) prs.core_properties.title='Rebuilding the Base: Pelvic Floor Rehabilitation in Cervical Cancer Survivorship';prs.core_properties.author='';prs.save(OUT);print(OUT) PY python "/tmp/workspace/pelvic-floor-professional/src/build_professional_deck.py"

Running Command

python -c "from pptx import Presentation; import os; p=r'/tmp/workspace/pelvic-floor-professional/output/Rebuilding_the_Base_Professional_Conference_Deck.pptx'; prs=Presentation(p); W,H=prs.slide_width,prs.slide_height; print('slides',len(prs.slides),'bytes',os.path.getsize(p)); errs=[] for i,s in enumerate(prs.slides,1): bad=[sh.name for sh in s.shapes if sh.left<0 or sh.top<0 or sh.left+sh.width>W or sh.top+sh.height>H] texts=[sh.text.strip().replace('\\n',' / ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()] if bad: errs.append((i,bad)) print(f'{i:02d}: shapes={len(s.shapes):02d}; '+(' | '.join(texts[:3]))[:155]) print('out_of_bounds',errs)"

Created a refined, professional 25-slide conference presentation after reviewing both decks.
Improvements made:
  • Consolidated the long merged deck and the evidence-focused deck into a clear clinical narrative
  • Removed duplication and corrected the flow from foundations through assessment, rehabilitation, evidence, service pathway, and case resolution
  • Retained the Lindgren et al. 2024 evidence slides
  • Added consistent professional formatting, hierarchy, colors, slide numbering, and references
  • Included consent-forward assessment, red flags, phenotype-based PFMT, organ-specific care, multidisciplinary pathway, and implementation plan
  • Verified all slide objects remain within slide boundaries

Rebuilding the Base Professional Conference Deck

Presentation · PPTX

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