Topics : Rebuilding the Base — Pelvic Floor Rehabilitation in Cervical Cancer Survivorship- Please prepare good professional presentation ppt in the medical conference
"cervical cancer" AND "pelvic floor rehabilitation"
cervical cancer survivorship pelvic floor rehabilitation guideline
~/
PMID: 39177709
https://iris.who.int/bitstream/handle/10665/370510/978924007…
anatomical diagram female pelvic floor muscles levator ani pelvic organs
mkdir -p "/tmp/workspace/pelvic-floor-cervical-cancer/src" "/tmp/workspace/pelvic-floor-cervical-cancer/output" && printf '%s\n' 'directories ready'
ls -la "/tmp/workspace/" && python -c "import pptx; print('python-pptx ready')"
~/pelvic-floor-cervical-cancer/src/create_deck.py
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.enum.dml import MSO_THEME_COLOR
from pptx.enum.text import MSO_AUTO_SIZE
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(19,43,66); TEAL=RGBColor(19,130,132); AQUA=RGBColor(204,239,235); GOLD=RGBColor(218,164,72); CORAL=RGBColor(211,91,82); INK=RGBColor(37,53,65); MUTED=RGBColor(94,111,122); BG=RGBColor(247,250,250); WHITE=RGBColor(255,255,255); PALE=RGBColor(232,242,241); REDPALE=RGBColor(252,239,237)
def rect(slide,x,y,w,h,fill, radius=False, line=None):
sh=slide.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 or fill
if radius: sh.adjustments[0]=0.12
return sh
def text(slide,x,y,w,h,content,size=18,color=INK,bold=False,align=PP_ALIGN.LEFT,font='Aptos',val=MSO_ANCHOR.TOP,margin=0.04):
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=tf.margin_right=Inches(margin); tf.margin_top=tf.margin_bottom=Inches(margin); tf.vertical_anchor=val
p=tf.paragraphs[0]; p.alignment=align; p.space_after=Pt(0)
r=p.add_run(); r.text=content; r.font.name=font; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color
return tb
def rich_lines(slide,x,y,w,h,lines,base=17):
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=tf.margin_right=Inches(.07); tf.margin_top=tf.margin_bottom=Inches(.04)
for i, line in enumerate(lines):
p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=line
p.font.name='Aptos'; p.font.size=Pt(base); p.font.color.rgb=INK; p.space_after=Pt(8); p.level=0
if line.startswith('•'): p.font.color.rgb=INK
return tb
def title(slide, kicker, heading, sub=None, num=None):
rect(slide,0,0,13.333,7.5,BG)
rect(slide,0,0,13.333,.14,TEAL)
text(slide,.62,.42,11.7,.28,kicker.upper(),10,TEAL,True)
text(slide,.62,.74,11.9,.7,heading,28,NAVY,True)
if sub: text(slide,.64,1.46,11.8,.4,sub,13,MUTED)
if num: text(slide,12.15,.42,.55,.25,f'{num:02d}',11,TEAL,True,PP_ALIGN.RIGHT)
def footer(slide, source=''):
rect(slide,.62,7.05,12.1,.012,RGBColor(199,214,215))
text(slide,.63,7.13,10.9,.18,source,8,MUTED)
text(slide,12.02,7.11,.62,.18,'MEDICAL CONFERENCE',7,TEAL,True,PP_ALIGN.RIGHT)
def note(slide, s):
try:
tf=slide.notes_slide.notes_text_frame
tf.text=s
except Exception: pass
def pill(slide,x,y,w,label,color=TEAL):
sh=rect(slide,x,y,w,.35,PALE,True); text(slide,x+.08,y+.075,w-.16,.15,label,9,color,True,PP_ALIGN.CENTER)
def circle(slide,x,y,d,fill,label,ts=15):
sh=slide.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
text(slide,x,y+(d/2-.15),d,.3,label,ts,WHITE,True,PP_ALIGN.CENTER)
def add_connector(slide,x1,y1,x2,y2,color=TEAL,width=2):
ln=slide.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(x1), Inches(y1), Inches(x2), Inches(y2)); ln.line.color.rgb=color; ln.line.width=Pt(width); return ln
# 1
s=prs.slides.add_slide(blank); rect(s,0,0,13.333,7.5,NAVY); rect(s,0,0,13.333,.16,TEAL)
# motif
for x,y,d,c in [(9.9,1.35,2.4,TEAL),(11.2,2.55,1.55,GOLD),(8.9,3.65,1.2,CORAL),(10.2,4.7,2.0,RGBColor(38,81,96))]: circle(s,x,y,d,c,'',10)
text(s,.72,.82,7.8,.32,'GYNECOLOGIC ONCOLOGY | SURVIVORSHIP',12,RGBColor(129,220,212),True)
text(s,.70,1.42,8.0,1.55,'Rebuilding\nthe Base',40,WHITE,True)
text(s,.73,3.25,7.85,.7,'Pelvic floor rehabilitation in cervical cancer survivorship',22,RGBColor(222,239,238))
rect(s,.73,4.45,1.25,.07,GOLD)
text(s,.73,4.76,7.3,.35,'A function-first framework for recognizing, referring, and restoring',16,WHITE)
text(s,.73,6.42,6.6,.3,'[Presenter name] | [Institution] | [Conference, date]',12,RGBColor(190,211,215))
note(s,'Opening: survivorship is not merely disease-free follow-up. It is the work of helping women live, move, void, connect, and participate after treatment.')
# 2
s=prs.slides.add_slide(blank); title(s,'Why this matters','The cure is not the endpoint','A survivorship visit can be the first place pelvic symptoms are named.',2)
text(s,.65,2.02,5.0,.4,'The hidden burden',20,NAVY,True)
rich_lines(s,.68,2.58,5.4,2.65,['• Bladder: urgency, leakage, retention, recurrent infection','• Bowel: constipation, evacuation difficulty, urgency or incontinence','• Pelvic and sexual: pain, dyspareunia, vaginal stenosis, altered sensation','• Life impact: sleep, work, exercise, identity, intimacy and relationships'],17)
rect(s,6.55,2.16,5.95,3.85,WHITE,True,RGBColor(215,229,229)); text(s,6.95,2.52,5.0,.33,'THE CLINICAL GAP',13,TEAL,True)
text(s,6.95,3.00,4.9,.82,'“No recurrence”\nis not “no morbidity.”',28,NAVY,True)
text(s,6.95,4.20,4.85,.95,'Symptoms are often underreported, undertreated, and wrongly normalized as the price of cure.',17,INK)
pill(s,6.95,5.32,1.65,'Ask') ; pill(s,8.75,5.32,1.65,'Assess'); pill(s,10.55,5.32,1.65,'Act')
footer(s,'Sources: WHO Rehabilitation Package, Module 7 (2023); Cyr et al. Curr Oncol Rep. 2024. PMID 39177709.')
note(s,'Frame symptoms as common and treatable. Avoid implying that all symptoms are caused by the pelvic floor alone; recurrence, infection, fistula, obstruction, and tissue injury must be considered.')
# 3
s=prs.slides.add_slide(blank); title(s,'Treatment biology','Different treatments, convergent pelvic consequences',None,3)
# three columns
cols=[('Surgery','Autonomic nerve disruption\nTissue shortening/scarring\nPelvic support change',TEAL),('Radiotherapy ± chemotherapy','Fibrosis and reduced tissue compliance\nMucosal change and dryness\nVascular/neurologic effects',GOLD),('Psychosocial context','Fear-avoidance and guarding\nBody image and relationship stress\nFatigue, mood, sleep',CORAL)]
for i,(h,b,c) in enumerate(cols):
x=.65+i*4.16; rect(s,x,2.05,3.7,3.35,WHITE,True,RGBColor(219,230,231)); rect(s,x,2.05,3.7,.12,c); text(s,x+.27,2.42,3.1,.32,h,18,NAVY,True); text(s,x+.27,3.02,3.05,1.55,b,16,INK); text(s,x+.27,4.78,3.0,.25,'Not mutually exclusive',10,c,True)
text(s,.70,5.98,11.8,.36,'Clinical implication: do not prescribe “Kegels” reflexively. Match rehabilitation to the dominant impairment.',19,NAVY,True,PP_ALIGN.CENTER)
footer(s,'Sources: Berek & Novak’s Gynecology, Cervical Cancer and Nerve-Sparing Radical Hysterectomy sections; WHO (2023).')
note(s,'Surgery may disrupt autonomic pathways leading to bladder, bowel and sexual dysfunction. Radiation can generate progressive tissue change. Guarding and fear can maintain pain and dysfunction even after tissue healing.')
# 4
s=prs.slides.add_slide(blank); title(s,'The mechanism map','From treatment exposure to participation restriction',None,4)
steps=[('Exposure','Surgery\nRadiation\nSystemic therapy'),('Impairments','Tone: high / low\nStrength & coordination\nMobility / tissue tolerance\nSensation'),('Symptoms','Leakage / urgency\nConstipation\nPain / dyspareunia\nExam intolerance'),('Participation','Sleep and travel\nMovement\nWork\nIntimacy')]
for i,(h,b) in enumerate(steps):
x=.55+i*3.12; rect(s,x,2.35,2.5,2.42,WHITE,True,RGBColor(211,226,226)); text(s,x+.2,2.68,2.1,.28,h,16,TEAL,True,PP_ALIGN.CENTER); text(s,x+.22,3.25,2.04,1.05,b,15,INK,False,PP_ALIGN.CENTER)
if i<3: add_connector(s,x+2.55,3.55,x+3.0,3.55,TEAL,2.5)
rect(s,.82,5.48,11.65,.68,AQUA,True); text(s,1.12,5.68,11.0,.22,'Rehabilitation target = function and participation, not a muscle grade in isolation.',16,NAVY,True,PP_ALIGN.CENTER)
footer(s,'Conceptual framework adapted for pelvic health rehabilitation in cancer survivorship.')
note(s,'This is the base clinical reasoning model. Work from exposure to impairment to symptom to participation. A patient may have a weak and overactive pelvic floor simultaneously: strength alone does not explain function.')
# 5
s=prs.slides.add_slide(blank); title(s,'Start with safety','Triage before therapy',None,5)
rect(s,.65,2.02,3.7,3.88,REDPALE,True,RGBColor(240,205,200)); text(s,.95,2.34,3.05,.3,'RED FLAGS',18,CORAL,True); rich_lines(s,.93,2.90,3.08,2.45,['• New or worsening pelvic pain','• Vaginal, rectal or urinary bleeding','• Suspected infection or fistula','• Obstruction, retention, hydronephrosis symptoms','• New neurologic deficit or systemic symptoms'],15)
rect(s,4.82,2.02,3.7,3.88,WHITE,True,RGBColor(215,229,229)); text(s,5.12,2.34,3.05,.3,'CLINICAL REVIEW',18,TEAL,True); rich_lines(s,5.10,2.90,3.08,2.45,['• Recurrence surveillance status','• Treatment history and timing','• Medication / bowel review','• Gynecologic examination when appropriate','• Consider urogynecology, urology, GI or pain input'],15)
rect(s,8.99,2.02,3.7,3.88,PALE,True,RGBColor(211,226,226)); text(s,9.29,2.34,3.05,.3,'THEN REHABILITATE',18,NAVY,True); rich_lines(s,9.27,2.90,3.08,2.45,['• Pelvic health physiotherapy assessment','• Patient-led, trauma-informed care','• Clear goals and informed consent','• Shared plan with oncology team','• Follow-up and escalation pathway'],15)
footer(s,'Safety principle: new, progressive, or unexplained symptoms warrant medical evaluation before attributing them to pelvic floor dysfunction.')
note(s,'This slide is deliberately cautious. Internal examination, dilators, manual therapy and strengthening should be contextualized to healing, radiation tissue status, active disease assessment, pain, infection and patient preference.')
# 6
s=prs.slides.add_slide(blank); title(s,'The assessment','Make the invisible measurable',None,6)
items=[('1','Listen','Bladder, bowel, pain, sexual function, fatigue, goals'),('2','Examine','Breathing, posture, abdominal wall, scar mobility, external and internal pelvic assessment only with consent'),('3','Measure','Symptom diary; PFDI-20 / PFIQ-7; ICIQ-UI; FSFI or PROMIS Sexual Function; distress and QoL'),('4','Classify','Underactive, overactive/guarding, incoordination, mobility restriction, sensory change, mixed presentation')]
for i,(n,h,b) in enumerate(items):
y=2.05+i*.98; circle(s,.82,y,.46,TEAL,n,13); text(s,1.48,y+.02,1.25,.25,h,16,NAVY,True); text(s,2.75,y+.01,9.55,.54,b,14,INK)
rect(s,.8,6.18,11.65,.48,RGBColor(255,248,230),True); text(s,1.0,6.32,11.2,.16,'Outcome choice should match the survivor’s own activity or intimacy goal.',13,INK,True,PP_ALIGN.CENTER)
footer(s,'Example outcome measures are options, not a mandatory battery. Use validated, feasible measures for your setting.')
note(s,'Use permission-based language. Normalise that the patient can decline any component of exam. An internal exam is not required to begin education, symptom tracking, breathing or bowel/bladder strategies.')
# 7
s=prs.slides.add_slide(blank); title(s,'The prescription','A phenotype-based rehabilitation toolkit',None,7)
rows=[('Overactivity / pain','Down-training, diaphragmatic breathing, graded exposure, myofascial techniques when appropriate, relaxation, pain education',CORAL),('Weakness / leakage','Motor learning, progressive pelvic floor strengthening, “the knack”, functional loading, bladder training',TEAL),('Incoordination / bowel','Toileting mechanics, defecatory dynamics, relaxation and coordinated breathing, fiber/fluid review',GOLD),('Tissue restriction / stenosis','Education, moisturizers/lubricants, graded vaginal rehabilitation or dilators when appropriate, mobility work',RGBColor(96,141,176))]
for i,(a,b,c) in enumerate(rows):
y=2.03+i*.91; rect(s,.68,y,2.55,.64,c,True); text(s,.84,y+.16,2.22,.22,a,13,WHITE,True,PP_ALIGN.CENTER); rect(s,3.38,y,9.15,.64,WHITE,True,RGBColor(221,232,232)); text(s,3.65,y+.15,8.65,.28,b,13,INK)
text(s,.7,6.10,11.9,.38,'Dose, supervision, adherence, and education matter. Multimodal programs are more plausible than a one-size-fits-all exercise sheet.',16,NAVY,True,PP_ALIGN.CENTER)
footer(s,'Evidence: Cyr et al. Curr Oncol Rep. 2024 (20 studies, 11 RCTs); Huffman et al. Gynecol Oncol. 2016.')
note(s,'Avoid naming passive techniques as universal. The systematic review suggests combined active pelvic floor muscle therapy plus education may improve several outcomes. Evidence quality, intervention protocols and cancer-specific subgroup data remain heterogeneous.')
# 8
s=prs.slides.add_slide(blank); title(s,'What the evidence says','Promising, pragmatic, still imperfect',None,8)
rect(s,.75,2.0,3.6,3.95,NAVY,True); text(s,1.05,2.42,2.98,.32,'SYSTEMATIC REVIEW',13,RGBColor(142,220,214),True); text(s,1.05,2.92,2.9,.75,'20 studies\n11 RCTs',30,WHITE,True); text(s,1.05,4.20,2.9,.78,'Gynecologic cancer populations, not cervical cancer alone.',15,RGBColor(214,230,232))
rect(s,4.7,2.0,7.82,3.95,WHITE,True,RGBColor(215,229,229)); text(s,5.05,2.40,6.9,.32,'SYNTHESIS FOR PRACTICE',17,TEAL,True)
rich_lines(s,5.05,2.98,6.85,2.30,['• Combined pelvic floor muscle therapy + education appears more effective for vaginal, sexual, overall pelvic floor and muscle-function outcomes.','• Pelvic floor interventions may improve bladder outcomes.','• Bowel, psychological and quality-of-life findings are less certain or mixed.','• Adequate dose, adherence and supervision are likely determinants of benefit.'],15)
text(s,.8,6.30,11.7,.24,'Interpretation: offer evidence-informed rehabilitation, while being transparent that certainty and cervical-cancer-specific evidence are limited.',14,NAVY,True,PP_ALIGN.CENTER)
footer(s,'Cyr MP et al. Curr Oncol Rep. 2024;26:1400-1429. PMID 39177709. Devan Moy & Simarro González. Rehabilitacion. 2025. PMID 39765163.')
note(s,'Be precise. The 2024 review covers gynecologic cancers. It supports a multimodal model but should not be read as proof that every modality benefits every cervical cancer survivor.')
# 9
s=prs.slides.add_slide(blank); title(s,'A survivorship pathway','From routine screening to timely specialist care',None,9)
steps=[('Every follow-up','Ask 4 questions:\nbladder, bowel, pain, intimacy'),('Positive screen','Rule out red flags\nDocument severity + goal'),('First-line support','Education, self-management, symptom-specific basics'),('Pelvic health referral','Comprehensive assessment\nIndividualized plan'),('Review outcomes','Goal attainment\nEscalate if needed')]
for i,(h,b) in enumerate(steps):
x=.48+i*2.54; circle(s,x+.69,2.15,.72,TEAL,str(i+1),16); text(s,x,3.10,2.1,.32,h,14,NAVY,True,PP_ALIGN.CENTER); text(s,x+.06,3.55,1.98,.72,b,13,INK,False,PP_ALIGN.CENTER)
if i<4: add_connector(s,x+1.57,2.51,x+2.48,2.51,RGBColor(120,176,177),2)
rect(s,.76,5.28,11.7,.74,PALE,True); text(s,1.06,5.50,11.1,.27,'Simple screening prompt: “Since treatment, have bladder, bowel, pelvic pain, or intimacy changes affected your life?”',16,NAVY,True,PP_ALIGN.CENTER)
footer(s,'Adapt pathway to local referral networks, cancer surveillance processes and scope of practice.')
note(s,'Make screening routine rather than relying on the patient to volunteer a symptom. Brief structured prompts can normalize care and identify women who need a longer consultation.')
# 10
s=prs.slides.add_slide(blank); title(s,'Case application','The right intervention begins with the right question',None,10)
rect(s,.72,2.02,4.0,3.95,WHITE,True,RGBColor(215,229,229)); text(s,1.03,2.37,3.35,.27,'CASE',16,TEAL,True); text(s,1.03,2.82,3.25,1.78,'46-year-old, 10 months after chemoradiation and brachytherapy.\n\nReports urgency, constipation, pain with examination, and avoidance of intimacy.',17,INK)
rect(s,5.08,2.02,3.35,3.95,REDPALE,True,RGBColor(240,205,200)); text(s,5.39,2.37,2.7,.27,'DO NOT ASSUME',16,CORAL,True); rich_lines(s,5.35,2.90,2.74,2.25,['“Weak pelvic floor”','“Needs Kegels”','“Dilators alone will solve it”','“Symptoms are expected”'],16)
rect(s,8.78,2.02,3.82,3.95,PALE,True,RGBColor(211,226,226)); text(s,9.08,2.37,3.18,.27,'START HERE',16,NAVY,True); rich_lines(s,9.06,2.90,3.1,2.45,['• Oncologic and tissue safety review','• Bladder/bowel diary and goals','• Consent-based assessment for guarding, coordination, mobility','• Education + graded, multimodal plan','• Reassess meaningful outcomes'],15)
footer(s,'Illustrative case. Management must be individualized and coordinated with the treating oncology team.')
note(s,'Ask the audience: what would change your first treatment decision? Expected answers include safety, timing, tissue status, phenotype, bowel/bladder habits, pain mechanisms, patient goals and preferences.')
# 11
s=prs.slides.add_slide(blank); title(s,'Team-based survivorship','Rehabilitation is coordinated care',None,11)
center=(6.15,3.85); circle(s,5.35,3.02,1.65,NAVY,'SURVIVOR',17)
roles=[(1.0,2.15,'Gynecologic\noncologist',TEAL),(1.0,5.0,'Pelvic health\nphysiotherapist',GOLD),(9.65,2.15,'Radiation\noncologist',CORAL),(9.55,5.0,'Urogynecology /\nurology / GI',RGBColor(96,141,176)),(5.25,5.75,'Psychosexual\ncare / mental health',TEAL)]
for x,y,l,c in roles:
circle(s,x,y,1.35,c,l,11); add_connector(s,x+(.68 if x<5 else .67),y+(.68 if y<4 else .25),center[0],center[1],RGBColor(170,196,197),1.2)
text(s,.7,1.35,11.9,.28,'Shared language: identify the problem, name the goal, close the loop on response.',17,NAVY,True,PP_ALIGN.CENTER)
footer(s,'Core team composition varies by setting. The key requirement is a clear pathway for referral, communication and escalation.')
note(s,'Name the pelvic health physiotherapist as a specialist member of the survivorship network, not a last-resort referral. Coordinate medication, tissue management, surveillance and psychosocial supports.')
# 12
s=prs.slides.add_slide(blank); title(s,'Implementation','Build the service, not just the referral',None,12)
blocks=[('1. Normalize','Include four pelvic questions in survivorship templates.'),('2. Map','Create a live referral directory: physiotherapy, urogynecology, sexual health, psychology, pain.'),('3. Measure','Track referral completion, symptom change, goal attainment and equity of access.'),('4. Improve','Use patient feedback to reduce shame, travel burden and appointment fragmentation.')]
for i,(h,b) in enumerate(blocks):
x=.75+(i%2)*6.08; y=2.05+(i//2)*2.0; rect(s,x,y,5.55,1.48,WHITE,True,RGBColor(215,229,229)); circle(s,x+.28,y+.35,.58,TEAL,str(i+1),14); text(s,x+1.06,y+.27,4.1,.28,h,17,NAVY,True); text(s,x+1.06,y+.73,4.03,.48,b,14,INK)
rect(s,.85,6.32,11.58,.36,RGBColor(255,248,230),True); text(s,1.1,6.42,11.05,.14,'Equity question: who is least likely to be asked, referred, able to attend, or feel safe discussing pelvic and sexual health?',12,INK,True,PP_ALIGN.CENTER)
footer(s,'Implementation recommendation based on survivorship care principles and rehabilitation service design.')
note(s,'Operationalize this. A referral process without screening and feedback loops is an intention, not a service. Consider telehealth education and regional networks where specialist access is limited.')
# 13
s=prs.slides.add_slide(blank); title(s,'Take-home messages','Rebuild the base, restore the life',None,13)
msgs=[('01','Ask routinely','Bladder, bowel, pain and intimacy are survivorship outcomes.'),('02','Triage safely','New or progressive symptoms need medical evaluation.'),('03','Treat the phenotype','Strengthening is only one tool. Match treatment to impairment and goals.'),('04','Use a team','Pelvic health physiotherapy belongs in coordinated survivorship care.')]
for i,(n,h,b) in enumerate(msgs):
y=1.92+i*1.05; rect(s,.9,y,11.55,.75,WHITE,True,RGBColor(215,229,229)); text(s,1.15,y+.20,.56,.22,n,14,TEAL,True); text(s,1.95,y+.14,2.65,.28,h,17,NAVY,True); text(s,4.55,y+.16,7.4,.29,b,15,INK)
rect(s,.9,6.28,11.55,.42,NAVY,True); text(s,1.1,6.40,11.15,.14,'The aim is not perfect anatomy. The aim is confident, meaningful participation after cancer.',14,WHITE,True,PP_ALIGN.CENTER)
footer(s,'Thank you.')
note(s,'Close with the perspective that sexual and pelvic health are health, not optional extras. Invite the team to make one change: routine screening, mapping referral routes, or integrating rehabilitation into survivorship clinics.')
# 14 references
s=prs.slides.add_slide(blank); title(s,'Selected references','Evidence base and further reading',None,14)
refs=[
'Cyr MP, Jones T, Brennen R, 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:1400-1429. PMID: 39177709. doi:10.1007/s11912-024-01586-7.',
'Devan Moy N, Simarro González MC. Efficacy of pelvic rehabilitation in managing sexual dysfunctions secondary to gynecological cancer: systematic review of reviews. Rehabilitacion. 2025. PMID: 39765163. doi:10.1016/j.rh.2024.100875.',
'World Health Organization. Package of interventions for rehabilitation: Module 7. Malignant neoplasms. Geneva: WHO; 2023.',
'Huffman LB, Hartenbach EM, Carter J, et al. Maintaining sexual health throughout gynecologic cancer survivorship: a comprehensive review and clinical guide. Gynecol Oncol. 2016;140:359-368.',
'Berek & Novak’s Gynecology. Cervical Cancer; Nerve-Sparing Radical Hysterectomy. Wolters Kluwer. Consult current edition for clinical context.'
]
for i,r in enumerate(refs):
y=1.85+i*.85; rect(s,.75,y,11.85,.64,WHITE,True,RGBColor(222,232,232)); text(s,1.0,y+.12,11.25,.37,r,12,INK)
text(s,.8,6.55,11.7,.25,'Educational presentation. Individual assessment, local policy and multidisciplinary coordination remain essential.',11,MUTED,False,PP_ALIGN.CENTER)
footer(s,'Prepared for medical-conference education | August 2026')
note(s,'References are selected for the presentation. Confirm local guidelines and protocols before adapting to clinical care.')
# ensure background color and slide numbers
for i,slide in enumerate(prs.slides,1):
# notes and minor accessibility
pass
prs.save(OUT)
print(OUT)
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"
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): words=[] for sh in s.shapes: if getattr(sh,'has_text_frame',False) and sh.text.strip(): words.append(sh.text.replace('\n',' | ')) print(f'{i:02d}:', ' || '.join(words)[:180]) PY
python - <<'PY' from pptx import Presentation from pptx.util import Inches p='/tmp/workspace/pelvic-floor-cervical-cancer/output/Rebuilding_the_Base_Pelvic_Floor_Rehabilitation_Cervical_Cancer_Survivorship.pptx' prs=Presentation(p); W,H=prs.slide_width,prs.slide_height errors=[] for si,s in enumerate(prs.slides,1): for j,sh in enumerate(s.shapes,1): if sh.left < 0 or sh.top < 0 or sh.left+sh.width > W or sh.top+sh.height > H: errors.append((si,j,sh.left,sh.top,sh.width,sh.height)) notes=s.notes_slide.notes_text_frame.text.strip() if not notes: errors.append((si,'missing-notes')) print('bounds errors:',errors) print('slide size',round(W/Inches(1),3),'x',round(H/Inches(1),3),'inches') print('all slides have notes:', all(s.notes_slide.notes_text_frame.text.strip() for s in prs.slides)) PY
Rebuilding the Base Pelvic Floor Rehabilitation Cervical Cancer Survivorship
Presentation · PPTX
90 minutes presentation , please prepare according
"cervical cancer" AND "pelvic floor"
cervical cancer survivorship sexual health pelvic floor rehabilitation guideline 2024 2025
~/pelvic-floor-cervical-cancer/
PMID: 36001098
"gynecological cancer" AND "pelvic floor"
https://jnccn.org/view/journals/jnccn/22/10/article-p648.xml…
female pelvic floor anatomy diagram levator ani pelvic organs illustration
presentation please
~/pelvic-floor-cervical-cancer/
"cervical cancer" AND "pelvic floor"
NCCN Survivorship 2024 pelvic floor physical therapy vaginal dilators cancer survivors
~/pelvic-floor-cervical-cancer/src/create_90min_deck.py
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.enum.dml import MSO_LINE_DASH_STYLE
OUT='/tmp/workspace/pelvic-floor-cervical-cancer/output/Rebuilding_the_Base_90_Minute_Conference_Presentation.pptx'
prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5)
blank=prs.slide_layouts[6]
NAVY=RGBColor(19,43,66); TEAL=RGBColor(20,132,132); AQUA=RGBColor(205,239,236); GOLD=RGBColor(221,166,73); CORAL=RGBColor(205,85,75); INK=RGBColor(37,53,65); MUTED=RGBColor(94,111,122); BG=RGBColor(247,250,250); WHITE=RGBColor(255,255,255); PALE=RGBColor(232,243,241); REDPALE=RGBColor(252,239,237); GRAY=RGBColor(218,227,229)
W=13.333; H=7.5
def shape(slide,x,y,w,h,fill,rounded=False,line=None):
s=slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if rounded else MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h))
s.fill.solid(); s.fill.fore_color.rgb=fill; s.line.color.rgb=line or fill
if rounded: s.adjustments[0]=0.1
return s
def tx(slide,x,y,w,h,txt,size=18,color=INK,bold=False,align=PP_ALIGN.LEFT,val=MSO_ANCHOR.TOP):
b=slide.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(.05); f.margin_top=f.margin_bottom=Inches(.03); f.vertical_anchor=val
p=f.paragraphs[0]; p.alignment=align; p.space_after=Pt(0)
r=p.add_run(); r.text=txt; r.font.name='Aptos'; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color
return b
def lines(slide,x,y,w,h,items,size=16,color=INK):
b=slide.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(.08); f.margin_top=f.margin_bottom=Inches(.05)
for i,item in enumerate(items):
p=f.paragraphs[0] if i==0 else f.add_paragraph(); p.text=item; p.font.name='Aptos'; p.font.size=Pt(size); p.font.color.rgb=color; p.space_after=Pt(7)
return b
def base(kicker,title,sub='',num=None,section=False):
s=prs.slides.add_slide(blank); shape(s,0,0,W,H,NAVY if section else BG); shape(s,0,0,W,.13,TEAL)
if section:
tx(s,.75,1.12,11.5,.35,kicker.upper(),13,AQUA,True)
tx(s,.75,1.7,11.5,1.55,title,37,WHITE,True)
if sub: tx(s,.78,3.55,10.8,.65,sub,19,AQUA)
else:
tx(s,.62,.38,11.7,.25,kicker.upper(),10,TEAL,True)
tx(s,.62,.70,11.8,.64,title,27,NAVY,True)
if sub: tx(s,.64,1.39,11.8,.35,sub,12,MUTED)
if num: tx(s,12.05,.40,.65,.23,f'{num:02d}',10,TEAL,True,PP_ALIGN.RIGHT)
return s
def foot(s,source=''):
if source: tx(s,.64,7.10,11.85,.16,source,8,MUTED)
tx(s,12.22,7.10,.45,.16,'90 min',8,MUTED,False,PP_ALIGN.RIGHT)
def notes(s,body):
tf=s.notes_slide.notes_text_frame; tf.text=body
def card(s,x,y,w,h,head,body,accent=TEAL,body_size=15):
shape(s,x,y,w,h,WHITE,True,GRAY); shape(s,x,y,w,.10,accent,True,accent); tx(s,x+.2,y+.22,w-.4,.30,head,15,accent,True); lines(s,x+.16,y+.66,w-.32,h-.76,body,body_size)
def section(k,t,sub,n,mins):
s=base(k,t,sub,n,True); tx(s,.78,5.85,3.4,.36,f'BLOCK: {mins} MINUTES',12,GOLD,True); notes(s,f'Timing: {mins} minutes. Use this transition to orient the audience. {sub}')
# 1
s=prs.slides.add_slide(blank); shape(s,0,0,W,H,NAVY); shape(s,0,0,W,.15,TEAL); shape(s,.72,.85,.13,5.45,TEAL); tx(s,1.15,.88,10.8,.30,'GYNECOLOGIC ONCOLOGY | SURVIVORSHIP',12,AQUA,True); tx(s,1.15,1.55,10.8,1.12,'Rebuilding\nthe Base',38,WHITE,True); tx(s,1.18,3.82,10.5,.66,'Pelvic floor rehabilitation in cervical cancer survivorship',22,AQUA); tx(s,1.18,4.70,9.8,.55,'A 90-minute clinical conference session',16,WHITE); tx(s,1.18,5.42,8.7,.32,'[Presenter name] | [Institution] | [Conference, date]',12,AQUA); tx(s,1.18,6.52,9.8,.28,'Function is a survivorship outcome.',15,GOLD,True); notes(s,'Timing: 2 minutes. Introduce the session as a practical bridge between oncologic cure and lived function. State that the deck is educational and local protocols should govern individual care.')
# 2
s=base('learning contract','What we will do together','A 90-minute pathway from burden to bedside implementation',2); card(s,.72,2.0,3.75,3.65,'Recognize',['Describe treatment-related pelvic sequelae','Name symptoms patients may not volunteer','Use a function-first language'],TEAL); card(s,4.79,2.0,3.75,3.65,'Assess safely',['Triage recurrence and treatment complications','Screen bladder, bowel, pain and intimacy','Know when to refer'],GOLD); card(s,8.86,2.0,3.75,3.65,'Treat and build',['Match intervention to phenotype','Use a multidisciplinary pathway','Measure what matters to survivors'],CORAL); foot(s); notes(s,'Timing: 2 minutes. Read the three objectives. Ask the audience to note one gap in their present survivorship service that they would like to solve.')
# 3
s=base('agenda','90-minute roadmap','Teaching, case discussion and implementation',3); agenda=[('1','Why this matters','0-12 min'),('2','Mechanisms and assessment','12-32 min'),('3','Rehabilitation toolkit','32-57 min'),('4','Vaginal and sexual rehabilitation','57-70 min'),('5','Cases and service design','70-85 min'),('6','Questions and close','85-90 min')]
for i,(a,b,c) in enumerate(agenda):
y=1.85+(i%3)*1.45; x=.82+(i//3)*6.15; shape(s,x,y,5.65,1.08,WHITE,True,GRAY); tx(s,x+.2,y+.20,.45,.35,a,17,TEAL,True); tx(s,x+.73,y+.17,3.65,.26,b,15,NAVY,True); tx(s,x+.73,y+.55,3.9,.20,c,11,MUTED)
foot(s); notes(s,'Timing: 1 minute. Explain that interactive prompts are built into the cases. Keep the final 5 minutes protected for questions.')
section('Block 1','Why this matters','The cure is not the endpoint.',4,8)
# 5
s=base('the burden','Pelvic symptoms are common, consequential and often unspoken','Cervical cancer survivorship is not only surveillance for recurrence.',5); card(s,.72,2.0,3.7,3.85,'Urinary',['Urgency and frequency','Incontinence','Incomplete emptying or retention'],TEAL); card(s,4.82,2.0,3.7,3.85,'Bowel / pelvic',['Diarrhea, constipation, urgency','Fecal incontinence','Pain, fibrosis, lymphedema'],GOLD); card(s,8.92,2.0,3.7,3.85,'Vaginal / sexual',['Dryness, stenosis, shortened vagina','Dyspareunia, altered sensation','Arousal, orgasm, body image, distress'],CORAL); foot(s,'Shan et al. Int Urogynecol J 2023; NCCN Survivorship 2024.'); notes(s,'Timing: 3 minutes. Emphasize that patients may normalize symptoms, assume nothing can be done, or fear that symptoms mean recurrence. Invite clinicians to normalize the conversation.')
# 6
s=base('evidence snapshot','The burden is measurable','Meta-analysis in cervical cancer survivors reported high pooled prevalence, with heterogeneity across populations and treatments.',6); shape(s,.85,2.08,3.6,2.9,PALE,True,TEAL); tx(s,1.12,2.48,3.05,.34,'45.0%',38,NAVY,True,PP_ALIGN.CENTER); tx(s,1.12,3.30,3.05,.36,'female sexual dysfunction',16,INK,False,PP_ALIGN.CENTER); shape(s,4.88,2.08,3.6,2.9,WHITE,True,GOLD); tx(s,5.15,2.48,3.05,.34,'34.1%',38,NAVY,True,PP_ALIGN.CENTER); tx(s,5.15,3.30,3.05,.36,'urinary incontinence',16,INK,False,PP_ALIGN.CENTER); shape(s,8.91,2.08,3.6,2.9,REDPALE,True,CORAL); tx(s,9.18,2.48,3.05,.34,'11.1%',38,NAVY,True,PP_ALIGN.CENTER); tx(s,9.18,3.30,3.05,.36,'fecal incontinence',16,INK,False,PP_ALIGN.CENTER); tx(s,1.1,5.55,11.0,.5,'Interpret carefully: these pooled estimates are not a prediction for an individual patient. They justify routine inquiry and early rehabilitation.',16,NAVY,True,PP_ALIGN.CENTER); foot(s,'Shan X, Qian M, Wang L, Liu X. Int Urogynecol J. 2023;34:655-664. PMID 36001098.'); notes(s,'Timing: 3 minutes. Present the figures as pooled estimates from 14 observational studies. Stress heterogeneity and avoid using them to counsel a particular patient as if deterministic.')
# 7
s=base('clinical silence','If we do not ask, we do not know','Use a simple, permission-based opening.',7); shape(s,.85,2.0,11.65,2.55,NAVY,True,NAVY); tx(s,1.27,2.43,10.75,.85,'“Many people treated for cervical cancer have changes in bladder, bowel, pelvic comfort or intimacy.\nHas any of that affected you?”',23,WHITE,True,PP_ALIGN.CENTER); card(s,.85,5.1,3.45,1.35,'Ask without assumptions',['Partner status, gender, age or sexual activity'],TEAL,12); card(s,4.93,5.1,3.45,1.35,'Make it routine',['Every phase: diagnosis, treatment, post-treatment, long-term'],GOLD,12); card(s,9.01,5.1,3.45,1.35,'Offer a next step',['Validation, screening, self-management or referral'],CORAL,12); foot(s,'NCCN Survivorship 2024.'); notes(s,'Timing: 2 minutes. Model the exact wording. Pause after the question. Do not require a patient to disclose sexual activity before offering help.')
section('Block 2','Mechanisms and assessment','Treatment history explains risk. It does not replace assessment.',8,20)
# 9
s=base('treatment biology','Different exposures, convergent pelvic consequences','Symptoms reflect interacting tissue, nerve, muscle, organ and psychosocial changes.',9); cols=[('Surgery',['Autonomic nerve disruption','Support and tissue change','Scar and mobility restriction'],TEAL),('Radiotherapy / brachytherapy',['Mucosal change and atrophy','Fibrosis and reduced compliance','Microvascular and neural injury'],GOLD),('Systemic / menopause',['Fatigue and deconditioning','Ovarian insufficiency','Mood, sleep and pain amplification'],CORAL)]
for i,(h,b,c) in enumerate(cols): card(s,.72+i*4.12,2.05,3.65,3.85,h,b,c)
foot(s,'Goldman-Cecil Medicine, Approach to Survivors of Gynecologic Cancers; Berek & Novak’s Gynecology.'); notes(s,'Timing: 3 minutes. Explain that pelvic floor rehabilitation is not synonymous with strengthening. The phenotype may be overactivity, weakness, poor coordination, impaired sensation, altered compliance, or mixed dysfunction.')
#10
s=base('surgical pathway','After radical hysterectomy: think autonomic pathways and recovery','Nerve injury or disruption can affect bladder, bowel and sexual function.',10); shape(s,.82,2.15,3.25,2.6,PALE,True,TEAL); tx(s,1.12,2.45,2.65,.30,'Exposure',15,TEAL,True,PP_ALIGN.CENTER); tx(s,1.1,3.0,2.7,.65,'Radical hysterectomy\n± lymphadenectomy',19,NAVY,True,PP_ALIGN.CENTER); shape(s,5.04,2.15,3.25,2.6,WHITE,True,GOLD); tx(s,5.34,2.45,2.65,.30,'Potential impairment',15,GOLD,True,PP_ALIGN.CENTER); tx(s,5.28,2.98,2.75,.74,'Voiding dysfunction\nReduced sensation / coordination',17,INK,True,PP_ALIGN.CENTER); shape(s,9.26,2.15,3.25,2.6,REDPALE,True,CORAL); tx(s,9.56,2.45,2.65,.30,'Rehabilitation question',15,CORAL,True,PP_ALIGN.CENTER); tx(s,9.48,2.98,2.78,.75,'Is this retention, urgency, weakness, overactivity, pain, or a mixture?',16,INK,True,PP_ALIGN.CENTER)
for x in [4.15,8.37]:
l=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,Inches(x),Inches(3.45),Inches(x+.62),Inches(3.45)); l.line.color.rgb=TEAL; l.line.width=Pt(2)
foot(s,'Berek & Novak’s Gynecology: nerve-sparing radical hysterectomy section; Goldman-Cecil Medicine.'); notes(s,'Timing: 3 minutes. Make the point that new urgency should not automatically trigger Kegels. First distinguish emptying difficulty, infection, recurrence, overflow and pelvic floor overactivity.')
#11
s=base('radiation pathway','After pelvic radiotherapy: tissue quality and compliance matter','Late effects may emerge long after treatment ends.',11); card(s,.78,2.0,3.55,3.9,'Bladder',['Urgency / frequency','Incontinence','Cystitis symptoms','Reduced distensibility'],TEAL); card(s,4.90,2.0,3.55,3.9,'Bowel',['Loose stool / urgency','Pain, bleeding, tenesmus','Constipation or obstruction risk'],GOLD); card(s,9.02,2.0,3.55,3.9,'Vagina / pelvic floor',['Dryness and mucosal fragility','Stenosis / shortening','Fibrosis, pain, altered tone'],CORAL); foot(s,'Goldman-Cecil Medicine, Approach to Survivors of Gynecologic Cancers.'); notes(s,'Timing: 3 minutes. Include the safety caveat: bleeding, severe pain, obstruction symptoms, fistula suspicion, or new discharge require medical evaluation. Rehabilitation sits alongside surveillance and symptom-directed medical care.')
#12
s=base('mechanism map','From exposure to participation restriction','The same symptom can arise through more than one pathway.',12); stages=[('Exposure','Surgery\nRadiation\nMenopause'),('Impairment','Tone\nStrength\nCoordination\nCompliance'),('Symptoms','Urgency\nLeakage\nPain\nDyspareunia'),('Participation','Sleep\nWork\nExercise\nIntimacy')]
for i,(a,b) in enumerate(stages):
x=.65+i*3.17; shape(s,x,2.32,2.65,2.15,WHITE,True,GRAY); tx(s,x+.2,2.68,2.25,.25,a,15,TEAL,True,PP_ALIGN.CENTER); tx(s,x+.25,3.20,2.15,.76,b,17,NAVY,True,PP_ALIGN.CENTER)
if i<3:
l=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,Inches(x+2.67),Inches(3.4),Inches(x+3.08),Inches(3.4)); l.line.color.rgb=GOLD; l.line.width=Pt(2.5)
tx(s,1.05,5.4,11.1,.5,'Rehabilitation is most effective when it targets the dominant modifiable impairment and the survivor’s own goal.',18,NAVY,True,PP_ALIGN.CENTER); foot(s); notes(s,'Timing: 2 minutes. Use one example: pain with penetration may reflect fibrosis, dryness, fear-guarding, high resting tone, or all four. A single intervention rarely fits every pathway.')
#13
s=base('safety first','Triage before therapy','A rehabilitation referral is not a substitute for evaluating new or concerning symptoms.',13); card(s,.76,2.0,3.75,3.95,'Escalate promptly',['New or worsening pelvic pain','Vaginal, rectal or urinary bleeding','Suspected infection, fistula or obstruction','Acute retention, hydronephrosis concern','New neurologic deficit'],CORAL); card(s,4.80,2.0,3.75,3.95,'Clarify before internal work',['Oncologic status and surveillance plan','Tissue healing and clinician clearance','Neutropenia, thrombocytopenia or acute toxicity','Anticoagulation and fragile irradiated tissue'],GOLD); card(s,8.84,2.0,3.75,3.95,'Proceed with shared planning',['Consent at each step','External assessment is still assessment','Stop with pain, bleeding or patient request','Coordinate with oncology team'],TEAL); foot(s,'Safety principles adapted from cancer rehabilitation practice; local protocols apply.'); notes(s,'Timing: 3 minutes. Avoid a rigid universal timeline. Clearance and treatment phase matter. Internal examination or intervention is never obligatory and should be offered only when clinically appropriate and consented.')
#14
s=base('assessment','Make the invisible measurable','A focused assessment is a clinical reasoning exercise, not a checklist.',14); items=[('1. Listen','Timeline, treatment, goals, bladder, bowel, pain, intimacy, fatigue'),('2. Screen','Validated tools where feasible; symptom diary; patient-defined participation goal'),('3. Examine','Breathing, posture, abdominal wall, scar / tissue mobility, external pelvic floor observation'),('4. Test selectively','Internal assessment only with consent, safety and clear clinical purpose'),('5. Synthesize','Classify the phenotype; set one to three achievable outcomes')]
for i,(a,b) in enumerate(items):
y=1.72+i*.91; shape(s,.85,y,11.68,.66,WHITE,True,GRAY); tx(s,1.08,y+.15,2.1,.23,a,13,TEAL,True); tx(s,3.0,y+.14,8.95,.28,b,13,INK)
foot(s); notes(s,'Timing: 3 minutes. Mention useful measures according to the question: bladder diary, ICIQ-UI, PFDI/PFIQ, FSFI, vaginal toxicity or stenosis assessment, pain scale, and patient-specific functional scale. Do not burden every patient with every questionnaire.')
#15
s=base('screening','Four questions for every follow-up visit','Fast enough for an oncology clinic. Specific enough to trigger action.',15); q=[('Bladder','Any urgency, leakage, difficulty emptying, recurrent infections or night waking?'),('Bowel','Any change in stool urgency, control, constipation, diarrhea, pain or bleeding?'),('Pain','Any pelvic, vulvar, abdominal or intercourse-related pain?'),('Intimacy','Any dryness, narrowing, discomfort, altered sensation or concern about intimacy?')]
for i,(a,b) in enumerate(q): card(s,.82+(i%2)*6.0,1.85+(i//2)*2.12,5.65,1.6,a,[b],TEAL if i<2 else GOLD,13)
tx(s,1.1,6.23,11.2,.35,'A “yes” should lead to validation, triage, an initial plan and a documented follow-up point.',15,NAVY,True,PP_ALIGN.CENTER); foot(s,'NCCN Survivorship 2024 supports routine assessment of sexual health across the cancer continuum.'); notes(s,'Timing: 3 minutes. Ask the room: Which one of these questions is currently absent from your follow-up template?')
#16
s=base('phenotypes','Do not prescribe before you classify','The treatment plan should respond to the clinical pattern, not only the diagnosis.',16); rows=[('High tone / pain','Guarding, trigger points, pain with exam or penetration','Down-training, breathing, graded exposure, pain-informed care'),('Weakness / poor support','Leakage with exertion, reduced squeeze or endurance','Progressive training, functional loading, pressure strategy'),('Poor coordination / voiding','Straining, incomplete emptying, paradoxical contraction','Relaxation, timing, toileting and coordination retraining'),('Tissue restriction / vaginal morbidity','Stenosis, shortening, dryness, fibrosis','Tissue-informed care, dilator plan when appropriate, vaginal health support')]
for i,(a,b,c) in enumerate(rows):
y=1.75+i*1.15; shape(s,.72,y,12.0,.86,WHITE,True,GRAY); tx(s,.94,y+.16,2.4,.21,a,13,TEAL,True); tx(s,3.25,y+.14,4.1,.38,b,12,INK); tx(s,7.68,y+.14,4.65,.38,c,12,NAVY,True)
foot(s); notes(s,'Timing: 3 minutes. State that mixed phenotypes are common. Examples: radiotherapy-related vaginal fibrosis plus pelvic floor overactivity, or postoperative incomplete emptying plus urgency from altered behavior.')
section('Block 3','Rehabilitation toolkit','Restore function with a tailored, supervised and sustainable plan.',17,25)
#18
s=base('principles','The pelvic floor is more than a muscle','A rehabilitation plan integrates function, tissue, behavior and confidence.',18); card(s,.72,1.92,3.7,3.95,'1. Education',['Explain the phenotype','Normalize symptoms','Teach bladder / bowel / pain mechanisms','Create agency'],TEAL); card(s,4.82,1.92,3.7,3.95,'2. Active rehabilitation',['Motor control and strength when indicated','Relaxation and mobility when indicated','Functional practice and graded exposure'],GOLD); card(s,8.92,1.92,3.7,3.95,'3. Participation',['Sleep, work, movement, intimacy','Home program matched to capacity','Partner and psychosocial supports'],CORAL); foot(s,'Cyr et al. Curr Oncol Rep 2024. PMID 39177709.'); notes(s,'Timing: 3 minutes. Introduce active versus passive approaches. The 2024 systematic review found that combined pelvic floor muscle and education approaches appeared more beneficial for several outcomes, though evidence remains heterogeneous.')
#19
s=base('pain / overactivity','When the floor is guarding, start with safety and release','Pain is a protective experience. Strengthening first may aggravate symptoms.',19); card(s,.8,2.0,3.7,3.9,'First visit focus',['Pain story and red flags','Breathing and down-regulation','External mobility and pacing','Education: “relaxation is active treatment”'],CORAL); card(s,4.82,2.0,3.7,3.9,'Progression',['Pelvic floor lengthening / coordination','Manual techniques only when appropriate and consented','Graded exposure to examination or penetration goals'],GOLD); card(s,8.84,2.0,3.7,3.9,'Avoid',['Presuming all pain is muscular','Forcing internal work','Unspecific high-volume contractions','Ignoring vaginal dryness, tissue change or fear'],TEAL); foot(s,'Huffman et al. Gynecol Oncol 2016 clinical guide; NCCN Survivorship 2024.'); notes(s,'Timing: 4 minutes. Explain that pain-informed therapy is paced and consent-based. Internal trigger-point or manual therapy should be delivered by appropriately trained clinicians and only after medical causes have been considered.')
#20
s=base('weakness / leakage','Train strength only when strength is the limiting factor','Pelvic floor muscle training should be specific, progressive and linked to function.',20); shape(s,.88,2.15,2.6,2.9,PALE,True,TEAL); tx(s,1.15,2.55,2.05,.3,'Identify',16,TEAL,True,PP_ALIGN.CENTER); tx(s,1.14,3.1,2.1,.82,'Can the patient contract, relax and coordinate without substitution?',15,NAVY,True,PP_ALIGN.CENTER); shape(s,5.36,2.15,2.6,2.9,WHITE,True,GOLD); tx(s,5.62,2.55,2.05,.3,'Dose',16,GOLD,True,PP_ALIGN.CENTER); tx(s,5.59,3.1,2.12,.82,'Individualize repetitions, hold time, speed, rest and supervision.',15,NAVY,True,PP_ALIGN.CENTER); shape(s,9.84,2.15,2.6,2.9,REDPALE,True,CORAL); tx(s,10.10,2.55,2.05,.3,'Integrate',16,CORAL,True,PP_ALIGN.CENTER); tx(s,10.05,3.1,2.15,.82,'Use with coughing, lifting, walking, exercise and daily routines.',15,NAVY,True,PP_ALIGN.CENTER)
for x in [3.62,8.10]:
l=s.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,Inches(x),Inches(3.6),Inches(x+1.45),Inches(3.6)); l.line.color.rgb=TEAL; l.line.width=Pt(2)
foot(s,'Cyr et al. Curr Oncol Rep 2024: active PFM plus education showed promising effects; dosage and adherence matter.'); notes(s,'Timing: 4 minutes. Avoid giving a universal contraction prescription. Explain that quality, correct relaxation, symptoms, tissue tolerance and adherence drive progression. Refer when examination or coaching skills are not available.')
#21
s=base('bladder rehabilitation','Treat the pattern, not just the leak','Urinary symptoms after pelvic cancer treatment demand differential diagnosis.',21); card(s,.76,1.92,3.75,4.0,'Urgency / frequency',['Rule out infection, retention, radiation injury, recurrence','Bladder diary','Fluid and irritant review','Urgency suppression / relaxation strategy','Timed retraining if appropriate'],TEAL); card(s,4.80,1.92,3.75,4.0,'Stress leakage',['Assess contraction and pressure strategy','Functional bracing when appropriate','Progressive muscle training','Weight, cough, exertion and bowel factors'],GOLD); card(s,8.84,1.92,3.75,4.0,'Incomplete emptying',['Do not assume weakness','Measure / evaluate when indicated','Avoid straining and indiscriminate strengthening','Coordinate with urogynecology / urology'],CORAL); foot(s,'Goldman-Cecil Medicine, Approach to Survivors of Gynecologic Cancers; local urology pathways.'); notes(s,'Timing: 4 minutes. Highlight that a patient can have urgency and retention simultaneously. Explain why documentation of onset, volume, voiding pattern and treatment exposure matters.')
#22
s=base('bowel rehabilitation','Bowel function belongs in survivorship care','Pelvic radiotherapy, surgery, medication and behavior can all contribute.',22); card(s,.74,2.0,3.75,3.85,'Constipation / evacuation',['Medication and diet review','Positioning and defecation dynamics','Relaxation of pelvic floor','Coordinate GI / dietetics when needed'],TEAL); card(s,4.80,2.0,3.75,3.85,'Urgency / loose stool',['Assess radiation-related symptoms','Diary, diet and medication review','Access and confidence strategies','Escalate bleeding or severe pain'],GOLD); card(s,8.86,2.0,3.75,3.85,'Fecal incontinence',['Stool consistency and urgency management','Coordination and strength assessment','Skin care and psychosocial impact','Specialist referral when complex'],CORAL); foot(s,'Goldman-Cecil Medicine, Approach to Survivors of Gynecologic Cancers.'); notes(s,'Timing: 3 minutes. Mention that rectal bleeding should not be managed as a rehabilitation problem until medically evaluated. Link bowel symptoms to social participation and fear of leaving home.')
#23
s=base('scar, mobility, lymphedema','The pelvis functions as a region','Movement, tissue and load tolerance can influence symptoms and participation.',23); card(s,.76,2.0,3.75,3.85,'Movement',['Breathing mechanics','Hip and trunk mobility','Graded general conditioning','Return to valued activity'],TEAL); card(s,4.80,2.0,3.75,3.85,'Tissue / scar',['External scar review','Mobility work when healed and appropriate','Avoid pain-provocative “release” narratives','Collaborate around radiated tissue'],GOLD); card(s,8.84,2.0,3.75,3.85,'Lymphedema',['Screen limb / vulvar / pelvic symptoms','Education, skin care and referral','Compression plans by trained providers','Integrate activity and self-monitoring'],CORAL); foot(s); notes(s,'Timing: 3 minutes. Reinforce that manual interventions may be part of care but are not the whole program. The functional plan should still include activity, symptom behavior and self-management.')
#24
s=base('education and adherence','The best plan is the plan a survivor can use','Dose, supervision and adherence affect outcomes.',24); shape(s,.82,2.1,11.65,3.72,WHITE,True,GRAY); steps=[('Co-design','Start with the survivor’s goal and available time.'),('Simplify','One or two behaviors before a lengthy home program.'),('Teach-back','Ask the survivor to demonstrate or explain the plan.'),('Track','Use a diary, goal score or simple symptom measure.'),('Review','Adapt based on response, barriers, tissue tolerance and preference.')]
for i,(a,b) in enumerate(steps):
y=2.33+i*.62; tx(s,1.18,y,1.35,.2,f'{i+1}. {a}',13,TEAL,True); tx(s,2.65,y,8.85,.22,b,13,INK)
foot(s,'Cyr et al. Curr Oncol Rep 2024.'); notes(s,'Timing: 3 minutes. Ask for barriers: fatigue, travel, caregiving, embarrassment, cost, cultural fit. The intervention needs to work in the person’s life, not only in the clinic.')
#25
s=base('evidence','What the evidence supports and what it does not','Use the data to guide, not overpromise.',25); shape(s,.76,1.98,5.73,3.95,PALE,True,TEAL); tx(s,1.06,2.30,5.15,.3,'2024 systematic review',17,TEAL,True); lines(s,1.0,2.86,5.2,2.55,['20 studies included','11 randomized controlled trials','Combined pelvic floor muscle + education therapies appeared more effective for vaginal, pelvic floor, sexual and muscle function','Active PFM therapies may improve bladder outcomes'],15); shape(s,6.83,1.98,5.73,3.95,REDPALE,True,CORAL); tx(s,7.13,2.30,5.15,.3,'Important limitations',17,CORAL,True); lines(s,7.07,2.86,5.2,2.55,['Gynecologic cancer populations are heterogeneous','Interventions, doses and outcomes vary','Quality-of-life conclusions remain uncertain','Adherence and supervision are likely important'],15); foot(s,'Cyr MP et al. Curr Oncol Rep. 2024;26:1293-1320. PMID 39177709.'); notes(s,'Timing: 4 minutes. Describe evidence honestly. It is reasonable to offer structured conservative rehabilitation, especially when symptom phenotype and goals are clear, while explaining uncertainty and monitoring outcomes.')
section('Block 4','Vaginal and sexual rehabilitation','Restore comfort, choice, confidence and connection.',26,13)
#27
s=base('sexual health','Sexual function is multidimensional','Pain and penetration are only part of the story.',27); cols=[('Physical',['Dryness / atrophy','Stenosis / shortening','Pain, altered sensation','Fatigue / menopause'],TEAL),('Psychological',['Fear of pain','Body image','Anxiety / depression','Cancer-related distress'],GOLD),('Interpersonal',['Communication','Partner concerns','Changing roles','Privacy / culture / values'],CORAL)]
for i,(a,b,c) in enumerate(cols): card(s,.72+i*4.12,2.0,3.65,3.8,a,b,c)
foot(s,'NCCN Survivorship 2024.'); notes(s,'Timing: 3 minutes. Use inclusive language. The goal may be comfort in examination, self-confidence, non-penetrative intimacy, vaginal health or partnered sex. Let the survivor define success.')
#28
s=base('vaginal rehabilitation','Dilators are a tool, not a mandate','Their role is individualized and should be embedded in education and symptom management.',28); card(s,.76,2.0,3.75,3.85,'Consider when',['Radiation-related stenosis or narrowing','Pain with examination or penetration','A patient goal includes vaginal capacity / comfort','Tissue is healed and oncology team has no concern'],TEAL); card(s,4.80,2.0,3.75,3.85,'How to frame',['Consent-based and paced','Use lubrication / moisturization as appropriate','Teach comfort, breathing and control','Set realistic, non-punitive expectations'],GOLD); card(s,8.84,2.0,3.75,3.85,'Evidence caveat',['Commonly recommended after pelvic radiation','Evidence for prevention of stenosis is limited / mixed','Adherence is often challenging','Reassess benefit and burden'],CORAL); foot(s,'NCCN Survivorship 2024; Huffman et al. Gynecol Oncol 2016.'); notes(s,'Timing: 4 minutes. Do not prescribe a universal frequency or duration. Explain that dilator decisions should be individualized, should never be coercive, and should not substitute for evaluating pain, bleeding, severe tissue fragility or recurrence concerns.')
#29
s=base('integrated plan','A practical sequence for dyspareunia','Treat contributors in parallel, not in isolation.',29); seq=[('1. Exclude','New lesion, infection, bleeding, recurrence, fistula, severe radiation injury'),('2. Support tissue','Lubricants / moisturizers; clinician-led consideration of local therapies when appropriate'),('3. Restore control','Down-training, mobility, pelvic floor coordination, graded exposure'),('4. Expand options','Non-penetrative intimacy, communication, counseling, sex therapy / couples support'),('5. Reassess','Comfort, distress, function, participation and patient-defined goal')]
for i,(a,b) in enumerate(seq):
y=1.70+i*.91; shape(s,.78,y,11.9,.65,WHITE,True,GRAY); tx(s,1.05,y+.16,1.25,.2,a,13,TEAL,True); tx(s,2.32,y+.15,9.75,.26,b,13,INK)
foot(s,'NCCN Survivorship 2024; Huffman et al. Gynecol Oncol 2016.'); notes(s,'Timing: 3 minutes. Make clear that hormonal and pharmacologic treatments need appropriate oncologic and gynecologic review. Pelvic rehabilitation can be one part of a multidimensional plan.')
section('Block 5','Cases and service design','Move from principles to the next clinic day.',30,15)
#31
s=base('case 1','Ten months after chemoradiation','46-year-old survivor: urgency, constipation, pain with penetration and fear of pelvic examination.',31); card(s,.75,1.86,3.72,3.95,'Audience prompt',['What needs urgent medical assessment?','What would you ask first?','Which phenotype is most likely?','What would be your first two interventions?'],TEAL); card(s,4.82,1.86,3.72,3.95,'Reasoning',['Review surveillance and red flags','Clarify bleeding, discharge, fever, obstruction, hematuria','Diary and pain / vaginal symptom history','Likely mixed: tissue change + overactivity + bowel behavior'],GOLD); card(s,8.89,1.86,3.72,3.95,'Initial plan',['Oncology / gynecology coordination','Education and bowel strategy','Down-training and graded pelvic rehab','Vaginal health support; individualized dilator discussion if appropriate'],CORAL); foot(s); notes(s,'Timing: 6 minutes. Give the audience 60 seconds in pairs, then take answers. Correct the instinct to prescribe strengthening immediately. Explain the mixed phenotype approach and safety escalation triggers.')
#32
s=base('case 2','Six months after radical hysterectomy','39-year-old survivor: exertional leakage, sensation of incomplete emptying, avoidance of exercise.',32); card(s,.75,1.86,3.72,3.95,'Audience prompt',['What is the differential?','What findings change your plan?','When should you involve urology / urogynecology?','How would you set a functional goal?'],TEAL); card(s,4.82,1.86,3.72,3.95,'Reasoning',['Clarify voiding pattern, straining, infection, retention','Assess contraction AND relaxation / coordination','Consider post-void evaluation when indicated','Do not mistake overflow or voiding dysfunction for simple stress leakage'],GOLD); card(s,8.89,1.86,3.72,3.95,'Plan',['Pressure strategy and activity modification','Tailored motor control and training if appropriate','Bladder diary and follow-up measure','Return-to-running / lifting progression only after reassessment'],CORAL); foot(s,'Berek & Novak’s Gynecology: radical hysterectomy and autonomic nerve considerations.'); notes(s,'Timing: 5 minutes. Ask participants to name one red flag for referral. Reinforce that “incomplete emptying” changes the assessment priority.')
#33
s=base('service design','Build the pathway, not just the referral','A survivorship service should make pelvic care expected, accessible and measurable.',33); stages=[('Screen','4 questions in every follow-up template'),('Triage','Red flags and specialist pathways'),('Refer','Named pelvic health clinician / service'),('Treat','Shared goals, phenotype-based plan'),('Measure','Symptoms, function, participation, experience')]
for i,(a,b) in enumerate(stages):
x=.45+i*2.57; shape(s,x,2.15,2.23,2.7,WHITE,True,GRAY); tx(s,x+.18,2.55,1.85,.25,f'{i+1}',19,TEAL,True,PP_ALIGN.CENTER); tx(s,x+.18,3.0,1.85,.23,a,14,NAVY,True,PP_ALIGN.CENTER); tx(s,x+.18,3.43,1.85,.70,b,12,INK,False,PP_ALIGN.CENTER)
tx(s,1.15,5.85,11.05,.35,'Start with a single process measure: “What proportion of survivorship visits document bladder, bowel, pain and intimacy screening?”',14,NAVY,True,PP_ALIGN.CENTER); foot(s); notes(s,'Timing: 3 minutes. This is the implementation action slide. Suggest small tests of change: add the questions to one clinic template, identify referral recipient, and audit monthly.')
#34
s=base('multidisciplinary care','Rehabilitation works best when coordination is explicit','The survivor should not have to navigate the team alone.',34); center=shape(s,4.68,2.5,4.0,1.45,NAVY,True,NAVY); tx(s,5.0,2.83,3.35,.26,'SURVIVOR + GOALS',18,WHITE,True,PP_ALIGN.CENTER)
team=[('Gynecologic\noncology',.78,1.45,TEAL),('Pelvic health\nphysiotherapy',.78,4.65,GOLD),('Urogynecology\n/ Urology',9.9,1.45,CORAL),('Radiation\noncology',9.9,4.65,TEAL),('GI / dietetics\n/ pain',4.72,5.35,GOLD),('Sexual health /\nmental health',4.72,.95,CORAL)]
for a,x,y,c in team:
shape(s,x,y,2.6,.82,WHITE,True,c); tx(s,x+.1,y+.18,2.4,.38,a,12,NAVY,True,PP_ALIGN.CENTER)
foot(s,'NCCN Survivorship 2024 recommends multidimensional management and appropriate specialist referral.'); notes(s,'Timing: 2 minutes. Mention that local resources differ. The key is naming who does what and having a reliable escalation path.')
#35
s=base('take-home messages','Rebuild the base, restore the life','Five actions to take back to your clinic.',35); msgs=[('Ask routinely','Bladder, bowel, pain and intimacy are survivorship outcomes.'),('Triage safely','New bleeding, severe pain, obstruction, fistula concern or retention need medical evaluation.'),('Classify first','High tone, weakness, coordination and tissue restriction demand different plans.'),('Treat in partnership','Education, active rehabilitation, vaginal health and psychosocial support work together.'),('Build the pathway','Screening, named referrals and measurement turn good intentions into care.')]
for i,(a,b) in enumerate(msgs):
y=1.65+i*.9; shape(s,.85,y,11.62,.62,WHITE,True,GRAY); tx(s,1.1,y+.15,2.15,.2,f'{i+1}. {a}',13,TEAL,True); tx(s,3.3,y+.14,8.8,.24,b,13,INK)
foot(s); notes(s,'Timing: 2 minutes. Pause after each message. End by asking attendees to choose one implementable change for the next month.')
#36
s=base('discussion','Questions, barriers and local solutions','What will make pelvic rehabilitation easier to access in your setting?',36); shape(s,.86,2.0,11.62,3.25,NAVY,True,NAVY); tx(s,1.35,2.58,10.55,.72,'Questions?',34,WHITE,True,PP_ALIGN.CENTER); tx(s,1.35,3.55,10.55,.5,'Invite one clinical question and one implementation barrier.',17,AQUA,False,PP_ALIGN.CENTER); tx(s,1.0,6.15,11.4,.3,'Thank you',18,NAVY,True,PP_ALIGN.CENTER); foot(s); notes(s,'Timing: 5 minutes. Protect this time. If no questions arise, ask: “What would stop you from adding the four screening questions tomorrow?”')
#37 refs
s=base('selected references','Evidence base','Core sources used in this presentation',37); refs=['Shan X, Qian M, Wang L, Liu X. Prevalence of pelvic floor dysfunction and sexual dysfunction in cervical cancer survivors: systematic review and meta-analysis. Int Urogynecol J. 2023;34:655-664. PMID 36001098.','Cyr MP, Jones T, Brennen R, et al. Effectiveness of pelvic floor muscle and education-based therapies in females treated for gynecological cancer: systematic review. Curr Oncol Rep. 2024;26:1293-1320. PMID 39177709.','NCCN Guidelines Insights: Survivorship, Version 2.2024. J Natl Compr Canc Netw. 2024;22:648 onward.','Huffman LB, Hartenbach EM, Carter J, et al. Maintaining sexual health throughout gynecologic cancer survivorship: clinical guide. Gynecol Oncol. 2016;140:359-368.','Goldman-Cecil Medicine. Approach to Survivors of Gynecologic Cancers.','Berek & Novak’s Gynecology. Cervical Cancer and nerve-sparing radical hysterectomy sections.']
lines(s,.85,1.72,11.7,4.95,refs,13); foot(s,'References are selected for educational use. Apply current local policy and individual clinical judgment.'); notes(s,'Optional reference slide. Leave available after Q&A. Mention that the evidence base continues to evolve and many intervention studies are heterogeneous.')
# metadata
prs.core_properties.title='Rebuilding the Base: Pelvic Floor Rehabilitation in Cervical Cancer Survivorship'
prs.core_properties.subject='90-minute medical conference presentation'
prs.core_properties.author='Orris'
prs.save(OUT)
print(OUT, len(prs.slides))
python "/tmp/workspace/pelvic-floor-cervical-cancer/src/create_90min_deck.py" && ls -lh "/tmp/workspace/pelvic-floor-cervical-cancer/output/Rebuilding_the_Base_90_Minute_Conference_Presentation.pptx"
python - <<'PY' from pptx import Presentation from pptx.util import Inches p='/tmp/workspace/pelvic-floor-cervical-cancer/output/Rebuilding_the_Base_90_Minute_Conference_Presentation.pptx' prs=Presentation(p); W,H=prs.slide_width,prs.slide_height errors=[] for si,s in enumerate(prs.slides,1): texts=[] for j,sh in enumerate(s.shapes,1): if sh.left < 0 or sh.top < 0 or sh.left+sh.width > W or sh.top+sh.height > H: errors.append((si,j,'bounds')) if getattr(sh,'has_text_frame',False) and sh.text.strip(): texts.append(sh.text.replace('\n',' | ')) if not s.notes_slide.notes_text_frame.text.strip(): errors.append((si,'missing notes')) print(f'{si:02d}', ' || '.join(texts)[:150]) print('slides=',len(prs.slides),'bounds/notes errors=',errors) PY
Rebuilding the Base 90 Minute Conference Presentation
Presentation · PPTX