REBUILDING THE BASE- Pelvic Floor Rehabilitation in Cervical Cancer Survivorship PRESENTATION FOR CONFERENCE , SLIDES REQUIRED SEQUENCE PRESENTATION WITH EVIDENCE BASED

Reading File
Reading File
Reading File
What slide count and conference audience should I target?

25 SLIDES

Finding Sources
Finding Sources
Searching PubMed

"Cervical Neoplasms"[MeSH Terms] AND "pelvic floor"

Searching PubMed

"Cervical Cancer" AND rehabilitation

Searching the Web

cervical cancer survivorship pelvic floor rehabilitation guidelines sexual dysfunction lymphedema

Reading File
Browsing Directory

~/

Reading Article

PMID: 36001098

Reading Article

PMID: 39871663

Reading Article

PMID: 39765163

Reading Article

PMID: 36840978

Reading Article

PMID: 28929201

Reading Web Page

https://www.nccn.org/patients/guidelines/content/PDF/cervica…

Searching Images

female pelvic floor anatomy muscles bladder uterus rectum labelled medical illustration

Searching PubMed

"pelvic floor" AND gynecologic cancer

Searching PubMed

"Uterine Cervical Neoplasms" AND sexual rehabilitation

Finding Sources
Searching the Web

ESGO cervical cancer survivorship rehabilitation sexual health pelvic floor 2023 guideline

Reading Article

PMID: 22472463

Reading Article

PMID: 33010968

Reading Article

PMID: 35946648

Browsing Directory

~/

Browsing Directory

~/

Evidence synthesis complete. I am building the 25-slide, conference-ready deck with clinical takeaways and citations on every evidence slide.
Running Command

mkdir -p "/tmp/workspace/pelvic-floor-cervical-conference/src" "/tmp/workspace/pelvic-floor-cervical-conference/output" "/tmp/workspace/pelvic-floor-cervical-conference/assets" && python "/tmp/skills/shared/scripts/fetch_images.py" "https://cdn.orris.care/cdss_images/pmc_clinical_VQA_23c96c5e01e92e7e7dbe03221a83e84b629a3c57ff3567d7d5bb7483ae1d8a23.jpg" > "/tmp/workspace/pelvic-floor-cervical-conference/assets/fetched_images.json"

Running Command

python - <<'PY' import json,base64 p='/tmp/workspace/pelvic-floor-cervical-conference/assets/fetched_images.json' d=json.load(open(p)) for i,x in enumerate(d): if x.get('base64'): raw=base64.b64decode(x['base64'].split(',',1)[1]) open(f'/tmp/workspace/pelvic-floor-cervical-conference/assets/image_{i}.jpg','wb').write(raw) print('wrote',i,len(raw)) else: print(x) PY

Running Command

