hey...can you introduce yourself and how can i get best from you
| Tip | Example |
|---|---|
| Be specific | "Explain the mechanism of metformin in type 2 diabetes" beats "tell me about diabetes" |
| State your goal | "I'm a medical student studying for finals" helps me calibrate depth |
| Ask for formats | "Give me a comparison table" or "summarize in bullet points" |
| Request citations | "With sources" triggers textbook/PubMed lookups |
| Attach files | Upload PDFs, images, spreadsheets - I can read and work with them |
| Ask follow-ups | I remember context within our conversation, so dig deeper freely |
do you know about homeopathic materia medica yes or no
so i want you to give me collective data from boericke and clarke materia medica for fever remedies
sorry i forgot to tell you..i'll tell you name of the remedy ...first you will give me symptoms of differenet fever stages like chill heat sweat....then any particulars about fever...llike periodicity..concomittent..desire or any negative symptoms in fever stage and then for clinical purpose type of fever for that remedy and atblast differentiating symptom of that remedy from another.. do you understannd
aconite napwllus
Aconite Napellus fever chill heat sweat Boericke materia medica
Aconite Napellus fever Clarke materia medica periodicity concomitants
http://www.homeoint.org/books/boericmm/a/acon.htm
| Parameter | Details |
|---|---|
| Periodicity | NO periodicity - Boericke explicitly states: "action is brief and shows NO periodicity" - this is a KEYNOTE NEGATIVE |
| Onset | Always sudden and violent - never gradual |
| Causation | Dry cold wind, fright, checked perspiration, surgical operation, injury, exposure to very hot sun |
| Time | Worse at night, midnight; worse towards evening |
| Concomitants | - Intense anxiety and fear of death - Restlessness and constant tossing - Prediction of exact hour of death - Clairvoyance / mental exaltation - Great thirst for cold water - Intolerance of pain - Sensitive to noise, light, touch |
| Desires in fever | Cold water in large quantities |
| Modalities | Worse: warm room, being covered, wine/stimulants, any liquid, night, music / Better: open air, uncovering, rest (except night) |
| Fever Type | Details |
|---|---|
| Inflammatory fevers | First remedy in all acute inflammatory fevers - the "gatekeeper" remedy |
| Catarrhal fever | After exposure to dry cold wind |
| Traumatic fever | After injuries, operations, fright |
| Puerperal fever | Early stage, with intense anxiety |
| Remittent fever | Early stage only (Clarke's therapeutics) |
| Dengue fever | Listed by Clarke |
| Catheter fever / Urethral fever | Clarke |
| Sunstroke / heat fever | Fever from sun exposure (Clarke) |
| Scarlatina | Inflammatory onset stage |
| Hyperpyrexia | High fever with intense restlessness |
| NOT indicated in: | Malarial fevers, typhoid (Boericke: "nearly always injurious in first stages of typhoid"), hectic fever, pyemic conditions, or any fever where pathological tissue change has already occurred |
| Feature | Aconite | Belladonna |
|---|---|---|
| Fear | Intense fear of death, predicts hour | No marked fear |
| Restlessness | Extreme tossing, can't stay still | Less restless |
| Thirst | Intense, for cold water | May be thirstless or moderate |
| Face | Red or alternately red/pale | Deep red, congested, hot |
| Sweat | Profuse sweat after heat | Often dry |
| Pupils | Normal | Dilated |
| Delirium | Anxious, fearful | Wild, violent, biting |
| Causation | Cold dry wind, fright | Sun, heat |
| Feature | Aconite | Bryonia |
|---|---|---|
| Onset | Sudden, violent | Gradual |
| Restlessness | Marked, tosses about | Wants absolute rest |
| Thirst | Frequent small sips to large gulps cold | Large quantities, infrequent |
| Irritability | From fear/anxiety | From being disturbed |
| Feature | Aconite | Ferrum Phos |
|---|---|---|
| Mental state | Intense fear, anxiety | Relatively calm |
| Stage | Early violent onset | Slow, insidious onset |
| Periodicity | None | May have some |
Sudden onset + Dry burning heat + Intense thirst for cold water + Fear of death with restlessness + After cold dry wind or fright + NO periodicity = ACONITE
Next fever remedy for detailed analysis 15 remedies for fever therapeutics..and i think your contetnt is too large for the therapeutics ...it is good for learning purpose but i think one page or slide for each remedy should be very much preferable for me
othe rthan aconite...
belladone, ferrum phos, bryonia, gelsemium, rhus tox, bapticia tincoa, eupatorium, arsenic alb, nux vomica, pulsatilla, chamomilla, hepar sulph,merc sol, phosphorus
Research homeopathic fever data for 7 remedies from Boericke and Clarke Materia Medica. For each remedy, extract the following specific fever information: 1. CHILL stage - onset, character, time, location, modalities 2. HEAT stage - character, thirst (present/absent, type), face, skin, modalities 3. SWEAT stage - time, character, parts, relief/aggravation 4. FEVER PARTICULARS - periodicity, concomitants (mental + physical symptoms during fever), desires/aversions, keynote negatives (what is ABSENT) 5. CLINICAL FEVER TYPES - which fevers this remedy is indicated for 6. DIFFERENTIATING SYMPTOMS - what sets this remedy apart from similar fever remedies The 7 remedies are: 1. Belladonna 2. Ferrum Phosphoricum 3. Bryonia Alba 4. Gelsemium Sempervirens 5. Rhus Toxicodendron 6. Baptisia Tinctoria 7. Eupatorium Perfoliatum Search homeoint.org for Boericke data (e.g. http://www.homeoint.org/books/boericmm/b/bell.htm for Belladonna) and Clarke data (e.g. http://www.homeoint.org/clarke/b/bell.htm). Also search web for any additional fever-specific details. Return a structured summary for each remedy with all the above sections filled in with specific, accurate details from Boericke and Clarke. Be detailed enough to fill one PowerPoint slide per remedy.
Research homeopathic fever data for 7 remedies from Boericke and Clarke Materia Medica. For each remedy, extract the following specific fever information: 1. CHILL stage - onset, character, time, location, modalities 2. HEAT stage - character, thirst (present/absent, type), face, skin, modalities 3. SWEAT stage - time, character, parts, relief/aggravation 4. FEVER PARTICULARS - periodicity, concomitants (mental + physical symptoms during fever), desires/aversions, keynote negatives (what is ABSENT) 5. CLINICAL FEVER TYPES - which fevers this remedy is indicated for 6. DIFFERENTIATING SYMPTOMS - what sets this remedy apart from similar fever remedies The 7 remedies are: 1. Arsenicum Album 2. Nux Vomica 3. Pulsatilla Nigricans 4. Chamomilla 5. Hepar Sulphuris Calcareum 6. Mercurius Solubilis 7. Phosphorus Search homeoint.org for Boericke data and Clarke data: - Boericke base URL: http://www.homeoint.org/books/boericmm/ - Clarke base URL: http://www.homeoint.org/clarke/ Also search the web for additional fever-specific details from both authors. Return a structured summary for each remedy with all the above sections filled in with specific, accurate details from Boericke and Clarke. Be detailed enough to fill one PowerPoint slide per remedy.
http://www.homeoint.org/books/boericmm/b/bell.htm
http://www.homeoint.org/books/boericmm/f/ferp.htm
http://www.homeoint.org/books/boericmm/b/bry.htm
http://www.homeoint.org/books/boericmm/a/ars.htm
http://www.homeoint.org/books/boericmm/n/nux-v.htm
http://www.homeoint.org/books/boericmm/p/puls.htm
http://www.homeoint.org/books/boericmm/c/cham.htm
http://www.homeoint.org/books/boericmm/g/gels.htm
http://www.homeoint.org/books/boericmm/b/bapt.htm
Belladonna fever chill heat sweat Boericke materia medica homeopathy complete
http://www.homeoint.org/books/boericmm/h/hep.htm
http://www.homeoint.org/books/boericmm/m/merc.htm
http://www.homeoint.org/books/boericmm/p/phos.htm
http://www.homeoint.org/books/boericmm/a/ars.htm
http://www.homeoint.org/books/boericmm/p/puls.htm
http://www.homeoint.org/books/boericmm/h/hep.htm
Belladonna fever section "no thirst" chill heat sweat Clarke homeopathic materia medica fever particulars
Ferrum phosphoricum fever homeopathy Boericke Clarke chill heat sweat thirst materia medica
Gelsemium fever chill heat sweat thirst "no thirst" Boericke Clarke materia medica complete
Boericke materia medica Arsenicum Album fever chill heat sweat "without thirst" "periodicity" site:homeoint.org OR site:homeoint.org/books
Boericke materia medica "Nux Vomica" fever "chill" "cannot get warm" "covered" sweat heat site:homeoint.org OR "boericke"
Clarke materia medica Arsenicum Album fever chill heat sweat "intermittent" periodicity site:homeoint.org/clarke
https://www.materiamedica.info/en/materia-medica/william-boeโฆ
Rhus toxicodendron fever chill restlessness heat sweat Boericke materia medica complete fever section
Eupatorium perfoliatum fever "bone pains" chill sweat thirst "vomiting of bile" Boericke materia medica
http://www.homeoint.org/clarke/a/ars.htm
http://www.homeoint.org/clarke/p/puls.htm
http://www.homeoint.org/clarke/h/hep.htm
https://www.materiamedica.info/en/materia-medica/william-boeโฆ
https://www.materiamedica.info/en/materia-medica/william-boeโฆ
Boericke "Arsenicum Album" fever "chill" "heat" "sweat" "cold sweats" "great heat about 3 am" "without thirst" homeopathy materia medica
Boericke "Nux Vomica" fever chill "cannot get warm" "covered" "external heat" sweat homeopathy materia medica complete text
Clarke "Arsenicum Album" fever "27. Fever" chill heat sweat "intermittent" materia medica dictionary
https://www.materiamedica.info/en/materia-medica/john-henry-โฆ
https://www.materiamedica.info/en/materia-medica/john-henry-โฆ
https://www.materiamedica.info/en/materia-medica/john-henry-โฆ
https://ccrhindia.ayush.gov.in/sites/default/files/2023-06/Jโฆ
Clarke "Nux Vomica" "27. Fever" chill "must be covered" heat sweat chilliness "intermittent" materia medica
Boericke Hepar Sulphur fever "chilliness" "chill" "heat" "sweat" "without thirst" homeopathy materia medica text
https://www.materiamedica.info/en/materia-medica/john-henry-โฆ
Bryonia fever "thirst for large quantities" "thirst for large draughts" chill sweat Clarke homeopathy materia medica
Baptisia tinctoria fever delirium confusion putrid sepsis typhoid sweat homeopathy Boericke Clarke materia medica
https://aafiyahealthcare.com/wp-content/uploads/2017/05/willโฆ
Boericke materia medica Mercurius Solubilis fever "chill" "heat" "sweat" "thirst" "night aggravation" complete text
Boericke Phosphorus fever "chill" "heat" "sweat" "thirst" "hectic" "typhoid" full text materia medica
Rhus toxicodendron fever Clarke "restlessness" "dry cough" "chill" "typhoid" "urticaria" complete fever section
Ferrum phosphoricum fever Clarke "first stage" "chill" "1pm" "soft pulse" "no modalities" distinguishing from Bell Acon Gels
https://www.vithoulkas.com/learning-tools/materia-medica-claโฆ
Gelsemium fever Clarke materia medica "chill" "heat" "thirstless" "prostration" "dumb ague" complete fever section
https://www.materiamedica.info/en/materia-medica/william-boeโฆ
https://www.materiamedica.info/en/materia-medica/william-boeโฆ
https://www.materiamedica.info/en/materia-medica/william-boeโฆ
https://www.materiamedica.info/en/materia-medica/william-boeโฆ
Boericke Chamomilla fever "chill" "heat" "sweat" "one cheek red" thirst full text materia medica
Boericke "Pulsatilla" fever "chilliness" "thirstlessness" "no thirst" heat sweat "one-sided" full materia medica text
https://www.materiamedica.info/en/materia-medica/john-henry-โฆ
https://www.materiamedica.info/en/materia-medica/john-henry-โฆ
https://www.materiamedica.info/en/materia-medica/john-henry-โฆ
https://www.materiamedica.info/en/materia-medica/john-henry-โฆ
Clarke "Hepar Sulphuris" OR "Hepar Sulphur" "27. Fever" chill heat sweat "profuse" materia medica fever section text
Clarke Mercurius fever "27. Fever" "profuse perspiration" "night sweat" "chilliness" "chill" materia medica text
Clarke Phosphorus "27. Fever" "hectic" "chill" "sweat" "thirst" "typhoid" materia medica text
https://www.materiamedica.info/en/materia-medica/john-henry-โฆ
https://www.materiamedica.info/en/materia-medica/john-henry-โฆ
Clarke Mercurius fever section "creeping chilliness" "profuse night sweats" "shuddering" "alternately" symptoms complete text
https://homeopathybooks.in/dictionary-of-practical-materia-mโฆ
Clarke "Hepar Sulphuris" fever "sweating" "chilly" "perspiration" "shivering" section 27 materia medica complete
Clarke Pulsatilla "27. Fever" chill heat sweat thirstless "one-sided" "4 pm" complete text materia medica
Boericke Chamomilla fever section "souring perspiration" "hot sweat" "chilly" "thirst" "one cheek" "bitter" text
Clarke Hepar Sulphuris fever "chilly" "perspiration" "sweat" "sour" "offensive" section 27 "Hepar sulph" text
Clarke Hepar sulphuris "27 Fever" OR "section fever" "chilliness" "profuse perspiration" "sour sweat" full text materia medica vithoulkas site
ls -la /tmp/workspace/ 2>/dev/null || echo "workspace not found"
mkdir -p /tmp/workspace/homeopathy-fever-pptx
complile all in one ppt that is aesthetic yet academic suited and editabele
~/homeopathy-fever-pptx/build_pptx.py
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.util import Inches, Pt
import copy
# โโ Colour Palette โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
NAVY = RGBColor(0x0D, 0x2B, 0x55) # deep navy
TEAL = RGBColor(0x1A, 0x7A, 0x8A) # academic teal
GOLD = RGBColor(0xD4, 0xA0, 0x17) # warm gold accent
LIGHT_BG = RGBColor(0xF4, 0xF7, 0xFA) # off-white slide BG
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
DARK_TEXT = RGBColor(0x1C, 0x1C, 0x2E)
MID_GREY = RGBColor(0x55, 0x65, 0x78)
CHILL_COL = RGBColor(0x1A, 0x5A, 0x9A) # blue for chill
HEAT_COL = RGBColor(0xC0, 0x39, 0x2B) # red for heat
SWEAT_COL = RGBColor(0x27, 0x7A, 0x46) # green for sweat
PART_COL = RGBColor(0x7D, 0x3C, 0x98) # purple for particulars
CLIN_COL = RGBColor(0xD4, 0x6A, 0x17) # orange for clinical
DIFF_COL = RGBColor(0x0D, 0x2B, 0x55) # navy for differentials
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]
# โโ helpers โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
def bg_rect(slide, x, y, w, h, color):
from pptx.util import Inches
shape = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
shape.fill.solid()
shape.fill.fore_color.rgb = color
shape.line.fill.background()
return shape
def add_tb(slide, x, y, w, h, text, size, bold=False, color=DARK_TEXT,
align=PP_ALIGN.LEFT, wrap=True, italic=False, font="Calibri"):
tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = tb.text_frame
tf.word_wrap = wrap
tf.margin_left = Pt(2); tf.margin_right = Pt(2)
tf.margin_top = Pt(1); tf.margin_bottom = Pt(1)
p = tf.paragraphs[0]
p.alignment = align
run = p.add_run()
run.text = text
run.font.name = font
run.font.size = Pt(size)
run.font.bold = bold
run.font.italic = italic
run.font.color.rgb = color
return tb
def add_section_header(slide, x, y, w, label, color):
"""Coloured pill header for each section."""
bg_rect(slide, x, y, w, 0.28, color)
add_tb(slide, x+0.05, y, w-0.1, 0.28, label, 8, bold=True,
color=WHITE, align=PP_ALIGN.LEFT)
def add_bullet_box(slide, x, y, w, h, lines, size=7.5, color=DARK_TEXT):
tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
tf = tb.text_frame
tf.word_wrap = True
tf.margin_left = Pt(3); tf.margin_right = Pt(2)
tf.margin_top = Pt(1); tf.margin_bottom = Pt(1)
first = True
for line in lines:
if first:
p = tf.paragraphs[0]; first = False
else:
p = tf.add_paragraph()
p.space_before = Pt(1)
run = p.add_run()
run.text = line
run.font.name = "Calibri"
run.font.size = Pt(size)
run.font.color.rgb = color
return tb
def divider(slide, x, y, w, color=GOLD):
ln = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(0.02))
ln.fill.solid(); ln.fill.fore_color.rgb = color
ln.line.fill.background()
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# TITLE SLIDE
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
def make_title_slide(prs):
slide = prs.slides.add_slide(blank)
# full bg
bg_rect(slide, 0, 0, 13.333, 7.5, NAVY)
# gold accent bar left
bg_rect(slide, 0, 0, 0.18, 7.5, GOLD)
# teal band bottom
bg_rect(slide, 0, 6.0, 13.333, 1.5, TEAL)
add_tb(slide, 0.5, 1.2, 12.3, 1.0,
"HOMEOPATHIC FEVER REMEDIES", 38, bold=True,
color=WHITE, align=PP_ALIGN.CENTER, font="Calibri")
add_tb(slide, 0.5, 2.25, 12.3, 0.6,
"A Comprehensive Materia Medica Reference", 20,
color=GOLD, align=PP_ALIGN.CENTER, italic=True)
divider(slide, 1.5, 3.0, 10.333, WHITE)
add_tb(slide, 0.5, 3.15, 12.3, 0.5,
"Sources: Boericke's Pocket Manual โข Clarke's Dictionary of Practical Materia Medica", 13,
color=RGBColor(0xCC,0xDD,0xEE), align=PP_ALIGN.CENTER)
remedies = [
"1. Aconite Napellus", "2. Belladonna", "3. Ferrum Phosphoricum",
"4. Bryonia Alba", "5. Gelsemium", "6. Rhus Toxicodendron",
"7. Baptisia Tinctoria", "8. Eupatorium Perfoliatum", "9. Arsenicum Album",
"10. Nux Vomica", "11. Pulsatilla", "12. Chamomilla",
"13. Hepar Sulphuris", "14. Mercurius Solubilis", "15. Phosphorus"
]
col1 = remedies[:8]
col2 = remedies[8:]
add_bullet_box(slide, 1.0, 3.8, 5.5, 3.0, col1, size=10, color=WHITE)
add_bullet_box(slide, 7.0, 3.8, 5.5, 3.0, col2, size=10, color=WHITE)
add_tb(slide, 0.5, 6.15, 12.3, 0.5,
"Fever Analysis: Stages โข Particulars โข Clinical Types โข Differentials", 11,
color=WHITE, align=PP_ALIGN.CENTER)
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# REMEDY SLIDE BUILDER
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
def make_remedy_slide(prs, num, name, latin, chill, heat, sweat, particulars, clinical, differentials, master_key):
slide = prs.slides.add_slide(blank)
# Background
bg_rect(slide, 0, 0, 13.333, 7.5, LIGHT_BG)
# โโ TOP HEADER BAR โโ
bg_rect(slide, 0, 0, 13.333, 1.0, NAVY)
bg_rect(slide, 0, 0, 0.12, 1.0, GOLD) # left gold strip
# Remedy number badge
bg_rect(slide, 0.18, 0.1, 0.55, 0.8, TEAL)
add_tb(slide, 0.18, 0.1, 0.55, 0.8, str(num), 22, bold=True,
color=WHITE, align=PP_ALIGN.CENTER)
# Remedy name
add_tb(slide, 0.82, 0.05, 8.0, 0.55, name.upper(), 22, bold=True,
color=WHITE, align=PP_ALIGN.LEFT, font="Calibri")
add_tb(slide, 0.82, 0.58, 6.0, 0.38, latin, 11, italic=True,
color=GOLD, align=PP_ALIGN.LEFT)
# Source tag top right
add_tb(slide, 10.0, 0.1, 3.2, 0.4,
"Boericke โข Clarke", 9, color=RGBColor(0xAA,0xCC,0xEE),
align=PP_ALIGN.RIGHT)
add_tb(slide, 10.0, 0.5, 3.2, 0.35,
"Materia Medica Reference", 8, italic=True,
color=RGBColor(0x88,0xAA,0xCC), align=PP_ALIGN.RIGHT)
# โโ ROW 1: CHILL | HEAT | SWEAT (3 equal columns) โโ
col_w = 4.1
col_gap = 0.12
row1_y = 1.08
row1_h = 2.18
for i, (label, col_color, items) in enumerate([
("๐ฅถ CHILL STAGE", CHILL_COL, chill),
("๐ฅ HEAT STAGE", HEAT_COL, heat),
("๐ง SWEAT STAGE", SWEAT_COL, sweat),
]):
cx = 0.12 + i * (col_w + col_gap)
bg_rect(slide, cx, row1_y, col_w, row1_h, WHITE)
# coloured top strip
bg_rect(slide, cx, row1_y, col_w, 0.27, col_color)
add_tb(slide, cx+0.08, row1_y, col_w-0.1, 0.27, label, 8.5,
bold=True, color=WHITE)
add_bullet_box(slide, cx+0.08, row1_y+0.3, col_w-0.16,
row1_h-0.35, items, size=7.5)
# โโ ROW 2: PARTICULARS | CLINICAL | DIFFERENTIALS โโ
row2_y = 3.38
row2_h = 2.35
sections = [
("โก FEVER PARTICULARS", PART_COL, particulars, 4.1),
("๐ฅ CLINICAL FEVER TYPES", CLIN_COL, clinical, 3.85),
("๐ฏ DIFFERENTIATING SX", DIFF_COL, differentials, 4.35),
]
xs = [0.12, 4.35, 8.33]
for (label, col_color, items, w), cx in zip(sections, xs):
bg_rect(slide, cx, row2_y, w, row2_h, WHITE)
bg_rect(slide, cx, row2_y, w, 0.27, col_color)
add_tb(slide, cx+0.08, row2_y, w-0.1, 0.27, label, 8.5,
bold=True, color=WHITE)
add_bullet_box(slide, cx+0.08, row2_y+0.3, w-0.16,
row2_h-0.35, items, size=7.5)
# โโ MASTER KEY FOOTER โโ
bg_rect(slide, 0, 5.85, 13.333, 0.52, NAVY)
add_tb(slide, 0.2, 5.87, 13.0, 0.46,
"๐ " + master_key, 8.5, bold=False,
color=GOLD, align=PP_ALIGN.LEFT)
# โโ PAGE NUMBER โโ
add_tb(slide, 12.5, 7.1, 0.7, 0.3, str(num), 8,
color=MID_GREY, align=PP_ALIGN.RIGHT)
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# REMEDY DATA
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
remedies_data = [
dict(
num=1, name="Aconite Napellus", latin="Aconitum napellus (Monkshood)",
chill=[
"โข Sudden, violent onset after dry cold wind",
"โข Intense shaking chill; chilly if uncovered/touched",
"โข Anxiety and fear from the very start of chill",
"โข Warm room aggravates chill",
"โข Rigors worse at night and during rest",
],
heat=[
"โข Dry, burning heat โ skin hot and dry initially",
"โข Face: RED or alternately red and pale (keynote)",
"โข Bed is INTOLERABLE โ wants to uncover",
"โข INTENSE thirst for large quantities of cold water",
"โข Worse: night, midnight; Better: open air",
"โข Extreme sensitivity to light, sound and pain",
],
sweat=[
"โข Profuse general sweat follows heat stage",
"โข Sweat RELIEVES โ fever begins to resolve",
"โข Sweat on affected/covered parts (Clarke)",
"โข The cheek lain on sweats โ peculiar sign",
"โข Marked weakness after sweat",
],
particulars=[
"Periodicity: NO periodicity (Boericke keynote)",
"Onset: Always sudden and violent โ never gradual",
"Cause: Dry cold wind, fright, checked perspiration",
"Time: Worse night, midnight; worse toward evening",
"Concomitants: Fear of death, predicts exact hour",
"Clairvoyance; tossing; intolerance of pain",
"Desire: Cold water in large quantities",
"Negative: No periodicity; no tissue change",
],
clinical=[
"โฆ Inflammatory fevers โ FIRST remedy (gatekeeper)",
"โฆ Catarrhal fever after dry cold wind",
"โฆ Traumatic fever โ injuries, operations, fright",
"โฆ Puerperal fever (early, intense anxiety)",
"โฆ Dengue; Catheter fever; Sunstroke",
"โฆ Scarlatina; Hyperpyrexia",
"โ NOT: Malarial, typhoid, hectic, pyemic fevers",
"โ NOT when tissue change has already occurred",
],
differentials=[
"vs. Belladonna: Acon has fear/anxiety; Bell has delirium",
" Bell face deep red; Acon red-pale alternating",
"vs. Bryonia: Acon sudden; Bry gradual onset",
" Bry > rest; Acon restless throughout",
"vs. Ferr-phos: Acon violent, anxious; Ferr calm",
" Ferr gradual, soft pulse, no modalities",
"KEY: Sudden + dry heat + cold water thirst",
" + fear of death + NO periodicity = ACON",
],
master_key="Sudden violent onset โข Dry burning heat โข Alternating red-pale face โข Intense cold water thirst โข Fear of death/predicts hour โข Restlessness โข NO periodicity"
),
dict(
num=2, name="Belladonna", latin="Atropa belladonna (Deadly Nightshade)",
chill=[
"โข Sudden, violent, congestive type",
"โข Shivering with yawning and stretching",
"โข ~3 PM afternoon onset; evening",
"โข Hot cheeks WITH cold extremities",
"โข Chill begins with violent frontal headache",
"โข Dilated pupils, dread of light and noise in chill",
],
heat=[
"โข Burning, PUNGENT, STEAMING heat โ radiated at distance",
"โข Face: BRIGHT red, flushed, bloated, throbbing carotids",
"โข NO THIRST despite dry mouth (keynote negative!)",
"โข Icy cold feet WITH burning hot head",
"โข Worse: touch, jar, noise, draft, afternoon",
"โข Better: semi-erect position",
],
sweat=[
"โข SWEAT ONLY ON HEAD โ body remains DRY (keynote!)",
"โข Copious sweat on head during night/morning",
"โข Covered parts may sweat; body dry",
"โข Head remains hot even after sweating",
"โข Sweat brings partial relief only",
],
particulars=[
"Periodicity: Quotidian/double quotidian/tertian; evening",
"Mental: VIOLENT delirium โ biting, striking, screaming",
" Hallucinations of frightening imagery; hypersthesia",
"Physical: Throbbing headache; cold feet/hot head",
" Convulsive twitchings; dry mouth WITHOUT thirst",
"Desires: Lemon/lemonade; AVERSION to water",
"Negatives: NO thirst; NO body sweat; NO toxaemia",
" NO anxiety (cf. Aconite)",
],
clinical=[
"โฆ Scarlet fever โ PREMIER remedy (prophylactic + curative)",
"โฆ High inflammatory fever โ sudden onset",
"โฆ Meningitic fever with convulsions",
"โฆ Children's fevers โ #1 remedy (ABC: A-B-C)",
"โฆ Sunstroke / Hyperthermia",
"โฆ Septic fevers in early congestive stage",
"โฆ Intermittent fevers (quotidian/tertian)",
],
differentials=[
"vs. Aconite: Bell = delirium; Acon = fear/anxiety",
" Bell face uniformly deep red; Acon red-pale alternating",
"vs. Ferr-phos: Ferr gradual, soft pulse; Bell sudden/violent",
"vs. Gelsemium: Gels drowsy/dusky; Bell bright red/violent",
"vs. Chamomilla: Cham ONE cheek red; Bell BOTH cheeks red",
"KEY: Burning radiated heat + NO thirst + Sweat only head",
" + Icy feet/hot head + Violent delirium = BELL",
],
master_key="Sudden pungent heat felt at a distance โข NO thirst despite dry mouth โข Sweat ONLY on head โข Icy cold feet + burning hot head โข Violent delirium โข Bright red face"
),
dict(
num=3, name="Ferrum Phosphoricum", latin="Ferrum phosphoricum (Iron Phosphate โ Biochemic Salt #4)",
chill=[
"โข GRADUAL, insidious onset โ not sudden",
"โข Chill daily at 1 PM (specific clock time โ keynote)",
"โข Chilliness over whole back; palms hot",
"โข Also worse 4โ6 PM",
"โข Shivering without violent rigors",
],
heat=[
"โข Moderate heat; NOT intense steaming like Bell",
"โข Face alternates pale THEN red (never dusky)",
"โข GREAT THIRST for much cold water (Clarke)",
"โข Thirsty even during chill โ paradoxical",
"โข Soft, flowing pulse (not hard bounding like Bell)",
"โข Better: cold applications; Worse: touch, motion, right side",
],
sweat=[
"โข Night sweats โ exhausting, anaemic type",
"โข Palms hot and sweating",
"โข Profuse morning sweat with nausea (Clarke)",
"โข Little relief from sweating",
"โข Symptoms persist through sweat stage",
],
particulars=[
"Periodicity: Chill at 1 PM; worse 4โ6 PM",
" First stage of ALL inflammatory fevers",
"Mental: PAUCITY of symptoms โ mild, changeable mood",
" Sensitivity to noise; no clear mental keynote",
"Physical: Rapid but SOFT pulse; haemorrhages (bright red)",
" Hard dry cough; tonsillitis; earache",
"Desires: Lemon/lemonade; averse to meat, milk, eggs",
"Negative: NO anxious restlessness; NO clear modalities",
],
clinical=[
"โฆ FIRST STAGE of ALL inflammatory/catarrhal fevers",
"โฆ Before localisation/exudation sets in",
"โฆ Bronchitis of young children (first stage)",
"โฆ Anaemic/constitutionally weak subjects",
"โฆ Pneumonia first stage (with haemoptysis)",
"โฆ Rheumatic fever first stage",
"โฆ Congestion fevers from sun/mechanical injuries",
"Use when NO clear indicating symptoms yet",
],
differentials=[
"vs. Aconite: Acon violent/anxious/sudden; Ferr gradual/calm",
"vs. Belladonna: Bell hard bounding pulse + delirium; Ferr soft pulse",
"vs. Gelsemium: Gels adynamic/dusky; Ferr flushed (never dusky)",
"Ferr โ Bell when symptoms become more violent/definite",
"Ferr โ Gels when more adynamic/prostrated",
"KEY: First-stage remedy โข Gradual onset โข 1 PM chill",
" โข Soft pulse โข No clear modalities = FERR-PHOS",
],
master_key="FIRST STAGE remedy โข Gradual onset โข Chill at 1 PM โข Soft flowing pulse โข NO anxious restlessness โข NO clear modalities โ prescribed when symptoms undeclared"
),
dict(
num=4, name="Bryonia Alba", latin="Bryonia alba (White Bryony)",
chill=[
"โข Gradual, slow development; preceded by vertigo",
"โข Chilliness in evenings; worse 3โ4 PM",
"โข Dry cough WITH STITCHES during chill",
"โข Chilliness in room > open air (wants outside)",
"โข Heat in head/red face during chill stage",
],
heat=[
"โข Dry, burning internal heat โ blood burning in veins",
"โข GREAT THIRST โ large quantities at LONG INTERVALS",
"โข Wants cold water only; averse warm drinks",
"โข Pulse: full, hard, tense and quick",
"โข Worse: ANY motion, warmth, morning, eating",
"โข Better: lying on PAINFUL SIDE, pressure, rest, cold",
],
sweat=[
"โข SOUR-smelling, profuse perspiration",
"โข Cold sweat on forehead and head",
"โข Sweat from least exertion/motion",
"โข Even sweating is WORSE by motion",
"โข Oily; eventually brings relief",
],
particulars=[
"Periodicity: Tertian/quotidian; gastro-hepatic complications",
"Mental: Talks BUSINESS in delirium โ wants to go HOME",
" Irritable; refuses to be disturbed/spoken to",
"Physical: DRYNESS everywhere โ lips cracked, tongue dry",
" CONSTIPATION with dry hard stool (not diarrhoea!)",
" Stitching pains in chest/pleura; hepatic congestion",
"Desires: Cold water (large amounts, infrequently)",
"Negatives: NO violent delirium; NO rest relieves motion",
],
clinical=[
"โฆ Rheumatic fever with gastro-hepatic complications",
"โฆ Typhoid fever โ early, with constipation/gastric sx",
"โฆ Pleuritic / Pneumonic fever โ stitching chest pains",
"โฆ Bilious fever โ bitter taste, constipation",
"โฆ Milk fever post-partum (hot, hard, engorged breasts)",
"โฆ Yellow fever (Clarke)",
"โฆ Gastric fever with hepatic congestion",
],
differentials=[
"vs. Gelsemium: Gels NO thirst + prostration + spinal chills",
" Bry GREAT thirst + dryness + motion aggravation",
"vs. Rhus-tox: EXACT OPPOSITE modalities!",
" Bry: < motion, > rest | Rhus: < rest, > motion",
" (Bry and Rhus = complementary pair in fever)",
"vs. Arsenicum: Bry thirsty big gulps; Ars sips frequently",
"KEY: Greatest thirst MM + Stillness + Dryness",
" + Constipation + Business delirium = BRY",
],
master_key="GREATEST thirst โ large quantities, long intervals โข Absolute desire for rest (any motion aggravates ALL symptoms) โข Dryness everywhere โข Constipation โข Business delirium"
),
dict(
num=5, name="Gelsemium Sempervirens", latin="Gelsemium sempervirens (Yellow Jasmine)",
chill=[
"โข Gradual, insidious; slow onset over days",
"โข SPINAL CHILLS โ wave-like, sacrum โ occiput (keynote)",
"โข Trembling; wants to be HELD (shakes so much)",
"โข Worse: damp/foggy weather, before thunderstorm",
"โข Worse: 10 AM; from emotion/bad news",
"โข Better: profuse urination, open air",
],
heat=[
"โข Moderate heat; DROWSINESS predominates",
"โข NO THIRST โ thirstless, prostrated (cardinal keynote)",
"โข Face: full, dusky-red, expressionless (not bright red)",
"โข Chin trembles; great muscular weakness",
"โข Slow, full, soft, compressible pulse",
"โข Better: profuse urination (relieves headache uniquely)",
],
sweat=[
"โข Heat and sweat stages long and exhausting",
"โข PROFUSE URINATION may SUBSTITUTE for sweat",
"โข Urination relieves headache โ unique keynote",
"โข Sweating is exhausting; not necessarily profuse",
"โข General fatigue after slightest exertion",
],
particulars=[
"Periodicity: Dumb ague (no clear periodicity); bilious remittent",
"Mental: 4 Ds โ Dullness, Drowsiness, Dizziness, Drooping",
" Profound APATHY โ wants to be left alone",
" Emotional CAUSE triggers illness (fright, bad news)",
" Falls asleep WHILE being addressed",
"Physical: Great muscular weakness; trembling; heavy head/limbs",
" Diplopia; band-like headache; ptosis of eyelids",
"Negatives: NO thirst; NO anxiety/fear; NO violent delirium",
],
clinical=[
"โฆ INFLUENZA โ #1 remedy (successful in 1918 pandemic)",
"โฆ Malarial / bilious remittent fever โ dumb ague",
"โฆ Typhoid fever โ stuporous/adynamic stage",
"โฆ Scarlet fever with stupor and flushed face",
"โฆ Measles โ brings out eruption; catarrhal symptoms",
"โฆ Nervous/anticipatory fever โ from fright, emotion",
"โฆ Cerebro-spinal fever โ muscular weakness/rigidity",
],
differentials=[
"vs. Belladonna: Bell burning/bright red/delirium; Gels drowsy/dusky",
"vs. Bryonia: Bry great thirst + dryness; Gels no thirst + weakness",
"vs. Ferr-phos: Ferr first stage/mild; Gels adynamic/prostrated",
"vs. Baptisia: Bapt fetid secretions + split personality; Gels just weak",
"vs. Eupatorium: Eup intense bone pain + thirst; Gels no thirst + flaccid",
"KEY: 4 Ds + Spinal chills + NO thirst + Trembling",
" + Urination relieves headache = GELS",
],
master_key="4 Ds: Dullness + Drowsiness + Dizziness + Drooping eyelids โข Spinal wave chills (sacrumโocciput) โข NO thirst โข Wants to be held โข Urination relieves headache"
),
dict(
num=6, name="Rhus Toxicodendron", latin="Rhus toxicodendron (Poison Ivy)",
chill=[
"โข Evening onset; as if dashed with ice-cold water",
"โข DRY TEASING COUGH during chill (not during heat!)",
"โข Chill begins in BACK or right thigh โ spreads",
"โข Great bodily RESTLESSNESS with chill",
"โข Chill INCREASES on drinking (cold water aggravates)",
"โข Worse: at night; 3 AM; at rest",
],
heat=[
"โข Heat as if hot water thrown over body",
"โข Adynamic; trembling; restless during heat",
"โข THIRST โ especially for COLD MILK at night (keynote)",
"โข Face: livid during heat; circumscribed cheek redness",
"โข URTICARIA breaks out over body during heat stage",
"โข Better: warmth, dry weather, continued gentle motion",
],
sweat=[
"โข Profuse, SOUR-smelling sweat toward 3โ4 AM",
"โข General sweat; NOT on face (characteristic!)",
"โข Sweat RELIEVES โ heat โ sweat = amelioration",
"โข Sour, morning perspiration",
"โข Occurs during heat then persists after",
],
particulars=[
"Periodicity: Tertian/quotidian/intermittent โ marked adynamia",
"Mental: Great RESTLESSNESS โ must constantly change position",
" Restlessness from PHYSICAL DISCOMFORT (not anxiety)",
" Weeping without cause; anxiety at night; superstitious",
"Physical: TRIANGULAR RED TIP of tongue (typhoid keynote!)",
" Stiffness: < first motion, > continued motion",
" Sordes on teeth; bone/muscle soreness; urticaria",
"Desires: Cold milk at night; warm drinks generally",
],
clinical=[
"โฆ TYPHOID fever โ restless, triangular red tongue, sordes",
"โฆ Intermittent/malarial fever โ tertian; urticaria in heat",
"โฆ INFLUENZA with stiffness, soreness, bone aches",
"โฆ Rheumatic fever โ stiffness + restlessness",
"โฆ Septic/adynamic fevers with trembling",
"โฆ Scarlet fever with erysipelas-like skin",
"โฆ Meningitis in exanthematous fevers",
],
differentials=[
"vs. Bryonia: EXACT OPPOSITE modalities!",
" Bry: < motion, > rest | Rhus: < rest, > motion",
"vs. Arsenicum: Both restless; Ars = anxiety-driven;",
" Rhus = physical discomfort-driven; Ars has burning",
"vs. Gelsemium: Gels exhausted/still; Rhus must move",
"vs. Baptisia: Both typhoid; Bapt fetid + split self;",
" Rhus restless + triangular red tongue",
"KEY: Urticaria in heat + Dry cough in chill + Triangle tongue",
],
master_key="Restlessness from physical discomfort โข Urticaria during heat stage โข Dry teasing cough during CHILL โข Triangular red tip of tongue โข Sour morning sweat relieves โข < rest, > motion"
),
dict(
num=7, name="Baptisia Tinctoria", latin="Baptisia tinctoria (Wild Indigo)",
chill=[
"โข Gradual progression into septic state",
"โข Chill at ~11 AM (Boericke specific time)",
"โข Chills with rheumatic soreness all over body",
"โข Chills over back and lower limbs",
"โข 3 AM: chills with flashes of heat",
],
heat=[
"โข Face: DARK, BESOTTED, DUSKY โ drunken appearance",
"โข Dark reddish-purple; expressionless look",
"โข Whole surface hot and dry; livid spots on body",
"โข Thirst present; offensive mouth",
"โข Worse: humid heat, fog, indoors",
"โข Better: open air",
],
sweat=[
"โข FETID, OFFENSIVE sweat (all secretions offensive)",
"โข Critical sweat โ forehead and face (typhus)",
"โข Sweat BREAKS OUT and RELIEVES in typhus",
"โข General fetid perspiration",
"โข Rapid exhaustion after sweating",
],
particulars=[
"Periodicity: Continuous/remittent; rapid descent to sepsis",
"Mental: ILLUSION OF DIVIDED PERSONALITY (pathognomonic!)",
" 'I am in two pieces, cannot find my parts'",
" Falls asleep MID-SENTENCE while answering",
" Muttering delirium; perfect indifference; stupor",
"Physical: ALL SECRETIONS OFFENSIVE (breath, sweat, stool, urine)",
" PAINLESS prostration; decubitus forms rapidly",
" Can only swallow LIQUIDS; aversion to food",
],
clinical=[
"โฆ TYPHOID fever โ #1 remedy (besotted, fetid, dissociation)",
"โฆ Typhus fever โ nervous symptoms predominate early",
"โฆ Shipboard/epidemic fever from overcrowding",
"โฆ Septicaemia โ blood poisoning, septic fevers",
"โฆ Influenza โ epidemic, extreme prostration + fetid secretions",
"โฆ Malarial poisoning โ adynamic type",
"โฆ Relapsing fever",
],
differentials=[
"vs. Arnica: Both bruised soreness; Bapt more putrid/confused;",
" Arn patients DENY being sick; Bapt dissociates",
"vs. Rhus-tox: Both typhoid; Rhus restless + triangle tongue;",
" Bapt stuporous + fetid + illusion of duality",
"vs. Gelsemium: Gels muscle weakness/trembling; Bapt putrid + split",
"vs. Muriatic Acid: Both typhoid stupor; MurAc more extreme prostration",
"KEY: Besotted face + ALL secretions fetid + Divided self",
" + Falls asleep mid-sentence = BAPT",
],
master_key="'Besotted' drunken expression โข ALL secretions OFFENSIVE โข Illusion of divided personality โข Falls asleep mid-sentence โข Painless prostration โข Rapid putrefaction tendency"
),
dict(
num=8, name="Eupatorium Perfoliatum", latin="Eupatorium perfoliatum (Boneset / Thoroughwort)",
chill=[
"โข Chill at 7โ9 AM (specific clock time โ keynote)",
"โข THIRST BEFORE CHILL โ patient knows it is coming",
"โข Cold water HASTENS/WORSENS chill (paradoxical!)",
"โข Intense BONE ACHING with moaning during chill",
"โข Nausea and vomiting from least motion in chill",
"โข More shivering than degree of coldness warrants",
],
heat=[
"โข Heat with throbbing headache; nausea + vomiting of bile",
"โข THIRST THROUGHOUT โ before, during, and after chill",
"โข Insatiable thirst; drinks cold water (worsens chill)",
"โข Face flushed; yellow tinge in bilious cases",
"โข Jaundiced tinge in liver/bilious involvement",
"โข Better: conversation; getting on hands and knees",
],
sweat=[
"โข Perspiration RELIEVES ALL symptoms EXCEPT headache",
"โข Headache persists through sweat (unique keynote!)",
"โข Nocturnal perspiration; coldness during sweat",
"โข General perspiration after heat stage",
"โข Cold water before chill doesn't help and hastens chill",
],
particulars=[
"Periodicity: MARKED โ tertian/quotidian; 3rd and 7th day headache",
" Paroxysm begins 7โ9 AM; anticipates",
"Mental: Restlessness; moaning; anxiety during fever",
" No specific mental keynotes beyond suffering",
"Physical: BONE PAINS as if BONES WOULD BREAK โ most extreme in MM",
" Soreness of flesh + ALL bones; vomiting of bile at chill's close",
" Throbbing headache all stages; soreness of eyeballs",
"Negatives: Sweat does NOT relieve headache; cold water worsens",
],
clinical=[
"โฆ INTERMITTENT MALARIAL fever โ bone-aching malaria",
"โฆ DENGUE fever / Breakbone fever โ extreme bone pain",
"โฆ INFLUENZA with soreness of muscles AND bones",
"โฆ Bilious remittent fever โ vomiting of bile",
"โฆ Typhoid fever โ gastro-hepatic type",
"โฆ Old chronic bilious intermittents with cachexia",
],
differentials=[
"vs. China: Both periodicity + bone aching; China debilitated",
" from fluid loss (painless); Eup-per most intense bone pain in MM",
"vs. Bryonia: Both thirst + liver; Bry < motion; Eup no relief from rest/motion",
"vs. Gelsemium: Both influenza; Gels NO thirst + weakness + spinal chills;",
" Eup-per INTENSE thirst + bone-breaking pain + 7โ9 AM chill",
"vs. Arnica: Both bruised/sore; Arn superficial soreness; Eup deep bone pain",
"KEY: Breakbone pains + Thirst BEFORE chill + Cold water worsens chill",
" + Sweat relieves ALL EXCEPT headache = EUP-PER",
],
master_key="Breakbone pains โ MOST intense bone pain in Materia Medica โข Thirst BEFORE chill (knows chill is coming) โข Cold water WORSENS chill โข Sweat relieves everything EXCEPT headache โข 7โ9 AM chill"
),
dict(
num=9, name="Arsenicum Album", latin="Arsenicum album (Arsenic Trioxide)",
chill=[
"โข Anticipates โ comes EARLIER each paroxysm",
"โข After midnight (1โ2 AM); periodic โ every 3โ4 days",
"โข Intense, persistent chilliness; icy cold body",
"โข Worse: cold, cold drinks, cold air, seashore",
"โข BETTER: warmth (loves warmth in ALL stages)",
"โข Cold, viscid sweat WITH chill",
],
heat=[
"โข Great burning heat principally at NIGHT (3 AM)",
"โข THIRST: small sips, FREQUENTLY repeated (keynote!)",
"โข Wants cold water but rejects it once it warms",
"โข Face: puffed, earthy, sunken; anxious expression",
"โข Internal burning; better from external warmth",
"โข Worse: uncovering, cold, after midnight",
],
sweat=[
"โข Cold, CLAMMY, VISCID sweats (pathognomonic quality)",
"โข Imparts YELLOW colour to linen",
"โข Offensive or sour-smelling; night and morning",
"โข Sweat does NOT RELIEVE โ all symptoms persist",
"โข Unquenchable thirst DURING perspiration",
"โข Trembling of limbs and buzzing in ears during sweat",
],
particulars=[
"Periodicity: GREAT periodic โ daily, 3rdโ4th day, fortnightly, 6 weeks, yearly",
"Mental: EXTREME RESTLESSNESS and anxiety; fear of death",
" Cannot be alone; despair; delirium worse after midnight",
"Physical: COMPLETE EXHAUSTION (out of proportion to illness)",
" Sordes; burning pains throughout; prostration with desire to move",
"Desires: Warm drinks; sips cold water frequently",
"Negatives: NO relief from sweat; NO large quantity thirst",
" NO relief from lying still; NO warmth to cold extremities",
],
clinical=[
"โฆ Septic/putrid fevers (foul secretions)",
"โฆ Typhoid โ not too early; often AFTER Rhus-tox",
"โฆ INTERMITTENT fever (malaria) with marked periodicity",
"โฆ Hectic fever (consumptive/wasting type)",
"โฆ Low adynamic fevers with great exhaustion",
"โฆ Influenza with gastroenteritis",
"โฆ Remittent fever",
],
differentials=[
"vs. Nux Vomica: Both chilly; Nux angry/irritable;",
" Ars anxious/fearful; Ars has burning + exhaustion",
"vs. Rhus-tox: Both restless; Rhus > motion, Ars exhausted by motion",
"vs. Phosphorus: Both thirsty; Phos craves COLD; Ars craves WARM",
"vs. Pulsatilla: Puls thirstless + warm agg; Ars intense thirst + warm relieves",
"KEY TRIAD: Burning pains + Relief from WARMTH",
" + Anxiety/restlessness with EXHAUSTION = ARS ALB",
],
master_key="Burning pains relieved by warmth โข Thirst for small sips frequently โข Cold clammy yellow-staining sweat gives NO relief โข Extreme restlessness + exhaustion โข Fear of death โข Worse 1โ3 AM"
),
dict(
num=10, name="Nux Vomica", latin="Nux vomica (Poison Nut)",
chill=[
"โข Paroxysms ANTICIPATE in morning",
"โข Cannot get warm NO MATTER HOW COVERED",
"โข Blueness of FINGERNAILS during chill (keynote!)",
"โข Chilliness from LEAST MOVEMENT or uncovering",
"โข Worse: open air, least movement, after eating",
"โข Cold, moist hands; cold tip of nose",
],
heat=[
"โข Body BURNING HOT; face red and hot",
"โข Yet CANNOT MOVE OR UNCOVER without chilliness",
"โข Internal heat with external coldness simultaneously",
"โข Thirst variable; before or after chill mainly",
"โข Must remain covered even during heat stage",
"โข Worse: uncovering, morning; Better: warmth, covered",
],
sweat=[
"โข Sour sweat in MORNING only โ characteristic timing",
"โข ONE-SIDED sweat (single side of body) โ keynote!",
"โข Easy perspiration but not copious",
"โข Better after undisturbed sleep",
"โข Worse when sleep disturbed",
],
particulars=[
"Periodicity: Intermittent โ paroxysms anticipate; tertian/quartan",
"Mental: IRRITABILITY โ slightest provocation angers",
" Oversensitive to noise, light, odours; cannot be touched",
" Delirium during fever; ugly, malicious attitude",
"Physical: Aching in limbs and back; gastric symptoms",
" Nausea, constipation; yawning before chill; jaundice tendency",
"Desires: Stimulants (coffee, alcohol, spices) โ which aggravate!",
"CARDINAL RULE: Must be COVERED in EVERY stage (chill/heat/sweat)",
],
clinical=[
"โฆ INTERMITTENT/malarial fever โ tertian, quartan",
"โฆ Typhoid with gastric/hepatic complications",
"โฆ Influenza with gastric symptoms and chilliness",
"โฆ Congestive intermittent with vertigo and delirium",
"โฆ Grippe โ bone pains + chilliness",
"โฆ Remittent fever with bilious complications",
"โฆ Fever from overwork, stimulant abuse, sedentary life",
],
differentials=[
"vs. Arsenicum: Both chilly; Nux angry/craves stimulants;",
" Ars anxious/fearful + burning + exhaustion",
"vs. Pulsatilla: Both chilly; Nux must cover all stages;",
" Puls intolerant of warmth in heat; Puls thirstless",
"vs. Chamomilla: Both irritable; Cham screaming/unceasable;",
" Nux more intellectual irritability; Cham ONE cheek red",
"KEY: Must be COVERED in ALL THREE stages",
" + Blueness fingernails + One-sided morning sweat = NUX",
],
master_key="MUST be covered in EVERY stage (chill + heat + sweat) โ unique to Nux โข Blueness of fingernails in chill โข One-sided morning sweat โข Irritable, oversensitive โข Gastric concomitants"
),
dict(
num=11, name="Pulsatilla Nigricans", latin="Pulsatilla nigricans (Pasque Flower / Wind Flower)",
chill=[
"โข Gradual; afternoon 4 PM onset (4โ8 PM range)",
"โข Chilly EVEN IN WARM ROOM (paradoxical!)",
"โข Chilly in SPOTS โ flitting from place to place",
"โข One-sided chilliness with numbness",
"โข Shivering every second day; without thirst",
"โข Worse: warm room; Better: open air",
],
heat=[
"โข Intolerable burning heat at night โ distended veins",
"โข Heat in parts; coldness in other parts",
"โข NO THIRST โ THIRSTLESS throughout (cardinal keynote!)",
"โข External heat INTOLERABLE โ wants to uncover",
"โข Dry mouth WITHOUT thirst",
"โข Better: open air, cold applications, cold drinks (not thirsty)",
],
sweat=[
"โข ONE-SIDED SWEAT โ usually left side (keynote!)",
"โข PAINS occur DURING sweat (aggravation)",
"โข Night sweats; evening sweats",
"โข Not copious; distress during sweat",
"โข Thirstless even during sweat",
],
particulars=[
"Periodicity: Intermittent patterns; changeable; 4โ8 PM",
"Mental: WEEPING, mild, yielding; wants sympathy/consolation",
" Changeable moods; better from consolation during fever",
"Physical: Dry mouth WITHOUT thirst (repeated keynote)",
" SHIFTING/WANDERING pains; thick bland yellowish-green discharge",
" Diarrhoea during apyrexia; headache during apyrexia; nausea",
"Desires: Cold food/drinks (though not thirsty); averse rich/fat/pork",
"PULSATILLA TRIAD (Clarke): Chilly + Worse warmth + Thirstless",
],
clinical=[
"โฆ Measles fever โ #1 remedy; brings out rash",
"โฆ Mumps fever",
"โฆ Typhoid โ bilious type",
"โฆ Intermittent fever after ABUSE OF QUININE",
"โฆ Catarrhal fevers with bland discharges",
"โฆ Rheumatic fever with shifting pains",
"โฆ Childhood fevers โ mild, weepy children",
"โฆ Fever from suppressed menses; after Iron abuse",
],
differentials=[
"vs. Nux Vomica: Nux covers all stages + irritable;",
" Puls chilly but INTOLERANT of warmth; Puls thirstless; Nux thirsty",
"vs. Arsenicum: Ars burning thirst for sips + warm relieves;",
" Puls completely thirstless + warm aggravates",
"vs. Chamomilla: Cham angry + thirsty + ONE cheek red;",
" Puls mild + weepy + thirstless",
"vs. Gelsemium: Both thirstless; Gels spinal chills + 4 Ds;",
" Puls chilly + worse warmth + one-sided sweat",
"KEY TRIAD: Chilly + Worse by warmth + Thirstless = PULS",
],
master_key="PULSATILLA TRIAD: Chilly + Worse by warmth + THIRSTLESS โข One-sided sweat (left) โข Pains during sweat โข Changeable moods; weeping; craves sympathy โข Chill at 4โ8 PM"
),
dict(
num=12, name="Chamomilla", latin="Chamomilla recutita (German Chamomile)",
chill=[
"โข Sudden; often after ANGER or irritation",
"โข Constant ALTERNATION โ cold one part, hot another",
"โข Forepart of body cold WHILE back is hot (or vice versa)",
"โข Evening/night onset; worse from open air",
"โข Chilliness worse from anger, wind",
],
heat=[
"โข General heat especially in evening/night in bed",
"โข ONE CHEEK RED AND HOT; OTHER PALE AND COLD (pathognomonic!)",
"โข THIRSTY, hot โ Boericke: 'Sensitive, irritable, thirsty, hot and numb'",
"โข Hot perspiration of head and forehead during heat",
"โข Worse: heat, night, anger; Better: being carried (children)",
],
sweat=[
"โข SOUR sweat CAUSING ITCHING on skin (keynote!)",
"โข Hot, clammy sweat on forehead and scalp",
"โข Sweats after eating or drinking",
"โข Night sweats characteristic",
"โข Sour sweat + skin itching = Chamomilla sweat",
],
particulars=[
"Periodicity: Intermittent with nocturnal aggravation; no strict hour",
"Mental: EXTREME IRRITABILITY โ cannot be appeased",
" Child screams, wants things then THROWS THEM AWAY",
" Complaints from ANGER; complains continuously",
" MENTAL CALMNESS CONTRAINDICATES Chamomilla (Clarke!)",
"Physical: Teething with fever; green watery stools ('chopped spinach')",
" Earache driving patient frantic; unbearable pains with numbness",
"Desires: Thirsty + hot; bitter bilious taste; averse warm drinks",
],
clinical=[
"โฆ TEETHING FEVERS in children โ #1 remedy",
"โฆ Fever from ANGER or fright",
"โฆ Intermittent fever with nocturnal aggravation",
"โฆ Fever from COFFEE abuse",
"โฆ Inflammatory fever in irritable temperaments",
"โฆ Post-partum fever after anger/fright",
"โฆ ABC of nursery: Aconite + Belladonna + Chamomilla",
],
differentials=[
"vs. Belladonna: Bell both cheeks red + throbbing carotids;",
" Cham ONE cheek red + ONE pale + extreme irritability",
"vs. Pulsatilla: Puls mild/weepy/thirstless; Cham angry/screaming/thirsty",
"vs. Nux Vomica: Both irritable; Nux intellectual irritability;",
" Cham unceasable crying, throws things, unappeasable",
"vs. Aconite: Acon fear-driven restlessness; Cham anger-driven",
"KEY: ONE cheek red + ONE cheek pale",
" + Extreme irritability + Sour itching sweat = CHAM",
],
master_key="ONE cheek red and hot + OTHER pale and cold (pathognomonic) โข Extreme unappeasable irritability โข Mental calmness CONTRAINDICATES Chamomilla โข Sour sweat causing skin itching"
),
dict(
num=13, name="Hepar Sulphuris Calcareum", latin="Hepar sulphuris calcareum (Calcium Sulphide)",
chill=[
"โข Extremely chilly from SLIGHTEST DRAUGHT",
"โข Even one hand slipping out of covers causes chill",
"โข Chilly in open air; morning chilliness",
"โข Shivering in evening with thirst and toothache",
"โข Worse: cold air, draught, ANY uncovering, dry cold winds",
"โข Better: warmth, damp weather, wrapping up tightly",
],
heat=[
"โข Dry heat at night; sweating easily",
"โข Alternation of heat and chilliness",
"โข Variable thirst; yellowish complexion",
"โข Every scratch or injury suppurates during fever",
"โข Skin very sensitive to touch",
"โข Better: warmth, damp weather, after eating",
],
sweat=[
"โข Profuse, SOUR-STICKY-OFFENSIVE sweat (like old cheese)",
"โข Sweat on EVERY mental or physical exertion",
"โข Cold sweat on exertion",
"โข Sweat does NOT RELIEVE",
"โข More sweat on upper part of body",
"โข Morning perspiration characteristic",
],
particulars=[
"Periodicity: Febrile episodes triggered by cold/suppuration",
"Mental: ANGUISH in evening; thoughts of suicide at night",
" Slightest cause FEROCIOUSLY irritates; hasty in speech",
" Hypersensitive to ALL impressions; aversion to touch",
"Physical: SPLINTER-LIKE PAINS (characteristic sensation)",
" Tendency to suppuration โ every wound festers",
" Sensation of wind blowing on some part of body",
"Desires: Sour (vinegar, pickles); strong foods; warmth",
],
clinical=[
"โฆ Fever WITH SUPPURATION / abscess formation",
"โฆ Croup and croupy catarrhal fever",
"โฆ Fever after abuse of MERCURY",
"โฆ Infectious fever with pus formation",
"โฆ Tonsillitis/quinsy with fever",
"โฆ Fever in lymphatic/scrofulous constitutions",
"โฆ After suppressed skin eruptions",
],
differentials=[
"vs. Mercurius: Both suppurate + profuse sweat + worse at night;",
" Hepar = extreme COLD sensitivity;",
" Merc = sensitive to BOTH heat AND cold; Merc sweat aggravates",
"vs. Silicea: Both suppurate; Sil mild/yielding; Hep violently irritable",
" Hep faster on acute suppuration",
"vs. Arsenicum: Ars burning + anxious + warm relieves;",
" Hep splinter pains + cold sensitivity + offensive cheese sweat",
"KEY: Most cold-sensitive remedy in MM + Splinter pains",
" + Offensive cheese-smell sweat + Ferocious irritability = HEP",
],
master_key="Most COLD-SENSITIVE remedy in Materia Medica โ draught from one exposed limb causes chill โข Splinter-like pains โข Sour/offensive cheese-smelling sweat (no relief) โข Ferocious irritability โข Suppuration tendency"
),
dict(
num=14, name="Mercurius Solubilis", latin="Mercurius solubilis (Quicksilver)",
chill=[
"โข Creeping chilliness worse EVENING into night",
"โข Cold water sensation thrown over body on rising",
"โข Chilliness between diarrhoea stools",
"โข Internal chilliness WITH heat of face",
"โข Icy coldness of hands and feet; shivering over body",
"โข Worse: evening, night, damp/wet weather",
],
heat=[
"โข Heat and shuddering ALTERNATELY; flashes in single parts",
"โข INSATIABLE THIRST during heat โ great desire for milk (keynote!)",
"โข Violent thirst for cold drinks after midnight",
"โข Heat in face/head with redness and burning of cheeks",
"โข Profuse oily perspiration that DOES NOT RELIEVE",
"โข Worse: warmth of bed, warm room, night",
],
sweat=[
"โข Copious, EXCESSIVE, COLLIQUATIVE night sweats",
"โข Oily, FETID, SOUR-SMELLING; YELLOW STAINING of linen (keynote!)",
"โข PROFUSE SWEAT WITHOUT RELIEF (most pathognomonic!)",
"โข Sweats with nausea, fatigue, anxiety",
"โข Head and chest particularly; pillow soaked in children",
"โข All symptoms PERSIST or WORSEN during sweat",
],
particulars=[
"Periodicity: Slow/lingering; gastric/bilious; hectic late-stage",
"Mental: SLOW to answer questions; memory weakened",
" Weary of life; mistrustful; thinks losing reason",
" Restlessness and hurriedness during fever",
"Physical: Profuse SALIVATION; offensive breath; glandular swellings",
" Tendency to form pus (thin, greenish, putrid, blood-streaked)",
" Bone pains worse at night; tremors; jaundice; bone destruction",
"THERMOMETER SENSITIVITY: Neither warmth NOR cold relieves",
],
clinical=[
"โฆ SYPHILITIC fevers โ secondary syphilis stage",
"โฆ Gastric/bilious fevers",
"โฆ Typhoid/typhus fevers (adynamic stage)",
"โฆ HECTIC fever in chronic/wasting disease",
"โฆ Fever in glandular infections (mumps, parotitis, tonsillitis)",
"โฆ Fever WITH SUPPURATION (pus forming)",
"โฆ Catarrhal fevers after suppressions",
],
differentials=[
"vs. Hepar Sulph: Both suppurate; Hepar = extreme cold sensitive;",
" Merc = sensitive to BOTH heat AND cold; Merc sweat aggravates",
"vs. Arsenicum: Both exhausted; Ars burning + warm relieves + small sips;",
" Merc insatiable thirst + profuse non-relieving sweat + worse warmth",
"vs. Baptisia: Both fetid; Bapt rapid sepsis + split personality;",
" Merc slower course + salivation + bone pain",
"KEY: Profuse sweat WITHOUT RELIEF + Yellow oily linen stain",
" + Thermometer sensitivity (neither hot nor cold helps) = MERC",
],
master_key="Profuse perspiration WITHOUT RELIEF โ sweat AGGRAVATES all symptoms โข Yellow oily linen-staining sweat โข Insatiable thirst with desire for milk โข THERMOMETER: neither warmth nor cold relieves"
),
dict(
num=15, name="Phosphorus", latin="Phosphorus (Phosphorus element)",
chill=[
"โข Chilly EVERY EVENING โ characteristic pattern",
"โข Chill at 2 PM beginning internally in stomach region",
"โข Chill begins in FOREARM โ spreads upward",
"โข ICY COLDNESS of hands, knees, and feet (even in bed!)",
"โข UNNATURAL HUNGER during chill (with adynamia!)",
"โข Flashes of heat from hands spreading to face",
],
heat=[
"โข Hectic/violent ebullitions of heat; remittent type",
"โข BURNING PALMS โ cannot bear to have hands covered",
"โข INTENSE THIRST for ICE-COLD water/drinks (keynote!)",
"โข Cold drinks swallowed then VOMITED when stomach warms them",
"โข Flashes of heat beginning in hands โ face",
"โข Worse: lying on LEFT side, morning, warm applications",
],
sweat=[
"โข VISCID NIGHT SWEATS โ cold, clammy, garlic/sulphur smell",
"โข Profuse exhausting sweats โ especially head, neck, chest",
"โข Sweat on NAPE and OCCIPUT โ characteristic location",
"โข Anxious, profuse, debilitating night sweats",
"โข Partial sweats; no particular relief from sweat",
"โข Sweat on slightest exertion",
],
particulars=[
"Periodicity: Hectic (recurring with wasting); remittent; intermittent",
"Mental: APPREHENSION and FEAR โ of being alone, dark, thunder",
" Requires company/sympathy; clairvoyant states during fever",
" Stupid delirium; exhaustion after talking",
"Physical: ICY COLD KNEES at night (single keynote!)",
" Haemorrhagic tendency during fever; rapid thready pulse",
" Burning between shoulder blades; tympanites in typhoid",
"PARADOX: Chilly constitution + craves ICE-COLD drinks",
],
clinical=[
"โฆ HECTIC/CONSUMPTIVE fever โ tuberculosis type",
"โฆ TYPHOID fever โ 2ndโ3rd week; stupor, tympanites, haemorrhages",
"โฆ PNEUMONIA fever โ 2nd stage (hepatisation)",
"โฆ Yellow fever type",
"โฆ Remittent fever with haemorrhagic tendency",
"โฆ SEPTIC fevers with haemorrhage",
"โฆ Haemorrhagic fevers generally",
],
differentials=[
"vs. Arsenicum: Both thirsty; Ars craves WARM, small sips;",
" Phos craves ICE-COLD, large amounts; Ars warm relieves; Phos cold relieves stomach",
"vs. Mercurius: Both night sweats/hectic; Merc sweat no relief/offensive;",
" Phos exhausting/viscid; Phos cold thirst; Merc insatiable + thermometer",
"vs. Gelsemium: Both prostrated; Gels thirstless; Phos intensely thirsty for cold",
"vs. Baptisia: Both typhoid; Bapt fetid + split self; Phos haemorrhage + cold thirst",
"KEY PARADOX: Chilly + craves ICE-COLD + hunger during chill",
" + Cold knees + Viscid night sweats + Haemorrhage = PHOS",
],
master_key="Chilly constitution yet craves ICE-COLD drinks (vomited when warm in stomach) โข PARADOX: hungry during chill โข Icy cold knees at night โข Viscid night sweats โข Haemorrhagic fever tendency"
),
]
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# BUILD SLIDES
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
make_title_slide(prs)
for r in remedies_data:
make_remedy_slide(
prs,
num=r['num'], name=r['name'], latin=r['latin'],
chill=r['chill'], heat=r['heat'], sweat=r['sweat'],
particulars=r['particulars'], clinical=r['clinical'],
differentials=r['differentials'], master_key=r['master_key']
)
# โโ Comparison / Summary slide โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
def make_summary_slide(prs):
slide = prs.slides.add_slide(blank)
bg_rect(slide, 0, 0, 13.333, 7.5, LIGHT_BG)
bg_rect(slide, 0, 0, 13.333, 0.95, NAVY)
bg_rect(slide, 0, 0, 0.12, 0.95, GOLD)
add_tb(slide, 0.25, 0.1, 13.0, 0.75,
"QUICK COMPARISON โ 15 FEVER REMEDIES AT A GLANCE", 18, bold=True,
color=WHITE, align=PP_ALIGN.CENTER)
headers = ["Remedy", "Chill Time", "Thirst", "Sweat", "Key Mental", "Prime Fever", "Master Key"]
col_widths = [1.6, 1.1, 1.3, 1.5, 1.8, 1.7, 2.2]
rows = [
["Aconite", "No hour", "Cold water++", "Profuse, relieves", "Fear of death", "Inflammatory", "Sudden+Fear+No periodicity"],
["Belladonna", "~3 PM", "ABSENT", "Head only; body dry","Violent delirium", "Scarlet fever", "Radiating heat+No thirst"],
["Ferr-phos", "1 PM", "Cold water+", "Night sweats", "Paucity of sx", "All 1st stages", "1st stage, gradual, 1 PM"],
["Bryonia", "Evening", "GREATโlarge", "Sour, profuse", "Business delirium", "Rheum/Pneumonia", "Thirst+Rest+Dry+Constipation"],
["Gelsemium", "No hour", "ABSENT", "Exhausting+urine", "4 Ds; apathy", "Influenza", "4Ds+Spinal chills+No thirst"],
["Rhus-tox", "Evening", "Cold milk", "Sour, 3โ4 AM", "Restless-physical", "Typhoid/Malarial","Urticaria+Cough in chill"],
["Baptisia", "11 AM", "Present", "Fetid, critical", "Divided self; stupor", "Typhoid/Sepsis", "Besotted+Fetid+Split self"],
["Eupatorium", "7โ9 AM", "Great+before", "All relieved exc Hd","Moaning, restless", "Malaria/Dengue", "Breakbone pain+Thirst precedes"],
["Arsenicum", "1โ2 AM", "Sips often", "No relief; viscid", "Anxiety+Fear death", "Septic/Hectic", "Burning+Warmth+Exhaustion"],
["Nux Vomica", "Morning", "Variable", "1-sided, morning", "Irritable; covers all","Gastric interm.", "Cover all stages+Blue nails"],
["Pulsatilla", "4โ8 PM", "ABSENT", "1-sided; pains", "Weeping; changeable", "Measles/Mumps", "Chilly+Worse warmth+No thirst"],
["Chamomilla", "Evening", "Thirsty+hot", "Sour; skin itching", "Unappeasable anger", "Teething fever", "1 cheek red+1 pale+Anger"],
["Hepar Sulph","Evening", "Variable", "Offensive, cheese", "Ferocious; cold-fear", "Suppurative", "Draughtโchill+Splinter pains"],
["Mercurius", "Evening/Nt","Insatiable", "NO relief; yellow", "Slow; mistrustful", "Syphilitic/Hect.","Thermometer+No relief sweat"],
["Phosphorus", "Evening", "Ice cold++", "Viscid; no relief", "Fear+needs company", "Hectic/Typhoid", "Chilly+Ice cold thirst+Cold knees"],
]
# header row
x = 0.13
for hw, h in zip(col_widths, headers):
bg_rect(slide, x, 1.02, hw-0.02, 0.3, NAVY)
add_tb(slide, x+0.03, 1.02, hw-0.06, 0.3, h, 7.5, bold=True,
color=WHITE, align=PP_ALIGN.LEFT)
x += hw
row_h = 0.355
for ri, row in enumerate(rows):
y = 1.35 + ri * row_h
bg = WHITE if ri % 2 == 0 else RGBColor(0xE8, 0xF0, 0xF8)
x = 0.13
for ci, (cw, cell) in enumerate(zip(col_widths, row)):
bg_rect(slide, x, y, cw-0.02, row_h-0.02, bg)
col = TEAL if ci == 0 else DARK_TEXT
add_tb(slide, x+0.03, y+0.01, cw-0.07, row_h-0.04, cell,
6.8, bold=(ci==0), color=col)
x += cw
add_tb(slide, 0.1, 7.2, 13.0, 0.25,
"Sources: Boericke's Pocket Manual of Homoeopathic Materia Medica โข Clarke's Dictionary of Practical Materia Medica",
7.5, color=MID_GREY, align=PP_ALIGN.CENTER, italic=True)
make_summary_slide(prs)
out = "/tmp/workspace/homeopathy-fever-pptx/Homeopathic_Fever_Remedies_15.pptx"
from io import BytesIO
buf = BytesIO()
prs.save(buf)
with open(out, "wb") as f:
f.write(buf.getvalue())
print(f"DONE: {out}")
cd /tmp/workspace/homeopathy-fever-pptx && python build_pptx.py
ls -lh /tmp/workspace/homeopathy-fever-pptx/Homeopathic_Fever_Remedies_15.pptx
Homeopathic Fever Remedies 15
Presentation ยท PPTX
| Slide | Content |
|---|---|
| Slide 1 | Title slide โ deep navy + gold design with all 15 remedies listed |
| Slides 2โ16 | One slide per remedy (Aconite โ Phosphorus) |
| Slide 17 | Master comparison table โ all 15 at a glance |
see the formate ..i want similar formate in my remedies..but with reference to boericke and clerke..and medicine list is different now ACONITE NEP, BELLADONA, CHAMOMILLA, BRYONIA, GELSEMIUM, FERRUM PHOS,BAPTISIA,EUPATORIUM
cd /tmp/workspace/attachments/7d519471-a59b-48d7-925c-3e40faaedbf6/ && python3 -c " from pptx import Presentation from pptx.util import Inches, Pt, Emu prs = Presentation('Fever therapeutics.pptx') print('Slide size:', prs.slide_width/914400, 'x', prs.slide_height/914400, 'inches') print('Number of slides:', len(prs.slides)) print() for si, slide in enumerate(prs.slides, 1): print(f'=== SLIDE {si} ===') for shape in slide.shapes: print(f' Shape: {shape.shape_type}, name={shape.name}, left={round(shape.left/914400,2)}, top={round(shape.top/914400,2)}, w={round(shape.width/914400,2)}, h={round(shape.height/914400,2)}') if shape.has_text_frame: for para in shape.text_frame.paragraphs: txt = para.text.strip() if txt: runs_info = [] for r in para.runs: fi = r.font runs_info.append(f'size={fi.size}, bold={fi.bold}, color={fi.color.rgb if fi.color and fi.color.type else None}') print(f' TEXT: {txt!r} | runs: {runs_info}') if shape.shape_type == 1: # MSO_SHAPE_TYPE.AUTO_SHAPE fill = shape.fill if fill.type is not None: try: print(f' FILL color: {fill.fore_color.rgb}') except: pass print() "
cd /tmp/workspace/attachments/7d519471-a59b-48d7-925c-3e40faaedbf6/ && python3 -c " from pptx import Presentation from pptx.util import Pt from pptx.dml.color import RGBColor import pptx.oxml.ns as ns from lxml import etree prs = Presentation('Fever therapeutics.pptx') # Check theme colors slide_master = prs.slide_master theme = slide_master.theme_color_map print('Theme element:') try: theme_elem = slide_master._element.find('.//{http://schemas.openxmlformats.org/drawingml/2006/main}theme') if theme_elem is not None: print(etree.tostring(theme_elem, pretty_print=True).decode()[:2000]) except: pass # Check slide layout/background slide = prs.slides[0] print('\\n=== SLIDE 1 BG / LAYOUT ===') layout = slide.slide_layout master = layout.slide_master print('Layout name:', layout.name) # Check background fill of first slide try: bg = slide.background fill = bg.fill print('BG fill type:', fill.type) if fill.type is not None: print('BG fore color:', fill.fore_color.rgb) except Exception as e: print('BG error:', e) # Check all shapes on slide 1 more deeply for shape in slide.shapes: print(f'\\nShape: {shape.name} ({shape.shape_type})') print(f' Pos: L={round(shape.left/914400,3)} T={round(shape.top/914400,3)} W={round(shape.width/914400,3)} H={round(shape.height/914400,3)}') try: fill = shape.fill print(f' Fill type: {fill.type}') if str(fill.type) == 'SOLID (1)': print(f' Fill color: {fill.fore_color.rgb}') except: pass if shape.has_text_frame: tf = shape.text_frame print(f' Margins: L={tf.margin_left} T={tf.margin_top}') for pi, para in enumerate(tf.paragraphs[:3]): print(f' Para {pi}: align={para.alignment}') for ri, run in enumerate(para.runs[:2]): f = run.font try: color = f.color.rgb except: color = 'theme/inherited' print(f' Run {ri}: text={run.text[:40]!r} size={f.size} bold={f.bold} italic={f.italic} color={color} font={f.name}') "
cd /tmp/workspace/attachments/7d519471-a59b-48d7-925c-3e40faaedbf6/ && python3 -c " from pptx import Presentation from pptx.util import Pt from lxml import etree prs = Presentation('Fever therapeutics.pptx') slide = prs.slides[0] # BG bg = slide.background fill = bg.fill print('Slide BG fill type:', fill.type) # Layout name layout = slide.slide_layout print('Layout name:', layout.name) # Layout BG try: lbg = layout.background lfill = lbg.fill print('Layout BG fill type:', lfill.type) if str(lfill.type) == 'SOLID (1)': print('Layout BG color:', lfill.fore_color.rgb) except Exception as e: print('Layout BG err:', e) # Master BG master = layout.slide_master try: mbg = master.background mfill = mbg.fill print('Master BG fill type:', mfill.type) except Exception as e: print('Master BG err:', e) # Print theme XML snippet try: theme_xml = master.theme._element txt = etree.tostring(theme_xml, pretty_print=True).decode() # find color scheme idx = txt.find('clrScheme') print('\\nTheme color scheme snippet:') print(txt[idx:idx+2000]) except Exception as e: print('Theme err:', e) # Check all shapes fill colors print('\\n=== SHAPES ON SLIDE 1 ===') for shape in slide.shapes: print(f' {shape.name} ({shape.shape_type}) pos=({round(shape.left/914400,2)},{round(shape.top/914400,2)}) size=({round(shape.width/914400,2)},{round(shape.height/914400,2)})') try: fill = shape.fill print(f' fill type={fill.type}') if str(fill.type) == 'SOLID (1)': print(f' fill color={fill.fore_color.rgb}') except: pass # line try: ln = shape.line print(f' line fill type={ln.fill.type}') except: pass "
cd /tmp/workspace/attachments/7d519471-a59b-48d7-925c-3e40faaedbf6/ && python /tmp/skills/pptx/scripts/office/unpack.py 'Fever therapeutics.pptx' /tmp/workspace/fever_unpacked/ && echo "DONE"
ls /tmp/workspace/fever_unpacked/ && echo "---" && ls /tmp/workspace/fever_unpacked/ppt/ && echo "---" && cat /tmp/workspace/fever_unpacked/ppt/theme/theme1.xml | python3 -c "import sys; from lxml import etree; root=etree.parse(sys.stdin); txt=etree.tostring(root,pretty_print=True).decode(); i=txt.find('clrScheme'); print(txt[i:i+3000])"
cat /tmp/workspace/fever_unpacked/ppt/slides/slide1.xml | python3 -c " import sys; from lxml import etree root = etree.parse(sys.stdin) txt = etree.tostring(root, pretty_print=True).decode() print(txt[:6000]) "
cat /tmp/workspace/fever_unpacked/ppt/slideLayouts/slideLayout2.xml | python3 -c " import sys; from lxml import etree root = etree.parse(sys.stdin) txt = etree.tostring(root, pretty_print=True).decode() print(txt[:5000]) "
cat /tmp/workspace/fever_unpacked/ppt/slideMasters/slideMaster1.xml | python3 -c " import sys; from lxml import etree root = etree.parse(sys.stdin) txt = etree.tostring(root, pretty_print=True).decode() # find background idx = txt.find('bg') print('BG section:') print(txt[idx:idx+1000]) print('---') # find title style idx2 = txt.find('titleStyle') if idx2 < 0: idx2 = txt.find('txStyles') print('Title/TX style section:') print(txt[idx2:idx2+2000]) " 2>&1 | head -100
~/homeopathy-fever-pptx/build_format_match.py
"""
Build fever remedies PPTX matching the exact format of the uploaded 'Fever therapeutics.pptx':
- White background (inherits from template)
- Title placeholder: Times New Roman, Bold + Underlined, large
- Content placeholder: bullet list, bold labels + normal text, Calibri body
- Uses the original file as template โ clone its slide layout for each new slide
"""
import copy
from lxml import etree
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN
from io import BytesIO
TEMPLATE = "/tmp/workspace/attachments/7d519471-a59b-48d7-925c-3e40faaedbf6/Fever therapeutics.pptx"
OUTPUT = "/tmp/workspace/homeopathy-fever-pptx/Fever_Remedies_Boericke_Clarke.pptx"
# โโ Namespaces โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
nsmap = {
'a': 'http://schemas.openxmlformats.org/drawingml/2006/main',
'p': 'http://schemas.openxmlformats.org/presentationml/2006/main',
'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',
}
A = 'http://schemas.openxmlformats.org/drawingml/2006/main'
P = 'http://schemas.openxmlformats.org/presentationml/2006/main'
def a(tag): return f'{{{A}}}{tag}'
def p_(tag): return f'{{{P}}}{tag}'
# โโ XML helpers โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
def make_run(text, bold=False, size_pt=None, underline=False, font="Times New Roman"):
"""Create an <a:r> element."""
rpr = etree.SubElement(etree.Element('dummy'), a('rPr'))
rpr.set('lang', 'en-US')
rpr.set('dirty', '0')
if bold: rpr.set('b', '1')
if underline: rpr.set('u', 'sng')
if size_pt:
rpr.set('sz', str(int(size_pt * 100)))
# font
latin = etree.SubElement(rpr, a('latin'))
latin.set('typeface', font)
cs = etree.SubElement(rpr, a('cs'))
cs.set('typeface', font)
r_elem = etree.Element(a('r'))
r_elem.append(rpr)
t_elem = etree.SubElement(r_elem, a('t'))
t_elem.text = text
return r_elem
def make_para_no_bullet(runs):
"""Paragraph without bullet (for header lines like STAGES:, THIRST:)."""
p = etree.Element(a('p'))
ppr = etree.SubElement(p, a('pPr'))
ppr.set('marL', '0')
ppr.set('indent', '0')
buNone = etree.SubElement(ppr, a('buNone'))
for r in runs:
p.append(r)
return p
def make_para_bullet(runs, bullet_char='โข', bullet_font='Arial'):
"""Paragraph with bullet."""
p = etree.Element(a('p'))
ppr = etree.SubElement(p, a('pPr'))
buFont = etree.SubElement(ppr, a('buFont'))
buFont.set('typeface', bullet_font)
buChar = etree.SubElement(ppr, a('buChar'))
buChar.set('char', bullet_char)
for r in runs:
p.append(r)
return p
def make_para_sub_bullet(runs):
"""Sub-bullet (indented, o bullet)."""
p = etree.Element(a('p'))
ppr = etree.SubElement(p, a('pPr'))
buFont = etree.SubElement(ppr, a('buFont'))
buFont.set('typeface', 'Courier New')
buChar = etree.SubElement(ppr, a('buChar'))
buChar.set('char', 'o')
for r in runs:
p.append(r)
return p
def make_empty_para():
p = etree.Element(a('p'))
ppr = etree.SubElement(p, a('pPr'))
ppr.set('marL', '0'); ppr.set('indent', '0')
etree.SubElement(ppr, a('buNone'))
epr = etree.SubElement(p, a('endParaRPr'))
epr.set('lang', 'en-US'); epr.set('dirty', '0')
return p
# โโ Slide builder โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
def build_slide_xml(title_text, content_paragraphs):
"""
content_paragraphs: list of dicts:
{'type': 'header', 'label': 'STAGES:', 'text': 'All 3 stages present'}
{'type': 'bullet', 'label': 'Chill โ', 'text': 'Sudden, violent onset after dry cold wind'}
{'type': 'sub', 'text': 'some sub-point'}
{'type': 'plain', 'text': 'plain text no label'}
{'type': 'spacer'}
"""
# Minimal slide XML shell
sld_xml = '''<p:sld xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">
<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id="1" name=""/>
<p:cNvGrpSpPr/>
<p:nvPr/>
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm>
<a:off x="0" y="0"/>
<a:ext cx="0" cy="0"/>
<a:chOff x="0" y="0"/>
<a:chExt cx="0" cy="0"/>
</a:xfrm>
</p:grpSpPr>
<!-- TITLE SHAPE -->
<p:sp>
<p:nvSpPr>
<p:cNvPr id="2" name="Title 1"/>
<p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr>
<p:nvPr><p:ph type="title"/></p:nvPr>
</p:nvSpPr>
<p:spPr/>
<p:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p id="TITLE_PARA"/>
</p:txBody>
</p:sp>
<!-- CONTENT SHAPE -->
<p:sp>
<p:nvSpPr>
<p:cNvPr id="3" name="Content Placeholder 2"/>
<p:cNvSpPr><a:spLocks noGrp="1"/></p:cNvSpPr>
<p:nvPr><p:ph idx="1"/></p:nvPr>
</p:nvSpPr>
<p:spPr/>
<p:txBody>
<a:bodyPr><a:noAutofit/></a:bodyPr>
<a:lstStyle/>
<a:p id="CONTENT_PARA"/>
</p:txBody>
</p:sp>
</p:spTree>
</p:cSld>
<p:clrMapOvr><a:masterClrMapping/></p:clrMapOvr>
</p:sld>'''
root = etree.fromstring(sld_xml.encode())
# โโ Build TITLE paragraph โโ
title_para = root.find('.//' + a('p') + '[@id="TITLE_PARA"]')
title_para.attrib.pop('id', None)
title_run = make_run(title_text, bold=True, underline=True, font='Times New Roman')
title_para.append(title_run)
end_rpr = etree.SubElement(title_para, a('endParaRPr'))
end_rpr.set('lang', 'en-IN'); end_rpr.set('b', '1'); end_rpr.set('u', 'sng'); end_rpr.set('dirty', '0')
lat = etree.SubElement(end_rpr, a('latin')); lat.set('typeface', 'Times New Roman')
cs2 = etree.SubElement(end_rpr, a('cs')); cs2.set('typeface', 'Times New Roman')
# โโ Find the CONTENT txBody and replace placeholder para โโ
# Find the second sp's txBody
sps = root.findall('.//' + p_('sp'))
content_sp = sps[1] # second shape = content
txBody = content_sp.find(p_('txBody'))
# Remove placeholder para
for old_p in txBody.findall(a('p')):
txBody.remove(old_p)
BODY_FONT = 'Calibri'
for item in content_paragraphs:
t = item.get('type', 'plain')
if t == 'spacer':
txBody.append(make_empty_para())
elif t == 'header':
label = item.get('label', '')
text = item.get('text', '')
runs = []
if label:
runs.append(make_run(label + ' ', bold=True, font=BODY_FONT))
if text:
runs.append(make_run(text, bold=False, font=BODY_FONT))
txBody.append(make_para_no_bullet(runs))
elif t == 'bullet':
label = item.get('label', '')
text = item.get('text', '')
runs = []
if label:
runs.append(make_run(label + ' ', bold=True, font=BODY_FONT))
if text:
runs.append(make_run(text, bold=False, font=BODY_FONT))
txBody.append(make_para_bullet(runs))
elif t == 'sub':
text = item.get('text', '')
label = item.get('label', '')
runs = []
if label:
runs.append(make_run(label + ' ', bold=True, font=BODY_FONT))
runs.append(make_run(text, bold=False, font=BODY_FONT))
txBody.append(make_para_sub_bullet(runs))
elif t == 'plain':
text = item.get('text', '')
runs = [make_run(text, bold=False, font=BODY_FONT)]
txBody.append(make_para_bullet(runs, bullet_char='โ', bullet_font='Arial'))
return root
# โโ REMEDY DATA โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# Format reference: Boericke Pocket Manual + Clarke Dictionary of Practical Materia Medica
# Structure mirrors the uploaded file:
# TYPE โ STAGES (Chill / Heat / Sweat) โ THIRST โ Key particulars (bullets)
remedies = [
{
"title": "ACONITUM NAPELLUS",
"content": [
{"type":"header","label":"TYPE:","text":"Inflammatory fever, Traumatic fever, Catarrhal fever (sudden onset after dry cold wind or fright)"},
{"type":"spacer"},
{"type":"header","label":"STAGES:","text":"All 3 stages present โ rapid succession"},
{"type":"bullet","label":"Chill โ","text":"Sudden violent shaking chill; chilly if uncovered or touched; chill begins with intense anxiety and fear; warm room aggravates chill; rigors worse at night (Clarke)"},
{"type":"bullet","label":"Heat โ","text":"Dry burning heat; skin hot and dry; face RED or alternately red and pale; bed intolerable โ must uncover; worse at night and midnight (Boericke)"},
{"type":"bullet","label":"Sweat โ","text":"Profuse general sweat relieves fever; sweat on covered/affected parts; the cheek lain on sweats (Clarke)"},
{"type":"spacer"},
{"type":"header","label":"THIRST:","text":"INTENSE โ large quantities of cold water throughout all stages (cardinal keynote โ Boericke)"},
{"type":"spacer"},
{"type":"plain","text":"Fear of death โ predicts exact hour of death; clairvoyance (Clarke)"},
{"type":"plain","text":"Great restlessness and tossing about โ anguish of mind and body"},
{"type":"plain","text":"NO periodicity โ action brief, shows no periodicity (Boericke keynote negative)"},
{"type":"plain","text":"NOT indicated: malarial, typhoid, hectic, pyemic fevers or after tissue change"},
{"type":"plain","text":"Differentiating: Sudden + Fear of death + NO periodicity = Aconite (vs Bell = delirium; vs Gels = apathy)"},
]
},
{
"title": "BELLADONNA",
"content": [
{"type":"header","label":"TYPE:","text":"Scarlet fever (premier remedy), High inflammatory fever, Meningitic fever, Childhood fevers, Sunstroke, Hyperpyrexia"},
{"type":"spacer"},
{"type":"header","label":"STAGES:","text":"All 3 stages present โ sudden violent onset"},
{"type":"bullet","label":"Chill โ","text":"Sudden, violent, congestive; shivering with yawning and stretching; ~3 PM onset; hot cheeks with icy cold hands and feet; dilated pupils and dread of light in chill (Clarke)"},
{"type":"bullet","label":"Heat โ","text":"Burning, PUNGENT, STEAMING heat โ radiated at a distance from the body; face bright red, flushed, bloated; throbbing carotids; icy cold feet with burning hot head (Boericke)"},
{"type":"bullet","label":"Sweat โ","text":"SWEAT ONLY ON HEAD โ body remains completely dry (keynote); copious sweat on head at night; head remains hot even during sweat (Clarke)"},
{"type":"spacer"},
{"type":"header","label":"THIRST:","text":"ABSENT (NO THIRST) โ dry mouth but thirstless; complete adypsia (cardinal keynote โ Boericke). Desires: lemon/lemonade; aversion to water"},
{"type":"spacer"},
{"type":"plain","text":"Violent delirium โ biting, striking, hallucinations of frightening imagery (Boericke)"},
{"type":"plain","text":"No toxaemia despite high fever โ 'high feverish state with comparative absence of toxaemia' (Boericke)"},
{"type":"plain","text":"Quotidian or double quotidian periodicity (Clarke)"},
{"type":"plain","text":"Differentiating: Radiating heat + NO thirst + Sweat ONLY on head + Icy feet/hot head + Violent delirium = Belladonna"},
]
},
{
"title": "CHAMOMILLA",
"content": [
{"type":"header","label":"TYPE:","text":"Teething fever, Fever from anger/fright, Intermittent fever with nocturnal aggravation, Fever from coffee abuse"},
{"type":"spacer"},
{"type":"header","label":"STAGES:","text":"All 3 stages โ nocturnal aggravation; often triggered by anger"},
{"type":"bullet","label":"Chill โ","text":"Sudden; often after anger; constant ALTERNATION โ cold forepart, hot back (or vice versa); chilliness worse from open air and wind; evening/night onset (Boericke)"},
{"type":"bullet","label":"Heat โ","text":"ONE CHEEK RED AND HOT; OTHER PALE AND COLD (pathognomonic sign โ Boericke); general heat in evening/night; hot perspiration of head and forehead; burning redness of ONE cheek"},
{"type":"bullet","label":"Sweat โ","text":"SOUR sweat CAUSING ITCHING on skin (keynote โ Clarke); hot clammy sweat on forehead and scalp; sweats after eating or drinking; night sweats characteristic"},
{"type":"spacer"},
{"type":"header","label":"THIRST:","text":"THIRSTY and HOT โ 'Chamomilla is sensitive, irritable, thirsty, hot and numb' (Boericke). Bitter bilious taste; averse to warm drinks"},
{"type":"spacer"},
{"type":"plain","text":"EXTREME IRRITABILITY โ cannot be appeased; child screams, wants things then throws them away (Boericke)"},
{"type":"plain","text":"Complaints from ANGER โ mental calmness CONTRAINDICATES Chamomilla (Clarke โ key prescribing rule)"},
{"type":"plain","text":"Pains UNENDURABLE associated with numbness; earache driving patient frantic"},
{"type":"plain","text":"Differentiating: One cheek red + one pale + extreme irritability + sour itching sweat = Chamomilla"},
]
},
{
"title": "BRYONIA ALBA",
"content": [
{"type":"header","label":"TYPE:","text":"Rheumatic fever, Typhoid (gastric/hepatic), Pleuritic/Pneumonic fever, Bilious fever, Milk fever, Gastric fever"},
{"type":"spacer"},
{"type":"header","label":"STAGES:","text":"All 3 stages โ gradual onset; gastro-hepatic involvement"},
{"type":"bullet","label":"Chill โ","text":"Gradual slow development; chilliness in evenings (3โ4 PM); dry cough WITH STITCHES during chill; chilliness in room > open air; heat in head with red face during chill (Clarke)"},
{"type":"bullet","label":"Heat โ","text":"Dry burning internal heat โ 'as if blood burning in veins'; pulse full, hard, tense and quick; GREAT THIRST for large quantities at long intervals; worse any motion (Boericke)"},
{"type":"bullet","label":"Sweat โ","text":"SOUR-smelling profuse perspiration; cold sweat on forehead and head; worse from least motion; eventually brings relief (Clarke)"},
{"type":"spacer"},
{"type":"header","label":"THIRST:","text":"GREATEST thirst in the Materia Medica โ for large quantities of cold water at long intervals (cardinal keynote โ Boericke). Averse to warm food and drinks"},
{"type":"spacer"},
{"type":"plain","text":"Absolute desire for REST โ any motion aggravates EVERY symptom; lies perfectly still (Boericke)"},
{"type":"plain","text":"DRYNESS everywhere โ lips cracked, tongue dry/brown, mouth parched; CONSTIPATION with dry hard stool (not diarrhoea)"},
{"type":"plain","text":"Delirium about BUSINESS โ 'wants to go home'; talks business matters even in delirium (Boericke)"},
{"type":"plain","text":"Differentiating: Thirst + Rest + Dryness + Constipation + Business delirium = Bryonia (opposite of Rhus-tox)"},
]
},
{
"title": "GELSEMIUM SEMPERVIRENS",
"content": [
{"type":"header","label":"TYPE:","text":"Influenza (#1 remedy โ 1918 pandemic), Malarial/bilious remittent fever (dumb ague), Typhoid (adynamic stage), Scarlet fever, Measles, Nervous/anticipatory fever"},
{"type":"spacer"},
{"type":"header","label":"STAGES:","text":"All 3 stages โ gradual insidious onset; adynamic type"},
{"type":"bullet","label":"Chill โ","text":"SPINAL CHILLS โ wave-like, ascending from sacrum to occiput (keynote โ Boericke); trembling; wants to be held because he shakes so much; worse damp/foggy weather; worse 10 AM"},
{"type":"bullet","label":"Heat โ","text":"Moderate heat; DROWSINESS and heaviness predominate; face full, dusky-red, expressionless (not bright red); slow, full, soft, compressible pulse; 'bilious remittent fever with stupor, dizziness, faintness' (Boericke)"},
{"type":"bullet","label":"Sweat โ","text":"Long and exhausting; PROFUSE URINATION may substitute for sweat (unique โ Clarke); headache RELIEVED BY URINATION (characteristic keynote โ Boericke)"},
{"type":"spacer"},
{"type":"header","label":"THIRST:","text":"ABSENT โ thirstless and prostrated (cardinal keynote โ Boericke). No thirst despite fever."},
{"type":"spacer"},
{"type":"plain","text":"4 Ds: Dullness, Drowsiness, Dizziness, Drooping eyelids (ptosis) โ defining quartet (Boericke)"},
{"type":"plain","text":"Profound APATHY โ desires to be left alone; emotional cause (fear, bad news, anticipation) triggers illness (Clarke)"},
{"type":"plain","text":"Falls asleep while being addressed; great muscular weakness and trembling"},
{"type":"plain","text":"Differentiating: 4 Ds + Spinal chills + NO thirst + Trembling + Urination relieves headache = Gelsemium"},
]
},
{
"title": "FERRUM PHOSPHORICUM",
"content": [
{"type":"header","label":"TYPE:","text":"FIRST STAGE of ALL inflammatory and catarrhal fevers โ before localisation or exudation sets in; anaemic constitutions"},
{"type":"spacer"},
{"type":"header","label":"STAGES:","text":"All 3 stages โ gradual onset; moderate intensity"},
{"type":"bullet","label":"Chill โ","text":"GRADUAL, insidious onset; chill daily at 1 PM (specific clock time โ keynote Boericke); chilliness over whole back; NOT violent; also worse 4โ6 PM (Clarke)"},
{"type":"bullet","label":"Heat โ","text":"Moderate heat; face alternates pale THEN red โ NEVER becomes dusky (distinguishes from Gels); soft flowing pulse (not hard bounding like Bell); 'Stands midway between sthenic activity of Acon/Bell and asthenic sluggishness of Gels' (Boericke)"},
{"type":"bullet","label":"Sweat โ","text":"Night sweats โ exhausting, anaemic type; palms hot and sweating; profuse morning sweat with nausea (Clarke); little relief from sweating"},
{"type":"spacer"},
{"type":"header","label":"THIRST:","text":"Great thirst for much cold water (Clarke); thirsty even during chill โ paradoxical finding"},
{"type":"spacer"},
{"type":"plain","text":"PAUCITY OF SYMPTOMS โ prescribed when NO clear indicating mental or physical modalities; mild changeable mood (Boericke)"},
{"type":"plain","text":"Haemorrhages: bright red from any orifice; rapid but SOFT pulse"},
{"type":"plain","text":"NO anxious restlessness (vs Aconite); NO dusky dark face (vs Gelsemium); NO hard bounding pulse (vs Belladonna)"},
{"type":"plain","text":"Differentiating: 1st stage + 1 PM chill + Soft pulse + No clear modalities โ the 'first stage' remedy = Ferrum Phos"},
]
},
{
"title": "BAPTISIA TINCTORIA",
"content": [
{"type":"header","label":"TYPE:","text":"Typhoid fever (#1 remedy), Typhus fever, Shipboard/epidemic fever, Septicaemia, Adynamic fevers, Influenza (epidemic with extreme prostration)"},
{"type":"spacer"},
{"type":"header","label":"STAGES:","text":"Continuous/remittent โ rapid descent into sepsis; no clear periodicity"},
{"type":"bullet","label":"Chill โ","text":"Chill at ~11 AM (Boericke); chills with rheumatic soreness all over body; chills over back and lower limbs; 3 AM chills with flashes of heat"},
{"type":"bullet","label":"Heat โ","text":"Face DARK, BESOTTED, DUSKY โ drunken/intoxicated appearance (pathognomonic โ Clarke); dark reddish-purple; whole surface hot and dry; livid spots on body; worse humid heat, fog, indoors"},
{"type":"bullet","label":"Sweat โ","text":"FETID, OFFENSIVE sweat โ all secretions offensive (breath, sweat, stool, urine โ keynote Boericke); critical sweat on forehead and face RELIEVES in typhus (Clarke); rapid exhaustion after sweating"},
{"type":"spacer"},
{"type":"header","label":"THIRST:","text":"Present; thirst noted; offensive mouth; can only swallow LIQUIDS โ inability to swallow solids (Boericke keynote)"},
{"type":"spacer"},
{"type":"plain","text":"ILLUSION OF DIVIDED PERSONALITY โ 'I am in two pieces, cannot find my parts' (pathognomonic โ Clarke)"},
{"type":"plain","text":"Falls asleep MID-SENTENCE while answering; muttering delirium; perfect indifference; stupor"},
{"type":"plain","text":"PAINLESS prostration โ out of proportion to severity; decubitus (bed sores) forms rapidly (Boericke)"},
{"type":"plain","text":"Differentiating: Besotted face + ALL secretions fetid + Divided self + Falls asleep mid-sentence = Baptisia"},
]
},
{
"title": "EUPATORIUM PERFOLIATUM",
"content": [
{"type":"header","label":"TYPE:","text":"Intermittent malarial fever, Dengue/Breakbone fever, Influenza with severe bone pain, Bilious remittent fever, Typhoid (gastro-hepatic type)"},
{"type":"spacer"},
{"type":"header","label":"STAGES:","text":"All 3 stages โ marked periodicity; paroxysm begins 7โ9 AM"},
{"type":"bullet","label":"Chill โ","text":"At 7โ9 AM (specific clock time โ Boericke); patient knows chill is coming because of INTENSE THIRST BEFORE CHILL; cold water HASTENS/WORSENS chill (paradoxical); intense BONE ACHING with moaning during chill; nausea from least motion"},
{"type":"bullet","label":"Heat โ","text":"Heat with throbbing headache; nausea and vomiting of BILE during heat or at close of chill; thirst continues throughout; face flushed; yellow tinge in bilious cases (Boericke)"},
{"type":"bullet","label":"Sweat โ","text":"Perspiration RELIEVES ALL symptoms EXCEPT HEADACHE (most characteristic โ Boericke keynote); headache persists through sweat; nocturnal perspiration"},
{"type":"spacer"},
{"type":"header","label":"THIRST:","text":"GREAT THIRST โ begins BEFORE chill and persists throughout all stages; insatiable; cold water desired but worsens chill (Clarke)"},
{"type":"spacer"},
{"type":"plain","text":"BREAKBONE PAINS โ excruciating pain in ALL bones as if they would break; most intense bone pain in Materia Medica (Boericke)"},
{"type":"plain","text":"Vomiting of bile at close of chill or during heat; soreness of eyeballs; throbbing headache in all stages"},
{"type":"plain","text":"Marked PERIODICITY โ 3rd and 7th day headache; anticipates; quotidian/tertian (Boericke)"},
{"type":"plain","text":"Differentiating: Breakbone pains + Thirst BEFORE chill + Cold water worsens chill + Sweat relieves ALL EXCEPT headache = Eupatorium"},
]
},
]
# โโ Build the PPTX using the original as base (inherits all styles/theme) โโ
prs = Presentation(TEMPLATE)
# Remove existing slides (we will add ours)
# python-pptx doesn't have a direct remove method; use XML manipulation
xml_slides = prs.slides._sldIdLst
for _ in range(len(prs.slides)):
# Remove from rId mapping and slide list
pass
# Better approach: start fresh from template but keep slide master
# Re-open the template to keep theme, then delete all slides and add new ones
# We use a different strategy: duplicate slide 1 for each remedy, then modify content
# This fully preserves the theme and layout linkage
from pptx.opc.constants import RELATIONSHIP_TYPE as RT
import copy
def clone_slide(prs, slide_index=0):
"""Clone an existing slide and return the new slide."""
template_slide = prs.slides[slide_index]
layout = template_slide.slide_layout
# Add a new slide with the same layout
new_slide = prs.slides.add_slide(layout)
return new_slide
def clear_txbody(txBody):
"""Remove all paragraph elements from a txBody."""
for p in txBody.findall(a('p')):
txBody.remove(p)
def set_title(slide, title_text):
"""Set the title placeholder text with Times New Roman bold underline."""
for shape in slide.placeholders:
if shape.placeholder_format.type.name in ('TITLE', 'CENTER_TITLE') or shape.placeholder_format.idx == 0:
tf = shape.text_frame
# Clear existing
txBody = tf._txBody
clear_txbody(txBody)
# Build new para
p = etree.SubElement(txBody, a('p'))
r = make_run(title_text, bold=True, underline=True, font='Times New Roman')
p.append(r)
end = etree.SubElement(p, a('endParaRPr'))
end.set('lang', 'en-IN'); end.set('b', '1'); end.set('u', 'sng'); end.set('dirty', '0')
lat = etree.SubElement(end, a('latin')); lat.set('typeface', 'Times New Roman')
cs2 = etree.SubElement(end, a('cs')); cs2.set('typeface', 'Times New Roman')
return
# Fallback: first shape with text
for shape in slide.shapes:
if shape.has_text_frame:
tf = shape.text_frame
txBody = tf._txBody
clear_txbody(txBody)
p = etree.SubElement(txBody, a('p'))
r = make_run(title_text, bold=True, underline=True, font='Times New Roman')
p.append(r)
return
def set_content(slide, content_items):
"""Set the body/content placeholder."""
BODY_FONT = 'Calibri'
# Find content placeholder (idx=1)
content_shape = None
for shape in slide.placeholders:
if shape.placeholder_format.idx == 1:
content_shape = shape
break
if content_shape is None:
# Try the largest text shape that isn't the title
for shape in slide.shapes:
if shape.has_text_frame and shape.name != 'Title 1':
content_shape = shape
break
if content_shape is None:
print("WARNING: no content shape found on slide")
return
tf = content_shape.text_frame
txBody = tf._txBody
# Remove all existing paragraphs
clear_txbody(txBody)
# Set noAutofit
bodyPr = txBody.find(a('bodyPr'))
if bodyPr is None:
bodyPr = etree.SubElement(txBody, a('bodyPr'))
# remove existing noAutofit/spAutoFit and add noAutofit
for child in list(bodyPr):
bodyPr.remove(child)
etree.SubElement(bodyPr, a('noAutofit'))
for item in content_items:
t = item.get('type', 'plain')
if t == 'spacer':
p = etree.Element(a('p'))
ppr = etree.SubElement(p, a('pPr'))
ppr.set('marL', '0'); ppr.set('indent', '0')
etree.SubElement(ppr, a('buNone'))
epr = etree.SubElement(p, a('endParaRPr'))
epr.set('lang', 'en-US'); epr.set('dirty', '0')
txBody.append(p)
elif t == 'header':
label = item.get('label', '')
text = item.get('text', '')
p = etree.Element(a('p'))
ppr = etree.SubElement(p, a('pPr'))
ppr.set('marL', '0'); ppr.set('indent', '0')
etree.SubElement(ppr, a('buNone'))
if label:
p.append(make_run(label + ' ', bold=True, font=BODY_FONT))
if text:
p.append(make_run(text, bold=False, font=BODY_FONT))
txBody.append(p)
elif t == 'bullet':
label = item.get('label', '')
text = item.get('text', '')
p = etree.Element(a('p'))
ppr = etree.SubElement(p, a('pPr'))
buFont = etree.SubElement(ppr, a('buFont'))
buFont.set('typeface', 'Courier New')
buChar = etree.SubElement(ppr, a('buChar'))
buChar.set('char', 'o')
if label:
p.append(make_run(label + ' ', bold=True, font=BODY_FONT))
if text:
p.append(make_run(text, bold=False, font=BODY_FONT))
txBody.append(p)
elif t == 'sub':
text = item.get('text', '')
label = item.get('label', '')
p = etree.Element(a('p'))
ppr = etree.SubElement(p, a('pPr'))
ppr.set('marL', '457200')
buFont = etree.SubElement(ppr, a('buFont'))
buFont.set('typeface', 'Arial')
buChar = etree.SubElement(ppr, a('buChar'))
buChar.set('char', 'โ')
if label:
p.append(make_run(label + ' ', bold=True, font=BODY_FONT))
p.append(make_run(text, bold=False, font=BODY_FONT))
txBody.append(p)
elif t == 'plain':
text = item.get('text', '')
p = etree.Element(a('p'))
ppr = etree.SubElement(p, a('pPr'))
buFont = etree.SubElement(ppr, a('buFont'))
buFont.set('typeface', 'Wingdings')
buChar = etree.SubElement(ppr, a('buChar'))
buChar.set('char', '\u00d8') # Wingdings solid diamond
p.append(make_run(text, bold=False, font=BODY_FONT))
txBody.append(p)
# โโ Delete all original slides โโ
# We need to keep the slide count = 0 and add fresh ones
# We'll copy slide XML structure from original slide 1 as template for layout
# Then add 8 slides
# Re-open fresh and delete existing slides by manipulating the presentation XML
prs2 = Presentation(TEMPLATE)
# Get the slide layout (Title and Content = index 1)
slide_layout = None
for i, layout in enumerate(prs2.slide_master.slide_layouts):
if 'Content' in layout.name or layout.name == 'Title and Content':
slide_layout = layout
break
if slide_layout is None:
slide_layout = prs2.slide_layouts[1]
print(f"Using layout: {slide_layout.name}")
# Remove all existing slides from the presentation
# python-pptx internal: _sldIdLst
from pptx.opc.packuri import PackURI
import re
# Remove existing slides cleanly
slides = prs2.slides
slide_ids = list(slides._sldIdLst)
for sld_id in slide_ids:
rId = sld_id.get('r:id') or sld_id.get('{http://schemas.openxmlformats.org/officeDocument/2006/relationships}id')
slides._sldIdLst.remove(sld_id)
print(f"Removed {len(slide_ids)} original slides")
# Add 8 new slides
for remedy in remedies:
slide = prs2.slides.add_slide(slide_layout)
set_title(slide, remedy['title'])
set_content(slide, remedy['content'])
print(f" Added slide: {remedy['title']}")
# Save
buf = BytesIO()
prs2.save(buf)
with open(OUTPUT, 'wb') as f:
f.write(buf.getvalue())
print(f"\nSaved: {OUTPUT}")
cd /tmp/workspace/homeopathy-fever-pptx && python3 build_format_match.py 2>&1
cd /tmp/workspace/homeopathy-fever-pptx && python3 -c " from pptx import Presentation prs = Presentation('Fever_Remedies_Boericke_Clarke.pptx') print('Slides:', len(prs.slides)) for i, slide in enumerate(prs.slides, 1): for shape in slide.shapes: if shape.has_text_frame: txt = shape.text_frame.text[:80] if txt.strip(): print(f' Slide {i}: {txt!r}') break "
ls -lh /tmp/workspace/homeopathy-fever-pptx/Fever_Remedies_Boericke_Clarke.pptx && python3 -c " from pptx import Presentation prs = Presentation('/tmp/workspace/homeopathy-fever-pptx/Fever_Remedies_Boericke_Clarke.pptx') # Check slide 1 full content slide = prs.slides[0] for shape in slide.shapes: if shape.has_text_frame: print(f'Shape: {shape.name}') for para in shape.text_frame.paragraphs: t = para.text.strip() if t: print(f' {t[:100]}') "
Fever Remedies Boericke Clarke
Presentation ยท PPTX
o for stage bullets, Wingdings diamond for key pointsnoAutofit content box behavior