attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment

This are the drug list that we are going to use it Tomorrow in wari medical camp So prepare a manual for these drugs by giving drugs name , its indication, dose , route frequency, and duration and contraindications in details fully and also highlights the main part , for quick reviews Also add skme common diseases in ehich i can prescribe that i will usually see in this camp

analyse_media
analyse_media
analyse_media
analyse_media
I have all the drug names. Now let me read the medical library skill and then compile the full manual.
Reading File
I have all the information I need. The drug list is comprehensive and I have solid clinical knowledge of all these drugs. Let me now compile the complete camp manual directly - this is a well-defined list of common medications I can address from established clinical knowledge without needing additional database queries.Here is the complete Wari Medical Camp Drug Manual based on your indent list.

πŸ₯ WARI MEDICAL CAMP - DRUG MANUAL

MAER MIT Pune's - MIMER Medical College & Dr. BSTR Hospital | Date: 15 July 2026


COMPLETE DRUG LIST FROM INDENT

Drugs (Oral/Systemic): Cyclopam, Metronidazole, Gelusil, Ciprofloxacin, Multivitamin, Emset 4mg, Diclomol, Paracetamol, Amlo 5mg, Rantac 150mg, Cetirizine, Bisacodyl, B-Complex, Calcium, Cough Syrup, Clonramide (Loperamide)
Topical/Local: Diclo Gel, Diclo Spray, Clotrimazole Ointment, Cipro Eye Drops, H2O2 Bottle
Consumables/Supplies: Cotton Roll, NS (Normal Saline), ORS, Surgical Tape, Roller Gauze, Roller Bandage 4", Roller Bandage 6", Glucon-D, Sterile Gauze Pad, Gloves


PART 1 - DRUG PROFILES


1. CYCLOPAM (Dicyclomine + Paracetamol)

πŸ”‘ QUICK: Antispasmodic for colicky abdominal pain
ParameterDetails
IndicationAbdominal colic, IBS, dysmenorrhea, renal/biliary colic, GI spasm
DoseDicyclomine 20mg + Paracetamol 500mg per tablet
RouteOral
FrequencyTDS (3 times a day)
Duration3-5 days (or till pain resolves)
Contraindications:
  • Glaucoma (closed angle)
  • Urinary retention / prostatic hypertrophy
  • Myasthenia gravis
  • Obstructive GI disease
  • Children under 6 months
Highlight: Do not use in suspected surgical abdomen (appendicitis, peritonitis).

2. METRONIDAZOLE 400mg

πŸ”‘ QUICK: Antibiotic for anaerobic & protozoal infections - Diarrhea, Amoeba, Giardia
ParameterDetails
IndicationAmoebic dysentery, Giardiasis, anaerobic infections, infected wounds, trichomonas, dental infections
Dose400mg (Adult) / 7.5 mg/kg in children
RouteOral
FrequencyTDS (3 times daily)
Duration5-7 days (dysentery); 7-10 days (severe infection)
Contraindications:
  • First trimester of pregnancy (relatively contraindicated)
  • Active CNS disease / epilepsy (caution)
  • Hepatic encephalopathy (dose reduction needed)
  • Hypersensitivity to nitroimidazoles
Highlight: AVOID ALCOHOL during and 48 hours after treatment (disulfiram-like reaction). May cause metallic taste - warn patient.

3. GELUSIL (Magnesium Hydroxide + Aluminium Hydroxide + Simethicone)

πŸ”‘ QUICK: Antacid for acidity, heartburn, gastritis
ParameterDetails
IndicationHyperacidity, gastritis, GERD, peptic ulcer symptoms, flatulence
Dose1-2 tablets chewed / 1-2 tsp syrup
RouteOral
FrequencyAfter meals and at bedtime (QID)
Duration5-7 days or as needed
Contraindications:
  • Severe renal failure (Mg accumulation risk)
  • Hypophosphatemia
  • Bowel obstruction (Simethicone)
Highlight: Take after meals, not on empty stomach. Separate from other drugs by at least 2 hours (reduces absorption of other drugs).

4. CIPROFLOXACIN 500mg (Oral)

πŸ”‘ QUICK: Broad-spectrum fluoroquinolone antibiotic - UTI, GI infections, skin infections
ParameterDetails
IndicationUTI, traveler's diarrhea, typhoid fever, respiratory infections, skin & soft tissue infections, infected wounds
Dose500mg (Adult)
RouteOral
FrequencyBD (twice daily)
Duration3-7 days (UTI); 7-14 days (other infections)
Contraindications:
  • Children & adolescents (under 18 - damages growing cartilage; use with caution, justified in severe infections only)
  • Pregnancy & breastfeeding
  • Myasthenia gravis
  • Epilepsy (lowers seizure threshold)
  • Known QT prolongation / concurrent QT-prolonging drugs
Highlight: Take with plenty of water. Avoid antacids (especially Gelusil) within 2 hours before/after. Can cause tendon rupture - warn elderly patients. Photosensitivity possible - advise sun protection.

5. MULTIVITAMIN

πŸ”‘ QUICK: Nutritional supplement - give to all malnourished, pregnant, elderly patients
ParameterDetails
IndicationNutritional deficiency, general weakness, convalescence, pregnancy supplementation, malnutrition
Dose1 tablet
RouteOral
FrequencyOD (Once daily)
Duration30 days or as advised
Contraindications:
  • Hypervitaminosis A or D
  • Hypercalcemia
Highlight: Best taken after meals. Common camp use - give to children, pregnant women, elderly, and patients with anemia or weakness.

6. EMSET 4mg (Ondansetron)

πŸ”‘ QUICK: Anti-emetic - Nausea & Vomiting
ParameterDetails
IndicationNausea, vomiting (from any cause - gastroenteritis, drug-induced, motion sickness, post-procedure)
Dose4mg (adult); 0.1 mg/kg in children
RouteOral (dissolves under tongue) / IV if available
FrequencyBD or TDS (every 8 hours in severe vomiting)
Duration1-3 days or till vomiting stops
Contraindications:
  • Congenital long QT syndrome
  • Hypersensitivity to ondansetron
  • Use caution in hepatic impairment (dose reduction)
  • Children < 2 years (limited data)
Highlight: Preferred anti-emetic. Can be given before starting ORS in patients with vomiting to ensure ORS retention. Do not exceed 16mg/day.

7. DICLOMOL (Diclofenac 50mg + Paracetamol 500mg)

πŸ”‘ QUICK: NSAID + Antipyretic combination - Pain, Fever, Inflammation
ParameterDetails
IndicationFever with body ache, musculoskeletal pain, joint pain, headache, dental pain, injury pain
Dose1 tablet (Diclofenac 50mg + Paracetamol 500mg)
RouteOral
FrequencyBD-TDS (after food)
Duration3-5 days
Contraindications:
  • Active peptic ulcer / GI bleed
  • Severe renal/hepatic disease
  • Bleeding disorders
  • Asthma exacerbated by NSAIDs
  • Pregnancy (especially 3rd trimester)
  • Children < 14 years (use plain Paracetamol instead)
  • Cardiovascular disease (caution)
Highlight: ALWAYS take after food to prevent gastric ulceration. If given for fever in children, use plain Paracetamol only, NOT Diclomol.

8. PARACETAMOL 500mg

πŸ”‘ QUICK: Safest analgesic/antipyretic - use in all ages including children & pregnancy
ParameterDetails
IndicationFever, headache, body ache, mild-moderate pain (when NSAIDs are contraindicated)
Dose500mg-1g (Adult); 10-15 mg/kg/dose (Children)
RouteOral
FrequencyEvery 4-6 hours (max 4g/day adult; 5 doses/day in children)
Duration3-5 days or till fever resolves
Contraindications:
  • Severe hepatic disease (relative contraindication - dose reduce)
  • Alcoholism (caution - hepatotoxicity risk)
  • Hypersensitivity
Highlight: Safest drug for fever in pregnancy and children. Do NOT exceed 4g/day in adults - hepatotoxicity risk. Warn patients not to take other paracetamol-containing products simultaneously (e.g., Diclomol + Crocin = double dose).

9. AMLODIPINE 5mg (Amlo 5mg)

πŸ”‘ QUICK: Calcium channel blocker - Hypertension, Angina
ParameterDetails
IndicationHypertension (most common camp use), stable angina
Dose5mg (can be increased to 10mg)
RouteOral
FrequencyOD (Once daily)
DurationLong term / Chronic (continue indefinitely unless stopped by physician)
Contraindications:
  • Severe hypotension (BP < 90/60)
  • Cardiogenic shock
  • Unstable angina (relative)
  • Severe aortic stenosis
  • Hypersensitivity to dihydropyridines
Highlight: Do NOT stop abruptly in angina patients - may precipitate rebound angina. Common side effects: pedal edema, flushing, headache. Instruct patient to check BP regularly. If patient already on antihypertensives - check for duplication.

10. RANTAC 150mg (Ranitidine / or Ranitac = Ranitidine 150mg)

πŸ”‘ QUICK: H2 Blocker - Acidity, GERD, Peptic Ulcer
(Note: If "Rantac" is unavailable due to recall, equivalent is Pantoprazole 40mg or Famotidine 20mg)
ParameterDetails
IndicationPeptic ulcer disease, GERD, gastritis, drug-induced gastric irritation
Dose150mg
RouteOral
FrequencyBD (Twice daily) - morning & bedtime
Duration4-8 weeks (ulcer); ongoing (GERD)
Contraindications:
  • Hypersensitivity
  • Renal impairment (dose reduction needed)
  • Porphyria
Highlight: Take 30 minutes before meals for best effect. At camp - give alongside NSAIDs (Diclomol/Ciprofloxacin) to protect gastric mucosa.

11. CETIRIZINE 10mg

πŸ”‘ QUICK: Antihistamine - Allergic rhinitis, Urticaria, Skin allergy
ParameterDetails
IndicationAllergic rhinitis, urticaria (hives), atopic dermatitis, allergic conjunctivitis, drug allergies, insect bites
Dose10mg (Adult); 5mg (children 2-6 years)
RouteOral
FrequencyOD (preferably at night - causes drowsiness)
Duration5-7 days (acute allergy) or as needed
Contraindications:
  • Severe renal failure (dose reduce)
  • Hypersensitivity to hydroxyzine or cetirizine
  • Children < 2 years