python - <<'PY' from pathlib import Path p=Path('/tmp/workspace/pelvic-floor-cervical-conference/src/build_deck.py') code=r'''from pptx import Presentation from pptx.util import Inches, Pt from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR from pptx.enum.dml import MSO_THEME_COLOR from pptx.enum.text import MSO_AUTO_SIZE from pptx.enum.shapes import MSO_SHAPE_TYPE from pptx.oxml.xmlchemy import OxmlElement from pptx.oxml.ns import qn from pptx.enum.dml import MSO_LINE_DASH_STYLE OUT='/tmp/workspace/pelvic-floor-cervical-conference/output/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship.pptx' ASSET='/tmp/workspace/pelvic-floor-cervical-conference/assets/image_0.jpg' prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5) blank=prs.slide_layouts[6] # palette NAVY=RGBColor(19,42,61); TEAL=RGBColor(16,119,124); AQUA=RGBColor(83,191,183); CORAL=RGBColor(232,111,91); GOLD=RGBColor(235,183,78); PALE=RGBColor(242,247,247); INK=RGBColor(32,49,60); MID=RGBColor(91,108,116); WHITE=RGBColor(255,255,255); LIGHT=RGBColor(221,233,233); LAV=RGBColor(237,231,246) def rect(sl,x,y,w,h,fill, line=None, radius=False): sh=sl.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if radius 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 if line else fill if radius: sh.adjustments[0]=0.12 return sh def line(sl,x1,y1,x2,y2,c=TEAL,width=1.5,dash=None): sh=sl.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(x1),Inches(y1),Inches(x2),Inches(y2)); sh.line.color.rgb=c; sh.line.width=Pt(width) if dash: sh.line.dash_style=dash return sh def textbox(sl,x,y,w,h,text,size=18,color=INK,bold=False,align=PP_ALIGN.LEFT,font='Aptos',valign=MSO_ANCHOR.TOP,margin=0.03): tb=sl.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)); tf=tb.text_frame; tf.clear(); tf.word_wrap=True tf.margin_left=tf.margin_right=Inches(margin); tf.margin_top=tf.margin_bottom=Inches(margin); tf.vertical_anchor=valign paras=text.split('\n') for i,t in enumerate(paras): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=t; p.alignment=align; p.space_after=Pt(3) for r in p.runs: r.font.name=font; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color return tb def rich(sl,x,y,w,h,paras): tb=sl.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h)); tf=tb.text_frame; tf.clear(); tf.word_wrap=True; tf.margin_left=tf.margin_right=Inches(.04); tf.margin_top=Inches(.02); tf.margin_bottom=Inches(.02) for i,(t,sz,col,bold,bullet) in enumerate(paras): p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=t; p.space_after=Pt(8); p.level=0 if bullet: p.text='• '+t for r in p.runs: r.font.name='Aptos'; r.font.size=Pt(sz); r.font.bold=bold; r.font.color.rgb=col return tb def title(sl,kicker,head,sub=''): rect(sl,0,0,13.333,.17,TEAL) textbox(sl,.55,.35,11.9,.28,kicker.upper(),10,TEAL,True) textbox(sl,.55,.67,12.15,.62,head,27,NAVY,True) if sub: textbox(sl,.57,1.33,11.8,.40,sub,12,MID) def footer(sl,n,cite=''): line(sl,.55,7.05,12.78,7.05,LIGHT,.6) textbox(sl,.55,7.12,11.6,.20,cite,7.5,MID) textbox(sl,12.18,7.09,.6,.22,f'{n:02d}',8,TEAL,True,PP_ALIGN.RIGHT) def add_bullets(sl, items, x=.75,y=2,w=5.9,h=4.4, size=17): paras=[] for item in items: if isinstance(item,tuple): paras.append((item[0],item[1],item[2],item[3],True)) else: paras.append((item,size,INK,False,True)) rich(sl,x,y,w,h,paras) def card(sl,x,y,w,h,heading,body,accent=TEAL): rect(sl,x,y,w,h,WHITE, LIGHT,True); rect(sl,x,y,.10,h,accent) textbox(sl,x+.25,y+.18,w-.4,.3,heading,13,accent,True) textbox(sl,x+.25,y+.58,w-.42,h-.72,body,12,INK) def circle(sl,x,y,d,fill,text='',ts=15): sh=sl.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 text: textbox(sl,x,y+.22,d,d-.3,text,ts,WHITE,True,PP_ALIGN.CENTER,valign=MSO_ANCHOR.MIDDLE) return sh def ref(sl,n,c): footer(sl,n,c) # 1 s=prs.slides.add_slide(blank); rect(s,0,0,13.333,7.5,NAVY); rect(s,0,0,13.333,.18,AQUA); rect(s,.62,.7,.10,4.9,CORAL) textbox(s,.95,.8,10.8,.32,'CONFERENCE PRESENTATION',12,AQUA,True) textbox(s,.95,1.35,10.5,1.40,'REBUILDING\nTHE BASE',43,WHITE,True) textbox(s,.98,3.24,9.8,.7,'Pelvic Floor Rehabilitation in Cervical Cancer Survivorship',25,RGBColor(220,239,237),False) textbox(s,.98,4.18,8.5,.45,'A treatment-informed, evidence-based pathway from symptom detection to function.',15,WHITE) textbox(s,.98,6.43,8,.28,'Presenter name | Institution | Conference | October 2026',10,RGBColor(190,210,213)) # 2 s=prs.slides.add_slide(blank); title(s,'Why this matters','Survival is not the finish line','The rehabilitation opportunity is often missed in routine follow-up.') for x,num,lab,body,c in [(0.8,'45%','sexual dysfunction','Pooled estimate in cervical cancer survivors',CORAL),(4.55,'34%','urinary incontinence','Pooled estimate after treatment',TEAL),(8.3,'11%','fecal incontinence','Pooled estimate after treatment',GOLD)]: circle(s,x,2.2,2.0,c,num,26); textbox(s,x-.1,4.4,2.2,.32,lab,14,NAVY,True,PP_ALIGN.CENTER); textbox(s,x-.25,4.77,2.5,.55,body,10,MID,False,PP_ALIGN.CENTER) textbox(s,.8,6.1,11.7,.45,'The clinical task: identify, phenotype, and treat pelvic dysfunction as a survivorship priority.',18,NAVY,True,PP_ALIGN.CENTER) ref(s,2,'Shan et al. Int Urogynecol J. 2023. Systematic review/meta-analysis. PMID: 36001098') #3 s=prs.slides.add_slide(blank); title(s,'Learning objectives','What participants will be able to do') for i,(h,b,c) in enumerate([('Recognize','Map treatment exposures to pelvic floor phenotypes.',TEAL),('Screen','Use brief, routine, trauma-informed symptom enquiry.',CORAL),('Rehabilitate','Match therapy to impairment, not to a generic Kegel prescription.',GOLD),('Integrate','Build referral, outcome measurement, and escalation into survivorship care.',AQUA)]): x=.75+(i%2)*6.15; y=2.0+(i//2)*1.85; card(s,x,y,5.6,1.35,h,b,c) ref(s,3,'Framework informed by NCCN Guidelines for Patients: Cervical Cancer, 2026; ESGO/ESTRO/ESP Cervical Cancer Guideline Update, 2023.') #4 s=prs.slides.add_slide(blank); title(s,'The base','The pelvic floor is a functional system','A survivorship assessment must look beyond strength.') # simple system diagram circle(s,1.0,2.25,1.35,TEAL,'BLADDER',11); circle(s,3.0,2.25,1.35,CORAL,'VAGINA\n/ SEXUAL',10); circle(s,5.0,2.25,1.35,GOLD,'BOWEL',11); circle(s,3.0,4.25,1.35,NAVY,'PAIN\n& TONE',10) for a,b in [((2.35,2.92),(3,2.92)),((4.35,2.92),(5,2.92)),((3.67,3.58),(3.67,4.25)),((1.7,3.58),(3,4.25)),((5,3.58),(4.35,4.25))]: line(s,*a,*b,AQUA,2) card(s,7.35,2.0,4.95,3.55,'Core functions','Support and pressure management\nContinence and coordinated emptying\nSexual arousal, comfort, and penetration\nMobility, relaxation, and pain modulation',TEAL) textbox(s,7.45,5.85,4.8,.45,'Rehabilitation target: coordination, capacity, mobility, confidence.',15,NAVY,True,PP_ALIGN.CENTER) ref(s,4,'NCCN Guidelines for Patients: Cervical Cancer, 2026, Survivorship chapter.') #5 s=prs.slides.add_slide(blank); title(s,'Why cervical cancer changes the system','Treatment can affect muscle, nerves, fascia, mucosa, lymphatics, and identity') for i,(h,b,c) in enumerate([('Radical surgery','Denervation, altered support, postoperative guarding, lymphatic disruption',CORAL),('Radiotherapy + brachytherapy','Fibrosis, tissue shortening, vaginal stenosis, bowel/bladder irritability',GOLD),('Systemic treatment / menopause','Fatigue, premature menopause, vaginal dryness, reduced conditioning',TEAL),('Cancer experience','Fear, altered body image, trauma responses, relationship strain',NAVY)]): x=.75+(i%2)*6.15;y=1.9+(i//2)*2.0;card(s,x,y,5.65,1.5,h,b,c) ref(s,5,'NCCN Guidelines for Patients: Cervical Cancer, 2026; Cibula et al. Int J Gynecol Cancer. 2023. PMID: 37127326.') #6 s=prs.slides.add_slide(blank); title(s,'Burden by domain','Pelvic floor dysfunction is heterogeneous, common, and under-discussed') labels=[('Stress/urge leakage','4%-76% / 4%-59%'),('Retention','0.4%-39%'),('Fecal incontinence','2%-34%'),('Dyspareunia','12%-58%'),('Vaginal dryness','15%-47%')] for i,(a,b) in enumerate(labels): y=1.9+i*.82; textbox(s,.85,y,2.5,.25,a,14,NAVY,True); rect(s,3.45,y,7.5,.30,PALE); w=[5.4,3.0,2.7,5.8,4.7][i]; rect(s,3.45,y,w,.30,[TEAL,CORAL,GOLD,CORAL,AQUA][i]);textbox(s,11.15,y-.03,1.25,.3,b,11,INK,True) textbox(s,.85,6.25,11.4,.35,'Ranges reflect different populations, treatments, definitions, and time points. Ask rather than assume.',15,NAVY,True,PP_ALIGN.CENTER) ref(s,6,'Ramaseshan et al. Int Urogynecol J. 2018. Systematic review. PMID: 28929201.') #7 s=prs.slides.add_slide(blank); title(s,'The outcome that is not routinely measured','Sexual health requires proactive inquiry') rect(s,.75,2.0,5.55,3.8,LAV,LAV,True); textbox(s,1.05,2.35,4.9,.36,'Sexual dysfunction in cervical cancer',19,NAVY,True,PP_ALIGN.CENTER); textbox(s,1.05,3.0,4.9,.8,'80%',43,CORAL,True,PP_ALIGN.CENTER);textbox(s,1.05,3.84,4.9,.35,'pooled prevalence in 16 studies',14,MID,False,PP_ALIGN.CENTER);textbox(s,1.05,4.55,4.9,.55,'Regular assessment enables earlier recognition and tailored care.',13,INK,False,PP_ALIGN.CENTER) add_bullets(s,['Desire, arousal, lubrication, orgasm, pain, satisfaction','Vaginal tissue health, stenosis, pelvic floor overactivity','Relationship, distress, safety, fertility and menopause concerns'],6.75,2.1,5.4,3.5,16) ref(s,7,'Qian et al. Psychol Health Med. 2023. Systematic review/meta-analysis. PMID: 35946648.') #8 s=prs.slides.add_slide(blank); title(s,'Treatment-informed phenotyping','One diagnosis does not fit every survivor') headers=['Dominant pattern','Clues','First rehabilitation emphasis'] for i,h in enumerate(headers): rect(s,.7+[0,3.25,7.2][i],1.9,[3.1,3.75,5.25][i],.45,NAVY);textbox(s,.82+[0,3.25,7.2][i],2.0,[2.85,3.45,4.9][i],.18,h,11,WHITE,True) rows=[('Weakness / leakage','Cough, exertion, urgency','PFMT, timing strategies, bladder education'),('Overactivity / pain','Dyspareunia, guarding, high tone','Down-training, manual therapy, graded exposure'),('Emptying dysfunction','Hesitancy, retention, recurrent UTI','Assess residuals, coordinate with urology'),('Radiation tissue effects','Dryness, stenosis, rectal urgency','Tissue care, dilator programme, pacing, MDT')] for r,row in enumerate(rows): y=2.45+r*.86 for i,t in enumerate(row): textbox(s,.82+[0,3.25,7.2][i],y,[2.85,3.45,4.9][i],.55,t,12,INK,i==0) line(s,.75,y+.68,12.6,y+.68,LIGHT,.7) ref(s,8,'Clinical synthesis: NCCN Cervical Cancer, 2026; ESGO/ESTRO/ESP, 2023; ACS Pelvic Floor Therapy During Cancer, 2025.') #9 s=prs.slides.add_slide(blank); title(s,'A window for intervention','Rehabilitation belongs across the cancer continuum') steps=[('Pre-treatment','Baseline symptoms\nEducation\nPrehabilitation'),('Early recovery','Protection\nSafe movement\nBladder/bowel review'),('Post-treatment','Impairment-led\nPF rehabilitation\nSexual recovery'),('Long-term','Self-management\nSurveillance\nRe-entry on demand')] for i,(h,b) in enumerate(steps): x=.75+i*3.05; circle(s,x+1.02,2.0,.70,[TEAL,CORAL,GOLD,NAVY][i],str(i+1),17); rect(s,x,2.95,2.65,1.65,WHITE,LIGHT,True);textbox(s,x+.18,3.18,2.3,.28,h,14,NAVY,True,PP_ALIGN.CENTER);textbox(s,x+.2,3.62,2.25,.62,b,11,INK,False,PP_ALIGN.CENTER) if i<3: line(s,x+2.65,2.35,x+3.0,2.35,AQUA,2) textbox(s,.85,5.55,11.55,.45,'Offer early information. Start individual treatment when healing, oncology status, symptoms, and patient readiness permit.',16,NAVY,True,PP_ALIGN.CENTER) ref(s,9,'NCCN Guidelines for Patients: Cervical Cancer, 2026. Pelvic floor physical therapy may be used before and after treatment.') #10 s=prs.slides.add_slide(blank); title(s,'Screen every survivor','A 60-second, permission-based conversation') textbox(s,.8,1.95,11.7,.35,'“Many people after cervical cancer notice changes in bladder, bowel, pelvic pain, or sexual comfort. Has anything changed for you?”',19,NAVY,True,PP_ALIGN.CENTER) for i,(q,c) in enumerate([('Bladder','Leakage? urgency? nocturia? incomplete emptying?',TEAL),('Bowel','Constipation? urgency? leakage? painful defecation?',GOLD),('Sexual / vaginal','Dryness? pain? fear? penetration goals?',CORAL),('Pain / swelling','Pelvic pain? heaviness? leg or genital swelling?',NAVY)]): x=.75+(i%2)*6.15;y=2.85+(i//2)*1.52;card(s,x,y,5.65,1.10,q,c,c) ref(s,10,'ESGO/ESTRO/ESP Guidelines 2023: regularly assess quality of life and side effects; include sexual, genitourinary, GI, pain, and lymphedema domains.') #11 s=prs.slides.add_slide(blank); title(s,'Assessment: establish the phenotype','A targeted, consent-based examination is more informative than “strength” alone') for i,(h,b,c) in enumerate([('History','Treatment map, symptoms, goals, red flags, medications, bowel and bladder habits',TEAL),('Patient-reported outcomes','ICIQ modules, PFDI-20/PFIQ-7, FSFI or PROMIS Sexual Function, EORTC QLQ-CX24',CORAL),('Physical assessment','Breathing, posture, scars, mobility, external and internal exam only with explicit consent',GOLD),('Function','Relaxation, coordination, endurance, cough/pressure strategy, voiding and defecation mechanics',NAVY)]): x=.75+(i%2)*6.15;y=1.95+(i//2)*2.0;card(s,x,y,5.65,1.5,h,b,c) ref(s,11,'NCCN Cervical Cancer, 2026; Yang et al. Gynecol Oncol. 2012. PMID: 22472463.') #12 s=prs.slides.add_slide(blank); title(s,'Safety first','When symptoms require medical review before or alongside rehabilitation') add_bullets(s,[('Urgent oncology / medical review','New vaginal bleeding or discharge, hematuria/rectal bleeding, unexplained weight loss, new severe pain, suspected fistula or obstruction',CORAL),('Urology / urogynecology','Persistent retention, recurrent UTI, high post-void residual, bothersome incontinence despite conservative care',TEAL),('Lymphedema service','New or progressive limb/genital swelling, skin infection, heaviness or functional limitation',GOLD),('Pelvic health specialist','Complex pain, severe stenosis, trauma history, distress, uncertainty about internal assessment',NAVY)],.8,1.95,11.65,4.7,14) ref(s,12,'NCCN Guidelines for Patients: Cervical Cancer, 2026, Survivorship and recurrence-symptom guidance.') #13 s=prs.slides.add_slide(blank); title(s,'Core intervention 1','Education converts fear and symptoms into workable choices') for i,(h,b,c) in enumerate([('Explain the “why”','Treatment effects are common and treatable, not a personal failure.',TEAL),('Restore habits','Fluid, fiber, toileting posture, pacing, urge strategies, skin care.',GOLD),('Pressure management','Breathing, lifting, cough strategies, constipation prevention.',CORAL),('Build self-efficacy','Collaborative goals, a simple home plan, barriers and relapse planning.',NAVY)]): x=.75+(i%2)*6.15;y=1.95+(i//2)*2;card(s,x,y,5.65,1.5,h,b,c) ref(s,13,'Zhang et al. J Clin Nurs. 2025. Meta-analysis of RCTs in gynecologic cancers. PMID: 39871663.') #14 s=prs.slides.add_slide(blank); title(s,'Core intervention 2','Pelvic floor muscle training is skilled, individualized practice') add_bullets(s,['Confirm ability to contract AND relax. Do not assume weakness.','Dose and progress based on baseline capacity, symptoms, treatment effects, and goals.','Teach functional use: pre-contraction with cough/lift, urge suppression, pressure coordination.','Use feedback when it improves learning: palpation, real-time ultrasound, or biofeedback where available.','For pain or high tone, down-training may precede strengthening.'],.8,1.95,6.7,4.6,16) rect(s,8.0,2.1,3.7,3.75,PALE,PALE,True);textbox(s,8.25,2.42,3.2,.32,'NOT “just Kegels”',19,CORAL,True,PP_ALIGN.CENTER);textbox(s,8.28,3.18,3.15,1.7,'Assessment\n→ motor learning\n→ functional integration\n→ adherence support',19,NAVY,True,PP_ALIGN.CENTER);textbox(s,8.25,5.25,3.2,.25,'Match exercise to phenotype.',12,TEAL,True,PP_ALIGN.CENTER) ref(s,14,'Devan Moy & Simarro González. Rehabilitacion. 2025. Systematic review of reviews. PMID: 39765163.') #15 s=prs.slides.add_slide(blank); title(s,'Core intervention 3','Pain and dyspareunia: treat the whole system') for i,(h,b,c) in enumerate([('Reduce threat','Validate pain; screen distress; establish safety, control, and consent.',CORAL),('Improve mobility','Breathing, relaxation, external/manual techniques, graded movement.',TEAL),('Graded vaginal rehabilitation','Education, lubricants/moisturizers as appropriate, dilator progression only with goals and consent.',GOLD),('Return to intimacy','Communication, non-penetrative options, pacing, partner inclusion if wanted.',NAVY)]): x=.75+(i%2)*6.15;y=1.92+(i//2)*1.95;card(s,x,y,5.65,1.45,h,b,c) ref(s,15,'Cyr et al. Gynecol Oncol. 2020. Multimodal pelvic PT for dyspareunia. PMID: 33010968; NCCN Cervical Cancer, 2026.') #16 s=prs.slides.add_slide(blank); title(s,'Core intervention 4','Bladder and bowel: retrain function, protect tissue') for i,(h,b,c) in enumerate([('Bladder','Diary-guided education, urge strategies, continence support, voiding mechanics; investigate retention.',TEAL),('Bowel','Stool consistency, fiber/fluid individualized, toilet posture, urge control, relaxation for outlet symptoms.',GOLD),('Radiation effects','Coordinate early with oncology, GI, urology, and dietetics for persistent urgency, bleeding, or pain.',CORAL)]): x=.8+i*4.05;card(s,x,2.0,3.65,2.5,h,b,c) textbox(s,.85,5.35,11.45,.5,'A non-relaxing pelvic floor can coexist with leakage. Treat the driver, not the label.',18,NAVY,True,PP_ALIGN.CENTER) ref(s,16,'NCCN Guidelines for Patients: Cervical Cancer, 2026; Bai et al. Cancer Nurs. 2024. Urinary retention meta-analysis. PMID: 36840978.') #17 s=prs.slides.add_slide(blank); title(s,'Core intervention 5','Lymphedema and movement: screen early, refer early') card(s,.85,2.0,3.45,3.2,'Recognize','Leg or genital swelling, heaviness, skin changes, recurrent cellulitis, reduced mobility.',GOLD) card(s,4.95,2.0,3.45,3.2,'Respond','Objective assessment where available; compression and specialist-directed care; progressive activity.',TEAL) card(s,9.05,2.0,3.45,3.2,'Integrate','Exercise, function, self-monitoring, skin care, and psychological support.',NAVY) textbox(s,.9,5.8,11.5,.42,'Lymphedema does not exclude pelvic rehabilitation. It changes planning, surveillance, and the team.',16,NAVY,True,PP_ALIGN.CENTER) ref(s,17,'NCCN Guidelines for Patients: Cervical Cancer, 2026; NCCN Survivorship Care for Late and Long-Term Effects, 2026.') #18 s=prs.slides.add_slide(blank); title(s,'Evidence: pelvic rehabilitation can improve function','Promising results, but certainty is constrained by small and heterogeneous studies') rect(s,.8,1.95,5.5,3.95,PALE,PALE,True);textbox(s,1.08,2.3,4.9,.3,'Randomized trial: gynecologic cancer survivors',15,NAVY,True,PP_ALIGN.CENTER);textbox(s,1.08,3.0,4.9,.55,'4-week pelvic floor rehabilitation programme',22,TEAL,True,PP_ALIGN.CENTER);textbox(s,1.08,4.05,4.9,1.1,'Improved pelvic-floor strength and physical/sexual function versus usual care among completers.',16,INK,False,PP_ALIGN.CENTER) add_bullets(s,['Small trial: 34 randomized; 24 completed.','Supports a referral pathway, not a one-size-fits-all protocol.','Direct cervical-cancer-only RCT evidence remains limited.'],6.9,2.35,5.1,2.8,16) ref(s,18,'Yang et al. Gynecol Oncol. 2012. RCT. PMID: 22472463.') #19 s=prs.slides.add_slide(blank); title(s,'Evidence: multimodal care is feasible','A realistic programme combines education, hands-on care, exercise, and home practice') for x,num,lab in [(1.0,'12','weekly 60-min sessions'),(4.7,'94%','attended ≥10 sessions'),(8.4,'88%','home-exercise adherence')]: circle(s,x,2.2,1.75,TEAL,num,23);textbox(s,x-.3,4.25,2.35,.5,lab,13,NAVY,True,PP_ALIGN.CENTER) textbox(s,.95,5.25,11.5,.65,'In a prospective study of cervical/endometrial cancer survivors with dyspareunia, pain, sexual function, pelvic-floor symptoms, and quality of life improved after multimodal pelvic PT. Confirmation in adequately powered trials is needed.',15,INK,False,PP_ALIGN.CENTER) ref(s,19,'Cyr et al. Gynecol Oncol. 2020. Prospective multicenter study. PMID: 33010968.') #20 s=prs.slides.add_slide(blank); title(s,'What guidelines support now','A survivorship standard, even when the evidence base is still maturing') add_bullets(s,['NCCN patient guidance: pelvic floor physical therapy may help bowel and bladder change; therapy can include home exercise and hands-on techniques.','NCCN: vaginal moisturizers/dilators and sexual-health support may help selected symptoms.','ESGO/ESTRO/ESP: routinely assess quality of life and side effects; include sexual dysfunction, lymphedema, genitourinary and GI disorders, pain, fatigue.','After chemoradiotherapy/brachytherapy: counsel on sexual rehabilitation, including dilators; topical estrogen is indicated in their guideline context.'],.8,1.95,11.6,4.7,15) ref(s,20,'NCCN Guidelines for Patients: Cervical Cancer, 2026; Cibula et al. ESGO/ESTRO/ESP Update. 2023. PMID: 37127326.') #21 s=prs.slides.add_slide(blank); title(s,'A practical pathway','Make the next right referral easy') steps=[('1. Screen','At diagnosis, end of treatment, and follow-up'),('2. Triage','Red flags, recurrence concern, retention, severe swelling'),('3. Assess','Treatment-informed pelvic health evaluation'),('4. Treat','Phenotype-matched rehabilitation + self-management'),('5. Measure','Goal attainment + symptom and function outcomes'),('6. Escalate','MDT care for persistent / complex dysfunction')] for i,(h,b) in enumerate(steps): x=.55+(i%3)*4.25;y=1.85+(i//3)*2.25;rect(s,x,y,3.65,1.4,WHITE,LIGHT,True);circle(s,x+.18,y+.36,.62,[TEAL,CORAL,GOLD,NAVY,AQUA,CORAL][i],str(i+1),14);textbox(s,x+.98,y+.22,2.45,.28,h,14,NAVY,True);textbox(s,x+.98,y+.62,2.45,.55,b,10,INK) ref(s,21,'Adapted from NCCN Cervical Cancer Survivorship, 2026; ESGO/ESTRO/ESP Cervical Cancer Guidelines, 2023.') #22 s=prs.slides.add_slide(blank); title(s,'The team around the survivor','Pelvic rehabilitation is not a silo') center=(5.65,3.15);circle(s,5.4,2.9,1.6,TEAL,'SURVIVOR\nGOALS',14) roles=[('Gynecologic\noncology',.7,1.65,CORAL),('Radiation\noncology',9.8,1.65,GOLD),('Pelvic health\nphysiotherapy',.6,4.85,NAVY),('Urogynecology /\nurology',9.8,4.85,AQUA),('Sexual health,\npsychology',5.55,5.55,CORAL),('Nursing, dietetics,\nlymphedema',5.55,.95,GOLD)] for t,x,y,c in roles: circle(s,x,y,1.4,c,t,10);line(s,x+(.7 if x<5 else .7),y+(.7 if y<3 else .2),6.2,3.7,LIGHT,1) textbox(s,.9,6.55,11.4,.25,'The survivor sets the priorities. The team aligns medical safety, function, and access.',14,NAVY,True,PP_ALIGN.CENTER) ref(s,22,'NCCN Guidelines for Patients: Cervical Cancer, 2026; American Cancer Society, Pelvic Floor Therapy During Cancer, 2025.') #23 s=prs.slides.add_slide(blank); title(s,'Measure what matters','Clinical outcomes should reflect the survivor’s goals') cols=[('Symptoms','Leakage episodes\nUrgency / retention\nBowel control\nPain intensity',TEAL),('Function','Exercise tolerance\nWork / caregiving\nSleep\nParticipation',GOLD),('Sexual well-being','Comfort\nConfidence\nIntimacy goals\nDistress',CORAL),('Experience','Goal attainment\nAdherence / burden\nAccess\nSatisfaction',NAVY)] for i,(h,b,c) in enumerate(cols):card(s,.65+i*3.15,2.0,2.8,3.5,h,b,c) ref(s,23,'ESGO/ESTRO/ESP Guideline Update 2023: encourage patient-reported side-effect monitoring alongside clinical visits.') #24 s=prs.slides.add_slide(blank); title(s,'Implementation: start small, build reliably','A 90-day service improvement plan') for i,(h,b,c) in enumerate([('Days 0-30','Name a pathway owner. Add 4 screening questions. Map local referral routes.',TEAL),('Days 31-60','Pilot at end-of-treatment visit. Track referral completion and patient-reported goals.',CORAL),('Days 61-90','Review bottlenecks. Establish MDT escalation. Report one function metric and one equity metric.',GOLD)]): x=.75+i*4.15;circle(s,x+1.42,1.95,.7,c,str(i+1),16);card(s,x,2.85,3.55,2.3,h,b,c) textbox(s,.85,5.95,11.5,.35,'The minimum viable programme is routine recognition plus a reliable route to skilled care.',17,NAVY,True,PP_ALIGN.CENTER) ref(s,24,'Implementation framework informed by current NCCN and ESGO survivorship recommendations.') #25 s=prs.slides.add_slide(blank); rect(s,0,0,13.333,7.5,NAVY);rect(s,0,0,13.333,.17,AQUA) textbox(s,.8,.8,8,.28,'TAKE-HOME MESSAGE',12,AQUA,True) textbox(s,.8,1.25,11.3,1.05,'Rebuilding the base means\nrebuilding function, confidence, and choice.',30,WHITE,True) for i,t in enumerate(['Ask every survivor.','Assess the phenotype.','Treat with a skilled, multidisciplinary pathway.']): circle(s,.95,3.55+i*.7,.38,[TEAL,CORAL,GOLD][i],str(i+1),9);textbox(s,1.5,3.48+i*.7,8.6,.35,t,18,WHITE,True) textbox(s,.82,6.5,10.5,.25,'Thank you | Questions',15,RGBColor(210,233,230)) textbox(s,.82,6.88,11.5,.2,'Selected evidence: Shan 2023 PMID 36001098 • Yang 2012 PMID 22472463 • Cyr 2020 PMID 33010968 • NCCN 2026 • ESGO/ESTRO/ESP 2023',7.5,RGBColor(175,199,201)) prs.save(OUT) print(OUT) ''' p.write_text(code) PY python "/tmp/workspace/pelvic-floor-cervical-conference/src/build_deck.py" python - <<'PY' from pptx import Presentation p='/tmp/workspace/pelvic-floor-cervical-conference/output/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship.pptx' prs=Presentation(p) print('slides',len(prs.slides)) for i,s in enumerate(prs.slides,1): text=' '.join(sh.text for sh in s.shapes if hasattr(sh,'text_frame')) print(i,len(text),text[:60]) PY

