attachment
attachment

Guidance for pediatric viva

Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Searching the Web

pediatric viva important questions growth development neonatology immunization nutrition

I have enough to compile a thorough viva guide from my medical knowledge. Here is your complete Pediatrics 1st Internal Exam viva preparation guide:

🩺 Pediatrics 1st Internal Exam - Viva Preparation Guide


1. GROWTH & DEVELOPMENT

Weight Milestones

AgeWeight
Birth~3 kg
5 monthsDouble birth weight
1 yearTriple birth weight
2 yearsQuadruple birth weight
3-10 years+2 kg/year

Height Milestones

  • Birth: ~50 cm
  • 1 year: ~75 cm (1.5x birth)
  • 4 years: ~100 cm (double birth)
  • Adult: ~175 cm

Head Circumference

  • Birth: 34 cm
  • 6 months: 44 cm
  • 1 year: 47 cm (grows 2 cm/month for 1st 3 months, then 1 cm/month till 1 year)
  • Closure of anterior fontanelle: 12-18 months
  • Posterior fontanelle closes by 6-8 weeks

Developmental Milestones (High-Yield)

AgeGross MotorFine MotorLanguageSocial
3 monthsHolds head at 90Β°Hands openCoosSocial smile
6 monthsSits with supportPalmer graspBabblesRecognizes strangers
9 monthsStands with supportPincer grasp (immature)"Mama/Dada" nonsensePeek-a-boo
12 monthsWalks with supportMature pincer1-2 words with meaningWaves bye-bye
18 monthsWalks independentlyScribbles8-10 wordsParallel play
2 yearsRuns, climbs stairsBuilds tower (6 blocks)2-word sentencesPossessive
3 yearsRides tricycleCopies circle3-word sentencesGroup play
4 yearsHops on one footCopies crossTells storiesCooperative play
5 yearsSkipsCopies triangleComplete sentencesRules in games

Dentition

  • Primary teeth: Start at 6 months (lower central incisors)
  • Rule: No. of teeth = Age in months - 6 (till 2 years)
  • Total primary teeth: 20
  • Permanent teeth: Begin at 6 years

Theories to Know

  • Freud: Oral, Anal, Phallic, Latency, Genital stages
  • Erikson: Trust vs Mistrust (0-1 yr), Autonomy vs Shame (1-3 yr), Initiative vs Guilt (3-6 yr)
  • Piaget: Sensorimotor (0-2), Preoperational (2-7), Concrete Operational (7-11), Formal Operational (11+)

Key Viva Q&A

  • "When does a child say 'No'?" - 18 months (negativism)
  • "When does object permanence develop?" - 9 months
  • "First permanent tooth to erupt?" - First molar or lower central incisor at 6 years
  • "Normal anterior fontanelle size?" - 2x2 cm; closes 12-18 months

2. NUTRITION

Breastfeeding

  • Exclusive breastfeeding: 0-6 months
  • Colostrum: First 3-5 days - rich in IgA, proteins, lactoferrin, leukocytes
  • Benefits: Anti-infective, anti-allergic, bonding, IQ boost, protects against SIDS
  • Contraindications to breastfeeding: HIV (in resource-rich settings), active TB (but not on treatment), galactosemia in infant, maternal chemotherapy

Weaning / Complementary Feeding

  • Start at 6 months
  • First food: Semi-solid/mushy (rice, dal, khichdi)
  • By 1 year: Family foods
  • Sequence: Cereals β†’ Vegetables β†’ Fruits β†’ Non-veg

Protein Energy Malnutrition (PEM)

FeatureKwashiorkorMarasmus
TimingAfter weaningInfancy
CauseProtein deficiencyCalorie + protein deficiency
EdemaPresent (pitting)Absent
Appearance"Moon face", pot belly"Old man" look, baggy pants
SkinFlaky paint, pigmentationWrinkled, no fat
HairFlag sign, easily pluckableSparse
AppetitePoorGood (ravenous)
Fatty liverPresentAbsent

Vitamin Deficiencies (High-Yield)

VitaminDiseaseKey Signs
ANight blindness β†’ KeratomalaciaBitot's spots, xerophthalmia
B1 (Thiamine)BeriberiDry (neuropathy), Wet (cardiac), Infantile
B2 (Riboflavin)AriboflavinosisAngular stomatitis, glossitis
B3 (Niacin)Pellagra3Ds: Dermatitis, Diarrhea, Dementia
B12Megaloblastic anemiaSubacute combined degeneration
C (Ascorbic acid)ScurvyBleeding gums, Corkscrew hair, "Scorbutic rosary"
DRicketsCraniotabes, Rachitic rosary, Bowing of legs, Widened metaphysis
KHemorrhagic disease of newbornBleeding

Iron Deficiency Anemia

  • Most common nutritional deficiency in children
  • Risk factors: Premature birth, cow's milk before 1 year, low dietary iron
  • Hypochromic microcytic anemia
  • Treatment: 3-6 mg/kg/day elemental iron for 3-6 months

3. NEONATOLOGY

Definitions

  • Neonate: 0-28 days
  • Term: 37-42 weeks gestation
  • Preterm: <37 weeks; Post-term: >42 weeks
  • LBW: <2500 g; VLBW: <1500 g; ELBW: <1000 g
  • SGA: Weight below 10th percentile for gestational age

APGAR Score (assess at 1 and 5 minutes)

Sign012
AppearanceBlue/pale all overBlue extremitiesPink all over
PulseAbsent<100>100
GrimaceNoneGrimaceCry/cough
ActivityLimpSome flexionActive motion
RespirationAbsentWeak/irregularStrong cry
  • 7-10: Normal; 4-6: Moderate depression; 0-3: Severe depression

Neonatal Jaundice

  • Physiological jaundice: Appears day 2-3, peaks day 4-5, resolves by day 7-10 (term); by day 14 (preterm)
  • Pathological jaundice: Appears within 24 hours, bilirubin >12 mg/dL (term), rises >5 mg/dL/day
  • Causes within 24 hours: Hemolysis (Rh incompatibility, ABO incompatibility, G6PD)
  • Breast milk jaundice: Appears after day 5, lasts up to 3 months (benign)
  • Management: Phototherapy (indirect/unconjugated), Exchange transfusion (bilirubin >20 in term)

Respiratory Distress Syndrome (RDS/HMD)

  • Cause: Surfactant deficiency (preterm babies)
  • Type II pneumocytes produce surfactant (lecithin) after 34-35 weeks
  • Signs: Grunting, tachypnea, retractions, cyanosis
  • CXR: Ground-glass opacity, air bronchograms, white-out
  • Treatment: Surfactant replacement, CPAP, O2
  • Prevention: Antenatal steroids (betamethasone) between 24-34 weeks

Neonatal Sepsis

  • Early onset (<72 hrs): GBS, E. coli, Listeria (maternal organisms)
  • Late onset (>72 hrs): Staph. aureus, Staph. epidermidis, Klebsiella
  • Features: Temperature instability, poor feeding, lethargy, bulging fontanelle, seizures
  • Treatment: Ampicillin + Gentamicin (early onset)

Hypoglycemia in Newborn

  • <40 mg/dL in term; symptomatic if <25 mg/dL
  • Risk: LGA (IDM), SGA, preterm, hypothermia
  • Treatment: 10% Dextrose 2 mL/kg IV bolus, then infusion

Meconium Aspiration Syndrome (MAS)

  • Aspiration of meconium-stained liquor
  • Features: Barrel chest, hyperinflation, chemical pneumonitis
  • CXR: Bilateral patchy opacities, air trapping
  • Complications: Pneumothorax, PPHN

Birth Injuries - Erb's Palsy

  • C5-C6 injury (traction)
  • "Waiter's tip" position: Arm adducted, internally rotated, elbow extended, forearm pronated
  • Moro reflex absent on affected side

4. IMMUNIZATION

National Immunization Schedule (India - IAP) - High-Yield

AgeVaccine
BirthBCG, OPV-0, Hep B-1
6 weeksDTwP/DTaP-1, IPV-1, Hep B-2, Hib-1, Rotavirus-1, PCV-1
10 weeksDTwP/DTaP-2, IPV-2, Hib-2, Rotavirus-2, PCV-2
14 weeksDTwP/DTaP-3, IPV-3, Hib-3, Rotavirus-3, PCV-3
6 monthsHep B-3, OPV-1
9 monthsMMR-1, OPV-2
12 monthsHep A-1, Varicella-1
15-18 monthsDTwP/DTaP Booster-1, IPV Booster, Hib Booster, MMR-2, Varicella-2, PCV Booster
2 yearsHep A-2, Typhoid
5 yearsDTwP/DTaP Booster-2, OPV Booster
10-12 yearsTdap/Td, HPV (girls)

Vaccine Types

  • Live attenuated: BCG, OPV, MMR, Varicella, Rotavirus, Yellow fever, JE (live)
  • Killed/Inactivated: IPV, Hep A, Rabies, Cholera, Influenza (killed), Typhoid (injectable)
  • Toxoid: DT, TT
  • Subunit: Hep B, Hib, Pertussis (acellular), PCV, HPV

Cold Chain

  • Vaccines stored at 2-8Β°C (except OPV which needs -20Β°C)
  • Vaccines sensitive to freezing: Hep B, DPT, IPV (MUST NOT FREEZE)
  • Shake test: To detect freeze damage in adsorbed vaccines

Contraindications

  • True contraindications: Anaphylaxis to previous dose, encephalopathy after pertussis
  • NOT contraindications: Mild fever, current antibiotic use, mild illness, breastfeeding

BCG Vaccine

  • Intradermal, left deltoid
  • Age: At birth (or up to 5 years if not given)
  • Dose: 0.1 mL (>1 month); 0.05 mL (newborn)
  • PPD reaction appears 6-10 weeks after BCG

5. DISEASES OF GIT