Highlight: Causes drowsiness - warn patients, especially those driving/operating machinery. Advise at bedtime for most patients. Minimal anticholinergic side effects compared to older antihistamines.

12. BISACODYL 5mg

πŸ”‘ QUICK: Stimulant laxative - Constipation
ParameterDetails
IndicationConstipation, bowel evacuation before procedures
Dose5-10mg (1-2 tablets)
RouteOral
FrequencyOD at bedtime
Duration2-3 days max (short-term use only)
Contraindications:
  • Acute abdomen (appendicitis, obstruction - NEVER give)
  • Intestinal obstruction
  • Acute inflammatory bowel disease
  • Severe abdominal pain of unknown cause
  • Children < 3 years
  • Pregnancy (first trimester)
Highlight: CRITICAL - Rule out surgical/obstructive cause before giving laxative. Do not crush/chew enteric-coated tablets. Takes 6-12 hours to work. Avoid prolonged use (electrolyte imbalance).

13. B-COMPLEX (B1, B2, B3, B5, B6, B12 + Folic Acid)

πŸ”‘ QUICK: Nutritional supplement - Weakness, Neuropathy, Anemia
ParameterDetails
IndicationB-vitamin deficiency, peripheral neuropathy, weakness, anemia, alcoholic neuropathy, pregnancy supplementation
Dose1-2 tablets
RouteOral
FrequencyOD or BD
Duration30-90 days (deficiency states)
Contraindications:
  • Hypersensitivity (rare)
  • Hypervitaminosis B
Highlight: Give to elderly, malnourished, diabetic patients, and those on isoniazid (TB treatment) to prevent neuropathy. Safe in pregnancy.

14. CALCIUM (Calcium Carbonate 500mg or 1g)

πŸ”‘ QUICK: Mineral supplement - Bone health, Hypocalcemia, Pregnancy
ParameterDetails
IndicationOsteoporosis, calcium deficiency, pregnancy & lactation, growing children, post-menopausal women, muscle cramps from hypocalcemia
Dose500mg - 1g (elemental calcium)
RouteOral
FrequencyBD (split doses for better absorption)
Duration30-90 days or long-term
Contraindications:
  • Hypercalcemia
  • Hypercalciuria / renal stones (calcium oxalate stones - caution)
  • Renal failure (severe)
  • Sarcoidosis / hyperparathyroidism
Highlight: Take with or after meals for better absorption. Separate from iron supplements by 2 hours (inhibits iron absorption). Give with Vitamin D ideally (enhances absorption).

15. COUGH SYRUP (commonly = Chericof / Benadryl / Ascoril or similar)

πŸ”‘ QUICK: Antitussive/Expectorant - Dry or Productive Cough
(Confirm formulation. Most common at camp = Bromhexine/Ambroxol + Guaifenesin = Expectorant / OR Dextromethorphan = Antitussive)
ParameterDetails
IndicationDry cough (antitussive component), Productive cough (expectorant), URTI, bronchitis
Dose10ml (2 tsp) for adult; 5ml for children 6-12 years
RouteOral
FrequencyTDS (3 times daily)
Duration3-5 days
Contraindications:
  • If contains Dextromethorphan: Avoid in patients on MAO inhibitors
  • Codeine-containing: Avoid in children < 12 years, asthma
  • Alcohol-containing formulations: Avoid in pregnancy, children, liver disease
Highlight: Check if expectorant (for wet/productive cough - mucus present) or antitussive (for dry, irritating cough). Do NOT suppress productive cough - give expectorant instead.

16. LOPERAMIDE 2mg (Clonramide / Loramide)

πŸ”‘ QUICK: Anti-diarrheal - Non-infective/Traveler's Diarrhea
ParameterDetails
IndicationNon-infective acute diarrhea, traveler's diarrhea (no blood in stool), irritable bowel diarrhea
Dose4mg initially, then 2mg after each loose stool
RouteOral
FrequencyAs needed (after each loose stool)
DurationMax 2 days (acute); max 16mg/day
Contraindications:
  • Bloody diarrhea / dysentery (risk of toxic megacolon)
  • Children under 2 years (NEVER)
  • Acute ulcerative colitis / pseudomembranous colitis
  • High fever with diarrhea (likely infective - treat cause, not symptom)
  • Suspected bowel obstruction
Highlight: Do NOT give in bloody diarrhea or high fever - give Metronidazole + ORS instead. Always hydrate with ORS. Rule of thumb at camp: If diarrhea + fever + blood = Metronidazole; If watery diarrhea, no fever, no blood = Loperamide + ORS.

17. CIPRO EYE DROPS (Ciprofloxacin 0.3% Eye Drops)

πŸ”‘ QUICK: Antibiotic eye drops - Conjunctivitis, Corneal ulcer
ParameterDetails
IndicationBacterial conjunctivitis ("pink eye"), corneal ulcer, eye infections post-trauma
Dose1-2 drops in affected eye(s)
RouteTopical (Ophthalmic)
FrequencyEvery 4 hours (Q4H) = 4-6 times daily
Duration5-7 days
Contraindications:
  • Viral eye infections (herpes keratitis - will worsen it)
  • Fungal eye infections
  • Hypersensitivity to fluoroquinolones
  • Do not use contact lenses during treatment
Highlight: Proper instillation - pull lower lid, instill drop in conjunctival sac, press inner corner 30 seconds. Wash hands before use. Tip must NOT touch eye. If red eye + vision loss + severe pain = refer immediately, do NOT just give eye drops.

18. CLOTRIMAZOLE OINTMENT 1%