Running Command

python - <<'PY' p='/tmp/workspace/pelvic-floor-cervical-conference/src/build_deck.py' s=open(p).read() s=s.replace("for i,(q,c) in enumerate([('Bladder','Leakage? urgency? nocturia? incomplete emptying?',TEAL),('Bowel','Constipation? urgency? leakage? painful defecation?',GOLD),('Sexual / vaginal','Dryness? pain? fear? penetration goals?',CORAL),('Pain / swelling','Pelvic pain? heaviness? leg or genital swelling?',NAVY)]):", "for i,(q,b,c) in enumerate([('Bladder','Leakage? urgency? nocturia? incomplete emptying?',TEAL),('Bowel','Constipation? urgency? leakage? painful defecation?',GOLD),('Sexual / vaginal','Dryness? pain? fear? penetration goals?',CORAL),('Pain / swelling','Pelvic pain? heaviness? leg or genital swelling?',NAVY)]):") s=s.replace("card(s,x,y,5.65,1.10,q,c,c)", "card(s,x,y,5.65,1.10,q,b,c)") open(p,'w').write(s) PY rm -f "/tmp/workspace/pelvic-floor-cervical-conference/output/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship.pptx" && python "/tmp/workspace/pelvic-floor-cervical-conference/src/build_deck.py" && python - <<'PY' from pptx import Presentation p='/tmp/workspace/pelvic-floor-cervical-conference/output/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship.pptx' prs=Presentation(p) print('slide_count=',len(prs.slides)) for i,s in enumerate(prs.slides,1): texts=[sh.text.strip() for sh in s.shapes if hasattr(sh,'text_frame') and sh.text.strip()] print(f'{i:02d}: {texts[0][:52] if texts else "[no text]"} | shapes={len(s.shapes)}') PY