Diarrhea (Most High-Yield)

  • Acute diarrhea: <14 days; Persistent: 14-30 days; Chronic: >30 days
  • Dehydration assessment:
    • Mild (<5%): Thirsty, normal eyes, good skin turgor
    • Moderate (5-10%): Sunken eyes, decreased turgor, irritable
    • Severe (>10%): Unable to drink, very sunken, lethargy, shock signs
  • ORS composition: Na 75, Cl 65, Glucose 75, K 20, Citrate 10 mEq/L
  • Plan A: ORS at home, zinc supplementation
  • Plan B: ORS 75 mL/kg over 4 hours
  • Plan C: IV fluids (Ringer's Lactate) for severe dehydration

Zinc in Diarrhea

  • 20 mg/day for 14 days (>6 months); 10 mg/day (<6 months)
  • Reduces severity and recurrence

Intussusception

  • Most common 3 months - 5 years; peak 6-18 months
  • Triad: Colicky abdominal pain, red currant jelly stool, sausage-shaped mass in RUQ
  • Investigation: Ultrasound (target sign), contrast enema
  • Treatment: Pneumatic/hydrostatic reduction; if fails - surgery

Hirschsprung's Disease

  • Absence of ganglion cells in Auerbach's and Meissner's plexus
  • Rectosigmoid most commonly involved
  • Features: Delayed passage of meconium (>48 hrs), abdominal distension, constipation
  • Diagnosis: Barium enema (narrow distal + dilated proximal), rectal biopsy (gold standard)
  • Treatment: Surgical (Swenson/Soave pull-through)

GERD in Infants

  • Common in first year; physiological regurgitation vs pathological GERD
  • Alarm signs: Poor weight gain, blood in stool, apnea
  • Treatment: Positioning, thickened feeds, PPI if severe

Celiac Disease

  • Gluten sensitivity (wheat, barley, rye)
  • Features: Chronic diarrhea, failure to thrive, abdominal distension, irritability
  • Investigations: Anti-tTG IgA (screening), small bowel biopsy (gold standard - villous atrophy)
  • Treatment: Lifelong gluten-free diet

6. INFECTIONS & INFESTATIONS

Measles (Rubeola)

  • Paramyxovirus; incubation 10-14 days
  • Prodrome (3Cs): Cough, Coryza, Conjunctivitis + fever
  • Koplik's spots: Pathognomonic - on buccal mucosa, appear day 2-3
  • Rash: Maculopapular, starts behind ears, spreads downward
  • Complications: Pneumonia (most common cause of death), encephalitis, SSPE (subacute sclerosing panencephalitis)

Chicken Pox (Varicella)

  • Herpes Varicella-Zoster Virus; incubation 14-21 days
  • Pleomorphic rash: Macule β†’ Papule β†’ Vesicle β†’ Pustule β†’ Crust
  • All stages present simultaneously ("starry sky")
  • Contagious from 1-2 days before rash until all lesions crusted
  • Treatment: Acyclovir (immunocompromised, severe cases)

Dengue

  • Aedes aegypti mosquito
  • Classical: High fever, severe headache, retroorbital pain, myalgia, arthralgia ("breakbone fever")
  • Warning signs: Abdominal pain, persistent vomiting, bleeding, hepatomegaly, rapid clinical deterioration
  • DHF Criteria: Fever + hemorrhagic manifestations + thrombocytopenia (<100,000) + plasma leakage
  • NS1 antigen: Positive in first 5 days; IgM/IgG after day 5
  • Treatment: Supportive; platelet transfusion if <10,000 or bleeding

Typhoid (Enteric Fever)

  • Salmonella typhi; feco-oral route
  • Features: Stepladder fever, bradycardia relative to fever, rose spots (anterior chest), splenomegaly, constipation then diarrhea
  • Week 1: Blood culture positive (best)
  • Week 2-3: Widal test positive (TO β‰₯1:160, TH β‰₯1:160)
  • Week 3-4: Stool/urine culture
  • Treatment: Azithromycin (1st line), Ceftriaxone (severe), Ciprofloxacin

Malaria

  • P. vivax (most common in India), P. falciparum (most dangerous)
  • Periodic fever: Tertian (48 hrs) - P. vivax/ovale; Quartan (72 hrs) - P. malariae
  • Diagnosis: Peripheral blood smear (thick for detection, thin for species)
  • Treatment: Chloroquine (uncomplicated); Artesunate (P. falciparum/severe)
  • Cerebral malaria: Falciparum, IV Artesunate

Worm Infestations

ParasiteRouteKey FeatureTreatment
AscarisFeco-oralLoeffler's syndrome, intestinal obstructionAlbendazole
HookwormSkin penetrationIron deficiency anemiaAlbendazole
Pinworm/EnterobiusFeco-oralPerianal itching at nightMebendazole
GiardiaFeco-oralFrothy, foul-smelling stool, malabsorptionMetronidazole
TapewormUndercooked meatCysticercosis (pork), EchinococcusPraziquantel

Kala-azar (Visceral Leishmaniasis)

  • Phlebotomus sandfly
  • Features: Prolonged fever, massive splenomegaly, hepatomegaly, pancytopenia, darkening of skin
  • Diagnosis: rK39 strip test (rapid), bone marrow/splenic aspirate (gold standard)
  • Treatment: Liposomal Amphotericin B (1st line India)

7. ADOLESCENT MEDICINE

Puberty - Tanner Stages

Girls (onset 8-13 years):
  • Stage 1: Prepubertal
  • Stage 2: Breast budding (first sign); pubic hair begins
  • Stage 3: Breast enlargement, pubic hair darkens
  • Stage 4: Adult areola (secondary mound)
  • Stage 5: Adult breast
Boys (onset 9-14 years):
  • Stage 1: Prepubertal
  • Stage 2: Testicular enlargement (first sign, >4 mL)
  • Stage 3: Penile elongation, pubic hair
  • Stage 4: Darkening of scrotum, increased penile width
  • Stage 5: Adult genitalia
  • Menarche: Occurs at Tanner stage 4 (1-3 years after breast budding)
  • Peak height velocity girls: Tanner stage 2-3; boys: Tanner stage 4

Precocious Puberty

  • Girls <8 years, Boys <9 years
  • Central (GnRH-dependent): Idiopathic (most common in girls), CNS tumors
  • Peripheral (GnRH-independent): McCune-Albright syndrome, congenital adrenal hyperplasia
  • Treatment: GnRH analogues (central PP)

Adolescent Issues

  • Acne: Increased androgen, propionibacterium - topical retinoids, benzoyl peroxide
  • Eating disorders: Anorexia nervosa (<85% ideal body weight, body dysmorphia); Bulimia (binge-purge)
  • PCOS: Irregular periods, hyperandrogenism, polycystic ovaries - OCP, metformin
  • STIs: Screen sexually active adolescents; HPV vaccine 2-dose if started <15 years

8. RESPIRATORY SYSTEM

Pneumonia

  • Most common cause of death in children under 5 globally
  • Classification by severity (WHO):
    • No pneumonia (cough/cold): No fast breathing, no chest indrawing
    • Pneumonia: Fast breathing (>60/min in <2 months; >50 in 2-12 months; >40 in 1-5 years)
    • Severe pneumonia: Chest indrawing + fast breathing
    • Very severe: Central cyanosis, unable to drink, convulsions
  • Common organisms by age:
    • <3 months: GBS, E. coli, Chlamydia
    • 3 months-5 years: Streptococcus pneumoniae, H. influenzae
    • 5 years: Mycoplasma, S. pneumoniae
  • Treatment: Amoxicillin (mild-moderate); Ceftriaxone (severe)

Bronchiolitis

  • Peak age: <2 years; most common cause of hospitalization in infants
  • Most common organism: RSV (Respiratory Syncytial Virus)
  • Features: Low-grade fever, runny nose, progresses to wheeze and respiratory distress
  • CXR: Hyperinflation, peribronchial thickening
  • Treatment: Supportive (O2, hydration); bronchodilators not routinely recommended

Asthma

  • Reversible obstructive airway disease
  • Hallmark: Wheeze, breathlessness, chest tightness, cough (worse at night/early morning)
  • GINA classification: Intermittent, Mild persistent, Moderate persistent, Severe persistent
  • Diagnosis in children: Clinical; spirometry (FEV1/FVC <0.8, reversibility >12%)
  • Treatment: Stepwise - SABA β†’ Low-dose ICS β†’ ICS + LABA β†’ High-dose ICS + LABA + OCS

Croup (Laryngotracheobronchitis)

  • Parainfluenza virus; age 6 months - 3 years; worse at night
  • Classic: Barking cough, stridor (inspiratory), hoarse voice
  • CXR: "Steeple sign" (narrowing of subglottic area)
  • Treatment: Dexamethasone (oral/IM), nebulized epinephrine (severe)

Whooping Cough (Pertussis)

  • Bordetella pertussis
  • Stages: Catarrhal (1-2 wks, most infectious) β†’ Paroxysmal (whoop, post-tussive vomiting, 4-6 wks) β†’ Convalescent
  • Diagnosis: Nasopharyngeal swab culture; PCR
  • Treatment: Azithromycin

Tuberculosis

  • Mantoux test: Induration β‰₯10 mm (general), β‰₯5 mm (immunocompromised/close contacts)
  • Primary complex: Ghon focus + lymphadenopathy (Ranke complex)
  • Miliary TB: Hematogenous spread; millet seed opacities on CXR
  • Categories and treatment:
    • New case: 2HRZE + 4HR
    • H=Isoniazid, R=Rifampicin, Z=Pyrazinamide, E=Ethambutol

9. HAEMATOLOGICAL DISORDERS

Iron Deficiency Anemia

  • Hypochromic microcytic anemia (↓MCV, ↓MCH, ↓MCHC)
  • Serum ferritin ↓ (earliest), Serum iron ↓, TIBC ↑
  • Blood smear: Pencil cells, anisocytosis, poikilocytosis, target cells
  • Treatment: 3-6 mg/kg/day elemental iron

Thalassemia

Alpha ThalBeta Thal MinorBeta Thal Major
Genetic defectHBA1/HBA2One beta geneBoth beta genes
Hb electrophoresis-HbA2 ↑ (>3.5%)HbF ↑, HbA absent
SeverityMild-hydropsMild anemiaSevere transfusion-dependent
Features-Mild anemiaChipmunk face, frontal bossing, hepatosplenomegaly
Treatment-Folic acidRegular transfusions, desferrioxamine, bone marrow transplant

Sickle Cell Disease

  • Glutamate β†’ Valine substitution in beta chain (HbS)
  • HbS sickling β†’ ↓O2, acidosis, dehydration
  • Crises: Vaso-occlusive (most common - painful), Aplastic (parvovirus B19), Sequestration (spleen)
  • Features: Dactylitis (hand-foot syndrome in infants), autosplenectomy by age 5, stroke, acute chest syndrome
  • Diagnosis: Hb electrophoresis (HbSS)
  • Treatment: Hydroxyurea, transfusions, penicillin prophylaxis

Hemophilia

Hemophilia AHemophilia B
Factor deficientVIIIIX
InheritanceX-linked recessiveX-linked recessive
APTTProlongedProlonged
PTNormalNormal
TreatmentFactor VIII concentrateFactor IX concentrate
  • Features: Hemarthrosis (knee most common), deep muscle hematomas

ITP (Immune Thrombocytopenic Purpura)

  • Most common bleeding disorder in children
  • Post-viral (usually 2-4 weeks after URTI)
  • Features: Petechiae, purpura, epistaxis; NO hepatosplenomegaly
  • Platelets <20,000 with normal WBC and RBC
  • Treatment: Usually self-limiting (80% resolve in 6 months); IVIG/corticosteroids if severe bleeding

ALL (Acute Lymphoblastic Leukemia)

  • Most common childhood cancer (peak age 2-5 years)
  • Features: Pallor, fever, bleeding, bone pain, hepatosplenomegaly, lymphadenopathy
  • Investigation: Blood smear (blast cells), bone marrow biopsy (>20% blasts)
  • Burkitt-type (L3 FAB): B-cell, "starry sky" pattern
  • Treatment: Induction (vincristine, prednisolone, asparaginase), Consolidation, Maintenance

10. RENAL DISORDERS

Nephrotic Syndrome

  • Triad: Massive proteinuria (>40 mg/mΒ²/hr or >3.5 g/day), hypoalbuminemia (<2.5 g/dL), edema
  • Hypercholesterolemia (4th feature) makes it a tetrad
  • Most common in children: Minimal Change Disease (MCD)
  • Pathophysiology: ↓albumin β†’ ↓oncotic pressure β†’ fluid shifts β†’ edema β†’ ↑aldosterone β†’ Na/water retention
  • Complications: Infection (S. pneumoniae peritonitis), thrombosis, hyperlipidemia, hypothyroidism
  • Treatment: Prednisolone 60 mg/mΒ²/day x 4 weeks β†’ 40 mg/mΒ²/EOD x 4 weeks

Nephritic Syndrome

FeatureNephroticNephritic
ProteinuriaMassive (>3.5g)Mild (<2g)
HematuriaAbsent/minimalPresent (cola-colored urine)
BPNormal/lowHypertension
EdemaPeriorbital (morning) β†’ anasarcaMild
ComplementNormal↓ C3 in PSGN

Post-Streptococcal GN (PSGN)

  • Follows GAS throat (1-3 wks) or skin infection (3-6 wks)
  • Features: Hematuria, hypertension, edema, oliguria
  • ↓C3, ↑ASO titer (throat infection)
  • Electron microscopy: "Humps" (subepithelial deposits)
  • Treatment: Supportive (antihypertensives, fluid restriction); penicillin for strep

UTI in Children

  • Most common organism: E. coli (>80%)
  • Symptoms by age: Neonates (fever, poor feeding, jaundice); infants (fever, vomiting); older children (dysuria, frequency, flank pain)
  • Diagnosis: Urine culture (>10⁡ CFU/mL in MSU)
  • After 1st UTI in boys, all girls <5 yrs: MCUG and DMSA scan for VUR
  • Treatment: Nitrofurantoin/TMP-SMX (lower UTI); IV cephalosporin (pyelonephritis)

Acute Kidney Injury (Pediatric)

  • Most common cause in children: HUS (Hemolytic Uremic Syndrome) post-diarrheal (E. coli O157:H7)
  • HUS triad: Microangiopathic hemolytic anemia + thrombocytopenia + AKI
  • Treatment: Supportive, dialysis if needed

Wilms' Tumor (Nephroblastoma)

  • Most common renal tumor in children (peak age 3-4 years)
  • Associations: WAGR syndrome (WT1 deletion), Beckwith-Wiedemann syndrome
  • Features: Smooth, non-tender abdominal mass (do NOT cross midline unlike neuroblastoma)
  • Investigation: USS, CT abdomen; no biopsy before surgery
  • Treatment: Nephrectomy + chemotherapy Β± radiotherapy

⚑ Quick-Fire Viva Tips

Mnemonics:
  • APGAR: Appearance, Pulse, Grimace, Activity, Respiration
  • Rickets X-ray: "CALLFBS" - Craniotabes, Anterior fontanelle (large), Lordosis, Leg bowing, Fraying/cupping metaphysis, Bossing (frontal), Swelling of wrists/ankles
  • Koplik's spots = Koplik β†’ Measles (K for Koplik, K looks like X of Rubeola)
  • Nephrotic = HEAP: Hypoalbuminemia, Edema, Albuminuria (proteinuria), Proteinuria
Common "What is the MOST COMMON" Questions:
  • Most common cause of diarrhea in children: Rotavirus
  • Most common childhood cancer: ALL
  • Most common cause of nephrotic syndrome in children: MCD (Minimal Change Disease)
  • Most common worm causing intestinal obstruction: Ascaris
  • Most common cause of bronchiolitis: RSV
  • Most common anemia in children: Iron deficiency anemia
  • Most common organism in UTI: E. coli
Examiner Favorites:
  • "Differentiate physiological vs pathological jaundice" (timing, level, cause)
  • "Draw the normal developmental milestones table"
  • "What is the current immunization schedule of India?"
  • "What is ORS composition and how to give Plan B?"
  • "What is Tanner staging?"
  • "Differentiate Kwashiorkor vs Marasmus"

Study Strategy: Focus on tables and comparisons - examiners love asking you to compare two similar conditions. Practice drawing the developmental milestones table from memory. Know all the "first signs" of puberty, and be very clear on vaccine schedules as these are extremely commonly asked in vivas.

Create a comprehensive PDF summary/quick reference of all 10 topics for easy revision

Reading File
Running Command

mkdir -p /home/daytona/workspace/pediatrics-pdf && ls /home/daytona/workspace/

Writing File

~/pediatrics-pdf/generate_pdf.py

#!/usr/bin/env python3
"""
Pediatrics 1st Internal Exam - Comprehensive Quick Reference PDF
"""

from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.lib import colors
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    PageBreak, HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT
from reportlab.platypus.flowables import HRFlowable

# ── Color Palette ──────────────────────────────────────────────────────────────
NAVY       = colors.HexColor("#1a2b5e")
TEAL       = colors.HexColor("#00838f")
ORANGE     = colors.HexColor("#e65100")
LIGHT_BLUE = colors.HexColor("#e3f2fd")
LIGHT_TEAL = colors.HexColor("#e0f7fa")
LIGHT_ORANGE= colors.HexColor("#fff3e0")
LIGHT_GRAY = colors.HexColor("#f5f5f5")
MID_GRAY   = colors.HexColor("#eceff1")
WHITE      = colors.white
DARK_TEXT  = colors.HexColor("#212121")
RED_ACCENT = colors.HexColor("#c62828")
GREEN_ACCENT= colors.HexColor("#2e7d32")
PURPLE     = colors.HexColor("#6a1b9a")

W, H = A4

def build_styles():
    base = getSampleStyleSheet()

    styles = {}

    styles["cover_title"] = ParagraphStyle(
        "cover_title", fontName="Helvetica-Bold", fontSize=28,
        textColor=WHITE, alignment=TA_CENTER, leading=34, spaceAfter=6
    )
    styles["cover_sub"] = ParagraphStyle(
        "cover_sub", fontName="Helvetica", fontSize=14,
        textColor=colors.HexColor("#b3e5fc"), alignment=TA_CENTER, leading=18
    )
    styles["cover_badge"] = ParagraphStyle(
        "cover_badge", fontName="Helvetica-Bold", fontSize=12,
        textColor=WHITE, alignment=TA_CENTER, leading=16
    )
    styles["topic_num"] = ParagraphStyle(
        "topic_num", fontName="Helvetica-Bold", fontSize=22,
        textColor=WHITE, alignment=TA_CENTER, leading=26
    )
    styles["section_title"] = ParagraphStyle(
        "section_title", fontName="Helvetica-Bold", fontSize=15,
        textColor=WHITE, alignment=TA_LEFT, leading=20,
        leftIndent=8
    )
    styles["sub_heading"] = ParagraphStyle(
        "sub_heading", fontName="Helvetica-Bold", fontSize=11,
        textColor=NAVY, alignment=TA_LEFT, leading=15,
        spaceAfter=3, spaceBefore=6,
        borderPad=2
    )
    styles["body"] = ParagraphStyle(
        "body", fontName="Helvetica", fontSize=9,
        textColor=DARK_TEXT, alignment=TA_LEFT, leading=13,
        spaceAfter=3
    )
    styles["bullet"] = ParagraphStyle(
        "bullet", fontName="Helvetica", fontSize=9,
        textColor=DARK_TEXT, alignment=TA_LEFT, leading=13,
        leftIndent=12, firstLineIndent=-8, spaceAfter=2
    )
    styles["highlight_box"] = ParagraphStyle(
        "highlight_box", fontName="Helvetica-Bold", fontSize=9,
        textColor=RED_ACCENT, alignment=TA_LEFT, leading=13,
        leftIndent=4
    )
    styles["key_point"] = ParagraphStyle(
        "key_point", fontName="Helvetica-BoldOblique", fontSize=9,
        textColor=GREEN_ACCENT, alignment=TA_LEFT, leading=13,
        leftIndent=4
    )
    styles["mnemonic"] = ParagraphStyle(
        "mnemonic", fontName="Helvetica-Bold", fontSize=9,
        textColor=PURPLE, alignment=TA_LEFT, leading=13,
        leftIndent=4
    )
    styles["footer_text"] = ParagraphStyle(
        "footer_text", fontName="Helvetica", fontSize=7,
        textColor=colors.HexColor("#90a4ae"), alignment=TA_CENTER
    )
    styles["toc_entry"] = ParagraphStyle(
        "toc_entry", fontName="Helvetica", fontSize=10,
        textColor=NAVY, alignment=TA_LEFT, leading=16,
        leftIndent=20
    )
    styles["toc_num"] = ParagraphStyle(
        "toc_num", fontName="Helvetica-Bold", fontSize=10,
        textColor=TEAL, alignment=TA_LEFT, leading=16
    )
    return styles

S = build_styles()

def section_header(title, color=NAVY, num=None):
    """Returns a colored banner for a topic section."""
    label = f"  {num}  " if num else "  "
    data = [[
        Paragraph(label, ParagraphStyle("n", fontName="Helvetica-Bold", fontSize=16,
                                        textColor=WHITE, alignment=TA_CENTER, leading=20)),
        Paragraph(title, S["section_title"])
    ]]
    col_widths = [1.2*cm, 16*cm]
    t = Table(data, colWidths=col_widths)
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), color),
        ("VALIGN",     (0,0), (-1,-1), "MIDDLE"),
        ("LEFTPADDING",(0,0), (-1,-1), 4),
        ("RIGHTPADDING",(0,0),(-1,-1), 4),
        ("TOPPADDING", (0,0), (-1,-1), 6),
        ("BOTTOMPADDING",(0,0),(-1,-1), 6),
        ("ROUNDEDCORNERS", [4, 4, 4, 4]),
    ]))
    return t