πŸ”‘ QUICK: Antifungal - Ringworm, Tinea, Candida skin infection
ParameterDetails
IndicationTinea (ringworm) - T. corporis, T. cruris (groin), T. pedis (athlete's foot), Candidal skin infections, Pityriasis versicolor
DoseThin layer over affected area + 1cm beyond margin
RouteTopical
FrequencyBD (Twice daily)
Duration2-4 weeks (till lesion clears + 1 week extra to prevent relapse)
Contraindications:
  • Ophthalmic use (do not use near eyes)
  • Hypersensitivity
  • Do NOT use for nail infections alone (systemic treatment needed)
Highlight: Common presentations at camp: ring-shaped, itchy lesions in body folds (groin, underarm), feet. Advise to keep area clean and dry. Wash hands after application.

19. DICLOFENAC GEL 1% (Diclo Gel)

πŸ”‘ QUICK: Topical NSAID - Localized Joint/Muscle Pain
ParameterDetails
IndicationLocalized musculoskeletal pain, joint pain, sprains, strains, back pain, knee pain (mild OA)
Dose1-2g (small blob) per application
RouteTopical
FrequencyTDS-QID (3-4 times daily)
Duration5-7 days
Contraindications:
  • Open wounds or broken skin
  • Eyes, mucous membranes
  • Children < 6 years
  • Known NSAID sensitivity/allergy
Highlight: Wash hands after application. Do NOT cover with occlusive bandage. Can use alongside oral Diclomol in severe cases (additive effect but monitor for GI side effects). Very useful for elderly patients with knee/joint pain where oral NSAIDs are risky.

20. DICLOFENAC SPRAY (Diclo Spray)

πŸ”‘ QUICK: Topical NSAID Spray - Quick pain relief for accessible areas
ParameterDetails
IndicationSame as Diclo Gel - musculoskeletal pain, sprains, strains
Dose1-3 sprays on affected area
RouteTopical
FrequencyTDS-QID
Duration5-7 days
Contraindications:
  • Same as Diclo Gel
  • Keep away from eyes, mouth, nose
  • Do not inhale spray
Highlight: Spray from 10-15cm distance. Let air dry before covering. Useful for areas hard to apply gel (shoulders, back).

CONSUMABLES QUICK REFERENCE

ItemUseKey Point
ORSDehydration from diarrhea/vomiting/heat200-400ml after each loose stool; full 1L packet in 1L water
Normal Saline (NS)IV/wound irrigationFor wound cleaning, IV fluids in dehydration
Glucon-DHypoglycemia, heat exhaustion, energy depletionMix 2 tbsp in 200ml water; for conscious patients only
H2O2 (3%)Wound cleaningDilute 1:1 with water; for dirty/infected wounds only - not clean wounds
Roller Bandage 4"/6"Wound dressing, splinting4" for upper limb, 6" for lower limb
Sterile Gauze PadWound coverage, dressingChange every 24-48 hours
Diclo SpraySprains & strainsKeep away from face
GlovesUniversal precautionsWear for ALL wound procedures


PART 2 - COMMON DISEASES AT WARI MEDICAL CAMP

(Field conditions, large crowd, summer/monsoon, walking pilgrims)

DISEASE 1 - ACUTE GASTROENTERITIS / DIARRHEA

Symptoms: Loose watery stools, vomiting, mild fever, cramps Causative agents: Rotavirus, E. coli, Salmonella, Shigella (if blood in stool)

Management:

ScenarioTreatment
Watery diarrhea, no fever, no bloodORS + Loperamide 4mg then 2mg/stool + Emset 4mg for vomiting
Diarrhea + fever + no bloodORS + Ciprofloxacin 500mg BD x 5 days
Diarrhea + blood/mucus (Amoebic/Bacillary dysentery)ORS + Metronidazole 400mg TDS x 7 days
Severe vomiting unable to take ORSEmset 4mg ODT first, then ORS
Cholera-like (profuse watery, rice-water)IV Normal Saline + urgent referral
Prescription example (mild AGE):
  • Tab. Metronidazole 400mg TDS x 5 days
  • Tab. Emset 4mg BD x 3 days
  • ORS 1 packet after every loose stool
  • Tab. Rantac 150mg BD x 5 days

DISEASE 2 - FEVER (Non-specific / Viral URTI)

Symptoms: Temperature >38Β°C, body ache, headache, fatigue, sore throat

Management:

ScenarioTreatment
Simple viral feverParacetamol 500mg-1g TDS x 3 days
Fever + body ache (adults)Diclomol 1 tab BD x 3 days after food
Fever in childrenParacetamol syrup 10-15mg/kg/dose, 4-6 hourly ONLY
Fever + cough + sore throatParacetamol + Cough syrup + Rantac
Fever > 3 days / rigors / chillsConsider Malaria - refer for blood smear + Malaria RDT
Red flags to REFER: Petechiae, confusion, neck stiffness, continuous vomiting, BP < 90/60, SpO2 < 94%.

DISEASE 3 - UPPER RESPIRATORY TRACT INFECTION (URTI / Common Cold)

Symptoms: Runny nose, sneezing, sore throat, mild cough, low-grade fever

Management:

  • Tab. Cetirizine 10mg OD at night x 5 days
  • Tab. Paracetamol 500mg TDS x 3 days (if fever)
  • Cough Syrup 10ml TDS x 5 days (expectorant if productive, antitussive if dry)
  • Tab. Rantac 150mg BD x 3 days (if on multiple drugs)
  • Advise warm fluids, steam inhalation, rest

DISEASE 4 - MUSCULOSKELETAL PAIN / BACK PAIN / JOINT PAIN

Common in pilgrims: Walking long distances causes lower back pain, knee pain, foot pain, sprains

Management:

  • Diclo Gel or Diclo Spray locally TDS-QID
  • Tab. Diclomol 1 BD x 3-5 days (after food) - if pain is moderate-severe
  • Tab. Rantac 150mg BD x 3-5 days (gastric protection with NSAID)
  • Calcium 1g OD for elderly with bone pain
  • Roller Bandage for ankle sprains + RICE protocol (Rest, Ice, Compression, Elevation)
Red flags: Foot drop, incontinence, unilateral leg weakness + back pain = refer (disc prolapse).

DISEASE 5 - HYPERTENSION (Screening at camp)

Note: Very common in the elderly crowd. Camp is good for hypertension detection.

Management:

  • If BP 140-160/90-100 (Stage 1) - first-time detected: Lifestyle counseling + refer to local PHC for workup
  • If patient is already on antihypertensives and ran out: Give Amlodipine 5mg OD to continue
  • If BP > 180/110 (hypertensive urgency, no symptoms): Amlodipine 5mg stat + monitor + refer
  • If BP > 180/110 + symptoms (headache, chest pain, visual changes): EMERGENCY REFERRAL immediately
Never abruptly restart antihypertensives without knowing the patient's prior drug history.

DISEASE 6 - FUNGAL SKIN INFECTIONS (Tinea / Ringworm)

Common in pilgrims: Heat, sweat, shared clothes/footwear = fungal infections
Symptoms: Circular, scaly, itchy lesions with central clearing; affects groin (tinea cruris), body (tinea corporis), feet (tinea pedis)

Management:

  • Clotrimazole 1% ointment BD x 2-4 weeks
  • Advise: Keep area dry, wear loose cotton clothes, separate towels
  • Cetirizine 10mg OD if severe itching
  • Systemic antifungal (Fluconazole 150mg weekly x 4 weeks) if not available at camp - refer

DISEASE 7 - HEAT EXHAUSTION / HEAT STROKE

Critical in summer outdoor camp setting!
ConditionFeaturesAction
Heat crampsMuscle cramps, sweatingRest, ORS/Glucon-D, shade
Heat exhaustionDizziness, nausea, weakness, heavy sweating, normal temperatureMove to shade, ORS, cool with wet cloth, rest
Heat strokeTemperature > 40Β°C, confusion, no sweating, hot dry skinEMERGENCY - Cool immediately, IV Normal Saline, URGENT REFERRAL
First aid: Move to shade, remove excess clothing, apply wet cloths, oral Glucon-D if conscious, ORS.

DISEASE 8 - WOUNDS / LACERATIONS / ABRASIONS

Common at camp: Falls, footwear injuries, cuts from sharp objects

Management:

  • Gloves first (universal precautions)
  • Irrigate with Normal Saline or clean water
  • Clean with H2O2 (diluted 1:1) if wound is dirty/contaminated
  • Cover with Sterile Gauze Pad + Roller Bandage
  • Tab. Ciprofloxacin 500mg BD x 5-7 days if wound is contaminated/infected
  • Tab. Diclomol for pain
  • Tetanus history - ask if vaccinated; if not, refer for TT injection

DISEASE 9 - ALLERGIC REACTIONS / URTICARIA

Symptoms: Itchy rash/hives, sneezing, runny nose, watery eyes (from food, insect bites, pollen, dust)

Management:

  • Mild (urticaria only): Tab. Cetirizine 10mg OD x 5-7 days
  • Moderate (widespread hives + angioedema): Cetirizine + refer if not improving
  • Severe (anaphylaxis - throat tightening, breathing difficulty, BP drop): EMERGENCY - Epinephrine (if available) + urgent referral

DISEASE 10 - CONSTIPATION

Common in pilgrims: Change in diet, dehydration, immobility

Management:

  • Increase fluids, fruits, fiber first
  • If no response: Bisacodyl 5-10mg at bedtime x 2-3 days
  • Rule out obstruction/acute abdomen first!
  • Advise: 8-10 glasses of water, fresh fruits, vegetables

DISEASE 11 - EYE INFECTIONS (Conjunctivitis)

Symptoms: Red eye, discharge (watery/purulent), gritty sensation, no vision loss

Management:

  • Cipro Eye Drops 2 drops Q4H x 7 days (both eyes if bilateral)
  • Cetirizine 10mg OD if allergic conjunctivitis (itching predominant, watery discharge, no pus)
  • Clean discharge with clean wet cloth, from inner to outer
  • Advise hand hygiene - highly contagious in camp settings
Red flags: Vision loss, severe pain, corneal haziness, photophobia = REFER immediately.

DISEASE 12 - ABDOMINAL PAIN / COLIC

Symptoms: Cramp-like abdominal pain, bloating, gas

Management:

  • Tab. Cyclopam TDS x 3-5 days (antispasmodic for colic)
  • Tab. Gelusil after meals QID (if gastritis/acidity)
  • Tab. Rantac 150mg BD (if acid-related pain)
  • Tab. Metronidazole 400mg TDS x 5 days (if suspected amoebic/infective)
Red flags (REFER): Guarding/rigidity, rebound tenderness, severe constant pain (not colicky), no bowel movement for 3+ days, vomiting bile, suspected appendicitis.


QUICK PRESCRIBING REFERENCE CARD

Condition1st Line Drug(s)
Loose motions (watery, no blood)ORS + Loperamide + Emset
Loose motions (blood/mucus)ORS + Metronidazole
FeverParacetamol (all ages)
Fever + bodyache (adult)Diclomol after food
Acidity/heartburnGelusil (symptomatic) or Rantac 150mg BD
Allergic rash/running noseCetirizine 10mg OD night
Eye infectionCipro eye drops Q4H
Fungal skinClotrimazole ointment BD x 3 weeks
Cough (productive)Cough syrup (expectorant) TDS
Colicky abdominal painCyclopam TDS
Nausea/vomitingEmset 4mg BD-TDS
Joint/back painDiclo Gel local + Diclomol oral (adult)
UTI / Infected woundCiprofloxacin 500mg BD x 5-7 days
Hypertension (known patient)Amlodipine 5mg OD
ConstipationBisacodyl 5-10mg at bedtime
Nutritional deficiency/weaknessMultivitamin OD + B-Complex BD
Bone pain / elderly / pregnancyCalcium 1g BD
Heat exhaustionORS, Glucon-D, shade, cool down

EMERGENCY REFERRAL CRITERIA:
  • Altered consciousness / confusion
  • Chest pain
  • SpO2 < 92%, severe breathlessness
  • BP > 180/120 with symptoms
  • Temperature > 40Β°C (heat stroke)
  • Signs of peritonitis (rigid abdomen)
  • Anaphylaxis (throat swelling, BP drop)
  • Profuse bleeding
  • Suspected fracture with neurovascular compromise

Manual prepared for Wari Medical Camp - MIMER Medical College & Dr. BSTR Hospital, Talegaon Dabhade | 15 July 2026 For medical use by qualified healthcare professionals only.
---The complete manual is ready above. Here is a summary of what is included:
Drugs covered (all 20 from your indent list):
  1. Cyclopam - antispasmodic
  2. Metronidazole 400mg - antiprotozoal/anaerobic
  3. Gelusil - antacid
  4. Ciprofloxacin 500mg - broad-spectrum antibiotic
  5. Multivitamin - nutritional
  6. Emset 4mg (Ondansetron) - anti-emetic
  7. Diclomol - NSAID + paracetamol combo
  8. Paracetamol 500mg - analgesic/antipyretic
  9. Amlodipine 5mg - antihypertensive
  10. Rantac 150mg - H2 blocker
  11. Cetirizine 10mg - antihistamine
  12. Bisacodyl - laxative
  13. B-Complex - B vitamins
  14. Calcium - mineral supplement
  15. Cough Syrup - antitussive/expectorant
  16. Loperamide - anti-diarrheal
  17. Cipro Eye Drops - ophthalmic antibiotic
  18. Clotrimazole Ointment - antifungal
  19. Diclo Gel & Spray - topical NSAID
  20. Consumables reference (ORS, NS, H2O2, Glucon-D, bandages)
12 Common Camp Diseases covered with clear prescriptions: AGE/Diarrhea, Fever, URTI, Musculoskeletal Pain, Hypertension, Fungal Infections, Heat Exhaustion/Stroke, Wounds, Allergy/Urticaria, Constipation, Eye Infections, Abdominal Colic.
Quick Reference Card at the end for fast prescribing.
All the best for the Wari Medical Camp tomorrow!

Generate this manual as a portable PDF or Word document to print for the camp

Reading File
Reading File
I'll generate a well-formatted PDF using ReportLab - perfect for printing. Let me build it now.
Running Command

mkdir -p /tmp/workspace/wari-camp && ls /tmp/workspace/wari-camp/

Writing File

~/wari-camp/generate_manual.py

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,
    HRFlowable, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate

OUTPUT = "/tmp/workspace/wari-camp/Wari_Camp_Drug_Manual.pdf"

# ─── Colours ────────────────────────────────────────────────────────────────
DARK_BLUE  = colors.HexColor("#1a3c5e")
MED_BLUE   = colors.HexColor("#2563a8")
LIGHT_BLUE = colors.HexColor("#dbeafe")
TEAL       = colors.HexColor("#0e7490")
TEAL_LIGHT = colors.HexColor("#cffafe")
RED        = colors.HexColor("#b91c1c")
RED_LIGHT  = colors.HexColor("#fee2e2")
GREEN      = colors.HexColor("#15803d")
GREEN_LIGHT= colors.HexColor("#dcfce7")
ORANGE     = colors.HexColor("#c2410c")
ORANGE_LIGHT=colors.HexColor("#ffedd5")
YELLOW_LIGHT=colors.HexColor("#fef9c3")
GRAY_LIGHT = colors.HexColor("#f1f5f9")
GRAY_MID   = colors.HexColor("#94a3b8")
WHITE      = colors.white
BLACK      = colors.black

# ─── Page layout with header/footer ─────────────────────────────────────────
PAGE_W, PAGE_H = A4
MARGIN = 1.8*cm

def header_footer(canvas, doc):
    canvas.saveState()
    # Header bar
    canvas.setFillColor(DARK_BLUE)
    canvas.rect(0, PAGE_H - 1.1*cm, PAGE_W, 1.1*cm, fill=1, stroke=0)
    canvas.setFillColor(WHITE)
    canvas.setFont("Helvetica-Bold", 8)
    canvas.drawString(MARGIN, PAGE_H - 0.75*cm,
        "WARI MEDICAL CAMP  |  MIMER Medical College & Dr. BSTR Hospital")
    canvas.setFont("Helvetica", 8)
    canvas.drawRightString(PAGE_W - MARGIN, PAGE_H - 0.75*cm, "15 July 2026")
    # Footer
    canvas.setFillColor(DARK_BLUE)
    canvas.rect(0, 0, PAGE_W, 0.85*cm, fill=1, stroke=0)
    canvas.setFillColor(WHITE)
    canvas.setFont("Helvetica", 7)
    canvas.drawString(MARGIN, 0.28*cm,
        "For use by qualified healthcare professionals only  |  Not for public distribution")
    canvas.setFont("Helvetica-Bold", 8)
    canvas.drawRightString(PAGE_W - MARGIN, 0.28*cm, f"Page {doc.page}")
    canvas.restoreState()

doc = BaseDocTemplate(
    OUTPUT, pagesize=A4,
    leftMargin=MARGIN, rightMargin=MARGIN,
    topMargin=1.5*cm, bottomMargin=1.5*cm,
)
frame = Frame(MARGIN, 1.5*cm, PAGE_W - 2*MARGIN, PAGE_H - 3.0*cm, id="main")
doc.addPageTemplates([PageTemplate(id="main", frames=[frame], onPage=header_footer)])

# ─── Styles ──────────────────────────────────────────────────────────────────
SS = getSampleStyleSheet()

def sty(name, parent="Normal", **kw):
    s = ParagraphStyle(name, parent=SS[parent], **kw)
    return s

s_title    = sty("s_title",    "Normal",   fontSize=22, textColor=WHITE,
                  alignment=TA_CENTER, fontName="Helvetica-Bold", leading=28)
s_subtitle = sty("s_subtitle", "Normal",   fontSize=11, textColor=LIGHT_BLUE,
                  alignment=TA_CENTER, fontName="Helvetica", leading=16)
s_h1       = sty("s_h1",       "Normal",   fontSize=14, textColor=WHITE,
                  fontName="Helvetica-Bold", leading=18, spaceBefore=8, spaceAfter=4)
s_h2       = sty("s_h2",       "Normal",   fontSize=11, textColor=DARK_BLUE,
                  fontName="Helvetica-Bold", leading=15, spaceBefore=6, spaceAfter=3)
s_h3       = sty("s_h3",       "Normal",   fontSize=10, textColor=TEAL,
                  fontName="Helvetica-Bold", leading=13, spaceBefore=4, spaceAfter=2)
s_body     = sty("s_body",     "Normal",   fontSize=9,  textColor=BLACK,
                  fontName="Helvetica",      leading=13, spaceAfter=3)
s_bold     = sty("s_bold",     "Normal",   fontSize=9,  textColor=BLACK,
                  fontName="Helvetica-Bold", leading=13)
s_quick    = sty("s_quick",    "Normal",   fontSize=9,  textColor=TEAL,
                  fontName="Helvetica-BoldOblique", leading=13, spaceAfter=4)
s_warn     = sty("s_warn",     "Normal",   fontSize=9,  textColor=RED,
                  fontName="Helvetica-Bold", leading=13)
s_note     = sty("s_note",     "Normal",   fontSize=8.5,textColor=ORANGE,
                  fontName="Helvetica-BoldOblique", leading=12, spaceAfter=4)
s_toc      = sty("s_toc",      "Normal",   fontSize=9,  textColor=DARK_BLUE,
                  fontName="Helvetica", leading=14)
s_section_header = sty("s_section_header", "Normal", fontSize=10, textColor=WHITE,
                  fontName="Helvetica-Bold", alignment=TA_CENTER, leading=14)
s_disease  = sty("s_disease",  "Normal",   fontSize=11, textColor=DARK_BLUE,
                  fontName="Helvetica-Bold", leading=15, spaceBefore=5, spaceAfter=3)

# ─── Helper builders ─────────────────────────────────────────────────────────
def section_banner(text, bg=DARK_BLUE, fg=WHITE):
    """Full-width coloured banner."""
    return Table(
        [[Paragraph(text, s_section_header)]],
        colWidths=[PAGE_W - 2*MARGIN],
        style=TableStyle([
            ("BACKGROUND", (0,0), (-1,-1), bg),
            ("TOPPADDING",    (0,0), (-1,-1), 6),
            ("BOTTOMPADDING", (0,0), (-1,-1), 6),
            ("LEFTPADDING",   (0,0), (-1,-1), 10),
        ])
    )

def drug_table(rows):
    """2-col table for drug parameters."""
    data = []
    for k, v in rows:
        data.append([
            Paragraph(k, s_bold),
            Paragraph(v, s_body)
        ])
    col_w = PAGE_W - 2*MARGIN
    t = Table(data, colWidths=[3.5*cm, col_w - 3.5*cm])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (0,-1), LIGHT_BLUE),
        ("BACKGROUND",    (1,0), (1,-1), WHITE),
        ("ROWBACKGROUNDS",(0,0), (-1,-1), [GRAY_LIGHT, WHITE]),
        ("GRID",          (0,0), (-1,-1), 0.4, GRAY_MID),
        ("TOPPADDING",    (0,0), (-1,-1), 4),
        ("BOTTOMPADDING", (0,0), (-1,-1), 4),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
        ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ]))
    return t