Running Command

python - <<'PY' p='/tmp/workspace/pelvic-floor-cervical-conference/src/build_deck.py' s=open(p).read() old=""" for item in items: if isinstance(item,tuple): paras.append((item[0],item[1],item[2],item[3],True)) else: paras.append((item,size,INK,False,True)) """ new=""" for item in items: if isinstance(item,tuple): # (heading, body, color) tuples are rendered as a strong heading plus body paras.append((item[0] + ': ' + item[1], size, item[2], True, True)) else: paras.append((item,size,INK,False,True)) """ assert old in s open(p,'w').write(s.replace(old,new)) PY rm -f "/tmp/workspace/pelvic-floor-cervical-conference/output/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship.pptx" && python "/tmp/workspace/pelvic-floor-cervical-conference/src/build_deck.py" && python - <<'PY' from pptx import Presentation p='/tmp/workspace/pelvic-floor-cervical-conference/output/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship.pptx' prs=Presentation(p) print('slide_count=',len(prs.slides)) for i,s in enumerate(prs.slides,1): texts=[sh.text.strip().replace('\n',' ') for sh in s.shapes if hasattr(sh,'text_frame') and sh.text.strip()] print(f'{i:02d}: {texts[0][:72] if texts else "[no text]"} | shapes={len(s.shapes)}') PY