def sub_header(text, color=TEAL):
    data = [[Paragraph(f"  {text}", ParagraphStyle(
        "sh", fontName="Helvetica-Bold", fontSize=10,
        textColor=WHITE, alignment=TA_LEFT, leading=14
    ))]]
    t = Table(data, colWidths=[17.2*cm])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), color),
        ("TOPPADDING", (0,0), (-1,-1), 4),
        ("BOTTOMPADDING",(0,0),(-1,-1), 4),
        ("LEFTPADDING", (0,0), (-1,-1), 6),
    ]))
    return t

def make_table(headers, rows, col_widths=None, header_color=NAVY, alt_color=LIGHT_GRAY):
    data = [headers] + rows
    if col_widths is None:
        n = len(headers)
        col_widths = [17.2*cm / n] * n

    t = Table(data, colWidths=col_widths, repeatRows=1)
    style = [
        ("BACKGROUND", (0,0), (-1,0), header_color),
        ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("FONTSIZE",   (0,0), (-1,0), 8.5),
        ("ALIGN",      (0,0), (-1,0), "CENTER"),
        ("VALIGN",     (0,0), (-1,-1), "MIDDLE"),
        ("FONTNAME",   (0,1), (-1,-1), "Helvetica"),
        ("FONTSIZE",   (0,1), (-1,-1), 8),
        ("GRID",       (0,0), (-1,-1), 0.4, colors.HexColor("#b0bec5")),
        ("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, alt_color]),
        ("LEFTPADDING",  (0,0), (-1,-1), 4),
        ("RIGHTPADDING", (0,0), (-1,-1), 4),
        ("TOPPADDING",   (0,0), (-1,-1), 3),
        ("BOTTOMPADDING",(0,0), (-1,-1), 3),
    ]
    t.setStyle(TableStyle(style))
    return t

def info_box(text, bg=LIGHT_BLUE, border=TEAL):
    data = [[Paragraph(text, S["body"])]]
    t = Table(data, colWidths=[17.2*cm])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), bg),
        ("LINEAFTER",  (0,0), (0,-1), 3, border),
        ("LEFTPADDING",(0,0), (-1,-1), 8),
        ("RIGHTPADDING",(0,0),(-1,-1), 6),
        ("TOPPADDING", (0,0), (-1,-1), 5),
        ("BOTTOMPADDING",(0,0),(-1,-1), 5),
    ]))
    return t

def b(text): return f"<b>{text}</b>"
def red(text): return f'<font color="#c62828"><b>{text}</b></font>'
def grn(text): return f'<font color="#2e7d32"><b>{text}</b></font>'
def teal_t(text): return f'<font color="#00838f"><b>{text}</b></font>'
def orange_t(text): return f'<font color="#e65100"><b>{text}</b></font>'

def bullet(text):
    return Paragraph(f"β€’ {text}", S["bullet"])

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

# ══════════════════════════════════════════════════════════════════════════════
# PAGE CALLBACKS
# ══════════════════════════════════════════════════════════════════════════════

PAGE_NUM = [0]

def on_page(canvas, doc):
    PAGE_NUM[0] += 1
    canvas.saveState()
    # Header bar
    canvas.setFillColor(NAVY)
    canvas.rect(0, H - 1.0*cm, W, 1.0*cm, fill=1, stroke=0)
    canvas.setFont("Helvetica-Bold", 8)
    canvas.setFillColor(WHITE)
    canvas.drawString(1*cm, H - 0.65*cm, "PEDIATRICS β€” 1st Internal Exam Quick Reference")
    canvas.drawRightString(W - 1*cm, H - 0.65*cm, "Viva Preparation Guide")
    # Footer bar
    canvas.setFillColor(NAVY)
    canvas.rect(0, 0, W, 0.75*cm, fill=1, stroke=0)
    canvas.setFont("Helvetica", 7.5)
    canvas.setFillColor(WHITE)
    canvas.drawCentredString(W/2, 0.22*cm, f"Page {PAGE_NUM[0]}")
    canvas.restoreState()

def on_cover_page(canvas, doc):
    canvas.saveState()
    # Full-page gradient-like background
    canvas.setFillColor(NAVY)
    canvas.rect(0, 0, W, H, fill=1, stroke=0)
    # Accent strip
    canvas.setFillColor(TEAL)
    canvas.rect(0, H*0.38, W, 6, fill=1, stroke=0)
    canvas.setFillColor(ORANGE)
    canvas.rect(0, H*0.38 - 8, W, 6, fill=1, stroke=0)
    canvas.restoreState()

# ══════════════════════════════════════════════════════════════════════════════
# CONTENT BUILDERS
# ══════════════════════════════════════════════════════════════════════════════

def cover_page():
    items = []
    items.append(Spacer(1, 3.5*cm))
    items.append(Paragraph("🩺 PEDIATRICS", S["cover_title"]))
    items.append(Spacer(1, 0.3*cm))
    items.append(Paragraph("1st Internal Examination", S["cover_sub"]))
    items.append(Paragraph("Comprehensive Quick Reference", S["cover_sub"]))
    items.append(Spacer(1, 0.8*cm))
    items.append(HRFlowable(width="60%", thickness=2, color=TEAL, spaceAfter=12))

    # Topic boxes
    topics = [
        ("1","Growth & Development"), ("2","Nutrition"),
        ("3","Neonatology"),          ("4","Immunization"),
        ("5","Diseases of GIT"),      ("6","Infections & Infestations"),
        ("7","Adolescent Medicine"),  ("8","Respiratory System"),
        ("9","Haematological Disorders"), ("10","Renal Disorders"),
    ]
    col1 = [[Paragraph(f"<b>{n}.</b> {t}", ParagraphStyle(
        "tp", fontName="Helvetica", fontSize=11, textColor=WHITE,
        leading=16, alignment=TA_LEFT
    ))] for n,t in topics[:5]]
    col2 = [[Paragraph(f"<b>{n}.</b> {t}", ParagraphStyle(
        "tp2", fontName="Helvetica", fontSize=11, textColor=WHITE,
        leading=16, alignment=TA_LEFT
    ))] for n,t in topics[5:]]

    tdata = [[Table(col1, colWidths=[8.6*cm]), Table(col2, colWidths=[8.6*cm])]]
    tbl = Table(tdata, colWidths=[8.6*cm, 8.6*cm])
    tbl.setStyle(TableStyle([
        ("VALIGN", (0,0), (-1,-1), "TOP"),
        ("LEFTPADDING", (0,0), (-1,-1), 10),
    ]))
    items.append(tbl)
    items.append(Spacer(1, 1.2*cm))
    items.append(HRFlowable(width="60%", thickness=2, color=ORANGE, spaceAfter=12))
    items.append(Paragraph("For MBBS / BDS / BSc Nursing Students", S["cover_badge"]))
    items.append(Spacer(1, 0.3*cm))
    items.append(Paragraph("Quick-reference format | Tables | Mnemonics | Viva Q&A", S["cover_sub"]))
    return items