def ci_box(items):
    """Red-bordered contraindication box."""
    text = "  β€’  ".join(items)
    return Table(
        [[Paragraph("<b>⚠ CONTRAINDICATIONS:</b>  " + text, s_warn)]],
        colWidths=[PAGE_W - 2*MARGIN],
        style=TableStyle([
            ("BACKGROUND",    (0,0), (-1,-1), RED_LIGHT),
            ("BOX",           (0,0), (-1,-1), 0.8, RED),
            ("TOPPADDING",    (0,0), (-1,-1), 5),
            ("BOTTOMPADDING", (0,0), (-1,-1), 5),
            ("LEFTPADDING",   (0,0), (-1,-1), 8),
        ])
    )

def highlight_box(text, bg=YELLOW_LIGHT, tc=BLACK):
    return Table(
        [[Paragraph("✦ " + text, sty("_hl", "Normal", fontSize=9,
                                     textColor=tc, fontName="Helvetica-Bold",
                                     leading=13))]],
        colWidths=[PAGE_W - 2*MARGIN],
        style=TableStyle([
            ("BACKGROUND",    (0,0), (-1,-1), bg),
            ("BOX",           (0,0), (-1,-1), 0.6, GRAY_MID),
            ("TOPPADDING",    (0,0), (-1,-1), 5),
            ("BOTTOMPADDING", (0,0), (-1,-1), 5),
            ("LEFTPADDING",   (0,0), (-1,-1), 8),
        ])
    )

def sp(h=4): return Spacer(1, h)
def hr(): return HRFlowable(width="100%", thickness=0.5, color=GRAY_MID, spaceAfter=4)

# ═══════════════════════════════════════════════════════════════════════════
# BUILD CONTENT
# ═══════════════════════════════════════════════════════════════════════════
story = []

# ── COVER ────────────────────────────────────────────────────────────────────
story.append(sp(30))
cover_tbl = Table(
    [[Paragraph("πŸ₯  WARI MEDICAL CAMP", s_title)],
     [Paragraph("Drug Reference Manual", s_subtitle)],
     [sp(6)],
     [Paragraph("MAER MIT Pune's  |  MIMER Medical College &amp; Dr. BSTR Hospital,<br/>Talegaon Dabhade", s_subtitle)],
     [Paragraph("Date: 15 July 2026", s_subtitle)],
    ],
    colWidths=[PAGE_W - 2*MARGIN],
    style=TableStyle([
        ("BACKGROUND",    (0,0), (-1,-1), DARK_BLUE),
        ("TOPPADDING",    (0,0), (-1,-1), 18),
        ("BOTTOMPADDING", (0,0), (-1,-1), 18),
        ("LEFTPADDING",   (0,0), (-1,-1), 20),
        ("ALIGN",         (0,0), (-1,-1), "CENTER"),
    ])
)
story.append(cover_tbl)
story.append(sp(20))

# Quick instruction box
story.append(Table(
    [[Paragraph(
        "<b>How to use this manual</b><br/>"
        "Each drug entry has: Indication Β· Dose Β· Route Β· Frequency Β· Duration Β· Contraindications Β· Key Highlight.<br/>"
        "Part 2 covers the 12 most common conditions seen at field medical camps with ready prescriptions.<br/>"
        "The Quick Reference Card (last page) is designed for fast prescribing at the table.",
        sty("_intro","Normal", fontSize=9, textColor=DARK_BLUE, fontName="Helvetica", leading=14)
    )]],
    colWidths=[PAGE_W - 2*MARGIN],
    style=TableStyle([
        ("BACKGROUND",    (0,0), (-1,-1), LIGHT_BLUE),
        ("BOX",           (0,0), (-1,-1), 1, MED_BLUE),
        ("TOPPADDING",    (0,0), (-1,-1), 8),
        ("BOTTOMPADDING", (0,0), (-1,-1), 8),
        ("LEFTPADDING",   (0,0), (-1,-1), 10),
    ])
))
story.append(PageBreak())

# ── PART 1 HEADER ────────────────────────────────────────────────────────────
story.append(section_banner("PART 1  |  DRUG PROFILES  (20 Drugs)"))
story.append(sp(10))

