MAKE ME A COMPREHENSIVE EXAM STUDY MATERIAL ON GERM CELL TUMOURS OF OVARY , INCLUDING NCCN, ESGO, ESMO, , RECENT ADVANCES AND RELEVENT TRIALS. MAKE IT SEPARATE FOR EACH GCT

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.

MAKE ME A COMPREHENSIVE EXAM STUDY MATERIAL ON GERM CELL TUMOURS OF OVARY , INCLUDING NCCN, ESGO, ESMO, , RECENT ADVANCES AND RELEVENT TRIALS. MAKE IT SEPARATE FOR EACH GCT

Reading File
Now I'll run all searches in parallel to maximize coverage within budget:
Finding Sources
Searching PubMed

"ovarian germ cell tumors" AND treatment

Searching the Web

NCCN ESGO ESMO guidelines ovarian germ cell tumors 2024 2025

Finding Sources
Finding Sources
Searching PubMed

"ovarian germ cell" AND (BEP OR chemotherapy OR dysgerminoma OR "yolk sac")

Reading File
Searching PubMed

"yolk sac tumor" OR "endodermal sinus" OR "immature teratoma" ovary treatment outcome

Reading File
Searching PubMed

"malignant ovarian germ cell" AND (surveillance OR fertility OR recurrence OR BEP)

Reading File
Reading Web Page

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

Reading File
Reading Article

PMID: 40020416

Reading Article

PMID: 38991656

Reading File
Reading Article

PMID: 40275685

Reading File
Searching the Web

ESMO non-epithelial ovarian cancer germ cell tumor 2024 dysgerminoma BEP chemotherapy guidelines recommendations

Reading Web Page

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

Finding Sources
Reading File
Here is your comprehensive exam study material on Germ Cell Tumours (GCTs) of the Ovary, organized separately for each tumour type.

🔬 GERM CELL TUMOURS (GCTs) OF THE OVARY

Comprehensive Exam Study Material (2025/2026 Edition)

Sources: Berek & Novak's Gynecology, Robbins Pathology, Harrison's 22E, NCCN 2025, ESMO/ESGO Guidelines, Recent PubMed Literature

OVERVIEW & CLASSIFICATION

Incidence: ~5% of all ovarian cancers; account for ~70% of ovarian tumours in women under 20 years.
WHO Classification (Table 39-5):
CategorySubtypes
Primitive GCTsDysgerminoma, Yolk sac tumor (EST), Embryonal carcinoma, Polyembryoma, Non-gestational choriocarcinoma, Mixed GCT
Biphasic/Triphasic teratomaImmature teratoma, Mature teratoma (solid/cystic/dermoid)
Monodermal teratomaStruma ovarii, Carcinoid, others
Tumor Markers by Type:
TumorAFPβ-hCGLDHPLAPCA-125
Dysgerminoma-± (syncytiotrophoblasts)↑↑↑↑ (95%)±
Yolk sac tumor↑↑↑-±--
Embryonal carcinoma---
Choriocarcinoma-↑↑↑---
Immature teratoma±----
Mixed GCTVariableVariable---
Staging: FIGO staging system for ovarian cancer is used. No independent staging exists for MGCTs.

STAGING SURGERY PRINCIPLES

Fertility-sparing approach (almost universal for GCTs):
  • Unilateral salpingo-oophorectomy (USO) - preferred
  • Peritoneal cytology
  • Inspection/biopsy of peritoneal surfaces, omentum, lymph nodes
  • Biopsy of contralateral ovary only if macroscopically abnormal
  • MaGIC group minimum requirement: Intact tumor removal + peritoneal inspection + cytology
Full staging may be omitted in children/adolescents with early-stage disease per NCCN 2025.


1. DYSGERMINOMA

Epidemiology & Key Facts

  • Most common malignant GCT (~30-40% of all malignant GCTs)
  • Only 1-3% of all ovarian cancers; 5-10% in women <20 years
  • 75% occur between ages 10-30 years; rarely after age 50
  • 20-30% of ovarian malignancies associated with pregnancy
  • Only GCT with significant bilaterality rate: 10-15% of stage I tumours are bilateral
  • 65% are stage I at diagnosis

Associations

  • Gonadal dysgenesis (45,X/46,XY karyotype, streak gonads)
  • Androgen insensitivity syndrome (46,XY, testicular feminization)
  • Gonadoblastoma - >50% malignant transformation if left in situ
  • Karyotype must be checked preoperatively in premenarcheal patients
  • If Y chromosome found: bilateral oophorectomy (uterus preserved for embryo transfer)

Pathology

  • Gross: 5-15 cm, bosselated capsule, fleshy pale-tan to gray-brown cut surface, principally solid with cystic/necrotic areas
  • Histology: Large, round/polygonal cells with abundant clear cytoplasm, large irregular nuclei, prominent nucleoli; arranged in lobules/nests separated by fibrous septa infiltrated with lymphocytes, plasma cells, granulomas (can mimic TB if extensive necrosis)
  • IHC: OCT3/4 (+), NANOG (+), SALL4 (+), CD117/KIT (+), PLAP (+), D2-40 (+)
  • May contain syncytiotrophoblastic giant cells (associated with precocious puberty/virilization - does NOT alter prognosis)
  • Calcifications: suggest underlying gonadoblastoma
Features associated with higher recurrence risk:
  • Size >10-15 cm
  • Age <20 years
  • Numerous mitoses, anaplasia, medullary pattern

Spread Pattern

  • Predominantly lymphatic (para-aortic, then mediastinal/supraclavicular nodes - late)
  • Hematogenous/peritoneal spread less common
  • Bone metastases: lower vertebrae
  • Lung/liver/brain: longstanding or recurrent disease

Tumor Markers

  • LDH: Elevated in 95% - primary monitoring marker
  • PLAP: Elevated in 95%
  • β-hCG: Only if syncytiotrophoblastic cells present
  • AFP: Negative (if positive, suggests mixed GCT)

Treatment

Surgery

  • USO (minimal procedure) - fertility preservation almost always desired
  • Contralateral ovary/tube/uterus preserved even with metastatic disease (chemo-sensitive)
  • Contralateral ovary biopsy only if macroscopically abnormal
  • 5-10% contralateral ovary involvement over 2 years in stage I (includes those with gonadal dysgenesis)

Chemotherapy Indications (NCCN 2025)

StageTreatment
Stage I (confined to one/both ovaries)Surveillance preferred
Stage II-IVBEP x 3-4 cycles

BEP Regimen

  • Bleomycin 30 IU IV weekly
  • Etoposide 100 mg/m² days 1-5
  • Platinum (cisplatin) 20 mg/m² days 1-5
  • Repeat every 21 days
  • Pulmonary function tests BEFORE starting (bleomycin lung toxicity)
  • Low/Intermediate risk: 3 cycles; High risk: 4 cycles

Alternative for Dysgerminoma (Reduced Toxicity)

  • Carboplatin + Etoposide (CE) - omits bleomycin; pooled analysis shows comparable efficacy with reduced toxicity; particularly when bleomycin contraindicated

Radiation (historical)

  • Dysgerminoma is highly radiosensitive (was standard before BEP era)
  • Now replaced by chemotherapy (fertility preservation, less toxicity)
  • Role: salvage in select cases

Prognosis

  • Stage I with surgery alone: >95% 5-year disease-free survival
  • Overall: excellent; even metastatic disease is highly curable with BEP
  • Recurrence in <10% of properly staged Stage I disease on surveillance

NCCN 2025 Surveillance (Post-Treatment)

PeriodClinical ExamTumor MarkersCT CAPUSS
Year 1Every 3 monthsEvery 2 monthsEvery 3 monthsEvery 3 months (if ovary present)
Year 2Every 3 monthsEvery 3 monthsEvery 3 monthsEvery 3 months
Year 3Every 6 monthsEvery 6 monthsEvery 6-12 monthsEvery 6 months
Years 4-5Every 12 monthsEvery 12 monthsAs needed-
After 5 yearsAnnuallyAnnually x 10 yearsAs needed-
CXREvery 6 months Year 1As needed Year 2+


2. YOLK SAC TUMOUR (Endodermal Sinus Tumour - EST)

Epidemiology & Key Facts

  • Third most common malignant GCT
  • Median age: 16-18 years (~1/3 are premenarcheal)
  • Most common symptom: abdominal/pelvic pain (~75%)
  • Asymptomatic pelvic mass: ~10%
  • Always unilateral (100%) - biopsy of contralateral ovary is contraindicated
  • Associated with gonadal dysgenesis - chromosomal analysis needed in premenarcheal patients

Pathology

  • Gross: Soft, grayish-brown; cystic areas due to degeneration/necrosis; intact capsule in most cases
  • Histology (Pathognomonic Feature): Schiller-Duval body - a glomerulus-like tuft with a central vascular core projecting into a cystic space lined by flattened/irregular endothelium
  • Reticular/myxoid pattern simulating undifferentiated mesoblast
  • Hobnail appearance of papillary lining (mimics clear cell carcinoma)
  • IHC: AFP (+), Glypican-3 (+), SALL4 (+), OCT3/4 (-)

Tumor Markers

  • AFP: Markedly elevated in almost all cases (primary diagnostic and monitoring marker)
  • Good correlation between disease extent and AFP level (discordance can occur)
  • Alpha-1 antitrypsin (AAT): rarely elevated
  • Serial AFP monitoring is the cornerstone of follow-up

Subtypes (Histologic Patterns)

  1. Endodermal sinus pattern (classic - Schiller-Duval bodies)
  2. Reticular/microcystic
  3. Solid
  4. Alveolar-glandular
  5. Polyvesicular vitelline
  6. Myxomatous
  7. Hepatoid (AFP strongly positive, worse prognosis)
  8. Parietal (hyaline globules - periodic acid-Schiff positive)

Treatment

Surgery

  • USO (fertility-sparing)
  • Full staging: peritoneal cytology, omentectomy, lymph node sampling

Chemotherapy (NCCN 2025)

  • ALL stages require adjuvant BEP (even Stage I)
  • This distinguishes YST from dysgerminoma (no surveillance option)
  • Rationale: Prior to cisplatin era, Stage I YST had <10% survival; BEP dramatically improved this to >95%

BEP Protocol

  • 3 cycles for Stage I-II (good/intermediate risk per IGCCCG)
  • 4 cycles for Stage III-IV (high risk)
  • Modified IGCCCG risk stratification applies

Prognosis

  • With BEP: Stage I-II: >95% 5-year survival
  • Advanced stage (III-IV): 60-75% with BEP
  • Hepatoid variant: Poorer prognosis; higher AFP, more aggressive
  • AFP normalization is the key treatment response endpoint

Recurrence Management

  • ~10% of all MOGCTs will relapse
  • Salvage: TIP (paclitaxel/ifosfamide/cisplatin) or VIP (vinblastine/ifosfamide/cisplatin)
  • High-dose chemotherapy (HDCT) + autologous stem cell transplant (ASCT) for platinum-resistant/refractory disease (specialized centers)
  • Cytoreductive surgery for resectable relapse


3. IMMATURE TERATOMA

Epidemiology & Key Facts

  • Second most common malignant GCT
  • Pure form: <1% of all ovarian cancers; 10-20% of ovarian malignancies in women <20 years
  • ~50% occur between ages 10-20 years; rarely in postmenopausal women
  • Always unilateral (bilateral occurrence is extremely rare)
  • Mature teratoma (dermoid cyst) is the most common benign GCT

Pathology & Grading

  • Contains embryo-derived immature elements (especially neural tissue)
  • The maturation status determines behavior: abnormal maturation = metastatic potential
  • Grading based on amount of immature neuroepithelium per low-power field (x4 objective):

Norris Grading System (Classic 3-tier):

GradeDefinition5-Year Survival
Grade 1 (Low)<1 low-power field (LPF) of immature neuroepithelium per slide≥95%
Grade 21-3 LPFs of immature neuroepithelium~85%
Grade 3 (High)>3 LPFs of immature neuroepithelium~85%

Modern 2-Tier System (Recommended due to inter-observer variability):

  • Low Grade: Equivalent to Norris Grade 1
  • High Grade: Equivalent to Norris Grades 2-3
Important exception: Children with immature teratoma have good outcomes with surgery alone, regardless of grade - pediatric biology differs from adult.

Gliomatosis Peritonei

  • Mature glial implants on peritoneal surfaces
  • Favorable prognostic finding if composed of completely mature tissues
  • Molecular studies suggest these are NOT tumor-derived but represent teratoma-induced metaplasia of pluripotent Müllerian stem cells in the peritoneum
  • Does NOT upstage the disease

Tumor Markers

  • AFP: May be mildly elevated
  • β-hCG: Usually negative
  • Markers rarely markedly elevated (if so, consider mixed GCT)

Treatment (NCCN 2025)

Stage & GradeTreatment
Stage I, Grade 1 (Low Grade)Surveillance (no chemo)
Stage I, Grade 2-3 (High Grade)BEP x 3 cycles
Stage II-IV, any gradeBEP x 3-4 cycles