Browsing Directory

~/pelvic-floor-cervical-conference/output

Created a 25-slide conference presentation with an evidence-based sequence covering:
  • Survivorship burden and treatment-related pelvic dysfunction
  • Screening, phenotype-based assessment, safety triage
  • Pelvic floor rehabilitation interventions for bladder, bowel, pain, sexual function, and lymphedema
  • Current evidence, clinical feasibility data, and NCCN/ESGO guidance
  • Practical multidisciplinary referral pathway and 90-day implementation plan
  • In-slide source citations and reference footers

Rebuilding the Base Pelvic Floor Rehabilitation Cervical Cancer Survivorship

Presentation · PPTX

NO NEED EVIDENCE BASE -REQURIED GOOD PRESENTATION

Understood. I will make it a visually strong, conference-style presentation focused on clear clinical storytelling, practical rehabilitation flow, and impactful design, without evidence tables, citations, or research-heavy slides.

Redesign the 25 slides with a polished conference visual theme

Reading File
Reading File
Browsing Directory

~/

Reading File
Searching the Web

cervical cancer survivorship pelvic floor rehabilitation conference presentation visual design

Running Command

python - <<'PY' from pathlib import Path p=Path('/tmp/workspace/pelvic-floor-cervical-conference/src/redesign_visual.py') code=r'''from pptx import Presentation from pptx.util import Inches, Pt from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR from pptx.enum.dml import MSO_LINE_DASH_STYLE OUT='/tmp/workspace/pelvic-floor-cervical-conference/output/Rebuilding_the_Base_Conference_Visual_Redesign.pptx' IMG='/tmp/workspace/pelvic-floor-cervical-conference/assets/image_0.jpg' prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5); BL=prs.slide_layouts[6] # conference palette: midnight, deep teal, cool mist, peach MIDNIGHT=RGBColor(15,29,43); DEEP=RGBColor(24,60,72); TEAL=RGBColor(27,137,137); MINT=RGBColor(127,211,196); PEACH=RGBColor(246,153,125); SUN=RGBColor(246,196,95); MIST=RGBColor(244,248,247); WHITE=RGBColor(255,255,255); INK=RGBColor(31,48,58); GREY=RGBColor(93,111,117); PALE=RGBColor(224,238,235); LILAC=RGBColor(235,231,245) def shape(sl,kind,x,y,w,h,fill,line=None,rad=False): s=sl.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if rad else kind,Inches(x),Inches(y),Inches(w),Inches(h));s.fill.solid();s.fill.fore_color.rgb=fill;s.line.color.rgb=line or fill if rad:s.adjustments[0]=.12 return s def rect(sl,x,y,w,h,c,line=None,rad=False):return shape(sl,MSO_SHAPE.RECTANGLE,x,y,w,h,c,line,rad) def circle(sl,x,y,d,c):return shape(sl,MSO_SHAPE.OVAL,x,y,d,d,c,c) def ln(sl,x1,y1,x2,y2,c=PALE,w=1,dash=None): s=sl.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,Inches(x1),Inches(y1),Inches(x2),Inches(y2));s.line.color.rgb=c;s.line.width=Pt(w) if dash:s.line.dash_style=dash return s def tx(sl,x,y,w,h,t,sz=16,c=INK,b=False,a=PP_ALIGN.LEFT,va=MSO_ANCHOR.TOP,font='Aptos Display'): b=sl.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h));f=b.text_frame;f.clear();f.word_wrap=True;f.margin_left=f.margin_right=Inches(.03);f.margin_top=f.margin_bottom=Inches(.02);f.vertical_anchor=va for i,line in enumerate(t.split('\n')): p=f.paragraphs[0] if i==0 else f.add_paragraph();p.text=line;p.alignment=a;p.space_after=Pt(1) for r in p.runs:r.font.name=font;r.font.size=Pt(sz);r.font.bold=b;r.font.color.rgb=c return b def bg(sl, n, dark=False): rect(sl,0,0,13.333,7.5,MIDNIGHT if dark else MIST) # asymmetric vertical halo/panels if dark: circle(sl,10.65,-1.3,4.0,DEEP);circle(sl,11.65,5.6,2.3,TEAL);circle(sl,-.75,6.1,1.8,PEACH) else: circle(sl,10.95,-1.1,3.35,PALE);circle(sl,-1.0,6.55,2.15,LILAC) rect(sl,.55,.42,.58,.06,MINT if dark else TEAL) tx(sl,.55,6.93,7,.18,'REBUILDING THE BASE / CERVICAL CANCER SURVIVORSHIP',7.5,RGBColor(182,206,204) if dark else GREY,True) tx(sl,12.1,6.89,.65,.2,f'{n:02d}',8,MINT if dark else TEAL,True,PP_ALIGN.RIGHT) def kicker(sl,t,dark=False):tx(sl,.55,.7,5.5,.25,t.upper(),10,MINT if dark else TEAL,True) def head(sl,t,sub='',dark=False):tx(sl,.55,1.02,11.6,.75,t,30,WHITE if dark else MIDNIGHT,True); if sub:tx(sl,.57,1.83,10.8,.38,sub,13,RGBColor(205,222,220) if dark else GREY) def pill(sl,x,y,w,t,c=TEAL,dark=False):shape(sl,MSO_SHAPE.ROUNDED_RECTANGLE,x,y,w,.34,c,c,True);tx(sl,x+.08,y+.06,w-.16,.17,t,8,WHITE,True,PP_ALIGN.CENTER) def card(sl,x,y,w,h,tag,title,body,accent=TEAL,dark=False): shape(sl,MSO_SHAPE.ROUNDED_RECTANGLE,x,y,w,h,DEEP if dark else WHITE,DEEP if dark else WHITE,True);rect(sl,x,y,.08,h,accent);pill(sl,x+.25,y+.24,1.05,tag,accent);tx(sl,x+.25,y+.7,w-.45,.42,title,16,WHITE if dark else MIDNIGHT,True);tx(sl,x+.25,y+1.22,w-.48,h-1.38,body,11,RGBColor(205,222,220) if dark else GREY) def dot(sl,x,y,c,num=None):circle(sl,x,y,.52,c);tx(sl,x,y+.13,.52,.18,str(num) if num else '',11,WHITE,True,PP_ALIGN.CENTER) def quote(sl,t,attribution): tx(sl,.78,2.0,11.6,1.3,'“'+t+'”',27,WHITE,True,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE);tx(sl,.8,3.65,11.5,.28,attribution,11,MINT,True,PP_ALIGN.CENTER) # 1 s=prs.slides.add_slide(BL);bg(s,1,True);tx(s,.7,.77,4,.25,'CONFERENCE PRESENTATION',11,MINT,True);tx(s,.7,1.45,11.5,1.4,'REBUILDING\nTHE BASE',45,WHITE,True);tx(s,.74,3.3,10.5,.6,'Pelvic Floor Rehabilitation in\nCervical Cancer Survivorship',24,RGBColor(213,235,231));rect(s,.73,5.28,5.0,.04,PEACH);tx(s,.74,5.55,9,.3,'A visual, practical pathway for restoring function, confidence, and choice.',14,WHITE);tx(s,.74,6.32,7,.2,'PRESENTER / ORGANISATION / CONFERENCE',9,MINT,True) # 2 s=prs.slides.add_slide(BL);bg(s,2,True);kicker(s,'The opening thought',True);quote(s,'Every survivor deserves to be asked about the function that matters to her.','A survivorship conversation, not a checklist.') #3 s=prs.slides.add_slide(BL);bg(s,3);kicker(s,'The promise');head(s,'Survivorship is more\nthan being disease-free.','It is the return of daily function, agency, comfort, and connection.') for i,(t,c) in enumerate([('FUNCTION',TEAL),('CONFIDENCE',PEACH),('CHOICE',SUN)]): x=.7+i*3.95;circle(s,x,3.55,1.5,c);tx(s,x,4.06,1.5,.26,t,12,WHITE,True,PP_ALIGN.CENTER);ln(s,x+1.55,4.3,x+3.8,4.3,PALE,2) #4 s=prs.slides.add_slide(BL);bg(s,4);kicker(s,'Today');head(s,'A simple journey','See the whole person. Identify the pattern. Build a practical plan.') journey=[('01','See','what changes after treatment',TEAL),('02','Ask','the questions people may not volunteer',PEACH),('03','Assess','the pattern behind the symptom',SUN),('04','Act','with a skilled pathway',TEAL)] for i,(n,t,b,c) in enumerate(journey): x=.6+i*3.15;dot(s,x,3.0,c,n);tx(s,x,3.73,2.65,.3,t,18,MIDNIGHT,True);tx(s,x,4.18,2.55,.5,b,11,GREY); if i<3:ln(s,x+.6,3.25,x+2.85,3.25,PALE,2) #5 s=prs.slides.add_slide(BL);bg(s,5,True);kicker(s,'The base',True);head(s,'A system, not a single muscle.','Bladder. Bowel. Sexual comfort. Mobility. Pain. Confidence.',True) items=[('BLADDER',TEAL),('BOWEL',SUN),('COMFORT',PEACH),('MOBILITY',MINT),('CONFIDENCE',TEAL)] for i,(t,c) in enumerate(items): a=[(1.0,3.5),(3.15,2.65),(5.35,3.5),(7.55,2.65),(9.75,3.5)][i];circle(s,a[0],a[1],1.42,c);tx(s,a[0],a[1]+.55,1.42,.2,t,10,WHITE,True,PP_ALIGN.CENTER);ln(s,a[0]+1.43,a[1]+.72,a[0]+2.05,a[1]+.72,RGBColor(72,116,120),1.6) #6 s=prs.slides.add_slide(BL);bg(s,6);kicker(s,'What treatment can change');head(s,'The pelvic floor carries the story\nof treatment.','Each pathway needs care that reflects surgery, radiation, systemic treatment, and lived experience.') card(s,.7,2.7,2.9,2.4,'SURGERY','Support & nerves','Post-operative change, scars, altered support, and lymphatic load.',PEACH) card(s,3.88,2.7,2.9,2.4,'RADIATION','Tissue & mobility','Sensitivity, stiffness, bowel or bladder irritability, vaginal change.',SUN) card(s,7.06,2.7,2.9,2.4,'MENOPAUSE','Dryness & energy','Hormonal effects, fatigue, sleep change, sexual comfort.',TEAL) card(s,10.24,2.7,2.35,2.4,'LIFE','Identity','Fear, relationships, body image, and return to activity.',MINT) #7 s=prs.slides.add_slide(BL);bg(s,7,True);kicker(s,'The invisible impact',True);head(s,'Some of the hardest symptoms\nare the least spoken about.','Make room for the question before the survivor has to find the words.',True) for i,(t,c) in enumerate([('LEAKAGE',TEAL),('PAIN',PEACH),('URGENCY',SUN),('INTIMACY',MINT)]): x=.7+i*3.05;shape(s,MSO_SHAPE.ROUNDED_RECTANGLE,x,3.45,2.65,.7,DEEP,DEEP,True);tx(s,x,3.68,2.65,.22,t,12,c,True,PP_ALIGN.CENTER) #8 s=prs.slides.add_slide(BL);bg(s,8);kicker(s,'The first intervention');head(s,'Ask. Pause. Listen.','Permission-based language opens the door to better care.') shape(s,MSO_SHAPE.ROUNDED_RECTANGLE,.85,2.65,11.6,1.4,WHITE,WHITE,True);tx(s,1.35,2.98,10.6,.55,'“Many people notice bladder, bowel, pain, or sexual changes after treatment.\nHow has your body been feeling?”',21,MIDNIGHT,True,PP_ALIGN.CENTER) pill(s,4.63,4.65,4.0,'NORMALISE • INVITE • LISTEN',PEACH) #9 s=prs.slides.add_slide(BL);bg(s,9);kicker(s,'Screening snapshot');head(s,'Four doors into the conversation') for i,(t,b,c) in enumerate([('BLADDER','Leakage\nUrgency\nEmptying',TEAL),('BOWEL','Constipation\nUrgency\nControl',SUN),('COMFORT','Pain\nDryness\nMobility',PEACH),('LIFE','Sleep\nActivity\nIntimacy',MINT)]): x=.7+i*3.1;circle(s,x+1.05,2.55,1.05,c);tx(s,x+1.05,2.91,1.05,.2,str(i+1),15,WHITE,True,PP_ALIGN.CENTER);tx(s,x,3.95,3.1,.28,t,15,MIDNIGHT,True,PP_ALIGN.CENTER);tx(s,x,4.4,3.1,.65,b,11,GREY,False,PP_ALIGN.CENTER) #10 s=prs.slides.add_slide(BL);bg(s,10,True);kicker(s,'The clinical lens',True);head(s,'Symptoms are signals.\nPatterns guide the plan.',dark=True) for i,(t,b,c) in enumerate([('WEAKNESS','leakage with effort',TEAL),('OVERACTIVITY','guarding or pain',PEACH),('EMPTYING','hesitancy or retention',SUN),('TISSUE CHANGE','dryness or stiffness',MINT)]): x=.72+(i%2)*6.1;y=3.0+(i//2)*1.38;card(s,x,y,5.6,1.1,'PATTERN',t,b,c,True) #11 s=prs.slides.add_slide(BL);bg(s,11);kicker(s,'Assessment');head(s,'Assess the person,\nnot just the muscle.') for i,(t,b,c) in enumerate([('HER STORY','Treatment, symptoms, goals, worries',TEAL),('HER FUNCTION','Breathing, movement, habits, activity',PEACH),('HER BODY','Mobility, scar, coordination, relaxation',SUN),('HER CHOICE','Consent, comfort, readiness, boundaries',MINT)]): x=.7+(i%2)*6.12;y=2.65+(i//2)*1.55;card(s,x,y,5.6,1.15,'LOOK',t,b,c) #12 s=prs.slides.add_slide(BL);bg(s,12);kicker(s,'Clinical compass');head(s,'A calm safety check\ncomes before exercise.') for i,(t,b,c) in enumerate([('STOP','New bleeding, severe pain, fever, suspected obstruction',PEACH),('CHECK','Retention, recurrent infection, progressive swelling',SUN),('CONNECT','Oncology, urogynecology, lymphedema, sexual health',TEAL)]): x=.75+i*4.05;dot(s,x,2.88,c,i+1);tx(s,x+.7,2.87,2.85,.32,t,18,MIDNIGHT,True);tx(s,x+.7,3.36,2.9,.6,b,11,GREY) #13 s=prs.slides.add_slide(BL);bg(s,13,True);kicker(s,'Rehabilitation begins',True);head(s,'Education is treatment.','Understanding replaces fear with a plan.',True) for i,t in enumerate(['What has changed','Why it may be happening','What can be done today','How to keep moving forward']): x=.85+i*2.95;circle(s,x,3.48,.74,[TEAL,PEACH,SUN,MINT][i]);tx(s,x,3.72,.74,.18,str(i+1),12,WHITE,True,PP_ALIGN.CENTER);tx(s,x-.3,4.45,1.35,.5,t,12,WHITE,True,PP_ALIGN.CENTER) #14 s=prs.slides.add_slide(BL);bg(s,14);kicker(s,'Movement');head(s,'Train for the task,\nnot for a test.','The goal is coordinated movement in the moments that matter.') for i,(t,b,c) in enumerate([('BREATHE','Find pressure control',MINT),('RELAX','Make space for release',PEACH),('CONNECT','Build awareness and timing',TEAL),('LOAD','Return to life and activity',SUN)]): x=.75+i*3.05;shape(s,MSO_SHAPE.ROUNDED_RECTANGLE,x,3.05,2.65,1.45,WHITE,WHITE,True);rect(s,x,.0,0,0,WHITE);circle(s,x+1.0,2.72,.66,c);tx(s,x,3.32,2.65,.25,t,14,MIDNIGHT,True,PP_ALIGN.CENTER);tx(s,x+.2,3.78,2.25,.28,b,10,GREY,False,PP_ALIGN.CENTER) #15 s=prs.slides.add_slide(BL);bg(s,15);kicker(s,'Pelvic floor training');head(s,'More than “do your Kegels.”','Skilled training adapts to the body in front of you.') for i,(t,b,c) in enumerate([('FIND','A contraction and a release',TEAL),('PRACTISE','With feedback and confidence',PEACH),('APPLY','During cough, lift, urgency, movement',SUN),('PROGRESS','At the survivor’s pace',MINT)]): x=.7+(i%2)*6.15;y=2.65+(i//2)*1.48;card(s,x,y,5.6,1.1,'STEP',t,b,c) #16 s=prs.slides.add_slide(BL);bg(s,16,True);kicker(s,'Pain and intimacy',True);quote(s,'Comfort is a valid rehabilitation goal.','Progress can begin with safety, breathing, education, and choice.') for i,(t,c) in enumerate([('SAFETY',PEACH),('MOBILITY',MINT),('GRADUAL EXPOSURE',SUN),('CONNECTION',TEAL)]):pill(s,.95+i*3.0,4.85,2.55,t,c) #17 s=prs.slides.add_slide(BL);bg(s,17);kicker(s,'Bladder and bowel');head(s,'Restore rhythm.\nReduce urgency. Build trust.','Small habit changes can support everyday confidence.') for i,(t,b,c) in enumerate([('BLADDER','Diary\nTiming\nUrge strategies',TEAL),('BOWEL','Routine\nPosture\nRelaxation',SUN),('EVERYDAY LIFE','Fluids\nFood\nPacing',PEACH)]): x=.85+i*4.05;circle(s,x+.95,2.82,1.25,c);tx(s,x+.95,3.25,1.25,.2,str(i+1),15,WHITE,True,PP_ALIGN.CENTER);tx(s,x,4.32,3.15,.26,t,14,MIDNIGHT,True,PP_ALIGN.CENTER);tx(s,x,4.75,3.15,.54,b,11,GREY,False,PP_ALIGN.CENTER) #18 s=prs.slides.add_slide(BL);bg(s,18);kicker(s,'Swelling and load');head(s,'Monitor early.\nMove with confidence.','Lymphedema-aware care works alongside pelvic rehabilitation.') for i,(t,b,c) in enumerate([('NOTICE','Heaviness\nSkin change\nSwelling',SUN),('REFER','Specialist\nAssessment\nSupport',TEAL),('REBUILD','Movement\nStrength\nParticipation',MINT)]): x=.8+i*4.15;card(s,x,2.8,3.65,1.85,'ACTION',t,b,c) #19 s=prs.slides.add_slide(BL);bg(s,19,True);kicker(s,'Care pathway',True);head(s,'One survivor. One shared plan.','The best pathway is clear, coordinated, and easy to access.',True) for i,(t,c) in enumerate([('ONCOLOGY',PEACH),('PHYSIO',TEAL),('SEXUAL HEALTH',MINT),('URO / GI',SUN),('LYMPHEDEMA',TEAL)]): x=[.75,3.18,5.62,8.08,10.52][i];circle(s,x,3.35,1.35,c);tx(s,x,3.87,1.35,.18,t,9,WHITE,True,PP_ALIGN.CENTER); if i<4:ln(s,x+1.35,4.03,x+2.4,4.03,RGBColor(77,125,127),2) #20 s=prs.slides.add_slide(BL);bg(s,20);kicker(s,'The rehabilitation map');head(s,'A plan that people can follow') steps=[('01','DISCOVER','What matters now'),('02','DEFINE','The main pattern'),('03','DESIGN','A focused plan'),('04','DO','Small, repeatable actions'),('05','REVIEW','Celebrate and adjust')] for i,(n,t,b) in enumerate(steps): x=.45+i*2.55;dot(s,x+.86,3.05,[TEAL,PEACH,SUN,MINT,TEAL][i],n);tx(s,x,3.87,2.2,.26,t,12,MIDNIGHT,True,PP_ALIGN.CENTER);tx(s,x,4.27,2.2,.3,b,10,GREY,False,PP_ALIGN.CENTER) #21 s=prs.slides.add_slide(BL);bg(s,21);kicker(s,'What success looks like');head(s,'Measure the changes\nthat make life larger.') for i,(t,b,c) in enumerate([('CONFIDENCE','Leaving home\nSleeping better\nMoving freely',TEAL),('COMFORT','Less pain\nMore ease\nMore choice',PEACH),('CONNECTION','Intimacy\nWork\nFamily life',SUN),('CAPACITY','Strength\nEnergy\nParticipation',MINT)]): x=.65+(i%2)*6.2;y=2.65+(i//2)*1.55;card(s,x,y,5.7,1.15,'OUTCOME',t,b,c) #22 s=prs.slides.add_slide(BL);bg(s,22,True);kicker(s,'The team',True);head(s,'Collaborative care\nfeels seamless to the survivor.',dark=True) centerx,centery=5.55,3.15;circle(s,centerx,centery,1.75,TEAL);tx(s,centerx,centerY if False else centery+.57,1.75,.28,'SURVIVOR\nGOALS',13,WHITE,True,PP_ALIGN.CENTER) for t,x,y,c in [('ONCOLOGY',1.15,2.05,PEACH),('PHYSIO',9.85,2.05,MINT),('NURSING',1.15,4.85,SUN),('SPECIALISTS',9.85,4.85,TEAL)]: circle(s,x,y,1.2,c);tx(s,x,y+.47,1.2,.2,t,10,WHITE,True,PP_ALIGN.CENTER);ln(s,x+(.9 if x<5 else .3),y+.6,centerx+(.15 if x<5 else 1.6),centery+.88,RGBColor(75,121,123),1.4) #23 s=prs.slides.add_slide(BL);bg(s,23);kicker(s,'Implementation');head(s,'Make the next referral\nthe easy referral.') for i,(n,t,b,c) in enumerate([('1','Name a champion','One person owns the pathway.',TEAL),('2','Use a short screen','Four questions at key visits.',PEACH),('3','Map referrals','Make contacts visible and warm.',SUN),('4','Review access','Watch who is not reaching care.',MINT)]): x=.7+(i%2)*6.15;y=2.65+(i//2)*1.55;dot(s,x,y+.22,c,n);tx(s,x+.75,y,4.6,.28,t,15,MIDNIGHT,True);tx(s,x+.75,y+.42,4.55,.43,b,11,GREY) #24 s=prs.slides.add_slide(BL);bg(s,24,True);kicker(s,'The shift',True);head(s,'From “Are you okay?”\nto “What would help you live well?”',dark=True) shape(s,MSO_SHAPE.ROUNDED_RECTANGLE,.95,3.42,4.9,1.15,DEEP,DEEP,True);tx(s,1.15,3.78,4.5,.28,'SYMPTOM CHECK',17,RGBColor(185,206,205),True,PP_ALIGN.CENTER);ln(s,6.08,3.98,7.15,3.98,MINT,3);shape(s,MSO_SHAPE.ROUNDED_RECTANGLE,7.38,3.42,4.9,1.15,TEAL,TEAL,True);tx(s,7.62,3.78,4.42,.28,'FUNCTION-FIRST CARE',17,WHITE,True,PP_ALIGN.CENTER) #25 s=prs.slides.add_slide(BL);bg(s,25,True);kicker(s,'Closing message',True);tx(s,.72,1.28,11.35,1.42,'Rebuild the base.\nReturn the possibilities.',39,WHITE,True);rect(s,.75,3.25,4.65,.05,PEACH);tx(s,.76,3.63,10.3,.55,'Ask early. Assess with care. Rehabilitate with purpose.',20,RGBColor(220,239,235),True);tx(s,.76,5.82,10.0,.28,'THANK YOU / QUESTIONS',12,MINT,True) prs.save(OUT);print(OUT) ''' p.write_text(code) PY python "/tmp/workspace/pelvic-floor-cervical-conference/src/redesign_visual.py"