def topic1():
    """Growth & Development"""
    items = []
    items.append(section_header("GROWTH & DEVELOPMENT", NAVY, "1"))
    items.append(sp(6))

    # Weight & Height
    items.append(sub_header("Weight & Height Milestones", TEAL))
    items.append(sp(4))
    wh_data = [
        [b("Age"), b("Weight"), b("Height")],
        ["Birth", "~3 kg", "~50 cm"],
        ["5 months", "Double (6 kg)", "β€”"],
        ["1 year", "Triple (9 kg)", "75 cm (1.5Γ—)"],
        ["2 years", "Quadruple (12 kg)", "87 cm"],
        ["3-10 years", "+2 kg/year", "+6 cm/year"],
    ]
    items.append(make_table(wh_data[0], wh_data[1:], col_widths=[5.7*cm,5.7*cm,5.7*cm]))
    items.append(sp(6))

    # Head circumference
    items.append(sub_header("Head Circumference & Fontanelle", TEAL))
    items.append(sp(4))
    hc_data = [
        [b("Age"), b("HC"), b("Notes")],
        ["Birth", "34 cm", "Posterior fontanelle closes by 6-8 weeks"],
        ["3 months", "40 cm", "+2 cm/month for 1st 3 months"],
        ["6 months", "44 cm", "+1 cm/month from 3-12 months"],
        ["1 year", "47 cm", "Anterior fontanelle closes 12-18 months"],
        ["2 years", "49 cm", "Normal ant. fontanelle size = 2Γ—2 cm"],
    ]
    items.append(make_table(hc_data[0], hc_data[1:], col_widths=[4*cm,4*cm,9.2*cm]))
    items.append(sp(6))

    # Developmental Milestones
    items.append(sub_header("Developmental Milestones", TEAL))
    items.append(sp(4))
    dm_headers = [b("Age"), b("Gross Motor"), b("Fine Motor"), b("Language"), b("Social")]
    dm_rows = [
        ["3 mo", "Head at 90Β°", "Hands open", "Coos", "Social smile"],
        ["6 mo", "Sits with support", "Palmar grasp", "Babbles", "Stranger anxiety"],
        ["9 mo", "Stands w/ support", "Pincer (immature)", "Mama/Dada (nonsense)", "Peek-a-boo"],
        ["12 mo", "Walks w/ support", "Mature pincer", "1-2 meaningful words", "Waves bye-bye"],
        ["18 mo", "Walks alone", "Scribbles", "8-10 words", "Parallel play"],
        ["2 yr", "Runs, stairs", "Builds 6 blocks", "2-word sentences", "Possessive (mine)"],
        ["3 yr", "Tricycle", "Copies circle", "3-word sentences", "Group play"],
        ["4 yr", "Hops 1 foot", "Copies cross (+)", "Tells stories", "Cooperative play"],
        ["5 yr", "Skips", "Copies triangle", "Complete sentences", "Follows rules"],
    ]
    items.append(make_table(dm_headers, dm_rows,
                 col_widths=[1.8*cm, 3.6*cm, 3.5*cm, 4.3*cm, 4*cm]))
    items.append(sp(6))

    # Dentition + Theories side by side
    left_data = [
        [Paragraph(b("Dentition"), S["sub_heading"])],
        [bullet("Primary teeth start: 6 months (lower central incisors)")],
        [bullet(f"Rule: No. of teeth = Age(months) {teal_t('- 6')} (up to 2 yrs)")],
        [bullet("Total primary teeth: 20")],
        [bullet("Permanent teeth start: 6 years (1st molar or lower central incisor)")],
        [bullet("Total permanent teeth: 32")],
    ]
    right_data = [
        [Paragraph(b("Developmental Theories"), S["sub_heading"])],
        [Paragraph(f"{b('Freud')}: Oral→Anal→Phallic→Latency→Genital", S["body"])],
        [Paragraph(f"{b('Erikson')}: Trust vs Mistrust (0-1y), Autonomy vs Shame (1-3y), Initiative vs Guilt (3-6y)", S["body"])],
        [Paragraph(f"{b('Piaget')}: Sensorimotor(0-2y) β†’ Preoperational(2-7y) β†’ Concrete Operational(7-11y) β†’ Formal Operational(11y+)", S["body"])],
    ]
    lt = Table(left_data, colWidths=[8.4*cm])
    rt = Table(right_data, colWidths=[8.4*cm])
    combined = Table([[lt, rt]], colWidths=[8.6*cm, 8.6*cm])
    combined.setStyle(TableStyle([("VALIGN",(0,0),(-1,-1),"TOP")]))
    items.append(combined)
    items.append(sp(6))

    # Key viva points
    items.append(info_box(
        f"{red('KEY VIVA POINTS:')} Object permanence = 9 months | "
        f"Child says 'No' (negativism) = 18 months | "
        f"Anterior fontanelle bulges in {red('meningitis/hydrocephalus')}, "
        f"sunken in {red('dehydration')} | "
        f"Peak height velocity: Girls Tanner 2-3, Boys Tanner 4",
        bg=LIGHT_ORANGE, border=ORANGE
    ))
    return items


def topic2():
    """Nutrition"""
    items = []
    items.append(section_header("NUTRITION", colors.HexColor("#00695c"), "2"))
    items.append(sp(6))

    items.append(sub_header("Breastfeeding", TEAL))
    items.append(sp(4))
    items.append(bullet(f"{b('Exclusive breastfeeding')}: 0-6 months | Continue up to 2 years with complementary feeds"))
    items.append(bullet(f"{b('Colostrum')} (1st 3-5 days): Rich in IgA, lactoferrin, leukocytes, proteins, Vitamin A"))
    items.append(bullet(f"Benefits: Anti-infective, anti-allergic, ↑IQ, bonding, protects against SIDS, otitis media"))
    items.append(bullet(f"{red('Contraindications')}: HIV (resource-rich), active TB (untreated), galactosemia, maternal chemotherapy"))
    items.append(sp(6))

    items.append(sub_header("Weaning / Complementary Feeding", TEAL))
    items.append(sp(4))
    items.append(bullet("Start at 6 months | First foods: semi-solid (khichdi, rice, dal)"))
    items.append(bullet("Sequence: Cereals β†’ Vegetables β†’ Fruits β†’ Non-veg"))
    items.append(bullet("By 1 year: Family foods | Never introduce cow's milk before 1 year"))
    items.append(sp(6))

    items.append(sub_header("Protein Energy Malnutrition (PEM) β€” Comparison", TEAL))
    items.append(sp(4))
    pem_headers = [b("Feature"), b("Kwashiorkor"), b("Marasmus")]
    pem_rows = [
        ["Timing", "Post-weaning (1-3 yr)", "Early infancy"],
        ["Cause", "Protein deficiency", "Calorie + Protein deficiency"],
        ["Edema", red("Present (pitting)"), "Absent"],
        ["Appearance", "'Moon face', pot belly", "'Old man' look, baggy pants"],
        ["Skin", "Flaky paint dermatosis", "Wrinkled, no subcutaneous fat"],
        ["Hair", "Flag sign, depigmented, pluckable", "Sparse, thin"],
        ["Appetite", "Poor", grn("Good (ravenous)")],
        ["Fatty liver", "Present", "Absent"],
        ["Wt for age", ">60% expected", "<60% expected"],
    ]
    items.append(make_table(pem_headers, pem_rows, col_widths=[4.5*cm, 6.3*cm, 6.3*cm]))
    items.append(sp(6))

    items.append(sub_header("Vitamin Deficiencies", TEAL))
    items.append(sp(4))
    vit_headers = [b("Vitamin"), b("Disease"), b("Key Signs / Findings")]
    vit_rows = [
        ["A (Retinol)", "Xerophthalmia", "Night blindness β†’ Bitot's spots β†’ Keratomalacia"],
        ["B1 (Thiamine)", "Beriberi", "Dry (neuropathy), Wet (cardiac), Infantile (heart failure)"],
        ["B2 (Riboflavin)", "Ariboflavinosis", "Angular stomatitis, cheilosis, glossitis, corneal vascularization"],
        ["B3 (Niacin)", "Pellagra", "3Ds: Dermatitis, Diarrhea, Dementia (+ Death = 4Ds)"],
        ["B9 (Folate)", "Megaloblastic anemia", "Neural tube defects (periconception deficiency)"],
        ["B12", "Megaloblastic anemia", "Subacute combined degeneration of spinal cord"],
        ["C (Ascorbic acid)", "Scurvy", red("Bleeding gums, corkscrew hair, perifollicular hemorrhage, Scorbutic rosary")],
        ["D (Calciferol)", "Rickets", red("Craniotabes, rachitic rosary, Harrison's sulcus, bowing of legs, widened metaphysis")],
        ["K", "Hemorrhagic disease", "Bleeding in newborn (day 1-7); treat with Vit K injection at birth"],
    ]
    items.append(make_table(vit_headers, vit_rows, col_widths=[3.5*cm, 4*cm, 9.7*cm]))
    items.append(sp(6))

    items.append(sub_header("Iron Deficiency Anemia", TEAL))
    items.append(sp(4))
    items.append(info_box(
        f"Most common nutritional deficiency in children | {b('Hypochromic microcytic anemia')} | "
        f"Serum ferritin {red('↓')} (earliest indicator) | Serum iron {red('↓')} | TIBC {grn('↑')} | "
        f"Blood smear: pencil cells, anisocytosis | "
        f"Treatment: {b('3-6 mg/kg/day')} elemental iron for 3-6 months",
        bg=LIGHT_TEAL, border=TEAL
    ))
    return items


