Write long answer of paediatric renal tumoura

Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Finding Sources
Reading File
Reading File
Reading File
Loading Image
Loading Image
I now have comprehensive, well-sourced information to write a thorough long answer on paediatric renal tumours. Let me compose the complete response.

Paediatric Renal Tumours

Overview and Classification

Renal tumours account for approximately 6-7% of all childhood cancers. The major types encountered in children are:
  1. Wilms Tumour (Nephroblastoma) - most common (>85%)
  2. Clear Cell Sarcoma of the Kidney (CCSK)
  3. Rhabdoid Tumour of the Kidney (RTK)
  4. Congenital Mesoblastic Nephroma (CMN)
  5. Multilocular Cystic Nephroma
  6. Renal Cell Carcinoma (rare in children)

1. WILMS TUMOUR (NEPHROBLASTOMA)

Definition and Epidemiology

Wilms tumour is the most common primary malignant renal tumour of childhood. It is an embryonal neoplasm developing from remnants of immature metanephric blastema. It accounts for approximately 95% of all kidney cancers in children under 15 years of age in the United States, with an annual incidence of 8 per million children. Over 80% of cases are diagnosed before age 5, with a median age of diagnosis of 3.5 years. The incidence is slightly higher in females, and is highest in Black/African populations; it is lowest in East Asian populations. Only 1-2% of cases are familial. - Campbell Walsh Wein Urology, 3-Volume Set

Aetiology and Genetics

Wilms tumour arises through a complex genetic landscape that differs markedly from the simple Knudson two-hit model. The key genetic alterations are summarised below:
Gene (Chromosome)FrequencySomatic/Germline
IGF2 (11p15)70%Both
WTX (Xq11)20%Somatic only
WT1 (11p13)20%Both
CTNNB1/beta-catenin (3p21)15%Somatic only
TP53 (17p13)4% overall; 70% of anaplasticBoth
Source: Campbell Walsh Wein Urology, Table 53.3
WT1 Gene (11p13): The first gene identified, WT1 is a tumour suppressor critical for normal renal and gonadal development. Constitutional inactivation of one WT1 copy leads to genitourinary anomalies. WT1 mutations are frequently associated with beta-catenin (CTNNB1) mutations, defining a "type I" Wilms tumour characterised by stromal-predominant histology, intralobar nephrogenic rests, and early onset.
11p15 / IGF2 Pathway: The 11p15.5 locus contains the IGF2 gene, which is normally only expressed from the paternal allele (the maternal allele is imprinted). Loss of imprinting - re-expression from the maternal allele - causes overexpression of IGF-2 protein, driving both organomegaly and tumorigenesis. This locus is involved in Beckwith-Wiedemann syndrome.
MicroRNA Processing Mutations: In 15-20% of sporadic tumours, recurrent mutations affect proteins involved in microRNA processing. This leads to impaired mesenchymal-to-epithelial transformation during renal morphogenesis, perpetuating blastemal "rests" that can evolve into tumours.
TP53 Mutations: Found in approximately 70% of anaplastic Wilms tumours, TP53 mutations confer chemoresistance and are associated with especially poor prognosis. - Robbins & Kumar Basic Pathology

Associated Syndromes and Congenital Anomalies

Three classic syndromic associations carry significantly elevated risk:
WAGR Syndrome (Wilms tumour, Aniridia, Genital abnormalities, mental Retardation/intellectual disability): Results from heterozygous deletion at chromosome 11p13 affecting both WT1 and the adjacent aniridia gene PAX6. Approximately 1 in 3 patients with WAGR will develop Wilms tumour.
Denys-Drash Syndrome (DDS): Characterised by gonadal dysgenesis and early-onset nephropathy with pseudohermaphroditism. It results from dominant-negative WT1 missense mutations. DDS carries the highest risk of Wilms tumour development (~90%). The median age at presentation in DDS is 18 months, and 20% of cases are bilateral.
Beckwith-Wiedemann Syndrome (BWS): An overgrowth syndrome characterised by visceromegaly, macroglossia, exomphalos/midline abdominal wall defects, and neonatal hypoglycaemia. It arises from mutations at the 11p15.5 locus. Carries a 4-10% risk of Wilms tumour, higher if hemihypertrophy is also present. These patients are also at increased risk for hepatoblastoma, adrenocortical tumours, rhabdomyosarcoma, and pancreatic tumours.
Other associated syndromes include hemihypertrophy, Sotos syndrome (cerebral gigantism), Bloom syndrome (immunodeficiency and facial telangiectasia), Perlman syndrome, Li-Fraumeni syndrome, and neurofibromatosis. Cryptorchidism and horseshoe kidney are also associated anomalies.
Approximately 10% of Wilms tumours are bilateral (Stage V), of which two-thirds are synchronous and one-third metachronous. - Grainger & Allison's Diagnostic Radiology

Pathology

Gross Appearance: Wilms tumour is typically a large, solitary, well-circumscribed mass. On cut section it is soft, homogeneous, tan to grey, with occasional foci of haemorrhage, cystic degeneration, and necrosis. About 10% are bilateral or multicentric at diagnosis.
Wilms tumour gross specimen showing the characteristic tan to grey colour and well-circumscribed margins in the lower pole of the kidney
Wilms tumour gross specimen - Robbins & Kumar Basic Pathology
Microscopic (Triphasic Pattern): The hallmark is the classic triphasic combination of blastemal, stromal, and epithelial cell types, reflecting attempts to recapitulate different stages of nephrogenesis:
  • Blastemal component: Sheets of small blue cells with high nuclear-to-cytoplasmic ratio, few distinctive features, densely packed
  • Epithelial component: Abortive tubules or glomeruli representing primitive differentiation
  • Stromal component: Fibroblastic or myxoid cells; skeletal muscle differentiation is not uncommon
Not all three components need be present in equal proportions; some tumours are monophasic or biphasic.
Histology of Wilms tumour: (A) Triphasic pattern with blastemal blue cells and primitive tubules (arrows). (B) Focal anaplasia with hyperchromatic, pleomorphic nuclei and abnormal mitosis
Robbins & Kumar Basic Pathology, Fig. 4.41
Histological Classification:
Favourable Histology (FH): The classic triphasic appearance without anaplasia. Epithelial-predominant tumours tend to be less aggressive and are often diagnosed at Stage I. Tumours occurring in the context of WT1/CTNNB1 mutations are typically stromal predominant.
Unfavourable Histology (UH) / Anaplasia: Present in approximately 5-7% of Wilms tumours. Defined by the presence of enlarged hyperchromatic, pleomorphic nuclei and multipolar polyploid mitotic figures. Anaplasia may be focal or diffuse; diffuse anaplasia (present in more than one area of the tumour or at extrarenal sites) is the single most important adverse prognostic indicator and confers resistance to chemotherapy. Found more commonly in older children and in African/Latin-American patients.
Nephrogenic Rests: These are putative precursor lesions - persistent foci of embryonal renal tissue (metanephric blastema) beyond the 36th week of gestation. Present in 25-40% of kidneys resected for Wilms tumour. There are two subtypes:
  • Intralobar nephrogenic rests (ILNRs): Found within the renal lobe, associated with WT1 mutations, DDS, and hemihypertrophy
  • Perilobar nephrogenic rests (PLNRs): Found at the periphery of the lobe, associated with BWS and 11p15 abnormalities
Nephrogenic rests do not themselves have oncologic potential but can undergo differentiation and spontaneously regress. Their documentation in the resected specimen is important because they signal increased risk for contralateral kidney tumour development. - Robbins & Kumar Basic Pathology; Sabiston Textbook of Surgery
Clear Cell Sarcoma and Rhabdoid Tumour are classified as unfavourable histological subtypes but are considered distinct entities from Wilms tumour (see below).

Clinical Features