# ═════════════════════ DRUGS DATA ════════════════════════════════════════════
drugs = [
  {
    "num": 1, "name": "CYCLOPAM",
    "subtitle": "Dicyclomine 20mg + Paracetamol 500mg",
    "quick": "Antispasmodic β€” use for colicky abdominal pain, IBS, dysmenorrhea",
    "params": [
        ("Indication",  "Abdominal colic, IBS, dysmenorrhea, renal/biliary colic, GI spasm"),
        ("Dose",        "1 tablet (Dicyclomine 20mg + Paracetamol 500mg)"),
        ("Route",       "Oral"),
        ("Frequency",   "TDS β€” 3 times daily"),
        ("Duration",    "3–5 days or till pain resolves"),
    ],
    "ci":   ["Closed-angle glaucoma","Urinary retention / BPH","Myasthenia gravis",
             "Obstructive GI disease","Children < 6 months"],
    "hl":   "Do NOT use in suspected surgical abdomen (appendicitis, peritonitis). Stop and refer.",
  },
  {
    "num": 2, "name": "METRONIDAZOLE 400mg",
    "subtitle": "Antiprotozoal / Anaerobic Antibiotic",
    "quick": "Amoebic dysentery, Giardiasis, infected wounds, anaerobic infections",
    "params": [
        ("Indication",  "Amoebic dysentery, Giardiasis, anaerobic infections, infected wounds, dental infections, trichomonas"),
        ("Dose",        "400mg (adult)  |  7.5 mg/kg in children"),
        ("Route",       "Oral"),
        ("Frequency",   "TDS β€” 3 times daily"),
        ("Duration",    "5–7 days (dysentery)  |  7–10 days (severe infection)"),
    ],
    "ci":   ["First trimester pregnancy","Active epilepsy / CNS disease (caution)",
             "Hepatic encephalopathy (dose reduce)","Hypersensitivity to nitroimidazoles"],
    "hl":   "AVOID ALCOHOL during treatment and 48 hrs after β€” disulfiram-like reaction. Warn patient of metallic taste.",
  },
  {
    "num": 3, "name": "GELUSIL",
    "subtitle": "Aluminium Hydroxide + Magnesium Hydroxide + Simethicone",
    "quick": "Antacid β€” acidity, gastritis, heartburn, GERD, flatulence",
    "params": [
        ("Indication",  "Hyperacidity, gastritis, GERD, peptic ulcer symptoms, flatulence"),
        ("Dose",        "1–2 tablets (chewed) or 1–2 tsp syrup"),
        ("Route",       "Oral"),
        ("Frequency",   "After meals and at bedtime β€” QID"),
        ("Duration",    "5–7 days or as needed"),
    ],
    "ci":   ["Severe renal failure (Mg accumulation)","Hypophosphatemia","Bowel obstruction"],
    "hl":   "Take AFTER meals. Separate from other drugs by at least 2 hours β€” reduces their absorption.",
  },
  {
    "num": 4, "name": "CIPROFLOXACIN 500mg",
    "subtitle": "Fluoroquinolone Broad-Spectrum Antibiotic",
    "quick": "UTI, traveler's diarrhea, skin infections, typhoid, respiratory infections",
    "params": [
        ("Indication",  "UTI, traveler's diarrhea, typhoid, infected wounds, skin & soft tissue infections, respiratory infections"),
        ("Dose",        "500mg (adult)"),
        ("Route",       "Oral"),
        ("Frequency",   "BD β€” twice daily"),
        ("Duration",    "3–7 days (UTI)  |  7–14 days (other infections)"),
    ],
    "ci":   ["Children & adolescents < 18 yrs (cartilage damage)","Pregnancy & breastfeeding",
             "Myasthenia gravis","Epilepsy (lowers seizure threshold)","Known QT prolongation"],
    "hl":   "Avoid antacids within 2 hrs. Can cause tendon rupture β€” warn elderly. Causes photosensitivity β€” advise sun protection.",
  },
  {
    "num": 5, "name": "MULTIVITAMIN",
    "subtitle": "A, B-complex, C, D, E + Minerals",
    "quick": "Nutritional deficiency, weakness, convalescence β€” give to all malnourished patients",
    "params": [
        ("Indication",  "Nutritional deficiency, general weakness, malnutrition, convalescence, pregnancy supplementation"),
        ("Dose",        "1 tablet"),
        ("Route",       "Oral"),
        ("Frequency",   "OD β€” once daily"),
        ("Duration",    "30 days or as advised"),
    ],
    "ci":   ["Hypervitaminosis A or D","Hypercalcemia"],
    "hl":   "Best taken after meals. Give routinely to children, pregnant women, elderly, patients with anemia or weakness.",
  },
  {
    "num": 6, "name": "EMSET 4mg  (Ondansetron)",
    "subtitle": "5-HT3 Receptor Antagonist Anti-emetic",
    "quick": "Nausea & vomiting from any cause β€” gastroenteritis, drug-induced, heat illness",
    "params": [
        ("Indication",  "Nausea and vomiting β€” gastroenteritis, drug-induced, motion sickness, post-procedure"),
        ("Dose",        "4mg adult  |  0.1 mg/kg children"),
        ("Route",       "Oral (dissolve under tongue) β€” IV if available"),
        ("Frequency",   "BD–TDS (every 8 hrs in severe vomiting)"),
        ("Duration",    "1–3 days or till vomiting stops"),
    ],
    "ci":   ["Congenital long QT syndrome","Hypersensitivity to ondansetron",
             "Hepatic impairment (dose reduce)","Children < 2 years (limited data)"],
    "hl":   "Give BEFORE starting ORS in patients with vomiting to ensure ORS retention. Max 16mg/day.",
  },
  {
    "num": 7, "name": "DICLOMOL",
    "subtitle": "Diclofenac 50mg + Paracetamol 500mg",
    "quick": "NSAID + Antipyretic combination β€” fever with bodyache, joint pain, injury pain",
    "params": [
        ("Indication",  "Fever with body ache, musculoskeletal pain, joint pain, headache, dental pain, injury pain"),
        ("Dose",        "1 tablet"),
        ("Route",       "Oral β€” ALWAYS after food"),
        ("Frequency",   "BD–TDS"),
        ("Duration",    "3–5 days"),
    ],
    "ci":   ["Active peptic ulcer / GI bleed","Severe renal or hepatic disease",
             "Bleeding disorders","Asthma exacerbated by NSAIDs",
             "Pregnancy (3rd trimester)","Children < 14 years"],
    "hl":   "ALWAYS take after food β€” prevent GI ulceration. For fever in children use plain Paracetamol only, NOT Diclomol.",
  },
  {
    "num": 8, "name": "PARACETAMOL 500mg",
    "subtitle": "Analgesic / Antipyretic",
    "quick": "Safest fever & pain drug β€” use in all ages, pregnancy, when NSAIDs are contraindicated",
    "params": [
        ("Indication",  "Fever, headache, body ache, mild-moderate pain (especially when NSAIDs contraindicated)"),
        ("Dose",        "500mg–1g adult  |  10–15 mg/kg/dose children"),
        ("Route",       "Oral"),
        ("Frequency",   "Every 4–6 hours  (Max 4g/day adult  |  5 doses/day children)"),
        ("Duration",    "3–5 days or till fever resolves"),
    ],
    "ci":   ["Severe hepatic disease (dose reduce)","Alcoholism (hepatotoxicity risk)","Hypersensitivity"],
    "hl":   "Safest for fever in pregnancy and children. Do NOT exceed 4g/day. Warn: Diclomol already contains paracetamol β€” avoid double dosing.",
  },
  {
    "num": 9, "name": "AMLODIPINE 5mg  (Amlo 5mg)",
    "subtitle": "Calcium Channel Blocker (Dihydropyridine)",
    "quick": "Hypertension (most common camp use) and stable angina β€” once daily",
    "params": [
        ("Indication",  "Hypertension, stable angina"),
        ("Dose",        "5mg (can be increased to 10mg by physician)"),
        ("Route",       "Oral"),
        ("Frequency",   "OD β€” once daily"),
        ("Duration",    "Long-term / chronic β€” do not stop without medical advice"),
    ],
    "ci":   ["Severe hypotension (BP < 90/60)","Cardiogenic shock",
             "Severe aortic stenosis","Hypersensitivity to dihydropyridines"],
    "hl":   "Do NOT stop abruptly in angina β€” risk of rebound ischemia. Side effects: pedal edema, flushing, headache. Check for drug duplication in known hypertensives.",
  },
  {
    "num": 10, "name": "RANTAC 150mg  (Ranitidine equivalent)",
    "subtitle": "H2-Receptor Blocker β€” Acid Reducer",
    "quick": "Acidity, GERD, peptic ulcer, gastric protection with NSAIDs",
    "params": [
        ("Indication",  "Peptic ulcer disease, GERD, gastritis, drug-induced gastric irritation"),
        ("Dose",        "150mg"),
        ("Route",       "Oral"),
        ("Frequency",   "BD β€” morning and bedtime"),
        ("Duration",    "4–8 weeks (ulcer)  |  Ongoing for GERD"),
    ],
    "ci":   ["Hypersensitivity","Renal impairment (dose reduce)","Porphyria"],
    "hl":   "Take 30 minutes before meals for best effect. Routinely co-prescribe with NSAIDs (Diclomol, Ciprofloxacin) to protect gastric mucosa.",
  },
  {
    "num": 11, "name": "CETIRIZINE 10mg",
    "subtitle": "Second-Generation H1 Antihistamine",
    "quick": "Allergic rhinitis, urticaria, skin allergy, insect bites, allergic conjunctivitis",
    "params": [
        ("Indication",  "Allergic rhinitis, urticaria (hives), atopic dermatitis, allergic conjunctivitis, insect bites"),
        ("Dose",        "10mg adult  |  5mg children 2–6 years"),
        ("Route",       "Oral"),
        ("Frequency",   "OD β€” preferably at night"),
        ("Duration",    "5–7 days (acute allergy) or as needed"),
    ],
    "ci":   ["Severe renal failure (dose reduce)","Hypersensitivity to cetirizine/hydroxyzine",
             "Children < 2 years"],
    "hl":   "CAUSES DROWSINESS β€” warn patients, especially drivers/machine operators. Advise at bedtime. Minimal anticholinergic effects vs older antihistamines.",
  },
  {
    "num": 12, "name": "BISACODYL 5mg",
    "subtitle": "Stimulant Laxative",
    "quick": "Constipation β€” short-term use only, rule out obstruction first",
    "params": [
        ("Indication",  "Constipation, bowel evacuation before procedures"),
        ("Dose",        "5–10mg (1–2 tablets)"),
        ("Route",       "Oral"),
        ("Frequency",   "OD at bedtime"),
        ("Duration",    "2–3 days MAX"),
    ],
    "ci":   ["Acute abdomen / appendicitis β€” NEVER GIVE","Intestinal obstruction",
             "Acute IBD / colitis","Severe unexplained abdominal pain",
             "Children < 3 years","Pregnancy (1st trimester)"],
    "hl":   "CRITICAL: Rule out surgical/obstructive cause before prescribing. Takes 6–12 hrs to act. Do not crush enteric-coated tablets. Avoid prolonged use.",
  },
  {
    "num": 13, "name": "B-COMPLEX",
    "subtitle": "B1, B2, B3, B5, B6, B12 + Folic Acid",
    "quick": "Weakness, peripheral neuropathy, nutritional deficiency, supplement for diabetics & TB patients",
    "params": [
        ("Indication",  "B-vitamin deficiency, peripheral neuropathy, weakness, anemia, alcoholic neuropathy, pregnancy"),
        ("Dose",        "1–2 tablets"),
        ("Route",       "Oral"),
        ("Frequency",   "OD or BD"),
        ("Duration",    "30–90 days (deficiency states)"),
    ],
    "ci":   ["Hypersensitivity (rare)","Hypervitaminosis B"],
    "hl":   "Give to elderly, malnourished, diabetics, and patients on isoniazid (TB) to prevent neuropathy. Safe in pregnancy.",
  },
  {
    "num": 14, "name": "CALCIUM  (Calcium Carbonate 500mg–1g)",
    "subtitle": "Mineral Supplement",
    "quick": "Bone health, hypocalcemia, pregnancy & lactation, elderly patients, muscle cramps",
    "params": [
        ("Indication",  "Osteoporosis, calcium deficiency, pregnancy & lactation, growing children, post-menopausal women, muscle cramps"),
        ("Dose",        "500mg–1g (elemental calcium)"),
        ("Route",       "Oral"),
        ("Frequency",   "BD β€” split doses for better absorption"),
        ("Duration",    "30–90 days or long-term"),
    ],
    "ci":   ["Hypercalcemia","Renal stones (calcium oxalate β€” caution)","Severe renal failure",
             "Sarcoidosis / hyperparathyroidism"],
    "hl":   "Take with or after meals. Separate from iron supplements by 2 hrs. Combine with Vitamin D for optimal absorption.",
  },
  {
    "num": 15, "name": "COUGH SYRUP",
    "subtitle": "Expectorant (Bromhexine/Ambroxol) or Antitussive (Dextromethorphan)",
    "quick": "Productive cough = expectorant; Dry irritating cough = antitussive",
    "params": [
        ("Indication",  "Dry cough (antitussive) or productive cough (expectorant), URTI, bronchitis"),
        ("Dose",        "10ml (2 tsp) adult  |  5ml children 6–12 years"),
        ("Route",       "Oral"),
        ("Frequency",   "TDS β€” 3 times daily"),
        ("Duration",    "3–5 days"),
    ],
    "ci":   ["Dextromethorphan: avoid with MAO inhibitors","Codeine: avoid in children < 12, asthma",
             "Alcohol-containing: avoid in pregnancy, children, liver disease"],
    "hl":   "Do NOT suppress productive (mucus-producing) cough β€” give expectorant. Antitussive for dry, irritating cough only.",
  },
  {
    "num": 16, "name": "LOPERAMIDE 2mg  (Clonramide)",
    "subtitle": "Opioid Receptor Agonist β€” Anti-diarrheal",
    "quick": "Watery non-infective diarrhea only β€” NOT for bloody diarrhea or high fever",
    "params": [
        ("Indication",  "Non-infective acute watery diarrhea, traveler's diarrhea (no blood), IBS diarrhea"),
        ("Dose",        "4mg initially, then 2mg after each loose stool"),
        ("Route",       "Oral"),
        ("Frequency",   "After each loose stool (as needed)"),
        ("Duration",    "Max 2 days  |  Max 16mg/day"),
    ],
    "ci":   ["Bloody diarrhea / dysentery β€” NEVER GIVE (toxic megacolon risk)",
             "Children under 2 years β€” NEVER",
             "High fever with diarrhea","Acute ulcerative colitis / pseudomembranous colitis",
             "Suspected bowel obstruction"],
    "hl":   "RULE: Diarrhea + fever + blood = Metronidazole + ORS. Watery diarrhea, no fever, no blood = Loperamide + ORS. Always hydrate!",
  },
  {
    "num": 17, "name": "CIPRO EYE DROPS  (Ciprofloxacin 0.3%)",
    "subtitle": "Fluoroquinolone Ophthalmic Antibiotic",
    "quick": "Bacterial conjunctivitis (pink eye), post-trauma eye infection, corneal ulcer",
    "params": [
        ("Indication",  "Bacterial conjunctivitis, post-trauma eye infection, corneal ulcer"),
        ("Dose",        "1–2 drops per affected eye"),
        ("Route",       "Topical (ophthalmic)"),
        ("Frequency",   "Every 4 hours (Q4H) β€” 4–6 times daily"),
        ("Duration",    "5–7 days"),
    ],
    "ci":   ["Viral eye infections e.g. herpes keratitis β€” will worsen","Fungal eye infections",
             "Hypersensitivity to fluoroquinolones","Do not wear contact lenses during treatment"],
    "hl":   "Pull lower lid, instill in conjunctival sac, press inner corner 30 sec. Tip must NOT touch eye. RED EYE + VISION LOSS + SEVERE PAIN = REFER immediately.",
  },
  {
    "num": 18, "name": "CLOTRIMAZOLE OINTMENT 1%",
    "subtitle": "Imidazole Antifungal β€” Topical",
    "quick": "Ringworm (Tinea), Candida skin infections, Pityriasis versicolor",
    "params": [
        ("Indication",  "Tinea corporis (ringworm), Tinea cruris (groin), Tinea pedis (athlete's foot), Candidal skin infection, Pityriasis versicolor"),
        ("Dose",        "Thin layer over affected area + 1 cm beyond margin"),
        ("Route",       "Topical"),
        ("Frequency",   "BD β€” twice daily"),
        ("Duration",    "2–4 weeks (continue 1 week after lesion clears to prevent relapse)"),
    ],
    "ci":   ["Ophthalmic use β€” do not use near eyes","Hypersensitivity",
             "Nail infections alone β€” needs systemic treatment"],
    "hl":   "Common at camp: ring-shaped, itchy, scaly lesions in body folds. Advise: keep area clean and dry, use own towel, wear loose cotton clothes.",
  },
  {
    "num": 19, "name": "DICLO GEL 1%  (Diclofenac Gel)",
    "subtitle": "Topical NSAID β€” Localized Pain Relief",
    "quick": "Joint pain, sprains, strains, back pain, knee pain β€” use locally without GI risk",
    "params": [
        ("Indication",  "Localized musculoskeletal pain, joint pain, sprains, strains, back pain, mild osteoarthritis"),
        ("Dose",        "1–2g (small amount) per application"),
        ("Route",       "Topical"),
        ("Frequency",   "TDS–QID (3–4 times daily)"),
        ("Duration",    "5–7 days"),
    ],
    "ci":   ["Open wounds or broken skin","Eyes or mucous membranes",
             "Children < 6 years","NSAID sensitivity/allergy"],
    "hl":   "Wash hands after application. Do NOT cover with occlusive bandage. Useful for elderly where oral NSAIDs are risky.",
  },
  {
    "num": 20, "name": "DICLO SPRAY  (Diclofenac Spray)",
    "subtitle": "Topical NSAID β€” Spray Formulation",
    "quick": "Same as Diclo Gel β€” use for hard-to-reach areas (shoulder, back)",
    "params": [
        ("Indication",  "Musculoskeletal pain, sprains, strains β€” especially shoulders, back, hard-to-reach areas"),
        ("Dose",        "1–3 sprays on affected area"),
        ("Route",       "Topical"),
        ("Frequency",   "TDS–QID"),
        ("Duration",    "5–7 days"),
    ],
    "ci":   ["Open wounds","Eyes, mouth, nose","NSAID allergy"],
    "hl":   "Spray from 10–15 cm distance. Keep away from face. Let air dry before covering.",
  },
]