Key Nuance for Pediatric Patients:

  • ESGO young adult guidelines suggest surveillance even for higher grades in children due to excellent surgery-alone outcomes
  • MaGIC consortium data: onset at/after age 11 is a risk factor for poorer prognosis

Growing Teratoma Syndrome (GTS)

  • Definition: Enlarging masses during/after chemotherapy in a patient with normalizing/normalized tumor markers, composed entirely of mature teratoma
  • Not malignant transformation - represents selective chemotherapy killing of malignant elements
  • Treatment: Surgical resection (chemo does not help mature elements)
  • Laparoscopic-assisted fertility-sparing approach is feasible at specialized centers (PMID: 39074547)

Prognosis

  • Overall 5-year survival (all stages): 70-80%
  • Stage I surgically staged: 90-95%
  • Grade is the most important prognostic factor

Recent Evidence (2024, PMID: 38371620)

  • Stage I immature teratoma: outcomes after surveillance vs adjuvant chemo comparable; surveillance associated with preserved fertility without compromising oncologic outcomes


4. EMBRYONAL CARCINOMA

Epidemiology & Key Facts

  • Extremely rare - one of the rarest GCTs
  • Very young patients: ages 4-28 years
  • Often presents with signs of isosexual precocity (estrogen secretion)
  • Differentiated from choriocarcinoma by absence of syncytiotrophoblastic and cytotrophoblastic cells

Pathology

  • Gross: Solid, necrotic, hemorrhagic
  • Histology: Large primitive cells with vesicular nuclei, prominent nucleoli; arranged in sheets, glands, or papillae; no trophoblastic differentiation
  • IHC: OCT3/4 (+), NANOG (+), SALL4 (+), CD30 (+), AFP (+), β-hCG (+) - both AFP and hCG positive (key distinguishing feature)

Tumor Markers

  • AFP: Elevated
  • β-hCG: Elevated
  • Both positive simultaneously differentiates from pure dysgerminoma (neither) or pure choriocarcinoma (only hCG)

Treatment

  • BEP x 3-4 cycles for ALL stages (per NCCN 2025)
  • Surgery: USO + staging
  • No surveillance option

Prognosis

  • Aggressive behavior
  • Prognosis depends on stage; responds to BEP
  • Limited data due to rarity


5. NON-GESTATIONAL CHORIOCARCINOMA

Epidemiology & Key Facts

  • Extremely rare pure non-gestational choriocarcinoma
  • Most patients: <20 years
  • Distinguishing from gestational choriocarcinoma is essential (histologically identical, but non-gestational origin = worse prognosis, less responsive to gestational regimens)
  • ~50% develop isosexual precocity if tumor appears before menarche (due to very high hCG)
  • Frequently has metastases to organ parenchyma at diagnosis (poor prognosis)

Pathology

  • Histology: Biphasic pattern of cytotrophoblast (mononuclear, pale) and syncytiotrophoblast (multinuclear, eosinophilic) - same appearance as gestational choriocarcinoma
  • No Schiller-Duval bodies (differentiates from YST)
  • IHC: β-hCG (+), HPL (+), p63 (+, in cytotrophoblast), AFP (-)
  • Molecular: Non-gestational confirmed by DNA fingerprinting or STR analysis (no paternal DNA in non-gestational)

Tumor Markers

  • β-hCG: Markedly elevated (primary marker)
  • AFP: Negative

Treatment (NCCN 2025)

  • BEP x 3-4 cycles for ALL stages
  • Alternative: MAC regimen (Methotrexate, Actinomycin D, Cyclophosphamide) - as used in gestational trophoblastic disease
  • Important: Response to MAC (GTD regimens) is inferior compared to gestational choriocarcinoma

Prognosis

  • Poor overall prognosis - most patients have organ parenchymal metastases at diagnosis
  • Worse prognosis than gestational choriocarcinoma (less responsive to anti-GTD regimens)
  • Systematic review 2022 (PMID: 35328112): median survival <12 months in advanced disease


6. POLYEMBRYOMA

Epidemiology

  • Exceedingly rare - very few documented cases
  • Very young, premenarcheal girls
  • Signs of pseudopuberty (hormonal)

Pathology

  • Composed of embryoid bodies - replicates early embryonic differentiation (endoderm, mesoderm, ectoderm - all three somatic layers)
  • IHC: AFP (+), β-hCG (+)

Tumor Markers

  • AFP: Elevated
  • β-hCG: Elevated

Treatment

  • Same principles as other primitive GCTs
  • BEP chemotherapy; USO + staging surgery


7. MIXED GERM CELL TUMOURS

Definition & Composition

  • Contain two or more GCT elements
  • Most common component: Dysgerminoma (80%), followed by EST (70%), immature teratoma (53%), choriocarcinoma (20%), embryonal carcinoma (16%)
  • Most frequent combination: Dysgerminoma + EST

Tumor Markers

  • Variable - depends on components present
  • Monitor all relevant markers (AFP and/or β-hCG based on components)
  • Marker normalization on chemo may reflect regression of only one component - residual viable tumor may remain

Prognosis

  • Stage IA, size <10 cm: 100% survival
  • Most malignant component determines prognosis:
    • <1/3 EST, choriocarcinoma, or Grade 3 IT: excellent prognosis
    • 1/3 of above: less favorable

Treatment

  • BEP for all stages


8. GONADOBLASTOMA (Precursor Lesion)

Key Facts

  • Benign but precancerous lesion
  • Composed of germ cells + sex cord stroma
  • Occurs in patients with gonadal dysgenesis (45,X/46,XY or pure gonadal dysgenesis 46,XY)
  • >50% develop malignancy if left in situ
  • Calcifications on imaging should prompt search for gonadoblastoma
  • Treatment: Bilateral gonadectomy (bilateral streak gonads/dysgenetic gonads)


BEP REGIMEN - DETAILS & TOXICITY

Dosing

  • Bleomycin: 30 IU IV on Days 1, 8, 15 (weekly)
  • Etoposide: 100 mg/m² IV Days 1-5
  • Cisplatin: 20 mg/m² IV Days 1-5
  • Cycle length: 21 days
  • Duration: 3 cycles (low/intermediate risk) or 4 cycles (high risk)

Pre-treatment Requirements (NCCN 2025)

  • Pulmonary function tests (PFTs) before bleomycin
  • Renal function (cisplatin nephrotoxicity)
  • Audiometry (cisplatin ototoxicity)
  • ECHO/ECG (baseline cardiovascular)

Toxicity Profile

DrugKey Toxicities
BleomycinPulmonary fibrosis (dose-limiting), flagellate dermatitis, Raynaud's phenomenon, fever
EtoposideMyelosuppression, alopecia, secondary leukemia (AML), nausea
CisplatinNephrotoxicity, ototoxicity, peripheral neuropathy, myelosuppression, electrolyte loss

Late Effects of BEP (Long-Term)

  • Renal dysfunction
  • Gonadal dysfunction (most important for young women)
  • Peripheral neurotoxicity
  • Cardiovascular toxicity (long-term)
  • Secondary malignancies (AML with etoposide)
  • However: majority of fertility preserved if contralateral ovary intact

Fertility Data (PMID: 41068325 - Systematic Review 2025)

  • Fertility-sparing surgery + BEP: majority of patients retain normal menstrual function and achieve pregnancy
  • 75-90% menstrual function restoration post-BEP


RISK STRATIFICATION

Modified IGCCCG Criteria for MOGCTs (Extrapolated from testicular GCTs)

Risk GroupCriteriaBEP Cycles
Low/IntermediateStage II-IV dysgerminoma or immature teratoma3 cycles BEP
HighAny-stage YST, embryonal carcinoma, or choriocarcinoma; Stage II-IV with poor markers4 cycles BEP
Surveillance onlyStage I dysgerminoma; Stage I, Grade 1 immature teratomaNone
Note: Advanced-stage MOGCTs (except dysgerminoma) mostly fall into intermediate or high risk.


RECURRENT/REFRACTORY DISEASE

Epidemiology

  • ~10% of MOGCTs will relapse (PMID: 38991656, Nasioudis 2024)

Salvage Chemotherapy Options

RegimenIndication
TIP (Paclitaxel + Ifosfamide + Cisplatin)Platinum-sensitive relapse
VIP (Vinblastine + Ifosfamide + Cisplatin)Platinum-sensitive relapse
TGO (Paclitaxel + Gemcitabine + Oxaliplatin)Platinum-resistant
HDCT + ASCTPlatinum-resistant/refractory; specialized centers

Secondary Surgery

  • Cytoreductive surgery for patients with surgically resectable residual/relapsed disease
  • Goal: complete gross resection or optimal resection
  • Carefully selected patients only

Prognosis in Relapse

  • Worse than testicular GCT relapse outcomes
  • Platinum-resistant relapse: poor prognosis
  • HDCT + ASCT: shows promise; optimal timing under investigation (PMID: 40275685)


RECENT ADVANCES & NOVEL APPROACHES (2021-2026)

1. KIT Inhibitors in Dysgerminoma

  • ~25-30% of dysgerminomas harbor KIT (CD117) activating mutations (exon 17 most common)
  • Imatinib/Sunitinib have been explored - limited success so far; remain experimental (PMID: 40275685)
  • Ongoing research needed; currently not standard of care

2. Molecular & Genomic Landscape

  • Single-cell profiling studies (PMID: 40269311, 2025): identified distinct transcriptomic profiles for each GCT subtype
  • Dysgerminoma: OCT3/4, NANOG, KIT pathway
  • YST: AFP-producing, Glypican-3, Wnt signaling
  • Actionable genomic alterations found in a subset - targeted therapy potential under exploration

3. Surveillance vs Chemotherapy for Stage I Disease

  • Growing evidence supporting observation for Stage I dysgerminoma and Stage I Grade 1 IT (PMID: 38371620, Marino 2024)
  • 2024 study: Stage I immature teratoma - outcomes after surveillance equivalent to adjuvant chemo; better fertility preservation
  • NCCN 2025 endorses this approach

4. Neoadjuvant Chemotherapy (NACT)

  • Role in advanced-stage MOGCT remains uncertain (PMID: 40020416, Seckl 2025)
  • Some retrospective data support NACT in unresectable advanced disease
  • Not currently standard; primary surgery + adjuvant BEP remains standard

5. Fertility Preservation Advances

  • Systematic review 2025 (PMID: 41068325): fertility-sparing surgery safe for all GCT types regardless of stage
  • Ovarian tissue cryopreservation before chemotherapy: emerging option
  • Growing Teratoma Syndrome management: laparoscopic fertility-sparing resection feasible

6. HDCT + ASCT for Relapsed Disease

  • Expanding evidence for high-dose carboplatin-based regimens + ASCT in refractory MOGCTs
  • Evidence largely extrapolated from testicular GCT (Indiana University/GETUG trials)
  • Optimal timing (upfront vs later lines) under active investigation

7. Immunotherapy

  • Limited published data in MOGCTs
  • PD-L1 expression variable across subtypes
  • Checkpoint inhibitors: occasional responses reported; no approved indication


GUIDELINE SUMMARY COMPARISON

NCCN 2025

GCT TypeStage IStage II-IV
DysgerminomaSurveillanceBEP x 3-4
Immature Teratoma Grade 1SurveillanceBEP x 3-4
Immature Teratoma Grade 2-3BEP x 3BEP x 3-4
Yolk Sac TumorBEP x 3 (ALL stages)BEP x 3-4
Embryonal CarcinomaBEP x 3-4 (ALL stages)BEP x 3-4
ChoriocarcinomaBEP x 3-4 (ALL stages)BEP x 3-4
Preferred alternative if bleomycin contraindicated: Discuss EP (Etoposide + Cisplatin) or CE (Carboplatin + Etoposide) especially for dysgerminoma.

ESMO/ESGO Non-Epithelial Ovarian Cancer Guidelines (2023-2024)

  • Consistent with NCCN on BEP as standard regimen
  • Emphasize referral to specialized centres (multidisciplinary, including paediatric and adult expertise)
  • Endorse fertility-sparing surgery for all stages
  • ESGO Young Adult Guidelines (2019): BEP 3-4 cycles for Stage III-IV; bleomycin omitted after cycle 3 (max cumulative dose 270 IU) to avoid pulmonary toxicity
  • IGCCCG stratification recommended for treatment planning
  • For Stage I dysgerminoma with minimal residual disease post-chemo: careful surveillance acceptable (residual may be non-viable)
  • Acknowledge lack of randomized trial data; most evidence from retrospective/registry studies


KEY TRIALS & LANDMARK STUDIES