The typical presentation is that of an otherwise healthy child with an asymptomatic abdominal mass - often discovered incidentally by a parent while bathing or dressing the child. The mass is firm, smooth, non-tender, and does not cross the midline (in contrast to neuroblastoma which characteristically crosses the midline). It may extend across the midline and into the pelvis in large tumours.
Additional presenting features include:
  • Haematuria (microscopic in 25%, gross haematuria less common - may follow minor trauma)
  • Hypertension in 25% of patients (due to disturbances in the renin-angiotensin axis)
  • Vague abdominal discomfort or pain
  • Fever
  • Weight loss
  • Obstipation or intestinal obstruction from pressure
  • Varicocele, hepatomegaly (from hepatic vein obstruction), ascites (less than 10%)
  • Occasionally a varicocele from left renal vein involvement
Lung metastases are present in 8% at diagnosis. The tumour can extend into the renal vein and IVC (in approximately 6% of cases, often clinically silent). - Schwartz's Principles of Surgery; Sabiston Textbook of Surgery

Investigations

Imaging:
  • Ultrasound (US): First-line investigation. Evaluates the renal mass, identifies intrarenal versus extrarenal origin, and assesses renal vein or IVC extension (including tumour thrombus). Doppler US of the IVC is mandatory.
  • CT scan (abdomen and chest): Characterises the mass, identifies regional adenopathy, contralateral kidney involvement, liver metastases, and detects pulmonary metastases. CT helps distinguish intrarenal from extrarenal tumours and may identify nephrogenic rests.
  • MRI: Valuable for assessing IVC extension and for cases where CT is equivocal. Provides superior soft-tissue contrast.
  • Chest X-ray / Chest CT: To evaluate for pulmonary metastases.
Laboratory:
  • Full blood count, renal function, urinalysis (haematuria)
  • Liver function tests
  • Serum alpha-fetoprotein (to help distinguish from hepatoblastoma)
  • Urinary catecholamines (to exclude neuroblastoma)

Staging (NWTSG System)

The National Wilms Tumor Study Group (NWTSG) staging is applied after primary surgical resection:
StageDefinition
ITumour limited to the kidney, completely excised without rupture or biopsy; renal capsule intact
IITumour extends through the renal capsule but completely removed; no microscopic involvement of margins; vessels outside kidney contain tumour; or pre-operative biopsy was performed
IIIResidual non-haematogenous tumour confined to abdomen (positive lymph nodes, peritoneal implants, tumour spill, positive surgical margin, tumour thrombus in IVC)
IVHaematogenous metastases (lungs, liver, bone, brain) or lymph node metastases beyond the abdomino-pelvic region
VBilateral renal involvement at diagnosis
Source: Sabiston Textbook of Surgery, Table 117.3
The SIOP (International Society of Paediatric Oncology) system, used in Europe, differs crucially: it applies staging only after preoperative (neoadjuvant) chemotherapy and is therefore a post-chemotherapy pathological staging system. SIOP advocates pre-operative chemotherapy to reduce tumour bulk and risk of intra-operative spillage before surgical resection.

Treatment

The management of Wilms tumour is highly successful and is guided by stage and histology.

Surgical Treatment

Radical nephrectomy via a transperitoneal approach is the cornerstone of treatment in the NWTSG approach (surgery first). Key surgical principles:
  • En bloc resection with tumour-free margins is mandatory; contamination of the operative field "upstages" the patient requiring additional radiation and chemotherapy
  • Gentle tumour handling throughout the procedure - intraoperative spillage occurs in ~9.7% of cases and increases risk of local abdominal relapse
  • Lymph node sampling of hilar, para-aortic, and paracaval nodes is essential for accurate staging; formal retroperitoneal lymph node dissection is not required
  • Adrenal gland can be spared if not in proximity to the tumour
  • Exploration of the contralateral kidney is no longer routinely mandated if pre-operative CT/MRI shows a normal contralateral kidney
  • Renal vein and IVC are palpated pre-ligation to exclude intravascular tumour extension; vascular extension into the IVC constitutes Stage III disease
Nephron-sparing surgery (partial nephrectomy) is reserved for:
  • Children with a solitary kidney
  • Bilateral Wilms tumour (Stage V)
  • Tumour involving only one pole, no collecting system or vascular involvement, clear margins, with appreciable remaining renal function
In bilateral disease (Stage V), pre-operative chemotherapy is given to shrink tumours and allow more complete resection. Preoperative chemotherapy is supported by both NWTSG and SIOP for bilateral involvement and for IVC involvement extending above the hepatic veins.
Laparoscopic/robotic nephrectomy has been reported, usually in conjunction with pre-operative chemotherapy after tumour reduction.

Chemotherapy

The standard NWTSG chemotherapy backbone consists of vincristine and dactinomycin (actinomycin D), with the addition of doxorubicin and/or radiation therapy based on stage and histological risk:
StageHistologyRegimen
Stage IFavourable histology (FH) or focal anaplasiaSurgery + Vincristine/Actinomycin D × 18 wk, no XRT
Stage IIFHSurgery + Vincristine/Actinomycin D × 18 wk, no XRT
Stage IIIFHSurgery + Vincristine/Actinomycin D/Doxorubicin + XRT
Stage IVFHSurgery + Vincristine/Actinomycin D/Doxorubicin + XRT
All stagesDiffuse anaplasia/UHIntensified regimen + XRT
Cyclophosphamide, etoposide, carboplatin, and ifosfamide are used for high-risk and relapsed disease.

Radiation Therapy

Indicated for:
  • Stage III or IV disease with favourable histology
  • Stages II-IV with focal anaplasia
  • Clear cell sarcoma (all stages)
  • Rhabdoid tumour of the kidney (all stages)
  • Whole lung irradiation for pulmonary metastases
Source: Smith and Tanagho's General Urology, 19th Edition

Prognosis and Survival

The treatment of Wilms tumour has been one of paediatric oncology's greatest success stories:
  • Stage I or II favourable histology: ~95% 5-year survival
  • Stage II unfavourable histology (Stage I): ~95% survival
  • Stage II-III unfavourable histology: 70% and 56% 4-year survival respectively
  • Stage IV unfavourable histology: ~17% 4-year survival
  • Overall survival: >90% (including metastatic disease)
The presence of diffuse anaplasia is the single most important adverse prognostic indicator. Combined loss of heterozygosity (LOH) at 1p and 16q also marks higher risk and is used for risk stratification. Positive lymph nodes, residual disease, and tumour spillage further influence outcomes.

2. CLEAR CELL SARCOMA OF THE KIDNEY (CCSK)

Clear cell sarcoma of the kidney accounts for approximately 1.6% of all paediatric renal cancers. It is not a Wilms tumour variant but a distinct entity classified as unfavourable histology. Typically presents in children younger than age 4 years.
Key features:
  • Characteristic bone metastases (the so-called "bone-metastasising renal tumour of childhood")
  • Also metastasises to brain, soft tissue, and liver
  • Histologically: pale cells with optically clear cytoplasm arranged in cords or nests, with an arborising vascular stroma
  • Associated with alterations in the BCOR gene and YWHAE-NUTM2B/E fusion
  • Treatment: radical nephrectomy + intensive chemotherapy (vincristine, doxorubicin, cyclophosphamide, etoposide) + radiation therapy at all stages
  • Prognosis has improved significantly with addition of doxorubicin; 5-year survival is approximately 70-80% with current regimens
  • Campbell Walsh Wein Urology; Mulholland and Greenfield's Surgery

3. RHABDOID TUMOUR OF THE KIDNEY (RTK)

