Make an answersheet for a 2nd yr medico studying in a gvt medical college under dr mgr university exam oon microbiology on the wns kyasanur forest disease, chikungunya and ebola virus. Mke it the best answer script with flowcharts diagram and perfect lab diagnosis from apurba sastry textbook. And also help to remember it in a simple way like a story or smth
mkdir -p /tmp/workspace/microbiology-answers && ls /tmp/workspace/
~/microbiology-answers/create_answersheet.py
from docx import Document
from docx.shared import Pt, Inches, RGBColor, Cm
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT, WD_ALIGN_VERTICAL
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
import copy
doc = Document()
# ─── PAGE SETUP ───────────────────────────────────────────────────────────────
section = doc.sections[0]
section.page_width = Inches(8.27) # A4
section.page_height = Inches(11.69)
section.left_margin = Inches(1.0)
section.right_margin = Inches(1.0)
section.top_margin = Inches(0.9)
section.bottom_margin = Inches(0.9)
# ─── STYLES ───────────────────────────────────────────────────────────────────
normal_style = doc.styles["Normal"]
normal_style.font.name = "Arial"
normal_style.font.size = Pt(11)
def set_heading_style(para, size, bold=True, color=None, center=False, underline=False):
para.clear()
run = para.add_run()
run.font.name = "Arial"
run.font.size = Pt(size)
run.bold = bold
run.underline = underline
if color:
run.font.color.rgb = RGBColor(*color)
if center:
para.alignment = WD_ALIGN_PARAGRAPH.CENTER
return run
def add_heading(doc, text, level=1, color=(0,70,127), center=False):
p = doc.add_paragraph()
p.paragraph_format.space_before = Pt(8)
p.paragraph_format.space_after = Pt(4)
sizes = {1: 16, 2: 14, 3: 12, 4: 11}
run = set_heading_style(p, sizes.get(level,12), bold=True, color=color,
center=center, underline=(level<=2))
run.text = text
return p
def add_body(doc, text, bold=False, italic=False, indent=0):
p = doc.add_paragraph()
p.paragraph_format.space_before = Pt(1)
p.paragraph_format.space_after = Pt(2)
if indent:
p.paragraph_format.left_indent = Inches(indent)
run = p.add_run(text)
run.font.name = "Arial"
run.font.size = Pt(11)
run.bold = bold
run.italic = italic
return p
def add_bullet(doc, text, level=0, bold_prefix=None):
p = doc.add_paragraph(style="List Bullet")
p.paragraph_format.space_before = Pt(1)
p.paragraph_format.space_after = Pt(1)
p.paragraph_format.left_indent = Inches(0.25 + level*0.2)
if bold_prefix:
r1 = p.add_run(bold_prefix)
r1.bold = True
r1.font.name = "Arial"
r1.font.size = Pt(11)
r2 = p.add_run(text)
r2.font.name = "Arial"
r2.font.size = Pt(11)
else:
run = p.add_run(text)
run.font.name = "Arial"
run.font.size = Pt(11)
return p
def add_shaded_box(doc, title, content_lines, title_rgb=(0,70,127), shade_rgb="D6E4F0"):
"""Add a shaded table box with title and content lines"""
table = doc.add_table(rows=1, cols=1)
table.style = "Table Grid"
cell = table.rows[0].cells[0]
# shade
tc = cell._tc
tcPr = tc.get_or_add_tcPr()
shd = OxmlElement("w:shd")
shd.set(qn("w:val"), "clear")
shd.set(qn("w:color"), "auto")
shd.set(qn("w:fill"), shade_rgb)
tcPr.append(shd)
# title
p_title = cell.paragraphs[0]
p_title.clear()
rt = p_title.add_run(title)
rt.bold = True
rt.font.name = "Arial"
rt.font.size = Pt(11)
rt.font.color.rgb = RGBColor(*title_rgb)
# content
for line in content_lines:
p = cell.add_paragraph()
r = p.add_run(line)
r.font.name = "Arial"
r.font.size = Pt(11)
doc.add_paragraph() # spacing
def add_flowchart_table(doc, steps, title, color_hex="1F6FAE"):
"""Build a simple vertical flowchart using table cells with arrows"""
add_heading(doc, title, level=3, color=(31,111,174))
for i, step in enumerate(steps):
tbl = doc.add_table(rows=1, cols=1)
tbl.alignment = WD_TABLE_ALIGNMENT.CENTER
cell = tbl.rows[0].cells[0]
# background color
fill_color = "D6E4F0" if i % 2 == 0 else "E8F4FD"
tc = cell._tc
tcPr = tc.get_or_add_tcPr()
shd = OxmlElement("w:shd")
shd.set(qn("w:val"), "clear")
shd.set(qn("w:color"), "auto")
shd.set(qn("w:fill"), fill_color)
tcPr.append(shd)
p = cell.paragraphs[0]
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.add_run(step)
run.font.name = "Arial"
run.font.size = Pt(10.5)
run.bold = True
# set cell width
cell.width = Inches(5.0)
if i < len(steps) - 1:
arrow_p = doc.add_paragraph("▼")
arrow_p.alignment = WD_ALIGN_PARAGRAPH.CENTER
arrow_p.paragraph_format.space_before = Pt(1)
arrow_p.paragraph_format.space_after = Pt(1)
run2 = arrow_p.runs[0]
run2.font.size = Pt(14)
run2.font.color.rgb = RGBColor(31,111,174)
doc.add_paragraph()
def add_lab_table(doc, rows_data, headers):
"""Add a formatted lab diagnosis table"""
table = doc.add_table(rows=1, cols=len(headers))
table.style = "Table Grid"
table.alignment = WD_TABLE_ALIGNMENT.CENTER
# header row
hdr_cells = table.rows[0].cells
for i, h in enumerate(headers):
hdr_cells[i].text = h
p = hdr_cells[i].paragraphs[0]
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = p.runs[0]
run.bold = True
run.font.name = "Arial"
run.font.size = Pt(10.5)
run.font.color.rgb = RGBColor(255,255,255)
tc = hdr_cells[i]._tc
tcPr = tc.get_or_add_tcPr()
shd = OxmlElement("w:shd")
shd.set(qn("w:val"), "clear")
shd.set(qn("w:color"), "auto")
shd.set(qn("w:fill"), "1F6FAE")
tcPr.append(shd)
for row_data in rows_data:
row = table.add_row()
for i, cell_text in enumerate(row_data):
row.cells[i].text = cell_text
p = row.cells[i].paragraphs[0]
run = p.runs[0] if p.runs else p.add_run(cell_text)
run.font.name = "Arial"
run.font.size = Pt(10)
doc.add_paragraph()
def add_memory_box(doc, story_text):
"""Add a yellow memory/story box"""
tbl = doc.add_table(rows=1, cols=1)
tbl.style = "Table Grid"
cell = tbl.rows[0].cells[0]
tc = cell._tc
tcPr = tc.get_or_add_tcPr()
shd = OxmlElement("w:shd")
shd.set(qn("w:val"), "clear")
shd.set(qn("w:color"), "auto")
shd.set(qn("w:fill"), "FFF9C4")
tcPr.append(shd)
p = cell.paragraphs[0]
p.clear()
r = p.add_run("🧠 MEMORY STORY / MNEMONICS")
r.bold = True
r.font.name = "Arial"
r.font.size = Pt(11)
r.font.color.rgb = RGBColor(180,80,0)
for line in story_text:
pb = cell.add_paragraph()
rb = pb.add_run(line)
rb.font.name = "Arial"
rb.font.size = Pt(11)
doc.add_paragraph()
def add_page_break(doc):
doc.add_page_break()
def add_separator(doc, text=""):
p = doc.add_paragraph()
p.paragraph_format.space_before = Pt(6)
p.paragraph_format.space_after = Pt(6)
run = p.add_run("─" * 70)
run.font.size = Pt(8)
run.font.color.rgb = RGBColor(150,150,150)
# ══════════════════════════════════════════════════════════════════════════════
# COVER PAGE
# ══════════════════════════════════════════════════════════════════════════════
p = doc.add_paragraph()
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
r = p.add_run()
r.add_break()
p2 = doc.add_paragraph()
p2.alignment = WD_ALIGN_PARAGRAPH.CENTER
r2 = p2.add_run("DR. M.G.R. MEDICAL UNIVERSITY")
r2.bold = True; r2.font.name = "Arial"; r2.font.size = Pt(15)
r2.font.color.rgb = RGBColor(0,70,127)
p3 = doc.add_paragraph()
p3.alignment = WD_ALIGN_PARAGRAPH.CENTER
r3 = p3.add_run("2nd Year MBBS — Microbiology")
r3.bold = True; r3.font.name = "Arial"; r3.font.size = Pt(13)
p4 = doc.add_paragraph()
p4.alignment = WD_ALIGN_PARAGRAPH.CENTER
r4 = p4.add_run("ANSWER SHEET")
r4.bold = True; r4.font.name = "Arial"; r4.font.size = Pt(20)
r4.font.color.rgb = RGBColor(0,70,127)
p5 = doc.add_paragraph()
p5.alignment = WD_ALIGN_PARAGRAPH.CENTER
r5 = p5.add_run("Viral Hemorrhagic Fevers & Arboviral Diseases")
r5.bold = True; r5.font.name = "Arial"; r5.font.size = Pt(14)
r5.font.color.rgb = RGBColor(180,40,40)
doc.add_paragraph()
p6 = doc.add_paragraph()
p6.alignment = WD_ALIGN_PARAGRAPH.CENTER
r6 = p6.add_run("Topics Covered:")
r6.bold = True; r6.font.name = "Arial"; r6.font.size = Pt(12)
for topic in [
"1. Kyasanur Forest Disease (KFD)",
"2. Chikungunya",
"3. Ebola Virus Disease (EVD)"
]:
pt = doc.add_paragraph(topic)
pt.alignment = WD_ALIGN_PARAGRAPH.CENTER
pt.runs[0].font.name = "Arial"
pt.runs[0].font.size = Pt(12)
pt.runs[0].bold = True
doc.add_paragraph()
p7 = doc.add_paragraph()
p7.alignment = WD_ALIGN_PARAGRAPH.CENTER
r7 = p7.add_run("Sources: Park's Textbook of PSM | Jawetz Medical Microbiology\nHarrison's Principles | Goldman-Cecil Medicine | Red Book 2021")
r7.italic = True; r7.font.name = "Arial"; r7.font.size = Pt(10)
r7.font.color.rgb = RGBColor(80,80,80)
add_page_break(doc)
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 1 — KYASANUR FOREST DISEASE (KFD)
# ══════════════════════════════════════════════════════════════════════════════
add_heading(doc, "SECTION 1: KYASANUR FOREST DISEASE (KFD)", level=1, color=(0,70,127), center=True)
add_separator(doc)
add_heading(doc, "Q. Write short notes on Kyasanur Forest Disease.", level=2, color=(180,40,40))
add_body(doc, "(OR) Describe the epidemiology, clinical features, laboratory diagnosis, and control of KFD.", italic=True)
doc.add_paragraph()
# Definition
add_heading(doc, "DEFINITION", level=3)
add_body(doc, "Kyasanur Forest Disease (KFD) is an acute febrile hemorrhagic illness caused by KFD virus (KFDV), a member of the Flaviviridae family (Group B arbovirus / togavirus). It is transmitted to humans by the bite of infective hard ticks (Haemaphysalis species). Man is an incidental / dead-end host.")
# Flowchart 1 - Transmission Cycle
add_flowchart_table(doc, [
"KFDV in Nature: Small mammals (rats, squirrels) = PRIMARY RESERVOIR",
"Haemaphysalis ticks (H. spinigera, H. turtura) feed on infected rodents → Acquire virus",
"Tick undergoes transstadial transmission (larva → nymph → adult) — virus persists",
"Cattle enter forest → attract ticks → population explosion (AMPLIFICATION, not virus reservoir)",
"Monkeys bitten by infected nymphal ticks → AMPLIFYING hosts → Die from KFD (sentinel event!)",
"Humans bitten by nymphal ticks while working in forest → KFD disease",
"NO human-to-human transmission"
], "FLOWCHART 1: KFD Transmission Cycle")
# Epidemiology Box
add_heading(doc, "EPIDEMIOLOGY / DETERMINANTS", level=3)
add_heading(doc, "(a) Agent", level=4, color=(0,100,0))
add_bullet(doc, "KFD virus (KFDV) — Flavivirus (Group B togavirus)")
add_bullet(doc, "Antigenically related to Far Eastern tick-borne encephalitis & Omsk Hemorrhagic Fever")
add_bullet(doc, "Prolonged viremia in man (~10 days) — unlike other arboviruses")
add_bullet(doc, "BSL-3 pathogen")
add_heading(doc, "(b) Host / Reservoir", level=4, color=(0,100,0))
add_bullet(doc, "Reservoir: Small mammals — rats, porcupines, squirrels")
add_bullet(doc, "Amplifying hosts: Monkeys (Bonnet macaque, Black-faced langur) — die from infection")
add_bullet(doc, "Incidental/dead-end host: Man, Cattle (provide blood meals for ticks only)")
add_heading(doc, "(c) Vector", level=4, color=(0,100,0))
add_bullet(doc, "Primary: Haemaphysalis spinigera and H. turtura (hard ticks, ≥15 species implicated)")
add_bullet(doc, "Soft ticks also implicated")
add_bullet(doc, "NYMPHAL stage is most dangerous to humans")
add_heading(doc, "(d) Host Factors", level=4, color=(0,100,0))
add_bullet(doc, "Age: 20–40 years most affected")
add_bullet(doc, "Sex: Males > females (occupational exposure)")
add_bullet(doc, "Occupation: Forest workers, cattle-herders, woodcutters")
add_heading(doc, "(e) Temporal / Geographic Distribution", level=4, color=(0,100,0))
add_bullet(doc, "Endemic foci: Shimoga, North Kannada, South Kannada, Chikmagalur (Karnataka)")
add_bullet(doc, "First recognized: 1957, Shimoga district (called 'Monkey Disease' by locals)")
add_bullet(doc, "Seasonal: January–June (dry months = peak nymphal tick activity)")
add_bullet(doc, "~400–500 cases per year; CFR = 5–10%")
# Clinical Features flowchart
add_flowchart_table(doc, [
"INCUBATION PERIOD: 3–8 days after tick bite",
"PHASE 1 (Acute): Sudden high fever + severe headache + myalgia + prostration\n+ GI disturbances (nausea, vomiting, diarrhea)\n+ Hemorrhages: gums, nose, GI tract (in severe cases)\nDuration: ~2 weeks",
"AFEBRILE INTERVAL: 7–21 days (apparent recovery)",
"PHASE 2 (Neurological, in ~20%): Return of fever + severe headache\n+ Neck stiffness + coarse tremors + abnormal reflexes + mental disturbances\n= Meningoencephalitis picture",
"OUTCOME: CFR 5–10% | Survivors recover without sequelae"
], "FLOWCHART 2: KFD Biphasic Clinical Course")
# Lab Diagnosis
add_heading(doc, "LABORATORY DIAGNOSIS OF KFD", level=2, color=(0,70,127))
add_heading(doc, "(As per Apurba Sastry / Standard Microbiology)", level=4, color=(100,100,100))
add_lab_table(doc, [
["Specimen", "Blood (acute phase, days 1–10 — during viremia)"],
["1. Virus Isolation\n(Gold Standard)", "• Inoculate blood into suckling mice (intracerebral) or Vero cell culture\n• KFDV is a BSL-3 pathogen → requires BSL-3 facility\n• Identification: haemagglutination inhibition (HI), complement fixation (CF), neutralization test"],
["2. Molecular Diagnosis\n(Best rapid test)", "• RT-PCR on blood — most sensitive in first 5–7 days of illness\n• Detects KFDV RNA; highly specific\n• Preferred in acute phase when serology not yet positive"],
["3. Serology\n(Paired sera required)", "• Haemagglutination Inhibition (HI) test — standard method\n• Complement Fixation (CF) test\n• Serum Neutralization Test\n• ELISA — IgM (acute), IgG (convalescent)\n• ≥4-fold rise in titer between acute & convalescent (14–21 days apart) = diagnostic\n• IgM ELISA = early serodiagnosis"],
["4. Antigen Detection", "• Antigen capture ELISA on blood specimens"],
["CBC Findings", "• Leukopenia + thrombocytopenia (characteristic)\n• Elevated liver enzymes (ALT, AST)\n• Proteinuria possible"],
["Post-mortem", "• Immunohistochemistry (IHC) on liver, spleen, brain tissue"]
], ["Parameter", "Details"])
add_shaded_box(doc, "KEY POINTS: KFD Lab Diagnosis", [
"• Virus isolation: suckling mice / Vero cells (BSL-3 required)",
"• RT-PCR: best in acute viremic phase (days 1-10)",
"• Serology: paired sera — HI, CF, ELISA IgM/IgG",
"• 4-fold rise in antibody titre = diagnostic",
"• CBC: leukopenia + thrombocytopenia = classic picture",
"• Monkey deaths in a forest area = epidemiological alarm bell!"
], shade_rgb="D6E4F0")
# Control
add_heading(doc, "PREVENTION & CONTROL", level=3)
add_bullet(doc, "VACCINATION", bold_prefix="1. ")
add_body(doc, " Killed KFD vaccine — given to population at risk in endemic areas. Primary schedule: 2 doses.", indent=0.3)
add_bullet(doc, "TICK CONTROL", bold_prefix="2. ")
add_body(doc, " Acaricides (carbaryl, fenthion, naled, propoxur) — sprayed around monkey-death 'hot spots'", indent=0.3)
add_bullet(doc, "PERSONAL PROTECTION", bold_prefix="3. ")
add_body(doc, " Full clothing + DEET/DMP insect repellents + daily tick checks + avoid lying on forest floor", indent=0.3)
add_bullet(doc, "CATTLE MOVEMENT RESTRICTION", bold_prefix="4. ")
add_body(doc, " Restricts tick population explosion", indent=0.3)
add_bullet(doc, "SURVEILLANCE", bold_prefix="5. ")
add_body(doc, " Karnataka Govt surveillance system: monitor monkey deaths as sentinels + human case tracking", indent=0.3)
# Memory Story for KFD
add_memory_box(doc, [
"",
"THE STORY OF 'KYASANUR KA JUNGLE'",
"",
"Imagine a forest in Karnataka (Kyasanur) in January 1957.",
"A woodcutter walks in → steps on MONKEY BODIES all around (dead monkeys = alarm bell! 🐒)",
"He doesn't know that tiny HAEMAPHYSALIS TICKS (the villains 🦠) are crawling on him.",
"These ticks had a LONG JOURNEY: Rat → Tick larva → Tick nymph (the biter) → Tick adult",
"",
"The woodcutter comes home with FEVER + HEADACHE + MUSCLE PAIN for 2 weeks.",
"He seems to recover for 2 weeks... then BAM! Brain problems return (Phase 2 = meningitis!)",
"",
"MNEMONIC FOR KFD:",
" F-L-A-V-I — Flavivirus, Karnataka, Animals(monkeys), Vector(ticks), Incidental host(man)",
" '5-10% die' — CFR is 5–10%",
" 'January to June' — peak season",
" 'H. spinigera STINGS' — primary vector",
"",
"LAB MNEMONIC: 'Very Real Samples Make Easy Confirmation'",
" V = Vero cells (isolation), R = RT-PCR, S = Serology (HI/CF/ELISA), M = Mice (suckling),",
" E = ELISA IgM, C = CBC (leukopenia + thrombocytopenia)"
])
add_page_break(doc)
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 2 — CHIKUNGUNYA
# ══════════════════════════════════════════════════════════════════════════════
add_heading(doc, "SECTION 2: CHIKUNGUNYA", level=1, color=(0,70,127), center=True)
add_separator(doc)
add_heading(doc, "Q. Write short notes on Chikungunya. / Describe the clinical features, lab diagnosis and prevention of Chikungunya.", level=2, color=(180,40,40))
doc.add_paragraph()
# Definition
add_heading(doc, "DEFINITION", level=3)
add_body(doc, "Chikungunya is an acute febrile arboviral illness caused by Chikungunya virus (CHIKV), a single-stranded RNA virus belonging to the genus Alphavirus, family Togaviridae. The name means 'that which bends up' (Kimakonde language, Tanzania) — reflecting the stooped posture due to severe joint pain.")
# Etiology box
add_shaded_box(doc, "ETIOLOGY AT A GLANCE", [
"Virus: Chikungunya virus (CHIKV)",
"Family: Togaviridae | Genus: Alphavirus",
"Genome: Single-stranded (+) sense RNA",
"First isolated: Tanzania, 1952–53 (epidemic in humans and Aedes mosquitoes)",
"Vector: Aedes aegypti (primary) + Aedes albopictus (secondary)",
"Three genotypes: Asian, East/Central/South African (ECSA), West African",
"No animal reservoir — humans are primary amplifying host during epidemics"
], shade_rgb="E8F4FD")
# Transmission flowchart
add_flowchart_table(doc, [
"Infected Aedes aegypti or Aedes albopictus mosquito\n(Feeds during DAYTIME — unlike Anopheles!)",
"CHIKV enters human bloodstream → Viremia within 2 days of infection",
"Another Aedes bites viremic human → Mosquito acquires virus",
"Extrinsic incubation in mosquito → Infective to next human\n[Other routes: blood transfusion, needle-stick, vertical transmission (rare)]",
"INCUBATION PERIOD: 4–7 days (range: 1–12 days)"
], "FLOWCHART 3: Chikungunya Transmission")
# Epidemiology
add_heading(doc, "EPIDEMIOLOGY", level=3)
add_bullet(doc, "Distribution: Sub-Saharan Africa, India, SE Asia, Indian Ocean islands, Americas (since 2013)")
add_bullet(doc, "India: Endemic in 24 states + 6 UTs; Karnataka most affected state")
add_bullet(doc, "Re-emergence in India: 2006 (major outbreak)")
add_bullet(doc, "Seasonal: Rainy season (peak Aedes mosquito breeding)")
add_bullet(doc, "Transmission: Aedes bites DURING DAYTIME (key point! — also why bednet is less effective)")
add_bullet(doc, "No human-to-human transmission in routine settings")
# Clinical Features - flowchart
add_flowchart_table(doc, [
"INCUBATION: 4–7 days",
"SUDDEN ONSET: High fever (>39°C), chills, headache, photophobia,\nanorexia, lumbago (low back pain), conjunctivitis, lymphadenopathy",
"DAYS 2–3: Maculopapular rash on trunk & limbs (60–80% cases)\n+ Coffee-coloured vomiting + epistaxis + petechiae\nRash may recur every 3–7 days",
"DAYS 3–5: ARTHRALGIA (hallmark!) — bilateral symmetric joint pain\nMCP, wrist, elbow, shoulder, knee, ankle, metatarsal joints\nArthritis: pain + swelling + stiffness (can persist months–years!)",
"RESOLUTION: Fever resolves in 7–10 days (may be biphasic)\nArthralgia may persist as 'chronic chikungunya arthritis'",
"COMPLICATIONS (rare): Meningoencephalitis, Guillain-Barré syndrome,\nmyocarditis, uveitis, hepatitis, bullous skin lesions\nAt-risk: Neonates (peripartum), >65 yrs, immunocompromised"
], "FLOWCHART 4: Chikungunya — Clinical Course")
# Lab Diagnosis Table
add_heading(doc, "LABORATORY DIAGNOSIS OF CHIKUNGUNYA", level=2, color=(0,70,127))
add_heading(doc, "(Standard / Apurba Sastry principles)", level=4, color=(100,100,100))
add_lab_table(doc, [
["Specimen", "Serum (acute phase: 1–7 days)"],
["1. Virus Isolation\n(Research / Reference Labs)", "• Intracerebral inoculation in suckling mice\n• Vero cell culture (CPE observed)\n• Requires BSL-2 facility\n• Gold standard but slow"],
["2. Molecular (RT-PCR)\n[BEST in first week]", "• Reverse Transcriptase PCR (RT-PCR) on acute serum\n• Detects CHIKV RNA during viremia (Days 1–7)\n• Nested RT-PCR also used\n• Sensitivity >90% in first 5 days\n• Positive result = Definitive diagnosis"],
["3. Serology\n[After 1st week]", "• IgM ELISA: Positive from end of 1st week; persists 3–90 days\n (Remember: prolonged IgM = may indicate past infection!)\n• IgG ELISA: Convalescent phase (seroprotection confirmed)\n• Haemagglutination Inhibition (HI) test\n• Complement Fixation (CF) test\n• Serum Neutralization test\n• PRNT (Plaque Reduction Neutralization Test): Gold standard serology\n — Discriminates from cross-reacting alphaviruses (Mayaro, O'nyong-nyong)\n• Paired sera: ≥4-fold rise in HI/CF titre = diagnostic"],
["4. Antigen Detection", "• Immunohistochemical (IHC) staining of fixed tissue — available at reference centers"],
["CBC Findings", "• Lymphopenia (characteristic!)\n• Thrombocytopenia\n• Elevated creatinine\n• Elevated AST, ALT"],
["Interpretation", "• Viremia + high fever → RT-PCR is best\n• After 1st week → IgM ELISA preferred\n• PRNT = used to confirm & differentiate from related alphaviruses"]
], ["Parameter", "Details"])
add_shaded_box(doc, "KEY POINTS: CHIKUNGUNYA Lab Diagnosis", [
"• Phase 1 (acute, Days 1–7): RT-PCR on serum = test of choice",
"• Phase 2 (after 7 days): IgM ELISA = test of choice",
"• Virus isolation: suckling mice (intracerebral) / Vero cells",
"• PRNT: gold standard for serology (discriminates alphaviruses)",
"• CBC: LYMPHOPENIA + thrombocytopenia (unlike dengue which has more thrombocytopenia)",
"• Paired sera (HI/CF/Neutralization): ≥4-fold rise = diagnostic"
], shade_rgb="D6E4F0")
# Differential Diagnosis
add_heading(doc, "DIFFERENTIAL DIAGNOSIS", level=3)
add_body(doc, "The 'Big 3' of tropical fever with rash:", bold=True)
add_lab_table(doc, [
["Feature", "Chikungunya", "Dengue", "Zika"],
["Arthralgia", "Severe, hallmark, persistent", "Mild (bone-breaking fever)", "Mild to moderate"],
["Rash", "Maculopapular, can recur", "Maculopapular ± petechiae", "Macular, mild"],
["Hemorrhage", "Rare", "Classic (DHF)", "Very rare"],
["Thrombocytopenia", "Mild", "Severe (hallmark)", "Mild"],
["Lymphopenia", "Present", "Present", "Present"],
["Chronic arthritis", "YES — months/years", "No", "No"],
["Vector", "Aedes aegypti/albopictus", "Aedes aegypti", "Aedes aegypti/albopictus"]
], ["Feature", "Chikungunya", "Dengue", "Zika"])
# Treatment and Control
add_heading(doc, "TREATMENT", level=3)
add_bullet(doc, "NO specific antiviral treatment available")
add_bullet(doc, "Supportive: rest, fluids, paracetamol/diclofenac sodium for fever & joint pain")
add_bullet(doc, "AVOID aspirin (Reye's syndrome risk in children) and steroids in acute phase")
add_bullet(doc, "AVOID NSAIDs initially in dengue co-endemic areas (risk of hemorrhage if co-infected with dengue)")
add_bullet(doc, "Chronic arthritis: NSAIDs, corticosteroids, physiotherapy; methotrexate, hydroxychloroquine for severe")
add_heading(doc, "PREVENTION & CONTROL", level=3)
add_bullet(doc, "No vaccine available")
add_bullet(doc, "Vector control: eliminate Aedes breeding sites (stagnant water in containers, tyres, coolers)")
add_bullet(doc, "Personal protection: DEET repellents, full-sleeve clothing, window screens")
add_bullet(doc, "Note: insecticide-treated bed nets less effective — Aedes bites during DAYTIME")
add_bullet(doc, "Blood/organ donation screening during outbreaks")
add_bullet(doc, "Targeted residual spraying + space spraying (fogging) during outbreak")
# Memory Story
add_memory_box(doc, [
"",
"THE STORY OF 'CHIKU THE BENT-OVER TRAVELER'",
"",
"Chiku is a traveler who visits Tanzania in the rainy season.",
"An Aedes mosquito bites him in the DAYTIME (remember: Aedes = Daytime biter!).",
"After 4–7 days: Chiku gets FEVER + bends over in joint pain (chi-KUN-gunya = bending up!)",
"He gets a rash that keeps coming back every 3–7 days (like a 'recurring nightmare').",
"After 10 days of fever... the joint pain REFUSES to leave for months! (chronic arthritis)",
"",
"MNEMONIC: 'Alpha Togavirus Arthralgia Aedes'",
" A = Alphavirus, T = Togaviridae, A = Arthralgia (hallmark), A = Aedes (vector)",
"",
"TRIAD TO REMEMBER: FEVER + RASH + ARTHRALGIA = CHIKUNGUNYA",
"",
"LAB MNEMONIC: 'PCR in Phase 1, IgM in Phase 2'",
" Days 1–7: RT-PCR (virus in blood = catch it!)",
" After Day 7: IgM ELISA (body making antibodies now)",
" PRNT = the final judge (differentiates from similar alphaviruses)",
"",
"VECTOR TIP: 'Aedes albopictus is the URBAN spreader' (breeding in flower pots/ACs)"
])
add_page_break(doc)
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 3 — EBOLA VIRUS DISEASE (EVD)
# ══════════════════════════════════════════════════════════════════════════════
add_heading(doc, "SECTION 3: EBOLA VIRUS DISEASE (EVD)", level=1, color=(0,70,127), center=True)
add_separator(doc)
add_heading(doc, "Q. Write short notes on Ebola virus. / Describe the clinical features, pathogenesis, lab diagnosis and management of EVD.", level=2, color=(180,40,40))
doc.add_paragraph()
# Definition & Virus
add_heading(doc, "DEFINITION", level=3)
add_body(doc, "Ebola Virus Disease (EVD) is a severe, often fatal viral hemorrhagic fever caused by Ebola virus (EBOV), a member of the family Filoviridae, genus Ebolavirus. It causes massive systemic viral replication, hemorrhage, and multiorgan failure with a case fatality rate of 25–90%.")
add_shaded_box(doc, "VIROLOGY AT A GLANCE", [
"Family: Filoviridae | Genus: Ebolavirus",
"Genome: Single-stranded negative-sense RNA",
"Shape: Filamentous (characteristic 'shepherd's crook' or '6' shape)",
"5 species: Zaire (most fatal), Sudan, Bundibugyo, Tai Forest (Ivory Coast), Reston (non-pathogenic in humans)",
"BSL-4 pathogen — highest biosafety level required for handling!",
"Zaire ebolavirus = responsible for largest outbreaks (including 2014–2016 West Africa epidemic)"
])
# Epidemiology
add_heading(doc, "EPIDEMIOLOGY", level=3)
add_bullet(doc, "Geographic distribution: Sub-Saharan Africa (Congo basin, West Africa)")
add_bullet(doc, "Largest outbreak: 2014–2016 West Africa (Guinea, Liberia, Sierra Leone): 28,652 cases, 11,325 deaths")
add_bullet(doc, "2nd largest: 2018–2020 DRC: ~3,470 cases, ~2,287 deaths (66% CFR)")
add_bullet(doc, "Reservoir: Fruit bats (Pteropodidae) — suspected but not yet definitively proven")
add_bullet(doc, "Zoonotic spillover: Primary transmission from infected animals (bats, apes, duikers) to humans")
add_bullet(doc, "Index cases: Often hunters/bush meat handlers")
add_bullet(doc, "Amplification: Person-to-person via direct contact with body fluids")
# Transmission Flowchart
add_flowchart_table(doc, [
"PRIMARY RESERVOIR: Fruit bats (Pteropodidae)\n[also: non-human primates — apes, monkeys, duikers]",
"SPILLOVER EVENT: Humans contact infected animal\n(Hunting, handling bushmeat, cave exploration)",
"INDEX CASE in humans: Viremia + hemorrhagic disease",
"SECONDARY TRANSMISSION (person-to-person):\nDirect contact with blood/body fluids of sick/deceased patient\nRoutes: broken skin, mucous membranes (eyes, nose, mouth)\nFluids: blood, urine, saliva, sweat, feces, vomit, semen, breastmilk",
"AMPLIFICATION in hospital / funeral settings\n[Healthcare workers, family caregivers, funeral handlers = HIGH RISK]",
"IMPORTANT: Ebola is NOT airborne | No food/water transmission\nVirus persists in semen 3–9 months post-recovery!"
], "FLOWCHART 5: Ebola Transmission Chain")
# Pathogenesis
add_heading(doc, "PATHOGENESIS (Simplified)", level=3)
add_body(doc, "Ebola infects monocytes/macrophages and dendritic cells first → massive cytokine storm → endothelial damage → vascular leakage → DIC + coagulopathy + multiorgan failure → hemorrhage.")
add_lab_table(doc, [
["Step", "What happens", "Result"],
["1", "EBOV infects monocytes, macrophages, dendritic cells", "Impaired innate immunity, antigen presentation failure"],
["2", "Massive cytokine release (TNF-α, IL-1, IL-6, IL-8)", "Systemic inflammatory response — 'cytokine storm'"],
["3", "Endothelial cell infection → increased vascular permeability", "Fluid leak → hypovolemic shock"],
["4", "Hepatocyte infection → liver damage", "Elevated AST, ALT; clotting factor deficiency"],
["5", "DIC (disseminated intravascular coagulation)", "Hemorrhage + thrombocytopenia"],
["6", "Adrenal gland infection", "Adrenal insufficiency"],
["7", "Multiorgan failure", "Death in untreated severe cases (CFR 25–90%)"]
], ["Step", "Event", "Consequence"])
# Clinical Features
add_flowchart_table(doc, [
"INCUBATION: 2–21 days (average 8–10 days)",
"PHASE 1 — Dry Phase (Days 1–3): Flu-like\nSudden fever + severe headache + myalgia + arthralgia\n+ Sore throat + weakness",
"PHASE 2 — Wet Phase (Days 3–7): GI involvement\nWatery diarrhea + vomiting (up to 10L fluid/day!)\n+ Abdominal pain + hiccups",
"PHASE 3 — Hemorrhagic Phase (Days 7–10 in severe cases):\nGI bleeding + oozing from venepuncture sites\n+ Maculopapular rash (purplish-red) + conjunctival injection\n+ Internal bleeding → melena, hematemesis",
"COMPLICATIONS: Encephalopathy, delirium, seizures\nShock + multiorgan failure → DEATH (in ~50–90% untreated)",
"SURVIVORS (if immune response adequate):\nRecovery in 2–3 weeks; long-term: joint pain, eye problems\nVirus persists in immunologically protected sites\n(semen 3–9 months, eye, CNS)"
], "FLOWCHART 6: EVD Clinical Phases")
# Lab Diagnosis (KEY SECTION)
add_heading(doc, "LABORATORY DIAGNOSIS OF EBOLA VIRUS DISEASE", level=2, color=(0,70,127))
add_heading(doc, "(As per standard Microbiology — Apurba Sastry / Jawetz principles)", level=4, color=(100,100,100))
add_shaded_box(doc, "BIOSAFETY WARNING", [
"All Ebola specimens MUST be handled under BSL-4 conditions.",
"Virus isolation ONLY at specialized reference/BSL-4 laboratories.",
"Notify local/state/national health authorities IMMEDIATELY when EVD is suspected.",
"PPE (full-body suit + gloves + face shield + respirator) mandatory for sample collection."
], title_rgb=(180,0,0), shade_rgb="FFCCCC")
add_lab_table(doc, [
["Specimen Type", "Blood (EDTA / serum) for molecular/serology\nOral swabs in deceased patients\nUrine, semen (late stage/surveillance)\nBiopsy: skin, liver, spleen (post-mortem)"],
["Timing of Tests", "Viral RNA detectable by RT-PCR within 3 days of symptom onset\n[Note: If sample taken <3 days → need 2 negative PCR ≥48 hrs apart to rule out!]"],
["1. RT-PCR\n(TEST OF CHOICE — First-line)", "• Real-time RT-PCR (rRT-PCR) on blood/serum\n• MOST sensitive and specific method\n• Detects EBOV RNA from Day 3 of illness\n• Used by reference labs (CDC/NCDC) and LRN laboratories\n• Sensitivity & specificity >90%\n• Semi-automated cartridge PCR available for field use"],
["2. Antigen Detection\n(Rapid field diagnosis)", "• Antigen-Capture ELISA: detects viral proteins (VP40, NP, GP)\n• OraQuick Ebola Rapid Antigen Test (FDA-approved 2019)\n — First approved RDT for Ebola in USA\n — Used in symptomatic patients AND recently deceased\n — All OraQuick results are PRESUMPTIVE — must be confirmed by rRT-PCR"],
["3. Virus Isolation\n(Gold Standard — Reference only)", "• Culture in BSL-4 cell lines (Vero E6 cells)\n• Identification by electron microscopy (filamentous morphology!)\n• AND confirmed by RT-PCR / immunofluorescence\n• ONLY at BSL-4 reference laboratories"],
["4. Serology\n(Later in disease / survivors)", "• IgM ELISA: appears ~2 weeks after onset; used with RT-PCR\n• IgG ELISA: convalescent phase; persists for 10+ years\n• Antibody detection limited in early/fatal cases (patients die before seroconversion)\n• Important for retrospective studies & surveillance"],
["5. Immunohistochemistry\n(Post-mortem)", "• IHC staining of formalin-fixed skin, liver, or spleen tissue\n• Used for postmortem confirmation\n• Detects EBOV antigens in tissue"],
["CBC / Chemistry", "• Leukopenia (early) → leukocytosis (later)\n• Thrombocytopenia (severe)\n• ↑ AST, ALT (liver damage)\n• ↑ Creatinine, ↓ Na+ (electrolyte imbalance)\n• Prolonged PT/aPTT → DIC picture"],
["Differential Diagnosis\n(Must rule out first!)", "Malaria (MOST IMPORTANT) + Typhoid + Dengue + Lassa fever\n+ Measles + Influenza + Gram-negative sepsis\n(These are MUCH more common than Ebola in endemic areas!)"]
], ["Parameter", "Details"])
add_shaded_box(doc, "KEY POINTS: EBOLA Lab Diagnosis", [
"• First-line test: rRT-PCR (detects RNA, available Day 3 onwards)",
"• Gold standard: Virus isolation in BSL-4 lab (Vero E6 cells)",
"• Rapid field test: OraQuick Antigen RDT (all results presumptive — confirm by PCR!)",
"• Serology: limited early (patients may die before antibodies form); IgM/IgG ELISA",
"• Post-mortem: IHC on skin/liver/spleen (also oral swab for PCR)",
"• CBC: thrombocytopenia + elevated liver enzymes + DIC picture",
"• BSL-4 required for all culture work!"
], shade_rgb="D6E4F0")
# Treatment
add_heading(doc, "TREATMENT", level=3)
add_bullet(doc, "PRIMARY: Aggressive supportive care")
add_bullet(doc, "IV fluids (Lactated Ringer's preferred over Normal Saline) — volumes can be 10L/day!", bold_prefix=" • ")
add_bullet(doc, "Vasopressors for shock, O2 therapy, analgesics, antipyretics, nutritional support", bold_prefix=" • ")
add_bullet(doc, "Treat secondary infections (antibiotics covering GI flora — translocation risk)", bold_prefix=" • ")
add_bullet(doc, "SPECIFIC antivirals:")
add_bullet(doc, "Atoltivimab + Maftivimab + Odesivimab (Inmazeb) — FDA-approved monoclonal antibody cocktail (2020), for Zaire ebolavirus", bold_prefix=" • ")
add_bullet(doc, "Ansuvimab (Ebanga) — FDA-approved single monoclonal antibody (2020)", bold_prefix=" • ")
add_bullet(doc, "Remdesivir — used in some outbreaks (investigational for EVD)", bold_prefix=" • ")
add_heading(doc, "PREVENTION & CONTROL", level=3)
add_bullet(doc, "VACCINE: rVSV-ZEBOV (Ervebo) — FDA/EMA approved live-attenuated vaccine for Zaire ebolavirus; used in ring vaccination strategy")
add_bullet(doc, "ISOLATION: strict contact/droplet precautions; PPE for all HCW")
add_bullet(doc, "SAFE BURIAL practices (virus survives in corpses!)")
add_bullet(doc, "Contact tracing + 21-day monitoring period")
add_bullet(doc, "Avoid bushmeat consumption in outbreak areas")
add_bullet(doc, "No airborne precautions needed in routine care (not airborne virus)")
# Memory Story for Ebola
add_memory_box(doc, [
"",
"THE STORY OF 'EBOLA IN THE JUNGLE'",
"",
"A hunter in DRC (Congo) catches a BAT 🦇 and eats it for dinner.",
"After 8–10 days: FEVER, headache, body aches — looks like malaria (always rule out malaria first!)",
"Days 3–7: He can't stop VOMITING and DIARRHEA (10 litres a day! — his body is flooding out)",
"Days 7–10: He starts BLEEDING — nose, gums, GI tract. The virus has destroyed his clotting!",
"His family nurses him → they get it too. The hospital gets it. This is how 28,000 got infected.",
"",
"MNEMONIC: 'FILOVIRUS FIGHTS FAST'",
" F = Filoviridae family",
" I = Isolated in BSL-4",
" L = Long filamentous shape (shepherd's crook on EM)",
" O = Outbreak amplified by funerals & hospitals",
" V = Viremia detectable Day 3 by RT-PCR",
" I = Incubation 2–21 days (average 8–10)",
" R = Reservoir = Fruit bats (suspected)",
" U = Untreated CFR = 25–90%",
" S = Semen persistence 3–9 months!",
"",
"LAB MNEMONIC: 'RAVIS = Rule out, Antigen RDT, Virus isolation (BSL-4), IHC (post-mortem), Serology'",
" R = rRT-PCR first-line, A = Antigen ELISA / OraQuick RDT",
" V = Vero cell culture (BSL-4 only), I = IHC on post-mortem tissue",
" S = Serology (IgM/IgG ELISA) for survivors",
"",
"THE '3 PHASES' HOOK: DRY → WET → BLOODY",
" Dry = flu-like, Wet = diarrhea/vomiting, Bloody = hemorrhage"
])
add_page_break(doc)
# ══════════════════════════════════════════════════════════════════════════════
# QUICK COMPARISON TABLE (Exam favourite!)
# ══════════════════════════════════════════════════════════════════════════════
add_heading(doc, "QUICK COMPARISON TABLE", level=1, color=(0,70,127), center=True)
add_heading(doc, "(KFD vs. Chikungunya vs. Ebola — Exam Gold!)", level=2, color=(180,40,40), center=True)
add_separator(doc)
add_lab_table(doc, [
["Causative agent", "KFD virus (Flavivirus)", "Chikungunya virus (Alphavirus)", "Ebola virus (Filovirus)"],
["Family", "Flaviviridae", "Togaviridae", "Filoviridae"],
["Genome", "ssRNA (+)", "ssRNA (+)", "ssRNA (-)"],
["Vector", "Haemaphysalis ticks", "Aedes aegypti/albopictus", "None (direct contact)"],
["Reservoir", "Rodents (rats, squirrels)", "Humans (epidemic) / Primates", "Fruit bats (suspected)"],
["Amplifying host", "Monkeys (die from it)", "Humans", "Non-human primates"],
["Incubation", "3–8 days", "4–7 days", "2–21 days (avg 8–10)"],
["Key clinical sign", "Biphasic fever + hemorrhage + meningitis (Phase 2)", "Arthralgia (hallmark) + rash", "Wet diarrhea/vomiting + hemorrhage + multiorgan failure"],
["CFR", "5–10%", "Very rare (near 0%)", "25–90% (avg ~50%)"],
["Lab test (acute)", "RT-PCR + HI/CF serology", "RT-PCR (Day 1–7), then IgM ELISA", "rRT-PCR (Day 3+) + Antigen ELISA"],
["Virus isolation", "Suckling mice / Vero (BSL-3)", "Suckling mice / Vero (BSL-2)", "Vero E6 cells (BSL-4 ONLY)"],
["Specific CBC", "Leukopenia + thrombocytopenia", "Lymphopenia + thrombocytopenia", "Thrombocytopenia + elevated LFT + DIC"],
["Vaccine", "Killed KFD vaccine", "None", "rVSV-ZEBOV (Ervebo) — live-attenuated"],
["Treatment", "Supportive", "Paracetamol/NSAIDs (no aspirin)", "Supportive + Inmazeb/Ebanga (mAbs)"],
["Notifiable disease", "Yes (India)", "Yes (India)", "Yes (International quarantine disease)"],
["H2H transmission", "NO", "No (except blood/vertical)", "YES (major feature — contact with fluids)"],
["BSL required", "BSL-3", "BSL-2", "BSL-4"]
], ["Parameter", "KFD", "Chikungunya", "Ebola"])
# Final Exam Tips Box
add_heading(doc, "EXAM TIPS & IMPORTANT ONE-LINERS", level=2, color=(0,70,127))
add_shaded_box(doc, "Must-Know for Dr. MGR University Exams", [
"1. KFD: First recognized in SHIMOGA (Karnataka), 1957 — called 'Monkey Disease'",
"2. KFD: Vector = Haemaphysalis spinigera (nymphal stage bites humans)",
"3. KFD: Man is DEAD-END / INCIDENTAL host — no human-to-human transmission",
"4. KFD: Biphasic illness — Phase 2 = meningitic phase (after 7–21 days of remission)",
"5. KFD: CFR = 5–10% | Vaccine: Killed vaccine available",
"6. Chikungunya: Alphavirus | Togaviridae — remember: 'ALPHA TOGA'",
"7. Chikungunya: Hallmark = ARTHRALGIA persisting months to years",
"8. Chikungunya: Aedes bites DAYTIME (why bednet is less useful!)",
"9. Chikungunya: RT-PCR = Day 1–7 | IgM ELISA = After Day 7",
"10. Chikungunya: PRNT = gold standard serology (discriminates from Mayaro, O'nyong-nyong)",
"11. Ebola: Filovirus | BSL-4 | Filamentous 'shepherd's crook' on EM",
"12. Ebola: Reservoir = fruit bats | Amplification = person-to-person via body fluids",
"13. Ebola: Semen persistence = 3–9 MONTHS post-recovery (important for sexual transmission!)",
"14. Ebola: rRT-PCR = test of choice | OraQuick RDT = all results PRESUMPTIVE",
"15. Ebola: If sample taken <3 days onset → need 2 negative PCRs ≥48 hrs apart to rule out",
"16. Ebola: Vaccine = rVSV-ZEBOV (Ervebo) | Treatment mAbs = Inmazeb + Ebanga (FDA-approved)",
"17. All 3 diseases: Virus isolation uses VERO CELLS or suckling mice",
"18. All 3 diseases: RT-PCR is the BEST early/acute phase diagnostic test",
"19. DIFFERENTIAL: Malaria MUST always be ruled out first in any tropical hemorrhagic fever!",
"20. KFD + Ebola = Viral Hemorrhagic Fevers | Chikungunya = Arboviral fever (not primarily hemorrhagic)"
])
doc.save("/tmp/workspace/microbiology-answers/Microbiology_Answersheet_KFD_Chikungunya_Ebola.docx")
print("Document created successfully!")
cd /tmp/workspace/microbiology-answers && python3 create_answersheet.py
ls -lh /tmp/workspace/microbiology-answers/
python3 -c " from docx import Document doc = Document('/tmp/workspace/microbiology-answers/Microbiology_Answersheet_KFD_Chikungunya_Ebola.docx') paras = [p.text.strip() for p in doc.paragraphs if p.text.strip()] print(f'Total paragraphs: {len(paras)}') print('--- First 20 paragraph headers ---') for p in paras[:20]: print(repr(p[:80])) print('--- Table count ---') print(f'Tables: {len(doc.tables)}') "
Microbiology Answersheet KFD Chikungunya Ebola
Word Document · DOCX
Note: Apurba Sastry's textbook was not in the digital library, but all content is sourced from equivalent standard references (Park's PSM, Jawetz Medical Microbiology, Harrison's, Goldman-Cecil, Red Book 2021) which cover the same syllabus material. The lab diagnosis sections follow the same principles taught in Apurba Sastry.