for drug in drugs:
    block = []
    # Drug heading
    num_style = sty("_num","Normal", fontSize=9, textColor=WHITE,
                    fontName="Helvetica-Bold", leading=13)
    name_style= sty("_nm", "Normal", fontSize=12, textColor=WHITE,
                    fontName="Helvetica-Bold", leading=16)
    sub_style = sty("_sb", "Normal", fontSize=9,  textColor=LIGHT_BLUE,
                    fontName="Helvetica",      leading=12)
    hdr = Table(
        [[Paragraph(f"Drug {drug['num']:02d}", num_style),
          Paragraph(drug['name'], name_style),
          Paragraph(drug['subtitle'], sub_style)]],
        colWidths=[1.6*cm, 6.5*cm, PAGE_W-2*MARGIN-8.1*cm],
        style=TableStyle([
            ("BACKGROUND",    (0,0), (-1,-1), DARK_BLUE),
            ("TOPPADDING",    (0,0), (-1,-1), 7),
            ("BOTTOMPADDING", (0,0), (-1,-1), 7),
            ("LEFTPADDING",   (0,0), (-1,-1), 8),
            ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
        ])
    )
    block.append(hdr)
    block.append(Table([[Paragraph("πŸ”‘ " + drug['quick'], s_quick)]],
        colWidths=[PAGE_W-2*MARGIN],
        style=TableStyle([
            ("BACKGROUND",(0,0),(-1,-1), TEAL_LIGHT),
            ("TOPPADDING",(0,0),(-1,-1), 5),
            ("BOTTOMPADDING",(0,0),(-1,-1), 5),
            ("LEFTPADDING",(0,0),(-1,-1), 8),
        ])))
    block.append(drug_table(drug['params']))
    block.append(ci_box(drug['ci']))
    block.append(highlight_box(drug['hl']))
    block.append(sp(8))
    story.append(KeepTogether(block))

story.append(PageBreak())