Rhabdoid tumour of the kidney is the most aggressive paediatric renal tumour. It accounts for approximately 1% of paediatric renal cancers.
Key features:
  • Occurs almost exclusively in infants and very young children (median age 11-18 months); most present before age 2 years
  • Presentation often after metastatic disease is established; fever and haematuria are common
  • Characterised by loss-of-function mutations of SMARCB1 (INI1/hSNF5) on chromosome 22q11.2, a tumour suppressor gene encoding a subunit of the SWI/SNF chromatin remodelling complex
  • SMARCB1 germline mutations are associated with familial predisposition and increased risk for CNS atypical teratoid/rhabdoid tumours (AT/RT)
  • Histology: Large cells with eccentric vesicular nuclei, prominent nucleoli, and eosinophilic cytoplasmic inclusions (rhabdoid cells) that contain whorled intermediate filaments; actually lack skeletal muscle differentiation despite the name
  • Disseminates early to lungs, brain, lymph nodes, and liver
  • Treatment: radical nephrectomy + intensive multiagent chemotherapy + radiation; prognosis remains very poor despite aggressive treatment (5-year survival <30%)
  • All stages receive radiation therapy - Smith and Tanagho's General Urology

4. CONGENITAL MESOBLASTIC NEPHROMA (CMN)

Congenital mesoblastic nephroma is the most common renal neoplasm in the first 3 months of life, accounting for 3-10% of all paediatric renal tumours. It was originally classified as a benign tumour but cellular variants can behave aggressively.
Key features:
  • Typically presents as a neonatal abdominal mass, often detected prenatally on ultrasound
  • Solid, homogeneous mass with a relatively hypo-echoic vascular periphery on US; heterogeneity suggests cystic change or necrosis
  • US is usually sufficient for diagnosis; CT may be used for characterisation
  • Neither US nor CT reliably distinguishes CMN from Wilms tumour; CMN shows uptake of 99mTc-DMSA
  • CMN does not invade the vascular pedicle and does not usually metastasise
  • Two subtypes:
    • Classic type: Bundles of spindle cells resembling fibromatosis; low mitotic activity; excellent prognosis
    • Cellular type: Higher cellularity with increased mitotic activity; analogous to infantile fibrosarcoma; harbours the ETV6-NTRK3 fusion gene (same as infantile fibrosarcoma); more prone to local recurrence
  • Treatment: complete surgical excision (nephrectomy) is curative in the vast majority
  • Local recurrence may result from incomplete removal or capsular penetration
  • Complete excision carries an excellent prognosis; adjuvant chemotherapy may be required for cellular type with incomplete resection
  • Grainger & Allison's Diagnostic Radiology

5. MULTILOCULAR CYSTIC NEPHROMA

An uncommon cystic renal mass derived from metanephric blastema. Has a bimodal age distribution - predominantly boys under 4 years of age and women in the 5th-6th decade of life.
Key features:
  • Presents with an abdominal mass
  • Ultrasound shows a multilocular cystic renal mass with multiple cysts and hyperechoic septations
  • Well-defined margins or capsule, multicystic architecture, and enhancing septae on cross-sectional imaging
  • May herniate into the collecting system
  • Imaging cannot reliably distinguish the spectrum from completely benign (multilocular renal cyst) to malignant (multilocular cystic Wilms tumour)
  • Typically non-functioning on isotope imaging
  • Treatment: Nephrectomy (or partial nephrectomy) is curative and recommended because of malignant potential
  • Grainger & Allison's Diagnostic Radiology

6. BILATERAL WILMS TUMOUR (STAGE V)

Bilateral Wilms tumour occurs in approximately 5-13% of cases at diagnosis. It is associated with younger age at presentation and a higher frequency of nephrogenic rests.
Management principles:
  • Biopsy confirmation at diagnosis is not necessary per NWTSG guidelines
  • Pre-operative (neoadjuvant) chemotherapy with vincristine and actinomycin D ± doxorubicin is standard to reduce tumour burden
  • Subsequent bilateral nephron-sparing surgery with the goal of maximal renal preservation
  • Partial nephrectomy can be performed if tumour involves only one pole, there is no collecting system or vascular involvement, clear margins exist, and the involved kidney retains appreciable function
  • Post-operative chemotherapy and radiation as per stage and histology
  • Dialysis or renal transplantation may ultimately be required in some patients

7. DIFFERENTIAL DIAGNOSIS OF A PAEDIATRIC RENAL MASS

FeatureWilms TumourNeuroblastomaMesoblastic NephromaCCSKRhabdoid Tumour
Age2-5 years<2 yearsNeonates<4 years<2 years
OriginRenalAdrenal/paraspinalRenalRenalRenal
Midline crossingRarelyCommonNoNoNo
IVC invasion~6%RareNoRareRare
CalcificationUncommonCommon (shell-like)RareRareRare
Urinary catecholaminesNormalElevatedNormalNormalNormal
MetastasesLung, LNBone, bone marrow, liverRareBone (characteristic)Brain, lung
Prognosis>90% (FH)VariableExcellent70-80%<30%

8. SCREENING IN HIGH-RISK CHILDREN

Children with predisposing syndromes (BWS, WAGR, hemihypertrophy, DDS, WT1 mutations) should undergo regular abdominal ultrasound screening every 3-4 months until age 7-8 years, though the frequency and benefit of surveillance is debated. Despite 3-monthly surveillance, large interval tumours may still occur. The goal is to detect tumours at an earlier, lower stage to improve outcomes.

Summary

Wilms tumour (nephroblastoma) is the dominant paediatric renal tumour, representing one of the great treatment successes in oncology with overall survival exceeding 90%. Key points for clinical practice:
  • A smooth flank mass in a child aged 1-5 years is a Wilms tumour until proven otherwise
  • Assess IVC extension with Doppler ultrasound before surgery
  • Accurate pathological staging and lymph node sampling are essential for therapy planning
  • Triphasic histology and absence of anaplasia confer favourable prognosis
  • Diffuse anaplasia, with its TP53 association, is the single most important adverse prognostic factor
  • Associated syndromic features (aniridia, hemihypertrophy, genitourinary anomalies) should trigger genetic counselling and contralateral kidney surveillance
  • Clear cell sarcoma, rhabdoid tumour, and diffuse anaplastic Wilms tumour require intensified, radiation-inclusive regimens
  • Congenital mesoblastic nephroma presenting in the neonate is managed by complete nephrectomy alone with excellent results
Sources: Campbell Walsh Wein Urology (3-Volume Set) | Robbins & Kumar Basic Pathology | Sabiston Textbook of Surgery | Schwartz's Principles of Surgery, 11th Edition | Grainger & Allison's Diagnostic Radiology | Smith and Tanagho's General Urology, 19th Edition | Bailey and Love's Short Practice of Surgery, 28th Edition | Mulholland and Greenfield's Surgery, 7th Edition

Make pdf

Reading File
Running Command

ls /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"

Running Command

mkdir -p /home/daytona/workspace/paediatric-renal-tumours

Writing File

~/paediatric-renal-tumours/generate_pdf.py

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

OUTPUT = "/home/daytona/workspace/paediatric-renal-tumours/Paediatric_Renal_Tumours.pdf"

# ── Colour palette ──────────────────────────────────────────────────────────
NAVY      = HexColor("#1a3a5c")
TEAL      = HexColor("#2e86ab")
LIGHT_BG  = HexColor("#eaf4fb")
ACCENT    = HexColor("#e8f5e9")
TABLE_HDR = HexColor("#1a3a5c")
TABLE_ALT = HexColor("#f0f7fc")
RED_WARN  = HexColor("#c0392b")
GREY_LINE = HexColor("#bdc3c7")

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    leftMargin=2*cm, rightMargin=2*cm,
    topMargin=2*cm, bottomMargin=2*cm,
    title="Paediatric Renal Tumours",
    author="Orris Medical Assistant",
)

W = A4[0] - 4*cm   # usable width

# ── Styles ───────────────────────────────────────────────────────────────────
base = getSampleStyleSheet()

def style(name, parent="Normal", **kw):
    s = ParagraphStyle(name, parent=base[parent])
    for k, v in kw.items():
        setattr(s, k, v)
    return s

title_style = style("DocTitle", fontSize=24, textColor=white,
                    alignment=TA_CENTER, spaceAfter=4,
                    fontName="Helvetica-Bold", leading=30)