Trial/StudyYearKey Finding
Einhorn & Donohue (BEP pioneer)1974Cisplatin-based regimen transformed GCT cure rates (testicular; extrapolated to ovarian)
GOG-781989BEP superior to VAC in ovarian GCTs; established BEP as standard
Williams et al. (GOG)19943 cycles BEP equivalent to 4 cycles in good-risk GCT
MaGIC Consortium2013-ongoingGlobal pediatric/adolescent GCT registry; identified age ≥11 as poor prognostic factor; defined staging minimum requirements
Gershenson et al.2007Surveillance alone for Stage I ovarian dysgerminoma: excellent outcomes
Marino et al. (PMID: 38371620)2024Stage I immature teratoma: surveillance vs chemo - equivalent outcomes, better fertility with surveillance
Marino et al. (PMID: 39222973)2024Fertility outcomes in Stage I ovarian immature teratoma: excellent with FSS
Marino et al. (PMID: 40161550)2025Advanced immature teratoma: FSS feasible with good oncologic and fertility outcomes
Nasioudis & Pashankar (PMID: 38991656)2024Recurrent MOGCT management: TIP/VIP for platinum-sensitive; HDCT/ASCT for resistant
Seckl et al. (PMID: 40020416)2025Controversies in MOGCT: surveillance, NACT, relapse management - highlighted lack of RCT data
De Maria et al. (PMID: 40275685)2025Comprehensive review: KIT inhibitors experimental, HDCT promising, molecular landscape key
Zerdeva et al. (PMID: 41068325)2025Systematic review: Fertility preservation safe across all GCT types and stages
Laga et al. (PMID: 40269311)2025Single-cell profiling: distinct transcriptomic profiles per GCT subtype (preclinical relevance)


HIGH-YIELD EXAM MNEMONICS

"DYCE MIX" - Types of Primitive GCTs

Dysgerminoma, Yolk sac, Choriocarcinoma, Embryonal, Mixed, Immature teratoma, X = Polyembryoma (extra rare)

Schiller-Duval Body = YST

"Schiller-Duval = Sinus tumor (yolk sac)Definitive"

Tumor Markers Summary

  • AFP only = Yolk sac tumor
  • β-hCG only = Choriocarcinoma
  • Both AFP + hCG = Embryonal carcinoma
  • LDH + PLAP = Dysgerminoma
  • Nothing specific = Immature teratoma (mild AFP possible)

Bilaterality

  • Only Dysgerminoma is significantly bilateral (10-15%)
  • All others: essentially unilateral
  • Therefore: biopsy of contralateral ovary is only indicated if macroscopically abnormal (except routine bilateral biopsy in dysgerminoma is not done either - just preserve the ovary)

When Surveillance is OK (NCCN 2025)

"Stage I Dysgerm + Stage I Grade 1 IT = Watch and wait" All others get BEP (even Stage I YST, embryonal, choriocarcinoma)

BEP Late Effects

"RGNCS" - Renal, Gonadal, Neurotoxicity, Cardiovascular, Secondary malignancies (AML)


QUICK REFERENCE TABLE: ALL GCTs AT A GLANCE

FeatureDysgerminomaYolk Sac TumorImmature TeratomaEmbryonal CaChoriocarcinomaMixed GCT
Frequency30-40%3rd most common2nd most commonExtremely rareExtremely rareCommon
Age (median)10-30 yrs16-18 yrs10-20 yrs4-28 yrs<20 yrsYoung
Bilaterality10-15%0%<1%0%0%Rare
AFP-+++±+-Variable
β-hCG± (syncytiotrophoblasts)--++++Variable
LDH/PLAP++----Variable
Key histologyLymphocytic infiltrate, lobulesSchiller-Duval bodyImmature neuroepitheliumPrimitive cells, CD30+Biphasic trophoblastMixed
Stage I treatmentSurveillanceBEP x3Grade 1: Surveillance; Grade 2-3: BEPBEP x3-4BEP x3-4BEP
Stage II-IVBEP x3-4BEP x3-4BEP x3-4BEP x3-4BEP x3-4BEP
PrognosisExcellent (>95% Stage I)Good (>95% Stage I-II)70-80% overallModeratePoor (organ mets)Size/component-dependent
Unique featureRadiosensitive; KIT+; Y-chromosome checkAlways unilateral; AFP; hepatoid variant poorGTS; gliomatosis peritonei; pediatric surgery-aloneBoth AFP+hCGDistinguish from gestationalMost malignant component determines Rx

Sources: Berek & Novak's Gynecology (p. 2375-2396), Robbins Pathology, Harrison's Principles 22E, NCCN Ovarian Cancer Patient Guidelines 2025, ESMO/ESGO Non-Epithelial Ovarian Cancer Guidelines, Updates in Management of MOGCTs (PMC12421977, 2025); key PubMed references: PMID 40020416, 38991656, 40275685, 41068325, 38371620, 39222973, 40161550, 40269311, 35328112

Make it into a printable pdf, exam ready essay answer type

Reading File
Running Command

ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "created"

Running Command

mkdir -p /tmp/workspace/gct-ovary && echo "done"

Writing File

~/gct-ovary/generate_pdf.py

#!/usr/bin/env python3
"""
Generate comprehensive exam study PDF on Germ Cell Tumours of the Ovary
Using ReportLab for professional, printable PDF output
"""

from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.lib.colors import (HexColor, black, white, Color)
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, PageBreak, KeepTogether
)
from reportlab.platypus.flowables import Flowable
from reportlab.lib import colors
import os

# ── Colour Palette ──────────────────────────────────────────────────────────────
DARK_BLUE   = HexColor('#1B3A6B')   # main heading
MID_BLUE    = HexColor('#2563EB')   # sub-heading
ACCENT_TEAL = HexColor('#0891B2')   # section bar
LIGHT_TEAL  = HexColor('#E0F7FA')   # table header bg
GOLD        = HexColor('#B7791F')   # highlight / key fact
GOLD_BG     = HexColor('#FFFBEB')   # key fact box bg
LIGHT_GREY  = HexColor('#F3F4F6')   # alternate row
MED_GREY    = HexColor('#6B7280')   # caption / note
BORDER      = HexColor('#CBD5E1')   # table border
RED_ALERT   = HexColor('#DC2626')   # warning / exam tip
GREEN       = HexColor('#15803D')   # good prognosis
PAGE_BG     = white

PAGE_W, PAGE_H = A4
MARGIN = 1.8 * cm

# ── Style Sheet ─────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()

def S(name, **kw):
    """Helper – override a style by name."""
    base = styles[name]
    return ParagraphStyle(
        name + '_custom_' + '_'.join(k+str(v) for k,v in kw.items()),
        parent=base, **kw
    )

TITLE_STYLE = ParagraphStyle('DocTitle',
    fontName='Helvetica-Bold', fontSize=22, textColor=white,
    alignment=TA_CENTER, spaceAfter=4, leading=28)

SUB_TITLE_STYLE = ParagraphStyle('DocSubTitle',
    fontName='Helvetica', fontSize=11, textColor=HexColor('#CBD5E1'),
    alignment=TA_CENTER, spaceAfter=2, leading=14)

EDITION_STYLE = ParagraphStyle('Edition',
    fontName='Helvetica-Oblique', fontSize=9, textColor=HexColor('#93C5FD'),
    alignment=TA_CENTER, spaceAfter=0, leading=11)

H1 = ParagraphStyle('H1',
    fontName='Helvetica-Bold', fontSize=15, textColor=white,
    spaceBefore=14, spaceAfter=4, leading=20,
    backColor=DARK_BLUE, borderPad=6,
    leftIndent=-0.2*cm, rightIndent=-0.2*cm)

H2 = ParagraphStyle('H2',
    fontName='Helvetica-Bold', fontSize=12, textColor=white,
    spaceBefore=10, spaceAfter=3, leading=16,
    backColor=MID_BLUE, borderPad=4,
    leftIndent=-0.1*cm, rightIndent=-0.1*cm)

H3 = ParagraphStyle('H3',
    fontName='Helvetica-Bold', fontSize=10.5, textColor=DARK_BLUE,
    spaceBefore=8, spaceAfter=2, leading=14,
    borderWidth=0, leftIndent=0)

H4 = ParagraphStyle('H4',
    fontName='Helvetica-BoldOblique', fontSize=10, textColor=ACCENT_TEAL,
    spaceBefore=6, spaceAfter=2, leading=13)

BODY = ParagraphStyle('Body',
    fontName='Helvetica', fontSize=9.5, textColor=black,
    spaceBefore=3, spaceAfter=3, leading=14,
    alignment=TA_JUSTIFY)

BODY_SMALL = ParagraphStyle('BodySmall',
    fontName='Helvetica', fontSize=8.5, textColor=black,
    spaceBefore=2, spaceAfter=2, leading=12,
    alignment=TA_JUSTIFY)

BULLET = ParagraphStyle('Bullet',
    fontName='Helvetica', fontSize=9.5, textColor=black,
    spaceBefore=2, spaceAfter=1, leading=13,
    leftIndent=16, firstLineIndent=-12)

BULLET2 = ParagraphStyle('Bullet2',
    fontName='Helvetica', fontSize=9, textColor=black,
    spaceBefore=1, spaceAfter=1, leading=12,
    leftIndent=30, firstLineIndent=-12)

KEY_FACT = ParagraphStyle('KeyFact',
    fontName='Helvetica-Bold', fontSize=9.5, textColor=GOLD,
    spaceBefore=2, spaceAfter=2, leading=13,
    leftIndent=14, firstLineIndent=-12)

EXAM_TIP = ParagraphStyle('ExamTip',
    fontName='Helvetica-Bold', fontSize=9, textColor=RED_ALERT,
    spaceBefore=2, spaceAfter=2, leading=13,
    leftIndent=14, firstLineIndent=-12)

CAPTION = ParagraphStyle('Caption',
    fontName='Helvetica-Oblique', fontSize=8, textColor=MED_GREY,
    spaceBefore=1, spaceAfter=4, leading=11, alignment=TA_CENTER)

REF_STYLE = ParagraphStyle('Ref',
    fontName='Helvetica', fontSize=7.5, textColor=MED_GREY,
    spaceBefore=1, spaceAfter=1, leading=10)

FOOTER_STYLE = ParagraphStyle('Footer',
    fontName='Helvetica', fontSize=7, textColor=MED_GREY,
    alignment=TA_CENTER, leading=9)

# ── Helper Flowables ─────────────────────────────────────────────────────────────

def hr(color=BORDER, width=0.5):
    return HRFlowable(width='100%', thickness=width, color=color,
                      spaceAfter=4, spaceBefore=4)

def sp(h=0.15):
    return Spacer(1, h*cm)

def h1(text):
    return Paragraph(f'&nbsp; {text}', H1)

def h2(text):
    return Paragraph(f'&nbsp; {text}', H2)

def h3(text):
    return Paragraph(text, H3)

def h4(text):
    return Paragraph(text, H4)

def body(text):
    return Paragraph(text, BODY)

def body_s(text):
    return Paragraph(text, BODY_SMALL)

def bullet(text, level=1):
    prefix = '• ' if level == 1 else '– '
    s = BULLET if level == 1 else BULLET2
    return Paragraph(prefix + text, s)

def key(text):
    return Paragraph('★ ' + text, KEY_FACT)

def exam_tip(text):
    return Paragraph('⚡ EXAM TIP: ' + text, EXAM_TIP)

def bold(text):
    return f'<b>{text}</b>'

def ital(text):
    return f'<i>{text}</i>'

def col(text, c):
    return f'<font color="{c}">{text}</font>'

# ── Table helper ──────────────────────────────────────────────────────────────────

def make_table(data, col_widths=None, header=True, alternate=True, font_size=8.5):
    usable = PAGE_W - 2*MARGIN
    if col_widths is None:
        n = len(data[0])
        col_widths = [usable / n] * n

    cell_style = ParagraphStyle('TC', fontName='Helvetica', fontSize=font_size,
                                 leading=font_size*1.35, spaceBefore=1, spaceAfter=1,
                                 textColor=black)
    hdr_style  = ParagraphStyle('TH', fontName='Helvetica-Bold', fontSize=font_size,
                                 leading=font_size*1.35, spaceBefore=1, spaceAfter=1,
                                 textColor=white)

    table_data = []
    for r_idx, row in enumerate(data):
        new_row = []
        for cell in row:
            if isinstance(cell, str):
                s = hdr_style if (r_idx == 0 and header) else cell_style
                new_row.append(Paragraph(cell, s))
            else:
                new_row.append(cell)
        table_data.append(new_row)

    t = Table(table_data, colWidths=col_widths, repeatRows=1 if header else 0)
    n_rows = len(table_data)
    style_cmds = [
        ('BACKGROUND', (0,0), (-1,0), DARK_BLUE),
        ('TEXTCOLOR',  (0,0), (-1,0), white),
        ('ALIGN',      (0,0), (-1,-1), 'LEFT'),
        ('VALIGN',     (0,0), (-1,-1), 'TOP'),
        ('FONTNAME',   (0,0), (-1,0), 'Helvetica-Bold'),
        ('FONTSIZE',   (0,0), (-1,-1), font_size),
        ('GRID',       (0,0), (-1,-1), 0.4, BORDER),
        ('ROWBACKGROUNDS', (0,1), (-1,-1),
         [LIGHT_GREY, white] if alternate else [white]*100),
        ('LEFTPADDING',  (0,0), (-1,-1), 5),
        ('RIGHTPADDING', (0,0), (-1,-1), 5),
        ('TOPPADDING',   (0,0), (-1,-1), 4),
        ('BOTTOMPADDING',(0,0), (-1,-1), 4),
        ('WORDWRAP',     (0,0), (-1,-1), True),
    ]
    t.setStyle(TableStyle(style_cmds))
    return t