# ═══════════════════════════════════════════════════════════════════════════
# CONSUMABLES TABLE
# ═══════════════════════════════════════════════════════════════════════════
story.append(section_banner("CONSUMABLES & SUPPLIES QUICK REFERENCE"))
story.append(sp(8))

cons_data = [
    [Paragraph("Item", s_bold), Paragraph("Use", s_bold), Paragraph("Key Point", s_bold)],
    ["ORS", "Dehydration from diarrhea/vomiting/heat", "200–400 ml after each loose stool; dissolve 1 packet in 1 litre water"],
    ["Normal Saline (NS)", "IV fluids / wound irrigation", "For wound cleaning and IV replacement in severe dehydration"],
    ["Glucon-D", "Hypoglycemia, heat exhaustion, energy depletion", "Mix 2 tbsp in 200 ml water; for conscious patients only"],
    ["H2O2 3%", "Infected wound cleaning", "Dilute 1:1 with water; not for clean wounds β€” use NS instead"],
    ["Roller Bandage 4\"", "Upper limb wounds, dressing", "Wrap firmly but not too tight β€” check capillary refill"],
    ["Roller Bandage 6\"", "Lower limb wounds, splinting", "4\" for upper, 6\" for lower limb as rule of thumb"],
    ["Sterile Gauze Pad", "Wound coverage, dressing", "Change every 24–48 hrs; use NS to moisten if adherent"],
    ["Cotton Roll", "Padding under bandage, wound care", "Place between skin and bandage to prevent pressure sores"],
    ["Surgical Tape", "Securing dressings", "Do not apply over blisters or broken skin"],
    ["Gloves", "Universal precautions", "Wear for ALL wound procedures and examinations"],
    ["Diclo Spray", "Sprains, strains, topical pain", "Keep away from face; 10–15 cm spray distance"],
]
cons_table = Table(
    [[Paragraph(str(r[0]) if i==0 else r[0], s_bold if i==0 else s_body),
      Paragraph(str(r[1]), s_bold if i==0 else s_body),
      Paragraph(str(r[2]), s_bold if i==0 else s_body)]
     for i, r in enumerate(cons_data)],
    colWidths=[3.8*cm, 5.2*cm, PAGE_W-2*MARGIN-9*cm],
    style=TableStyle([
        ("BACKGROUND",    (0,0), (-1,0),  DARK_BLUE),
        ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
        ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, GRAY_LIGHT]),
        ("GRID",          (0,0), (-1,-1), 0.4, GRAY_MID),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
        ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ])
)
story.append(cons_table)
story.append(PageBreak())

# ═══════════════════════════════════════════════════════════════════════════
# PART 2 β€” COMMON DISEASES
# ═══════════════════════════════════════════════════════════════════════════
story.append(section_banner("PART 2  |  COMMON CAMP CONDITIONS  (12 Diseases)", bg=TEAL))
story.append(sp(10))

diseases = [
  {
    "num":1, "name":"ACUTE GASTROENTERITIS / DIARRHEA",
    "symptoms":"Loose watery stools, vomiting, cramps, mild fever",
    "rx":[
        ("Watery diarrhea, no fever, no blood", "ORS + Loperamide 4mg then 2mg/stool + Emset 4mg BD"),
        ("Diarrhea + fever (no blood)",         "ORS + Ciprofloxacin 500mg BD x 5 days"),
        ("Blood/mucus in stool (Dysentery)",     "ORS + Metronidazole 400mg TDS x 7 days"),
        ("Severe vomiting, can't take ORS",      "Emset 4mg ODT first β€” then ORS when vomiting eases"),
        ("Profuse watery / cholera-like",        "IV Normal Saline + URGENT REFERRAL"),
    ],
    "flag": "Referral: Profuse watery stool + severe dehydration, altered consciousness, BP < 90/60"
  },
  {
    "num":2, "name":"FEVER (Viral / Non-specific)",
    "symptoms":"Temperature > 38Β°C, body ache, headache, fatigue, sore throat",
    "rx":[
        ("Simple viral fever",                        "Paracetamol 500mg–1g TDS x 3 days"),
        ("Fever + body ache (adult)",                 "Diclomol 1 tab BD x 3 days AFTER FOOD + Rantac 150mg BD"),
        ("Fever in children",                         "Paracetamol syrup 10–15 mg/kg Q4–6H only β€” NOT Diclomol"),
        ("Fever + cough + sore throat",               "Paracetamol + Cough syrup TDS + Rantac 150mg BD"),
        ("Fever > 3 days / rigors / chills",          "Suspect Malaria β€” refer for RDT/blood smear"),
    ],
    "flag": "Referral: Petechiae, confusion, neck stiffness, continuous vomiting, SpO2 < 94%, BP drop"
  },
  {
    "num":3, "name":"UPPER RESPIRATORY TRACT INFECTION (URTI / Common Cold)",
    "symptoms":"Runny nose, sneezing, sore throat, mild cough, low-grade fever",
    "rx":[
        ("Standard URTI",   "Cetirizine 10mg OD night + Paracetamol 500mg TDS (if fever) + Cough syrup TDS"),
        ("Productive cough","Expectorant cough syrup TDS x 5 days"),
        ("Dry cough only",  "Antitussive cough syrup TDS x 5 days"),
        ("GI protection",   "Rantac 150mg BD if on multiple drugs"),
    ],
    "flag": "Advise: Warm fluids, steam inhalation, rest, hand hygiene. Refer if dyspnea or SpO2 < 94%"
  },
  {
    "num":4, "name":"MUSCULOSKELETAL PAIN / BACK PAIN / JOINT PAIN",
    "symptoms":"Pain in back, knees, feet, joints β€” especially after long walking (pilgrims)",
    "rx":[
        ("Mild localized pain",      "Diclo Gel or Diclo Spray TDS–QID"),
        ("Moderate–severe pain",     "Diclomol 1 tab BD after food + Rantac 150mg BD x 5 days"),
        ("Elderly with bone pain",   "Calcium 1g OD + B-Complex BD (nutritional support)"),
        ("Ankle sprain",             "RICE: Rest, Ice, Compression (roller bandage), Elevation"),
    ],
    "flag": "Referral: Foot drop, incontinence + back pain, unilateral leg weakness = suspect disc prolapse"
  },
  {
    "num":5, "name":"HYPERTENSION",
    "symptoms":"Headache, dizziness, raised BP β€” often detected on screening",
    "rx":[
        ("BP 140–160 / known patient ran out of meds", "Amlodipine 5mg OD β€” continue existing regimen"),
        ("BP 140–160 / first detected",                "Lifestyle counseling + refer to PHC for full workup"),
        ("BP > 180/110, no symptoms (urgency)",        "Amlodipine 5mg stat + monitor + refer"),
        ("BP > 180/110 + symptoms",                    "EMERGENCY REFERRAL immediately"),
    ],
    "flag": "Never restart antihypertensives without knowing prior drug history. Check for duplication."
  },
  {
    "num":6, "name":"FUNGAL SKIN INFECTIONS (Tinea / Ringworm)",
    "symptoms":"Ring-shaped, scaly, itchy lesion with central clearing β€” groin, body, feet",
    "rx":[
        ("Standard treatment",  "Clotrimazole 1% ointment BD x 2–4 weeks"),
        ("Severe itching",      "Cetirizine 10mg OD night x 5–7 days"),
        ("No oral antifungal",  "If no systemic drug available β€” refer for Fluconazole 150mg weekly x 4 weeks"),
    ],
    "flag": "Advise: Keep area dry, loose cotton clothes, separate towels. Highly contagious in camp."
  },
  {
    "num":7, "name":"HEAT EXHAUSTION / HEAT STROKE",
    "symptoms":"Muscle cramps, dizziness, weakness, nausea, heavy sweating, or absent sweating (heat stroke)",
    "rx":[
        ("Heat cramps",      "Rest, shade, ORS / Glucon-D, cool compresses"),
        ("Heat exhaustion",  "Move to shade, ORS, cool with wet cloth, rest"),
        ("Heat stroke (T > 40Β°C, confusion, no sweating)", "EMERGENCY: Cool immediately, IV NS, URGENT REFERRAL"),
    ],
    "flag": "Heat stroke = Medical Emergency. Do NOT delay referral. Remove excess clothing, fan vigorously."
  },
  {
    "num":8, "name":"WOUNDS / LACERATIONS / ABRASIONS",
    "symptoms":"Cuts, abrasions, lacerations β€” from falls, footwear injuries, sharp objects",
    "rx":[
        ("Clean/minor wound",        "Irrigate with NS, cover with sterile gauze + bandage"),
        ("Dirty/contaminated wound", "Irrigate NS β†’ clean with diluted H2O2 β†’ Ciprofloxacin 500mg BD x 5–7 days"),
        ("Pain management",          "Diclomol 1 tab BD after food + Rantac 150mg BD"),
        ("Tetanus",                  "Ask vaccination history β€” if unknown/unvaccinated, refer for TT injection"),
    ],
    "flag": "Referral: Deep wounds needing suturing, suspected tendon/nerve injury, arterial bleed."
  },
  {
    "num":9, "name":"ALLERGIC REACTIONS / URTICARIA",
    "symptoms":"Itchy rash/hives, sneezing, watery eyes, running nose β€” from food, insect bites, pollen",
    "rx":[
        ("Mild β€” urticaria only",         "Cetirizine 10mg OD x 5–7 days"),
        ("Moderate β€” widespread hives",   "Cetirizine 10mg BD + monitor"),
        ("Anaphylaxis (throat tightening, breathlessness, BP drop)", "EMERGENCY β€” Epinephrine (if available) + immediate referral"),
    ],
    "flag": "Any throat swelling or difficulty breathing = ANAPHYLAXIS = immediate emergency."
  },
  {
    "num":10, "name":"CONSTIPATION",
    "symptoms":"No bowel movement > 2 days, hard stools, straining β€” common with dietary change, dehydration",
    "rx":[
        ("First line",    "Increase fluids (8–10 glasses/day) + fresh fruits + vegetables"),
        ("Drug treatment","Bisacodyl 5–10mg at bedtime x 2–3 days"),
        ("Exclusion",     "RULE OUT obstruction/acute abdomen before prescribing ANY laxative"),
    ],
    "flag": "Do NOT give Bisacodyl if patient has abdominal pain, distension, or not passing flatus."
  },
  {
    "num":11, "name":"EYE INFECTIONS (Bacterial Conjunctivitis)",
    "symptoms":"Red eye, purulent discharge, gritty sensation β€” no vision loss, no severe pain",
    "rx":[
        ("Bacterial conjunctivitis",  "Cipro Eye Drops 2 drops Q4H x 7 days (both eyes if bilateral)"),
        ("Allergic conjunctivitis",   "Cetirizine 10mg OD + lubricant eye drops (if available)"),
        ("Clean discharge",           "Clean from inner to outer corner with clean wet cloth"),
    ],
    "flag": "RED EYE + VISION LOSS + SEVERE PAIN + PHOTOPHOBIA = REFER IMMEDIATELY β€” suspect corneal ulcer/uveitis."
  },
  {
    "num":12, "name":"ABDOMINAL PAIN / COLIC",
    "symptoms":"Cramp-like, colicky abdominal pain, bloating, gas, gurgling",
    "rx":[
        ("Spasmodic colic / IBS",     "Cyclopam 1 tab TDS x 3–5 days"),
        ("Gastritis / heartburn",     "Gelusil after meals QID + Rantac 150mg BD"),
        ("Suspected infective cause", "Metronidazole 400mg TDS x 5 days"),
    ],
    "flag": "REFERRAL: Guarding, rigidity, rebound tenderness, no bowel movement, vomiting bile, constant non-colicky pain = surgical emergency."
  },
]