subtitle_style = style("DocSub", fontSize=11, textColor=HexColor("#cce8f4"),
                       alignment=TA_CENTER, spaceAfter=2,
                       fontName="Helvetica")
h1 = style("H1", fontSize=14, textColor=white,
           fontName="Helvetica-Bold", leading=18,
           spaceBefore=14, spaceAfter=6)
h2 = style("H2", fontSize=12, textColor=NAVY,
           fontName="Helvetica-Bold", leading=15,
           spaceBefore=10, spaceAfter=4)
h3 = style("H3", fontSize=10.5, textColor=TEAL,
           fontName="Helvetica-Bold", leading=13,
           spaceBefore=8, spaceAfter=3)
body = style("Body", fontSize=9.5, textColor=black,
             leading=14, alignment=TA_JUSTIFY,
             spaceAfter=5)
bullet = style("Bullet", fontSize=9.5, textColor=black,
               leading=13, leftIndent=14, firstLineIndent=-10,
               spaceAfter=3)
caption = style("Caption", fontSize=8, textColor=HexColor("#555555"),
                alignment=TA_CENTER, spaceAfter=6, fontName="Helvetica-Oblique")
key_box = style("KeyBox", fontSize=9.5, textColor=NAVY,
                leading=14, leftIndent=8, spaceAfter=4,
                fontName="Helvetica-Bold")
source_style = style("Source", fontSize=7.5, textColor=HexColor("#777777"),
                     alignment=TA_CENTER, spaceAfter=2,
                     fontName="Helvetica-Oblique")

# ── Helper: section header band ──────────────────────────────────────────────
def section_header(text):
    tbl = Table([[Paragraph(text, h1)]], colWidths=[W])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), NAVY),
        ("LEFTPADDING",  (0,0), (-1,-1), 8),
        ("RIGHTPADDING", (0,0), (-1,-1), 8),
        ("TOPPADDING",   (0,0), (-1,-1), 6),
        ("BOTTOMPADDING",(0,0), (-1,-1), 6),
        ("ROUNDEDCORNERS", [4]),
    ]))
    return tbl

def sub_header(text):
    return Paragraph(text, h2)

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

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

def bul(text):
    return Paragraph(f"• {text}", bullet)

def sp(h=4):
    return Spacer(1, h)

def hr():
    return HRFlowable(width="100%", thickness=0.5, color=GREY_LINE, spaceAfter=4)

def key_box_row(text):
    tbl = Table([[Paragraph(text, key_box)]], colWidths=[W])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), LIGHT_BG),
        ("LEFTPADDING",  (0,0), (-1,-1), 10),
        ("RIGHTPADDING", (0,0), (-1,-1), 10),
        ("TOPPADDING",   (0,0), (-1,-1), 5),
        ("BOTTOMPADDING",(0,0), (-1,-1), 5),
        ("BOX", (0,0), (-1,-1), 1, TEAL),
    ]))
    return tbl

def gene_table():
    data = [
        ["Gene (Chromosome)", "Frequency", "Somatic / Germline"],
        ["IGF2 (11p15)",  "70%", "Both"],
        ["WTX (Xq11)",   "20%", "Somatic only"],
        ["WT1 (11p13)",  "20%", "Both"],
        ["CTNNB1 (3p21)","15%", "Somatic only"],
        ["TP53 (17p13)", "4% overall; 70% of anaplastic", "Both"],
    ]
    col_w = [W*0.42, W*0.24, W*0.34]
    t = Table(data, colWidths=col_w)
    style_cmds = [
        ("BACKGROUND", (0,0), (-1,0), TABLE_HDR),
        ("TEXTCOLOR",  (0,0), (-1,0), white),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("FONTSIZE",   (0,0), (-1,-1), 9),
        ("ROWBACKGROUNDS", (0,1), (-1,-1), [white, TABLE_ALT]),
        ("GRID",       (0,0), (-1,-1), 0.4, GREY_LINE),
        ("LEFTPADDING",(0,0), (-1,-1), 6),
        ("RIGHTPADDING",(0,0),(-1,-1), 6),
        ("TOPPADDING", (0,0), (-1,-1), 4),
        ("BOTTOMPADDING",(0,0),(-1,-1),4),
        ("VALIGN",     (0,0), (-1,-1), "MIDDLE"),
    ]
    t.setStyle(TableStyle(style_cmds))
    return t

def staging_table():
    data = [
        ["Stage", "Definition"],
        ["I",   "Tumour limited to kidney; completely excised; capsule intact; no rupture"],
        ["II",  "Extends through capsule but completely removed; no residual microscopic disease; pre-op biopsy or vessels outside kidney involved"],
        ["III", "Residual non-haematogenous tumour in abdomen: positive LN, peritoneal implants, spill, positive margin, or IVC thrombus"],
        ["IV",  "Haematogenous metastases (lungs, liver, bone, brain) or lymph nodes beyond abdominopelvic region"],
        ["V",   "Bilateral renal involvement at diagnosis"],
    ]
    col_w = [W*0.10, W*0.90]
    t = Table(data, colWidths=col_w)
    t.setStyle(TableStyle([
        ("BACKGROUND",   (0,0), (-1,0), TABLE_HDR),
        ("TEXTCOLOR",    (0,0), (-1,0), white),
        ("FONTNAME",     (0,0), (-1,0), "Helvetica-Bold"),
        ("FONTNAME",     (0,1), (0,-1), "Helvetica-Bold"),
        ("TEXTCOLOR",    (0,1), (0,-1), NAVY),
        ("FONTSIZE",     (0,0), (-1,-1), 9),
        ("ROWBACKGROUNDS",(0,1),(-1,-1), [white, TABLE_ALT]),
        ("GRID",         (0,0), (-1,-1), 0.4, GREY_LINE),
        ("LEFTPADDING",  (0,0), (-1,-1), 6),
        ("RIGHTPADDING", (0,0), (-1,-1), 6),
        ("TOPPADDING",   (0,0), (-1,-1), 4),
        ("BOTTOMPADDING",(0,0), (-1,-1), 4),
        ("VALIGN",       (0,0), (-1,-1), "TOP"),
    ]))
    return t

def chemo_table():
    data = [
        ["Stage", "Histology", "Regimen"],
        ["I",     "FH / Focal anaplasia", "Surgery + VA × 18 wk; no XRT"],
        ["II",    "FH",                   "Surgery + VA × 18 wk; no XRT"],
        ["III",   "FH",                   "Surgery + VAD + XRT (abdominal)"],
        ["IV",    "FH",                   "Surgery + VAD + XRT + whole-lung XRT if lung mets"],
        ["I–IV",  "Diffuse anaplasia (UH)","Intensified regimen (+ cyclophosphamide/etoposide) + XRT"],
        ["All",   "CCSK",                  "VAD + cyclophosphamide/etoposide + XRT all stages"],
        ["All",   "Rhabdoid tumour",       "Intensive multiagent + XRT all stages"],
    ]
    col_w = [W*0.09, W*0.28, W*0.63]
    t = Table(data, colWidths=col_w)
    t.setStyle(TableStyle([
        ("BACKGROUND",   (0,0), (-1,0), TABLE_HDR),
        ("TEXTCOLOR",    (0,0), (-1,0), white),
        ("FONTNAME",     (0,0), (-1,0), "Helvetica-Bold"),
        ("FONTSIZE",     (0,0), (-1,-1), 8.5),
        ("ROWBACKGROUNDS",(0,1),(-1,-1), [white, TABLE_ALT]),
        ("GRID",         (0,0), (-1,-1), 0.4, GREY_LINE),
        ("LEFTPADDING",  (0,0), (-1,-1), 5),
        ("RIGHTPADDING", (0,0), (-1,-1), 5),
        ("TOPPADDING",   (0,0), (-1,-1), 4),
        ("BOTTOMPADDING",(0,0), (-1,-1), 4),
        ("VALIGN",       (0,0), (-1,-1), "TOP"),
    ]))
    return t