# ── Cover Page ───────────────────────────────────────────────────────────────────

class CoverPage(Flowable):
    def __init__(self):
        Flowable.__init__(self)
        self.width = PAGE_W - 2*MARGIN
        self.height = PAGE_H - 2*MARGIN

    def draw(self):
        c = self.canv
        # dark blue background banner
        c.setFillColor(DARK_BLUE)
        c.rect(-MARGIN, PAGE_H - 2*MARGIN - 8.5*cm, PAGE_W, 8.5*cm, fill=1, stroke=0)
        # teal accent stripe
        c.setFillColor(ACCENT_TEAL)
        c.rect(-MARGIN, PAGE_H - 2*MARGIN - 9.0*cm, PAGE_W, 0.5*cm, fill=1, stroke=0)


def cover_elements():
    elems = []
    elems.append(CoverPage())
    # The text is overlaid via normal Paragraphs positioned after the flowable
    return elems

# ── Page Template with header/footer ─────────────────────────────────────────────

def on_page(canvas, doc):
    canvas.saveState()
    # header line
    canvas.setFillColor(DARK_BLUE)
    canvas.rect(0, PAGE_H - 1.2*cm, PAGE_W, 1.2*cm, fill=1, stroke=0)
    canvas.setFillColor(ACCENT_TEAL)
    canvas.rect(0, PAGE_H - 1.35*cm, PAGE_W, 0.15*cm, fill=1, stroke=0)
    canvas.setFont('Helvetica-Bold', 7.5)
    canvas.setFillColor(white)
    canvas.drawString(MARGIN, PAGE_H - 0.85*cm,
                      'GCTs OF THE OVARY — COMPREHENSIVE EXAM STUDY MATERIAL')
    canvas.setFont('Helvetica', 7.5)
    canvas.drawRightString(PAGE_W - MARGIN, PAGE_H - 0.85*cm,
                           'NCCN 2025 | ESMO/ESGO | Recent Advances')
    # footer
    canvas.setFillColor(LIGHT_GREY)
    canvas.rect(0, 0, PAGE_W, 1.0*cm, fill=1, stroke=0)
    canvas.setFillColor(ACCENT_TEAL)
    canvas.rect(0, 1.0*cm, PAGE_W, 0.12*cm, fill=1, stroke=0)
    canvas.setFont('Helvetica', 7)
    canvas.setFillColor(MED_GREY)
    canvas.drawString(MARGIN, 0.35*cm,
                      'Sources: Berek & Novak\'s Gynecology | NCCN 2025 | ESMO/ESGO | PubMed')
    canvas.drawRightString(PAGE_W - MARGIN, 0.35*cm,
                           f'Page {doc.page}')
    canvas.restoreState()

# ── BUILD CONTENT ─────────────────────────────────────────────────────────────────