def topic3():
    """Neonatology"""
    items = []
    items.append(section_header("NEONATOLOGY", colors.HexColor("#4527a0"), "3"))
    items.append(sp(6))

    items.append(sub_header("Key Definitions", TEAL))
    items.append(sp(4))
    def_data = [
        [b("Term"), b("Definition")],
        ["Neonate", "0-28 days of life"],
        ["Preterm", "< 37 weeks gestation"],
        ["Post-term", "> 42 weeks gestation"],
        ["LBW", "< 2500 g at birth"],
        ["VLBW", "< 1500 g at birth"],
        ["ELBW", "< 1000 g at birth"],
        ["SGA", "Weight < 10th percentile for gestational age"],
        ["LGA", "Weight > 90th percentile (e.g., IDM baby)"],
        ["IUGR", "Intrauterine growth restriction (asymmetric = placental; symmetric = TORCH)"],
    ]
    items.append(make_table(def_data[0], def_data[1:], col_widths=[3.5*cm, 13.7*cm]))
    items.append(sp(6))

    items.append(sub_header("APGAR Score (assess at 1 min and 5 min)", TEAL))
    items.append(sp(4))
    apgar_headers = [b("Sign"), b("Score 0"), b("Score 1"), b("Score 2")]
    apgar_rows = [
        ["Appearance", "Blue/pale all over", "Blue extremities", "Pink all over"],
        ["Pulse", "Absent", "< 100/min", "> 100/min"],
        ["Grimace", "None", "Grimace", "Cry / cough"],
        ["Activity (tone)", "Limp", "Some flexion", "Active motion"],
        ["Respiration", "Absent", "Weak / irregular", "Strong cry"],
    ]
    items.append(make_table(apgar_headers, apgar_rows, col_widths=[4.3*cm, 4.3*cm, 4.3*cm, 4.3*cm]))
    items.append(sp(3))
    items.append(info_box(
        f"7-10 = Normal | 4-6 = Moderate depression (stimulate) | {red('0-3 = Severe (resuscitate')})",
        bg=LIGHT_ORANGE, border=ORANGE
    ))
    items.append(sp(6))

    items.append(sub_header("Neonatal Jaundice", TEAL))
    items.append(sp(4))
    jaund_headers = [b("Feature"), b("Physiological"), b("Pathological")]
    jaund_rows = [
        ["Onset", "Day 2-3", red("Within 24 hours = always pathological")],
        ["Peak", "Day 4-5 (term)", "Varies"],
        ["Resolution", "Day 7-10 (term)\nDay 14 (preterm)", "Persists >14 days (term)"],
        ["Bilirubin rise", "< 5 mg/dL/day", "> 5 mg/dL/day"],
        ["Max bilirubin", "< 12 mg/dL (term)", "> 12 mg/dL (term)"],
        ["Cause", "Physiological hemolysis\n+ liver immaturity", "Rh/ABO incompatibility,\nG6PD, sepsis, TORCH"],
    ]
    items.append(make_table(jaund_headers, jaund_rows, col_widths=[4*cm, 6.5*cm, 6.7*cm]))
    items.append(sp(3))
    items.append(bullet(f"{b('Phototherapy')}: Indicated when bilirubin approaching exchange levels"))
    items.append(bullet(f"{b('Exchange transfusion')}: Bilirubin > 20 mg/dL (term); double volume (2Γ—85 mL/kg)"))
    items.append(bullet(f"{b('Breast milk jaundice')}: Appears after day 5, lasts up to 3 months β€” benign, continue breastfeeding"))
    items.append(sp(6))

    items.append(sub_header("Respiratory Distress Syndrome (RDS / HMD)", TEAL))
    items.append(sp(4))
    items.append(bullet(f"Cause: {b('Surfactant deficiency')} β€” Type II pneumocytes mature after 34-35 weeks"))
    items.append(bullet(f"Signs: Grunting, tachypnea, subcostal retractions, cyanosis, flaring nares"))
    items.append(bullet(f"CXR: {b('Ground-glass opacity')}, air bronchograms, 'white-out' lungs"))
    items.append(bullet(f"Treatment: Surfactant replacement (intratracheal), CPAP, supplemental O2"))
    items.append(bullet(f"Prevention: {red('Antenatal betamethasone')} 24-34 weeks (accelerates lung maturity)"))
    items.append(sp(6))

    items.append(sub_header("Neonatal Sepsis", TEAL))
    items.append(sp(4))
    sep_headers = [b("Type"), b("Onset"), b("Organisms"), b("Treatment")]
    sep_rows = [
        ["Early-onset", "< 72 hours", "GBS, E. coli, Listeria\n(maternal organisms)", "Ampicillin + Gentamicin"],
        ["Late-onset", "> 72 hours", "Staph. aureus, Staph. epidermidis,\nKlebsiella, Candida", "Vancomycin + Aminoglycoside"],
    ]
    items.append(make_table(sep_headers, sep_rows, col_widths=[3*cm, 3*cm, 6.2*cm, 5*cm]))
    items.append(sp(3))
    items.append(bullet(f"Features: Temp instability, poor feeding, lethargy, bulging fontanelle, seizures, jaundice, apnea"))
    items.append(sp(6))

    items.append(sub_header("Birth Injuries & Other Key Topics", TEAL))
    items.append(sp(4))
    bi_data = [
        [b("Condition"), b("Key Features")],
        ["Erb's palsy (C5-C6)", "'Waiter's tip' β€” arm adducted, internally rotated, elbow extended, forearm pronated; absent Moro on affected side"],
        ["Klumpke's palsy (C8-T1)", "Claw hand; if sympathetics involved β†’ Horner syndrome"],
        ["Hypoglycemia", "< 40 mg/dL (term); treat with 10% Dextrose 2 mL/kg IV bolus β†’ infusion"],
        ["MAS", "Barrel chest, chemical pneumonitis; CXR: patchy opacities; complication: PPHN, pneumothorax"],
        ["Hypothermia", "Temp < 36.5Β°C; treat with KMC/skin-to-skin; cold stress β†’ hypoglycemia + metabolic acidosis"],
    ]
    items.append(make_table(bi_data[0], bi_data[1:], col_widths=[4.5*cm, 12.7*cm]))
    return items


def topic4():
    """Immunization"""
    items = []
    items.append(section_header("IMMUNIZATION", colors.HexColor("#1b5e20"), "4"))
    items.append(sp(6))

    items.append(sub_header("National Immunization Schedule (India - UIP + IAP 2024)", TEAL))
    items.append(sp(4))
    imm_headers = [b("Age"), b("Vaccines")]
    imm_rows = [
        ["Birth", "BCG | OPV-0 (bOPV) | Hepatitis B-1"],
        ["6 weeks", "DTwP-1 / DTaP-1 | IPV-1 | Hep B-2 | Hib-1 | Rotavirus-1 | PCV-1"],
        ["10 weeks", "DTwP-2 | IPV-2 | Hib-2 | Rotavirus-2 | PCV-2"],
        ["14 weeks", "DTwP-3 | IPV-3 | Hib-3 | Rotavirus-3 | PCV-3"],
        ["6 months", "Hep B-3 | OPV-1"],
        ["9 months", "MMR-1 | OPV-2"],
        ["12 months", "Hep A-1 | Varicella-1"],
        ["15-18 months", "DTwP Booster-1 | IPV Booster | Hib Booster | MMR-2 | Varicella-2 | PCV Booster"],
        ["2 years", "Hep A-2 | Typhoid conjugate"],
        ["4-6 years", "DTwP Booster-2 | OPV Booster"],
        ["10-12 years", "Tdap / Td | HPV (girls, 2-dose series)"],
    ]
    items.append(make_table(imm_headers, imm_rows, col_widths=[3.5*cm, 13.7*cm]))
    items.append(sp(6))

    items.append(sub_header("Vaccine Types", TEAL))
    items.append(sp(4))
    vt_headers = [b("Type"), b("Examples")]
    vt_rows = [
        ["Live attenuated", "BCG, OPV, MMR, Varicella, Rotavirus, Yellow fever, JE (live)"],
        ["Killed / Inactivated", "IPV, Hep A, Rabies, Cholera, Influenza (TIV), Typhoid (Vi)"],
        ["Toxoid", "Diphtheria toxoid (DT), Tetanus toxoid (TT)"],
        ["Subunit / Conjugate", "Hep B (HBsAg), Hib (conjugate), PCV (conjugate), HPV, acellular Pertussis (aP)"],
    ]
    items.append(make_table(vt_headers, vt_rows, col_widths=[4.5*cm, 12.7*cm]))
    items.append(sp(6))

    items.append(sub_header("Cold Chain & Storage", TEAL))
    items.append(sp(4))
    cold_data = [
        [b("Storage Temp"), b("Vaccines")],
        ["-20Β°C (Freezer)", "OPV only"],
        ["2-8Β°C (Refrigerator)", "BCG, MMR, Varicella, IPV, DPT, Hep B, Hib, PCV, Rotavirus"],
        [red("DO NOT FREEZE"), "Hep B, DPT, IPV, Hib β€” freeze kills adsorbed vaccines (shake test detects)"],
    ]
    items.append(make_table(cold_data[0], cold_data[1:], col_widths=[4.5*cm, 12.7*cm]))
    items.append(sp(3))
    items.append(bullet(f"{b('Shake test')}: Shake frozen + non-frozen vials β†’ if frozen, forms uniform flocculate vs normal vial"))
    items.append(sp(6))

    items.append(sub_header("BCG Vaccine", TEAL))
    items.append(sp(4))
    items.append(info_box(
        f"{b('Route')}: Intradermal (left deltoid) | {b('Dose')}: 0.05 mL (neonates), 0.1 mL (>1 month) | "
        f"{b('Age')}: At birth (up to 5 years if not given) | "
        f"PPD reaction appears {b('6-10 weeks')} after BCG | "
        f"{b('BCG scar')}: Appears 2-6 weeks post-vaccination | "
        f"{red('Contraindication')}: Symptomatic HIV, immunocompromised state",
        bg=LIGHT_TEAL, border=TEAL
    ))
    items.append(sp(6))

    items.append(sub_header("Contraindications to Vaccination", TEAL))
    items.append(sp(4))
    ci_headers = [b("TRUE Contraindications"), b("NOT Contraindications (Common Misconceptions)")]
    ci_rows = [
        ["Anaphylaxis to previous dose", "Mild fever / mild illness"],
        ["Encephalopathy after pertussis vaccine", "Current antibiotic use"],
        ["Severe combined immunodeficiency (for live vaccines)", "Breastfeeding"],
        ["Pregnancy (for live vaccines)", "Premature birth (vaccinate at chronological age)"],
        ["", "Family history of seizures or adverse reactions"],
    ]
    items.append(make_table(ci_headers, ci_rows, col_widths=[8.6*cm, 8.6*cm]))
    return items


def topic5():
    """Diseases of GIT"""
    items = []
    items.append(section_header("DISEASES OF GIT", ORANGE, "5"))
    items.append(sp(6))

    items.append(sub_header("Diarrhea β€” Classification & Management", TEAL))
    items.append(sp(4))
    items.append(bullet(f"{b('Acute')}: < 14 days | {b('Persistent')}: 14-30 days | {b('Chronic')}: > 30 days"))
    items.append(bullet(f"Most common cause: {red('Rotavirus')} (viral) | Most common bacterial: E. coli"))
    items.append(sp(4))

    deh_headers = [b("Sign"), b("No Dehydration"), b("Some Dehydration (5-10%)"), b("Severe (>10%)")]
    deh_rows = [
        ["Condition", "Well, alert", "Restless, irritable", "Lethargic, unconscious"],
        ["Eyes", "Normal", "Sunken", "Very sunken"],
        ["Tears", "Present", "Absent", "Absent"],
        ["Mouth/tongue", "Moist", "Dry", "Very dry"],
        ["Thirst", "Normal", "Thirsty, drinks eagerly", "Unable to drink"],
        ["Skin pinch", "Goes back quickly", "Goes back slowly", "Goes back very slowly (>2s)"],
        ["Plan", grn("Plan A"), orange_t("Plan B"), red("Plan C")],
    ]
    items.append(make_table(deh_headers, deh_rows, col_widths=[3*cm, 4.4*cm, 5*cm, 4.8*cm]))
    items.append(sp(4))
    items.append(info_box(
        f"{b('ORS composition (WHO 2002)')}: Na 75 | Cl 65 | Glucose 75 | K 20 | Citrate 10 mEq/L | Osmolarity 245 mOsm/L | "
        f"{b('Plan B')}: 75 mL/kg ORS over 4 hours | {b('Plan C')}: Ringer's Lactate 100 mL/kg (30 mL/kg fast + 70 mL/kg slow) | "
        f"{b('Zinc')}: 20 mg/day Γ— 14 days (>6 months); 10 mg/day (<6 months) β€” reduces severity & recurrence",
        bg=LIGHT_TEAL, border=TEAL
    ))
    items.append(sp(6))

    items.append(sub_header("Intussusception", TEAL))
    items.append(sp(4))
    items.append(bullet(f"Age: Most common {b('3 months - 5 years')} | Peak: 6-18 months"))
    items.append(bullet(f"{b('Classic triad')}: Colicky abdominal pain + {red('red currant jelly stool')} + sausage-shaped mass (RUQ)"))
    items.append(bullet(f"Investigation: Ultrasound ({b('target/doughnut sign')}) β†’ contrast enema (diagnostic + therapeutic)"))
    items.append(bullet(f"Treatment: Pneumatic/hydrostatic reduction; surgical if failed or peritonitis"))
    items.append(sp(6))

    items.append(sub_header("Other Important GIT Conditions", TEAL))
    items.append(sp(4))
    git_data = [
        [b("Condition"), b("Key Points")],
        ["Hirschsprung's Disease",
         f"Absent ganglion cells (Meissner's + Auerbach's plexus) in rectosigmoid | "
         f"Features: Delayed meconium (>48 hrs), constipation, abdominal distension | "
         f"Barium enema: narrow distal + dilated proximal | "
         f"{b('Gold standard')}: Rectal biopsy | Treatment: Surgical pull-through"],
        ["GERD",
         f"Physiological regurgitation vs pathological GERD | Alarm signs: poor weight gain, blood in stool, apnea | "
         f"Treatment: Positioning (upright 30 min after feed), thickened feeds, PPI if severe"],
        ["Celiac Disease",
         f"Gluten sensitivity (wheat, barley, rye) | Features: Chronic diarrhea, FTT, abdominal distension | "
         f"Screening: {b('Anti-tTG IgA')} | Gold standard: {b('Small bowel biopsy')} (villous atrophy) | "
         f"Treatment: Lifelong gluten-free diet"],
        ["Pyloric Stenosis",
         f"Males 4:1 | Age: 2-6 weeks | {b('Projectile non-bilious vomiting')} after feeds | "
         f"Olive-shaped mass epigastrium | Hypochloremic hypokalemic metabolic alkalosis | "
         f"USS: pyloric channel length >14mm, muscle thickness >4mm | Treatment: Ramstedt pyloromyotomy"],
        ["Appendicitis",
         f"Peak age: 10-12 years | Features: RIF pain, fever, vomiting, Rovsing's sign, Psoas sign | "
         f"Alvarado score | CT scan (gold standard for diagnosis in children) | "
         f"Treatment: Emergency appendicectomy"],
    ]
    items.append(make_table(git_data[0], git_data[1:], col_widths=[3.8*cm, 13.4*cm]))
    return items


