Urogenital homeopathic medicine pdf
homeopathic materia medica urogenital remedies PDF free download
Disclaimer: Homeopathy is not supported by the same evidence base as conventional medicine. The information below is drawn from classical homeopathic materia medica texts (Boericke, Kent, Clarke) for reference purposes only. Always consult a qualified healthcare provider for urogenital complaints.
| Remedy | Key Indications |
|---|---|
| Cantharis | Intense burning before, during, after urination; constant urge; scanty urine drop by drop |
| Apis mellifica | Burning, stinging pain; scanty urine; oedema; suppressed urination |
| Staphysagria | "Honeymoon cystitis" (after intercourse or catheterization); urge with only drops passed |
| Berberis vulgaris | Radiating pains from kidney to bladder; urinary tract infections with back/flank pain |
| Sarsaparilla | Severe pain at end of urination; gravel/stones; urine dribbles when sitting |
| Equisetum | Full feeling in bladder; dull pain; frequent urge; no clear cause |
| Remedy | Key Indications |
|---|---|
| Berberis vulgaris | Sharp stitching pains radiating down ureter; gravel in urine |
| Lycopodium | Right-sided stones; red sandy sediment; bloating; 4-8 PM aggravation |
| Ocimum canum | Right kidney stone; violent pain; vomiting; brick-dust sediment |
| Pareira brava | Severe straining to urinate; pain radiating to thighs; calculi |
| Remedy | Key Indications |
|---|---|
| Sabal serrulata | BPH; difficulty urinating; cold, numbed genitals; loss of libido |
| Conium maculatum | Urinary dribbling in elderly; interrupted stream; prostatic enlargement |
| Chimaphila umbellata | Can only urinate leaning forward; prostatic hypertrophy with straining |
| Thuja occidentalis | Urge with inability; stream splits or sprays; genital warts |
| Remedy | Key Indications |
|---|---|
| Sepia | Prolapse; dragging sensation; leucorrhoea (yellow/greenish); irritability; indifference |
| Kreosotum | Offensive, corrosive leucorrhoea; burning itching; carcinous tendency |
| Pulsatilla | Bland, changeable discharge; urinary incontinence on coughing/sneezing |
| Calcarea carbonica | Profuse, milky discharge; menses too early/heavy; chilly constitution |
| Belladonna | Acute vaginitis; hot, dry, red, throbbing; sudden onset |
| Remedy | Key Indications |
|---|---|
| Medorrhinum (nosode) | Chronic gonorrhoeal history; chronic urethritis; intense urging |
| Mercurius solubilis | Urethral discharge; burning worse at night; sweating; metallic taste |
| Nitric acid | Splinter-like pain; urethral ulcers; offensive urine smelling like horse urine |
| Thuja | Condylomata; warts on genitals; gonorrhoeal history |
| Remedy | Key Indications |
|---|---|
| Arnica montana | After catheterization, prostatectomy, calculi passage, blunt trauma |
| Staphysagria | After gynecological procedures; post-catheter urethral irritation |
| Hamamelis | Urinary bleeding after trauma; increased desire to urinate |
Generate a reference PDF quick-start guide for homeopathic urogenital remedies
mkdir -p /tmp/workspace/homeopathy-urogenital && ls /tmp/workspace/
~/homeopathy-urogenital/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import mm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, PageBreak, KeepTogether
)
from reportlab.platypus.flowables import HRFlowable
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
import os
OUTPUT = "/tmp/workspace/homeopathy-urogenital/Homeopathic_Urogenital_Remedies_QuickStart.pdf"
# ── Colour palette ──────────────────────────────────────────────
TEAL = colors.HexColor("#1A7A8A")
TEAL_LIGHT = colors.HexColor("#D6EFF2")
TEAL_DARK = colors.HexColor("#0D4F59")
GOLD = colors.HexColor("#C8962B")
GREY_LIGHT = colors.HexColor("#F5F5F5")
GREY_MED = colors.HexColor("#E0E0E0")
TEXT_DARK = colors.HexColor("#1C1C1C")
WHITE = colors.white
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=18*mm, rightMargin=18*mm,
topMargin=20*mm, bottomMargin=20*mm,
title="Homeopathic Urogenital Remedies – Quick-Start Guide",
author="Reference Guide",
subject="Homeopathy Materia Medica – Urogenital System"
)
W, H = A4
CONTENT_W = W - 36*mm
styles = getSampleStyleSheet()
# ── Custom paragraph styles ──────────────────────────────────────
def S(name, **kw):
base = kw.pop("parent", "Normal")
s = ParagraphStyle(name, parent=styles[base], **kw)
return s
sTitle = S("sTitle", fontSize=26, textColor=WHITE, fontName="Helvetica-Bold",
leading=32, alignment=TA_CENTER)
sSubtitle = S("sSubtitle", fontSize=13, textColor=TEAL_LIGHT, fontName="Helvetica",
leading=18, alignment=TA_CENTER)
sDisclaimer = S("sDisclaimer", fontSize=7.5, textColor=colors.HexColor("#AAAAAA"),
fontName="Helvetica-Oblique", leading=10, alignment=TA_CENTER)
sSectionHead = S("sSectionHead", fontSize=13, textColor=WHITE,
fontName="Helvetica-Bold", leading=17, alignment=TA_LEFT,
leftIndent=4)
sSubHead = S("sSubHead", fontSize=10.5, textColor=TEAL_DARK,
fontName="Helvetica-Bold", leading=14)
sBody = S("sBody", fontSize=9, textColor=TEXT_DARK, fontName="Helvetica",
leading=13, alignment=TA_JUSTIFY)
sBodyBold = S("sBodyBold", fontSize=9, textColor=TEXT_DARK,
fontName="Helvetica-Bold", leading=13)
sNote = S("sNote", fontSize=8, textColor=colors.HexColor("#555555"),
fontName="Helvetica-Oblique", leading=11)
sFooter = S("sFooter", fontSize=7.5, textColor=colors.HexColor("#888888"),
fontName="Helvetica", leading=10, alignment=TA_CENTER)
sTableHead = S("sTableHead", fontSize=8.5, textColor=WHITE,
fontName="Helvetica-Bold", leading=11, alignment=TA_CENTER)
sTableCell = S("sTableCell", fontSize=8, textColor=TEXT_DARK,
fontName="Helvetica", leading=11)
sTableCellBold = S("sTableCellBold", fontSize=8, textColor=TEAL_DARK,
fontName="Helvetica-Bold", leading=11)
sTableCellItalic = S("sTableCellItalic", fontSize=8, textColor=TEXT_DARK,
fontName="Helvetica-Oblique", leading=11)
# ── Helper builders ──────────────────────────────────────────────
def section_header(title, icon=""):
label = f"{icon} {title}" if icon else title
tbl = Table([[Paragraph(label, sSectionHead)]], colWidths=[CONTENT_W])
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), TEAL),
("TOPPADDING", (0,0), (-1,-1), 6),
("BOTTOMPADDING",(0,0),(-1,-1), 6),
("LEFTPADDING", (0,0), (-1,-1), 8),
("ROUNDEDCORNERS", [4, 4, 4, 4]),
]))
return tbl
def remedy_table(headers, rows, col_widths):
head_row = [Paragraph(h, sTableHead) for h in headers]
data = [head_row]
for i, row in enumerate(rows):
cells = []
for j, cell in enumerate(row):
if j == 0:
cells.append(Paragraph(cell, sTableCellBold))
elif j == 1:
cells.append(Paragraph(cell, sTableCellItalic))
else:
cells.append(Paragraph(cell, sTableCell))
data.append(cells)
tbl = Table(data, colWidths=col_widths, repeatRows=1)
style = [
# Header
("BACKGROUND", (0,0), (-1,0), TEAL_DARK),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("TOPPADDING", (0,0), (-1,0), 5),
("BOTTOMPADDING", (0,0), (-1,0), 5),
# Body rows
("TOPPADDING", (0,1), (-1,-1), 4),
("BOTTOMPADDING", (0,1), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("RIGHTPADDING", (0,0), (-1,-1), 5),
("VALIGN", (0,0), (-1,-1), "TOP"),
("GRID", (0,0), (-1,-1), 0.4, GREY_MED),
("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, GREY_LIGHT]),
]
tbl.setStyle(TableStyle(style))
return tbl
def callout_box(text, bg=TEAL_LIGHT, border=TEAL):
tbl = Table([[Paragraph(text, sNote)]], colWidths=[CONTENT_W])
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg),
("LEFTPADDING", (0,0), (-1,-1), 10),
("RIGHTPADDING", (0,0), (-1,-1), 10),
("TOPPADDING", (0,0), (-1,-1), 7),
("BOTTOMPADDING", (0,0), (-1,-1), 7),
("BOX", (0,0), (-1,-1), 1.5, border),
]))
return tbl
def sp(h=4): return Spacer(1, h*mm)
# ════════════════════════════════════════════════════════════════
# CONTENT
# ════════════════════════════════════════════════════════════════
story = []
# ── COVER BLOCK ─────────────────────────────────────────────────
cover = Table(
[[Paragraph("Homeopathic Urogenital Remedies", sTitle)],
[Paragraph("Quick-Start Reference Guide", sSubtitle)],
[Spacer(1, 4*mm)],
[Paragraph("Based on Classical Materia Medica: Boericke · Kent · Clarke", sDisclaimer)],
],
colWidths=[CONTENT_W]
)
cover.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), TEAL_DARK),
("TOPPADDING", (0,0), (-1,-1), 14),
("BOTTOMPADDING", (0,0), (-1,-1), 8),
("LEFTPADDING", (0,0), (-1,-1), 12),
("RIGHTPADDING", (0,0), (-1,-1), 12),
("ROUNDEDCORNERS",[6,6,6,6]),
]))
story.append(cover)
story.append(sp(5))
# Disclaimer box
story.append(callout_box(
"<b>Important Disclaimer:</b> This guide is compiled from classical homeopathic materia medica "
"for reference purposes only. Homeopathy is not a substitute for evidence-based medical care. "
"All urogenital symptoms — including urinary infections, haematuria, pelvic pain, or sexual-health "
"concerns — should be assessed by a qualified healthcare professional before any treatment is begun.",
bg=colors.HexColor("#FFF8E1"), border=GOLD
))
story.append(sp(5))
# ── HOW TO USE ──────────────────────────────────────────────────
story.append(section_header("How to Use This Guide"))
story.append(sp(2))
how_to = [
["Step", "Action"],
["1", "Identify the patient's PRIMARY urogenital complaint from the section tabs below."],
["2", "Match the symptom picture to the remedy's key indications column."],
["3", "Check modalities (what makes it better/worse) and constitutional fit."],
["4", "Select the remedy whose total picture most closely matches (the similimum)."],
["5", "Typical starting potency: 30C for acute; 200C for subacute/constitutional."],
["6", "Reassess after 3 doses. If no change in 24 h (acute) or 2 weeks (chronic), reconsider."],
]
ht = Table(how_to, colWidths=[14*mm, CONTENT_W - 14*mm])
ht.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), TEAL),
("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, GREY_LIGHT]),
("GRID", (0,0), (-1,-1), 0.4, GREY_MED),
("VALIGN", (0,0), (-1,-1), "TOP"),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
]))
story.append(ht)
story.append(sp(6))
# ════════════════════════════════════════════════════════════════
# SECTION 1 – URINARY TRACT / CYSTITIS
# ════════════════════════════════════════════════════════════════
story.append(section_header("Section 1 — Urinary Tract & Cystitis"))
story.append(sp(2))
story.append(Paragraph(
"Acute and chronic inflammation of the bladder and urethra. "
"Match burning quality, timing, and associated symptoms carefully.",
sBody))
story.append(sp(3))
cystitis_rows = [
["Cantharis\n(Spanish Fly)", "30C – 200C",
"Intense burning before, during AND after urination. Constant, intolerable urge. "
"Urine passed drop by drop. Cutting pain in urethra. Dark/bloody urine. "
"Worse: cold water, coffee. Better: warmth."],
["Apis mellifica\n(Honey Bee)", "30C",
"Burning, stinging pain. Scanty/suppressed urine. Oedema of genitalia. "
"Last drops burn intensely. Thirstless. Better: cold applications."],
["Staphysagria\n(Stavesacre)", "30C – 200C",
"'Honeymoon cystitis' — after intercourse or catheterisation. Urge with only drops passed. "
"Pressure feeling in bladder even after voiding. Post-gynaecological procedure."],
["Equisetum\n(Scouring Rush)", "30C",
"Dull, full feeling in bladder not relieved by urination. Frequent urge. "
"Pain at close of urination. Enuresis in children."],
["Pulsatilla\n(Wind Flower)", "30C",
"Involuntary urination on coughing, sneezing, walking. Bland, changeable symptoms. "
"Urine expelled in spurts. Worse: lying on back. Better: open air."],
["Berberis vulgaris\n(Barberry)", "30C – Q",
"Radiating, stitching pains from kidneys to bladder/urethra. "
"Mucous sediment. Burning during and after urination. Left-sided predominance."],
]
cw1 = [35*mm, 20*mm, CONTENT_W - 55*mm]
story.append(remedy_table(["Remedy (Potency range)", "Potency", "Key Indications & Modalities"], cystitis_rows, cw1))
story.append(sp(6))
# ════════════════════════════════════════════════════════════════
# SECTION 2 – RENAL CALCULI
# ════════════════════════════════════════════════════════════════
story.append(KeepTogether([
section_header("Section 2 — Renal Calculi (Kidney Stones)"),
sp(2),
Paragraph(
"For acute renal colic, always rule out obstruction and infection clinically. "
"These remedies may ease passage and reduce recurrence.",
sBody),
sp(3),
]))
calculi_rows = [
["Berberis vulgaris", "Q / 30C",
"Sharp, stitching pains radiating down ureter to bladder/thigh. Gravel in urine. "
"Bubbling sensation in kidneys. Left-sided. Worse: motion, jarring."],
["Lycopodium\n(Club Moss)", "30C – 200C",
"Right-sided stones. Red sandy sediment in urine. 4–8 PM aggravation. "
"Bloating, flatulence. Anxious, dictatorial constitution."],
["Ocimum canum\n(Brazilian Basil)", "30C",
"Violent renal colic with intense vomiting. Right kidney. Brick-dust or saffron-coloured sediment. "
"Uric acid tendency. Restless."],
["Pareira brava\n(Virgin Vine)", "Q / 30C",
"Severe straining to urinate — must get on hands and knees. Pain radiates to thighs. "
"Calculi with great difficulty of urination."],
["Sarsaparilla\n(Wild Liquorice)", "30C",
"Severe pain at END of urination. Urine dribbles while sitting — better standing. "
"Gravel/sandy deposit. Wrinkled skin folds."],
]
story.append(remedy_table(["Remedy", "Potency", "Key Indications & Modalities"], calculi_rows, cw1))
story.append(sp(6))
# ════════════════════════════════════════════════════════════════
# SECTION 3 – PROSTATE
# ════════════════════════════════════════════════════════════════
story.append(KeepTogether([
section_header("Section 3 — Prostate Conditions (BPH & Prostatitis)"),
sp(2),
Paragraph(
"Benign prostatic hyperplasia and chronic prostatitis. PSA and imaging should "
"always be obtained before attributing symptoms to BPH alone.",
sBody),
sp(3),
]))
prostate_rows = [
["Sabal serrulata\n(Saw Palmetto)", "Q / 30C",
"Enlarged prostate with difficulty urinating. Dribbling. Cold, numb genitalia. "
"Loss of libido. Irritability. Considered the foremost glandular remedy."],
["Conium maculatum\n(Hemlock)", "30C – 200C",
"Interrupted stream — starts and stops. Straining. Dribbling after urination. "
"Elderly patients. Vertigo. Hardness of prostate. Cancer tendency."],
["Chimaphila umbellata\n(Ground Holly)", "Q / 30C",
"Can only pass urine by straining and leaning far forward. Prostatic hypertrophy "
"with sensation of a ball in the perineum. Scanty, turbid urine."],
["Thuja occidentalis\n(Arbor Vitae)", "30C – 200C",
"Urge with inability to hold; stream splits or forked. Genital warts. "
"Post-gonorrhoeal prostatitis. Oily skin; fixed ideas constitution."],
["Staphysagria", "30C",
"Prostatitis after instrumentation or psychological insult. "
"Burning between micturation. Suppressed emotions/anger."],
]
story.append(remedy_table(["Remedy", "Potency", "Key Indications & Modalities"], prostate_rows, cw1))
story.append(sp(6))
# ════════════════════════════════════════════════════════════════
# SECTION 4 – FEMALE UROGENITAL
# ════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(section_header("Section 4 — Female Urogenital Conditions"))
story.append(sp(2))
story.append(Paragraph(
"Covers leucorrhoea, vaginitis, prolapse, and atrophic/menopausal urogenital changes.",
sBody))
story.append(sp(3))
female_rows = [
["Sepia\n(Cuttlefish ink)", "30C – 200C",
"Prolapse with dragging, bearing-down sensation. Yellowish-green leucorrhoea. "
"Indifference to loved ones. Irritability. Worse: before menses, cold. Better: vigorous exercise."],
["Kreosotum\n(Beechwood kreosote)", "30C",
"Intensely offensive, corrosive, burning leucorrhoea. Itching between labia. "
"Stains yellow-brown. Worse: menses, cold. Carcinous tendency in chronic cases."],
["Calcarea carbonica\n(Calc carb)", "30C – 200C",
"Profuse milky or creamy leucorrhoea. Menses early and heavy. Chilly. Sweaty head. "
"Cravings: eggs, chalk, indigestible things. Fearful, reliable constitution."],
["Belladonna\n(Deadly Nightshade)", "30C",
"Acute vaginitis: hot, dry, red, throbbing. Sudden violent onset. "
"Hot leucorrhoea. Worse: touch, jar, light, noise. Better: warmth."],
["Pulsatilla\n(Wind Flower)", "30C – 200C",
"Bland, creamy, changeable discharge. Urinary stress incontinence. "
"Weepy, yielding constitution. Worse: warmth, evening. Better: cool air, sympathy."],
["Natrum muriaticum\n(Common Salt)", "30C – 200C",
"Dry vagina with painful intercourse (dyspareunia). Clear/white discharge like egg-white. "
"Grief/reserved constitution. Craving salt. Worse: consolation, sun."],
]
story.append(remedy_table(["Remedy", "Potency", "Key Indications & Modalities"], female_rows, cw1))
story.append(sp(6))
# ════════════════════════════════════════════════════════════════
# SECTION 5 – URETHRITIS / STI-RELATED
# ════════════════════════════════════════════════════════════════
story.append(KeepTogether([
section_header("Section 5 — Urethritis & STI-Related Conditions"),
sp(2),
Paragraph(
"Classical homeopathy addresses post-infective/chronic states and miasmatic background. "
"Acute STIs require conventional antibiotic therapy first.",
sBody),
sp(3),
]))
sti_rows = [
["Medorrhinum\n(Gonorrhoeal nosode)", "200C – 1M",
"Chronic sequelae of gonorrhoea. Intense urging. Offensive urine. "
"Warts on genitalia. Wild, intense disposition. Better: damp, seaside. Worse: daylight."],
["Mercurius solubilis\n(Quicksilver)", "30C",
"Urethral discharge; burning worse at night. Profuse sweating. "
"Metallic/offensive taste. Trembling. Sensitive to temperature extremes."],
["Nitric acid\n(Nitric acid)", "30C – 200C",
"Splinter-like pains in urethra/anus. Offensive urine smelling like horse urine. "
"Ulcers with irregular edges on genitalia. Warts that bleed easily."],
["Thuja occidentalis", "30C – 200C",
"Genital warts (condylomata). Post-gonorrhoeal state. Split urinary stream. "
"Oily skin. Fixed ideas. Worse: cold, damp."],
["Cannabis sativa\n(Hemp)", "30C",
"Acute urethritis: burning on urination, especially at start. "
"Urethra feels as if glued together. Gonorrhoeal discharge in early stage."],
]
story.append(remedy_table(["Remedy", "Potency", "Key Indications & Modalities"], sti_rows, cw1))
story.append(sp(6))
# ════════════════════════════════════════════════════════════════
# SECTION 6 – POST-SURGICAL / TRAUMA
# ════════════════════════════════════════════════════════════════
story.append(KeepTogether([
section_header("Section 6 — Post-Surgical & Trauma"),
sp(2),
Paragraph(
"Useful after catheterisation, cystoscopy, TURP, lithotripsy, "
"or passage of calculi.",
sBody),
sp(3),
]))
trauma_rows = [
["Arnica montana\n(Leopard's Bane)", "30C – 200C",
"First remedy after any blunt trauma or surgical procedure. "
"Post-TURP or post-prostatectomy. Bruised, sore feeling. 'Don't touch me' attitude."],
["Staphysagria", "30C – 200C",
"After catheterisation or any instrumentation of urethra/bladder. "
"Post-lithotomy. Burning between micturation. Suppressed anger/humiliation."],
["Hamamelis virginica\n(Witch Hazel)", "Q / 30C",
"Urinary tract bleeding after trauma. Increased desire to urinate. "
"Passive, venous haemorrhage. Bruised, sore pains."],
["Hypericum perforatum\n(St John's Wort)", "30C",
"Nerve injury to genitourinary area; peri-urethral nerve pain after surgery. "
"Shooting, darting pains along nerve paths."],
]
story.append(remedy_table(["Remedy", "Potency", "Key Indications & Modalities"], trauma_rows, cw1))
story.append(sp(6))
# ════════════════════════════════════════════════════════════════
# SECTION 7 – QUICK POTENCY SELECTION GUIDE
# ════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(section_header("Section 7 — Potency Selection & Dosing Reference"))
story.append(sp(3))
potency_data = [
["Potency", "Use Case", "Frequency", "Notes"],
["6C / 12C", "Very acute, sensitive patients, children, elderly",
"Every 1–2 h (acute)\nThrice daily (subacute)", "Gentlest. Suitable for self-care."],
["30C", "Acute and subacute conditions; most common starting point",
"Every 2–4 h (acute)\nTwice daily (subacute)", "Most widely available. Safe first choice."],
["200C", "Stronger acute cases; clear constitutional match",
"Once or twice daily\nSingle dose (constitutional)", "Avoid repeating too frequently."],
["1M", "Deep constitutional / chronic miasmatic cases",
"Single dose; repeat monthly or less", "Use under experienced supervision."],
["Q (LM / Mother Tincture)",
"Herbal-level action (e.g. Sabal serrulata Q, Berberis Q)",
"5–10 drops in water, 2–3× daily", "Good for organ-affinity remedies."],
]
pt = Table(potency_data, colWidths=[22*mm, 55*mm, 48*mm, CONTENT_W - 125*mm])
pt.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), TEAL_DARK),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 8),
("ROWBACKGROUNDS",(0,1),(-1,-1),[WHITE, GREY_LIGHT]),
("GRID", (0,0), (-1,-1), 0.4, GREY_MED),
("VALIGN", (0,0), (-1,-1), "TOP"),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("RIGHTPADDING", (0,0), (-1,-1), 5),
]))
story.append(pt)
story.append(sp(4))
story.append(callout_box(
"<b>General Dosing Rule:</b> Stop the remedy as soon as clear improvement begins — "
"repeating unnecessarily can antidote the effect. Restart only if improvement stalls or symptoms return. "
"Antidotes to avoid during treatment: camphor, strong mint/menthol, coffee, and electric blankets.",
bg=TEAL_LIGHT, border=TEAL
))
story.append(sp(6))
# ════════════════════════════════════════════════════════════════
# SECTION 8 – NOSODES REFERENCE
# ════════════════════════════════════════════════════════════════
story.append(section_header("Section 8 — Nosodes in Urogenital Practice"))
story.append(sp(2))
story.append(Paragraph(
"Nosodes are homeopathic preparations from pathological material. Used primarily "
"for chronic/recurrent conditions with a clear infective history.",
sBody))
story.append(sp(3))
nosode_rows = [
["Medorrhinum", "200C – 1M",
"History of gonorrhoea (patient or family). Chronic urethritis, pelvic inflammatory residue, "
"recurrent warts. Intense, hurried personality. Better: knee-chest position, damp."],
["Syphilinum\n(Lueticum)", "200C – 1M",
"Syphilitic miasm. Destructive ulceration of genitalia. Nocturnal aggravation. "
"Bone pains. Hopeless, despairing constitution."],
["Tuberculinum", "200C – 1M",
"Recurrent urinary infections especially in children with TB history/exposure. "
"Takes cold easily. Desire to travel. Restless."],
["E. coli (Bacillinum Testium)", "30C",
"Recurrent E. coli UTIs. Given as intercurrent remedy between acute episodes "
"to break the pattern of recurrence."],
]
story.append(remedy_table(["Nosode", "Potency", "Indications"], nosode_rows, cw1))
story.append(sp(6))
# ════════════════════════════════════════════════════════════════
# SECTION 9 – REPERTORY CROSS-REFERENCE
# ════════════════════════════════════════════════════════════════
story.append(KeepTogether([
section_header("Section 9 — Repertory Quick Cross-Reference"),
sp(2),
Paragraph(
"Key rubrics from Kent's Repertory (Urinary Organs / Genitalia chapters). "
"Use these to confirm remedy selection.",
sBody),
sp(3),
]))
rubric_rows = [
["Urination, burning, during",
"Cantharis, Cannabis sat., Berberis, Apis, Sarsaparilla"],
["Urination, painful, at close of",
"Sarsaparilla, Equisetum, Berberis, Staphysagria"],
["Urination, dribbling (BPH)",
"Conium, Sabal ser., Chimaphila, Causticum"],
["Urine, sediment, red / brick-dust",
"Lycopodium, Ocimum can., Sarsaparilla"],
["Bladder, urge, constant",
"Cantharis, Equisetum, Merc. sol., Apis"],
["Leucorrhoea, offensive",
"Kreosotum, Sepia, Nitric acid, Psorinum"],
["Leucorrhoea, bland / creamy",
"Pulsatilla, Calcarea carb."],
["Genitalia, warts / condylomata",
"Thuja, Nitric acid, Medorrhinum, Sabina"],
["Colic, renal",
"Berberis, Lycopodium, Ocimum can., Pareira brava"],
["Trauma, after instrumentation",
"Staphysagria, Arnica, Hamamelis"],
]
rt = Table(
[["Rubric (symptom)", "Leading Remedies (bold = first choice)"]] + rubric_rows,
colWidths=[70*mm, CONTENT_W - 70*mm]
)
rt.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), TEAL_DARK),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 8),
("ROWBACKGROUNDS",(0,1),(-1,-1),[WHITE, GREY_LIGHT]),
("GRID", (0,0), (-1,-1), 0.4, GREY_MED),
("VALIGN", (0,0), (-1,-1), "TOP"),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("RIGHTPADDING", (0,0), (-1,-1), 5),
("FONTNAME", (0,1), (0,-1), "Helvetica-Oblique"),
]))
story.append(rt)
story.append(sp(6))
# ════════════════════════════════════════════════════════════════
# REFERENCES & FOOTER
# ════════════════════════════════════════════════════════════════
story.append(HRFlowable(width=CONTENT_W, thickness=1, color=TEAL_LIGHT))
story.append(sp(3))
story.append(Paragraph("<b>Source References</b>", sSubHead))
story.append(sp(1))
refs = [
"Boericke W. New Manual of Homeopathic Materia Medica & Repertory (3rd rev. ed.). B. Jain Publishers, 2007.",
"Kent J.T. Repertory of the Homeopathic Materia Medica (6th ed.). B. Jain Publishers.",
"Clarke J.H. A Dictionary of Practical Materia Medica (3 vols). B. Jain Publishers.",
"RLHH Academic Dept / Rieberer G. Urinary System — Therapeutic Pointers (Unit 41). CIMT / RLHH, 1996–97.",
"Teixeira M.Z. New Homeopathic Medicines: Materia Medica of Modern Drugs, Vol II. BIREME/PAHO, 2021.",
]
for r in refs:
story.append(Paragraph(f"• {r}", sNote))
story.append(sp(0.5))
story.append(sp(4))
story.append(Paragraph(
"This document is for educational reference only. It does not constitute medical advice. "
"Always seek professional diagnosis and treatment for urogenital symptoms.",
sFooter))
# ── BUILD ────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
cd /tmp/workspace/homeopathy-urogenital && python generate_pdf.py
ls -lh /tmp/workspace/homeopathy-urogenital/
Homeopathic Urogenital Remedies QuickStart
PDF Document · PDF
| Section | Content |
|---|---|
| Cover + Disclaimer | Title block with safety disclaimer in a gold callout box |
| How to Use | 6-step prescribing workflow |
| 1. Urinary Tract / Cystitis | 6 remedies: Cantharis, Apis, Staphysagria, Equisetum, Pulsatilla, Berberis |
| 2. Renal Calculi | 5 remedies: Berberis, Lycopodium, Ocimum canum, Pareira brava, Sarsaparilla |
| 3. Prostate (BPH) | 5 remedies: Sabal serrulata, Conium, Chimaphila, Thuja, Staphysagria |
| 4. Female Urogenital | 6 remedies: Sepia, Kreosotum, Calc carb, Belladonna, Pulsatilla, Nat mur |
| 5. Urethritis / STI-related | 5 remedies: Medorrhinum, Mercurius, Nitric acid, Thuja, Cannabis sat |
| 6. Post-Surgical / Trauma | 4 remedies: Arnica, Staphysagria, Hamamelis, Hypericum |
| 7. Potency Selection Guide | 6C through 1M + Q/LM with dosing frequencies |
| 8. Nosodes Reference | Medorrhinum, Syphilinum, Tuberculinum, E. coli nosode |
| 9. Repertory Cross-Reference | 10 key rubrics mapped to leading remedies |
| References | Boericke, Kent, Clarke, RLHH Unit 41, Teixeira |