def build_pdf(output_path):
    doc = SimpleDocTemplate(
        output_path,
        pagesize=A4,
        leftMargin=MARGIN, rightMargin=MARGIN,
        topMargin=1.6*cm, bottomMargin=1.4*cm,
        title='Germ Cell Tumours of the Ovary — Comprehensive Exam Study Material',
        author='Orris Medical AI',
        subject='Gynaecological Oncology',
    )

    story = []

    # ════════════════════════════════════════════════════════════
    # COVER
    # ════════════════════════════════════════════════════════════
    story.append(Spacer(1, 5.5*cm))

    cover_title = ParagraphStyle('CoverTitle',
        fontName='Helvetica-Bold', fontSize=26, textColor=white,
        alignment=TA_CENTER, leading=34, spaceAfter=6)
    cover_sub = ParagraphStyle('CoverSub',
        fontName='Helvetica', fontSize=13, textColor=HexColor('#BAE6FD'),
        alignment=TA_CENTER, leading=18, spaceAfter=4)
    cover_ed = ParagraphStyle('CoverEd',
        fontName='Helvetica-Oblique', fontSize=10, textColor=HexColor('#7DD3FC'),
        alignment=TA_CENTER, leading=14, spaceAfter=0)

    story.append(Paragraph('GERM CELL TUMOURS OF THE OVARY', cover_title))
    story.append(Paragraph('Comprehensive Exam Study Material', cover_sub))
    story.append(Paragraph('Essay-Answer Format | Exam Ready', cover_sub))
    story.append(Spacer(1, 0.3*cm))
    story.append(Paragraph('NCCN 2025 · ESMO/ESGO Guidelines · Recent Clinical Evidence', cover_ed))
    story.append(Spacer(1, 0.2*cm))
    story.append(Paragraph('Sources: Berek &amp; Novak\'s Gynecology · Robbins Pathology · Harrison\'s 22E', cover_ed))
    story.append(Spacer(1, 0.5*cm))

    story.append(Spacer(1, 4.5*cm))

    info_style = ParagraphStyle('Info',
        fontName='Helvetica', fontSize=10, textColor=DARK_BLUE,
        alignment=TA_CENTER, leading=16)
    story.append(Paragraph('July 2026 Edition', info_style))
    story.append(Paragraph('Gynaecological Oncology', info_style))

    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # TABLE OF CONTENTS
    # ════════════════════════════════════════════════════════════
    story.append(h1('TABLE OF CONTENTS'))
    story.append(sp())

    toc_data = [
        ['Section', 'Topic'],
        ['1', 'Overview & Classification of Ovarian GCTs'],
        ['2', 'General Principles: Staging, Surgery & BEP Regimen'],
        ['3', 'Dysgerminoma'],
        ['4', 'Yolk Sac Tumour (Endodermal Sinus Tumour)'],
        ['5', 'Immature Teratoma'],
        ['6', 'Embryonal Carcinoma'],
        ['7', 'Non-Gestational Choriocarcinoma'],
        ['8', 'Polyembryoma'],
        ['9', 'Mixed Germ Cell Tumours'],
        ['10', 'Gonadoblastoma (Precursor Lesion)'],
        ['11', 'Recurrent / Refractory Disease & Salvage Therapy'],
        ['12', 'Late Effects of Treatment'],
        ['13', 'Guideline Summary: NCCN 2025 vs ESMO/ESGO'],
        ['14', 'Key Clinical Trials & Landmark Studies'],
        ['15', 'Recent Advances (2021–2026)'],
        ['16', 'Quick Reference Master Table'],
        ['17', 'High-Yield Mnemonics & Exam Bullets'],
        ['18', 'References'],
    ]
    story.append(make_table(toc_data,
        col_widths=[1.2*cm, PAGE_W - 2*MARGIN - 1.2*cm]))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 1 — OVERVIEW & CLASSIFICATION
    # ════════════════════════════════════════════════════════════
    story.append(h1('1. OVERVIEW & CLASSIFICATION OF OVARIAN GCTs'))
    story.append(sp(0.2))

    story.append(body(
        'Germ cell tumours (GCTs) of the ovary arise from the primordial germ cells and '
        'account for approximately <b>5% of all ovarian cancers</b>. Despite their overall '
        'rarity, they represent the <b>most common ovarian malignancy in women under 20 '
        'years of age</b> and are responsible for up to 70% of ovarian tumours in this age '
        'group. Most advances in management are extrapolated from the much larger experience '
        'with testicular GCTs, as the incidence of ovarian malignant GCTs is approximately '
        'one-tenth that of testicular counterparts.'
    ))

    story.append(h3('WHO Classification (2014, updated 2020)'))
    cls_data = [
        ['Category', 'Subtypes'],
        ['Primitive GCTs', 'Dysgerminoma · Yolk sac tumour (EST) · Embryonal carcinoma · Polyembryoma · Non-gestational choriocarcinoma · Mixed GCT'],
        ['Biphasic / Triphasic Teratoma', 'Immature teratoma · Mature teratoma (solid / cystic / dermoid cyst / fetiform)'],
        ['Monodermal Teratoma', 'Struma ovarii · Carcinoid · Neuroectodermal tumour · Carcinoma · Melanocytic · Sarcoma · Others'],
    ]
    story.append(make_table(cls_data,
        col_widths=[5.5*cm, PAGE_W - 2*MARGIN - 5.5*cm]))
    story.append(sp(0.2))

    story.append(h3('Tumour Markers by GCT Subtype'))
    mk_data = [
        ['Tumour', 'AFP', 'β-hCG', 'LDH', 'PLAP', 'CA-125'],
        ['Dysgerminoma', '–', '± (syncytiotrophoblasts)', '↑↑ (95%)', '↑↑ (95%)', '±'],
        ['Yolk Sac Tumour', '↑↑↑', '–', '±', '–', '–'],
        ['Embryonal Carcinoma', '+', '+', '–', '–', '–'],
        ['Choriocarcinoma (non-gest.)', '–', '↑↑↑', '–', '–', '–'],
        ['Immature Teratoma', '±', '–', '–', '–', '–'],
        ['Mixed GCT', 'Variable', 'Variable', '–', '–', '–'],
    ]
    usable = PAGE_W - 2*MARGIN
    story.append(make_table(mk_data,
        col_widths=[4.4*cm, 1.5*cm, 3.2*cm, 2.2*cm, 2.0*cm, 1.8*cm]))
    story.append(sp())
    story.append(exam_tip(
        'AFP+β-hCG both elevated = Embryonal carcinoma. '
        'AFP alone = YST. β-hCG alone = Choriocarcinoma. '
        'LDH+PLAP = Dysgerminoma. Immature teratoma = no reliable marker.'
    ))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 2 — GENERAL PRINCIPLES
    # ════════════════════════════════════════════════════════════
    story.append(h1('2. GENERAL PRINCIPLES: STAGING, SURGERY & BEP REGIMEN'))
    story.append(sp(0.2))

    story.append(h3('Staging'))
    story.append(body(
        'No independent staging system exists for malignant GCTs. The <b>FIGO staging '
        'for ovarian/fallopian tube/peritoneal cancer</b> is applied. The main prognostic '
        'factors include: age, histopathological type, stage, and extent of surgical resection. '
        'Age &gt;45 years is a risk factor per European guidelines; age ≥11 years is a risk '
        'factor in paediatric/adolescent patients per the <b>MaGIC Consortium</b>.'
    ))

    story.append(h3('Fertility-Sparing Surgery (FSS) — Standard of Care'))
    story.append(body(
        'Given that GCTs predominantly affect young women, <b>unilateral salpingo-oophorectomy '
        '(USO)</b> with preservation of the contralateral ovary, uterus, and fallopian tube '
        'is the standard approach at virtually all stages. The contralateral ovary is biopsied '
        'only if macroscopically abnormal. Bulky, readily resectable disease (e.g. omental cake) '
        'is debulked at the same sitting.'
    ))
    story.append(h4('MaGIC Group Minimum Staging Requirements'))
    for b_item in [
        'Intact tumour removal without capsule violation (document spontaneous rupture)',
        'Inspection and biopsy of any abnormal peritoneal surfaces, lymph nodes, omentum, and contralateral ovary',
        'Peritoneal fluid cytology',
        'Full surgical staging may be omitted in children/adolescents with early-stage disease (NCCN 2025)',
    ]:
        story.append(bullet(b_item))
    story.append(sp(0.2))

    story.append(h3('BEP Chemotherapy Regimen — Full Details'))
    bep_data = [
        ['Drug', 'Dose', 'Schedule', 'Key Toxicity'],
        ['Bleomycin (B)', '30 IU IV', 'Days 1, 8, 15 (weekly)', 'Pulmonary fibrosis (dose-limiting), flagellate dermatitis, Raynaud\'s'],
        ['Etoposide (E)', '100 mg/m² IV', 'Days 1–5', 'Myelosuppression, alopecia, secondary AML'],
        ['Cisplatin (P)', '20 mg/m² IV', 'Days 1–5', 'Nephrotoxicity, ototoxicity, peripheral neuropathy'],
    ]
    story.append(make_table(bep_data,
        col_widths=[3.0*cm, 2.8*cm, 3.8*cm, PAGE_W - 2*MARGIN - 9.6*cm]))
    story.append(body_s(
        'Cycle length: 21 days. Low/intermediate risk: 3 cycles. High risk: 4 cycles. '
        '<b>PFTs mandatory before bleomycin initiation.</b> '
        'Alternative for dysgerminoma (bleomycin-contraindicated): Carboplatin + Etoposide (CE).'
    ))
    story.append(sp(0.2))

    story.append(h3('IGCCCG-Modified Risk Stratification for MOGCTs'))
    risk_data = [
        ['Risk Group', 'Criteria', 'BEP Cycles'],
        ['Surveillance only', 'Stage I dysgerminoma; Stage I, Grade 1 immature teratoma', 'None'],
        ['Low / Intermediate', 'Stage II–IV dysgerminoma or immature teratoma', '3 cycles'],
        ['High', 'Any-stage YST, embryonal carcinoma, choriocarcinoma; or Stage II–IV with poor marker kinetics', '4 cycles'],
    ]
    story.append(make_table(risk_data,
        col_widths=[3.5*cm, 9.0*cm, 2.5*cm]))

    story.append(sp(0.2))
    story.append(h3('NCCN 2025 Surveillance Schedule (Post-Treatment)'))
    surv_data = [
        ['Assessment', 'Year 1', 'Year 2', 'Year 3', 'Years 4–5', 'After 5 yrs'],
        ['Clinical exam', 'Every 3 months', 'Every 3 months', 'Every 6 months', 'Every 12 months', 'Annually'],
        ['Tumour markers (AFP/β-hCG)', 'Every 2 months', 'Every 3 months', 'Every 6 months', 'Every 12 months', 'Annually ×10 yrs'],
        ['Pelvic USS (if ovary present)', 'Every 3 months', 'Every 3 months', 'Every 6 months', '–', '–'],
        ['CT CAP', 'Every 3 months', 'Every 3 months', 'Every 6–12 months', 'As needed', 'As needed'],
        ['Chest X-ray', 'Every 6 months', 'As needed', '–', '–', '–'],
    ]
    story.append(make_table(surv_data, font_size=8,
        col_widths=[4.0*cm, 2.7*cm, 2.7*cm, 2.7*cm, 2.5*cm, 2.4*cm]))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 3 — DYSGERMINOMA
    # ════════════════════════════════════════════════════════════
    story.append(h1('3. DYSGERMINOMA'))
    story.append(sp(0.2))

    story.append(h2('3.1 Epidemiology & Key Facts'))
    for b_item in [
        '<b>Most common</b> malignant GCT — 30–40% of all malignant ovarian GCTs',
        '1–3% of all ovarian cancers; 5–10% in women <20 years',
        '75% occur between ages 10 and 30 years; rarely after age 50',
        '20–30% of ovarian malignancies associated with pregnancy are dysgerminomas',
        '<b>Only GCT with significant bilaterality</b>: 10–15% of stage I tumours are bilateral',
        '65% are stage I at diagnosis; 25% present with metastatic disease',
    ]:
        story.append(bullet(b_item))
    story.append(sp(0.15))
    story.append(key('Dysgerminoma is the ovarian homologue of testicular seminoma.'))

    story.append(h2('3.2 Associations'))
    for b_item in [
        'Gonadal dysgenesis (45,X/46,XY karyotype; unilateral streak gonad + contralateral testis)',
        'Androgen insensitivity syndrome (46,XY, testicular feminization)',
        'Gonadoblastoma — >50% undergo malignant transformation if left in situ',
        'Calcifications on imaging should prompt search for underlying gonadoblastoma',
    ]:
        story.append(bullet(b_item))
    story.append(exam_tip(
        'Karyotype must be checked preoperatively in premenarcheal patients with a pelvic mass. '
        'If Y chromosome found → bilateral oophorectomy (uterus preserved for embryo transfer).'
    ))

    story.append(h2('3.3 Pathology'))
    story.append(body(
        '<b>Gross:</b> 5–15 cm; bosselated capsule; fleshy, pale-tan to grey-brown cut surface; '
        'principally solid with cystic/necrotic areas.'
    ))
    story.append(body(
        '<b>Histology:</b> Large, round/polygonal cells with abundant clear cytoplasm, large '
        'irregular nuclei, and prominent nucleoli. Arranged in <b>lobules and nests separated '
        'by fibrous septa infiltrated with lymphocytes, plasma cells, and granulomas with '
        'epithelioid cells and multinucleated giant cells</b>. Extensive necrosis can mimic '
        'tuberculosis. Syncytiotrophoblastic giant cells may be present (associated with '
        'precocious puberty/virilization — does <u>not</u> alter prognosis).'
    ))
    story.append(body(
        '<b>IHC:</b> OCT3/4 (+), NANOG (+), SALL4 (+), CD117/KIT (+), PLAP (+), D2-40 (+)'
    ))

    story.append(h2('3.4 Spread Pattern'))
    for b_item in [
        'Predominantly <b>lymphatic</b> (para-aortic → mediastinal/supraclavicular nodes — late)',
        'Hematogenous spread: lungs, liver, brain (longstanding/recurrent disease)',
        'Bone metastases: lower vertebrae (uncommon)',
        'Peritoneal spread: through capsule with exfoliation',
    ]:
        story.append(bullet(b_item))

    story.append(h2('3.5 Tumour Markers'))
    story.append(body(
        '<b>LDH</b> elevated in 95% — primary monitoring marker. '
        '<b>PLAP</b> elevated in 95%. '
        '<b>β-hCG</b> only if syncytiotrophoblastic cells present. '
        '<b>AFP</b> is negative; if positive, suspect mixed GCT.'
    ))

    story.append(h2('3.6 Treatment'))
    story.append(h3('Surgery'))
    story.append(body(
        'Minimal procedure: <b>unilateral salpingo-oophorectomy (USO)</b>. '
        'Contralateral ovary, fallopian tube, and uterus are preserved even in metastatic '
        'disease due to exquisite chemosensitivity. Cytoreductive surgery of bulky '
        'resectable disease (e.g. omental cake) is recommended. '
        'For those not wishing fertility preservation: total abdominal hysterectomy + BSO.'
    ))

    story.append(h3('Chemotherapy Indications (NCCN 2025)'))
    dys_tx_data = [
        ['Stage', 'Treatment', 'Evidence'],
        ['Stage I (confined to one/both ovaries)', 'Surveillance — no chemotherapy', 'Disease-free survival >95% with surgery alone (Berek & Novak, Gershenson et al.)'],
        ['Stage II–IV', 'BEP × 3–4 cycles', 'IGCCCG stratification; 3 cycles for intermediate risk; 4 cycles for high risk'],
        ['Bleomycin contraindicated', 'Carboplatin + Etoposide (CE)', 'Pooled analysis: comparable efficacy, reduced pulmonary toxicity'],
    ]
    story.append(make_table(dys_tx_data,
        col_widths=[4.5*cm, 4.5*cm, PAGE_W-2*MARGIN-9.0*cm]))

    story.append(h3('Radiation (Historical)'))
    story.append(body(
        'Dysgerminoma is highly radiosensitive and radiation was the historical standard. '
        'It has been replaced by BEP due to superior fertility preservation and comparable '
        'cure rates. Radiation may be used in select salvage cases.'
    ))

    story.append(h2('3.7 Features Associated with Higher Recurrence Risk'))
    for b_item in [
        'Tumour size >10–15 cm',
        'Age <20 years',
        'Microscopic pattern with numerous mitoses, anaplasia, and medullary pattern',
        '5–10% contralateral ovary involvement at 2 years (includes gonadal dysgenesis)',
    ]:
        story.append(bullet(b_item))

    story.append(h2('3.8 Prognosis'))
    story.append(body(
        '<b>Stage I, surgery alone:</b> >95% 5-year disease-free survival. '
        '<b>Metastatic disease:</b> still highly curable with BEP. '
        '<b>Overall:</b> best prognosis among all malignant GCTs.'
    ))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 4 — YOLK SAC TUMOUR
    # ════════════════════════════════════════════════════════════
    story.append(h1('4. YOLK SAC TUMOUR (Endodermal Sinus Tumour — EST)'))
    story.append(sp(0.2))

    story.append(h2('4.1 Epidemiology & Key Facts'))
    for b_item in [
        '<b>Third most common</b> malignant GCT (after dysgerminoma and immature teratoma)',
        'Median age: <b>16–18 years</b>; ~1/3 are premenarcheal at diagnosis',
        'Most common symptom: abdominal/pelvic pain (~75%); asymptomatic mass ~10%',
        '<b>Always unilateral (100%)</b> — biopsy of contralateral ovary is <u>contraindicated</u>',
        'Associated with gonadal dysgenesis — chromosomal analysis needed in premenarcheal patients',
        'Fastest growing among all GCTs',
    ]:
        story.append(bullet(b_item))

    story.append(h2('4.2 Pathology'))
    story.append(body(
        '<b>Gross:</b> Soft, grayish-brown; cystic areas due to degeneration/necrosis; '
        'capsule intact in most cases.'
    ))
    story.append(body(
        '<b>Histology (Pathognomonic Feature):</b> <b>Schiller-Duval body</b> — a '
        'glomerulus-like tuft with a central vascular core projecting into a cystic space '
        'lined by flattened/irregular endothelium. Reticular/myxoid pattern simulating '
        'undifferentiated mesoblast. Hobnail cells on papillary lining (mimics clear cell Ca).'
    ))
    story.append(body(
        '<b>IHC:</b> AFP (+), Glypican-3 (+), SALL4 (+), OCT3/4 (–)'
    ))

    story.append(h3('Histologic Subtypes'))
    yst_sub = [
        ['Subtype', 'Note'],
        ['Endodermal sinus (classic)', 'Schiller-Duval bodies — pathognomonic'],
        ['Reticular / Microcystic', 'Most common pattern overall'],
        ['Solid', 'Sheets of primitive cells'],
        ['Alveolar-glandular', 'Gland-like spaces'],
        ['Polyvesicular vitelline', 'Vesicles lined by columnar cells'],
        ['Hepatoid', 'AFP strongly +, mimics HCC; <b>worst prognosis</b>'],
        ['Parietal', 'Hyaline globules (PAS+, AFP+)'],
    ]
    story.append(make_table(yst_sub, col_widths=[4.5*cm, PAGE_W-2*MARGIN-4.5*cm]))

    story.append(h2('4.3 Tumour Markers'))
    story.append(body(
        '<b>AFP: Markedly elevated in virtually all cases</b> — primary diagnostic and '
        'monitoring marker. Good correlation between disease extent and AFP level (discordance '
        'can occur). Serial AFP monitoring is the cornerstone of treatment response assessment. '
        'Alpha-1 antitrypsin (AAT) is rarely elevated.'
    ))

    story.append(h2('4.4 Treatment'))
    story.append(h3('Surgery'))
    story.append(body(
        'USO + full staging (peritoneal cytology, omentectomy, lymph node sampling). '
        'Fertility preservation is the rule.'
    ))
    story.append(h3('Chemotherapy (NCCN 2025)'))
    story.append(body(
        '<b>ALL stages require adjuvant BEP</b> — this distinguishes YST from dysgerminoma. '
        'Prior to the cisplatin era, Stage I YST had <10% survival; BEP dramatically '
        'improved this to >95%. This is a critical exam distinction.'
    ))
    yst_tx = [
        ['Stage', 'BEP Cycles', 'Rationale'],
        ['Stage I–II', '3 cycles', 'Intermediate risk by IGCCCG'],
        ['Stage III–IV', '4 cycles', 'High risk by IGCCCG'],
    ]
    story.append(make_table(yst_tx, col_widths=[3*cm, 3*cm, PAGE_W-2*MARGIN-6*cm]))
    story.append(exam_tip(
        'Unlike dysgerminoma, Stage I YST is NEVER just observed — chemotherapy is mandatory.'
    ))

    story.append(h2('4.5 Prognosis'))
    story.append(body(
        'Stage I–II with BEP: >95% 5-year survival. '
        'Advanced stage (III–IV): 60–75%. '
        '<b>Hepatoid variant carries the worst prognosis.</b> '
        'AFP normalization is the key endpoint of treatment response.'
    ))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 5 — IMMATURE TERATOMA
    # ════════════════════════════════════════════════════════════
    story.append(h1('5. IMMATURE TERATOMA'))
    story.append(sp(0.2))

    story.append(h2('5.1 Epidemiology & Key Facts'))
    for b_item in [
        '<b>Second most common</b> malignant GCT',
        'Pure form: <1% of all ovarian cancers; 10–20% of ovarian malignancies in women <20 years',
        '~50% occur between ages 10–20 years; rare in postmenopausal women',
        '<b>Always unilateral</b> (bilateral occurrence is extremely rare)',
        'Mature teratoma (dermoid cyst) is the most common <u>benign</u> GCT and most common ovarian tumour in young women',
    ]:
        story.append(bullet(b_item))

    story.append(h2('5.2 Pathology & Grading'))
    story.append(body(
        'Contains embryo-derived immature elements — predominantly <b>immature neural tissue '
        '(neuroepithelium)</b>. The degree of neural immaturity determines grade and prognosis. '
        'Mature teratomas that continue maturing along normal lines become benign dermoid cysts; '
        'abnormal maturation produces immature teratoma with metastatic potential.'
    ))

    story.append(h3('Grading Systems'))
    grade_data = [
        ['System', 'Grade', 'Definition', 'Survival'],
        ['Norris 3-tier', 'Grade 1 (Low)', '<1 LPF (×4) of immature neuroepithelium', '≥95%'],
        ['Norris 3-tier', 'Grade 2', '1–3 LPFs of immature neuroepithelium', '~85%'],
        ['Norris 3-tier', 'Grade 3 (High)', '>3 LPFs of immature neuroepithelium', '~85%'],
        ['Modern 2-tier (Preferred)', 'Low Grade', 'Equivalent to Norris Grade 1', '≥95%'],
        ['Modern 2-tier (Preferred)', 'High Grade', 'Equivalent to Norris Grades 2–3', '~85%'],
    ]
    story.append(make_table(grade_data,
        col_widths=[4.0*cm, 2.5*cm, 5.5*cm, 2.5*cm]))
    story.append(body_s(
        'LPF = Low-power field (×4 objective). '
        '<b>Paediatric exception:</b> Children with immature teratoma have excellent '
        'outcomes with surgery alone regardless of grade — paediatric biology differs.'
    ))

    story.append(h3('Gliomatosis Peritonei'))
    story.append(body(
        'Mature glial implants on peritoneal surfaces. A <b>favourable prognostic finding</b> '
        'when composed of completely mature tissues. Molecular studies show these implants are '
        'NOT tumour-derived but represent teratoma-induced metaplasia of pluripotent Müllerian '
        'stem cells in the peritoneum. Does NOT upstage disease.'
    ))

    story.append(h2('5.3 Tumour Markers'))
    story.append(body(
        'AFP: Mildly elevated in some cases. β-hCG: Usually negative. '
        'Markedly elevated markers should prompt consideration of mixed GCT.'
    ))

    story.append(h2('5.4 Treatment (NCCN 2025)'))
    it_tx = [
        ['Stage & Grade', 'Treatment', 'Evidence'],
        ['Stage I, Grade 1 (Low)', 'Surveillance — no chemotherapy', 'Marino et al. 2024 (PMID 38371620): equivalent outcomes'],
        ['Stage I, Grade 2–3 (High)', 'BEP × 3 cycles', 'NCCN 2025; ESMO/ESGO'],
        ['Stage II–IV, any grade', 'BEP × 3–4 cycles', 'Standard of care'],
        ['Paediatric (all grades)', 'Surgery alone may suffice', 'MaGIC consortium; ESGO young adult guidelines'],
    ]
    story.append(make_table(it_tx,
        col_widths=[4.0*cm, 4.0*cm, PAGE_W-2*MARGIN-8.0*cm]))
    story.append(sp(0.15))

    story.append(h3('Growing Teratoma Syndrome (GTS)'))
    story.append(body(
        '<b>Definition:</b> Enlarging masses during or after chemotherapy in a patient with '
        'normalizing/normalized tumour markers, composed entirely of mature teratoma. '
        'Represents selective chemotherapy killing of malignant elements, leaving behind '
        'mature (chemo-resistant) components. <b>This is NOT malignant transformation.</b> '
        'Treatment: <b>surgical resection</b> (chemotherapy is ineffective for mature elements). '
        'Laparoscopic-assisted fertility-sparing resection is feasible at specialized centres '
        '(Wang et al. 2024, PMID 39074547).'
    ))

    story.append(h2('5.5 Prognosis'))
    story.append(body(
        '<b>Overall 5-year survival (all stages):</b> 70–80%. '
        '<b>Stage I, surgically staged:</b> 90–95%. '
        '<b>Grade</b> is the most important prognostic factor. '
        'Advanced stage: De Maria et al. 2025 (PMID 40161550): FSS feasible with good '
        'oncologic and fertility outcomes in advanced disease.'
    ))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 6 — EMBRYONAL CARCINOMA
    # ════════════════════════════════════════════════════════════
    story.append(h1('6. EMBRYONAL CARCINOMA'))
    story.append(sp(0.2))

    story.append(h2('6.1 Epidemiology & Key Facts'))
    for b_item in [
        '<b>Extremely rare</b> — one of the rarest ovarian GCTs',
        'Very young patients: ages 4–28 years',
        'Often presents with <b>isosexual precocity</b> (due to oestrogen or hCG secretion)',
        'Distinguished from choriocarcinoma by the <b>absence of syncytiotrophoblastic and cytotrophoblastic cells</b>',
    ]:
        story.append(bullet(b_item))

    story.append(h2('6.2 Pathology'))
    story.append(body(
        '<b>Gross:</b> Solid, necrotic, haemorrhagic. '
        '<b>Histology:</b> Large primitive cells with vesicular nuclei and prominent nucleoli; '
        'arranged in sheets, glands, or papillae; no trophoblastic differentiation (key distinction). '
        '<b>IHC:</b> OCT3/4 (+), NANOG (+), SALL4 (+), <b>CD30 (+)</b>, AFP (+), β-hCG (+). '
        'CD30 positivity differentiates embryonal carcinoma from dysgerminoma and YST.'
    ))

    story.append(h2('6.3 Tumour Markers'))
    story.append(body(
        '<b>Both AFP AND β-hCG are elevated</b> — this dual positivity is the defining '
        'marker profile. Differentiates from dysgerminoma (neither elevated) and pure '
        'choriocarcinoma (only β-hCG).'
    ))
    story.append(exam_tip('Embryonal carcinoma = Both AFP + β-hCG positive simultaneously.'))

    story.append(h2('6.4 Treatment'))
    story.append(body(
        '<b>BEP × 3–4 cycles for ALL stages</b> (NCCN 2025). Surgery: USO + staging. '
        'No surveillance option exists. Highly aggressive; requires chemotherapy regardless of stage.'
    ))

    story.append(h2('6.5 Prognosis'))
    story.append(body(
        'Aggressive behaviour. Prognosis depends on stage; responsive to BEP. '
        'Limited population-level data due to extreme rarity.'
    ))
    story.append(sp())

    # ════════════════════════════════════════════════════════════
    # SECTION 7 — NON-GESTATIONAL CHORIOCARCINOMA
    # ════════════════════════════════════════════════════════════
    story.append(h1('7. NON-GESTATIONAL CHORIOCARCINOMA'))
    story.append(sp(0.2))

    story.append(h2('7.1 Epidemiology & Key Facts'))
    for b_item in [
        '<b>Extremely rare</b> pure non-gestational choriocarcinoma',
        'Most patients: <b>&lt;20 years of age</b>',
        '<b>~50% develop isosexual precocity</b> (very high β-hCG before menarche)',
        'Frequently presents with <b>organ parenchymal metastases</b> at diagnosis → poor prognosis',
        'Must be distinguished from gestational choriocarcinoma (histologically identical; management differs)',
    ]:
        story.append(bullet(b_item))

    story.append(h2('7.2 Pathology'))
    story.append(body(
        '<b>Histology:</b> Biphasic pattern of <b>cytotrophoblast</b> (mononuclear, pale) and '
        '<b>syncytiotrophoblast</b> (multinuclear, eosinophilic). Identical appearance to '
        'gestational choriocarcinoma. No Schiller-Duval bodies (differentiates from YST). '
        '<b>IHC:</b> β-hCG (+), HPL (+), p63 (+, in cytotrophoblast), AFP (–). '
        '<b>Confirmation of non-gestational origin:</b> DNA fingerprinting or STR analysis '
        '(absence of paternal DNA confirms non-gestational origin).'
    ))

    story.append(h2('7.3 Tumour Markers'))
    story.append(body('<b>β-hCG: Markedly elevated</b> — primary marker. AFP: Negative.'))

    story.append(h2('7.4 Treatment'))
    story.append(body(
        '<b>BEP × 3–4 cycles for ALL stages</b> (NCCN 2025). '
        'Alternative: <b>MAC regimen</b> (Methotrexate + Actinomycin D + Cyclophosphamide) — '
        'used as in gestational trophoblastic disease. '
        '<b>Important caveat:</b> Response to MAC regimens is inferior compared to gestational '
        'choriocarcinoma. Non-gestational origin confers treatment resistance to GTD protocols.'
    ))

    story.append(h2('7.5 Prognosis'))
    story.append(body(
        '<b>Poor overall prognosis</b>. Most patients have organ parenchymal metastases at '
        'diagnosis. Worse than gestational choriocarcinoma. Cronin et al. 2022 '
        '(PMID 35328112): median survival <12 months in advanced disease.'
    ))
    story.append(exam_tip(
        'Key distinction: Non-gestational choriocarcinoma in young girls — '
        'β-hCG very high, may cause isosexual precocity; managed with BEP, not MAC/EMA-CO alone.'
    ))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 8 — POLYEMBRYOMA
    # ════════════════════════════════════════════════════════════
    story.append(h1('8. POLYEMBRYOMA'))
    story.append(sp(0.2))

    story.append(body(
        'Polyembryoma of the ovary is an <b>exceedingly rare</b> GCT composed of '
        '<b>embryoid bodies</b> that replicate structures of early embryonic differentiation — '
        'all three somatic layers (endoderm, mesoderm, ectoderm). It typically occurs in '
        'very young premenarcheal girls with signs of <b>pseudopuberty</b>. '
        'Both AFP and β-hCG are elevated. The same surgical and chemotherapy principles '
        'apply (USO + staging; BEP chemotherapy). Prognosis data are limited due to extreme rarity.'
    ))
    story.append(sp())

    # ════════════════════════════════════════════════════════════
    # SECTION 9 — MIXED GCT
    # ════════════════════════════════════════════════════════════
    story.append(h1('9. MIXED GERM CELL TUMOURS'))
    story.append(sp(0.2))

    story.append(h2('9.1 Definition & Composition'))
    story.append(body(
        'Mixed GCTs contain <b>two or more GCT elements</b>. The relative proportion of each '
        'component determines treatment response and prognosis.'
    ))
    comp_data = [
        ['Component', 'Frequency in Mixed GCTs'],
        ['Dysgerminoma', '80% (most common component)'],
        ['Endodermal sinus tumour (YST)', '70%'],
        ['Immature teratoma', '53%'],
        ['Choriocarcinoma', '20%'],
        ['Embryonal carcinoma', '16%'],
    ]
    story.append(make_table(comp_data, col_widths=[7*cm, PAGE_W-2*MARGIN-7*cm]))
    story.append(body_s('Most frequent combination: Dysgerminoma + Endodermal sinus tumour.'))

    story.append(h2('9.2 Tumour Markers'))
    story.append(body(
        'Variable — depends on components present. Monitor all relevant markers. '
        '<b>Important:</b> Marker normalization on chemotherapy may reflect regression of '
        'only one component — residual viable tumour from another component may remain.'
    ))

    story.append(h2('9.3 Prognosis'))
    for b_item in [
        '<b>Stage IA, size &lt;10 cm: 100% survival</b>',
        'Most malignant component determines overall prognosis',
        '<b>Favourable:</b> <1/3 composed of YST, choriocarcinoma, or Grade 3 immature teratoma',
        '<b>Less favourable:</b> >1/3 composed of above high-risk components',
    ]:
        story.append(bullet(b_item))

    story.append(h2('9.4 Treatment'))
    story.append(body('<b>BEP chemotherapy for all stages.</b>'))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 10 — GONADOBLASTOMA
    # ════════════════════════════════════════════════════════════
    story.append(h1('10. GONADOBLASTOMA (Precursor Lesion)'))
    story.append(sp(0.2))
    story.append(body(
        'Gonadoblastoma is a <b>benign but premalignant</b> lesion composed of germ cells '
        'and sex cord stroma. It occurs exclusively in patients with <b>gonadal dysgenesis</b> '
        '(45,X/46,XY or pure gonadal dysgenesis 46,XY). If left in situ, '
        '<b>&gt;50% will develop malignancy</b>, most commonly dysgerminoma. '
        'Imaging may reveal calcifications (a diagnostic clue). '
        '<b>Treatment:</b> Bilateral gonadectomy. The uterus may be preserved for future '
        'embryo transfer. Premenarcheal patients with a pelvic mass should have karyotyping '
        'performed preoperatively.'
    ))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 11 — RECURRENT/REFRACTORY DISEASE
    # ════════════════════════════════════════════════════════════
    story.append(h1('11. RECURRENT / REFRACTORY DISEASE & SALVAGE THERAPY'))
    story.append(sp(0.2))

    story.append(body(
        'Approximately <b>10% of all MOGCTs will experience tumour relapse</b> '
        '(Nasioudis & Pashankar 2024, PMID 38991656). Management of recurrent disease '
        'represents one of the most challenging areas in GCT oncology due to rarity and '
        'lack of randomised trial data. Germ cell tumours remain chemosensitive even at '
        'recurrence, and treatment should aim for cure.'
    ))

    story.append(h3('Secondary Cytoreductive Surgery'))
    story.append(body(
        'Indicated for carefully selected patients with surgically resectable residual or '
        'relapsed tumour. Goal is <b>complete gross resection or optimal debulking</b>. '
        'Resectability should be confirmed on imaging before proceeding.'
    ))

    story.append(h3('Salvage Chemotherapy Regimens'))
    salvage_data = [
        ['Regimen', 'Drugs', 'Indication'],
        ['TIP', 'Paclitaxel + Ifosfamide + Cisplatin', 'Platinum-sensitive relapse (first-line salvage)'],
        ['VIP', 'Vinblastine + Ifosfamide + Cisplatin', 'Platinum-sensitive relapse (alternative)'],
        ['TGO', 'Paclitaxel + Gemcitabine + Oxaliplatin', 'Platinum-resistant disease'],
        ['HDCT + ASCT', 'High-dose carboplatin-based + Autologous Stem Cell Transplant', 'Platinum-resistant/refractory; specialised centres'],
    ]
    story.append(make_table(salvage_data,
        col_widths=[1.8*cm, 5.0*cm, PAGE_W-2*MARGIN-6.8*cm]))
    story.append(body_s(
        'Prognosis in relapse is worse than testicular GCT counterparts. '
        'HDCT + ASCT shows promise (De Maria et al. 2025, PMID 40275685); optimal timing '
        '(upfront vs later lines) remains under investigation.'
    ))

    story.append(h3('Targeted / Novel Approaches (Experimental)'))
    for b_item in [
        '<b>KIT inhibitors</b> (imatinib, sunitinib): ~25–30% of dysgerminomas harbour KIT activating mutations (exon 17); limited clinical success; not standard of care',
        '<b>Immunotherapy</b>: PD-L1 variable; checkpoint inhibitors — occasional responses; no approved indication',
        '<b>Actionable genomic alterations</b> found in a subset of MOGCTs — under investigation (PMID 40269311)',
    ]:
        story.append(bullet(b_item))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 12 — LATE EFFECTS
    # ════════════════════════════════════════════════════════════
    story.append(h1('12. LATE EFFECTS OF TREATMENT'))
    story.append(sp(0.2))
    story.append(body(
        'Most data on late effects are extrapolated from male testicular GCT survivors treated '
        'with BEP. The profile is expected to be similar in women with MOGCTs.'
    ))
    late_data = [
        ['Late Effect', 'Cause', 'Clinical Significance'],
        ['Gonadal dysfunction', 'BEP (especially bilateral disease)', 'Most important; however 75–90% retain menstrual function with unilateral oophorectomy + BEP'],
        ['Renal dysfunction', 'Cisplatin', 'Chronic kidney disease; monitor creatinine/eGFR'],
        ['Peripheral neuropathy', 'Cisplatin', 'Sensory neuropathy; may be permanent'],
        ['Pulmonary fibrosis', 'Bleomycin', 'Dose-related; PFTs before and after; avoid supplemental O₂'],
        ['Secondary AML', 'Etoposide', 'Risk ~1–2%; latency 2–5 years; MLL gene rearrangement'],
        ['Cardiovascular toxicity', 'Bleomycin + Cisplatin', 'Hypertension, early atherosclerosis'],
        ['Ototoxicity', 'Cisplatin', 'High-frequency hearing loss; audiometry baseline'],
        ['Secondary malignancies', 'Alkylating agents, etoposide', 'Long-term surveillance required'],
    ]
    story.append(make_table(late_data, font_size=8,
        col_widths=[4.0*cm, 3.5*cm, PAGE_W-2*MARGIN-7.5*cm]))
    story.append(body_s(
        'Fertility data (Zerdeva et al. 2025, PMID 41068325 — Systematic Review): '
        'Fertility-sparing surgery + BEP results in normal menstrual function and pregnancy '
        'in the majority of women with MOGCTs regardless of GCT subtype or stage.'
    ))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 13 — GUIDELINE COMPARISON
    # ════════════════════════════════════════════════════════════
    story.append(h1('13. GUIDELINE SUMMARY: NCCN 2025 vs ESMO/ESGO'))
    story.append(sp(0.2))

    story.append(h3('NCCN 2025 Treatment Recommendations'))
    nccn_data = [
        ['GCT Type', 'Stage I', 'Stage II–IV', 'Special Notes'],
        ['Dysgerminoma', 'Surveillance', 'BEP × 3–4', 'CE if bleomycin contraindicated'],
        ['Immature Teratoma Grade 1', 'Surveillance', 'BEP × 3–4', 'Paediatric: surgery alone may suffice'],
        ['Immature Teratoma Grade 2–3', 'BEP × 3', 'BEP × 3–4', '—'],
        ['Yolk Sac Tumour', 'BEP × 3', 'BEP × 3–4', 'No surveillance ever'],
        ['Embryonal Carcinoma', 'BEP × 3–4', 'BEP × 3–4', 'Both AFP+hCG+'],
        ['Choriocarcinoma', 'BEP × 3–4', 'BEP × 3–4', 'MAC as alternative'],
        ['Mixed GCT', 'BEP', 'BEP × 3–4', 'Most malignant component guides Rx'],
    ]
    story.append(make_table(nccn_data, font_size=8,
        col_widths=[4.0*cm, 3.0*cm, 3.0*cm, PAGE_W-2*MARGIN-10.0*cm]))
    story.append(sp(0.3))

    story.append(h3('ESMO / ESGO Non-Epithelial Ovarian Cancer Guidelines (2023–2024)'))
    esmo_pts = [
        'Consistent with NCCN on BEP as the standard chemotherapy regimen',
        '<b>Referral to specialised multidisciplinary centres</b> (including paediatric + adult expertise) strongly recommended',
        'Fertility-sparing surgery endorsed for all GCT subtypes at all stages',
        'IGCCCG risk stratification recommended for treatment planning',
        'Stage I dysgerminoma with minimal imaging residual post-chemo: surveillance acceptable (residual likely non-viable)',
        '<b>ESGO Young Adult Guidelines (2019):</b> BEP 3–4 cycles for Stage III–IV; bleomycin omitted after cycle 3 (max cumulative 270 IU) to reduce pulmonary toxicity',
        'Acknowledge lack of RCT data; most evidence is from retrospective studies and registries',
        'ESGO-ESMO-ESP Consensus 2024: Annals of Oncology 35(3):248–266 — primarily addresses epithelial cancer but relevant staging/management framework applies',
    ]
    for pt in esmo_pts:
        story.append(bullet(pt))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 14 — KEY TRIALS
    # ════════════════════════════════════════════════════════════
    story.append(h1('14. KEY CLINICAL TRIALS & LANDMARK STUDIES'))
    story.append(sp(0.2))

    trials_data = [
        ['Trial / Study', 'Year', 'Key Finding & Relevance'],
        ['Einhorn & Donohue\n(BEP Pioneer — Testicular)', '1974', 'Cisplatin/vinblastine/bleomycin transformed GCT from universally fatal to >70% curable. Later extrapolated to ovarian GCTs.'],
        ['GOG-78\n(Williams et al.)', '1989', 'BEP superior to VAC (vincristine, actinomycin D, cyclophosphamide) in ovarian GCTs. Established BEP as the standard of care.'],
        ['GOG Study\n(Williams et al.)', '1994', '3 cycles BEP equivalent to 4 cycles in good-risk testicular GCT — basis for 3-cycle approach in low/intermediate risk MOGCTs.'],
        ['Gershenson et al.', '2007', 'Surveillance alone for Stage I ovarian dysgerminoma: excellent long-term outcomes, validating observation as standard.'],
        ['MaGIC Consortium\n(ongoing)', '2013–', 'Global paediatric/adolescent GCT registry. Defined minimum staging requirements. Identified age ≥11 as poor prognostic factor in children.'],
        ['Marino et al.\n(PMID 38371620)', '2024', 'Stage I immature teratoma: outcomes after surveillance vs adjuvant chemo equivalent; better fertility with surveillance. Supports NCCN 2025 observation approach.'],
        ['Marino et al.\n(PMID 39222973)', '2024', 'Fertility outcomes in Stage I ovarian immature teratomas after FSS: excellent pregnancy rates.'],
        ['Marino et al.\n(PMID 40161550)', '2025', 'Advanced-stage ovarian immature teratoma: FSS feasible with good oncologic and fertility outcomes even in advanced disease.'],
        ['Nasioudis & Pashankar\n(PMID 38991656)', '2024', 'Recurrent MOGCT management: TIP/VIP for platinum-sensitive; HDCT/ASCT for resistant. ~10% relapse rate; prognosis worse than testicular counterpart.'],
        ['Seckl et al.\n(PMID 40020416)', '2025', 'Controversies in MOGCTs: surveillance, NACT role, relapse management — highlighted critical lack of RCT data. Erratum: PMID 40472763.'],
        ['De Maria et al.\n(PMID 40275685)', '2025', 'Comprehensive review: KIT inhibitors experimental; HDCT/ASCT promising; molecular and genetic landscape key for future therapies.'],
        ['Zerdeva et al.\n(PMID 41068325)', '2025', 'Systematic review (decade-spanning): Fertility preservation safe and effective across all GCT types and stages after FSS + BEP.'],
        ['Laga et al.\n(PMID 40269311)', '2025', 'Single-cell profiling in ovarian GCTs: distinct transcriptomic profiles per subtype identified. Preclinical relevance for targeted therapy development.'],
        ['Cronin et al.\n(PMID 35328112)', '2022', 'Non-gestational ovarian choriocarcinoma: systematic review — median survival <12 months in advanced disease; poor prognosis documented.'],
    ]
    story.append(make_table(trials_data, font_size=8,
        col_widths=[3.8*cm, 1.5*cm, PAGE_W-2*MARGIN-5.3*cm]))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 15 — RECENT ADVANCES
    # ════════════════════════════════════════════════════════════
    story.append(h1('15. RECENT ADVANCES (2021–2026)'))
    story.append(sp(0.2))

    advances = [
        ('KIT Inhibitors in Dysgerminoma',
         'Approximately 25–30% of dysgerminomas harbour activating KIT (CD117) mutations, most '
         'commonly in exon 17. Imatinib and sunitinib have been explored in case series and '
         'small trials. Results have been modest with limited clinical success. These therapies '
         'remain <b>experimental</b> and are not standard of care. Ongoing molecular profiling '
         'studies are identifying novel actionable targets.'),
        ('Surveillance Over Chemotherapy for Stage I Disease',
         'Growing evidence from the 2024 Marino et al. studies supports observation alone for '
         'Stage I dysgerminoma and Stage I Grade 1 immature teratoma. Oncologic outcomes are '
         'equivalent to adjuvant BEP, with superior fertility preservation. NCCN 2025 formally '
         'endorses surveillance for these groups. This represents a <b>paradigm shift towards '
         'de-escalation of therapy</b> in select patients.'),
        ('Role of Neoadjuvant Chemotherapy (NACT)',
         'The role of NACT in advanced-stage MOGCT remains uncertain (Seckl et al. 2025). '
         'Some retrospective data support NACT in unresectable advanced disease where upfront '
         'surgery would be high-risk. <b>Primary surgery followed by adjuvant BEP remains the '
         'standard approach</b>; NACT is not routine.'),
        ('High-Dose Chemotherapy + ASCT for Relapsed Disease',
         'HDCT with autologous stem cell transplantation is expanding as salvage therapy for '
         'platinum-resistant/refractory MOGCTs. Evidence largely extrapolated from testicular '
         'GCT trials (Indiana University series; GETUG protocols). Optimal timing — whether to '
         'use HDCT as first salvage vs after conventional salvage — remains under active '
         'investigation.'),
        ('Molecular & Genomic Landscape',
         'Single-cell transcriptomic profiling (Laga et al. 2025) has identified distinct '
         'molecular signatures for each GCT subtype. Dysgerminoma: OCT3/4, NANOG, KIT pathway. '
         'YST: AFP-producing, Glypican-3, Wnt signalling. A subset of MOGCTs harbours '
         'actionable genomic alterations. This provides a roadmap for future targeted therapy '
         'development.'),
        ('Immunotherapy',
         'PD-L1 expression is variable across GCT subtypes. Checkpoint inhibitors (PD-1/PD-L1 '
         'inhibitors) have shown occasional responses in case reports, but there is currently '
         '<b>no approved immunotherapy indication</b> for MOGCTs. Prospective trials are needed.'),
        ('Fertility Preservation Advances',
         'The landmark 2025 systematic review by Zerdeva et al. (PMID 41068325) confirmed that '
         'FSS is safe across all GCT types and stages, with the majority of women retaining '
         'normal menstrual function and achieving pregnancy. Ovarian tissue cryopreservation '
         'before chemotherapy is an emerging option. Laparoscopic approaches for Growing '
         'Teratoma Syndrome are feasible at specialised centres.'),
        ('Risk-Stratified Treatment',
         'The 2025 updates emphasise stratified treatment to reduce chemotherapy overtreatment '
         'in low-risk patients while ensuring adequate treatment for high-risk patients. '
         'This is especially relevant for preserving ovarian and gonadal function in young women.'),
    ]

    for title, text in advances:
        story.append(h3(title))
        story.append(body(text))
        story.append(sp(0.1))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 16 — QUICK REFERENCE MASTER TABLE
    # ════════════════════════════════════════════════════════════
    story.append(h1('16. QUICK REFERENCE MASTER TABLE'))
    story.append(sp(0.2))

    master = [
        ['Feature', 'Dysgerminoma', 'Yolk Sac Tumour', 'Immature Teratoma', 'Embryonal Ca', 'Choriocarcinoma', 'Mixed GCT'],
        ['Frequency', '30–40%\n(most common)', '3rd most\ncommon', '2nd most\ncommon', 'Extremely\nrare', 'Extremely\nrare', 'Common'],
        ['Age', '10–30 yrs', '16–18 yrs\n(median)', '10–20 yrs', '4–28 yrs', '<20 yrs', 'Young'],
        ['Bilaterality', '10–15%', '0%', '<1%', '0%', '0%', 'Rare'],
        ['AFP', '–', '↑↑↑', '±', '+', '–', 'Variable'],
        ['β-hCG', '± (syncytio-\ntrophoblasts)', '–', '–', '+', '↑↑↑', 'Variable'],
        ['LDH / PLAP', '↑↑ (95%)', '–', '–', '–', '–', 'Variable'],
        ['Key Histology', 'Lymphocytic\ninfiltrate;\nlobules/nests', 'Schiller-Duval\nbody\n(pathognomonic)', 'Immature\nneuroepithelium;\ngraded', 'Primitive\ncells;\nCD30+', 'Biphasic\ntrophoblast\n(cyto+syncytio)', 'Mixed\ncomponents'],
        ['Stage I Rx', 'Surveillance', 'BEP × 3', 'Grade 1: Surv.\nGrade 2–3: BEP', 'BEP × 3–4', 'BEP × 3–4', 'BEP'],
        ['Stage II–IV', 'BEP × 3–4', 'BEP × 3–4', 'BEP × 3–4', 'BEP × 3–4', 'BEP × 3–4', 'BEP × 3–4'],
        ['Prognosis', 'Excellent\n(>95% Stage I)', 'Good (>95%\nStage I–II)', '70–80%\noverall', 'Moderate', 'Poor\n(organ mets)', 'Depends on\ncomponents'],
        ['Unique Feature', 'Radiosensitive;\nKIT+;\nY-chrom check', 'Always unilateral;\nhepatoid=poor;\nno surveillance', 'GTS;\nGliomatosis\nperitonei', 'Both AFP\n+β-hCG+', 'DNA finger-\nprinting;\nisosexual\nprecocity', 'Most malignant\ncomponent\ndetermines Rx'],
    ]
    cw_master = [(PAGE_W - 2*MARGIN)/7] * 7
    story.append(make_table(master, col_widths=cw_master, font_size=7.5))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 17 — MNEMONICS & EXAM BULLETS
    # ════════════════════════════════════════════════════════════
    story.append(h1('17. HIGH-YIELD MNEMONICS & EXAM BULLETS'))
    story.append(sp(0.2))

    story.append(h3('"DYCE-MIX" — Types of Primitive GCTs'))
    story.append(body(
        '<b>D</b>ysgerminoma · <b>Y</b>olk sac tumour · <b>C</b>horiocarcinoma · '
        '<b>E</b>mbryonal carcinoma · <b>M</b>ixed GCT · <b>I</b>mmature teratoma · '
        '<b>X</b> = Polyembryoma (extra rare)'
    ))

    story.append(h3('Tumour Marker Rule'))
    story.append(body(
        '• <b>AFP only</b> → Yolk Sac Tumour<br/>'
        '• <b>β-hCG only</b> → Choriocarcinoma<br/>'
        '• <b>Both AFP + β-hCG</b> → Embryonal Carcinoma<br/>'
        '• <b>LDH + PLAP</b> → Dysgerminoma<br/>'
        '• <b>No reliable marker</b> → Immature Teratoma'
    ))

    story.append(h3('Bilaterality Rule'))
    story.append(body(
        'Only <b>Dysgerminoma</b> has significant bilaterality (10–15%). '
        'All other GCTs are essentially unilateral. '
        'Contralateral ovary biopsy only if macroscopically abnormal.'
    ))

    story.append(h3('Surveillance-Only Rule (NCCN 2025)'))
    story.append(body(
        '"<b>Stage I Dysgerminoma</b>" AND "<b>Stage I Grade 1 Immature Teratoma</b>" = Watch and wait. '
        'ALL other GCT types at ALL stages → BEP chemotherapy.'
    ))

    story.append(h3('Schiller-Duval Body = YST'))
    story.append(body(
        '"<b>S</b>chiller-<b>D</b>uval = <b>S</b>inus tumour / En<b>D</b>odermal sinus = Yolk Sac Tumour"'
    ))

    story.append(h3('BEP Late Effects — "RGNCS"'))
    story.append(body(
        '<b>R</b>enal · <b>G</b>onadal · <b>N</b>eurotoxicity · <b>C</b>ardiovascular · '
        '<b>S</b>econdary malignancies (AML with etoposide)'
    ))

    story.append(h3('Growing Teratoma Syndrome — Key Points'))
    for b_item in [
        'Enlarging mass + normalizing markers = Growing Teratoma Syndrome',
        'NOT malignant transformation — mature elements resistant to chemo',
        'Treatment: Surgical resection (not more chemotherapy)',
        'Laparoscopic FSS is feasible',
    ]:
        story.append(bullet(b_item))

    story.append(h3('Non-Gestational vs Gestational Choriocarcinoma'))
    story.append(body(
        'Histologically identical. Differentiated by: DNA fingerprinting / STR analysis '
        '(paternal DNA absent in non-gestational). Non-gestational → worse prognosis; '
        'less responsive to MAC/EMA-CO; treat with BEP.'
    ))

    story.append(h3('Key "Examiners\' Favourite" Facts'))
    fav_facts = [
        'Dysgerminoma is the ONLY GCT with significant bilaterality.',
        'YST is ALWAYS unilateral — biopsy of contralateral ovary is contraindicated.',
        'Stage I YST ALWAYS gets BEP — no surveillance option.',
        'LDH and PLAP are elevated in 95% of dysgerminomas.',
        'Schiller-Duval body is pathognomonic of YST.',
        'Immature teratoma grade = amount of immature neuroepithelium (not mitoses alone).',
        'Growing Teratoma Syndrome → surgery, not more chemo.',
        'Gonadoblastoma → >50% malignant transformation → bilateral gonadectomy.',
        'KIT mutations in ~25–30% of dysgerminomas — experimental targeted therapy.',
        'BEP requires PFTs before starting (bleomycin lung toxicity).',
        'Etoposide → secondary AML (MLL rearrangement); latency 2–5 years.',
        'Gliomatosis peritonei = favourable finding; does NOT upstage immature teratoma.',
        'HDCT + ASCT is salvage option for platinum-resistant relapse.',
        'Polyembryoma → embryoid bodies → premenarcheal girls → pseudopuberty.',
        'Non-gestational choriocarcinoma = β-hCG very high, isosexual precocity, organ mets, poor prognosis.',
    ]
    for f in fav_facts:
        story.append(bullet(f'<b>{f}</b>'))
    story.append(PageBreak())

    # ════════════════════════════════════════════════════════════
    # SECTION 18 — REFERENCES
    # ════════════════════════════════════════════════════════════
    story.append(h1('18. REFERENCES'))
    story.append(sp(0.2))

    refs = [
        'Berek JS, Friedlander ML, Hacker NF. Germ cell and non-epithelial ovarian cancer. In: Berek & Novak\'s Gynecology, 16th ed. Lippincott; 2020. pp. 2375–2410.',
        'Kumar V, Abbas AK, Aster JC. Robbins & Kumar Basic Pathology, 11th ed. Elsevier; 2023.',
        'Kasper DL et al. Harrison\'s Principles of Internal Medicine, 22nd ed. McGraw-Hill; 2025.',
        'National Comprehensive Cancer Network. NCCN Clinical Practice Guidelines in Oncology: Ovarian Cancer (including Fallopian Tube Cancer and Primary Peritoneal Cancer). Version 2025. NCCN; 2025.',
        'ESMO Clinical Practice Guideline: Non-Epithelial Ovarian Cancer. Ann Oncol. 2023.',
        'ESGO-ESMO-ESP Consensus Conference Recommendations on Ovarian Cancer. Ann Oncol. 2024;35(3):248–266.',
        'Seckl MJ, Kaur B, Ghorani E, et al. Controversies in malignant ovarian germ cell tumors. Int J Gynecol Cancer. 2025. PMID: 40020416.',
        'Nasioudis D, Pashankar FD. Management of recurrent and persistent malignant ovarian germ cell tumors: a narrative review. Int J Gynecol Cancer. 2024. PMID: 38991656.',
        'De Maria F, Amant F, Chiappa V, et al. Malignant germ cells tumor of the ovary. J Gynecol Oncol. 2025. PMID: 40275685.',
        'Zerdeva E, Karampas G, Petrogiannis N. Fertility preservation in rare ovarian malignancies: a decade-spanning systematic review. Cancer Causes Control. 2025. PMID: 41068325.',
        'Marino G, Grassi T, De Ponti E, et al. Outcome of patients with stage I immature teratoma after surveillance or adjuvant chemotherapy. Front Oncol. 2024. PMID: 38371620.',
        'Marino G, Grassi T, De Ponti E, et al. Fertility outcomes in stage I ovarian immature teratomas. Int J Gynecol Cancer. 2024. PMID: 39222973.',
        'De Maria F, et al. Oncologic and fertility outcome in patients with advanced stage ovarian immature teratomas. Gynecol Oncol Rep. 2025. PMID: 40161550.',
        'Cronin S, Ahmed N, Craig AD. Non-gestational ovarian choriocarcinoma: a rare ovarian cancer subtype. Diagnostics. 2022. PMID: 35328112.',
        'Laga T, Van Rompuy AS, Busschaert P, et al. Single-cell profiling in ovarian germ cell and sex cord-stromal tumours. Br J Cancer. 2025. PMID: 40269311.',
        'Wang D, Jia C, Wang R. Laparoscopic-assisted fertility-sparing surgery for growing teratoma syndrome. J Minim Invasive Gynecol. 2024. PMID: 39074547.',
        'Ramalingam P. Germ cell tumors of the ovary: a review. Semin Diagn Pathol. 2023. PMID: 36088223.',
        'Updates in the Management of Malignant Ovarian Germ Cell Tumors. Obstet Gynecol Open. 2025. PMC12421977.',
    ]
    for i, ref in enumerate(refs, 1):
        story.append(Paragraph(f'{i}. {ref}', REF_STYLE))
    story.append(sp(0.5))
    story.append(hr(ACCENT_TEAL, 1.0))
    story.append(body_s(
        '<i>This document was compiled using Berek &amp; Novak\'s Gynecology, Robbins Pathology, '
        'Harrison\'s 22E, NCCN 2025, ESMO/ESGO guidelines, and PubMed literature. '
        'For clinical decision-making, always refer to the latest institutional and national guidelines. '
        'Prepared by Orris Medical AI — July 2026.</i>'
    ))

    # ── BUILD ──────────────────────────────────────────────────────────────────────
    doc.build(story, onFirstPage=on_page, onLaterPages=on_page)
    print(f"PDF saved to: {output_path}")