def diff_dx_table():
    hdrs = ["Feature","Wilms Tumour","Neuroblastoma","Mesoblastic Nephroma","CCSK","Rhabdoid Tumour"]
    rows = [
        ["Age",         "2–5 yr",   "<2 yr",        "Neonate",      "<4 yr",    "<2 yr"],
        ["Origin",      "Renal",    "Adrenal/paraspinal","Renal",   "Renal",    "Renal"],
        ["Midline crossing","Rarely","Common","No",             "No",       "No"],
        ["IVC invasion","~6%",      "Rare",         "No",           "Rare",     "Rare"],
        ["Calcification","Uncommon","Common (shell)","Rare",        "Rare",     "Rare"],
        ["Urinary catecholamines","Normal","Elevated","Normal",    "Normal",   "Normal"],
        ["Metastases",  "Lung, LN", "Bone, marrow,liver","Rare",  "Bone (hallmark)","Brain, lung"],
        ["5-yr Survival",">90% (FH)","Variable","Excellent",     "70–80%",   "<30%"],
    ]
    data = [hdrs] + rows
    col_w = [W*0.18, W*0.15, W*0.16, W*0.17, W*0.15, W*0.19]
    t = Table(data, colWidths=col_w)
    t.setStyle(TableStyle([
        ("BACKGROUND",   (0,0), (-1,0), TABLE_HDR),
        ("TEXTCOLOR",    (0,0), (-1,0), white),
        ("FONTNAME",     (0,0), (-1,0), "Helvetica-Bold"),
        ("FONTNAME",     (0,1), (0,-1), "Helvetica-Bold"),
        ("TEXTCOLOR",    (0,1), (0,-1), NAVY),
        ("FONTSIZE",     (0,0), (-1,-1), 8),
        ("ROWBACKGROUNDS",(0,1),(-1,-1), [white, TABLE_ALT]),
        ("GRID",         (0,0), (-1,-1), 0.4, GREY_LINE),
        ("LEFTPADDING",  (0,0), (-1,-1), 4),
        ("RIGHTPADDING", (0,0), (-1,-1), 4),
        ("TOPPADDING",   (0,0), (-1,-1), 3),
        ("BOTTOMPADDING",(0,0), (-1,-1), 3),
        ("VALIGN",       (0,0), (-1,-1), "TOP"),
        ("WORDWRAP",     (0,0), (-1,-1), True),
    ]))
    return t

# ── Cover banner ─────────────────────────────────────────────────────────────
def cover_banner():
    banner_data = [[
        Paragraph("PAEDIATRIC RENAL TUMOURS", title_style),
        Paragraph("A Comprehensive Clinical Review", subtitle_style),
        Paragraph("Orris Medical Library  •  July 2026", subtitle_style),
    ]]
    t = Table(banner_data, colWidths=[W])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,-1), NAVY),
        ("LEFTPADDING",   (0,0), (-1,-1), 20),
        ("RIGHTPADDING",  (0,0), (-1,-1), 20),
        ("TOPPADDING",    (0,0), (-1,-1), 18),
        ("BOTTOMPADDING", (0,0), (-1,-1), 18),
        ("ROUNDEDCORNERS",[6]),
    ]))
    return t

# ═══════════════════════════════════════════════════════════════════════════
# Build story
# ═══════════════════════════════════════════════════════════════════════════
story = []

# Cover
story.append(cover_banner())
story.append(sp(14))

# ── OVERVIEW ─────────────────────────────────────────────────────────────────
story.append(section_header("1. Overview and Classification"))
story.append(sp(6))
story.append(para(
    "Renal tumours account for approximately 6–7% of all childhood cancers. "
    "They range from benign to highly malignant and vary considerably by age of onset, "
    "molecular biology, histology, and prognosis. The major types encountered in children are:"
))
for item in [
    "Wilms Tumour (Nephroblastoma) — most common (>85% of all paediatric renal tumours)",
    "Clear Cell Sarcoma of the Kidney (CCSK) — ~1.6%",
    "Malignant Rhabdoid Tumour of the Kidney (RTK) — ~1%",
    "Congenital Mesoblastic Nephroma (CMN) — most common in neonates",
    "Multilocular Cystic Nephroma",
    "Renal Cell Carcinoma — rare in children",
]:
    story.append(bul(item))
story.append(sp(8))

# ── WILMS TUMOUR ──────────────────────────────────────────────────────────────
story.append(section_header("2. Wilms Tumour (Nephroblastoma)"))
story.append(sp(6))

# 2.1 Epidemiology
story.append(sub_header("2.1  Epidemiology"))
story.append(para(
    "Wilms tumour (WT) is the most common primary malignant renal tumour of childhood and the "
    "second most common solid tumour outside the brain in infants, behind neuroblastoma. "
    "It represents 95% of all kidney cancers in children under 15 years in the United States, "
    "with an average annual age-adjusted incidence of 8 per million (approximately 500 new cases/year in the US). "
    "Over 80% of cases are diagnosed before 5 years of age; median age at diagnosis is 3.5 years "
    "(36 months in boys, 43 months in girls for unilateral tumours; younger for bilateral disease). "
    "Incidence is highest in Black/African populations and lowest in East Asian populations. "
    "The sex ratio is approximately equal, with a slight female predominance. "
    "Only 1–2% of cases are familial."
))
story.append(sp(4))

# 2.2 Genetics
story.append(sub_header("2.2  Genetics and Molecular Biology"))
story.append(para(
    "Most Wilms tumours arise from somatic mutations restricted to tumour tissue; germline mutations "
    "account for a much smaller percentage. The Knudson two-hit model does not fully explain most cases. "
    "Key genetic alterations are shown in the table below:"
))
story.append(sp(4))
story.append(gene_table())
story.append(Paragraph(
    "Source: Campbell Walsh Wein Urology, Table 53.3  •  Robbins & Kumar Basic Pathology",
    source_style
))
story.append(sp(8))

story.append(sub_sub("WT1 Gene (11p13)"))
story.append(para(
    "WT1 is a tumour suppressor critical for normal renal and gonadal development. It was identified "
    "following cytogenetic observations of deletions at 11p13 in WAGR syndrome. WT1 mutations are "
    "often associated with CTNNB1 (beta-catenin) mutations, defining a 'type I' Wilms tumour — "
    "characterised by stromal-predominant histology, intralobar nephrogenic rests, early onset, "
    "and genitourinary anomalies in males."
))

story.append(sub_sub("11p15 / IGF2 Pathway"))
story.append(para(
    "The IGF2 gene at 11p15.5 is normally expressed only from the paternal allele. Loss of imprinting "
    "(re-expression from the maternal allele) leads to overexpression of IGF-2 protein, driving "
    "organomegaly and tumorigenesis. This mechanism underlies Beckwith-Wiedemann syndrome. "
    "Overexpression of IGF2 is the most frequent molecular alteration in Wilms tumours (70%)."
))

story.append(sub_sub("MicroRNA Processing Mutations"))
story.append(para(
    "In 15–20% of sporadic tumours, recurrent mutations affect proteins involved in microRNA processing "
    "(e.g., DROSHA, DGCR8, DICER1). This impairs mesenchymal-to-epithelial transformation during "
    "renal morphogenesis, perpetuating blastemal rests that can evolve into tumours."
))

story.append(sub_sub("TP53 Mutations"))
story.append(para(
    "Found in approximately 70% of anaplastic Wilms tumours. TP53 mutations confer "
    "chemoresistance and are associated with the worst prognosis."
))
story.append(sp(8))

# 2.3 Associated syndromes
story.append(sub_header("2.3  Associated Syndromes and Congenital Anomalies"))
story.append(para(
    "Approximately 10–15% of Wilms tumours occur in the context of a predisposing syndrome. "
    "The three classic high-risk syndromic associations are:"
))
story.append(sp(4))