Running Command

python - <<'PY' p='/tmp/workspace/pelvic-floor-cervical-conference/src/redesign_visual.py' s=open(p).read() s=s.replace("def tx(sl,x,y,w,h,t,sz=16,c=INK,b=False,a=PP_ALIGN.LEFT,va=MSO_ANCHOR.TOP,font='Aptos Display'):\n b=sl.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h));f=b.text_frame;f.clear();f.word_wrap=True;f.margin_left=f.margin_right=Inches(.03);f.margin_top=f.margin_bottom=Inches(.02);f.vertical_anchor=va\n for i,line in enumerate(t.split('\\n')):\n p=f.paragraphs[0] if i==0 else f.add_paragraph();p.text=line;p.alignment=a;p.space_after=Pt(1)\n for r in p.runs:r.font.name=font;r.font.size=Pt(sz);r.font.bold=b;r.font.color.rgb=c\n return b", "def tx(sl,x,y,w,h,t,sz=16,c=INK,bold=False,a=PP_ALIGN.LEFT,va=MSO_ANCHOR.TOP,font='Aptos Display'):\n box=sl.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h))\n f=box.text_frame; f.clear(); f.word_wrap=True\n f.margin_left=f.margin_right=Inches(.03); f.margin_top=f.margin_bottom=Inches(.02); f.vertical_anchor=va\n for i,line in enumerate(t.split('\\n')):\n p=f.paragraphs[0] if i==0 else f.add_paragraph(); p.text=line; p.alignment=a; p.space_after=Pt(1)\n for r in p.runs:\n r.font.name=font; r.font.size=Pt(sz); r.font.bold=bold; r.font.color.rgb=c\n return box") s=s.replace("def head(sl,t,sub='',dark=False):tx(sl,.55,1.02,11.6,.75,t,30,WHITE if dark else MIDNIGHT,True); \n if sub:tx(sl,.57,1.83,10.8,.38,sub,13,RGBColor(205,222,220) if dark else GREY)", "def head(sl,t,sub='',dark=False):\n tx(sl,.55,1.02,11.6,.75,t,30,WHITE if dark else MIDNIGHT,True)\n if sub:\n tx(sl,.57,1.83,10.8,.38,sub,13,RGBColor(205,222,220) if dark else GREY)") open(p,'w').write(s) PY python "/tmp/workspace/pelvic-floor-cervical-conference/src/redesign_visual.py" && python - <<'PY' from pptx import Presentation p='/tmp/workspace/pelvic-floor-cervical-conference/output/Rebuilding_the_Base_Conference_Visual_Redesign.pptx' prs=Presentation(p) print('slides',len(prs.slides)) for i,s in enumerate(prs.slides,1): x=[sh.text for sh in s.shapes if hasattr(sh,'text_frame') and sh.text.strip()] print(i, len(s.shapes), x[0].replace('\n',' ')[:55]) PY

Browsing Directory

~/pelvic-floor-cervical-conference/output

Redesigned the complete 25-slide deck with a polished conference visual theme:
  • Premium midnight navy, teal, mint, peach, and gold palette
  • Minimal, high-impact slide layouts
  • Visual pathways, cards, timeline elements, and conversational prompts
  • No research-heavy tables or in-slide citations
  • Focused clinical storytelling, from survivor experience to practical rehabilitation action

Rebuilding the Base Conference Visual Redesign

Presentation · PPTX

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