def topic6():
    """Infections & Infestations"""
    items = []
    items.append(section_header("INFECTIONS & INFESTATIONS", RED_ACCENT, "6"))
    items.append(sp(6))

    items.append(sub_header("Viral Exanthems β€” Quick Comparison", TEAL))
    items.append(sp(4))
    exan_headers = [b("Disease"), b("Virus"), b("Incubation"), b("Pathognomonic / Key"), b("Rash")]
    exan_rows = [
        ["Measles", "Paramyxovirus", "10-14 days", red("Koplik's spots (buccal mucosa)"), "Maculopapular, cephalocaudal; 3Cs prodrome"],
        ["Rubella", "Togavirus", "14-21 days", "Forchheimer spots (soft palate)", "Pink maculopapular; post-auricular LN"],
        ["Chickenpox", "VZV", "14-21 days", "Pleomorphic: all stages simultaneously", "Macule→Papule→Vesicle→Crust (starry sky)"],
        ["Roseola", "HHV-6", "10-14 days", "Fever resolves β†’ rash appears", "Rose-pink macules (trunk first)"],
        ["Scarlet fever", "GAS (Strep)", "2-5 days", "Strawberry tongue", "Sandpaper rash; Pastia's lines"],
        ["Hand-foot-mouth", "Coxsackievirus A16", "3-7 days", "Oral ulcers + vesicles on extremities", "Vesicles on palms/soles"],
    ]
    items.append(make_table(exan_headers, exan_rows, col_widths=[2.8*cm, 3*cm, 2.5*cm, 5*cm, 3.9*cm]))
    items.append(sp(3))
    items.append(info_box(
        f"{b('Measles complications')}: Pneumonia (most common cause of death), Encephalitis, Otitis media, "
        f"{red('SSPE')} (subacute sclerosing panencephalitis β€” 7-10 yrs later) | "
        f"{b('Chickenpox treatment')}: Acyclovir in immunocompromised/severe cases",
        bg=LIGHT_ORANGE, border=ORANGE
    ))
    items.append(sp(6))

    items.append(sub_header("Dengue Fever", TEAL))
    items.append(sp(4))
    items.append(bullet(f"Vector: {b('Aedes aegypti')} mosquito (day biter) | Flavivirus, 4 serotypes"))
    items.append(bullet(f"Classic: High fever + severe headache + {b('retroorbital pain')} + myalgia + arthralgia ('breakbone fever')"))
    items.append(bullet(f"{red('Warning signs')}: Abdominal pain, persistent vomiting, bleeding, hepatomegaly, rapid deterioration"))
    items.append(bullet(f"{b('DHF Criteria (all 4)')}: Fever + hemorrhagic manifestations + thrombocytopenia (<100,000) + plasma leakage (↑HCT β‰₯20%)"))
    items.append(bullet(f"Diagnosis: {b('NS1 antigen')} (day 1-5) | IgM/IgG after day 5 | CBC daily (monitor platelet/HCT)"))
    items.append(bullet(f"Treatment: Supportive β€” IV fluids, platelet transfusion if <10,000 or active bleeding"))
    items.append(sp(6))

    items.append(sub_header("Typhoid (Enteric Fever)", TEAL))
    items.append(sp(4))
    items.append(bullet(f"Organism: {b('Salmonella typhi')} | Feco-oral route | Incubation 10-14 days"))
    items.append(bullet(f"Features: Stepladder fever, relative bradycardia, rose spots (anterior chest), splenomegaly"))
    items.append(bullet(f"Week 1 β†’ Blood culture (best) | Week 2-3 β†’ Widal (TOβ‰₯1:160, THβ‰₯1:160) | Week 3-4 β†’ Stool/urine culture"))
    items.append(bullet(f"Treatment: {b('Azithromycin')} (1st line uncomplicated) | Ceftriaxone (IV, severe) | Ciprofloxacin (adults)"))
    items.append(sp(6))

    items.append(sub_header("Worm Infestations", TEAL))
    items.append(sp(4))
    worm_headers = [b("Parasite"), b("Route of Entry"), b("Key Features"), b("Treatment")]
    worm_rows = [
        ["Ascaris lumbricoides", "Feco-oral (eggs)", "Loeffler's syndrome; intestinal obstruction (most common cause in children)", "Albendazole 400 mg single dose"],
        ["Hookworm", "Skin penetration (larvae)", "Iron deficiency anemia; cutaneous larva migrans", "Albendazole + iron supplementation"],
        ["Enterobius (Pinworm)", "Feco-oral", "Perianal itching at night; Scotch tape test", "Mebendazole 100 mg Γ— 1 (repeat after 2 weeks)"],
        ["Giardia lamblia", "Feco-oral (cysts)", "Frothy foul-smelling stool; malabsorption; cysts in stool", "Metronidazole 5 days"],
        ["Tapeworm (Taenia)", "Undercooked meat", "Pork β†’ cysticercosis (CNS); Beef β†’ intestinal only", "Praziquantel"],
    ]
    items.append(make_table(worm_headers, worm_rows, col_widths=[3.2*cm, 3.2*cm, 6.5*cm, 4.3*cm]))
    items.append(sp(6))

    items.append(sub_header("Malaria & Kala-azar", TEAL))
    items.append(sp(4))
    mk_data = [
        [b("Feature"), b("Malaria"), b("Kala-azar (VL)")],
        ["Organism", "Plasmodium spp.", "Leishmania donovani"],
        ["Vector", "Anopheles mosquito (female)", "Phlebotomus sandfly"],
        ["Fever pattern", "Tertian (48h) P.vivax; Quartan (72h) P.malariae", "Prolonged, irregular"],
        ["Splenomegaly", "Moderate", red("Massive (hallmark)")],
        ["Skin", "Normal", "Darkening (post-kala-azar)"],
        ["Diagnosis", "Peripheral smear (thick+thin)", "rK39 strip; bone marrow/splenic aspirate (gold standard)"],
        ["Treatment", "Chloroquine (P.vivax); Artesunate (P.falciparum)", "Liposomal Amphotericin B (India 1st line)"],
    ]
    items.append(make_table(mk_data[0], mk_data[1:], col_widths=[3.5*cm, 6.8*cm, 6.9*cm]))
    return items


def topic7():
    """Adolescent Medicine"""
    items = []
    items.append(section_header("ADOLESCENT MEDICINE", colors.HexColor("#880e4f"), "7"))
    items.append(sp(6))

    items.append(sub_header("Puberty β€” Tanner Stages", TEAL))
    items.append(sp(4))
    t_headers = [b("Stage"), b("Girls (onset 8-13 yrs)"), b("Boys (onset 9-14 yrs)")]
    t_rows = [
        ["Stage 1", "Prepubertal", "Prepubertal"],
        ["Stage 2", red("Breast budding (FIRST sign)") + "\nPublic hair begins (villous)",
         red("Testicular enlargement >4 mL (FIRST sign)") + "\nPublic hair begins"],
        ["Stage 3", "Breast enlargement; pubic hair darkens/coarsens", "Penile elongation; pubic hair darkens"],
        ["Stage 4", "Secondary areolar mound; axillary hair; menarche", "Darkening of scrotum; increased penile width"],
        ["Stage 5", "Adult breast configuration", "Adult genitalia size"],
    ]
    items.append(make_table(t_headers, t_rows, col_widths=[2.2*cm, 7.5*cm, 7.5*cm]))
    items.append(sp(3))
    items.append(info_box(
        f"{b('Menarche')}: Occurs at Tanner stage 3-4 (1-3 years after breast budding) | "
        f"{b('Peak height velocity')}: Girls = Tanner 2-3 | Boys = Tanner 4 | "
        f"{b('Girls height increase')}: ~6-10 cm/year at PHV | {b('Boys')}: ~8-14 cm/year",
        bg=LIGHT_BLUE, border=TEAL
    ))
    items.append(sp(6))

    items.append(sub_header("Precocious Puberty", TEAL))
    items.append(sp(4))
    pp_headers = [b("Type"), b("Definition"), b("Causes"), b("Treatment")]
    pp_rows = [
        ["Central (GnRH-dependent)",
         "Girls < 8 yrs\nBoys < 9 yrs",
         "Idiopathic (girls 80%)\nCNS tumors, hydrocephalus\nHypothyroidism",
         "GnRH analogues\n(leuprolide)"],
        ["Peripheral (GnRH-independent)",
         "Same age criteria",
         "McCune-Albright, CAH\nGonadal/adrenal tumors\nExogenous estrogen",
         "Treat underlying cause"],
    ]
    items.append(make_table(pp_headers, pp_rows, col_widths=[3.8*cm, 3*cm, 6*cm, 4.4*cm]))
    items.append(sp(6))

    items.append(sub_header("Key Adolescent Conditions", TEAL))
    items.append(sp(4))
    ac_data = [
        [b("Condition"), b("Key Points")],
        ["Acne vulgaris",
         "Androgen-induced ↑sebum; Propionibacterium acnes | Comedonal: topical retinoids | "
         "Mild-moderate: benzoyl peroxide Β± topical antibiotics | Severe/nodular: oral isotretinoin"],
        ["Anorexia Nervosa",
         f"{red('< 85% ideal body weight')} | Body dysmorphia | Amenorrhea | Lanugo hair | "
         f"Bradycardia, hypotension, electrolyte imbalance | Russell's sign (knuckle scarring in purging type)"],
        ["Bulimia Nervosa",
         "Binge-purge cycles | Normal/overweight | Hypokalemia, metabolic alkalosis | "
         "Dental erosion, parotid enlargement | Treatment: CBT + SSRI (fluoxetine)"],
        ["PCOS",
         "Rotterdam criteria (2/3): Oligo-anovulation + hyperandrogenism + polycystic ovaries | "
         "Treatment: OCP + metformin (insulin resistance); clomiphene (infertility)"],
        ["Gynecomastia",
         "Common in Tanner stage 3-4 boys (physiological) | Unilateral subareolar disc | "
         "Resolves in 1-2 years | Pathological: Klinefelter's, drugs, liver disease"],
    ]
    items.append(make_table(ac_data[0], ac_data[1:], col_widths=[3.5*cm, 13.7*cm]))
    items.append(sp(6))

    items.append(info_box(
        f"{b('HEADS assessment')}: Home, Education/Employment, Activities, Drugs, Sexuality, Suicide/depression | "
        f"{b('HPV vaccine')}: 2-dose (9-14 yrs) or 3-dose (15+ yrs); protects against HPV 6,11,16,18 | "
        f"{b('Iron requirement in adolescent girls')}: 32.7 mg/day (menstruating) | "
        f"{red('Red flags')}: BMI < 17.5 (anorexia), suicidal ideation, substance use",
        bg=LIGHT_ORANGE, border=ORANGE
    ))
    return items