for d in diseases:
    block = []
    hdr = Table(
        [[Paragraph(f"  {d['num']:02d}  ", sty("_dn","Normal",fontSize=11,
                    textColor=WHITE, fontName="Helvetica-Bold", leading=14)),
          Paragraph(d['name'], sty("_dns","Normal",fontSize=11,
                    textColor=WHITE, fontName="Helvetica-Bold", leading=14)),
          Paragraph(d['symptoms'], sty("_dss","Normal",fontSize=8.5,
                    textColor=TEAL_LIGHT, fontName="Helvetica-Oblique", leading=12))]],
        colWidths=[1.3*cm, 6.0*cm, PAGE_W-2*MARGIN-7.3*cm],
        style=TableStyle([
            ("BACKGROUND",    (0,0), (-1,-1), TEAL),
            ("TOPPADDING",    (0,0), (-1,-1), 7),
            ("BOTTOMPADDING", (0,0), (-1,-1), 7),
            ("LEFTPADDING",   (0,0), (-1,-1), 8),
            ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
        ])
    )
    block.append(hdr)
    # Rx table
    rx_rows = [[Paragraph("Scenario", s_bold), Paragraph("Treatment", s_bold)]]
    for sc, tx in d['rx']:
        rx_rows.append([Paragraph(sc, s_body), Paragraph(tx, s_body)])
    rx_t = Table(rx_rows,
        colWidths=[5.0*cm, PAGE_W-2*MARGIN-5.0*cm],
        style=TableStyle([
            ("BACKGROUND",    (0,0), (-1,0),  TEAL_LIGHT),
            ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, GRAY_LIGHT]),
            ("GRID",          (0,0), (-1,-1), 0.4, GRAY_MID),
            ("TOPPADDING",    (0,0), (-1,-1), 4),
            ("BOTTOMPADDING", (0,0), (-1,-1), 4),
            ("LEFTPADDING",   (0,0), (-1,-1), 6),
            ("VALIGN",        (0,0), (-1,-1), "TOP"),
        ]))
    block.append(rx_t)
    block.append(Table(
        [[Paragraph("βš‘  " + d['flag'],
                    sty("_flag","Normal",fontSize=8.5,textColor=RED,
                        fontName="Helvetica-Bold",leading=12))]],
        colWidths=[PAGE_W-2*MARGIN],
        style=TableStyle([
            ("BACKGROUND",(0,0),(-1,-1), RED_LIGHT),
            ("BOX",(0,0),(-1,-1),0.6, RED),
            ("TOPPADDING",(0,0),(-1,-1), 4),
            ("BOTTOMPADDING",(0,0),(-1,-1), 4),
            ("LEFTPADDING",(0,0),(-1,-1), 8),
        ])))
    block.append(sp(8))
    story.append(KeepTogether(block))

story.append(PageBreak())

# ═══════════════════════════════════════════════════════════════════════════
# QUICK REFERENCE CARD
# ═══════════════════════════════════════════════════════════════════════════
story.append(section_banner("QUICK PRESCRIBING REFERENCE CARD", bg=ORANGE))
story.append(sp(8))

qr_data = [
    [Paragraph("Condition", s_bold), Paragraph("First-Line Drug(s)", s_bold)],
    ["Watery loose motions (no blood)", "ORS + Loperamide 2–4mg + Emset 4mg"],
    ["Bloody/mucus diarrhea (dysentery)", "ORS + Metronidazole 400mg TDS x 7 days"],
    ["Fever (all ages)", "Paracetamol β€” 500mg–1g adult / 10–15 mg/kg child"],
    ["Fever + body ache (adult only)", "Diclomol 1 tab BD after food + Rantac 150mg BD"],
    ["Acidity / heartburn / gastritis", "Gelusil after meals OR Rantac 150mg BD"],
    ["Allergic rash / running nose", "Cetirizine 10mg OD at night"],
    ["Bacterial conjunctivitis (red eye)", "Cipro Eye Drops 2 drops Q4H x 7 days"],
    ["Fungal skin infection (ringworm)", "Clotrimazole 1% ointment BD x 3–4 weeks"],
    ["Productive cough", "Expectorant cough syrup 10ml TDS"],
    ["Dry irritating cough", "Antitussive cough syrup 10ml TDS"],
    ["Colicky abdominal pain", "Cyclopam 1 tab TDS x 3–5 days"],
    ["Nausea / vomiting", "Emset (Ondansetron) 4mg BD–TDS"],
    ["Localized joint/back pain", "Diclo Gel or Diclo Spray TDS + Diclomol if severe"],
    ["UTI / infected wound", "Ciprofloxacin 500mg BD x 5–7 days"],
    ["Hypertension (known patient)", "Amlodipine 5mg OD β€” continue"],
    ["Constipation", "Bisacodyl 5–10mg at bedtime (rule out obstruction first)"],
    ["Weakness / nutritional deficiency", "Multivitamin OD + B-Complex BD"],
    ["Bone pain / elderly / pregnancy", "Calcium 1g BD"],
    ["Heat exhaustion", "Shade + ORS + Glucon-D + cool compresses"],
    ["Heat stroke (T > 40Β°C, confusion)", "IV NS + EMERGENCY REFERRAL"],
]

col_w = PAGE_W - 2*MARGIN
qr_table = Table(
    [[Paragraph(str(r[0]), s_bold if i==0 else s_body),
      Paragraph(str(r[1]), s_bold if i==0 else s_body)]
     for i, r in enumerate(qr_data)],
    colWidths=[5.5*cm, col_w - 5.5*cm],
    style=TableStyle([
        ("BACKGROUND",    (0,0), (-1,0),  ORANGE),
        ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
        ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, ORANGE_LIGHT]),
        ("GRID",          (0,0), (-1,-1), 0.4, GRAY_MID),
        ("TOPPADDING",    (0,0), (-1,-1), 4),
        ("BOTTOMPADDING", (0,0), (-1,-1), 4),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
        ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ])
)
story.append(qr_table)
story.append(sp(14))

# Emergency box
story.append(section_banner("⚠  EMERGENCY REFERRAL CRITERIA", bg=RED))
story.append(sp(4))
emergency_items = [
    "Altered consciousness / confusion",
    "Chest pain or severe breathlessness",
    "SpO2 < 92% on air",
    "BP > 180/120 with symptoms",
    "Temperature > 40Β°C (heat stroke)",
    "Rigid abdomen β€” peritonitis / surgical emergency",
    "Throat swelling / stridor β€” anaphylaxis",
    "Profuse uncontrolled bleeding",
    "Vision loss with red eye",
    "Suspected fracture with neurovascular compromise",
]
em_text = "  β€’  ".join(emergency_items)
story.append(Table(
    [[Paragraph(em_text, sty("_em","Normal",fontSize=9,textColor=RED,
                              fontName="Helvetica-Bold",leading=14))]],
    colWidths=[PAGE_W-2*MARGIN],
    style=TableStyle([
        ("BACKGROUND",(0,0),(-1,-1), RED_LIGHT),
        ("BOX",(0,0),(-1,-1),1.2,RED),
        ("TOPPADDING",(0,0),(-1,-1), 8),
        ("BOTTOMPADDING",(0,0),(-1,-1), 8),
        ("LEFTPADDING",(0,0),(-1,-1), 10),
    ])
))

story.append(sp(14))
story.append(Table(
    [[Paragraph(
        "Manual prepared for Wari Medical Camp | MIMER Medical College &amp; Dr. BSTR Hospital, Talegaon Dabhade | 15 July 2026<br/>"
        "For use by qualified healthcare professionals only.",
        sty("_footer","Normal",fontSize=8,textColor=GRAY_MID,
            fontName="Helvetica-Oblique",alignment=TA_CENTER,leading=12)
    )]],
    colWidths=[PAGE_W-2*MARGIN],
    style=TableStyle([
        ("TOPPADDING",(0,0),(-1,-1),5),
    ])
))

# ─── Build ────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF generated: {OUTPUT}")
Running Command

cd /tmp/workspace/wari-camp && python generate_manual.py 2>&1

Running Command

ls -lh /tmp/workspace/wari-camp/Wari_Camp_Drug_Manual.pdf

Your print-ready PDF is ready. Download it here:

Wari Camp Drug Manual

PDF Document Β· PDF

What's inside the PDF (print-ready, A4):
  • Cover page with camp name, hospital, and date
  • Part 1 - 20 Drug Profiles, each with a colour-coded card:
    • Dark blue header (drug number + name)
    • Teal quick-summary strip (key point at a glance)
    • Parameter table (Indication / Dose / Route / Frequency / Duration)
    • Red contraindication box
    • Yellow highlight box for the most important clinical pearl
  • Consumables Reference Table
  • Part 2 - 12 Common Camp Diseases with scenario-based treatment tables and referral flags
  • Quick Prescribing Reference Card - the full condition-to-drug table on one page
  • Emergency Referral Criteria in a prominent red box
  • Header and page numbers on every page
Best of luck at the Wari Medical Camp tomorrow!
This is a shared conversation. Sign in to Orris to start your own chat.