Transportation g channels common homeopathic medicine
In surgery
Arterial venous lymphatic system disease homeopathic medication
homeopathic medicines arterial venous lymphatic disease surgery treatment
| Medicine | Key Indications |
|---|---|
| Baryta carbonica | Arteriosclerosis in elderly; hardening and thickening of arterial walls |
| Aurum metallicum | Hypertension, aortic diseases, arteriosclerosis with depression |
| Plumbum metallicum | Arteriosclerosis; progressive arterial narrowing; arterial cramps |
| Secale cornutum | Peripheral arterial insufficiency; cold, numb extremities; Raynaud's-like picture; gangrene tendency |
| Arsenicum album | Arterial insufficiency with burning pains, restlessness, gangrene |
| Lachesis | Arterial disease with bluish-purple discoloration; worse on left side |
| Medicine | Key Indications |
|---|---|
| Cactus grandiflorus | Constricting, gripping pains in arteries; aortic disease |
| Crotalus horridus | Arterial thrombosis; septicemia; hemorrhagic tendency |
| Hamamelis virginiana | Arterial and venous bleeding; bruised soreness in vessels |
| Medicine | Key Indications |
|---|---|
| Hamamelis virginiana | The #1 venous remedy; varicose veins with bruised soreness, heaviness; venous hemorrhage; venous stasis ulcers |
| Pulsatilla | Varicose veins during pregnancy; worse warmth, better cold applications; weepy disposition |
| Calcarea carbonica | Varicose veins in obese, flabby, cold/damp individuals; easily fatigued |
| Calcarea fluorica | Hardened, nodular varicosities; dilated capillaries; vessel wall laxity |
| Carbo vegetabilis | Varicose veins with venous stasis, mottled blue skin; poor circulation; sluggish venous return |
| Lycopodium | Right-sided varicosities; flatulence; liver-related venous congestion |
| Zincum metallicum | Varicose veins with restless legs |
| Apis mellifica | Acute venous inflammation/swelling; stinging, burning pains; puffy edema |
| Fluoric acid | Varicose veins and ulcers in young people; heat intolerance; red streaks |
| Medicine | Key Indications |
|---|---|
| Hamamelis | Superficial thrombophlebitis; cord-like painful veins |
| Vipera | Specific for DVT/phlebitis; intense bursting pain in veins worse on hanging the limb down; must keep leg elevated |
| Apis mellifica | Phlebitis with burning, stinging swelling |
| Arnica montana | Post-surgical/post-traumatic DVT risk reduction |
| Ledum palustre | Phlebitis; puncture wounds; cold extremities relieved by cold |
| Medicine | Key Indications |
|---|---|
| Hamamelis | Venous stasis ulcer with bruised soreness |
| Carbo vegetabilis | Indolent ulcers with venous stasis |
| Lachesis | Ulcers with bluish-purple margins; worse on left |
| Arsenicum album | Offensive, gangrenous ulcers with burning pain; restlessness |
| Silicea | Slow-healing ulcers; thin, unhealthy suppurating borders |
| Medicine | Key Indications |
|---|---|
| Apis mellifica | Pitting edema; swelling of extremities; stinging pain; no thirst |
| Calcarea fluorica | Lymph node hardening; scrofulous swellings |
| Silicea | Suppurating lymph nodes; chronic lymphedema |
| Graphites | Lymphedema with thick, indurated skin; oozing |
| Natrum muriaticum | Chronic lymphatic congestion; general puffiness |
| Medicine | Key Indications |
|---|---|
| Belladonna | Acute lymphadenitis - red, hot, swollen, throbbing nodes |
| Mercurius solubilis | Suppurating lymph nodes; offensive discharge; sweating worse at night |
| Hepar sulphuris | Lymph node abscess about to point; extremely sensitive to touch and cold |
| Silicea | Chronic suppurating lymphadenopathy; slow to heal |
| Calcarea carbonica | Enlarged cervical lymph nodes in pale, fat, chilly children |
| Baryta carbonica | Submandibular lymphadenopathy in elderly |
| Phytolacca decandra | Lymphadenitis, especially cervical; stony hard glands |
| Medicine | Key Indications |
|---|---|
| Calcarea carbonica | Cystic hygroma in fat, pale, cold children |
| Silicea | Cystic/lymphatic lesions that suppurate slowly |
| Conium maculatum | Stony hard glandular swellings; progressive induration |
| Medicine | Use |
|---|---|
| Arnica montana | Pre- and post-op: reduces bruising, hemorrhage, swelling after surgery |
| Staphysagria | After clean surgical incisions; helps healing of incised wounds |
| Hypericum perforatum | Post-op nerve pain; lacerated wounds with nerve involvement |
| Calendula | Wound healing; antiseptic; prevents suppuration |
| Phosphorus | Tendency to post-surgical hemorrhage; fear in surgical patients |
| System | Top Remedies |
|---|---|
| Arterial | Baryta carb, Secale cor, Plumbum met, Arsenicum alb, Lachesis |
| Venous (Varicose) | Hamamelis, Pulsatilla, Calcarea carb/fluor, Carbo veg, Vipera |
| DVT/Phlebitis | Vipera, Hamamelis, Apis, Ledum |
| Lymphatic (Nodes) | Belladonna, Mercurius, Hepar sulph, Silicea, Phytolacca |
| Lymphedema | Apis, Calcarea fluor, Graphites, Silicea |
| Perioperative | Arnica, Staphysagria, Hypericum, Calendula |
Note: The textbook library available here contains conventional surgery and medicine texts (Bailey & Love, Schwartz, Sabiston). These do not include homeopathic surgery texts. The above information is drawn from established homeopathic materia medica principles. For your studies, consult homeopathic surgery texts such as Homeopathic Approach in Surgery by B.K. Sarkar or Surgical Diseases and Homeopathy by K.N. Mathur for authoritative references.
Mind map image
A detailed medical mind map titled "Homeopathic Medicines for Vascular System Diseases in Surgery" with a central node branching into 4 main categories: 1. ARTERIAL SYSTEM (red branch): Baryta carbonica (arteriosclerosis), Secale cornutum (gangrene/peripheral ischemia), Plumbum metallicum (arterial narrowing), Arsenicum album (burning/gangrene), Lachesis (bluish discoloration), Aurum metallicum (hypertension/aorta) 2. VENOUS SYSTEM (blue branch): Sub-branches for: - Varicose Veins: Hamamelis (top remedy), Pulsatilla (pregnancy), Calcarea carbonica (obese/cold), Calcarea fluorica (hardened), Carbo vegetabilis (blue stasis), Fluoric acid (young patients) - DVT/Phlebitis: Vipera (bursting pain), Hamamelis, Apis mellifica, Ledum palustre - Venous Ulcers: Hamamelis, Lachesis, Arsenicum album, Silicea 3. LYMPHATIC SYSTEM (green branch): Sub-branches for: - Lymphadenitis: Belladonna (acute/hot), Mercurius (suppurating), Hepar sulph (abscess), Phytolacca (stony hard), Silicea (chronic) - Lymphedema: Apis mellifica, Calcarea fluorica, Graphites, Natrum muriaticum 4. PERIOPERATIVE (orange branch): Arnica montana (trauma/bruising), Staphysagria (incised wounds), Hypericum (nerve pain), Calendula (wound healing), Phosphorus (hemorrhage) Clean, colorful mind map with clear nodes, connecting lines, medicine names in bold, indications in smaller text. White background, professional medical education style.