if __name__ == '__main__':
    out = '/tmp/workspace/gct-ovary/GCT_Ovary_Comprehensive_Exam_Study_Material.pdf'
    build_pdf(out)
Running Command

cd /tmp/workspace/gct-ovary && python generate_pdf.py 2>&1

Running Command

ls -lh /tmp/workspace/gct-ovary/GCT_Ovary_Comprehensive_Exam_Study_Material.pdf

Your PDF is ready. Here's your download link:

GCT Ovary Comprehensive Exam Study Material

PDF Document · PDF


What's inside the PDF (18 sections, A4, print-ready):
SectionContent
1Overview & WHO Classification with tumour marker table
2Staging, FSS surgery principles, BEP regimen dosing + toxicity, NCCN surveillance schedule
3Dysgerminoma — full essay (epi, associations, pathology, spread, markers, treatment, prognosis)
4Yolk Sac Tumour — all histologic subtypes, Schiller-Duval, treatment algorithm
5Immature Teratoma — grading systems, Growing Teratoma Syndrome, NCCN 2025 table
6Embryonal Carcinoma
7Non-Gestational Choriocarcinoma
8Polyembryoma
9Mixed GCTs
10Gonadoblastoma
11Recurrent/Refractory disease — salvage regimens (TIP/VIP/TGO/HDCT+ASCT)
12Late effects of BEP
13NCCN 2025 vs ESMO/ESGO guideline comparison
1414 landmark trials with key findings
15Recent advances 2021–2026 (KIT inhibitors, immunotherapy, single-cell profiling, fertility)
16Quick-reference master comparison table (all GCTs at a glance)
17Mnemonics, exam bullets, "examiner's favourite facts"
18Full references (18 citations with PMIDs)
Format features: Dark-blue/teal professional headers, colour-coded tables, alternate row shading, exam-tip callouts (red), key-fact callouts (gold), page headers/footers, A4 printable layout.
This is a shared conversation. Sign in to Orris to start your own chat.