Rebuilding the Base: Pelvic Floor Rehabilitation in Cervical Cancer Survivorship conference for 45 mins Presentation with evidence base to medical staffs
Create a 45-minute evidence-based PowerPoint on pelvic floor rehabilitation
Rebuilding the Base: Pelvic Floor Rehabilitation in Cervical Cancer Survivorship conference for 45 mins Presentation with evidence base to medical staffs
"cervical cancer" AND "pelvic floor rehabilitation"
cervical cancer survivorship pelvic floor rehabilitation guideline sexual dysfunction lymphedema 2024
PMID: 39177709
PMID: 32367126
PMID: 39581933
"cervical cancer" AND "sexual rehabilitation"
~/
PMID: 38961193
PMID: 39428554
pelvic floor muscle training biofeedback woman diagram
https://www.cancer.org/cancer/supportive-care/nutrition-acti…
~/
PMID: 37109662
mkdir -p "/tmp/workspace/pelvic-floor-cervical-cancer/src" "/tmp/workspace/pelvic-floor-cervical-cancer/output" && printf '%s\n' 'workspace project directories created'
~/pelvic-floor-cervical-cancer/src/create_deck.py
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR
from pptx.dml.color import RGBColor
from pptx.enum.dml import MSO_THEME_COLOR
from pptx.enum.text import MSO_AUTO_SIZE
from pptx.enum.shapes import MSO_SHAPE_TYPE
import os
OUT = '/tmp/workspace/pelvic-floor-cervical-cancer/output/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_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(20, 45, 69)
TEAL = RGBColor(15, 132, 130)
MINT = RGBColor(206, 239, 232)
CORAL = RGBColor(213, 100, 92)
GOLD = RGBColor(223, 169, 75)
INK = RGBColor(35, 47, 57)
MUTED = RGBColor(96, 111, 122)
PALE = RGBColor(244, 248, 248)
WHITE = RGBColor(255,255,255)
LINE = RGBColor(211, 222, 225)
RED = RGBColor(177, 54, 54)
W = 13.333; H = 7.5
def rect(slide,x,y,w,h,fill, line=None, radius=False, transparency=0):
shp=slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if radius else MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h))
shp.fill.solid(); shp.fill.fore_color.rgb=fill; shp.fill.transparency=transparency
shp.line.color.rgb = line if line else fill
if radius: shp.adjustments[0]=0.08
return shp
def line(slide,x1,y1,x2,y2,color=LINE,width=1.2):
shp=slide.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(x1), Inches(y1), Inches(x2), Inches(y2))
shp.line.color.rgb=color; shp.line.width=Pt(width); return shp
def text(slide,x,y,w,h,txt,size=18,color=INK,bold=False,align=PP_ALIGN.LEFT, font='Aptos', valign=MSO_ANCHOR.TOP, margin=0.03):
tb=slide.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h))
tf=tb.text_frame; tf.clear(); tf.word_wrap=True; tf.vertical_anchor=valign
tf.margin_left=tf.margin_right=Inches(margin); tf.margin_top=tf.margin_bottom=Inches(margin)
p=tf.paragraphs[0]; p.alignment=align
r=p.add_run(); r.text=txt; r.font.name=font; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color
return tb
def bullets(slide,x,y,w,h,items,size=17,color=INK,leading=1.15):
tb=slide.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h)); tf=tb.text_frame; tf.clear(); tf.word_wrap=True
tf.margin_left=Inches(.05); tf.margin_right=Inches(.02); tf.margin_top=Inches(.03); tf.margin_bottom=Inches(.02)
for i,item in enumerate(items):
p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=item; p.level=0; p.font.name='Aptos'; p.font.size=Pt(size); p.font.color.rgb=color
p.space_after=Pt(8); p.bullet=True
return tb
def title(slide,ttl,kicker=None,num=None):
rect(slide,0,0,W,.18,TEAL)
if kicker: text(slide,.55,.35,11,.28,kicker.upper(),10,TEAL,True)
text(slide,.55,.63,12.0,.58,ttl,27,NAVY,True)
if num is not None: text(slide,12.15,.4,.55,.25,f'{num:02d}',10,MUTED,True,PP_ALIGN.RIGHT)
def footer(slide,cite='', timing=''):
line(slide,.55,7.02,12.78,7.02,LINE,.7)
text(slide,.55,7.08,10.8,.18,cite,8.2,MUTED)
text(slide,11.55,7.08,1.2,.18,timing,8.2,TEAL,True,PP_ALIGN.RIGHT)
def add_notes(slide, body):
try:
tf=slide.notes_slide.notes_text_frame
tf.text=body
except Exception:
pass
def card(slide,x,y,w,h,head,body,accent=TEAL,body_size=15):
rect(slide,x,y,w,h,WHITE,LINE,True)
rect(slide,x,y,w,.09,accent,accent,True)
text(slide,x+.22,y+.22,w-.44,.28,head,14,NAVY,True)
text(slide,x+.22,y+.61,w-.44,h-.76,body,body_size,INK)
def circle(slide,x,y,d,fill,txt='',ts=16,tc=WHITE):
shp=slide.shapes.add_shape(MSO_SHAPE.OVAL, Inches(x), Inches(y), Inches(d), Inches(d)); shp.fill.solid(); shp.fill.fore_color.rgb=fill; shp.line.color.rgb=fill
if txt: text(slide,x,y+.02,d,d-.04,txt,ts,tc,True,PP_ALIGN.CENTER,valign=MSO_ANCHOR.MIDDLE)
return shp
# 1
s=prs.slides.add_slide(blank)
rect(s,0,0,W,H,NAVY)
rect(s,0,0,.22,H,TEAL)
# abstract pelvic bowl illustration
for x,y,d,c in [(9.2,1.3,2.6,TEAL),(10.6,2.45,1.8,GOLD),(8.5,3.55,1.5,CORAL)]: circle(s,x,y,d,c,'',0)
line(s,9.4,5.4,11.7,5.4,WHITE,2)
line(s,9.75,5.4,10.4,6.2,WHITE,2); line(s,11.35,5.4,10.7,6.2,WHITE,2)
text(s,.7,.92,7.7,.28,'CERVICAL CANCER SURVIVORSHIP CONFERENCE',12,MINT,True)
text(s,.7,1.45,7.7,1.5,'Rebuilding the Base',38,WHITE,True)
text(s,.7,2.93,7.7,.7,'Pelvic Floor Rehabilitation in Cervical Cancer Survivorship',23,MINT)
text(s,.72,4.18,6.5,.5,'A 45-minute evidence-based session for medical staff',16,WHITE)
text(s,.72,6.45,6.5,.25,'Educational use - adapt pathways to local oncology, radiation, and rehabilitation services',9,MINT)
add_notes(s,'Timing: 1 minute. Open by framing pelvic health as a core survivorship outcome, not an optional add-on. State that this session focuses on rehabilitation after cervical cancer treatment and how medical staff can identify, initiate, and coordinate care.')
# 2 objectives
s=prs.slides.add_slide(blank); title(s,'Learning objectives','By the end of this session',2)
for i,(h,b,c) in enumerate([
('Recognize','How surgery, radiotherapy, systemic treatment and menopause affect bladder, bowel, sexual function and pelvic tissues.',TEAL),
('Assess','A practical, trauma-informed screen plus red flags that should pause rehabilitation and prompt medical review.',CORAL),
('Prescribe & refer','A staged rehabilitation pathway, referral criteria, measures, and roles across the multidisciplinary team.',GOLD)]):
x=.7+i*4.17; circle(s,x+.1,1.55,.55,c,str(i+1),18); card(s,x,2.28,3.65,2.65,h,b,c,17)
text(s,.72,5.72,11.7,.55,'Take-home message: start with symptom inquiry and safe referral. The intervention is individualized, supervised, and multidisciplinary.',20,NAVY,True)
footer(s,'Scope: post-treatment cervical cancer survivorship','1 min')
add_notes(s,'Timing: 1 minute. Set expectations. This is not a pelvic examination workshop. It is a clinical implementation session: recognize burden, screen safely, refer early, and align oncology and rehabilitation plans.')
#3 agenda
s=prs.slides.add_slide(blank); title(s,'Roadmap for 45 minutes','Flow',3)
steps=[('01','Why this matters',5),('02','Mechanisms & phenotypes',7),('03','Assessment & triage',8),('04','Rehabilitation toolkit',12),('05','Evidence & implementation',9),('06','Case and take-home actions',4)]
for i,(n,l,t) in enumerate(steps):
y=1.35+i*.77; circle(s,.8,y,.43,TEAL if i<4 else GOLD,n,10); text(s,1.48,y+.05,4.5,.27,l,17,NAVY,True); rect(s,6.05,y+.1,4.5*(t/12),.16,TEAL if i<4 else GOLD); text(s,11.0,y+.03,1,.25,f'{t} min',11,MUTED,False,PP_ALIGN.RIGHT)
text(s,.8,6.35,11.4,.35,'Evidence is strongest for multimodal pelvic-floor and education approaches, but cervical cancer-specific pathways remain heterogeneous.',17,INK)
footer(s,'Brennen et al. Phys Ther. 2020. PMID: 32367126; Cyr et al. Curr Oncol Rep. 2024. PMID: 39177709','1 min')
add_notes(s,'Timing: 1 minute. Describe the pacing. Ask audience to consider their current referral trigger during the talk.')
#4 problem
s=prs.slides.add_slide(blank); title(s,'Survival is not the end point','The unmet burden is often hidden',4)
card(s,.65,1.45,3.8,3.85,'Bladder','Urgency, incontinence, retention or incomplete emptying can follow autonomic injury, radiotherapy, altered mobility, pain, and behavioral adaptation.',TEAL,16)
card(s,4.76,1.45,3.8,3.85,'Bowel','Constipation, urgency, diarrhea, incomplete evacuation, fecal incontinence and pelvic pain may coexist with pelvic floor overactivity.',GOLD,16)
card(s,8.87,1.45,3.8,3.85,'Sexual & vaginal','Dryness, stenosis, shortening, dyspareunia, altered desire/arousal, body-image distress and relationship impacts require active inquiry.',CORAL,16)
rect(s,.65,5.75,12.02,.55,MINT,MINT,True); text(s,.9,5.88,11.55,.22,'Patients may not volunteer symptoms. A normalized, routine question is itself an intervention.',16,NAVY,True,PP_ALIGN.CENTER)
footer(s,"Goldman-Cecil Medicine, 'Approach to Survivors of Gynecologic Cancers,' pp. 448-458; Cianci et al. 2023. PMID: 37109662",'2 min')
add_notes(s,'Timing: 2 minutes. Emphasize that this is a cluster, not isolated symptoms. Normalize asking: “Many people after cervical cancer treatment have bladder, bowel, vaginal or intimacy concerns. Has any of this affected you?”')
#5 mechanisms
s=prs.slides.add_slide(blank); title(s,'Why pelvic function changes','Treatment exposures map to distinct but overlapping phenotypes',5)
items=[('Radical hysterectomy','Autonomic nerve disruption; altered support and tissue mechanics.','Voiding dysfunction, reduced sensation, bowel dysmotility, sexual dysfunction',TEAL),('Pelvic radiotherapy ± brachytherapy','Fibrosis, vascular/tissue change, mucosal dryness, bowel and bladder irritation.','Urgency, radiation cystitis/proctopathy symptoms, stenosis, pain',CORAL),('Lymphadenectomy / systemic therapy','Lymphedema; fatigue; neuropathy; treatment-induced menopause.','Heaviness/swelling, mobility limits, altered sensation, dryness, low desire',GOLD)]
for i,(a,b,c,d) in enumerate(items):
y=1.35+i*1.62; rect(s,.65,y,2.9,1.15,c,c,True); text(s,.88,y+.19,2.45,.28,a,15,WHITE,True); text(s,3.85,y+.03,3.75,.42,b,14,INK); line(s,7.88,y+.55,8.45,y+.55,c,2); text(s,8.68,y+.03,3.7,.55,d,14,NAVY,True)
footer(s,"Goldman-Cecil Medicine, 'Approach to Survivors of Gynecologic Cancers,' pp. 448-454; Berek & Novak's Gynecology, pp. 3198-3216",'3 min')
add_notes(s,'Timing: 3 minutes. Make the key clinical distinction: a weak pelvic floor is only one phenotype. Hypertonicity, pain guarding, impaired coordination, sensory or autonomic dysfunction, and tissue changes require different treatment choices. Do not default to unsupervised Kegels.')
#6 model
s=prs.slides.add_slide(blank); title(s,'A functional model, not a single-muscle model','Rehabilitation targets the system',6)
# central
circle(s,5.55,2.25,2.2,NAVY,'PELVIC\nFUNCTION',18,WHITE)
for x,y,h,b,c in [(1.0,1.25,'Tissue','Vaginal mucosa, scars, fibrosis',TEAL),(9.15,1.25,'Nerves','Autonomic, peripheral, sensory',CORAL),(1.0,4.65,'Muscles','Strength, relaxation, timing',GOLD),(9.15,4.65,'Context','Fear, fatigue, partner, access',TEAL)]:
card(s,x,y,3.1,1.25,h,b,c,13); line(s, x+3.1 if x<5 else x, y+.62, 5.55 if x<5 else 7.75, 3.35, c, 1.5)
text(s,.72,6.38,11.9,.3,'Treatment selection follows the dominant impairments and patient goals, with oncology safety constraints always first.',17,NAVY,True,PP_ALIGN.CENTER)
footer(s,'Clinical synthesis based on survivor sequelae described in Goldman-Cecil Medicine, pp. 448-458','2 min')
add_notes(s,'Timing: 2 minutes. Explain that rehab must be phenotype-led. A patient with retention needs medical assessment and voiding strategy before strengthening. A patient with dyspareunia may need tissue care, down-training, graded exposure and counseling, not forceful dilation.')
#7 screening
s=prs.slides.add_slide(blank); title(s,'Start with a 90-second pelvic health screen','Make it routine at surveillance and survivorship reviews',7)
qs=['Any leakage, urgency, difficult emptying, recurrent UTI symptoms, or nocturia?','Any constipation, diarrhea, urgency, incomplete emptying, or fecal leakage?','Any vaginal dryness, bleeding, narrowing, pain, or difficulty with examination, dilator, or intimacy?','Any pelvic pain, swelling/heaviness, numbness, fatigue, or concern about sexual wellbeing?']
for i,q in enumerate(qs):
y=1.25+i*1.1; circle(s,.75,y,.38,TEAL,'?',14); text(s,1.35,y+.01,10.9,.45,q,17,INK)
rect(s,.75,5.9,11.8,.5,PALE,LINE,True); text(s,1.0,6.03,11.25,.2,'Ask permission, use the patient’s language, invite “not applicable”, and offer private follow-up.',14,MUTED,False,PP_ALIGN.CENTER)
footer(s,'Cianci et al. 2023. PMID: 37109662; clinical implementation recommendation','3 min')
add_notes(s,'Timing: 3 minutes. Demonstrate a brief script: “I ask everyone because these effects are common and treatable.” Consider language, culture, disability, sexual orientation, and whether the person wants a partner included. No internal examination is required for this initial screen.')
#8 red flags
s=prs.slides.add_slide(blank); title(s,'Safety first: pause and escalate when indicated','Rehabilitation complements, never replaces, cancer surveillance and medical assessment',8)
left=['New or unexplained vaginal, rectal, or urinary bleeding','New pelvic mass, escalating unremitting pain, systemic symptoms or suspected recurrence','Fever, acute dysuria/flank pain, sepsis concern, or significant hematuria','Acute urinary retention, high post-void residual concern, obstruction symptoms','Suspected fistula, severe radiation tissue injury, or acute bowel obstruction']
right=['Limb/genital swelling with acute pain, redness, dyspnea, or thrombosis concern','Fragility fracture concern or new severe load-related pelvic pain','Active severe mucosal injury or wounds where internal work/dilation may be unsafe','Patient distress, trauma response, or consent uncertainty: stop and offer alternatives','Unclear oncologic restrictions: clarify with treating team before internal intervention']
rect(s,.65,1.25,5.9,4.95,RGBColor(255,246,246),RGBColor(240,190,190),True); text(s,.92,1.52,5.2,.3,'MEDICAL / ONCOLOGY REVIEW',16,RED,True); bullets(s,.93,2.03,5.2,3.9,left,15,INK)
rect(s,6.78,1.25,5.9,4.95,RGBColor(255,250,241),RGBColor(240,214,162),True); text(s,7.05,1.52,5.2,.3,'MODIFY / DEFER REHABILITATION',16,RGBColor(139,98,20),True); bullets(s,7.06,2.03,5.2,3.9,right,15,INK)
footer(s,'Safety framework: oncology and rehabilitation clinical consensus; local protocols prevail','3 min')
add_notes(s,'Timing: 3 minutes. State that red flags are a safety screen, not an exhaustive diagnostic list. Refer urgently according to local pathways. Internal assessment or vaginal dilation must be consented, clinically appropriate, and coordinated if there is active disease, tissue injury, or uncertainty.')
#9 assessment
s=prs.slides.add_slide(blank); title(s,'Assessment: measure the problem the patient wants solved','Baseline measures support shared decisions and response tracking',9)
cols=[('History','Treatment exposure\nSymptom onset/pattern\nMedication, bowel and bladder habits\nGoals and safety screen',TEAL),('Patient-reported outcome','Bladder: ICIQ-UI / ICIQ-OAB\nBowel: Wexner or LARS-type measures where relevant\nSexual: FSFI, FSDS-R\nQoL: EORTC QLQ-C30/CX24',CORAL),('Physical assessment','External observation, breathing, mobility, scars, pain\nInternal exam only if indicated, consented, and safe\nStrength + relaxation + coordination',GOLD),('Functional test','Bladder diary\nBristol stool chart\nActivity / intimacy goals\nAdherence and barriers',TEAL)]
for i,(h,b,c) in enumerate(cols): card(s,.58+i*3.15,1.38,2.82,4.55,h,b,c,15)
footer(s,'Cianci et al. 2023. PMID: 37109662; Cyr et al. 2024. PMID: 39177709','3 min')
add_notes(s,'Timing: 3 minutes. Avoid over-medicalizing sexuality. Use a measure only if it helps the patient goal and you can act on it. Document treatment type and timing. Physical assessment should include ability to relax, not only a contraction grade.')
#10 pathway
s=prs.slides.add_slide(blank); title(s,'A staged rehabilitation pathway','Match timing and intensity to treatment recovery, symptoms, and safety',10)
stages=[('1. Prepare','Before / during treatment\nEducation, expectation setting, baseline screening, breathing and mobility, referral planning',TEAL),('2. Recover','Early post-treatment\nSafety review, symptom triage, bladder/bowel habits, gentle activity, scar/tissue considerations',GOLD),('3. Retrain','Persistent symptoms\nIndividualized PFMT or down-training, coordination, biofeedback when appropriate, graded functional work',CORAL),('4. Sustain','Long-term survivorship\nSelf-management, sexual health support, lymphedema/exercise pathway, relapse plan and re-entry route',TEAL)]
for i,(h,b,c) in enumerate(stages):
x=.7+i*3.12; rect(s,x,1.55,2.67,3.85,WHITE,LINE,True); circle(s,x+.86,1.82,.9,c,str(i+1),19); text(s,x+.2,2.95,2.27,.3,h,16,NAVY,True,PP_ALIGN.CENTER); text(s,x+.23,3.48,2.2,1.35,b,14,INK,False,PP_ALIGN.CENTER)
if i<3: line(s,x+2.68,3.45,x+3.09,3.45,TEAL,2)
footer(s,'Cyr et al. 2024. PMID: 39177709; clinical pathway synthesis','3 min')
add_notes(s,'Timing: 3 minutes. Prevention and prehabilitation are preferable to waiting for severe symptoms. Timing is not a rigid schedule. It depends on healing, active therapy, tissue status, and the oncology plan.')
#11 PFMT
s=prs.slides.add_slide(blank); title(s,'Pelvic floor muscle training: prescribe a skill, not a slogan','Strengthening is appropriate only after assessment of function and capacity',11)
card(s,.7,1.35,3.65,4.72,'The training target','Accurate contraction\nFull relaxation\nEndurance and repeated effort\nCoordination with cough, lift, transfers and exercise\nTransfer to patient-selected activities',TEAL,16)
card(s,4.84,1.35,3.65,4.72,'Dose & progression','Individualize frequency, repetitions, rest and load\nUse supervision to confirm technique\nProgress by symptoms, fatigue, tissue tolerance and function\nHome program must be realistic',GOLD,16)
card(s,8.98,1.35,3.65,4.72,'When not to push','High tone / pain / inability to relax\nRetention or unclear voiding dysfunction\nAcute radiation symptoms or tissue injury\nActive red flags or no oncology clearance for internal care',CORAL,16)
footer(s,'Cyr et al. 2024. PMID: 39177709; Brennen et al. 2020. PMID: 32367126','3 min')
add_notes(s,'Timing: 3 minutes. Reinforce that active pelvic-floor therapy plus education appears more favorable than passive-only approaches in the 2024 review. Do not provide a universal set-and-rep prescription. A qualified pelvic health clinician individualizes it.')
#12 bladder bowel
s=prs.slides.add_slide(blank); title(s,'Bladder and bowel rehabilitation','Treat behavior, coordination, tissue effects, and medical contributors together',12)
card(s,.7,1.35,5.75,4.8,'BLADDER','• Bladder diary, fluid and irritant review\n• Timed voiding or urge suppression only when clinically appropriate\n• Pelvic-floor coordination for stress leakage\n• Identify retention, infection, hematuria, radiation cystitis, medication effects\n• Escalate for urology/urogynecology assessment when needed',TEAL,16)
card(s,6.88,1.35,5.75,4.8,'BOWEL','• Stool form, dietary pattern, toileting mechanics and routine\n• Avoid straining; assess coordination and relaxation\n• Address constipation, urgency, diarrhea and incontinence with GI/oncology input\n• Consider radiation proctopathy and obstruction symptoms\n• Refer to dietetics, gastroenterology or colorectal services when indicated',GOLD,16)
footer(s,"Goldman-Cecil Medicine, 'Approach to Survivors of Gynecologic Cancers,' pp. 448-454; Cyr et al. 2024. PMID: 39177709",'3 min')
add_notes(s,'Timing: 3 minutes. Highlight that treatment evidence is less definitive for bladder and bowel outcomes than for sexual function in the 2020 review, so careful phenotype assessment and appropriate specialty pathways matter. Avoid blaming patients for symptoms that may be treatment toxicity.')
#13 sexual health
s=prs.slides.add_slide(blank); title(s,'Sexual and vaginal rehabilitation','Begin with permission, information, and a patient-defined goal',13)
steps=[('Permission','Normalize discussion; ask what matters. Sexual wellbeing includes comfort, intimacy, identity and relationships.'),('Information','Explain plausible treatment effects, uncertainty, and what is modifiable. Correct myths and give written resources.'),('Specific help','Lubricants/moisturizers, menopausal symptom review with oncology team, dilator education when indicated, graded exposure, manual therapy only if safe, counseling/sex therapy.'),('Follow-up','Review symptom response, distress, adherence barriers and partner concerns. Revisit over time.')]
for i,(h,b) in enumerate(steps):
y=1.22+i*1.22; circle(s,.8,y,.45,[TEAL,GOLD,CORAL,TEAL][i],str(i+1),13); text(s,1.5,y-.02,2,.25,h,16,NAVY,True); text(s,3.45,y-.02,8.9,.5,b,15,INK)
footer(s,'Brennen et al. 2020. PMID: 32367126; Suvaal et al. 2024. PMID: 38961193; Cianci et al. 2023. PMID: 37109662','3 min')
add_notes(s,'Timing: 3 minutes. Do not make intercourse the only outcome. Include non-penetrative intimacy and the right not to pursue sexual activity. Vaginal dilator care should be individualized and never coercive. Tissue-directed treatments and hormonal options require patient-specific discussion and oncology input.')
#14 dilators
s=prs.slides.add_slide(blank); title(s,'Vaginal dilator care: nuanced, taught, and followed','A device alone is not a rehabilitation program',14)
rect(s,.75,1.35,3.5,4.75,RGBColor(240,250,248),MINT,True); text(s,1.05,1.66,2.9,.3,'WHAT TO DO',16,TEAL,True); bullets(s,1.04,2.12,2.95,3.6,['Confirm indication, healing and patient readiness','Explain purpose, steps, comfort strategies and stop rules','Use gradual, patient-controlled progression','Follow up on pain, bleeding, distress and barriers'],15)
rect(s,4.9,1.35,3.5,4.75,RGBColor(255,249,239),RGBColor(243,222,174),True); text(s,5.2,1.66,2.9,.3,'WHAT NOT TO DO',16,RGBColor(139,98,20),True); bullets(s,5.19,2.12,2.95,3.6,['Do not prescribe without education or follow-up','Do not use pain as a therapeutic target','Do not assume all patients want penetrative sex','Do not continue if red flags or tissue concerns emerge'],15)
rect(s,9.05,1.35,3.5,4.75,RGBColor(255,246,246),RGBColor(240,190,190),True); text(s,9.35,1.66,2.9,.3,'WHAT EVIDENCE SAYS',16,RED,True); text(s,9.35,2.12,2.9,3.5,'Evidence supports counseling-linked pelvic rehabilitation but certainty for dilator-only approaches is low. A recent RCT found no between-group sexual function advantage over good usual care, supporting structured information and follow-up as standard.',15,INK)
footer(s,'Brennen et al. 2020. PMID: 32367126; Suvaal et al. 2024. PMID: 38961193','3 min')
add_notes(s,'Timing: 3 minutes. Be precise: the 2020 review found very low-level evidence that dilator therapy reduced vaginal complications. SPARC did not show superiority over usual care, but usual care included improved information and dilator guidance. The practical message is informed, supported care, not unsupported device prescribing.')
#15 adjuncts
s=prs.slides.add_slide(blank); title(s,'Adjuncts: use for the impairment, not as stand-alone technology','Evidence and feasibility vary',15)
for i,(h,b,c) in enumerate([
('Biofeedback','Can improve awareness and motor learning when a patient cannot identify contraction or relaxation. Use alongside active practice and education.',TEAL),
('Electrical stimulation','May be considered selectively when voluntary activation is absent or very limited. Screen sensation, tissue status, contraindications and goals.',GOLD),
('Manual therapy / scar work','May support mobility or pain care when consented and clinically appropriate. Combine with education, graded movement and self-management.',CORAL),
('Breathing, core & graded activity','Useful for coordination, function, fatigue and confidence. Avoid simplistic “core equals pelvic floor” messaging.',TEAL)]):
x=.65+(i%2)*6.15; y=1.35+(i//2)*2.4; card(s,x,y,5.55,1.78,h,b,c,15)
footer(s,'Cyr et al. 2024. PMID: 39177709; Brennen et al. 2020. PMID: 32367126','2 min')
add_notes(s,'Timing: 2 minutes. Explain that modalities are tools, not treatment plans. Evidence synthesis suggests active PFM plus education is more consistently favorable than passive-only approaches. The intervention should retain a meaningful active and self-management component.')
#16 evidence
s=prs.slides.add_slide(blank); title(s,'What is the evidence base?','Signal of benefit, but confidence is limited by heterogeneity',16)
# evidence pyramid
for i,(w,h,c,label,desc) in enumerate([(3.0,.65,TEAL,'2026 umbrella review','17 reviews with meta-analyses; 92 primary studies across cancer groups'),(4.6,.72,GOLD,'2024 systematic review','20 gynecologic cancer studies; 11 RCTs; multimodal approaches favored'),(6.2,.82,CORAL,'2020 systematic review','5 RCTs + 2 cohorts; cervical cancer data included')]):
x=(13.33-w)/2; y=1.35+i*1.08; rect(s,x,y,w,h,c,c,True); text(s,x+.2,y+.12,w-.4,.22,label,15,WHITE,True,PP_ALIGN.CENTER)
text(s,.75,5.05,12,.32,'Interpretation for practice',18,NAVY,True)
text(s,.75,5.47,12,.72,'Offer and study pelvic rehabilitation as a component of survivorship care, while being transparent: protocols, outcomes, dose, supervision and cancer-treatment mixes vary. Use individual goals and outcome measures.',17,INK)
footer(s,'Hao et al. J Cancer Surviv. 2026. PMID: 39581933; Cyr et al. 2024. PMID: 39177709; Brennen et al. 2020. PMID: 32367126','3 min')
add_notes(s,'Timing: 3 minutes. Use this slide to avoid overstating the evidence. The 2026 umbrella review found methodological quality often low or critically low. The 2024 review suggests active PFM plus education may improve vaginal, pelvic floor, sexual and PFM function; bladder improvement was possible. QoL conclusions remained unclear due to conflicting results.')
#17 quantified
s=prs.slides.add_slide(blank); title(s,'A closer look at the cervical cancer signal','Results that support referral, not a one-size-fits-all protocol',17)
rect(s,.72,1.42,5.65,3.55,PALE,LINE,True); text(s,1.05,1.75,5.0,.28,'2020 systematic review: meta-analyzed findings',17,NAVY,True)
text(s,1.05,2.35,4.95,.62,'PFMT + counseling + yoga/core interventions',16,INK,True)
text(s,1.05,3.0,4.95,.42,'Improved sexual function',21,TEAL,True)
text(s,1.05,3.5,4.95,.35,'SMD -0.96 (95% CI -1.22 to -0.70); I² = 0%',15,MUTED)
text(s,1.05,4.08,4.95,.35,'Improved health-related quality of life',17,TEAL,True)
rect(s,6.85,1.42,5.75,3.55,RGBColor(255,248,246),RGBColor(244,210,200),True); text(s,7.18,1.75,5.0,.28,'Caution with interpretation',17,NAVY,True)
bullets(s,7.18,2.33,4.9,2.2,['Effect direction depends on the scale used','Interventions were multimodal, not PFMT alone','Bladder and bowel data were insufficient for pooled analysis','Dilator-only evidence for vaginal complications was very low certainty'],15)
rect(s,.72,5.55,11.88,.52,MINT,MINT,True); text(s,.95,5.68,11.45,.2,'Clinical inference: supervised, multimodal rehabilitation is reasonable when offered with appropriate safety screening and follow-up.',15,NAVY,True,PP_ALIGN.CENTER)
footer(s,'Brennen et al. Phys Ther. 2020. PMID: 32367126','3 min')
add_notes(s,'Timing: 3 minutes. Explain that SMDs cannot be converted directly into a simple number of questionnaire points. The evidence supports a rehabilitation offer, especially as part of a multimodal program. It does not justify a universal protocol or promise of effect for every symptom.')
#18 RCT update
s=prs.slides.add_slide(blank); title(s,'Recent trials refine the implementation message','Good usual care matters',18)
card(s,.75,1.36,5.6,4.85,'SPARC: radiotherapy survivorship','229 women randomized to nurse-led sexual rehabilitation or usual care with four sessions over 12 months. No between-group difference in FSFI, distress, dilator use, or vaginal symptoms. Authors recommend a sexual rehabilitation appointment about 1 month after radiotherapy with information, dilator guidance and follow-up during year 1.',TEAL,15)
card(s,6.95,1.36,5.6,4.85,'SEXHAB: gynecologic cancer survivors','150 women randomized to a four-session individual/couple program vs attention control. No significant group differences in sexual function, distress or marital satisfaction; partners reported more sexual interest in the intervention arm. Qualitative data suggested perceived benefit for resuming sexual activity.',CORAL,15)
footer(s,'Suvaal et al. Br J Cancer. 2024. PMID: 38961193; Chow et al. Psycho-oncology. 2024. PMID: 39428554','3 min')
add_notes(s,'Timing: 3 minutes. Use the negative primary results constructively. Evidence does not say “do nothing.” It says high-quality usual care, timely information, skilled follow-up and well-targeted interventions may matter more than a generic four-session add-on. Services should measure their own outcomes.')
#19 MDT
s=prs.slides.add_slide(blank); title(s,'The service model: a connected multidisciplinary pathway','No single discipline owns pelvic health',19)
roles=[('Oncology / radiation','Safety, surveillance, treatment context, tissue and recurrence concerns',NAVY),('Pelvic health physiotherapy','Assessment, PFMT/down-training, function, education, self-management',TEAL),('Nursing','Routine screen, education, navigation, symptom escalation, follow-up',GOLD),('Urogynecology / urology / GI','Complex bladder, bowel, retention, fistula or bleeding pathways',CORAL),('Sexual health / psychology','Distress, relationship, trauma-informed care, counseling and sex therapy',TEAL),('Dietetics / lymphoedema / exercise','Bowel support, swelling management, general recovery and activity',GOLD)]
for i,(h,b,c) in enumerate(roles):
x=.65+(i%3)*4.2; y=1.25+(i//3)*2.25; card(s,x,y,3.75,1.55,h,b,c,14)
rect(s,.65,6.05,12.0,.45,PALE,LINE,True); text(s,.9,6.17,11.5,.18,'Design the referral loop: screen -> triage -> refer -> feedback -> reassess. Avoid a one-way referral that disappears from survivorship care.',14,NAVY,True,PP_ALIGN.CENTER)
footer(s,'Cianci et al. 2023. PMID: 37109662; clinical service-design recommendation','2 min')
add_notes(s,'Timing: 2 minutes. Ask: Who receives a positive screen today? How does oncology learn what happened? The pathway needs named services, referral criteria, wait-time plan, escalation routes and feedback to the referring team.')
#20 case
s=prs.slides.add_slide(blank); title(s,'Case: from symptom list to phenotype-led plan','Discuss for 2 minutes, then reveal a possible pathway',20)
rect(s,.7,1.28,12.0,1.18,RGBColor(239,248,249),MINT,True); text(s,.98,1.53,11.4,.58,'42-year-old, 7 months after chemoradiotherapy and brachytherapy for locally advanced cervical cancer. Reports urgency, fear of leakage, constipation with straining, dyspareunia, vaginal dryness, and avoidance of follow-up examination.',16,INK)
text(s,.72,2.9,3.2,.25,'What would you ask next?',17,NAVY,True)
bullets(s,.73,3.35,3.45,2.45,['Bleeding, infection, pain trend, retention, bowel obstruction symptoms?','Treatment timeline and oncology restrictions?','What outcome matters most right now?','Readiness for an internal assessment?'],15)
text(s,4.7,2.9,3.2,.25,'Initial plan',17,NAVY,True)
bullets(s,4.7,3.35,3.65,2.45,['Oncology safety review and pelvic exam pathway if indicated','Bladder/bowel diary and medication review','Pelvic health assessment: relaxation, coordination, mobility, tissue tolerance','Education, non-threatening graded plan and follow-up'],15)
text(s,8.82,2.9,3.2,.25,'Referral / team actions',17,NAVY,True)
bullets(s,8.82,3.35,3.55,2.45,['Pelvic health physiotherapist','Nurse-led sexual health follow-up','Dietetic / GI input if bowel symptoms persist','Psychology or sex therapy if distress or avoidance dominates'],15)
footer(s,'Clinical application of evidence and safety framework','3 min')
add_notes(s,'Timing: 3 minutes. Invite audience responses. Reveal that this is not an automatic PFMT prescription. The sequence is safety and goals, diary and stool assessment, then a consented phenotype-led rehabilitation plan. Her avoidance of exam deserves respectful, paced care, not pressure.')
#21 implementation
s=prs.slides.add_slide(blank); title(s,'Build the pathway in the next 90 days','A minimum viable pelvic health survivorship service',21)
for i,(h,b,c) in enumerate([('Weeks 1-2','Agree a 4-question screen, red flags, owner, and referral destination.',TEAL),('Weeks 3-4','Map urgent vs routine routes: oncology, pelvic physio, urology/GI, sexual health, lymphoedema.',GOLD),('Month 2','Train clinicians in permission-based language, documentation, and stop/escalation rules.',CORAL),('Month 3','Audit: screening rate, referral completion, wait time, symptom/goal outcome, equity and patient experience.',TEAL)]):
x=.7+(i%2)*6.1; y=1.35+(i//2)*2.25; circle(s,x,y,.58,c,str(i+1),15); card(s,x+.78,y-.05,5.1,1.5,h,b,c,15)
footer(s,'Clinical quality-improvement recommendation; adapted to local service context','2 min')
add_notes(s,'Timing: 2 minutes. The goal is not to create a perfect program on day one. Start with a reliable screen, named referral destination, shared escalation rules and a small measurement set. Monitor equity: who is screened and who completes referral?')
#22 take-home
s=prs.slides.add_slide(blank); title(s,'Five actions to take back tomorrow','Closing messages',22)
acts=['Ask every survivor about bladder, bowel, vaginal, pain and sexual concerns.','Treat the symptom cluster, not just “pelvic floor weakness.”','Screen for red flags before rehabilitation and coordinate with oncology.','Refer early for supervised, individualized, multimodal pelvic rehabilitation.','Close the loop: document goals and outcomes, and reassess over time.']
for i,a in enumerate(acts):
y=1.26+i*.87; circle(s,.78,y,.43,[TEAL,GOLD,CORAL,TEAL,GOLD][i],str(i+1),13); text(s,1.45,y+.02,10.9,.29,a,18,NAVY,True)
rect(s,.75,5.95,11.9,.5,NAVY,NAVY,True); text(s,1,6.08,11.4,.18,'Rehabilitation is survivorship care: evidence-informed, consent-based, and integrated with oncology follow-up.',15,WHITE,True,PP_ALIGN.CENTER)
footer(s,'Key evidence: PMIDs 32367126, 39177709, 39581933, 38961193, 39428554','1 min')
add_notes(s,'Timing: 1 minute. Re-state the main action: routine inquiry plus an accessible referral route. Invite questions.')
#23 references
s=prs.slides.add_slide(blank); title(s,'Selected references','Evidence base',23)
refs=[
'Hao J, et al. Pelvic floor rehabilitation in cancer survivorship: an umbrella review. J Cancer Surviv. 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. Curr Oncol Rep. 2024;26:1326-1345. PMID: 39177709.',
'Brennen R, et al. The effect of pelvic floor muscle interventions on pelvic floor dysfunction after gynecological cancer treatment: a systematic review. Phys Ther. 2020;100:1357-1371. PMID: 32367126.',
'Suvaal I, et al. Efficacy of a nurse-led sexual rehabilitation intervention for women with gynaecological cancers receiving radiotherapy: results of a randomised trial. Br J Cancer. 2024. PMID: 38961193.',
'Chow KM, et al. Multicentre randomized controlled trial of a nurse-led sexual rehabilitation intervention to rebuild sexuality and intimacy after treatment for gynecological cancer. Psycho-oncology. 2024. PMID: 39428554.',
'Cianci S, et al. Post treatment sexual function and quality of life of patients affected by cervical cancer: a systematic review. Medicina. 2023;59:704. PMID: 37109662.',
'Goldman-Cecil Medicine. Approach to Survivors of Gynecologic Cancers. pp. 448-458. Accessed via medical textbook library.',
'Berek & Novak’s Gynecology. Nerve-Sparing Radical Hysterectomy and postoperative complications. pp. 3198-3216. Accessed via medical textbook library.'
]
bullets(s,.72,1.22,12,5.85,refs,14,INK)
footer(s,'Full citations included for presentation use','')
add_notes(s,'Use these primary sources for follow-up. Note that several evidence syntheses include gynecological cancer populations rather than cervical cancer alone; apply findings with clinical judgment.')
# Set core props
prs.core_properties.title='Rebuilding the Base: Pelvic Floor Rehabilitation in Cervical Cancer Survivorship'
prs.core_properties.subject='45-minute evidence-based clinical conference presentation'
prs.core_properties.author='Orris'
prs.save(OUT)
print(OUT)
python "/tmp/workspace/pelvic-floor-cervical-cancer/src/create_deck.py"
~/pelvic-floor-cervical-cancer/src/create_deck.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/pelvic-floor-cervical-cancer/src/create_deck.py'
python "/tmp/workspace/pelvic-floor-cervical-cancer/src/create_deck.py" && ls -lh "/tmp/workspace/pelvic-floor-cervical-cancer/output/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship.pptx"
"footer(s," in ~/pelvic-floor-cervical-cancer/src
python - <<'PY' from pptx import Presentation p='/tmp/workspace/pelvic-floor-cervical-cancer/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): ts=[] for sh in s.shapes: if hasattr(sh,'text') and sh.text.strip(): ts.append(sh.text.replace('\n',' | ')) print(i, ' :: '.join(ts[:3])) print('notes with text',sum(1 for s in prs.slides if s.notes_slide.notes_text_frame.text.strip())) PY
python - <<'PY' from pptx import Presentation from collections import Counter p='/tmp/workspace/pelvic-floor-cervical-cancer/output/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship.pptx' prs=Presentation(p) print('presentation opens; slides:',len(prs.slides)) print('speaker notes:',sum(bool(s.notes_slide.notes_text_frame.text.strip()) for s in prs.slides)) print('slide size inches:', round(prs.slide_width/914400,3), round(prs.slide_height/914400,3)) # check text frame overflow approximation for i,s in enumerate(prs.slides,1): for sh in s.shapes: if getattr(sh,'has_text_frame',False): # flag only very dense boxes if len(sh.text)>500: print('dense text slide',i,'chars',len(sh.text)) PY
~/pelvic-floor-cervical-cancer/src/create_deck.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/pelvic-floor-cervical-cancer/src/create_deck.py'
python "/tmp/workspace/pelvic-floor-cervical-cancer/src/create_deck.py" && python - <<'PY' from pptx import Presentation p='/tmp/workspace/pelvic-floor-cervical-cancer/output/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship.pptx' prs=Presentation(p) assert len(prs.slides)==23 assert sum(bool(s.notes_slide.notes_text_frame.text.strip()) for s in prs.slides)==23 print('verified: 23 slides, 23 speaker-note pages, widescreen presentation opens correctly') PY ls -lh "/tmp/workspace/pelvic-floor-cervical-cancer/output/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship.pptx"
Rebuilding the Base Pelvic Floor Rehabilitation Cervical Cancer Survivorship
Presentation · PPTX