synd_data = [
    ["Syndrome", "Features", "Gene / Locus", "WT Risk"],
    ["WAGR",    "Wilms tumour, Aniridia, Genital abnormalities, intellectual disability",
     "Deletion 11p13\n(WT1 + PAX6)", "~33%"],
    ["Denys-Drash (DDS)", "Gonadal dysgenesis, early nephropathy, pseudohermaphroditism",
     "Dominant-negative WT1 mutation", "~90%"],
    ["Beckwith-Wiedemann", "Macroglossia, visceromegaly, exomphalos, hemihypertrophy, neonatal hypoglycaemia",
     "11p15.5 (IGF2/H19)", "4–10%"],
]
synd_col_w = [W*0.20, W*0.36, W*0.26, W*0.18]
st = Table(synd_data, colWidths=synd_col_w)
st.setStyle(TableStyle([
    ("BACKGROUND",   (0,0), (-1,0), TABLE_HDR),
    ("TEXTCOLOR",    (0,0), (-1,0), white),
    ("FONTNAME",     (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTNAME",     (0,1), (0,-1), "Helvetica-Bold"),
    ("FONTSIZE",     (0,0), (-1,-1), 9),
    ("ROWBACKGROUNDS",(0,1),(-1,-1), [white, TABLE_ALT]),
    ("GRID",         (0,0), (-1,-1), 0.4, GREY_LINE),
    ("LEFTPADDING",  (0,0), (-1,-1), 6),
    ("RIGHTPADDING", (0,0), (-1,-1), 6),
    ("TOPPADDING",   (0,0), (-1,-1), 4),
    ("BOTTOMPADDING",(0,0), (-1,-1), 4),
    ("VALIGN",       (0,0), (-1,-1), "TOP"),
]))
story.append(st)
story.append(sp(5))
story.append(para(
    "Other associated conditions: hemihypertrophy, Sotos syndrome, Bloom syndrome, Perlman syndrome, "
    "neurofibromatosis, Li-Fraumeni syndrome, cryptorchidism, horseshoe kidney. "
    "Aniridia is present in 1.1% of WT patients. "
    "Around 10% of Wilms tumours are bilateral (Stage V); two-thirds are synchronous, one-third metachronous."
))
story.append(sp(8))

# 2.4 Pathology
story.append(sub_header("2.4  Pathology"))
story.append(sub_sub("Gross Appearance"))
story.append(para(
    "Wilms tumour is typically a large, solitary, well-circumscribed mass. On cut section it is soft, "
    "homogeneous, and tan to grey, with occasional foci of haemorrhage, cystic degeneration, and necrosis. "
    "10% are bilateral or multicentric at the time of diagnosis."
))
story.append(sp(4))

story.append(sub_sub("Microscopy — Triphasic Pattern"))
story.append(para(
    "The histological hallmark is the classic triphasic combination of blastemal, stromal, and epithelial "
    "cell types, reflecting attempts to recapitulate different stages of nephrogenesis:"
))
for b in [
    "<b>Blastemal component:</b> Sheets of densely packed small blue cells with high N:C ratio and few distinctive features.",
    "<b>Epithelial component:</b> Abortive tubules or primitive glomeruli representing early nephron formation.",
    "<b>Stromal component:</b> Fibroblastic or myxoid cells; skeletal muscle differentiation is not uncommon.",
]:
    story.append(bul(b))
story.append(sp(4))

story.append(sub_sub("Histological Classification"))
story.append(para(
    "<b>Favourable Histology (FH):</b> Classic triphasic pattern without anaplasia. Epithelial-predominant "
    "tumours tend to be less aggressive and are often Stage I at diagnosis."
))
story.append(para(
    "<b>Unfavourable Histology / Anaplasia:</b> Present in ~5–7% of WT. Defined by enlarged hyperchromatic "
    "pleomorphic nuclei with multipolar polyploid mitotic figures. <b>Diffuse anaplasia</b> (anaplasia "
    "present in more than one area or at extrarenal sites) is the single most important adverse prognostic "
    "indicator and confers resistance to chemotherapy. It is associated with TP53 mutations, found "
    "disproportionately in older children and in African/Latin-American patients."
))
story.append(sp(4))

story.append(key_box_row(
    "Key Point: Diffuse anaplasia is the single most important adverse prognostic factor in Wilms tumour, "
    "predicting chemoresistance and tumour recurrence."
))
story.append(sp(8))

story.append(sub_sub("Nephrogenic Rests"))
story.append(para(
    "Nephrogenic rests are putative precursor lesions — persistent foci of embryonal renal tissue "
    "(metanephric blastema) beyond the 36th gestational week, present in 25–40% of kidneys resected "
    "for WT. Two subtypes have distinct molecular associations:"
))
for b in [
    "<b>Intralobar nephrogenic rests (ILNRs):</b> Located within the renal lobe; associated with WT1 mutations, DDS, and hemihypertrophy.",
    "<b>Perilobar nephrogenic rests (PLNRs):</b> Located at the periphery of the lobe; associated with BWS and 11p15 (IGF2) abnormalities.",
]:
    story.append(bul(b))
story.append(para(
    "Nephrogenic rests have no direct oncologic potential — they can differentiate and spontaneously "
    "regress. Their documentation signals increased risk for contralateral kidney tumour development."
))
story.append(sp(8))

# 2.5 Clinical Features
story.append(sub_header("2.5  Clinical Features"))
story.append(para(
    "The typical presentation is an otherwise healthy child with an <b>asymptomatic abdominal flank mass</b>, "
    "often discovered incidentally by a parent while bathing or dressing the child. "
    "The mass is firm, smooth, non-tender, and does not usually cross the midline "
    "(distinguishing it from neuroblastoma)."
))
story.append(sp(4))
story.append(para("<b>Additional presenting features:</b>"))
for b in [
    "Haematuria — microscopic in 25%; gross haematuria less common, may follow minor trauma",
    "Hypertension — present in 25% (due to disturbance of the renin-angiotensin axis)",
    "Vague abdominal discomfort or pain",
    "Fever and weight loss",
    "Obstipation or intestinal obstruction from pressure",
    "Varicocele (from left renal vein involvement), hepatomegaly (from hepatic vein obstruction), ascites (<10%)",
    "Congestive heart failure (if large IVC/atrial thrombus)",
    "Lung metastases — present in 8% at diagnosis",
    "IVC tumour thrombus — in ~6% of cases; often clinically silent in >50%",
]:
    story.append(bul(b))
story.append(sp(8))

# 2.6 Investigations
story.append(sub_header("2.6  Investigations"))
story.append(sub_sub("Imaging"))
for b in [
    "<b>Ultrasound (US):</b> First-line investigation. Identifies renal origin, characterises the mass, "
    "and assesses for renal vein/IVC thrombus (Doppler). Mandatory pre-operatively.",
    "<b>CT scan (abdomen + chest):</b> Characterises the mass, detects regional adenopathy, "
    "contralateral kidney involvement, hepatic metastases, and pulmonary metastases (present in 8% at diagnosis). "
    "Claw sign confirms intrarenal origin.",
    "<b>MRI:</b> Valuable for IVC extension assessment and equivocal CT findings.",
    "<b>Chest X-ray:</b> To assess for pulmonary metastases.",
]:
    story.append(bul(b))
story.append(sub_sub("Laboratory"))
for b in [
    "Full blood count, renal and hepatic function, urinalysis (haematuria)",
    "Serum AFP (to exclude hepatoblastoma)",
    "Urinary catecholamines/VMA/HVA (to exclude neuroblastoma)",
    "Coagulation screen (acquired von Willebrand disease associated)",
]:
    story.append(bul(b))
story.append(sp(8))

# 2.7 Staging
story.append(sub_header("2.7  Staging"))
story.append(para(
    "The <b>NWTSG (National Wilms Tumor Study Group)</b> staging is the most widely used in North America "
    "and is applied after primary surgical resection. The SIOP system (used in Europe) is applied "
    "after preoperative chemotherapy and is a post-chemotherapy pathological system. "
    "The key difference: NWTSG = surgery first (to allow true pathological staging); "
    "SIOP = chemotherapy first (to reduce tumour size and spill risk)."
))
story.append(sp(4))
story.append(staging_table())
story.append(Paragraph(
    "Source: Sabiston Textbook of Surgery, Table 117.3  •  Campbell Walsh Wein Urology",
    source_style
))
story.append(sp(8))

# 2.8 Treatment
story.append(sub_header("2.8  Treatment"))
story.append(sub_sub("Surgical Principles"))
story.append(para(
    "Radical transperitoneal nephrectomy is the cornerstone of NWTSG management. "
    "Key intraoperative principles:"
))
for b in [
    "<b>En bloc resection</b> with tumour-free margins is mandatory — contamination/spillage upstages the patient and mandates additional radiation and chemotherapy.",
    "<b>Gentle tumour handling</b> throughout — intraoperative spillage occurs in ~9.7% and significantly increases local abdominal relapse risk.",
    "<b>Lymph node sampling</b> (hilar, para-aortic, paracaval) is essential for accurate staging; formal lymph node dissection is not required.",
    "The adrenal gland can be preserved if not adjacent to the tumour.",
    "Contralateral kidney exploration is no longer mandatory if pre-operative CT/MRI shows a normal contralateral kidney.",
    "Renal vein and IVC must be palpated pre-ligation to exclude intravascular extension.",
    "<b>Nephron-sparing surgery (partial nephrectomy)</b> is reserved for bilateral WT (Stage V) or solitary kidney.",
]:
    story.append(bul(b))
story.append(sp(6))

story.append(sub_sub("Chemotherapy and Radiation"))
story.append(para(
    "The NWTSG standard backbone is <b>vincristine (V) and dactinomycin/actinomycin D (A)</b>, "
    "with the addition of <b>doxorubicin (D)</b> and/or radiotherapy (XRT) based on stage and histology:"
))
story.append(sp(4))
story.append(chemo_table())
story.append(Paragraph(
    "FH = Favourable Histology; VA = Vincristine + Actinomycin D; VAD = VA + Doxorubicin; "
    "CCSK = Clear Cell Sarcoma of Kidney; XRT = radiotherapy  •  Source: Sabiston; Smith & Tanagho",
    source_style
))
story.append(sp(8))

# 2.9 Prognosis
story.append(sub_header("2.9  Prognosis"))
story.append(para(
    "Treatment of Wilms tumour is one of paediatric oncology's greatest success stories, "
    "with overall survival improving from ~30% in the 1950s to over 90% currently."
))
prog_data = [
    ["Stage / Histology", "Approx. 5-year Survival"],
    ["Stage I–II, Favourable Histology",  "~95%"],
    ["Stage III, Favourable Histology",   "~90%"],
    ["Stage IV, Favourable Histology",    "~85%"],
    ["Stage II–III, Diffuse Anaplasia",   "56–70%"],
    ["Stage IV, Diffuse Anaplasia",       "~17%"],
    ["Overall (all stages, FH)",          ">90%"],
]
pt = Table(prog_data, colWidths=[W*0.65, W*0.35])
pt.setStyle(TableStyle([
    ("BACKGROUND",   (0,0), (-1,0), TABLE_HDR),
    ("TEXTCOLOR",    (0,0), (-1,0), white),
    ("FONTNAME",     (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",     (0,0), (-1,-1), 9),
    ("ROWBACKGROUNDS",(0,1),(-1,-1),[white, TABLE_ALT]),
    ("GRID",         (0,0), (-1,-1), 0.4, GREY_LINE),
    ("LEFTPADDING",  (0,0), (-1,-1), 6),
    ("RIGHTPADDING", (0,0), (-1,-1), 6),
    ("TOPPADDING",   (0,0), (-1,-1), 4),
    ("BOTTOMPADDING",(0,0), (-1,-1), 4),
]))
story.append(pt)
story.append(sp(5))
story.append(para(
    "Key adverse prognostic factors: diffuse anaplasia, combined loss of heterozygosity (LOH) at 1p and 16q, "
    "blastemal-predominant histology, positive lymph nodes, tumour spill, residual disease."
))
story.append(sp(12))

# ── OTHER TUMOURS ─────────────────────────────────────────────────────────────
story.append(section_header("3. Clear Cell Sarcoma of the Kidney (CCSK)"))
story.append(sp(6))
story.append(para(
    "CCSK accounts for ~1.6% of paediatric renal cancers. It is NOT a Wilms tumour variant "
    "but a distinct entity classified as unfavourable histology. It was historically called the "
    "'bone-metastasising renal tumour of childhood' due to its characteristic skeletal spread."
))
for b in [
    "<b>Age:</b> Typically under 4 years; peak at 2 years.",
    "<b>Molecular basis:</b> BCOR gene alterations; YWHAE-NUTM2B/E fusion in a subset.",
    "<b>Histology:</b> Pale cells with optically clear cytoplasm in cords or nests separated by an arborising fibrovascular stroma. No blastema or epithelial elements.",
    "<b>Metastases:</b> Characteristic bone metastases; also brain, soft tissue, liver.",
    "<b>Treatment:</b> Radical nephrectomy + VAD + cyclophosphamide/etoposide + radiation therapy at all stages.",
    "<b>Prognosis:</b> ~70–80% 5-year survival with current intensive regimens.",
]:
    story.append(bul(b))
story.append(sp(12))

story.append(section_header("4. Malignant Rhabdoid Tumour of the Kidney (RTK)"))
story.append(sp(6))
story.append(para(
    "RTK is the most aggressive paediatric renal tumour, accounting for ~1% of paediatric renal cancers. "
    "It disseminates early and has the worst prognosis of any paediatric renal tumour."
))
for b in [
    "<b>Age:</b> Almost exclusively infants; median age 11–18 months; most diagnosed before 2 years.",
    "<b>Presentation:</b> Often presents with metastatic disease; fever and haematuria are common.",
    "<b>Molecular basis:</b> Loss-of-function mutations of <b>SMARCB1 (INI1/hSNF5)</b> at chromosome 22q11.2, encoding a subunit of the SWI/SNF chromatin remodelling complex. Germline SMARCB1 mutations → familial predisposition and increased risk for CNS atypical teratoid/rhabdoid tumours (AT/RT).",
    "<b>Histology:</b> Large cells with eccentric vesicular nuclei, prominent eosinophilic nucleoli, and cytoplasmic inclusions containing whorled intermediate filaments (true rhabdoid cells). No actual skeletal muscle differentiation despite the name.",
    "<b>Metastases:</b> Lung, brain, lymph nodes, liver — dissemination is early.",
    "<b>Treatment:</b> Radical nephrectomy + intensive multiagent chemotherapy + radiation therapy at all stages.",
    "<b>Prognosis:</b> <30% 5-year survival despite aggressive treatment.",
]:
    story.append(bul(b))
story.append(sp(12))

story.append(section_header("5. Congenital Mesoblastic Nephroma (CMN)"))
story.append(sp(6))
story.append(para(
    "CMN is the <b>most common renal neoplasm in the first 3 months of life</b>, accounting for "
    "3–10% of all paediatric renal tumours. It was originally considered uniformly benign, "
    "but cellular variants can behave aggressively."
))
for b in [
    "<b>Presentation:</b> Neonatal abdominal mass, often detected prenatally on routine ultrasound.",
    "<b>Imaging:</b> Solid, homogeneous mass with relatively hypo-echoic vascular periphery on US. Neither US nor CT reliably distinguishes CMN from Wilms tumour; CMN shows uptake of 99mTc-DMSA.",
    "<b>CMN does not invade the vascular pedicle and does not usually metastasise.</b>",
    "<b>Classic type:</b> Bundles of spindle cells resembling fibromatosis; low mitotic activity; excellent prognosis with complete excision.",
    "<b>Cellular type:</b> Higher cellularity, increased mitotic activity; harbours the ETV6-NTRK3 fusion gene (identical to infantile fibrosarcoma); more prone to local recurrence.",
    "<b>Treatment:</b> Complete surgical nephrectomy is curative in the vast majority. Adjuvant chemotherapy may be required for cellular type with incomplete resection.",
    "<b>Prognosis:</b> Excellent with complete resection; local recurrence occurs only with incomplete removal or capsular penetration.",
]:
    story.append(bul(b))
story.append(sp(12))

story.append(section_header("6. Multilocular Cystic Nephroma"))
story.append(sp(6))
story.append(para(
    "An uncommon cystic renal mass derived from metanephric blastema with a bimodal age distribution: "
    "predominantly in boys under 4 years, and in women in the 5th–6th decade."
))
for b in [
    "Presents with an abdominal mass.",
    "US shows multilocular cystic renal mass with multiple cysts and hyperechoic septations.",
    "CT/MRI: well-defined margins/capsule, multicystic architecture, enhancing septae; may herniate into the collecting system.",
    "Non-functioning on isotope imaging.",
    "Imaging cannot reliably distinguish the spectrum from benign (multilocular renal cyst) to malignant (multilocular cystic Wilms tumour).",
    "<b>Treatment:</b> Nephrectomy (or partial) is curative and recommended given malignant potential.",
]:
    story.append(bul(b))
story.append(sp(12))

# ── BILATERAL WT ──────────────────────────────────────────────────────────────
story.append(section_header("7. Bilateral Wilms Tumour (Stage V)"))
story.append(sp(6))
story.append(para(
    "Bilateral WT (Stage V) occurs in 5–13% of cases at diagnosis. "
    "It is associated with younger age at presentation, higher frequency of predisposing syndromes, "
    "and a greater prevalence of nephrogenic rests. Management is complex and aims to preserve "
    "maximum functioning renal parenchyma."
))
for b in [
    "Pre-operative (neoadjuvant) chemotherapy with vincristine + actinomycin D ± doxorubicin to reduce tumour burden bilaterally.",
    "Subsequent <b>bilateral nephron-sparing surgery</b> — partial nephrectomy is standard where feasible.",
    "Partial nephrectomy criteria: tumour in one pole only, no collecting system/vascular involvement, clear margins, adequate residual function.",
    "Post-operative chemotherapy and radiation therapy as per final stage and histology.",
    "Biopsy confirmation at diagnosis is not required per NWTSG guidelines.",
    "Dialysis or renal transplantation may ultimately be required in a subset of patients.",
]:
    story.append(bul(b))
story.append(sp(12))

# ── DIFFERENTIAL DIAGNOSIS ───────────────────────────────────────────────────
story.append(section_header("8. Differential Diagnosis of a Paediatric Renal Mass"))
story.append(sp(6))
story.append(diff_dx_table())
story.append(Paragraph(
    "CCSK = Clear Cell Sarcoma of Kidney; FH = Favourable Histology; LN = Lymph Nodes  •  Multiple sources",
    source_style
))
story.append(sp(8))
story.append(para(
    "<b>Key distinguishing features:</b> Neuroblastoma commonly crosses the midline, "
    "elevates urinary catecholamines, and has typical calcification. "
    "Mesoblastic nephroma presents exclusively in neonates and has no IVC invasion. "
    "CCSK uniquely metastasises to bone. Rhabdoid tumour presents in infants with early "
    "metastatic disease and the worst prognosis."
))
story.append(sp(12))

# ── SCREENING ─────────────────────────────────────────────────────────────────
story.append(section_header("9. Screening in High-Risk Children"))
story.append(sp(6))
story.append(para(
    "Children with predisposing conditions (BWS, WAGR, DDS, hemihypertrophy, WT1 mutations, "
    "sporadic aniridia) should undergo surveillance abdominal ultrasound. Current recommendations "
    "suggest screening every 3–4 months until age 7–8 years. However, the benefit is debated — "
    "despite regular 3-monthly surveillance, large interval tumours can still develop. "
    "The primary goal is detection at an earlier stage to improve outcomes. "
    "Surveillance should be accompanied by genetic counselling."
))
story.append(sp(12))

# ── SUMMARY ────────────────────────────────────────────────────────────────────
story.append(section_header("10. Clinical Summary and Key Points"))
story.append(sp(6))
story.append(key_box_row(
    "A smooth, firm, non-tender flank mass in a child aged 1–5 years is a Wilms tumour "
    "until proven otherwise."
))
story.append(sp(5))
for b in [
    "Wilms tumour is the dominant paediatric renal tumour — >90% overall survival makes it one of oncology's greatest treatment successes.",
    "Assess IVC extension with Doppler ultrasound before every operation.",
    "Accurate pathological staging with mandatory lymph node sampling is essential — it determines chemotherapy regimen and need for radiotherapy.",
    "Triphasic histology without anaplasia = favourable histology = excellent prognosis.",
    "Diffuse anaplasia (TP53-associated) = the single most important adverse prognostic factor.",
    "WAGR, Denys-Drash, and Beckwith-Wiedemann syndromes require active genetic counselling and contralateral kidney surveillance.",
    "NWTSG = surgery first strategy; SIOP = pre-operative chemotherapy strategy — both are evidence-based.",
    "Clear cell sarcoma requires radiation at all stages; rhabdoid tumour requires intensive multiagent chemotherapy + XRT at all stages.",
    "Congenital mesoblastic nephroma in the neonate: complete excision alone is curative in most cases.",
    "Bilateral WT (Stage V): neoadjuvant chemotherapy + nephron-sparing bilateral surgery to preserve renal function.",
]:
    story.append(bul(b))

story.append(sp(14))
story.append(hr())
story.append(Paragraph(
    "Sources: Campbell Walsh Wein Urology (3-Volume Set)  •  Robbins & Kumar Basic Pathology  •  "
    "Sabiston Textbook of Surgery  •  Schwartz's Principles of Surgery, 11th Ed  •  "
    "Grainger & Allison's Diagnostic Radiology  •  Smith and Tanagho's General Urology, 19th Ed  •  "
    "Bailey and Love's Short Practice of Surgery, 28th Ed  •  Mulholland and Greenfield's Surgery, 7th Ed",
    source_style
))

# ── Build ────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
Running Command

cd /home/daytona/workspace/paediatric-renal-tumours && python generate_pdf.py 2>…

Running Command

ls -lh /home/daytona/workspace/paediatric-renal-tumours/Paediatric_Renal_Tumours…

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

Paediatric Renal Tumours

PDF Document · PDF

What's included in the PDF (10 sections, A4, professionally formatted):
  1. Overview and Classification
  2. Wilms Tumour - full coverage: epidemiology, genetics (gene table), associated syndromes (table), pathology (triphasic morphology, anaplasia, nephrogenic rests), clinical features, investigations, NWTSG staging table, surgical principles, chemotherapy/radiation table, prognosis table
  3. Clear Cell Sarcoma of the Kidney
  4. Malignant Rhabdoid Tumour of the Kidney
  5. Congenital Mesoblastic Nephroma
  6. Multilocular Cystic Nephroma
  7. Bilateral Wilms Tumour (Stage V)
  8. Differential Diagnosis comparison table (all 5 tumour types side by side)
  9. Screening in High-Risk Children
  10. Clinical Summary and Key Points
Sources cited: Campbell Walsh Wein Urology, Robbins & Kumar Basic Pathology, Sabiston, Schwartz's, Grainger & Allison's Radiology, Smith & Tanagho, Bailey & Love, Mulholland & Greenfield.
This is a shared conversation. Sign in to Orris to start your own chat.