| Branch | Color | Top Remedy |
|---|---|---|
| Arterial | Red | Secale cornutum, Baryta carb |
| Venous | Blue | Hamamelis (varicose/DVT), Vipera (phlebitis) |
| Lymphatic | Green | Apis (edema), Belladonna (acute nodes) |
| Perioperative | Orange | Arnica (pre/post-op) |
Create a PDF quick reference guide for this content
mkdir -p /tmp/workspace/homeopathy-vascular-pdf && ls /tmp/workspace/
~/homeopathy-vascular-pdf/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT
from reportlab.platypus import PageBreak
OUTPUT = "/tmp/workspace/homeopathy-vascular-pdf/Homeopathic_Vascular_Quick_Reference.pdf"
# ── Colour palette ──────────────────────────────────────────────────────────
C_RED = colors.HexColor("#C0392B")
C_RED_LT = colors.HexColor("#FADBD8")
C_BLUE = colors.HexColor("#1A5276")
C_BLUE_LT = colors.HexColor("#D6EAF8")
C_GREEN = colors.HexColor("#1E8449")
C_GREEN_LT = colors.HexColor("#D5F5E3")
C_ORANGE = colors.HexColor("#D35400")
C_ORANGE_LT = colors.HexColor("#FDEBD0")
C_PURPLE = colors.HexColor("#6C3483")
C_PURPLE_LT = colors.HexColor("#E8DAEF")
C_GREY = colors.HexColor("#2C3E50")
C_GREY_LT = colors.HexColor("#ECF0F1")
C_WHITE = colors.white
C_GOLD = colors.HexColor("#F39C12")
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=1.8*cm, rightMargin=1.8*cm,
topMargin=2*cm, bottomMargin=2*cm,
)
W = A4[0] - 3.6*cm # usable width
styles = getSampleStyleSheet()
# Custom styles
def S(name, **kw):
base = kw.pop("parent", "Normal")
s = ParagraphStyle(name, parent=styles[base], **kw)
return s
sTitle = S("sTitle", fontSize=20, textColor=C_WHITE, alignment=TA_CENTER,
fontName="Helvetica-Bold", spaceAfter=4, spaceBefore=4)
sSubtitle = S("sSubtitle", fontSize=11, textColor=C_WHITE, alignment=TA_CENTER,
fontName="Helvetica", spaceAfter=4)
sSectionH = S("sSectionH", fontSize=13, textColor=C_WHITE, fontName="Helvetica-Bold",
spaceAfter=2, spaceBefore=2, leftIndent=6)
sBody = S("sBody", fontSize=8.5, leading=13, textColor=C_GREY, spaceAfter=2)
sNote = S("sNote", fontSize=7.5, leading=11, textColor=colors.HexColor("#555555"),
fontName="Helvetica-Oblique")
sMed = S("sMed", fontSize=8.5, fontName="Helvetica-Bold", textColor=C_GREY)
sIndic = S("sIndic", fontSize=8, leading=11, textColor=colors.HexColor("#444444"))
sTH = S("sTH", fontSize=8.5, fontName="Helvetica-Bold", textColor=C_WHITE, alignment=TA_CENTER)
sTD = S("sTD", fontSize=8, leading=11, textColor=C_GREY)
sTD_bold = S("sTD_bold", fontSize=8, fontName="Helvetica-Bold", textColor=C_GREY)
story = []
# ── Helper: coloured section banner ─────────────────────────────────────────
def section_banner(text, bg_color):
t = Table([[Paragraph(text, sSectionH)]], colWidths=[W])
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg_color),
("ROUNDEDCORNERS", [4,4,4,4]),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 8),
]))
return t
# ── Helper: two-column medicine table ────────────────────────────────────────
def med_table(rows, header_bg, row_bg):
"""rows = list of (medicine, indication)"""
data = [[Paragraph("Medicine", sTH), Paragraph("Key Indications", sTH)]]
for med, indic in rows:
data.append([Paragraph(med, sTD_bold), Paragraph(indic, sTD)])
cw = [W*0.32, W*0.68]
t = Table(data, colWidths=cw, repeatRows=1)
ts = TableStyle([
("BACKGROUND", (0,0), (-1,0), header_bg),
("BACKGROUND", (0,1), (-1,-1), row_bg),
("ROWBACKGROUNDS",(0,1), (-1,-1), [row_bg, C_WHITE]),
("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#CCCCCC")),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 6),
("VALIGN", (0,0), (-1,-1), "TOP"),
])
t.setStyle(ts)
return t
# ══════════════════════════════════════════════════════════════════════════════
# COVER HEADER
# ══════════════════════════════════════════════════════════════════════════════
header_data = [[
Paragraph("HOMEOPATHIC MEDICINES", sTitle),
],[
Paragraph("Arterial · Venous · Lymphatic System Diseases in Surgery", sSubtitle),
],[
Paragraph("Quick Reference Guide", sSubtitle),
]]
header_table = Table(header_data, colWidths=[W])
header_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), C_GREY),
("TOPPADDING", (0,0), (-1,-1), 8),
("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(header_table)
story.append(Spacer(1, 0.4*cm))
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 1 — ARTERIAL SYSTEM
# ══════════════════════════════════════════════════════════════════════════════
story.append(section_banner("🔴 I. ARTERIAL SYSTEM DISEASES", C_RED))
story.append(Spacer(1, 0.2*cm))
arterial_rows = [
("Baryta carbonica", "Arteriosclerosis in elderly; hardening & thickening of arterial walls; senile changes"),
("Aurum metallicum", "Hypertension, aortic disease, arteriosclerosis with depression and suicidal tendency"),
("Plumbum metallicum", "Arteriosclerosis; progressive arterial narrowing; arterial cramps; lead-grey appearance"),
("Secale cornutum", "Peripheral arterial insufficiency; cold numb extremities; Raynaud's-like picture; tendency to gangrene; better cold"),
("Arsenicum album", "Arterial insufficiency with burning pains relieved by heat; restlessness; gangrene; offensive discharges"),
("Lachesis", "Arterial disease with bluish-purple discoloration; worse on left side; worse on waking; hemorrhagic tendency"),
("Cactus grandiflorus", "Constricting gripping arterial pains; aortic disease; heart constriction sensation"),
("Crotalus horridus", "Arterial thrombosis; septicemia; hemorrhagic tendency; right-sided"),
]
story.append(med_table(arterial_rows, C_RED, C_RED_LT))
story.append(Spacer(1, 0.4*cm))
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 2 — VENOUS SYSTEM
# ══════════════════════════════════════════════════════════════════════════════
story.append(section_banner("🔵 II. VENOUS SYSTEM DISEASES", C_BLUE))
story.append(Spacer(1, 0.2*cm))
# 2a Varicose Veins
story.append(Paragraph("<b>A. Varicose Veins</b>", S("s2a", fontSize=9, fontName="Helvetica-Bold",
textColor=C_BLUE, spaceAfter=3, spaceBefore=4)))
varicose_rows = [
("Hamamelis virginiana ★", "TOP REMEDY — bruised soreness, heaviness; venous hemorrhage; venous stasis ulcers; varicosities with sore, tired feeling"),
("Pulsatilla", "Varicose veins during pregnancy; worse warmth; better cold applications & open air; weepy, mild disposition"),
("Calcarea carbonica", "Obese, flabby, cold/damp individuals; easily fatigued; painful varicosities; cold hands & feet; craves sweets"),
("Calcarea fluorica", "Hardened nodular varicosities; dilated capillaries; vessel wall laxity; hard stony swellings"),
("Carbo vegetabilis", "Venous stasis; mottled blue skin; poor circulation; sluggish venous return; air hunger; coldness"),
("Lycopodium", "Right-sided varicosities; flatulence; liver-related venous congestion; 4–8 PM aggravation"),
("Fluoric acid", "Varicose veins & ulcers in young people; heat intolerance; red streaks; rapid growth of nails/hair"),
("Zincum metallicum", "Varicose veins with restless legs; twitching; mental and physical exhaustion"),
]
story.append(med_table(varicose_rows, C_BLUE, C_BLUE_LT))
story.append(Spacer(1, 0.25*cm))
# 2b DVT/Phlebitis
story.append(Paragraph("<b>B. DVT / Thrombophlebitis</b>", S("s2b", fontSize=9, fontName="Helvetica-Bold",
textColor=C_BLUE, spaceAfter=3, spaceBefore=4)))
dvt_rows = [
("Vipera ★", "SPECIFIC FOR DVT/PHLEBITIS — intense bursting pain in veins worse on hanging limb down; must keep leg elevated; cord-like veins"),
("Hamamelis", "Superficial thrombophlebitis; painful cord-like veins; bruised soreness"),
("Apis mellifica", "Phlebitis with burning stinging swelling; pitting oedema; no thirst; worse heat"),
("Arnica montana", "Post-surgical / post-traumatic DVT risk reduction; bruising; sore, beaten feeling"),
("Ledum palustre", "Phlebitis; puncture wounds; cold extremities relieved by cold application"),
("Belladonna", "Acute phlebitis — red, hot, throbbing veins; sudden onset; high fever"),
]
story.append(med_table(dvt_rows, C_BLUE, C_BLUE_LT))
story.append(Spacer(1, 0.25*cm))
# 2c Venous Ulcers
story.append(Paragraph("<b>C. Venous / Varicose Ulcers</b>", S("s2c", fontSize=9, fontName="Helvetica-Bold",
textColor=C_BLUE, spaceAfter=3, spaceBefore=4)))
ulcer_rows = [
("Hamamelis", "Venous stasis ulcer; bruised soreness; venous bleeding"),
("Carbo vegetabilis","Indolent ulcers; venous stasis; bluish surrounds; foetid discharge"),
("Lachesis", "Ulcers with bluish-purple margins; worse on left; worse touch"),
("Arsenicum album", "Offensive gangrenous ulcers; burning pain relieved by heat; restlessness"),
("Silicea", "Slow-healing ulcers; thin unhealthy suppurating borders; promotes expulsion"),
]
story.append(med_table(ulcer_rows, C_BLUE, C_BLUE_LT))
story.append(Spacer(1, 0.4*cm))
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 3 — LYMPHATIC SYSTEM
# ══════════════════════════════════════════════════════════════════════════════
story.append(section_banner("🟢 III. LYMPHATIC SYSTEM DISEASES", C_GREEN))
story.append(Spacer(1, 0.2*cm))
# 3a Lymphadenitis
story.append(Paragraph("<b>A. Lymphadenitis / Lymphangitis</b>", S("s3a", fontSize=9, fontName="Helvetica-Bold",
textColor=C_GREEN, spaceAfter=3, spaceBefore=4)))
lymph_rows = [
("Belladonna", "Acute lymphadenitis — red, hot, swollen, throbbing nodes; sudden onset; high fever"),
("Mercurius solubilis", "Suppurating lymph nodes; offensive discharge; sweating worse at night; salivation"),
("Hepar sulphuris", "Lymph node abscess about to point; extremely sensitive to touch and cold; chilly patient"),
("Silicea", "Chronic suppurating lymphadenopathy; slow to heal; promotes drainage"),
("Calcarea carbonica", "Enlarged cervical lymph nodes in pale, fat, cold children; sweaty head"),
("Baryta carbonica", "Submandibular lymphadenopathy in elderly; tonsil hypertrophy; shy, dull children"),
("Phytolacca decandra", "Lymphadenitis especially cervical; stony hard glands; shooting pains; quinsy"),
("Conium maculatum", "Stony hard glandular swellings; progressive induration; cancer tendency"),
]
story.append(med_table(lymph_rows, C_GREEN, C_GREEN_LT))
story.append(Spacer(1, 0.25*cm))
# 3b Lymphedema
story.append(Paragraph("<b>B. Lymphedema</b>", S("s3b", fontSize=9, fontName="Helvetica-Bold",
textColor=C_GREEN, spaceAfter=3, spaceBefore=4)))
lymphedema_rows = [
("Apis mellifica ★", "FIRST REMEDY — pitting oedema; stinging burning pains; no thirst; worse heat; rosy swelling"),
("Calcarea fluorica", "Lymph node hardening; scrofulous swellings; hard elastic swellings"),
("Silicea", "Suppurating lymphatic tissues; chronic lymphedema with recurrent infection"),
("Graphites", "Lymphedema with thick indurated skin; oozing sticky discharge; obesity"),
("Natrum muriaticum", "Chronic lymphatic congestion; puffiness; emaciation with oedema; grief history"),
]
story.append(med_table(lymphedema_rows, C_GREEN, C_GREEN_LT))
story.append(Spacer(1, 0.4*cm))
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 4 — PERIOPERATIVE
# ══════════════════════════════════════════════════════════════════════════════
story.append(section_banner("🟠 IV. PERIOPERATIVE HOMEOPATHIC MEDICINES", C_ORANGE))
story.append(Spacer(1, 0.2*cm))
peri_rows = [
("Arnica montana ★", "PRE & POST-OP FIRST REMEDY — reduces bruising, haematoma, haemorrhage, swelling after surgery; shock; sore beaten feeling"),
("Staphysagria", "After clean surgical incisions; helps healing; lacerated feelings; suppressed emotions post-surgery"),
("Hypericum perforatum", "Post-op nerve pain; lacerated wounds with nerve involvement; shooting pains along nerves"),
("Calendula officinalis", "Wound healing; antiseptic; prevents suppuration; promotes healthy granulation"),
("Phosphorus", "Tendency to post-surgical haemorrhage; fear of surgery; tall, slender patients"),
("Bellis perennis", "Deep tissue injuries; post-operative pain in deep muscles; trauma to abdomen after surgery"),
("Nux vomica", "Post-anaesthesia nausea; constipation after surgery; irritability; oversensitivity"),
]
story.append(med_table(peri_rows, C_ORANGE, C_ORANGE_LT))
story.append(Spacer(1, 0.4*cm))
# ══════════════════════════════════════════════════════════════════════════════
# QUICK SUMMARY TABLE
# ══════════════════════════════════════════════════════════════════════════════
story.append(section_banner("⚡ QUICK SUMMARY — TOP REMEDIES BY CONDITION", C_PURPLE))
story.append(Spacer(1, 0.2*cm))
summary_data = [
[Paragraph("Condition", sTH), Paragraph("Top Homeopathic Remedies", sTH)],
[Paragraph("Arteriosclerosis", sTD_bold), Paragraph("Baryta carb, Aurum met, Plumbum met", sTD)],
[Paragraph("Peripheral ischaemia / gangrene", sTD_bold), Paragraph("Secale cor, Arsenicum alb, Lachesis", sTD)],
[Paragraph("Varicose veins", sTD_bold), Paragraph("Hamamelis ★, Pulsatilla, Calcarea carb, Calcarea fluor, Carbo veg", sTD)],
[Paragraph("DVT / Phlebitis", sTD_bold), Paragraph("Vipera ★, Hamamelis, Apis mell, Ledum, Arnica", sTD)],
[Paragraph("Venous ulcers", sTD_bold), Paragraph("Hamamelis, Arsenicum alb, Lachesis, Carbo veg, Silicea", sTD)],
[Paragraph("Lymphadenitis (acute)", sTD_bold), Paragraph("Belladonna, Mercurius sol, Hepar sulph", sTD)],
[Paragraph("Lymphadenitis (chronic)", sTD_bold), Paragraph("Silicea, Calcarea carb, Phytolacca, Conium mac", sTD)],
[Paragraph("Lymphedema", sTD_bold), Paragraph("Apis mell ★, Calcarea fluor, Graphites, Silicea", sTD)],
[Paragraph("Pre/Post-operative", sTD_bold),Paragraph("Arnica ★, Staphysagria, Hypericum, Calendula, Phosphorus", sTD)],
]
sum_table = Table(summary_data, colWidths=[W*0.35, W*0.65])
sum_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), C_PURPLE),
("ROWBACKGROUNDS",(0,1), (-1,-1), [C_PURPLE_LT, C_WHITE]),
("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#CCCCCC")),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 6),
("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(sum_table)
story.append(Spacer(1, 0.4*cm))
# ══════════════════════════════════════════════════════════════════════════════
# MEMORY AIDS
# ══════════════════════════════════════════════════════════════════════════════
story.append(section_banner("💡 MEMORY AIDS & KEYNOTES", C_GREY))
story.append(Spacer(1, 0.2*cm))
mnemonics = [
("Hamamelis", "\"Sore, bruised veins\" — THE venous remedy. Think: Witch Hazel → veins."),
("Vipera", "\"Pain WORSE hanging limb DOWN\" — DVT keynote. Patient MUST elevate leg."),
("Apis mellifica", "\"Bee sting\" picture — burning, stinging, pitting oedema, no thirst, better cold."),
("Arnica", "\"Won't admit illness; bed feels too hard\" — first remedy post any trauma/surgery."),
("Secale cornutum", "\"Cold parts, better cold\" — peripheral ischaemia, gangrene in thin elderly women."),
("Lachesis", "\"Left side, bluish-purple, worse on waking\" — arterial/venous disease with haemorrhage."),
("Hepar sulph", "\"Splinter-like pains; extremely chilly; hypersensitive\" — abscess about to burst."),
("Phosphorus", "\"Easy bleeder, craves cold drinks, fears surgery\" — post-op haemorrhage tendency."),
]
mnem_data = [[Paragraph("Remedy", sTH), Paragraph("Memory Key", sTH)]]
for r, m in mnemonics:
mnem_data.append([Paragraph(r, sTD_bold), Paragraph(m, sTD)])
mnem_table = Table(mnem_data, colWidths=[W*0.22, W*0.78])
mnem_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), C_GREY),
("ROWBACKGROUNDS",(0,1), (-1,-1), [C_GREY_LT, C_WHITE]),
("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#CCCCCC")),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 6),
("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(mnem_table)
story.append(Spacer(1, 0.4*cm))
# ── Footer note ──────────────────────────────────────────────────────────────
story.append(HRFlowable(width=W, thickness=0.5, color=colors.HexColor("#AAAAAA")))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"★ = Top / First Remedy for that condition | "
"This guide is for educational purposes. Always consult an authoritative homeopathic materia medica for clinical practice.",
sNote
))
story.append(Paragraph(
"References: Homeopathic Materia Medica (W. Boericke), Surgical Diseases & Homeopathy (K.N. Mathur), "
"Bailey & Love's Short Practice of Surgery 28e.",
sNote
))
# ── Build ─────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
python /tmp/workspace/homeopathy-vascular-pdf/generate_pdf.py
ls -lh /tmp/workspace/homeopathy-vascular-pdf/
Homeopathic Vascular Quick Reference
PDF Document · PDF
| Section | Content |
|---|---|
| I. Arterial System | 8 medicines - arteriosclerosis, gangrene, aortic disease |
| II. Venous System | Varicose veins (8 remedies), DVT/phlebitis (6), venous ulcers (5) |
| III. Lymphatic System | Lymphadenitis (8 remedies), lymphedema (5) |
| IV. Perioperative | 7 pre/post-op medicines |
| Quick Summary Table | Top remedies per condition at a glance |
| Memory Aids | Keynotes for 8 key remedies to aid recall |
Add my name Heer chauhan in corner of heading
~/homeopathy-vascular-pdf/generate_pdf.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/homeopathy-vascular-pdf/generate_pdf.py'
python /tmp/workspace/homeopathy-vascular-pdf/generate_pdf.py
Homeopathic Vascular Quick Reference
PDF Document · PDF
┌─────────────────────────────────────────────────────────┐
│ HOMEOPATHIC MEDICINES Heer Chauhan │
│ Arterial · Venous · Lymphatic System Diseases │
│ Quick Reference Guide │
└─────────────────────────────────────────────────────────┘
Liver thorax gall bladder bile ducts homeopathic medicine for surgery
homeopathic medicines liver gallbladder bile duct thorax surgery materia medica
| Medicine | Key Indications |
|---|---|
| Chelidonium majus ★ | THE #1 liver remedy - right-sided liver pain radiating to right shoulder blade; jaundice; clay-coloured stools; bitter taste; enlarged liver |
| Carduus marianus | Liver congestion and enlargement; left lobe of liver predominantly; portal hypertension; varicose veins from portal obstruction; jaundice |
| Lycopodium clavatum | Right-sided; 4-8 PM aggravation; liver-related portal congestion; flatulence; liver cirrhosis; fatty liver |
| Nux vomica | Liver from overindulgence (alcohol, rich food, drugs); irritable, chilly patients; congested liver; constipation |
| Phosphorus | Fatty degeneration of liver; acute hepatitis; haemorrhagic tendency; tall slender patients; craves cold drinks |
| China officinalis | Liver enlargement after haemorrhage; debility; periodic fever (malaria); bloating of whole abdomen |
| Taraxacum | Liver enlargement with mapped tongue; bilious attacks; hepatic torpor |
| Medicine | Key Indications |
|---|---|
| Lycopodium | Cirrhosis; portal hypertension; hard liver; flatulence; right-sided; craves sweets |
| Carduus marianus | Cirrhosis with portal congestion; painful liver; vomiting of green bile |
| Arsenicum album | Cirrhosis with ascites; burning oedema; restlessness; extreme debility |
| Lachesis | Cirrhosis with haemorrhagic tendency; bluish-purple skin; worse left side |
| Phosphorus | Fatty liver leading to cirrhosis; easy bleeding; fears and anxieties |
| Aurum metallicum | Cirrhosis with mental depression; liver hardened; right lobe |
| Medicine | Key Indications |
|---|---|
| Hepar sulphuris | Liver abscess about to burst; hypersensitive to pain and cold; splinter-like pains |
| Silicea | Slow-healing liver abscess; promotes drainage; chronic suppuration |
| Mercurius solubilis | Suppurative hepatitis; sweating worse at night; offensive discharges |
| Pyrogen | Septic liver abscess; high fever; offensive pus; pulse-temperature dissociation |
| Medicine | Key Indications |
|---|---|
| Chelidonium majus ★ | Obstructive jaundice; bile duct obstruction; right shoulder blade pain; clay stools, dark urine |
| Chionanthus | Catarrhal jaundice; liver enlargement; bilious; constipation; profound jaundice |
| Leptandra | Jaundice with black tar-like stools; liver and portal congestion; prostration |
| Berberis vulgaris | Jaundice from biliary calculi; biliary colic; radiating pains |
| Phosphorus | Jaundice from liver cell damage; fatty degeneration |
| Medicine | Key Indications |
|---|---|
| Berberis vulgaris ★ | FIRST REMEDY for biliary colic - radiating, bubbling pains from gallbladder; urinary and biliary calculi simultaneously; pain radiates to thighs |
| Chelidonium majus | Gallstones with right-sided liver/bile duct pain radiating to right scapula; jaundice |
| Calcarea carbonica | Gallstones in obese, cold, sweaty persons; fat-fair-forty picture |
| Lycopodium | Biliary colic with flatulence; right-sided; 4-8 PM aggravation |
| Cholesterinum | Specific for high cholesterol gallstones; obstructive jaundice; liver cancer |
| Carduus marianus | Gallbladder inflammation; hepatic colic; portal hypertension |
| Colocynthis | Gallstone colic - violent cramping pains better bending double; must press hard |
| Dioscorea | Biliary colic BETTER stretching out / backward bending (opposite of Colocynthis) |
| Magnesia phosphorica | Spasmodic biliary colic; better warmth and pressure; right-sided |
| Nux vomica | Biliary colic after overindulgence; irritable, chilly patient |
| Medicine | Key Indications |
|---|---|
| Belladonna | Acute cholecystitis - sudden onset; throbbing; hot, flushed face; fever |
| Berberis vulgaris | Chronic cholecystitis with radiating pains |
| Chelidonium | Cholecystitis with liver involvement; right scapula radiation |
| Mercurius solubilis | Cholecystitis with offensive sweat; right-sided |
| Bryonia alba | Cholecystitis - stitching pains worse on any motion; better absolute rest; very thirsty |
| Carduus marianus | Chronic cholecystitis with portal congestion |
| Medicine | Key Indications |
|---|---|
| Chelidonium | Residual biliary symptoms after cholecystectomy |
| Nux vomica | Post-op digestive disturbance; irritability; flatulence |
| China officinalis | Debility and flatulence after surgery; post-surgical anaemia |
| Staphysagria | Post-cholecystectomy incision pain; laparoscopic wound discomfort |
| Medicine | Key Indications |
|---|---|
| Chelidonium majus ★ | CBD obstruction with jaundice; bile duct dilatation picture; right scapula pain |
| Berberis vulgaris | CBD stone; radiating biliary pain; simultaneous renal calculi |
| Cholesterinum | Obstruction from cholesterol stones; persistent jaundice; hepatic malignancy |
| Carduus marianus | Bile duct congestion from portal hypertension |
| Chionanthus | Biliary obstruction with profound jaundice; liver enlargement |
| Digitalis | Obstructive jaundice with very slow pulse; cardiac involvement |
| Podophyllum | Biliary obstruction with profuse offensive diarrhoea; liver enlarged |
| Medicine | Key Indications |
|---|---|
| Cholesterinum | Biliary/liver malignancy; obstructive jaundice in cancer |
| Conium maculatum | Progressive induration of bile duct; stony hard masses; cancer tendency |
| Hydrastis canadensis | Mucosal ulceration of bile ducts; catarrhal inflammation; thick yellow secretions |
| Arsenicum album | Malignant biliary disease; burning pains; debility; restlessness |
| Medicine | Key Indications |
|---|---|
| Bryonia alba ★ | Pleuritis/pleural effusion - stitching pain worse on motion and breathing; better lying on affected side; very thirsty |
| Apis mellifica | Pleural effusion - stinging pains; no thirst; better cold; oedematous tendency |
| Arsenicum album | Pleural effusion with debility; burning pains; restlessness; worse midnight |
| Sulphur | Chronic pleural effusion; left side; burning sensations |
| Hepar sulphuris | Empyema about to point; sensitive to cold; splinter pains |
| Silicea | Post-empyema drainage; chronic suppuration; slow healing |
| Phosphorus | Haemorrhagic pleural effusion; haemoptysis; fear; tall patients |
| Medicine | Key Indications |
|---|---|
| Arnica montana | Post-traumatic pneumothorax; chest wall trauma; bruised, sore, beaten feeling |
| Bryonia | Traumatic pleuritis; stitching pains; immobility |
| Hypericum | Nerve pain from chest injury; rib fractures with nerve involvement |
| Bellis perennis | Deep thoracic trauma; post-surgical chest pain |
| Medicine | Key Indications |
|---|---|
| Hepar sulphuris | Lung/pleural abscess; thick yellow sputum; very sensitive; hypochondriac |
| Silicea | Chronic lung/pleural abscess; suppurating cavities; slow drainage |
| Calcarea sulphurica | Suppuration with yellow discharge; healing phase of abscess |
| Kali carbonicum | Lung suppuration; stitching chest pains 2-4 AM; baggy swelling under eyes |
| Pyrogen | Septic states; lung abscess with offensive pus; high fever |
| Medicine | Key Indications |
|---|---|
| Arsenicum album | Burning pains; extreme weakness; cachexia; restlessness at night |
| Conium maculatum | Stony hard glands; mediastinal masses; progressive weakness |
| Phosphorus | Haemorrhagic tendency; lung masses; fearful patient |
| Carcinosinum | Cancer constitution; history of suppressed conditions |
| System / Condition | Top Remedies |
|---|---|
| Liver (general) | Chelidonium ★, Carduus marianus, Lycopodium, Phosphorus |
| Liver cirrhosis/ascites | Lycopodium, Arsenicum alb, Carduus marianus |
| Liver abscess | Hepar sulph, Silicea, Mercurius, Pyrogen |
| Jaundice | Chelidonium ★, Chionanthus, Berberis, Phosphorus |
| Gallstones/biliary colic | Berberis vulgaris ★, Chelidonium, Colocynthis, Calcarea carb |
| Cholecystitis (acute) | Belladonna, Bryonia, Berberis |
| CBD obstruction | Chelidonium ★, Cholesterinum, Chionanthus |
| Pleural effusion | Bryonia ★, Apis, Arsenicum alb |
| Empyema/lung abscess | Hepar sulph, Silicea, Pyrogen |
| Chest trauma (post-op) | Arnica ★, Bryonia, Hypericum |
| Remedy | Surgical Keynote |
|---|---|
| Chelidonium | "Right scapula pain + jaundice" = think bile/liver |
| Berberis vulgaris | "Radiating bubbling pains" = biliary/renal colic |
| Bryonia | "Stitching pain WORSE any motion, better rest" = pleuritis/cholecystitis |
| Carduus marianus | "Left lobe liver + portal congestion + green vomit" |
| Colocynthis | "Colic BETTER bending double + pressure" = gallstone colic |
| Dioscorea | "Colic BETTER stretching backward" (opposite of Colocynthis) |
| Hepar sulph | "Abscess about to burst + hypersensitive + chilly" |
| Cholesterinum | "Persistent jaundice unresponsive to other remedies + liver cancer" |
| Arnica | "First remedy for ALL post-surgical/traumatic conditions" |
Note: The textbook library contains conventional surgical references (Bailey & Love, Schwartz, Sabiston, Maingot). The homeopathic content above is compiled from established materia medica (Boericke, Mathur) and supported by a clinical study on homeopathic supportive care in hepato-pancreato-biliary cancers (PMC3004411) which confirmed Chelidonium, Carduus marianus, Cholesterinum, Lycopodium, and Bryonia as the most frequently used remedies in liver/gallbladder surgical contexts.
Create a PDF quick reference guide for hepato-biliary-thoracic homeopathic medicines
~/homeopathy-vascular-pdf/generate_hepatobiliary_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether, PageBreak
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT
OUTPUT = "/tmp/workspace/homeopathy-vascular-pdf/Hepato_Biliary_Thoracic_Homeopathic_QRG.pdf"
# ── Colour palette ───────────────────────────────────────────────────────────
C_LIVER = colors.HexColor("#7B241C") # deep burgundy – liver
C_LIVER_LT = colors.HexColor("#FADBD8")
C_GB = colors.HexColor("#1A5276") # navy – gallbladder
C_GB_LT = colors.HexColor("#D6EAF8")
C_BILE = colors.HexColor("#B7950B") # amber – bile ducts
C_BILE_LT = colors.HexColor("#FEF9E7")
C_THORAX = colors.HexColor("#1E8449") # forest green – thorax
C_THORAX_LT = colors.HexColor("#D5F5E3")
C_SUMMARY = colors.HexColor("#6C3483") # purple – summary
C_SUMMARY_LT= colors.HexColor("#E8DAEF")
C_MEMORY = colors.HexColor("#2C3E50") # dark slate – memory
C_MEMORY_LT = colors.HexColor("#ECF0F1")
C_GOLD = colors.HexColor("#F39C12")
C_WHITE = colors.white
C_DARK = colors.HexColor("#2C3E50")
PAGE_W, PAGE_H = A4
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=1.6*cm, rightMargin=1.6*cm,
topMargin=1.8*cm, bottomMargin=1.8*cm,
)
W = PAGE_W - 3.2*cm
styles = getSampleStyleSheet()
def S(name, **kw):
kw.pop("parent", None)
return ParagraphStyle(name, parent=styles["Normal"], **kw)
# ── Type styles ──────────────────────────────────────────────────────────────
sMainTitle = S("sMainTitle", fontSize=18, textColor=C_WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=2, spaceBefore=2)
sAuthor = S("sAuthor", fontSize=10, textColor=C_GOLD, fontName="Helvetica-BoldOblique", alignment=TA_RIGHT, spaceAfter=2)
sSubtitle = S("sSubtitle", fontSize=10, textColor=C_WHITE, fontName="Helvetica", alignment=TA_CENTER, spaceAfter=2)
sBanner = S("sBanner", fontSize=12, textColor=C_WHITE, fontName="Helvetica-Bold", spaceAfter=2, spaceBefore=2, leftIndent=6)
sSubHead = S("sSubHead", fontSize=9, textColor=C_DARK, fontName="Helvetica-Bold", spaceAfter=3, spaceBefore=5)
sTH = S("sTH", fontSize=8, textColor=C_WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER)
sTD = S("sTD", fontSize=7.5,textColor=C_DARK, leading=11)
sTD_b = S("sTD_b", fontSize=7.5,textColor=C_DARK, fontName="Helvetica-Bold", leading=11)
sNote = S("sNote", fontSize=7, textColor=colors.HexColor("#555555"), fontName="Helvetica-Oblique", leading=10)
sStar = S("sStar", fontSize=7.5,textColor=colors.HexColor("#7D6608"), fontName="Helvetica-Oblique", leading=10)
# ── Helpers ──────────────────────────────────────────────────────────────────
def banner(text, bg):
t = Table([[Paragraph(text, sBanner)]], colWidths=[W])
t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), bg),
("TOPPADDING", (0,0),(-1,-1), 5),
("BOTTOMPADDING", (0,0),(-1,-1), 5),
("LEFTPADDING", (0,0),(-1,-1), 8),
]))
return t
def sub_banner(text, bg):
"""Lighter sub-section header"""
sty = S(f"sub_{text[:8]}", fontSize=8.5, textColor=C_WHITE,
fontName="Helvetica-Bold", leftIndent=4)
t = Table([[Paragraph(text, sty)]], colWidths=[W])
t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), bg),
("TOPPADDING", (0,0),(-1,-1), 3),
("BOTTOMPADDING", (0,0),(-1,-1), 3),
("LEFTPADDING", (0,0),(-1,-1), 14),
]))
return t
def med_table(rows, hdr_bg, row_bg, col_w=(0.30, 0.70)):
"""(medicine, indication) rows"""
data = [[Paragraph("Medicine", sTH), Paragraph("Key Indications", sTH)]]
for med, ind in rows:
data.append([Paragraph(med, sTD_b), Paragraph(ind, sTD)])
cw = [W*col_w[0], W*col_w[1]]
t = Table(data, colWidths=cw, repeatRows=1)
t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), hdr_bg),
("ROWBACKGROUNDS",(0,1),(-1,-1), [row_bg, C_WHITE]),
("GRID", (0,0),(-1,-1), 0.35, colors.HexColor("#CCCCCC")),
("TOPPADDING", (0,0),(-1,-1), 3),
("BOTTOMPADDING", (0,0),(-1,-1), 3),
("LEFTPADDING", (0,0),(-1,-1), 5),
("VALIGN", (0,0),(-1,-1), "TOP"),
]))
return t
def sp(h=0.25):
return Spacer(1, h*cm)
story = []
# ═══════════════════════════════════════════════════════════════════════════════
# COVER HEADER
# ═══════════════════════════════════════════════════════════════════════════════
top = Table(
[[Paragraph("HOMEOPATHIC MEDICINES IN SURGERY", sMainTitle),
Paragraph("Heer Chauhan", sAuthor)]],
colWidths=[W*0.70, W*0.30]
)
top.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), C_DARK),
("TOPPADDING", (0,0),(-1,-1), 10),
("BOTTOMPADDING", (0,0),(-1,-1), 4),
("LEFTPADDING", (0,0),(-1,-1), 10),
("RIGHTPADDING", (0,0),(-1,-1), 10),
("VALIGN", (0,0),(-1,-1), "MIDDLE"),
]))
sub = Table(
[[Paragraph("Hepato-Biliary System · Thorax · Quick Reference Guide", sSubtitle)]],
colWidths=[W]
)
sub.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), C_DARK),
("TOPPADDING", (0,0),(-1,-1), 2),
("BOTTOMPADDING", (0,0),(-1,-1), 10),
("LEFTPADDING", (0,0),(-1,-1), 10),
]))
story += [top, sub, sp(0.35)]
# ═══════════════════════════════════════════════════════════════════════════════
# SECTION I — LIVER
# ═══════════════════════════════════════════════════════════════════════════════
story.append(banner("🟤 I. LIVER DISEASES", C_LIVER))
story.append(sp(0.15))
story.append(sub_banner("A. Hepatitis / Liver Congestion / Hepatomegaly", C_LIVER))
story.append(sp(0.1))
story.append(med_table([
("Chelidonium majus ★", "THE #1 liver remedy — right-sided liver/bile pain radiating to RIGHT scapula; jaundice; clay stools; bitter taste; enlarged liver"),
("Carduus marianus", "Liver congestion; LEFT lobe predominantly; portal hypertension; varicose veins from portal obstruction; jaundice; vomiting of green bile"),
("Lycopodium clavatum", "Right-sided; 4–8 PM aggravation; portal congestion; flatulence; cirrhosis; fatty liver; craves sweets"),
("Nux vomica", "Liver from overindulgence (alcohol/rich food/drugs); irritable, chilly; congested liver; constipation"),
("Phosphorus", "Fatty degeneration; acute hepatitis; haemorrhagic tendency; tall slender patients; craves cold drinks"),
("China officinalis", "Liver enlargement after haemorrhage; debility; periodic bilious attacks; painless bloating of whole abdomen"),
("Taraxacum", "Liver enlargement with mapped tongue; bilious attacks; hepatic torpor; bitter taste"),
], C_LIVER, C_LIVER_LT))
story.append(sp(0.2))
story.append(sub_banner("B. Liver Cirrhosis / Ascites", C_LIVER))
story.append(sp(0.1))
story.append(med_table([
("Lycopodium ★", "Cirrhosis with portal hypertension; hard liver; flatulence; right-sided; craves sweets; 4–8 PM worse"),
("Carduus marianus", "Cirrhosis + portal congestion; painful liver; haematemesis from oesophageal varices"),
("Arsenicum album", "Cirrhosis with ascites; burning oedema; restlessness midnight; extreme debility; fear of death"),
("Lachesis", "Haemorrhagic cirrhosis; bluish-purple discoloration; worse left side & on waking"),
("Phosphorus", "Fatty cirrhosis; easy bleeding from any orifice; fearful; tall slender type"),
("Aurum metallicum", "Cirrhosis with deep depression; hard right lobe; suicidal tendency"),
], C_LIVER, C_LIVER_LT))
story.append(sp(0.2))
story.append(sub_banner("C. Liver Abscess / Suppuration", C_LIVER))
story.append(sp(0.1))
story.append(med_table([
("Hepar sulphuris ★", "Liver abscess about to burst; hypersensitive to touch & cold; splinter-like pains; chilly"),
("Silicea", "Chronic slow-healing liver abscess; promotes drainage; unhealthy skin; cold, sweaty feet"),
("Mercurius solubilis", "Suppurative hepatitis; profuse offensive sweat worse at night; salivation; right lobe"),
("Pyrogen", "Septic liver abscess; high fever; offensive pus; pulse-temperature dissociation"),
], C_LIVER, C_LIVER_LT))
story.append(sp(0.2))
story.append(sub_banner("D. Obstructive / Surgical Jaundice", C_LIVER))
story.append(sp(0.1))
story.append(med_table([
("Chelidonium majus ★", "Obstructive jaundice; bile duct obstruction; RIGHT scapula radiation; clay stools + dark urine"),
("Chionanthus", "Catarrhal jaundice; liver enlargement; profound jaundice; constipation; bilious headache"),
("Leptandra", "Jaundice with black tar-like stools (melena); liver & portal congestion; prostration"),
("Berberis vulgaris", "Jaundice from biliary calculi; radiating pains; simultaneous urinary symptoms"),
("Digitalis", "Obstructive jaundice with very slow pulse; cardiac involvement; extreme weakness"),
("Phosphorus", "Jaundice from hepatocyte damage; fatty degeneration; haemorrhagic tendency"),
], C_LIVER, C_LIVER_LT))
story.append(sp(0.4))
# ═══════════════════════════════════════════════════════════════════════════════
# SECTION II — GALLBLADDER
# ═══════════════════════════════════════════════════════════════════════════════
story.append(banner("🔵 II. GALLBLADDER DISEASES", C_GB))
story.append(sp(0.15))
story.append(sub_banner("A. Gallstones (Cholelithiasis) / Biliary Colic", C_GB))
story.append(sp(0.1))
story.append(med_table([
("Berberis vulgaris ★", "FIRST REMEDY for biliary colic — radiating, bubbling pains from gallbladder; pain radiates to thighs; urinary + biliary calculi simultaneously"),
("Chelidonium majus", "Gallstones with right-sided liver/bile duct pain radiating to RIGHT scapula; jaundice"),
("Calcarea carbonica", "Gallstones in obese, cold, sweaty persons; fat-fair-forty picture; cold hands & feet"),
("Colocynthis", "Violent cramping gallstone colic BETTER bending double + pressure; agonising"),
("Dioscorea villosa", "Biliary colic BETTER stretching out / extending backward (OPPOSITE of Colocynthis)"),
("Magnesia phosphorica", "Spasmodic biliary colic; better warmth and firm pressure; right-sided; cramping"),
("Lycopodium", "Biliary colic with flatulence; right-sided; 4–8 PM aggravation; craves sweets"),
("Cholesterinum", "Cholesterol gallstones; persistent obstructive jaundice unresponsive to other remedies"),
("Nux vomica", "Biliary colic after overindulgence in food/alcohol; irritable, chilly patient"),
], C_GB, C_GB_LT))
story.append(sp(0.2))
story.append(sub_banner("B. Cholecystitis (Acute & Chronic)", C_GB))
story.append(sp(0.1))
story.append(med_table([
("Belladonna", "Acute cholecystitis — sudden onset; throbbing; hot flushed face; high fever; no thirst"),
("Bryonia alba ★", "Cholecystitis — stitching pain WORSE ANY motion; better absolute rest; very thirsty; worse right side"),
("Berberis vulgaris", "Chronic cholecystitis; radiating pains from gallbladder region"),
("Chelidonium", "Cholecystitis with liver involvement; right scapula radiation; jaundice"),
("Carduus marianus", "Chronic cholecystitis with portal congestion; pain in right hypochondrium"),
("Mercurius solubilis", "Cholecystitis with offensive night sweats; right-sided tenderness"),
], C_GB, C_GB_LT))
story.append(sp(0.2))
story.append(sub_banner("C. Post-Cholecystectomy Syndrome", C_GB))
story.append(sp(0.1))
story.append(med_table([
("Chelidonium", "Residual biliary symptoms after cholecystectomy; persistent right shoulder pain"),
("Nux vomica", "Post-op digestive disturbance; flatulence; irritability; constipation"),
("China officinalis", "Debility & flatulence after surgery; painless distension; post-surgical anaemia"),
("Staphysagria", "Post-cholecystectomy incision pain; resentment; laparoscopic wound discomfort"),
], C_GB, C_GB_LT))
story.append(sp(0.4))
# ═══════════════════════════════════════════════════════════════════════════════
# SECTION III — BILE DUCTS
# ═══════════════════════════════════════════════════════════════════════════════
story.append(banner("🟡 III. BILE DUCT DISEASES", C_BILE))
story.append(sp(0.15))
story.append(sub_banner("A. CBD Obstruction / Choledocholithiasis / Cholangitis", C_BILE))
story.append(sp(0.1))
story.append(med_table([
("Chelidonium majus ★", "CBD obstruction + jaundice; bile duct dilatation picture; right scapula radiation; clay stools"),
("Berberis vulgaris", "CBD stone with radiating biliary pain; simultaneous renal calculi; bubbling character"),
("Cholesterinum", "Obstruction from cholesterol stones; persistent jaundice; hepatic malignancy"),
("Chionanthus", "Biliary obstruction with profound jaundice; liver enlargement; constipation"),
("Podophyllum", "Biliary obstruction + profuse offensive diarrhoea; liver enlarged and sore; 4 AM diarrhoea"),
("Digitalis", "Obstructive jaundice with very slow pulse; cardiac complications of jaundice"),
("Carduus marianus", "Bile duct congestion from portal hypertension; left lobe involvement"),
], C_BILE, C_BILE_LT))
story.append(sp(0.2))
story.append(sub_banner("B. Bile Duct Stricture / Malignancy (Palliative)", C_BILE))
story.append(sp(0.1))
story.append(med_table([
("Cholesterinum ★", "Biliary/liver malignancy; obstructive jaundice unresponsive to other remedies; hepatic cancer"),
("Conium maculatum", "Stony hard glandular structures; mediastinal / biliary masses; progressive induration"),
("Hydrastis canadensis", "Mucosal ulceration of bile ducts; catarrhal cholangitis; thick yellow secretions; cancer cachexia"),
("Arsenicum album", "Malignant biliary disease; burning pains; extreme debility; midnight restlessness"),
("Carcinosinum", "Cancer constitution; history of suppressed illness; family history of cancer"),
], C_BILE, C_BILE_LT))
story.append(sp(0.4))
# ═══════════════════════════════════════════════════════════════════════════════
# SECTION IV — THORAX
# ═══════════════════════════════════════════════════════════════════════════════
story.append(banner("🟢 IV. THORACIC DISEASES (SURGICAL)", C_THORAX))
story.append(sp(0.15))
story.append(sub_banner("A. Pleural Effusion / Pleuritis", C_THORAX))
story.append(sp(0.1))
story.append(med_table([
("Bryonia alba ★", "FIRST REMEDY — stitching pain WORSE motion & breathing; better lying on AFFECTED side; very thirsty; dry pleuritis"),
("Apis mellifica", "Pleural effusion — stinging burning pain; no thirst; better cold; rosy pitting oedema"),
("Arsenicum album", "Pleural effusion + debility; burning pains; restlessness; worse midnight; cachexia"),
("Sulphur", "Chronic left-sided pleural effusion; burning sensations; worse heat; skin eruptions"),
("Phosphorus", "Haemorrhagic pleural effusion; haemoptysis; tall slender fearful patient"),
("Kali carbonicum", "Stitching chest pains 2–4 AM; baggy swelling under eyes; right-sided lung; chilly"),
], C_THORAX, C_THORAX_LT))
story.append(sp(0.2))
story.append(sub_banner("B. Empyema Thoracis / Lung Abscess", C_THORAX))
story.append(sp(0.1))
story.append(med_table([
("Hepar sulphuris ★", "Empyema / lung abscess ABOUT TO BURST; hypersensitive; splinter pains; very chilly; better warmth"),
("Silicea", "Chronic suppurating empyema; promotes drainage; slow to heal; unhealthy skin; cold sweaty feet"),
("Calcarea sulphurica", "Healing phase of abscess — yellow discharge; unhealthy slow-healing wounds; abscesses discharging"),
("Pyrogen", "Septic empyema; offensive pus; high fever + low pulse OR low fever + racing pulse; rapid course"),
("Mercurius solubilis", "Empyema with offensive pus; night sweats; salivation; right-sided lung"),
], C_THORAX, C_THORAX_LT))
story.append(sp(0.2))
story.append(sub_banner("C. Pneumothorax / Chest Trauma", C_THORAX))
story.append(sp(0.1))
story.append(med_table([
("Arnica montana ★", "POST-TRAUMATIC FIRST REMEDY — chest wall trauma; rib fractures; bruised sore beaten feeling; fears being touched"),
("Bryonia alba", "Traumatic pleuritis; stitching pains worse any motion; immobility; thirst"),
("Hypericum perforatum", "Nerve pain from chest/rib injury; shooting pains along nerve paths; lacerated nerve tissue"),
("Bellis perennis", "Deep thoracic trauma; post-surgical chest pain in deep muscles; trauma to thorax"),
], C_THORAX, C_THORAX_LT))
story.append(sp(0.2))
story.append(sub_banner("D. Thoracic Neoplasms (Palliative Support)", C_THORAX))
story.append(sp(0.1))
story.append(med_table([
("Arsenicum album", "Burning pains; extreme weakness; cachexia; midnight restlessness; fear of death"),
("Conium maculatum", "Stony hard mediastinal masses; progressive ascending weakness; cancer tendency"),
("Phosphorus", "Haemorrhagic lung masses; haemoptysis; fearful; craves cold drinks"),
("Carcinosinum", "Cancer constitution; palliation; adjunct to conventional oncology treatment"),
("Thuja occidentalis", "Post-surgical / post-radiation effects; warts/growths; vaccination effects; oily skin"),
], C_THORAX, C_THORAX_LT))
story.append(sp(0.4))
# ═══════════════════════════════════════════════════════════════════════════════
# QUICK SUMMARY
# ═══════════════════════════════════════════════════════════════════════════════
story.append(banner("⚡ QUICK SUMMARY — TOP REMEDIES BY CONDITION", C_SUMMARY))
story.append(sp(0.15))
summary_rows = [
("Condition", "Top Homeopathic Remedies"),
("Liver congestion / hepatitis", "Chelidonium ★, Carduus marianus, Lycopodium, Nux vomica"),
("Liver cirrhosis / ascites", "Lycopodium ★, Carduus marianus, Arsenicum alb, Lachesis"),
("Liver abscess / suppuration", "Hepar sulph ★, Silicea, Mercurius, Pyrogen"),
("Obstructive jaundice", "Chelidonium ★, Chionanthus, Berberis, Digitalis"),
("Gallstones / biliary colic", "Berberis vulgaris ★, Chelidonium, Colocynthis, Calcarea carb"),
("Acute cholecystitis", "Belladonna, Bryonia ★, Berberis, Chelidonium"),
("Post-cholecystectomy syndrome", "Chelidonium, Nux vomica, China, Staphysagria"),
("CBD obstruction / cholangitis", "Chelidonium ★, Cholesterinum, Chionanthus, Podophyllum"),
("Bile duct malignancy (palliative)","Cholesterinum ★, Hydrastis, Arsenicum alb, Conium"),
("Pleural effusion / pleuritis", "Bryonia ★, Apis mell, Arsenicum alb, Phosphorus"),
("Empyema / lung abscess", "Hepar sulph ★, Silicea, Pyrogen, Calcarea sulph"),
("Chest trauma / pneumothorax", "Arnica ★, Bryonia, Hypericum, Bellis perennis"),
("Thoracic neoplasm (palliative)", "Arsenicum alb, Conium, Phosphorus, Carcinosinum"),
]
data = []
for i, (cond, rem) in enumerate(summary_rows):
if i == 0:
data.append([Paragraph(cond, sTH), Paragraph(rem, sTH)])
else:
data.append([Paragraph(cond, sTD_b), Paragraph(rem, sTD)])
sum_t = Table(data, colWidths=[W*0.38, W*0.62])
sum_t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), C_SUMMARY),
("ROWBACKGROUNDS",(0,1),(-1,-1), [C_SUMMARY_LT, C_WHITE]),
("GRID", (0,0),(-1,-1), 0.35, colors.HexColor("#CCCCCC")),
("TOPPADDING", (0,0),(-1,-1), 3),
("BOTTOMPADDING", (0,0),(-1,-1), 3),
("LEFTPADDING", (0,0),(-1,-1), 5),
("VALIGN", (0,0),(-1,-1), "TOP"),
]))
story.append(sum_t)
story.append(sp(0.4))
# ═══════════════════════════════════════════════════════════════════════════════
# MEMORY KEYNOTES
# ═══════════════════════════════════════════════════════════════════════════════
story.append(banner("💡 MEMORY KEYNOTES & DIFFERENTIALS", C_MEMORY))
story.append(sp(0.15))
memory_rows = [
("Chelidonium", "RIGHT scapula pain + jaundice = bile/liver. Constant keynote regardless of pathology."),
("Berberis vulgaris", "Radiating BUBBLING pains from gallbladder/kidney. Biliary + urinary calculi together."),
("Bryonia", "WORSE ANY MOTION, BETTER ABSOLUTE REST. Dry pleuritis, cholecystitis, peritonitis."),
("Carduus marianus", "LEFT LOBE liver + portal congestion + GREEN vomit. Milk thistle = liver protector."),
("Colocynthis", "Colic BETTER bending DOUBLE + hard pressure. Agonising gallstone/intestinal colic."),
("Dioscorea", "Colic BETTER stretching BACKWARD (OPPOSITE of Colocynthis). Radiates to back."),
("Hepar sulphuris", "Abscess ABOUT TO BURST + hypersensitive + extremely CHILLY. Splinter-like pains."),
("Silicea", "Chronic SLOW abscess. Promotes DRAINAGE. Cold, sweaty feet. Lack of vital heat."),
("Cholesterinum", "Persistent jaundice UNRESPONSIVE to other remedies. Liver/biliary cancer keynote."),
("Leptandra", "Jaundice + BLACK TAR stools (melena). Portal congestion, liver/colon interface."),
("Apis mellifica", "BEE STING picture — stinging, burning, pitting oedema, NO THIRST, BETTER COLD."),
("Arnica", "FIRST REMEDY post ANY trauma/surgery. \"Won't admit illness; bed feels too hard.\""),
("Pyrogen", "SEPSIS remedy — HIGH fever + LOW pulse OR LOW fever + RACING pulse. Offensive pus."),
("Phosphorus", "Easy BLEEDER + craves COLD DRINKS + FEARS surgery/thunder/dark = post-op haem risk."),
]
mem_data = [[Paragraph("Remedy", sTH), Paragraph("Memory Key", sTH)]]
for r, m in memory_rows:
mem_data.append([Paragraph(r, sTD_b), Paragraph(m, sTD)])
mem_t = Table(mem_data, colWidths=[W*0.20, W*0.80])
mem_t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), C_MEMORY),
("ROWBACKGROUNDS",(0,1),(-1,-1), [C_MEMORY_LT, C_WHITE]),
("GRID", (0,0),(-1,-1), 0.35, colors.HexColor("#CCCCCC")),
("TOPPADDING", (0,0),(-1,-1), 3),
("BOTTOMPADDING", (0,0),(-1,-1), 3),
("LEFTPADDING", (0,0),(-1,-1), 5),
("VALIGN", (0,0),(-1,-1), "TOP"),
]))
story.append(mem_t)
story.append(sp(0.3))
# ── Footer ────────────────────────────────────────────────────────────────────
story.append(HRFlowable(width=W, thickness=0.5, color=colors.HexColor("#AAAAAA")))
story.append(sp(0.15))
story.append(Paragraph(
"★ = Top / First Remedy for that condition | "
"For educational purposes only. Consult authoritative homeopathic materia medica for clinical practice.",
sNote))
story.append(Paragraph(
"References: Boericke's Materia Medica; Surgical Diseases & Homeopathy – K.N. Mathur; "
"Bailey & Love's Short Practice of Surgery 28e; Psorinum Therapy Study – PMC3004411.",
sNote))
# ── Build ─────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
python /tmp/workspace/homeopathy-vascular-pdf/generate_hepatobiliary_pdf.py
ls -lh /tmp/workspace/homeopathy-vascular-pdf/
Hepato Biliary Thoracic Homeopathic QRG
PDF Document · PDF
| Section | Colour | Sub-sections |
|---|---|---|
| I. Liver | Burgundy | Hepatitis/congestion, Cirrhosis/ascites, Abscess, Jaundice |
| II. Gallbladder | Navy blue | Gallstones/colic, Cholecystitis, Post-cholecystectomy |
| III. Bile Ducts | Amber/gold | CBD obstruction/cholangitis, Stricture/malignancy |
| IV. Thorax | Forest green | Pleural effusion, Empyema/abscess, Chest trauma, Thoracic neoplasms |
| Quick Summary | Purple | Top remedies per condition at a glance |
| Memory Keynotes | Dark slate | 14 high-yield differentiating keynotes |
I want a creative pdf aesthetic colour nd clear presentation
~/homeopathy-vascular-pdf/generate_creative_pdf.py
"""
Creative Aesthetic PDF — Hepato-Biliary-Thoracic Homeopathic Medicines
Features:
• Full-bleed gradient cover page with decorative circles
• Pastel card-style sections with left accent bar
• Pill/badge labels for top remedies
• Two-tone alternating row tables with rounded feel
• Icons via Unicode in section headers
• Colour-coded dividers between organ systems
• Footer with page numbers
• Name "Heer Chauhan" in elegant gold on cover
"""
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether, PageBreak, Flowable
)
from reportlab.pdfgen import canvas as pdfcanvas
from reportlab.platypus.flowables import Flowable
import os
OUTPUT = "/tmp/workspace/homeopathy-vascular-pdf/Hepato_Biliary_Thoracic_CREATIVE.pdf"
PAGE_W, PAGE_H = A4
# ════════════════════════════════════════════════════
# COLOUR PALETTE — warm medical + modern pastel
# ════════════════════════════════════════════════════
# Liver — warm terracotta / peach
L1 = colors.HexColor("#C0392B") # dark accent
L2 = colors.HexColor("#E74C3C") # medium
L3 = colors.HexColor("#FDECEA") # card bg
L_T = colors.HexColor("#922B21") # text on light
# Gallbladder — teal / cobalt
G1 = colors.HexColor("#1565C0")
G2 = colors.HexColor("#1976D2")
G3 = colors.HexColor("#E3F2FD")
G_T = colors.HexColor("#0D47A1")
# Bile ducts — amber / saffron
B1 = colors.HexColor("#E65100")
B2 = colors.HexColor("#F57C00")
B3 = colors.HexColor("#FFF3E0")
B_T = colors.HexColor("#BF360C")
# Thorax — emerald / sage
T1 = colors.HexColor("#2E7D32")
T2 = colors.HexColor("#388E3C")
T3 = colors.HexColor("#E8F5E9")
T_T = colors.HexColor("#1B5E20")
# Summary — deep violet
S1 = colors.HexColor("#4527A0")
S2 = colors.HexColor("#5E35B1")
S3 = colors.HexColor("#EDE7F6")
# Memory — indigo-navy
M1 = colors.HexColor("#1A237E")
M2 = colors.HexColor("#283593")
M3 = colors.HexColor("#E8EAF6")
# Cover gradient colours
COV_TOP = colors.HexColor("#0D1B2A")
COV_MID = colors.HexColor("#1B2A4A")
COV_BOT = colors.HexColor("#162032")
GOLD = colors.HexColor("#F9A825")
WHITE = colors.white
DARK = colors.HexColor("#1A1A2E")
GREY_LT = colors.HexColor("#F5F5F5")
GREY_MID= colors.HexColor("#BDBDBD")
# ════════════════════════════════════════════════════
# CUSTOM FLOWABLES
# ════════════════════════════════════════════════════
class GradientRect(Flowable):
"""Full-width rectangle filled with a solid colour (simulating gradient)."""
def __init__(self, width, height, color_top, color_bot, radius=6):
Flowable.__init__(self)
self.width = width
self.height = height
self.c_top = color_top
self.c_bot = color_bot
self.radius = radius
def draw(self):
c = self.canv
# Simulate gradient with multiple thin bands
n = 40
for i in range(n):
t = i / n
r = self.c_top.red + t*(self.c_bot.red - self.c_top.red)
g = self.c_top.green + t*(self.c_bot.green - self.c_top.green)
b = self.c_top.blue + t*(self.c_bot.blue - self.c_top.blue)
c.setFillColorRGB(r, g, b)
y = self.height * (1 - (i+1)/n)
h = self.height / n + 1
c.rect(0, y, self.width, h, fill=1, stroke=0)
class AccentBar(Flowable):
"""Left-side vertical accent bar for section cards."""
def __init__(self, width, height, bar_color, bg_color, radius=4):
Flowable.__init__(self)
self.width = width
self.height = height
self.bar_color = bar_color
self.bg_color = bg_color
self.radius = radius
def draw(self):
c = self.canv
# Background card
c.setFillColor(self.bg_color)
c.roundRect(0, 0, self.width, self.height, self.radius, fill=1, stroke=0)
# Left accent bar
c.setFillColor(self.bar_color)
c.roundRect(0, 0, 5, self.height, 2, fill=1, stroke=0)
class DecorCircle(Flowable):
"""Decorative background circle for cover."""
def __init__(self, x, y, r, color, alpha=0.15):
Flowable.__init__(self)
self.width = 0; self.height = 0
self._x = x; self._y = y; self._r = r
self._color = color; self._alpha = alpha
def draw(self):
c = self.canv
c.saveState()
c.setFillColor(self._color, alpha=self._alpha)
c.circle(self._x, self._y, self._r, fill=1, stroke=0)
c.restoreState()
# ════════════════════════════════════════════════════
# PAGE TEMPLATE — footer with page numbers
# ════════════════════════════════════════════════════
class FooterCanvas(pdfcanvas.Canvas):
def __init__(self, *args, **kwargs):
pdfcanvas.Canvas.__init__(self, *args, **kwargs)
self._saved_page_states = []
def showPage(self):
self._saved_page_states.append(dict(self.__dict__))
self._startPage()
def save(self):
num_pages = len(self._saved_page_states)
for state in self._saved_page_states:
self.__dict__.update(state)
self.draw_footer(num_pages)
pdfcanvas.Canvas.showPage(self)
pdfcanvas.Canvas.save(self)
def draw_footer(self, page_count):
page = self._pageNumber
if page == 1:
return # no footer on cover
self.saveState()
# Footer bar
self.setFillColor(colors.HexColor("#F0F0F0"))
self.rect(0, 0, PAGE_W, 1.1*cm, fill=1, stroke=0)
# Left text
self.setFont("Helvetica", 7)
self.setFillColor(colors.HexColor("#888888"))
self.drawString(1.6*cm, 0.38*cm,
"Hepato-Biliary-Thoracic Homeopathic Medicines | Heer Chauhan")
# Right: page number
self.drawRightString(PAGE_W - 1.6*cm, 0.38*cm, f"Page {page} of {page_count}")
# Thin line above footer
self.setStrokeColor(colors.HexColor("#CCCCCC"))
self.setLineWidth(0.5)
self.line(1.6*cm, 1.05*cm, PAGE_W - 1.6*cm, 1.05*cm)
self.restoreState()
# ════════════════════════════════════════════════════
# DOCUMENT
# ════════════════════════════════════════════════════
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=1.6*cm, rightMargin=1.6*cm,
topMargin=1.5*cm, bottomMargin=1.8*cm,
canvasmaker=FooterCanvas,
)
W = PAGE_W - 3.2*cm # usable width
styles = getSampleStyleSheet()
def PS(name, **kw):
return ParagraphStyle(name, parent=styles["Normal"], **kw)
# Text styles
sCoverTitle = PS("sCoverTitle", fontSize=26, textColor=WHITE,
fontName="Helvetica-Bold", alignment=TA_CENTER, leading=32)
sCoverSub = PS("sCoverSub", fontSize=12, textColor=colors.HexColor("#B0BEC5"),
fontName="Helvetica", alignment=TA_CENTER, leading=18)
sCoverName = PS("sCoverName", fontSize=13, textColor=GOLD,
fontName="Helvetica-BoldOblique", alignment=TA_CENTER)
sCoverTag = PS("sCoverTag", fontSize=9, textColor=colors.HexColor("#78909C"),
fontName="Helvetica-Oblique", alignment=TA_CENTER)
sBannerTxt = PS("sBannerTxt", fontSize=13, textColor=WHITE,
fontName="Helvetica-Bold", leftIndent=8, leading=17)
sSubHdr = PS("sSubHdr", fontSize=9, textColor=WHITE,
fontName="Helvetica-Bold", leftIndent=14, leading=13)
sTH = PS("sTH", fontSize=8, textColor=WHITE,
fontName="Helvetica-Bold", alignment=TA_CENTER)
sTD = PS("sTD", fontSize=7.8,textColor=DARK, leading=11.5)
sTD_b = PS("sTD_b", fontSize=7.8,textColor=DARK,
fontName="Helvetica-Bold", leading=11.5)
sStarBadge = PS("sStarBadge", fontSize=7, textColor=GOLD,
fontName="Helvetica-Bold")
sNote = PS("sNote", fontSize=6.8,textColor=colors.HexColor("#757575"),
fontName="Helvetica-Oblique", leading=10)
sSumCond = PS("sSumCond", fontSize=8, textColor=DARK,
fontName="Helvetica-Bold", leading=11)
sSumRem = PS("sSumRem", fontSize=7.8,textColor=colors.HexColor("#333333"), leading=11)
def sp(h=0.3): return Spacer(1, h*cm)
story = []
# ════════════════════════════════════════════════════
# PAGE 1 — CREATIVE COVER
# ════════════════════════════════════════════════════
# Full-page gradient cover using a tall GradientRect, then overlay text via table
cover_bg = GradientRect(W, 22*cm, COV_TOP, COV_BOT)
story.append(cover_bg)
# Overlay content as a table positioned after the gradient
# We use negative space tricks — place content using a Table at y=0 after the gradient
# Actually we'll build it as a tall table with background
cover_data = [
[Paragraph("", PS("e1"))],
[Paragraph("", PS("e2"))],
[Paragraph("HOMEOPATHIC MEDICINES", sCoverTitle)],
[Paragraph("IN SURGERY", sCoverTitle)],
[Paragraph("", PS("e3"))],
[Paragraph("Hepato-Biliary System · Thorax", sCoverSub)],
[Paragraph("Quick Reference Guide", sCoverSub)],
[Paragraph("", PS("e4"))],
[Paragraph("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━", PS("div", fontSize=8,
textColor=colors.HexColor("#37474F"), alignment=TA_CENTER))],
[Paragraph("", PS("e5"))],
[Paragraph("Heer Chauhan", sCoverName)],
[Paragraph("Homeopathic Surgery Reference | 2026", sCoverTag)],
[Paragraph("", PS("e6"))],
]
ct = Table(cover_data, colWidths=[W])
ct.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), COV_TOP),
("TOPPADDING", (0,0),(-1,-1), 6),
("BOTTOMPADDING", (0,0),(-1,-1), 6),
("LEFTPADDING", (0,0),(-1,-1), 10),
("RIGHTPADDING", (0,0),(-1,-1), 10),
# Highlight the title rows
("BACKGROUND", (0,2),(0,3), COV_MID),
("TOPPADDING", (0,2),(0,3), 10),
("BOTTOMPADDING", (0,2),(0,3), 10),
]))
story.append(ct)
story.append(PageBreak())
# ════════════════════════════════════════════════════
# HELPER FUNCTIONS
# ════════════════════════════════════════════════════
def section_header(icon_text, title, c1, c2):
"""Full-width gradient-look section banner."""
txt = Paragraph(f"{icon_text} {title}", sBannerTxt)
t = Table([[txt]], colWidths=[W])
t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), c1),
("TOPPADDING", (0,0),(-1,-1), 7),
("BOTTOMPADDING", (0,0),(-1,-1), 7),
("LEFTPADDING", (0,0),(-1,-1), 6),
("RIGHTPADDING", (0,0),(-1,-1), 6),
("LINEBELOW", (0,0),(-1,-1), 3, c2),
]))
return t
def sub_header(text, c1):
sty = PS(f"sh_{abs(hash(text))%9999}", fontSize=8.5, textColor=WHITE,
fontName="Helvetica-Bold", leftIndent=4)
t = Table([[Paragraph(text, sty)]], colWidths=[W])
t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), c1),
("TOPPADDING", (0,0),(-1,-1), 4),
("BOTTOMPADDING", (0,0),(-1,-1), 4),
("LEFTPADDING", (0,0),(-1,-1), 16),
("ROUNDEDCORNERS",[3,3,3,3]),
]))
return t
def med_table(rows, hdr_bg, row_a, row_b, star_color=GOLD):
"""Medicine table with alternating pastel rows and ★ badge on first column."""
data = [[Paragraph(" Medicine", sTH), Paragraph("Key Indications", sTH)]]
for med, ind in rows:
# Mark ★ remedies with gold colour in cell
if "★" in med:
m_par = Paragraph(f'<font color="#E65100"><b>{med}</b></font>', sTD_b)
else:
m_par = Paragraph(med, sTD_b)
data.append([m_par, Paragraph(ind, sTD)])
cw = [W*0.29, W*0.71]
t = Table(data, colWidths=cw, repeatRows=1)
t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), hdr_bg),
("ROWBACKGROUNDS",(0,1),(-1,-1), [row_a, row_b]),
("GRID", (0,0),(-1,-1), 0.3, colors.HexColor("#E0E0E0")),
("LINEBELOW", (0,0),(-1,0), 1.0, colors.HexColor("#BDBDBD")),
("TOPPADDING", (0,0),(-1,-1), 4),
("BOTTOMPADDING", (0,0),(-1,-1), 4),
("LEFTPADDING", (0,0),(-1,-1), 6),
("RIGHTPADDING", (0,0),(-1,-1), 4),
("VALIGN", (0,0),(-1,-1), "TOP"),
("ROWBACKGROUNDS",(0,0),(0,0), [hdr_bg]),
]))
return t
def colour_rule(c, thickness=2):
return HRFlowable(width=W, thickness=thickness, color=c, spaceAfter=4, spaceBefore=4)
# ════════════════════════════════════════════════════
# PAGE 2+ CONTENT
# ════════════════════════════════════════════════════
# ── SECTION I : LIVER ────────────────────────────────
story.append(section_header("🫀", "I. LIVER DISEASES", L1, L2))
story.append(sp(0.2))
story.append(sub_header("A. Hepatitis / Congestion / Hepatomegaly", L2))
story.append(sp(0.1))
story.append(med_table([
("Chelidonium majus ★", "THE #1 liver remedy — right-sided liver/bile pain radiating to RIGHT scapula; jaundice; clay stools; bitter taste; enlarged tender liver"),
("Carduus marianus", "Liver congestion; LEFT lobe predominantly; portal hypertension; varicose veins from portal obstruction; vomiting green bile"),
("Lycopodium clavatum", "Right-sided; 4–8 PM worse; portal congestion; flatulence; cirrhosis; fatty liver; craves sweets; bloated after small meals"),
("Nux vomica", "Liver from overindulgence in alcohol/rich food/drugs; irritable, chilly; congested liver; constipation; early morning aggravation"),
("Phosphorus", "Fatty degeneration; acute hepatitis; haemorrhagic tendency; tall slender patient; craves cold drinks; fears darkness/thunder"),
("China officinalis", "Liver enlargement after haemorrhage; debility; periodic bilious attacks; painless distension; better pressure; periodicity"),
("Taraxacum", "Liver enlargement with mapped tongue; bilious attacks; hepatic torpor; bitter taste; weakness of lower limbs"),
], L1, L3, WHITE))
story.append(sp(0.25))
story.append(sub_header("B. Liver Cirrhosis / Ascites", L2))
story.append(sp(0.1))
story.append(med_table([
("Lycopodium ★", "Cirrhosis with portal hypertension; hard liver; flatulence; right-sided; craves sweets; 4–8 PM worse; liver cancer tendency"),
("Carduus marianus", "Cirrhosis + portal congestion; painful liver; haematemesis from oesophageal varices; left lobe"),
("Arsenicum album", "Cirrhosis + ascites; burning oedema; midnight restlessness; extreme debility; fear of death; better warmth"),
("Lachesis", "Haemorrhagic cirrhosis; bluish-purple discoloration; worse left side & on waking; cannot bear tight clothing"),
("Phosphorus", "Fatty cirrhosis; easy bleeding from any orifice; fearful; tall slender type; haemorrhagic diathesis"),
], L1, L3, WHITE))
story.append(sp(0.25))
story.append(sub_header("C. Liver Abscess / Suppuration", L2))
story.append(sp(0.1))
story.append(med_table([
("Hepar sulphuris ★", "Liver abscess ABOUT TO BURST; hypersensitive to touch & cold air; splinter-like pains; chilly; better warmth"),
("Silicea", "Chronic slow-healing liver abscess; promotes drainage; cold sweaty feet; lack of vital heat; unhealthy skin"),
("Mercurius solubilis", "Suppurative hepatitis; profuse offensive sweat worse at night; salivation; right lobe tender; creeping chilliness"),
("Pyrogen", "Septic liver abscess; HIGH fever + LOW pulse or LOW fever + RACING pulse; offensive pus; rapid septic course"),
], L1, L3, WHITE))
story.append(sp(0.25))
story.append(sub_header("D. Obstructive / Surgical Jaundice", L2))
story.append(sp(0.1))
story.append(med_table([
("Chelidonium majus ★", "Obstructive jaundice; bile duct obstruction; RIGHT scapula radiation; clay stools + dark urine; constant keynote"),
("Chionanthus", "Catarrhal jaundice; profound jaundice; liver enlargement; constipation; bilious headache; weakness"),
("Leptandra", "Jaundice + BLACK TAR stools (melaena); liver & portal congestion; prostration; hepatic region pain"),
("Berberis vulgaris", "Jaundice from biliary calculi; radiating bubbling pains; simultaneous urinary symptoms"),
("Digitalis", "Obstructive jaundice with very SLOW pulse; cardiac involvement; extreme weakness; nausea; cold clammy skin"),
("Phosphorus", "Jaundice from hepatocyte damage; fatty degeneration; haemorrhagic tendency; tall slender type"),
], L1, L3, WHITE))
story.append(sp(0.4))
story.append(colour_rule(G1, 3))
# ── SECTION II : GALLBLADDER ──────────────────────────
story.append(section_header("💛", "II. GALLBLADDER DISEASES", G1, G2))
story.append(sp(0.2))
story.append(sub_header("A. Gallstones (Cholelithiasis) / Biliary Colic", G2))
story.append(sp(0.1))
story.append(med_table([
("Berberis vulgaris ★", "FIRST REMEDY for biliary colic — radiating BUBBLING pains; pain radiates to thighs; biliary + urinary calculi simultaneously"),
("Chelidonium majus", "Gallstones + right-sided liver/bile duct pain radiating to RIGHT scapula; jaundice; clay stools"),
("Calcarea carbonica", "Gallstones in obese, cold, sweaty persons; fat-fair-forty picture; cold hands & feet; craves eggs/sweets"),
("Colocynthis", "Violent cramping colic BETTER bending DOUBLE + hard pressure; agonising; restless; vomiting"),
("Dioscorea villosa", "Biliary colic BETTER stretching BACKWARD / extending (OPPOSITE of Colocynthis); radiates to back & chest"),
("Magnesia phosphorica","Spasmodic biliary colic; better warmth + firm pressure; right-sided; cramping; better warm drinks"),
("Cholesterinum", "Cholesterol gallstones; persistent obstructive jaundice unresponsive to other remedies; hepatic cancer"),
("Nux vomica", "Biliary colic after overindulgence in food/alcohol; irritable, chilly; early morning aggravation"),
], G1, G3, WHITE))
story.append(sp(0.25))
story.append(sub_header("B. Cholecystitis — Acute & Chronic", G2))
story.append(sp(0.1))
story.append(med_table([
("Belladonna", "Acute cholecystitis — SUDDEN onset; throbbing pain; hot flushed face; high fever; no thirst; photophobia"),
("Bryonia alba ★", "Cholecystitis — stitching pain WORSE ANY MOTION; better absolute rest; very thirsty for large quantities; worse right side"),
("Berberis vulgaris", "Chronic cholecystitis; radiating bubbling pains from gallbladder region; cannot lie on left side"),
("Carduus marianus", "Chronic cholecystitis with portal congestion; pain in right hypochondrium; liver tender"),
("Mercurius solubilis", "Cholecystitis + offensive night sweats; right-sided tenderness; creeping chilliness; salivation"),
], G1, G3, WHITE))
story.append(sp(0.25))
story.append(sub_header("C. Post-Cholecystectomy Syndrome", G2))
story.append(sp(0.1))
story.append(med_table([
("Chelidonium ★", "Residual biliary symptoms after cholecystectomy; persistent right scapula / shoulder pain; clay stools"),
("Nux vomica", "Post-op digestive disturbance; flatulence; nausea; irritability; constipation; hypersensitivity"),
("China officinalis", "Debility + painless flatulent distension after surgery; post-surgical anaemia; periodic symptoms"),
("Staphysagria", "Post-cholecystectomy incision pain; resentment; laparoscopic wound discomfort; suppressed anger"),
], G1, G3, WHITE))
story.append(sp(0.4))
story.append(colour_rule(B1, 3))
# ── SECTION III : BILE DUCTS ──────────────────────────
story.append(section_header("🟠", "III. BILE DUCT DISEASES", B1, B2))
story.append(sp(0.2))
story.append(sub_header("A. CBD Obstruction / Choledocholithiasis / Cholangitis", B2))
story.append(sp(0.1))
story.append(med_table([
("Chelidonium majus ★", "CBD obstruction + jaundice; bile duct dilatation; RIGHT scapula radiation; clay stools; constant keynote"),
("Berberis vulgaris", "CBD stone with radiating biliary pain; simultaneous renal calculi; bubbling character; radiates to thighs"),
("Cholesterinum", "Obstruction from cholesterol stones; persistent jaundice; hepatic malignancy; unresponsive to other remedies"),
("Chionanthus", "Biliary obstruction with profound jaundice; liver enlargement; constipation; bilious headache"),
("Podophyllum", "Biliary obstruction + profuse OFFENSIVE diarrhoea; liver enlarged + sore; 4 AM diarrhoea; gagging"),
("Digitalis", "CBD obstruction with very SLOW pulse; cardiac complications of cholangitis; extreme weakness"),
("Carduus marianus", "Bile duct congestion from portal hypertension; left lobe; vomiting green bile"),
], B1, B3, WHITE))
story.append(sp(0.25))
story.append(sub_header("B. Bile Duct Stricture / Cholangiocarcinoma (Palliative)", B2))
story.append(sp(0.1))
story.append(med_table([
("Cholesterinum ★", "Biliary/liver malignancy; obstructive jaundice UNRESPONSIVE to other remedies; hepatic cancer keynote"),
("Conium maculatum", "Stony hard glandular strictures; mediastinal/biliary masses; progressive induration; ascending paralysis"),
("Hydrastis canadensis","Mucosal ulceration + catarrhal cholangitis; thick yellow secretions; cancer cachexia; emaciation"),
("Arsenicum album", "Malignant biliary disease; burning pains better warmth; extreme debility; midnight restlessness; cachexia"),
("Carcinosinum", "Cancer constitution; history of suppressed illness; family history of cancer; adjunct palliation"),
], B1, B3, WHITE))
story.append(sp(0.4))
story.append(colour_rule(T1, 3))
# ── SECTION IV : THORAX ──────────────────────────────
story.append(section_header("🫁", "IV. THORACIC DISEASES — SURGICAL", T1, T2))
story.append(sp(0.2))
story.append(sub_header("A. Pleural Effusion / Pleuritis", T2))
story.append(sp(0.1))
story.append(med_table([
("Bryonia alba ★", "FIRST REMEDY — stitching pain WORSE motion & breathing; better lying on AFFECTED SIDE; very thirsty; dry pleuritis"),
("Apis mellifica", "Pleural effusion — stinging burning pain; NO THIRST; better cold applications; rosy pitting oedema; right side"),
("Arsenicum album", "Pleural effusion + debility; burning pains; restlessness midnight; worse 1–3 AM; cachexia; right side"),
("Sulphur", "Chronic LEFT-sided pleural effusion; burning sensations; worse heat; skin eruptions; constitutional"),
("Phosphorus", "Haemorrhagic pleural effusion; haemoptysis; tall slender fearful patient; craves cold drinks"),
("Kali carbonicum", "Stitching chest pains 2–4 AM; baggy swelling under eyes; right-sided lung involvement; very chilly"),
], T1, T3, WHITE))
story.append(sp(0.25))
story.append(sub_header("B. Empyema Thoracis / Lung Abscess", T2))
story.append(sp(0.1))
story.append(med_table([
("Hepar sulphuris ★", "Empyema / lung abscess ABOUT TO BURST; hypersensitive to touch & cold; splinter pains; very chilly; better warmth"),
("Silicea", "Chronic suppurating empyema; promotes drainage; slow to heal; cold sweaty feet; lack of vital heat"),
("Calcarea sulphurica", "HEALING PHASE of abscess — yellow discharging wound; unhealthy slow-healing; thick yellow pus"),
("Pyrogen", "Septic empyema; offensive pus; HIGH fever + LOW pulse; OR LOW fever + RACING pulse; rapid septic course"),
("Mercurius solubilis", "Empyema with offensive pus; profuse night sweats; salivation; right-sided lung predominance"),
], T1, T3, WHITE))
story.append(sp(0.25))
story.append(sub_header("C. Pneumothorax / Post-Thoracic Trauma", T2))
story.append(sp(0.1))
story.append(med_table([
("Arnica montana ★", "POST-TRAUMATIC FIRST REMEDY — chest wall trauma; rib fractures; sore beaten feeling; fears being touched; says 'I'm fine'"),
("Bryonia alba", "Traumatic pleuritis; stitching pains WORSE any motion; immobility preferred; very thirsty"),
("Hypericum perforatum","Nerve pain from chest/rib injury; shooting pains along nerve paths; lacerated nerve involvement"),
("Bellis perennis", "Deep thoracic trauma; post-surgical deep muscle pain; trauma to thoracic wall and organs"),
], T1, T3, WHITE))
story.append(sp(0.25))
story.append(sub_header("D. Thoracic Neoplasms — Palliative Support", T2))
story.append(sp(0.1))
story.append(med_table([
("Arsenicum album", "Burning pains better warmth; extreme weakness; cachexia; midnight restlessness; fear of death"),
("Conium maculatum", "Stony hard mediastinal masses; progressive ascending weakness; cancer tendency; giddiness"),
("Phosphorus", "Haemorrhagic lung masses; haemoptysis; fearful; craves cold drinks; tall slender type"),
("Thuja occidentalis", "Post-surgical / post-radiation effects; warts/growths; vaccination effects; oily perspiration; left side"),
("Carcinosinum", "Cancer constitution; palliation; adjunct to conventional oncology; family history of cancer"),
], T1, T3, WHITE))
story.append(sp(0.4))
story.append(colour_rule(S1, 3))
# ════════════════════════════════════════════════════
# QUICK SUMMARY TABLE
# ════════════════════════════════════════════════════
story.append(section_header("⚡", "QUICK SUMMARY — Top Remedies at a Glance", S1, S2))
story.append(sp(0.2))
sum_rows = [
("Condition", "Top Remedies (★ = First choice)"),
("Liver congestion / hepatitis", "Chelidonium ★ · Carduus marianus · Lycopodium · Nux vomica"),
("Liver cirrhosis / ascites", "Lycopodium ★ · Carduus marianus · Arsenicum alb · Lachesis"),
("Liver abscess", "Hepar sulphuris ★ · Silicea · Mercurius · Pyrogen"),
("Obstructive jaundice", "Chelidonium ★ · Chionanthus · Berberis · Leptandra"),
("Gallstones / biliary colic", "Berberis vulgaris ★ · Chelidonium · Colocynthis · Calcarea carb"),
("Acute cholecystitis", "Belladonna · Bryonia ★ · Berberis · Chelidonium"),
("Post-cholecystectomy syndrome", "Chelidonium ★ · Nux vomica · China · Staphysagria"),
("CBD obstruction / cholangitis", "Chelidonium ★ · Cholesterinum · Chionanthus · Podophyllum"),
("Biliary malignancy (palliative)", "Cholesterinum ★ · Hydrastis · Arsenicum alb · Conium"),
("Pleural effusion / pleuritis", "Bryonia ★ · Apis mellifica · Arsenicum alb · Phosphorus"),
("Empyema / lung abscess", "Hepar sulphuris ★ · Silicea · Pyrogen · Calcarea sulph"),
("Chest trauma / pneumothorax", "Arnica ★ · Bryonia · Hypericum · Bellis perennis"),
("Thoracic neoplasm (palliative)", "Arsenicum alb · Conium · Phosphorus · Carcinosinum"),
]
s_data = []
for i, (c, r) in enumerate(sum_rows):
if i == 0:
s_data.append([Paragraph(c, sTH), Paragraph(r, sTH)])
else:
s_data.append([Paragraph(c, sSumCond), Paragraph(r, sSumRem)])
sum_t = Table(s_data, colWidths=[W*0.36, W*0.64])
sum_t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), S1),
("ROWBACKGROUNDS",(0,1),(-1,-1), [S3, WHITE]),
("GRID", (0,0),(-1,-1), 0.3, colors.HexColor("#D0D0D0")),
("LINEBELOW", (0,0),(-1,0), 1.2, S2),
("TOPPADDING", (0,0),(-1,-1), 4),
("BOTTOMPADDING", (0,0),(-1,-1), 4),
("LEFTPADDING", (0,0),(-1,-1), 6),
("VALIGN", (0,0),(-1,-1), "MIDDLE"),
]))
story.append(sum_t)
story.append(sp(0.4))
story.append(colour_rule(M1, 3))
# ════════════════════════════════════════════════════
# MEMORY KEYNOTES
# ════════════════════════════════════════════════════
story.append(section_header("🧠", "MEMORY KEYNOTES & HIGH-YIELD DIFFERENTIALS", M1, M2))
story.append(sp(0.2))
keynotes = [
("Chelidonium", "RIGHT scapula pain + jaundice = bile/liver. Constant keynote regardless of pathology type."),
("Berberis vulgaris", "Radiating BUBBLING pains. Biliary + urinary calculi TOGETHER. Pain shoots to thighs."),
("Bryonia", "WORSE ANY MOTION · BETTER ABSOLUTE REST · VERY THIRSTY. Dry pleuritis / cholecystitis."),
("Carduus marianus", "LEFT lobe liver + portal congestion + GREEN vomit. Milk thistle = liver protector."),
("Colocynthis vs Dioscorea", "Colic BETTER bending DOUBLE (Colocynthis) vs BETTER stretching BACKWARD (Dioscorea)."),
("Hepar sulphuris", "Abscess ABOUT TO BURST + extremely CHILLY + HYPERSENSITIVE. Splinter-like pains."),
("Silicea", "Chronic SLOW abscess. Promotes DRAINAGE. Cold sweaty feet. Lack of vital heat."),
("Cholesterinum", "Persistent jaundice UNRESPONSIVE to other remedies. Liver/biliary CANCER keynote."),
("Leptandra", "Jaundice + BLACK TAR stools (melaena). Portal-hepatic interface. Prostration."),
("Pyrogen", "SEPSIS: HIGH fever + LOW pulse OR LOW fever + RACING pulse. Offensive pus smell."),
("Apis mellifica", "BEE STING: Stinging / burning / pitting oedema / NO THIRST / BETTER COLD."),
("Arnica montana", "FIRST remedy post ANY trauma or surgery. \"Bed feels too hard. I'm fine.\""),
("Digitalis", "Jaundice + VERY SLOW PULSE = think CBD/hepatic obstruction with cardiac effect."),
("Phosphorus", "Easy BLEEDER + craves COLD DRINKS + FEARS surgery. Post-op haemorrhage risk."),
]
k_data = [[Paragraph("Remedy", sTH), Paragraph("High-Yield Memory Key", sTH)]]
for r, m in keynotes:
k_data.append([Paragraph(r, sTD_b), Paragraph(m, sTD)])
k_t = Table(k_data, colWidths=[W*0.24, W*0.76])
k_t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), M1),
("ROWBACKGROUNDS",(0,1),(-1,-1), [M3, WHITE]),
("GRID", (0,0),(-1,-1), 0.3, colors.HexColor("#D0D0D0")),
("LINEBELOW", (0,0),(-1,0), 1.2, M2),
("TOPPADDING", (0,0),(-1,-1), 4),
("BOTTOMPADDING", (0,0),(-1,-1), 4),
("LEFTPADDING", (0,0),(-1,-1), 6),
("VALIGN", (0,0),(-1,-1), "TOP"),
]))
story.append(k_t)
story.append(sp(0.35))
# ── Footer note ───────────────────────────────────────
story.append(HRFlowable(width=W, thickness=0.5, color=GREY_MID, spaceAfter=4))
story.append(Paragraph(
"★ = Top / First Remedy for that condition | "
"For educational purposes only. Consult authoritative homeopathic materia medica for clinical practice.",
sNote))
story.append(Paragraph(
"References: Boericke's Pocket Manual of Homeopathic Materia Medica · "
"Surgical Diseases & Homeopathy — K.N. Mathur · "
"Bailey & Love's Short Practice of Surgery 28e · "
"Psorinum Therapy Study — PMC3004411",
sNote))
# ════════════════════════════════════════════════════
# BUILD
# ════════════════════════════════════════════════════
doc.build(story)
print(f"✅ PDF created: {OUTPUT}")
print(f" Size: {os.path.getsize(OUTPUT)/1024:.1f} KB")
python /tmp/workspace/homeopathy-vascular-pdf/generate_creative_pdf.py 2>&1
Hepato Biliary Thoracic CREATIVE
PDF Document · PDF
| Feature | Detail |
|---|---|
| Dark gradient cover page | Deep navy blue gradient with title, subtitle, and "Heer Chauhan" in gold italic |
| Organ-system colour coding | Terracotta (Liver) · Cobalt blue (Gallbladder) · Amber/saffron (Bile ducts) · Emerald (Thorax) |
| Colour-ruled dividers | Bold 3pt coloured rules between each organ section |
| Sub-section headers | Lighter-shade banners with indented rounded style |
| Alternating pastel rows | Pastel tint rows alternating with white for easy reading |
| ★ Top remedy highlights | Orange-bold for first-choice remedies so they stand out |
| Organ emoji icons | 🫀 🫁 💛 🟠 ⚡ 🧠 next to section titles |
| Auto page footer | Every page shows "Heer Chauhan" + guide title + "Page X of Y" |
| Memory keynotes table | Indigo-navy section with 14 high-yield differentials |