def topic8():
    """Respiratory System"""
    items = []
    items.append(section_header("RESPIRATORY SYSTEM", colors.HexColor("#01579b"), "8"))
    items.append(sp(6))

    items.append(sub_header("WHO Pneumonia Classification (IMCI)", TEAL))
    items.append(sp(4))
    pn_headers = [b("Age Group"), b("Fast Breathing Threshold"), b("Classification"), b("Management")]
    pn_rows = [
        ["< 2 months", "> 60 breaths/min", "Severe disease β€” chest indrawing or fast breathing", "Refer + Ampicillin + Gentamicin"],
        ["2-12 months", "> 50 breaths/min", "Pneumonia (fast breathing only)", "Amoxicillin 3 days (outpatient)"],
        ["1-5 years", "> 40 breaths/min", "Severe pneumonia (chest indrawing + fast breathing)", "IV antibiotics + O2 (admit)"],
        ["", "", red("Very severe (cyanosis, unable to drink, convulsions)"), red("Urgent referral / ICU")],
    ]
    items.append(make_table(pn_headers, pn_rows, col_widths=[3*cm, 4*cm, 5.5*cm, 4.7*cm]))
    items.append(sp(3))
    items.append(bullet(f"{b('Common organisms by age')}: < 3 months: GBS/Chlamydia | 3m-5y: S. pneumoniae, H. influenzae | > 5y: Mycoplasma, S. pneumoniae"))
    items.append(sp(6))

    items.append(sub_header("Bronchiolitis vs Asthma vs Croup β€” Comparison", TEAL))
    items.append(sp(4))
    bac_headers = [b("Feature"), b("Bronchiolitis"), b("Asthma"), b("Croup")]
    bac_rows = [
        ["Peak age", "< 2 years", "Any age (often 2-5 yrs)", "6 months - 3 years"],
        ["Cause", red("RSV (most common)"), "Allergic, multifactorial", "Parainfluenza virus"],
        ["Key symptom", "Wheeze + hyperinflation", "Wheeze + cough at night", red("Barking cough + stridor")"],
        ["CXR", "Hyperinflation, peribronchial thickening", "Hyperinflation (chronic)", red("'Steeple sign'")],
        ["Treatment", "Supportive, O2, hydration", "SABA β†’ ICS β†’ ICS+LABA", "Dexamethasone + nebulized epinephrine (severe)"],
        ["Hospital indication", "O2 sat < 92%, poor feeding", "No improvement with SABA", "Stridor at rest"],
    ]
    items.append(make_table(bac_headers, bac_rows, col_widths=[3*cm, 4.5*cm, 4.8*cm, 4.9*cm]))
    items.append(sp(6))

    items.append(sub_header("Tuberculosis in Children", TEAL))
    items.append(sp(4))
    items.append(bullet(f"{b('Mantoux (Tuberculin test)')}: Read at 48-72 hrs | Induration (not redness):"))
    items.append(bullet(f"β‰₯ {b('5 mm')}: HIV+, close contact, immunocompromised, CXR abnormality"))
    items.append(bullet(f"β‰₯ {b('10 mm')}: Children < 5 yrs, immigrants from high-prevalence areas, general population"))
    items.append(bullet(f"β‰₯ {b('15 mm')}: No known risk factors"))
    items.append(sp(3))
    tb_data = [
        [b("Type"), b("CXR / Features")],
        ["Primary complex", "Ghon focus (parenchymal) + ipsilateral hilar LN = Ranke complex"],
        ["Progressive primary TB", "Extensive pneumonia, lobar consolidation in children"],
        ["Miliary TB", red("'Millet seed' opacities (1-2 mm) uniformly distributed | Hematogenous spread")],
        ["TB meningitis", "Most dangerous; complications: hydrocephalus, cranial nerve palsies"],
        ["Lymph node TB", "Most common extrapulmonary in children; cervical LN most frequent"],
    ]
    items.append(make_table(tb_data[0], tb_data[1:], col_widths=[4*cm, 13.2*cm]))
    items.append(sp(3))
    items.append(info_box(
        f"{b('RNTCP Treatment')} β€” New case: {b('2HRZE / 4HR')} | "
        f"H=Isoniazid | R=Rifampicin | Z=Pyrazinamide | E=Ethambutol | "
        f"{b('Side effects')}: INH β†’ peripheral neuropathy (give B6) | Rifampicin β†’ hepatotoxicity, orange urine | "
        f"Ethambutol β†’ {red('optic neuritis')} (avoid < 5 yrs or check vision regularly)",
        bg=LIGHT_TEAL, border=TEAL
    ))
    items.append(sp(6))

    items.append(sub_header("Whooping Cough (Pertussis)", TEAL))
    items.append(sp(4))
    items.append(bullet(f"Organism: {b('Bordetella pertussis')} | Highly contagious; infants <6 months most vulnerable"))
    items.append(bullet(f"Stages: {b('Catarrhal')} (1-2 wks, most infectious; mimics URTI) β†’ {b('Paroxysmal')} (4-6 wks; inspiratory 'whoop', post-tussive vomiting) β†’ {b('Convalescent')} (weeks)"))
    items.append(bullet(f"Diagnosis: Nasopharyngeal swab culture (gold standard); PCR | Lymphocytosis on CBC"))
    items.append(bullet(f"Treatment: {b('Azithromycin')} (drug of choice); erythromycin alternative | Post-exposure prophylaxis for close contacts"))
    return items


def topic9():
    """Haematological Disorders"""
    items = []
    items.append(section_header("HAEMATOLOGICAL DISORDERS", colors.HexColor("#b71c1c"), "9"))
    items.append(sp(6))

    items.append(sub_header("Anemia β€” Classification by MCV", TEAL))
    items.append(sp(4))
    anemia_headers = [b("Type"), b("MCV"), b("Causes"), b("Key Finding")]
    anemia_rows = [
        ["Microcytic hypochromic", "< 80 fL", "Iron deficiency, Thalassemia, lead poisoning, sideroblastic", "Serum ferritin ↓ (IDA); HbA2 ↑ (Beta thal minor)"],
        ["Normocytic normochromic", "80-100 fL", "Acute blood loss, hemolysis, aplastic anemia, CKD", "Reticulocyte count differentiates"],
        ["Macrocytic", "> 100 fL", "Folate/B12 deficiency, hypothyroidism, liver disease", "Hypersegmented neutrophils; megaloblasts"],
    ]
    items.append(make_table(anemia_headers, anemia_rows, col_widths=[3.8*cm, 2*cm, 6.5*cm, 4.9*cm]))
    items.append(sp(6))

    items.append(sub_header("Thalassemia β€” Overview", TEAL))
    items.append(sp(4))
    thal_headers = [b("Feature"), b("Beta Thal Minor"), b("Beta Thal Major (Cooley's)"), b("Alpha Thal Major (Hydrops)")]
    thal_rows = [
        ["Inheritance", "1 beta gene mutation", "Both beta genes mutated", "All 4 alpha genes deleted"],
        ["Hb electrophoresis", "HbA2 > 3.5% ↑↑", "HbF ↑↑, HbA absent", "Only Hb Barts (Ξ³4)"],
        ["Clinical", "Mild anemia, asymptomatic", red("Severe: chipmunk face, frontal bossing, hepatosplenomegaly"), red("Hydrops fetalis, stillbirth")],
        ["Transfusion need", "None / occasional", "Regular (every 2-4 wks)", "Usually fatal in utero"],
        ["Treatment", "Folic acid", "Transfusions + Desferrioxamine\nBone marrow transplant (curative)", "Intrauterine transfusion / termination"],
    ]
    items.append(make_table(thal_headers, thal_rows, col_widths=[3*cm, 3.7*cm, 5.5*cm, 5*cm]))
    items.append(sp(6))

    items.append(sub_header("Sickle Cell Disease", TEAL))
    items.append(sp(4))
    items.append(bullet(f"Mutation: {b('Glu→Val')} at position 6 of beta chain | HbS polymerizes under low O2/dehydration/acidosis"))
    scd_data = [
        [b("Crisis Type"), b("Trigger"), b("Features")],
        ["Vaso-occlusive (most common)", "Dehydration, cold, infection", "Painful crises β€” bones, chest, abdomen; dactylitis in infants (hand-foot syndrome)"],
        ["Aplastic crisis", red("Parvovirus B19"), "Sudden Hb drop; bone marrow suppression"],
        ["Splenic sequestration", "Sudden red cell pooling", "Acute splenomegaly; hypovolemic shock (emergency!)"],
        ["Hemolytic crisis", "Infection, oxidant drugs", "↑ jaundice, ↓ Hb, ↑ reticulocytes"],
    ]
    items.append(make_table(scd_data[0], scd_data[1:], col_widths=[4.5*cm, 4*cm, 8.7*cm]))
    items.append(sp(3))
    items.append(bullet(f"Features: Autosplenectomy by age 5 β†’ susceptible to encapsulated organisms | Stroke | Acute chest syndrome"))
    items.append(bullet(f"Treatment: {b('Hydroxyurea')} (↑HbF) | Penicillin prophylaxis | Transfusions | BMT (curative)"))
    items.append(sp(6))

    items.append(sub_header("Hemophilia vs ITP vs ALL", TEAL))
    items.append(sp(4))
    bleed_headers = [b("Feature"), b("Hemophilia A/B"), b("ITP"), b("ALL")]
    bleed_rows = [
        ["Defect", "Factor VIII (A) / IX (B) deficiency", "Autoimmune platelet destruction", "Malignant lymphoblasts"],
        ["Inheritance", "X-linked recessive", "Acquired (post-viral)", "Sporadic (peak 2-5 yrs)"],
        ["Bleeding type", "Hemarthrosis, deep hematomas", "Petechiae, purpura, mucous membrane", "Petechiae + pallor + bone pain"],
        ["Platelets", "Normal", red("< 20,000/mmΒ³"), "Low (bone marrow failure)"],
        ["PT/APTT", "APTT prolonged, PT normal", "Normal", "Normal or ↑"],
        ["Treatment", "Factor concentrate\n(VIII or IX)", "Observation (self-limiting)\nIVIG / Steroids if severe", "Vincristine + Prednisolone\n+ Asparaginase (induction)"],
    ]
    items.append(make_table(bleed_headers, bleed_rows, col_widths=[3*cm, 4.5*cm, 4.5*cm, 5.2*cm]))
    items.append(sp(3))
    items.append(info_box(
        f"{b('Hemophilia')}: Knee most common hemarthrosis joint | DDAVP raises factor VIII (mild hemophilia A) | "
        f"{b('ITP')}: NO hepatosplenomegaly; 80% resolve in 6 months spontaneously | "
        f"{b('ALL')}: Most common childhood cancer; 'starry sky' in Burkitt's (L3 FAB)",
        bg=LIGHT_ORANGE, border=ORANGE
    ))
    return items


def topic10():
    """Renal Disorders"""
    items = []
    items.append(section_header("RENAL DISORDERS", colors.HexColor("#004d40"), "10"))
    items.append(sp(6))

    items.append(sub_header("Nephrotic vs Nephritic Syndrome", TEAL))
    items.append(sp(4))
    ns_headers = [b("Feature"), b("Nephrotic Syndrome"), b("Nephritic Syndrome")]
    ns_rows = [
        ["Proteinuria", red("> 3.5 g/day (massive)"), "< 2 g/day (mild)"],
        ["Hematuria", "Absent / minimal", red("Present (cola-colored urine)")],
        ["Blood pressure", "Normal or low", red("Hypertension")],
        ["Edema", "Periorbital (morning) β†’ anasarca", "Mild, periorbital"],
        ["Complement", "Normal (MCD) / ↓ in MPGN", red("↓ C3 in PSGN")],
        ["Albumin", red("< 2.5 g/dL"), "Normal"],
        ["Cholesterol", red("↑↑ (hypercholesterolemia)"), "Normal"],
        ["Most common cause (children)", "Minimal Change Disease (MCD)", "Post-Streptococcal GN (PSGN)"],
    ]
    items.append(make_table(ns_headers, ns_rows, col_widths=[4*cm, 6.5*cm, 6.7*cm]))
    items.append(sp(6))

    items.append(sub_header("Nephrotic Syndrome β€” Deep Dive", TEAL))
    items.append(sp(4))
    items.append(bullet(f"{b('Tetrad')}: Massive proteinuria + hypoalbuminemia + edema + hypercholesterolemia"))
    items.append(bullet(f"{b('Pathophysiology')}: ↓albumin β†’ ↓oncotic pressure β†’ fluid extravasation β†’ edema β†’ ↑aldosterone β†’ Na/water retention"))
    items.append(bullet(f"{b('Complications')}: {red('Spontaneous bacterial peritonitis')} (S. pneumoniae most common) | VTE | Hypothyroidism | ↑infection risk"))
    items.append(bullet(f"{b('MCD histology')}: EM = fusion of foot processes (effacement); LM = normal; IF = negative"))
    items.append(bullet(f"{b('Treatment')}: Prednisolone 60 mg/mΒ²/day Γ— 4 weeks β†’ 40 mg/mΒ²/alternate day Γ— 4 weeks"))
    items.append(bullet(f"Steroid-sensitive (85% in children) vs steroid-resistant (consider biopsy β€” FSGS, MPGN)"))
    items.append(sp(6))

    items.append(sub_header("Post-Streptococcal Glomerulonephritis (PSGN)", TEAL))
    items.append(sp(4))
    items.append(bullet(f"Follows GAS throat (1-3 weeks) or skin infection (3-6 weeks)"))
    items.append(bullet(f"Features: Hematuria (cola/smoky urine), hypertension, edema, oliguria"))
    items.append(bullet(f"Investigations: ↓C3, ↑ASO titer (throat) or Anti-DNase B (skin) | Urine: RBC casts"))
    items.append(bullet(f"EM: Subepithelial {red('humps')} | IF: Granular 'starry sky' IgG + C3"))
    items.append(bullet(f"Treatment: Supportive (antihypertensives, fluid/Na restriction, diuretics) | Penicillin to clear strep | Prognosis: Excellent in children"))
    items.append(sp(6))

    items.append(sub_header("UTI, HUS & Wilms' Tumor", TEAL))
    items.append(sp(4))
    misc_data = [
        [b("Condition"), b("Key Points")],
        ["UTI in Children",
         f"Most common organism: {b('E. coli')} (> 80%) | Boys: structural anomaly till proven otherwise | "
         f"Girls < 5 yrs after 1st UTI β†’ MCUG + DMSA scan for VUR | "
         f"Diagnosis: Urine culture > 10⁡ CFU/mL | Treatment: Nitrofurantoin/TMP-SMX (lower UTI); IV cephalosporin (pyelonephritis)"],
        ["HUS (Hemolytic Uremic Syndrome)",
         f"{b('Triad')}: Microangiopathic hemolytic anemia + Thrombocytopenia + {red('AKI')} | "
         f"Cause: {b('E. coli O157:H7')} (post-diarrheal, most common in children) | "
         f"Most common cause of AKI in children | Treatment: Supportive; avoid antibiotics (↑Shiga toxin release); dialysis if needed"],
        ["Wilms' Tumor (Nephroblastoma)",
         f"Peak age: {b('3-4 years')} | Most common renal tumor in children | "
         f"Associations: WAGR syndrome (WT1), Beckwith-Wiedemann syndrome (WT2) | "
         f"{b('Smooth non-tender flank mass')} (does NOT cross midline unlike neuroblastoma) | "
         f"Investigation: USS + CT abdomen (no biopsy before surgery) | "
         f"Treatment: Nephrectomy + chemotherapy Β± radiotherapy | Prognosis: Excellent (> 90% 5-yr survival)"],
        ["Vesicoureteral Reflux (VUR)",
         f"Reflux of urine from bladder into ureter/kidney | Graded I-V | "
         f"Risk: recurrent UTI β†’ renal scarring β†’ hypertension β†’ CKD | "
         f"Diagnosis: MCUG (micturating cystourethrogram) | "
         f"Treatment: Prophylactic antibiotics (low grade); surgical correction (high grade)"],
    ]
    items.append(make_table(misc_data[0], misc_data[1:], col_widths=[3.8*cm, 13.4*cm]))
    return items


def quick_fire_page():
    """Quick-fire summary / exam tips page"""
    items = []
    items.append(section_header("QUICK-FIRE VIVA REFERENCE", colors.HexColor("#37474f"), "β˜…"))
    items.append(sp(6))

    items.append(sub_header("'Most Common' β€” High-Yield Exam Facts", TEAL))
    items.append(sp(4))
    mc_data = [
        [b("Question"), b("Answer")],
        ["Most common cause of diarrhea in children", red("Rotavirus")],
        ["Most common childhood cancer", red("ALL (Acute Lymphoblastic Leukemia)")],
        ["Most common nephrotic syndrome in children", red("Minimal Change Disease (MCD)")],
        ["Most common cause of AKI in children", red("HUS (E. coli O157:H7)")],
        ["Most common cause of bronchiolitis", red("RSV (Respiratory Syncytial Virus)")],
        ["Most common worm causing intestinal obstruction", red("Ascaris lumbricoides")],
        ["Most common nutritional deficiency", red("Iron Deficiency Anemia")],
        ["Most common organism in UTI", red("E. coli (> 80%)")],
        ["Most common cause of death in measles", red("Pneumonia")],
        ["Most common extrapulmonary TB in children", red("Lymph node TB (cervical)")],
        ["Most common renal tumor in children", red("Wilms' Tumor (Nephroblastoma)")],
        ["Most common bleeding disorder in children", red("ITP")],
        ["First sign of puberty in girls", red("Breast budding (thelarche)")],
        ["First sign of puberty in boys", red("Testicular enlargement > 4 mL")],
        ["Most common cause of neonatal seizures", red("Hypoxic ischemic encephalopathy (HIE)")],
        ["Most common cause of meningitis in neonate (early)", red("GBS (Group B Streptococcus)")],
    ]
    items.append(make_table(mc_data[0], mc_data[1:], col_widths=[9.5*cm, 7.7*cm]))
    items.append(sp(6))

    items.append(sub_header("Mnemonics Collection", TEAL))
    items.append(sp(4))
    mn_data = [
        [b("Topic"), b("Mnemonic")],
        ["APGAR", "Appearance, Pulse, Grimace, Activity, Respiration"],
        ["Measles prodrome", "3 Cs β€” Cough, Coryza, Conjunctivitis"],
        ["Pellagra", "3 Ds β€” Dermatitis, Diarrhea, Dementia (+Death = 4Ds)"],
        ["Rickets X-ray", "CALLFBS β€” Craniotabes, Anterior fontanelle (large), Lordosis, Leg bowing, Fraying/cupping, Bossing (frontal), Swelling (wrists)"],
        ["Nephrotic tetrad", "HEAP β€” Hypoalbuminemia, Edema, Albuminuria (proteinuria), hypercholesterolaemia (Proteinemia)"],
        ["HUS triad", "HAK β€” Hemolytic anemia, thrombocytopenia (low plAtelets), Kidney (AKI)"],
        ["Immunization β€” live vaccines", "BCG, OPV, MMR, Varicella, Rotavirus β€” 'Born Of Mother Makes Vaccine Real'"],
        ["Kwashiorkor vs Marasmus", "Kwashiorkor = K = protein malnutrition; Marasmus = Massive calorie deficit"],
        ["Tanner staging", "Girls: Breast first | Boys: Testis first (both Stage 2)"],
        ["Sepsis early vs late", "Early = External (maternal) organisms GBS/E.coli | Late = Nosocomial Staph/Klebsiella"],
    ]
    items.append(make_table(mn_data[0], mn_data[1:], col_widths=[4.5*cm, 12.7*cm]))
    items.append(sp(6))

    items.append(sub_header("Key Differentials β€” Examiner Favorites", TEAL))
    items.append(sp(4))
    diff_pairs = [
        ("Physiological vs Pathological Jaundice", "Timing (day 2-3 vs <24h), level, cause, direct vs indirect"),
        ("Kwashiorkor vs Marasmus", "Edema, appearance, cause, fatty liver, appetite β€” see Topic 2 table"),
        ("Nephrotic vs Nephritic", "Proteinuria level, hematuria, BP, complement β€” see Topic 10 table"),
        ("Bronchiolitis vs Asthma", "Age, causative organism, CXR, response to bronchodilators"),
        ("MCD vs FSGS", "MCD: foot process effacement only; FSGS: focal segmental sclerosis on LM; MCD steroid-sensitive"),
        ("Hemophilia A vs B", "Factor VIII vs IX; both X-linked; both have prolonged APTT + normal PT"),
        ("Intussusception vs Appendicitis", "Intussusception: younger child, currant jelly stool, RUQ mass; Appendicitis: older, RIF pain, Rovsing's sign"),
    ]
    for pair, detail in diff_pairs:
        items.append(bullet(f"{b(pair)}: {detail}"))

    items.append(sp(6))
    items.append(sub_header("Normal Pediatric Values β€” Quick Reference", TEAL))
    items.append(sp(4))
    nv_headers = [b("Parameter"), b("Value"), b("Parameter"), b("Value")]
    nv_rows = [
        ["HR Neonate", "120-160 bpm", "HR 1-5 yrs", "80-120 bpm"],
        ["RR Neonate", "40-60/min", "RR 1-5 yrs", "25-40/min"],
        ["BP Neonate (systolic)", "60-80 mmHg", "BP 5 yr", "90-110 systolic"],
        ["Hb at birth", "16-18 g/dL", "Hb 6 months", "~11 g/dL (nadir)"],
        ["WBC Neonates", "9,000-30,000", "WBC children", "5,000-15,000"],
        ["Platelets", "150,000-450,000", "Blood glucose (neonatal)", "40-100 mg/dL"],
        ["Serum sodium", "135-145 mEq/L", "Serum potassium", "3.5-5.5 mEq/L"],
        ["Normal weight gain (0-3 mo)", "25-30 g/day", "Normal weight gain (3-6 mo)", "20 g/day"],
    ]
    items.append(make_table(nv_headers, nv_rows, col_widths=[4*cm, 4.5*cm, 4*cm, 4.7*cm]))
    return items


# ══════════════════════════════════════════════════════════════════════════════
# MAIN BUILD
# ══════════════════════════════════════════════════════════════════════════════

def build_pdf():
    output_path = "/home/daytona/workspace/pediatrics-pdf/Pediatrics_Viva_Quick_Reference.pdf"

    doc = SimpleDocTemplate(
        output_path,
        pagesize=A4,
        leftMargin=1.2*cm,
        rightMargin=1.2*cm,
        topMargin=1.5*cm,
        bottomMargin=1.3*cm,
        title="Pediatrics Viva Quick Reference",
        author="Orris Medical"
    )

    story = []

    # Cover page (special callback)
    story += cover_page()
    story.append(PageBreak())

    # Topics
    topic_builders = [
        topic1, topic2, topic3, topic4, topic5,
        topic6, topic7, topic8, topic9, topic10,
        quick_fire_page
    ]

    for i, builder in enumerate(topic_builders):
        story += builder()
        if i < len(topic_builders) - 1:
            story.append(PageBreak())

    # Use cover callback for page 1, normal for rest
    page_counter = [0]

    def on_page_universal(canvas, doc):
        page_counter[0] += 1
        if page_counter[0] == 1:
            on_cover_page(canvas, doc)
        else:
            on_page(canvas, doc)

    doc.build(story, onFirstPage=on_page_universal, onLaterPages=on_page_universal)
    print(f"PDF created: {output_path}")
    return output_path

if __name__ == "__main__":
    build_pdf()
Running Command

cd /home/daytona/workspace/pediatrics-pdf && python generate_pdf.py 2>&1

Editing File

~/pediatrics-pdf/generate_pdf.py

Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/pediatrics-pdf/generate_pdf.py'
Running Command

cd /home/daytona/workspace/pediatrics-pdf && python generate_pdf.py 2>&1

Running Command

ls -lh /home/daytona/workspace/pediatrics-pdf/Pediatrics_Viva_Quick_Reference.pd…

Your PDF is ready! Here's your download link:

Pediatrics Viva Quick Reference

PDF Document Β· PDF


Here's what's packed into the PDF (12 sections, A4 format):
SectionContents
Cover PageFull topic list with color-coded design
1. Growth & DevelopmentWeight/height milestones, HC table, full developmental milestones table (birth-5 yrs), Erikson/Piaget/Freud stages
2. NutritionBreastfeeding, weaning guide, Kwashiorkor vs Marasmus comparison table, all vitamin deficiency table, IDA
3. NeonatologyKey definitions (LBW/VLBW/SGA), APGAR scoring table, physiological vs pathological jaundice comparison, RDS, neonatal sepsis, birth injuries
4. ImmunizationFull IAP 2024 schedule, vaccine types, cold chain storage, BCG details, true vs false contraindications
5. GIT DiseasesWHO dehydration/ORS table with Plan A/B/C, intussusception, Hirschsprung's, celiac, pyloric stenosis, appendicitis
6. Infections & InfestationsViral exanthem comparison table (measles/rubella/varicella/roseola/scarlet fever), dengue, typhoid, worm infestation table, malaria vs kala-azar
7. Adolescent MedicineTanner staging (boys + girls), precocious puberty, acne, eating disorders, PCOS, gynecomastia
8. Respiratory SystemWHO IMCI pneumonia classification, bronchiolitis vs asthma vs croup table, TB types + treatment, pertussis stages
9. Haematological DisordersAnemia classification, thalassemia comparison, SCD crisis types, hemophilia vs ITP vs ALL table
10. Renal DisordersNephrotic vs nephritic comparison, MCD deep dive, PSGN, UTI, HUS, Wilms' tumor, VUR
Quick-Fire Reference16 "Most Common" facts, mnemonics collection, key differentials list, normal pediatric values table
This is a shared conversation. Sign in to Orris to start your own chat.