1. azithromycin 2. ambroxol 3. amlodipine 4. amoxicillin + clavulanic acid 5. articaine 6. atorvastatin 7. acyclovir 8. bisacodyl 9. bromocriptine 10. verapamil In accordance with the current rules, fill out a prescription form for the medicinal product based on the model of its commercial packaging. 2. Name the pharmacological group to which the drug prescribed in the prescription belongs, as well as the main indications for its use. 3. Replace the drug prescribed in the prescription with another drug - an analogue in terms of the main pharmacological action (justify your choice). 4. List other (possible) forms of release of the prescribed drug and propose, taking into account its international nonproprietary name, an alternative drug - a synonym.
Russian prescription form RF-107 rules 2024 filling rules drug prescription blank
Date: 07.06.2026
Patient: Ivanov Ivan Ivanovich, age 32
Rp.: Azithromycini 0,5
D.t.d. N. 3 in tab.
S.: Take 1 tablet once daily, 1 hour before meals, for 3 days.
Physician: _____________ /signature/ Stamp
Date: 07.06.2026
Patient: Petrova Anna Sergeevna, age 28
Rp.: Ambroxoli 0,03
D.t.d. N. 20 in tab.
S.: Take 1 tablet 3 times daily after meals for 5 days, then 1 tablet twice daily.
Physician: _____________ /signature/ Stamp
Date: 07.06.2026
Patient: Sidorov Petr Nikolaevich, age 55
Rp.: Amlodipini 0,005
D.t.d. N. 30 in tab.
S.: Take 1 tablet once daily, at any time of day, regardless of meals.
Physician: _____________ /signature/ Stamp
Date: 07.06.2026
Patient: Kozlova Maria Ivanovna, age 40
Rp.: Amoxicillini 0,5 + Acidi clavulanici 0,125
D.t.d. N. 14 in tab.
S.: Take 1 tablet 3 times daily with meals for 5-7 days.
Physician: _____________ /signature/ Stamp
Date: 07.06.2026
Patient: Novikova Elena Aleksandrovna, age 35
Rp.: Sol. Articaini 4% - 1,7 ml
(cum Epinephrino 1:100 000)
D.t.d. N. 10 in cartulis.
S.: For infiltration or conduction dental anesthesia, 1.7 ml per injection site. Administer by dentist only.
Physician-dentist: _____________ /signature/ Stamp
Date: 07.06.2026
Patient: Morozov Alexei Viktorovich, age 58
Rp.: Atorvastatini 0,02
D.t.d. N. 30 in tab.
S.: Take 1 tablet once daily in the evening, regardless of meals.
Physician: _____________ /signature/ Stamp
Date: 07.06.2026
Patient: Volkova Natalia Dmitrievna, age 26
Rp.: Acycloviri 0,2
D.t.d. N. 20 in tab.
S.: Take 1 tablet 5 times daily (every 4 hours, omitting the night dose) for 5 days.
Physician: _____________ /signature/ Stamp
Date: 07.06.2026
Patient: Frolova Galina Petrovna, age 62
Rp.: Bisacodyli 0,005
D.t.d. N. 30 in tab. obductis (enterosolventibus)
S.: Take 1-2 tablets once daily at bedtime. Do not crush or chew. Do not take with milk or antacids.
Physician: _____________ /signature/ Stamp
Date: 07.06.2026
Patient: Nikitin Sergei Alexandrovich, age 63
Rp.: Bromocriptini 0,0025
D.t.d. N. 30 in tab.
S.: Take 1/2 tablet twice daily with meals for 1 week, then increase to 1 tablet (2.5 mg) 2-3 times daily as directed by physician.
Physician: _____________ /signature/ Stamp
Date: 07.06.2026
Patient: Zaitseva Olga Nikolaevna, age 67
Rp.: Verapamili hydrochloridi 0,08
D.t.d. N. 50 in tab.
S.: Take 1 tablet 3 times daily with meals. Do not crush extended-release tablets if prescribed in that form.
Physician: _____________ /signature/ Stamp
| # | Drug | Group | Key Indications | Analogue | Synonym (Trade Name) |
|---|---|---|---|---|---|
| 1 | Azithromycin | Macrolide antibiotic | Respiratory, STI, skin infections | Clarithromycin | Sumamed |
| 2 | Ambroxol | Mucolytic/secretomotor | Bronchitis, COPD, pneumonia adjunct | Acetylcysteine (ACC) | Lazolvan |
| 3 | Amlodipine | Dihydropyridine CCB | Hypertension, angina | Nifedipine | Norvasc |
| 4 | Amoxicillin + Clavulanate | Protected penicillin | Respiratory, UTI, skin, dental infections | Ampicillin + Sulbactam | Augmentin |
| 5 | Articaine | Amide local anesthetic | Dental/local infiltration anesthesia | Lidocaine | Ubistesine / Ultracain |
| 6 | Atorvastatin | HMG-CoA reductase inhibitor (statin) | Dyslipidemia, CV prevention | Rosuvastatin | Lipitor |
| 7 | Acyclovir | Nucleoside analogue antiviral | HSV, VZV infections | Valacyclovir | Zovirax |
| 8 | Bisacodyl | Stimulant laxative | Constipation, bowel prep | Sodium picosulfate | Dulcolax |
| 9 | Bromocriptine | Dopamine agonist (D2) | Hyperprolactinemia, Parkinson's | Cabergoline | Parlodel |
| 10 | Verapamil | Phenylalkylamine CCB / Class IV antiarrhythmic | SVT, AF rate control, angina, HTN | Diltiazem | Isoptin |
bismuth subcitrate 12. hydrochlorothiazide 13. glibenclamide 14. low molecular weight heparins 15. diazepam 16. diclofenac 17. doxycycline 18. iron supplements 19. short- and long-acting human insulin 20. ketorolac 21. clemastine 22. co-trimoxazole 23. levothyroxine sodium 24. levofloxacin 25. lincomycin 26. lisinopril 27. losartan 28. maprotiline 29. mebendazole 30. mercazolil 31. metoclopramide 32. metoprolol 33. metformin 34. nandrolone 35. nitroglycerin 36. oxymetazoline 37. omeprazole 38. oseltamivir 39. pancreatin 40. piracetam 41. prednisolone 42. salbutamol 43. theophylline 44. tramadol 45. fentanyl 46. fluconazole 47. fluticasone 48. cefotaxime 49. cyanocobalamin 50. ethinyl estradiol + desogestrel Same above for this drugs
Rp.: Bismuthi subcitras 0,12
D.t.d. N. 112 in tab.
S.: Take 1 tablet 4 times daily (30 min before each meal and at
bedtime), with water. Do not take with milk or antacids.
Course: 28 days.
Rp.: Hydrochlorothiazidi 0,025
D.t.d. N. 20 in tab.
S.: Take 1 tablet once daily in the morning after meals.
Rp.: Glibenclamidi 0,005
D.t.d. N. 30 in tab.
S.: Take 1 tablet (5 mg) once daily 30 minutes before breakfast.
Dose may be increased to 2 tablets (10 mg) as directed.
Rp.: Sol. Enoxaparini natrii 4000 anti-Xa IU (40 mg) - 0,4 ml
D.t.d. N. 10 in syringis praeparatis.
S.: Inject 0.4 ml subcutaneously once daily into the abdominal
wall. Rotate injection sites. Course: 10 days.
Special prescription form (Form 148-1/u-04)
Rp.: Diazepami 0,005
D.t.d. N. 20 in tab.
S.: Take 1 tablet (5 mg) 2-3 times daily.
Course: no more than 2-4 weeks without reassessment.
[Physician personal stamp, seal of institution required]
Rp.: Diclofenaci natrii 0,05
D.t.d. N. 20 in tab. enterosolventibus
S.: Take 1 tablet 2-3 times daily with meals.
Maximum daily dose: 150 mg. Course: up to 5-7 days for acute pain.
Rp.: Doxycyclini hydrochloridi 0,1
D.t.d. N. 10 in caps.
S.: Take 1 capsule twice daily with plenty of water, with or
after meals. Do not lie down for 30 minutes after taking.
Course: 5-7 days (respiratory infections) or as directed.
Rp.: Ferrosi sulfatis 0,32 (= Ferri 0,1)
D.t.d. N. 30 in tab. obductis (retard)
S.: Take 1 tablet twice daily 30-60 minutes before meals.
Swallow whole, do not crush. Avoid milk, tea, antacids
within 1-2 hours.
Rp.: Insulini humani solubilis 100 IU/ml - 10 ml
D.t.d. N. 5 in flac.
S.: Inject subcutaneously 15-30 minutes before meals as directed
by physician. Dose individualized. May also be given IV
(hospital use, diluted). Store at 2-8°C unopened;
opened vial at room temperature, use within 28 days.
Rp.: Insulini glargini 100 IU/ml - 3 ml
D.t.d. N. 5 in pen-syringis (SoloStar).
S.: Inject subcutaneously once daily at the same time each day.
Dose individualized by physician. Do not mix with other
insulins. Store at 2-8°C; in use pen at room temperature,
discard after 28 days.
Rp.: Ketorolaci trometamoli 0,01
D.t.d. N. 20 in tab.
S.: Take 1 tablet every 4-6 hours as needed for pain.
Maximum 40 mg/day orally. Maximum course: 5 days.
Take with food or milk to reduce GI irritation.
Rp.: Clemastini 0,001
D.t.d. N. 20 in tab.
S.: Take 1 tablet twice daily (morning and evening).
Avoid driving and operating machinery. Avoid alcohol.
Rp.: Co-trimoxazoli 0,48 (Sulfamethoxazoli 0,4 + Trimethoprim 0,08)
D.t.d. N. 20 in tab.
S.: Take 2 tablets twice daily (morning and evening) with meals
and plenty of fluids. Course: 5-7 days.
Rp.: Levothyroxini natrii 0,0001 (100 mcg)
D.t.d. N. 50 in tab.
S.: Take 1 tablet once daily, 30-60 minutes before breakfast,
with water only. Do not take with calcium, iron, antacids
within 4 hours.
Rp.: Levofloxacini 0,5
D.t.d. N. 10 in tab.
S.: Take 1 tablet once daily, with or without food.
Take with plenty of water. Avoid antacids, calcium,
iron within 2 hours. Course: 7-14 days (RTI) or
as directed. Avoid sun exposure.
Rp.: Lincomycini hydrochloridi 0,5
D.t.d. N. 20 in caps.
S.: Take 1 capsule 3-4 times daily, 1-2 hours before or
after meals. Course: 7-14 days.
Rp.: Lisinoprilum 0,01
D.t.d. N. 30 in tab.
S.: Take 1 tablet once daily at the same time each day,
regardless of meals. Starting dose may be 5 mg.
Rp.: Losartanum kalicum 0,05
D.t.d. N. 30 in tab.
S.: Take 1 tablet once daily, with or without food.
May increase to 100 mg once daily if needed.
Rp.: Maprotilini hydrochloridi 0,025
D.t.d. N. 30 in tab.
S.: Take 1 tablet 2-3 times daily with meals.
Dose adjusted gradually. Avoid abrupt discontinuation.
Maximum dose: 150 mg/day. Takes 2-4 weeks for effect.
Rp.: Mebendazoli 0,1
D.t.d. N. 6 in tab.
S.: For enterobiasis (pinworm): Take 1 tablet as a single dose.
Repeat after 2-3 weeks. Treat all family members
simultaneously.
For ascariasis, hookworm, whipworm: 1 tablet twice daily
for 3 consecutive days.
Rp.: Thiamazoli 0,005
D.t.d. N. 50 in tab.
S.: Take as directed by physician (initial dose typically
20-40 mg/day in 2-4 divided doses; maintenance 5-15 mg/day).
Regular blood count monitoring required.
Rp.: Metoclopramidi hydrochloridi 0,01
D.t.d. N. 50 in tab.
S.: Take 1 tablet 3 times daily, 30 minutes before meals.
Maximum daily dose: 30 mg. Maximum course: 5 days
(longer only under physician supervision).
Avoid in children under 1 year.
Rp.: Metoprololi succinatis 0,05
D.t.d. N. 30 in tab. retard (SR)
S.: Take 1 tablet once daily with or after a meal.
Swallow whole, do not crush. Do not stop abruptly
(taper over 1-2 weeks). Monitor heart rate.
Rp.: Metformini hydrochloridi 0,5
D.t.d. N. 60 in tab.
S.: Take 1 tablet 2-3 times daily with meals or immediately
after. Start with 500 mg once daily; increase gradually
over 2-4 weeks to reduce GI side effects.
Standard dose: 1000 mg twice daily.
Special prescription form (Form 148-1/u-04)
Rp.: Sol. Nandroloni decanoatis oleosae 5% - 1 ml
D.t.d. N. 4 in amp.
S.: Inject 50 mg intramuscularly once every 3 weeks.
[Physician stamp + institutional seal required]
Rp.: Nitroglycerini 0,0005
D.t.d. N. 40 in tab. sublingualibus
S.: Place 1 tablet under the tongue at the onset of angina
attack. May repeat after 5 minutes if no relief.
If no relief after 3 tablets (15 min), call emergency
services immediately (suspect MI).
Store in dark, tightly closed original container.
Rp.: Sol. Oxymetazolini hydrochloridi 0,1% - 10 ml
D.t.d. N. 1 in flac. cum nebulizatore.
S.: Adults and children >6 years: spray 2-3 times into
each nostril 2-3 times daily. Maximum use: 3-5 days.
Do not exceed recommended dose or duration.
Rp.: Omeprazoli 0,02
D.t.d. N. 28 in caps.
S.: Take 1 capsule once daily before breakfast.
Swallow whole. Course: 4 weeks (duodenal ulcer),
8 weeks (gastric ulcer, GERD). For H. pylori eradication:
combine with antibiotics as prescribed.
Rp.: Oseltamiviri phosphatis 0,075
D.t.d. N. 10 in caps.
S.: Take 1 capsule twice daily for 5 days.
Start as early as possible, ideally within 48 hours
of symptom onset. Take with food to reduce nausea.
Rp.: Pancreatinum 0,25 (25 000 IU lipasae)
D.t.d. N. 50 in caps. enterosolventibus.
S.: Take 1-2 capsules with each main meal and 1 capsule
with snacks. Swallow whole with water (do not crush
or chew). Take during or immediately after meals.
Rp.: Piracetami 0,4
D.t.d. N. 60 in caps.
S.: Take 2 capsules (800 mg) 3 times daily before meals.
Course: 4-8 weeks. May take 2.4-4.8 g/day as directed.
Rp.: Prednisoloni 0,005
D.t.d. N. 100 in tab.
S.: Take as directed by physician (dose individualized).
Example: 40 mg/day in morning = 8 tablets with breakfast.
Do not stop abruptly (taper gradually).
Take with food.
Rp.: Salbutamoli 0,0001 in dosi (100 mcg/dosi)
D.t.d. N. 1 inhalatio dosimeter (200 dosium)
S.: Inhale 1-2 puffs as needed for bronchospasm
(maximum 4 times daily at regular intervals, or up
to every 4-6 hours). Shake well before use.
For exercise-induced bronchospasm: 2 puffs 15-30
min before exercise.
Rp.: Theophyllini 0,3
D.t.d. N. 30 in tab. retard (SR)
S.: Take 1 tablet twice daily (every 12 hours).
Take with food at regular times. Do not crush.
Dose individualized by serum level monitoring
(target: 8-12 mcg/ml). Avoid caffeine.
Special prescription form (Form 148-1/u-04)
Rp.: Tramadoli hydrochloridi 0,05
D.t.d. N. 20 in caps.
S.: Take 1-2 capsules every 4-6 hours as needed for pain.
Maximum dose: 400 mg/day (8 capsules).
[Physician personal stamp + institutional seal required]
Narcotic prescription form (Form 107/u-NP)
Rp.: Fentanyli systematis transdermi 25 mcg/h
D.t.d. N. 5 (quinque) in systematis (patch)
S.: Apply 1 patch to intact, dry, non-irritated flat skin
(chest, back, upper arm). Replace every 72 hours.
Fold used patch inward and dispose safely.
NOT for opioid-naive patients.
[Two-layer seal, physician name, personal stamp, institutional
stamp, patient identity required]
Rp.: Fluconazoli 0,15
D.t.d. N. 1 in caps.
S.: Take 1 capsule as a single dose for vaginal candidiasis.
For oropharyngeal candidiasis: 50-100 mg once daily
for 7-14 days (require pack of 14).
Rp.: Fluticasoni propionatis 0,000125 in dosi (125 mcg/dosi)
D.t.d. N. 1 inhalatio dosimeter (60 dosium)
S.: Inhale 1-2 puffs twice daily. Rinse mouth and throat
with water after each use (prevent oral candidiasis).
Regular use only - not for acute attacks.
Use spacer device for best delivery.
Rp.: Cefotaximi 1,0 (pro injectione)
D.t.d. N. 5 in flac.
S.: Dissolve contents of 1 vial in 3-4 ml water for injection
(IM) or 10 ml (IV bolus) or dilute in 50-100 ml NaCl
0.9% for IV infusion.
Administer 1 g every 8-12 hours (IM or IV) as directed.
Course: 5-10 days.
Rp.: Sol. Cyanocobalamini 0,05% (500 mcg/ml) - 1 ml
D.t.d. N. 10 in amp.
S.: Inject 1 ml (500 mcg) intramuscularly once daily for
10 days (initial treatment of B12 deficiency/pernicious
anemia), then 1 ml once monthly for maintenance.
(For neurological involvement: higher initial frequency
as directed by physician.)
Rp.: Ethinylestradiolum 0,00002 + Desogestrelum 0,00015
D.t.d. N. 21 in tab. obductis
S.: Take 1 tablet daily at the same time each day for 21
consecutive days, starting on the 1st day of menstrual
cycle. Follow with a 7-day tablet-free interval, then
start new pack. Take in order as marked on blister.
| # | Drug | Group | Key Indications | Analogue | Synonym |
|---|---|---|---|---|---|
| 11 | Bismuth subcitrate | Gastroprotective / anti-H.pylori | PUD, H. pylori eradication | Bismuth subsalicylate | De-Nol |
| 12 | Hydrochlorothiazide | Thiazide diuretic | Hypertension, edema | Indapamide | Hypothiazide |
| 13 | Glibenclamide | Sulfonylurea | Type 2 DM | Gliclazide | Maninil |
| 14 | LMWHs (Enoxaparin) | Anticoagulant (LMWH) | VTE prophylaxis/treatment, ACS | Fondaparinux | Clexane |
| 15 | Diazepam | Benzodiazepine | Anxiety, seizures, alcohol withdrawal | Lorazepam | Valium / Seduxen |
| 16 | Diclofenac | NSAID (non-selective COX inhibitor) | Pain, arthritis, dysmenorrhea | Ibuprofen | Voltaren |
| 17 | Doxycycline | Tetracycline antibiotic | Respiratory, STI, Lyme, rickettsial | Minocycline | Unidox Solutab |
| 18 | Iron supplements | Antianemic - iron preparation | Iron deficiency anemia | Iron polymaltose (Maltofer) | Sorbifer Durules |
| 19 | Human insulin (short+long) | Pancreatic hormone / antidiabetic | DM1, DM2, DKA | Rapid/ultra-long analogues | Actrapid / Lantus |
| 20 | Ketorolac | NSAID - potent analgesic | Acute moderate-severe pain | Lornoxicam | Ketorol / Ketanov |
| 21 | Clemastine | First-gen H₁ antihistamine | Allergy, urticaria | Cetirizine | Tavegil |
| 22 | Co-trimoxazole | Sulfonamide + DHFR inhibitor | UTI, PCP, MRSA skin | Trimethoprim | Biseptol |
| 23 | Levothyroxine Na | Thyroid hormone (T4) | Hypothyroidism, goiter | Liothyronine (T3) | Eutirox |
| 24 | Levofloxacin | Fluoroquinolone | Pneumonia, UTI, prostatitis | Moxifloxacin | Tavanic |
| 25 | Lincomycin | Lincosamide antibiotic | Osteomyelitis, dental, Gram+ | Clindamycin | Lincocin |
| 26 | Lisinopril | ACE inhibitor | Hypertension, HFrEF, post-MI | Ramipril | Diroton |
| 27 | Losartan | ARB (sartан) | Hypertension, DN, HFrEF | Valsartan | Cozaar / Lozap |
| 28 | Maprotiline | Tetracyclic antidepressant | Depression, anxiety-depression | Amitriptyline | Ludiomil |
| 29 | Mebendazole | Anthelmintic (benzimidazole) | Enterobiasis, ascariasis | Albendazole | Vermox |
| 30 | Mercazolil (thiamazole) | Antithyroid (thionamide) | Hyperthyroidism, thyrotoxicosis | Propylthiouracil | Tyrozol |
| 31 | Metoclopramide | Prokinetic / antiemetic (D₂ blocker) | Nausea, gastroparesis | Domperidone | Cerucal |
| 32 | Metoprolol | Cardioselective beta-blocker | HTN, angina, HFrEF, arrhythmia | Bisoprolol | Betaloc ZOK |
| 33 | Metformin | Biguanide antidiabetic | Type 2 DM, PCOS | Empagliflozin | Glucophage / Siofor |
| 34 | Nandrolone | Anabolic steroid | Anemia, cachexia, wasting | Testosterone enanthate | Retabolil |
| 35 | Nitroglycerin | Organic nitrate / vasodilator | Acute angina, ACS, HF | Isosorbide mononitrate | Nitromint |
| 36 | Oxymetazoline | Alpha-2 agonist / nasal decongestant | Nasal congestion, rhinitis | Xylometazoline | Nazivin |
| 37 | Omeprazole | Proton pump inhibitor | GERD, PUD, H. pylori | Pantoprazole | Losec / Omez |
| 38 | Oseltamivir | Neuraminidase inhibitor / antiviral | Influenza A/B | Zanamivir | Tamiflu |
| 39 | Pancreatin | Digestive enzyme preparation | Pancreatic exocrine insufficiency | Mezim forte | Creon |
| 40 | Piracetam | Nootropic | Cognitive impairment, myoclonus | Citicoline | Nootropil |
| 41 | Prednisolone | Glucocorticoid | Asthma, IBD, rheumatic, allergy | Dexamethasone | Decortin |
| 42 | Salbutamol | SABA (beta-2 agonist) | Acute bronchospasm, asthma | Fenoterol | Ventolin |
| 43 | Theophylline | Methylxanthine bronchodilator | Asthma, COPD (add-on) | Aminophylline (IV) | Theo-Dur / Eufillin |
| 44 | Tramadol | Opioid analgesic (weak mu-agonist + SNRI) | Moderate-severe pain | Tapentadol | Tramal |
| 45 | Fentanyl | Potent opioid analgesic | Severe cancer pain, anesthesia | Buprenorphine | Durogesic |
| 46 | Fluconazole | Triazole antifungal | Candidiasis, cryptococcosis | Itraconazole | Diflucan |
| 47 | Fluticasone | Inhaled corticosteroid (ICS) | Asthma, COPD, allergic rhinitis | Budesonide | Flixotide |
| 48 | Cefotaxime | 3rd-gen cephalosporin | Meningitis, sepsis, pneumonia | Ceftriaxone | Claforan |
| 49 | Cyanocobalamin | Vitamin B12 | B12 deficiency, megaloblastic anemia | Hydroxocobalamin | Cyanocobalamin-Nycomed |
| 50 | EE + Desogestrel | Combined oral contraceptive | Contraception, PCOS, dysmenorrhea | EE + Levonorgestrel | Mercilon / Regulon |
Create a comparison table of all 50 drugs by therapeutic category
ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace not found"
mkdir -p /home/daytona/workspace/pharma-table && python3 -c "import openpyxl; print('openpyxl ok')"
~/pharma-table/build_table.py
import openpyxl
from openpyxl.styles import (
Font, PatternFill, Alignment, Border, Side, GradientFill
)
from openpyxl.utils import get_column_letter
from openpyxl.worksheet.filters import AutoFilter
# ── DATA ─────────────────────────────────────────────────────────────────────
# Columns:
# 0 #
# 1 INN (Drug Name)
# 2 Trade Name / Synonym
# 3 Therapeutic Category
# 4 Pharmacological Group
# 5 Mechanism of Action
# 6 Main Indications
# 7 Key Dosage Forms
# 8 Typical Dose (Adult)
# 9 Prescription Type (RU)
# 10 Analogue (pharmacological)
# 11 Notes / Warnings
DRUGS = [
# ── ANTIBIOTICS ──────────────────────────────────────────────────────────
(1, "Azithromycin",
"Sumamed, Zitrolid, Hemomycin",
"Antibiotics",
"Macrolide (azalide, 15-membered)",
"Reversible binding to 50S ribosomal subunit → inhibits translocation",
"Community-acquired pneumonia; atypical pathogens (Mycoplasma, Chlamydophila, Legionella); pharyngitis/tonsillitis; skin & soft tissue; chlamydia/gonorrhea; MAC prophylaxis (HIV)",
"Tabs 250/500 mg; caps; susp 100–200 mg/5 ml; IV 500 mg/vial; eye drops 1%",
"500 mg once daily × 3 days (resp); 1 g single dose (chlamydia)",
"Form 107-1/u",
"Clarithromycin (Klacid) – macrolide; broader H. pylori / sinus coverage",
"Do not combine with QT-prolonging drugs; take 1 h before meals"),
(2, "Ambroxol",
"Lazolvan, Ambrobene, Flavamed",
"Respiratory – Mucolytics",
"Mucolytic / secretomotor agent",
"Stimulates Clara cells → surfactant production; enhances ciliary clearance; reduces mucus viscosity",
"Acute & chronic bronchitis; COPD; pneumonia (adjunct); RDS in neonates (surfactant stimulation)",
"Tabs 30 mg; syrup 15/30 mg/5 ml; sol for inh/oral 7.5 mg/ml; inj 15 mg/2 ml; ER caps 75 mg",
"30 mg 3×/day (first 3 days), then 30 mg 2×/day",
"Form 107-1/u (OTC in many countries)",
"Acetylcysteine (ACC) – direct mucolytic; breaks disulfide bonds in mucin",
"Start action within 30 min; not for dry, unproductive cough"),
(4, "Amoxicillin + Clavulanic acid",
"Augmentin, Amoxiclav, Flemoclav",
"Antibiotics",
"Protected aminopenicillin (beta-lactam + beta-lactamase inhibitor)",
"Amoxicillin inhibits transpeptidase (PBP); clavulanate irreversibly inhibits beta-lactamases",
"Pneumonia; sinusitis; otitis media; UTI; skin/bite wounds; dental; intra-abdominal infections",
"Tabs 250/125 mg, 500/125 mg, 875/125 mg; susp 125–400 mg/5 ml; IV 500/100 mg, 1000/200 mg",
"875/125 mg twice daily (or 500/125 mg × 3/day) × 5–7 days",
"Form 107-1/u",
"Ampicillin + Sulbactam (Unasyn) – same class, adds Acinetobacter coverage",
"Take with food to reduce GI upset; risk of cholestatic jaundice with clavulanate"),
(17, "Doxycycline",
"Unidox Solutab, Vibramycin, Doxylin",
"Antibiotics",
"Tetracycline (2nd gen, semi-synthetic)",
"Binds 30S ribosomal subunit → blocks aminoacyl-tRNA attachment → inhibits protein synthesis",
"CAP (atypicals); STIs (chlamydia, syphilis alt.); Lyme disease; rickettsial infections; brucellosis; malaria prophylaxis; acne; cholera",
"Caps/tabs 50 mg, 100 mg; IV 100 mg/vial; topical gel 8.5% (dental)",
"100 mg twice daily (loading 200 mg on day 1)",
"Form 107-1/u",
"Minocycline (Minocin) – better tissue penetration; anti-inflammatory; vestibular SE risk",
"Avoid dairy, antacids, Fe within 2 h; photosensitivity; avoid in pregnancy/children <8 yr"),
(24, "Levofloxacin",
"Tavanic, Floracid, Levolet",
"Antibiotics",
"Fluoroquinolone (3rd gen / respiratory)",
"Inhibits DNA gyrase (topo II) and topoisomerase IV → prevents DNA replication/repair",
"CAP; HCAP; acute sinusitis; complicated UTI; pyelonephritis; prostatitis; MDR-TB (2nd line); anthrax prophylaxis",
"Tabs 250/500/750 mg; IV infusion 5 mg/ml (100 ml); eye drops 0.5%",
"500 mg once daily (resp/UTI); 750 mg once daily (pneumonia, severe)",
"Form 107-1/u",
"Moxifloxacin (Avelox) – better Gram+/anaerobic coverage; no UTI indication",
"QT prolongation risk; avoid antacids within 2 h; photosensitivity; tendon rupture risk"),
(25, "Lincomycin",
"Lincocin, Lincomycin-AKOS",
"Antibiotics",
"Lincosamide antibiotic",
"Binds 50S ribosomal subunit (different site from macrolides) → inhibits peptidyl transferase",
"Osteomyelitis; septic arthritis; dental/jaw infections; severe Gram+ infections; penicillin-allergic patients",
"Caps 250/500 mg; inj 300 mg/ml (1 ml, 2 ml amp)",
"500 mg 3–4×/day (oral); 600 mg IM/IV 2–3×/day",
"Form 107-1/u",
"Clindamycin (Dalacin C) – superior bioavailability (~90%); broader anaerobic spectrum",
"C. difficile colitis risk; poor oral bioavailability (~30%); take 1–2 h from food"),
(22, "Co-trimoxazole",
"Biseptol, Bactrim, Septrin",
"Antibiotics",
"Sulfonamide + dihydrofolate reductase inhibitor (5:1 sulfamethoxazole:trimethoprim)",
"Sequential blockade of folate synthesis: sulfonamide inhibits dihydropteroate synthase; trimethoprim inhibits DHFR",
"UTI; PCP treatment & prophylaxis; Nocardiosis; Stenotrophomonas; community-MRSA; traveler's diarrhea",
"Tabs 120/240/480/960 mg; susp 240 mg/5 ml; IV concentrate (dilute before use)",
"960 mg (2×480 mg) twice daily × 5–14 days; PCP: 15–20 mg/kg/day TMP component",
"Form 107-1/u",
"Trimethoprim alone – equivalent for UTI; fewer adverse effects (no sulfonamide)",
"Stevens-Johnson syndrome risk; folate supplementation in pregnancy; monitor CBC"),
(48, "Cefotaxime",
"Claforan, Cefabol, Oritaxim",
"Antibiotics",
"3rd-generation cephalosporin (beta-lactam)",
"Inhibits transpeptidase (PBPs 1A, 1B, 3) → prevents peptidoglycan cross-linking → cell wall lysis; beta-lactamase stable",
"Bacterial meningitis; septicemia; pneumonia; complicated UTI; intra-abdominal; GI/orthopedic prophylaxis",
"Powder for IM/IV inj 0.5 g, 1 g, 2 g vials (no oral form)",
"1–2 g IV/IM every 8–12 h; meningitis: 2 g IV every 4–6 h",
"Form 107-1/u (hospital Rx)",
"Ceftriaxone (Rocephin) – once-daily dosing (long t½ ~8 h); same spectrum",
"Parenteral only; do not mix with aminoglycosides in same syringe"),
# ── ANTIVIRALS ───────────────────────────────────────────────────────────
(7, "Acyclovir",
"Zovirax, Aciclovir-AKOS, Viroleks",
"Antivirals",
"Nucleoside analogue (guanosine analogue)",
"Phosphorylated by viral thymidine kinase → acyclovir triphosphate inhibits viral DNA polymerase; chain terminator",
"HSV-1/2 (orolabial, genital, encephalitis); herpes zoster (VZV); varicella in immunocompromised; CMV/HSV prophylaxis",
"Tabs 200/400/800 mg; IV 250/500 mg/vial; cream 5%; ophthalmic oint 3%",
"200 mg 5×/day × 5 days (HSV); 800 mg 5×/day × 7 days (zoster); IV 5–10 mg/kg q8h (encephalitis)",
"Form 107-1/u",
"Valacyclovir (Valtrex) – prodrug; 3–5× higher bioavailability; less frequent dosing",
"Oral bioavailability only 15–30%; adequate hydration with IV form to prevent crystalluria"),
(38, "Oseltamivir",
"Tamiflu, Nomides, Influnet",
"Antivirals",
"Neuraminidase inhibitor",
"Competitively inhibits influenza A & B neuraminidase → prevents viral release from infected cells",
"Treatment of influenza A/B (within 48 h); post-exposure prophylaxis; high-risk patients; H5N1/H1N1",
"Caps 30/45/75 mg; oral susp 6 mg/ml",
"75 mg twice daily × 5 days (treatment); 75 mg once daily × 10 days (prophylaxis)",
"Form 107-1/u",
"Zanamivir (Relenza) – inhaled; active against some oseltamivir-resistant strains",
"Start within 48 h of symptoms for maximum benefit; take with food to reduce nausea"),
(46, "Fluconazole",
"Diflucan, Flucostat, Mikosist",
"Antivirals", # reclassified below in the category column
"Triazole antifungal",
"Inhibits fungal CYP51 (14α-demethylase) → blocks ergosterol synthesis → disrupts cell membrane",
"Vulvovaginal candidiasis (single dose); oropharyngeal/esophageal candidiasis; cryptococcal meningitis; systemic candidiasis; onychomycosis",
"Caps 50/100/150/200 mg; IV infusion 2 mg/ml (50/100 ml); oral susp 10/40 mg/ml",
"150 mg single dose (vaginal); 50–200 mg once daily (systemic); 400–800 mg (cryptococcosis)",
"Form 107-1/u",
"Itraconazole (Orungal) – broader: adds Aspergillus, dermatophytes",
"Potent CYP2C9/CYP3A4 inhibitor – multiple drug interactions; QT risk at high doses"),
# ── ANTIFUNGALS (reclassify fluconazole) ─ already listed above ──────────
# ── ANTIPARASITICS ───────────────────────────────────────────────────────
(29, "Mebendazole",
"Vermox, Vormin, Mebex",
"Antiparasitics",
"Anthelmintic – benzimidazole",
"Inhibits tubulin polymerization in helminths → impairs glucose uptake → worm autolysis",
"Enterobiasis (pinworm); ascariasis; trichuriasis; hookworm; trichinellosis (high dose); hydatid (adjunct)",
"Tabs 100 mg; susp 100 mg/5 ml",
"Pinworm: 100 mg single dose (repeat at 2–3 weeks); Ascaris/hookworm: 100 mg twice daily × 3 days",
"Form 107-1/u (OTC in many countries)",
"Albendazole (Zentel) – better systemic absorption; active against tissue-invasive helminths",
"Poorly absorbed (~1–5%); chew or crush tablet; treat all household contacts"),
# ── ANTITHYROID / THYROID ─────────────────────────────────────────────────
(30, "Mercazolil (Thiamazole)",
"Tyrozol, Tapazole, Favistan",
"Endocrinology – Antithyroid",
"Thionamide antithyroid agent",
"Inhibits thyroid peroxidase → blocks iodide oxidation and iodotyrosine coupling → reduces T3/T4 synthesis",
"Hyperthyroidism (Graves, toxic goiter, toxic adenoma); preoperative preparation; thyroid storm (high dose)",
"Tabs 5 mg, 10 mg",
"Initial: 20–40 mg/day in divided doses; maintenance: 5–15 mg/day",
"Form 107-1/u",
"Propylthiouracil (PTU) – preferred in 1st trimester pregnancy; also blocks T4→T3 conversion",
"Agranulocytosis risk – monitor CBC; avoid in 2nd/3rd trimester (use PTU in 1st)"),
(23, "Levothyroxine sodium",
"Eutirox, L-Thyroxin Berlin-Chemie, Synthroid",
"Endocrinology – Thyroid hormones",
"Synthetic thyroid hormone (T4)",
"Binds nuclear thyroid hormone receptors → regulates transcription; converted peripherally to active T3",
"Hypothyroidism (all causes); post-thyroidectomy replacement; TSH suppression (thyroid cancer); euthyroid goiter; myxedema coma (IV)",
"Tabs 25–200 mcg (many strengths); IV 100 mcg/ml (myxedema coma); combination T4+T3 (Thyreotom)",
"Starting: 12.5–50 mcg/day; titrate to TSH; maintenance typically 75–150 mcg/day",
"Form 107-1/u",
"Liothyronine (T3, Cytomel) – faster onset; used in myxedema coma / staging washout",
"Take 30–60 min before breakfast; avoid Ca2+, Fe, antacids within 4 h; narrow therapeutic range"),
# ── CARDIOVASCULAR ───────────────────────────────────────────────────────
(3, "Amlodipine",
"Norvasc, Amlovas, Tenox",
"Cardiovascular – Calcium Channel Blockers",
"Dihydropyridine calcium channel blocker (CCB)",
"Blocks L-type Ca²⁺ channels in vascular smooth muscle → vasodilation (peripheral > cardiac)",
"Arterial hypertension; stable angina; vasospastic (Prinzmetal) angina; chronic CAD",
"Tabs 2.5/5/10 mg; combination tabs (+ atorvastatin, valsartan, perindopril, bisoprolol)",
"5 mg once daily; may increase to 10 mg after 4 weeks",
"Form 107-1/u",
"Nifedipine (Corinfar) – shorter-acting DHP CCB; more reflex tachycardia",
"Peripheral edema (ankle); long t½ ~35–50 h; NO negative inotropic effect (unlike verapamil)"),
(10, "Verapamil",
"Isoptin, Finoptin, Verahexal",
"Cardiovascular – Calcium Channel Blockers",
"Phenylalkylamine CCB / Class IV antiarrhythmic",
"Blocks L-type Ca²⁺ channels in SA/AV node and cardiac muscle → negative chronotropy/dromotropy/inotropy",
"SVT (AVNRT termination); AF/flutter rate control; stable angina; vasospastic angina; arterial hypertension; HOCM; migraine prophylaxis",
"Tabs 40/80/120 mg (IR); SR/ER tabs 120–360 mg (once daily); IV inj 2.5 mg/ml (2 ml amp)",
"80–120 mg 3×/day (IR); 240 mg once daily (SR)",
"Form 107-1/u",
"Diltiazem (Cardizem) – benzothiazepine CCB; Class IV; less negative inotropy",
"Contraindicated in HFrEF; NEVER combine with beta-blockers (complete AV block risk)"),
(26, "Lisinopril",
"Diroton, Prinivil, Zestril",
"Cardiovascular – ACE Inhibitors",
"ACE inhibitor (directly active, not prodrug)",
"Inhibits angiotensin-converting enzyme → blocks Ang I→Ang II; reduces aldosterone; increases bradykinin (vasodilation + dry cough)",
"Arterial hypertension; HFrEF (mortality reduction); post-MI; diabetic nephropathy; non-diabetic CKD with proteinuria",
"Tabs 2.5/5/10/20/40 mg; combination with HCT (Iruzid); with amlodipine (Ekvator)",
"Starting: 5–10 mg once daily; target: 20–40 mg once daily",
"Form 107-1/u",
"Ramipril (Tritace) – ACE inhibitor; strongest CV risk reduction evidence (HOPE trial)",
"Dry cough (10–15%, due to bradykinin); contraindicated in pregnancy; risk of hyperkalemia"),
(27, "Losartan",
"Cozaar, Lozap, Lorista",
"Cardiovascular – ARBs (Sartans)",
"Angiotensin II receptor blocker (AT₁ selective)",
"Competitively blocks AT₁ receptor → prevents Ang II-mediated vasoconstriction and aldosterone release; uricosuric effect (unique among ARBs)",
"Arterial hypertension; HFrEF (ACE-inhibitor-intolerant); diabetic nephropathy (T2DM); stroke prevention in LV hypertrophy (LIFE trial)",
"Tabs 25/50/100 mg; combination with HCT (Gizaar/Lozap Plus)",
"50 mg once daily; may increase to 100 mg once daily",
"Form 107-1/u",
"Valsartan (Diovan) – ARB; strong HFrEF and post-MI evidence (Val-HeFT, VALIANT)",
"No cough (unlike ACE-I); contraindicated in pregnancy; do not combine with ACE-I + MRA (triple RAAS block)"),
(32, "Metoprolol",
"Betaloc ZOK, Egilok, Metocard",
"Cardiovascular – Beta-Blockers",
"Cardioselective beta-1 adrenergic receptor blocker",
"Competitively blocks cardiac beta-1 receptors → reduces HR, contractility, AV conduction, renin release",
"Arterial hypertension; stable angina; HFrEF (MERIT-HF); post-MI; SVT/AF rate control; migraine prophylaxis; hyperthyroid symptoms",
"Tabs 25/50/100 mg IR (tartrate, 2×/day); SR tabs 25/50/100/200 mg (succinate, once daily); IV 1 mg/ml (5 ml amp)",
"25–100 mg once daily (SR/ZOK)",
"Form 107-1/u",
"Bisoprolol (Concor) – highest beta-1 selectivity; once daily; CIBIS-II evidence in HFrEF",
"Never stop abruptly (risk of rebound angina/hypertension); avoid in asthma/COPD (use with caution)"),
(35, "Nitroglycerin",
"Nitromint, Perlinganit, Nitrosorbide",
"Cardiovascular – Nitrates",
"Organic nitrate / vasodilator (NO donor)",
"Denitrated → NO → activates guanylate cyclase → ↑cGMP → smooth muscle relaxation → venodilation (predominant) + arterial dilation",
"Acute angina attack (sublingual); stable/unstable angina prophylaxis; acute MI (IV); acute decompensated HF (IV); hypertensive crisis (IV); anal fissure (topical)",
"SL tabs 0.5 mg; SL spray 0.4 mg/dose; transdermal patches 5–10 mg/24 h; SR caps (prophylaxis); IV 0.1 mg/ml; ointment 2%",
"0.5 mg sublingually; repeat after 5 min × 2 (max 3 doses); if no relief → call emergency",
"Form 107-1/u",
"Isosorbide mononitrate (Monocinque) – long-acting; once-daily SR; for prophylaxis",
"Tolerance develops with continuous use (nitrate-free interval required); hypotension; headache; CONTRAINDICATED with PDE-5 inhibitors (sildenafil etc.)"),
(6, "Atorvastatin",
"Lipitor, Torvacard, Tulip",
"Cardiovascular – Statins",
"HMG-CoA reductase inhibitor (statin)",
"Competitively inhibits HMG-CoA reductase → blocks cholesterol biosynthesis in liver → upregulates LDL receptors → reduces LDL-C",
"Primary hypercholesterolemia (IIa, IIb); mixed dyslipidemia; primary & secondary CV prevention; homozygous familial hypercholesterolemia",
"Tabs 10/20/40/80 mg; combination: + amlodipine (Caduet), + ezetimibe (Liptruzet)",
"10–40 mg once daily (evening); up to 80 mg for high-risk CV patients",
"Form 107-1/u",
"Rosuvastatin (Crestor) – more potent per mg; less CYP3A4 metabolism (fewer interactions)",
"Monitor LFTs and CK; myopathy/rhabdomyolysis risk (esp. with verapamil, clarithromycin via CYP3A4)"),
# ── CNS ──────────────────────────────────────────────────────────────────
(15, "Diazepam",
"Valium, Seduxen, Relanium",
"CNS – Anxiolytics / Benzodiazepines",
"Benzodiazepine (positive allosteric GABA-A modulator)",
"Increases frequency of Cl⁻ channel opening at GABA-A receptor → enhanced inhibitory neurotransmission",
"Anxiety disorders; alcohol withdrawal (delirium tremens); status epilepticus (IV/rectal); febrile seizures; pre-medication; muscle spasm; insomnia (short-term)",
"Tabs 2/5/10 mg; IV/IM sol 5 mg/ml (2 ml amp); rectal gel/sol 5 mg/2.5 ml, 10 mg/2.5 ml",
"5–10 mg 2–3×/day (anxiety); 10–20 mg IV (status epilepticus)",
"CONTROLLED – Form 148-1/u-04 (Schedule III, Russia)",
"Lorazepam (Ativan) – no active metabolites; safer in elderly/hepatic impairment; preferred for status epilepticus IV",
"Dependence/tolerance with prolonged use; taper gradually; respiratory depression with alcohol/opioids"),
(28, "Maprotiline",
"Ludiomil, Maprotibene",
"CNS – Antidepressants",
"Tetracyclic antidepressant (NRI)",
"Inhibits norepinephrine reuptake; also H₁ and muscarinic blockade",
"Major depressive disorder (endogenous, reactive); anxiety with depression; insomnia associated with depression",
"Tabs 10/25/50/75 mg; IV/IM infusion 25 mg/5 ml",
"75–150 mg/day in divided doses; start low, titrate over 2–3 weeks",
"Form 107-1/u",
"Amitriptyline (TCA) – stronger serotonin + NE reuptake inhibition; more anticholinergic SE",
"Takes 2–4 weeks for full effect; lowers seizure threshold; ECG monitoring at high doses; taper on discontinuation"),
(40, "Piracetam",
"Nootropil, Lucetam, Memotropil",
"CNS – Nootropics",
"Nootropic agent (cyclic GABA derivative)",
"Modulates AMPA receptors; improves neuronal membrane fluidity; enhances cerebral microcirculation",
"Cognitive impairment (age-related, post-stroke, post-TBI); cortical myoclonus (high dose); dyslexia; dizziness of central origin",
"Caps 400 mg; tabs 200/400/800/1200 mg; IV/IM sol 200 mg/ml (5/20 ml amp); oral sol 333 mg/ml; combination with cinnarizine (Fezam)",
"800 mg–2400 mg 3×/day (up to 24 g/day for myoclonus)",
"Form 107-1/u",
"Citicoline (Ceraxon) – neuroprotective; precursor of phosphatidylcholine; more evidence in stroke rehab",
"Not approved by FDA/EMA as a drug; widely used in CIS/Eastern Europe; renally excreted"),
(44, "Tramadol",
"Tramal, Ultram, Crispin",
"CNS – Opioid Analgesics",
"Weak mu-opioid receptor agonist + SNRI (serotonin & norepinephrine reuptake inhibitor)",
"Dual: (1) mu-opioid receptor partial agonism → spinal/supraspinal analgesia; (2) blocks 5-HT and NE reuptake → descending pain inhibition",
"Moderate-to-severe acute pain; chronic cancer pain (WHO step 2); postoperative pain; neuropathic pain",
"Caps 50 mg; SR tabs 100/150/200 mg; IM/IV sol 50 mg/ml (1–2 ml amp); suppos 100 mg; oral drops 100 mg/ml; combo with paracetamol (Zaldiar)",
"50–100 mg every 4–6 h (max 400 mg/day)",
"CONTROLLED – Form 148-1/u-04 (Schedule IV)",
"Tapentadol (Palexia) – stronger mu-agonism + NRI (no serotonin); fewer serotonin SE",
"Serotonin syndrome risk (avoid with MAOIs, SSRIs); lowers seizure threshold; respiratory depression at high doses"),
(45, "Fentanyl",
"Durogesic, Fentanyl-TTS, Fendivia",
"CNS – Opioid Analgesics",
"Potent pure mu-opioid receptor agonist (synthetic opioid)",
"Binds mu-opioid receptors (brainstem, spinal cord) → inhibits adenylyl cyclase → reduces neuronal excitability → analgesia + sedation",
"Severe chronic cancer pain (transdermal); breakthrough cancer pain (transmucosal); intraoperative analgesia (IV); epidural/intrathecal analgesia; palliative care",
"Transdermal patches 12/25/50/75/100 mcg/h (72 h); IV/IM sol 50 mcg/ml (2 ml amp); SL tabs; nasal spray; buccal film",
"Patch: 25 mcg/h q72h (NOT for opioid-naive); IV: titrated by anesthesiologist",
"NARCOTIC – Form 107/u-NP (List I narcotic, Russia)",
"Buprenorphine transdermal (Norspan) – partial mu-agonist; safer respiratory profile; weekly patch",
"Respiratory depression; tolerance/dependence; only for opioid-tolerant patients; 12–24 h onset with patch"),
# ── DERMATOLOGY / ANTIFUNGALS (already listed fluconazole above) ─────────
# ── DIABETES ─────────────────────────────────────────────────────────────
(13, "Glibenclamide",
"Maninil, Daonil, Euglucon",
"Diabetes – Oral Hypoglycemics",
"Sulfonylurea (2nd generation)",
"Blocks ATP-sensitive K⁺ channels on pancreatic beta cells → depolarization → Ca²⁺ influx → insulin secretion",
"Type 2 diabetes mellitus (when metformin insufficient or contraindicated); NOT for T1DM",
"Tabs 1.75 mg (micronized), 5 mg; combination with metformin (Glucovance 2.5/500 mg, 5/500 mg)",
"2.5–5 mg once daily before breakfast; max 15–20 mg/day",
"Form 107-1/u",
"Gliclazide MR (Diabeton MR) – same mechanism; lower hypoglycemia risk; preferred in elderly",
"Hypoglycemia risk (especially in elderly, renal impairment); weight gain; active metabolites → prolonged hypoglycemia"),
(33, "Metformin",
"Glucophage, Siofor, Metforal",
"Diabetes – Oral Hypoglycemics",
"Biguanide antidiabetic",
"Activates AMPK → inhibits hepatic gluconeogenesis; improves peripheral insulin sensitivity; reduces intestinal glucose absorption",
"Type 2 DM (first-line); PCOS; pre-diabetes prevention; metabolic syndrome; adjunct in T1DM",
"Tabs 500/850/1000 mg IR; XR/SR tabs 500/750/1000 mg; oral sol; combinations with glibenclamide, sitagliptin, vildagliptin, empagliflozin",
"500 mg once daily (start, with meal); increase to 500–1000 mg twice daily",
"Form 107-1/u",
"Empagliflozin (Jardiance) – SGLT-2 inhibitor; CV/renal protective; use when metformin contraindicated",
"Hold 48 h before contrast; contraindicated eGFR <30 ml/min; lactic acidosis risk (rare); GI SE common at start"),
(19, "Human Insulin (short- and long-acting)",
"Actrapid / Humulin R // Lantus / Levemir",
"Diabetes – Insulins",
"Pancreatic hormone / antidiabetic (insulin)",
"Binds insulin receptor (RTK) → GLUT4 translocation → glucose uptake; suppresses hepatic gluconeogenesis/glycogenolysis",
"T1DM (absolute); T2DM (uncontrolled); DKA (IV regular); gestational DM; hyperkalemia treatment; critical illness hyperglycemia",
"Short-acting: vials/pens 100 IU/ml (10 ml vial, 3 ml cartridge/pen); Long-acting: pens 100 IU/ml (3 ml SoloStar); premixed 30/70",
"Individualized; Regular insulin: SC 15–30 min before meals; Glargine: SC once daily at same time",
"Form 107-1/u (free on prescription in Russia for diabetic patients)",
"Rapid-acting analogues: lispro/aspart/glulisine (faster onset 5–15 min); ultra-long: degludec (Tresiba)",
"Hypoglycemia; weight gain; lipodystrophy at injection sites; rotate sites; store opened pen at room temp ≤28 days"),
# ── ENDOCRINOLOGY ─────────────────────────────────────────────────────────
(9, "Bromocriptine",
"Parlodel, Bromergon, Abergin",
"Endocrinology – Dopamine Agonists",
"Ergot alkaloid dopamine agonist (D2 predominant)",
"Agonist at D2 receptors → inhibits pituitary prolactin secretion; stimulates dopaminergic pathways in basal ganglia",
"Hyperprolactinemia; prolactinomas (size reduction); galactorrhea; female infertility (hyperprolactinemia-related); Parkinson's disease (adjunct); acromegaly (adjunct); postpartum lactation inhibition",
"Tabs 2.5 mg; caps 5 mg (some markets); fast-release caps 0.8 mg (Cycloset, T2DM – US)",
"Initial: 1.25 mg twice daily; increase gradually to 2.5–7.5 mg/day",
"Form 107-1/u",
"Cabergoline (Dostinex) – longer t½ (weekly dosing); better tolerated; preferred for prolactinoma",
"Start low to minimize nausea/orthostatic hypotension; ergot-related fibrosis with long-term use (monitor)"),
(34, "Nandrolone",
"Retabolil, Deca-Durabolin",
"Endocrinology – Anabolic Steroids",
"Anabolic steroid (19-nortestosterone derivative)",
"Androgen receptor agonist with high anabolic:androgenic ratio (~10:1) → protein synthesis, erythropoiesis (EPO stimulation), nitrogen retention, bone mineralization",
"Anemia of chronic renal failure; aplastic anemia (adjunct); cachexia/muscle wasting (cancer, HIV/AIDS, burns); osteoporosis (historical)",
"IM oily sol: decanoate 25/50/100 mg/ml (1 ml amp); phenylpropionate 25/50 mg/ml",
"Nandrolone decanoate: 25–50 mg IM once every 2–3 weeks",
"CONTROLLED – Form 148-1/u-04 (anabolic steroid, Schedule III)",
"Testosterone enanthate (Testoviron Depot) – androgen replacement; higher androgenicity",
"Virilization in women; suppresses endogenous testosterone; hepatotoxicity (less than oral 17α-alkylated steroids); banned in sport"),
# ── GI TRACT ─────────────────────────────────────────────────────────────
(11, "Bismuth subcitrate",
"De-Nol, Ventrisol, Ulcavis",
"Gastroenterology",
"Gastroprotective agent / colloidal bismuth compound",
"Forms protective coating on ulcer base; inhibits pepsin; stimulates mucus/bicarbonate secretion; direct antibacterial activity against H. pylori",
"Peptic ulcer disease; H. pylori eradication (bismuth quadruple therapy); chronic gastritis; functional dyspepsia",
"Tabs 120 mg; combination pack Pylera (bismuth + metronidazole + tetracycline)",
"120 mg 4×/day (30 min before meals + bedtime) for 28 days",
"Form 107-1/u",
"Bismuth subsalicylate (Pepto-Bismol) – similar gastroprotective/anti-H.pylori; also antidiarrheal",
"Black stools/tongue (harmless); avoid prolonged use (neurotoxicity); avoid in renal impairment"),
(8, "Bisacodyl",
"Dulcolax, Laxatin, Pedicol",
"Gastroenterology",
"Stimulant (contact) laxative – diphenylmethane derivative",
"Hydrolyzed in colon → active metabolite BHPM → stimulates enteric nerves and mucosa → increased peristalsis + reduced water/electrolyte absorption",
"Constipation (short-term); bowel preparation for colonoscopy/radiological procedures; post-operative constipation",
"Enteric-coated tabs 5 mg; rectal suppositories 10 mg; rectal solution (enema)",
"5–10 mg at bedtime (tabs, onset 6–12 h); 10 mg suppository (onset 15–60 min)",
"Form 107-1/u (OTC in many countries)",
"Sodium picosulfate (Guttalax) – same class; available as drops (convenient titration)",
"Do not crush enteric-coated tablets; avoid with milk/antacids (premature dissolution); maximum 5–10 days continuous use"),
(31, "Metoclopramide",
"Cerucal, Reglan, Primperan",
"Gastroenterology",
"Prokinetic agent and antiemetic (central + peripheral D₂ antagonist; 5-HT₄ agonist)",
"Blocks D₂ receptors in CTZ (antiemetic) and GI tract (prokinetic); 5-HT₄ agonism enhances gastric emptying",
"Nausea/vomiting (drug-induced, postoperative, pregnancy); gastroparesis; functional dyspepsia; GERD (adjunct); migraine (absorption enhancer); intractable hiccups",
"Tabs 10 mg; IM/IV sol 5 mg/ml (2 ml amp); syrup 1 mg/ml; suppositories 20 mg",
"10 mg 3×/day, 30 min before meals (max 30 mg/day); max 5 days",
"Form 107-1/u",
"Domperidone (Motilium) – peripheral D₂ only; no CNS SE (EPS); preferred for gastroparesis",
"EPS and tardive dyskinesia risk (especially elderly, children); limit to 5 days; QT prolongation"),
(37, "Omeprazole",
"Losec, Omez, Gastrozol, Ultop",
"Gastroenterology",
"Proton pump inhibitor (PPI)",
"Irreversibly inhibits H⁺/K⁺-ATPase (proton pump) in gastric parietal cells → profound acid suppression",
"GERD; erosive esophagitis; peptic ulcer disease; H. pylori eradication (triple/quadruple therapy); NSAID gastropathy; Zollinger-Ellison syndrome; stress ulcer prophylaxis",
"Caps 10/20/40 mg; enteric-coated tabs (MUPS); IV 40 mg/vial",
"20–40 mg once daily before breakfast; H. pylori: 20 mg twice daily + antibiotics",
"Form 107-1/u",
"Pantoprazole (Nolpaza) – fewer drug interactions (less CYP2C19); preferred with clopidogrel",
"Long-term use: Mg²⁺ deficiency, bone fractures, C. diff risk, B12 deficiency; CYP2C19 polymorphism affects response"),
(39, "Pancreatin",
"Creon, Mezim forte, Panzinorm",
"Gastroenterology",
"Digestive enzyme preparation (pancreatic enzyme replacement)",
"Provides exogenous lipase, protease, and amylase → replaces deficient endogenous pancreatic enzymes → enables fat/protein/carbohydrate digestion",
"Exocrine pancreatic insufficiency (chronic pancreatitis, post-pancreatectomy, cystic fibrosis, pancreatic cancer); post-gastrectomy maldigestion; steatorrhea",
"Enteric-coated mini-microsphere caps 10,000 / 25,000 / 40,000 IU lipase (Creon); enteric-coated tabs; powder; combination with bile acids (Festal)",
"25,000–40,000 IU lipase with each main meal; 10,000 IU with snacks",
"Form 107-1/u",
"Mezim forte – also pancreatin; standard enteric-coated tablets; less effective than Creon microspheres",
"Take during/immediately after meals; swallow whole; titrate dose to stool consistency"),
# ── HAEMATOLOGY ──────────────────────────────────────────────────────────
(14, "Low Molecular Weight Heparins (Enoxaparin)",
"Clexane, Lovenox, Fragmin (dalteparin)",
"Haematology – Anticoagulants",
"Anticoagulant – LMWH (indirect Xa > IIa inhibitor)",
"Binds and activates antithrombin III → enhanced inhibition of factor Xa (predominant) and thrombin (IIa) → prevents fibrin formation",
"VTE prophylaxis (surgical/medical patients); DVT/PE treatment; ACS (NSTEMI, STEMI adjunct); hemodialysis; bridging anticoagulation; VTE in pregnancy",
"Prefilled syringes: enoxaparin 20/40/60/80/100 mg; dalteparin 2500–12500 IU; nadroparin 0.3–1.0 ml",
"Prophylaxis: enoxaparin 40 mg SC once daily; Treatment: 1 mg/kg SC q12h (or 1.5 mg/kg once daily)",
"Form 107-1/u (hospital/specialist Rx)",
"Fondaparinux (Arixtra) – synthetic factor Xa inhibitor; no HIT risk; once daily SC",
"Monitor anti-Xa in renal impairment, obesity, pregnancy; risk of HIT (much lower than UFH); spinal/epidural timing critical"),
(18, "Iron supplements (Ferrous sulfate)",
"Sorbifer Durules, Tardyferon, Ferrum Lek",
"Haematology – Antianemics",
"Iron preparation – antianemic agent",
"Fe²⁺ absorbed in duodenum/upper jejunum via DMT-1 transporter → incorporated into hemoglobin, myoglobin, cytochromes",
"Iron deficiency anemia; prevention of Fe deficiency (pregnancy, prematurity, rapid growth); chronic blood loss; restless legs syndrome (Fe deficiency-related)",
"Tabs 80–100 mg elemental Fe (various salts); Fe(III) polymaltose chewable tabs/syrup/drops (Maltofer); IV: iron sucrose (Venofer), ferric carboxymaltose (Ferinject)",
"150–200 mg elemental iron/day in 2–3 doses; take 30–60 min before meals; continue 3 months after Hb normalizes",
"Form 107-1/u",
"Iron (III) hydroxide polymaltose (Maltofer) – better GI tolerability; no overdose risk",
"Dark stools; nausea/constipation; avoid with tea/milk/antacids/dairy within 2 h; ascorbic acid enhances absorption"),
(49, "Cyanocobalamin (Vitamin B12)",
"Cyanocobalamin-Nycomed, Neurobion (B1+B6+B12)",
"Haematology – Antianemics",
"Water-soluble vitamin B12 (cobalamin)",
"Cofactor for methionine synthase (homocysteine→methionine) and methylmalonyl-CoA mutase → essential for DNA synthesis, myelin formation, erythropoiesis",
"B12 deficiency (pernicious anemia, dietary/vegan, gastrectomy, malabsorption); megaloblastic anemia; subacute combined degeneration; peripheral neuropathy (adjunct); elevated homocysteine; metformin-related B12 depletion",
"IM/SC sol 200 mcg/ml, 500 mcg/ml (1 ml amp); tabs 50–500 mcg (dietary supplement only – not for pernicious anemia); SL tabs 1000 mcg; nasal gel; Neurobion IM",
"1000 mcg IM once daily × 7 days, then weekly × 4, then monthly (pernicious anemia)",
"Form 107-1/u",
"Hydroxocobalamin (Cyanokit) – longer-lasting depot; preferred for cyanide poisoning (IV); Methylcobalamin – neurologically active form",
"Pernicious anemia requires lifelong IM injection (no intrinsic factor); hypokalemia may occur on starting treatment"),
# ── HORMONAL CONTRACEPTION ────────────────────────────────────────────────
(50, "Ethinyl estradiol + Desogestrel",
"Mercilon (EE 20 mcg), Marvelon (EE 30 mcg), Regulon, Novynette",
"Gynecology – Oral Contraceptives",
"Combined oral contraceptive (COC) – monophasic; synthetic estrogen + 3rd-gen progestogen",
"Inhibits ovulation (suppresses LH surge); thickens cervical mucus; alters endometrial receptivity",
"Contraception; dysmenorrhea; endometriosis pain; menorrhagia; PCOS (cycle regulation, acne); PMDD; functional ovarian cysts",
"Tabs EE 20/30 mcg + desogestrel 150 mcg (21-day or 28-day packs); vaginal ring (NuvaRing); transdermal patch (Evra)",
"1 tablet daily × 21 days starting day 1 of cycle; 7-day tablet-free interval; then new pack",
"Form 107-1/u",
"EE + Levonorgestrel (Microgynon/Rigevidon) – 2nd-gen progestogen; lower VTE risk vs desogestrel (controversial); EE + Drospirenone (Yaz) – antiandrogenic",
"VTE risk (higher than non-users, lower than pregnancy); absolute CI: smoking >35 yr, migraines with aura, thrombophilia, active liver disease; drug interactions (rifampicin, antiepileptics)"),
# ── MUSCULOSKELETAL / ANALGESICS / NSAIDs ────────────────────────────────
(5, "Articaine",
"Ubistesine, Ultracain DS, Septanest, Alfacaine",
"Local Anesthetics",
"Amide-class local anesthetic (thiophene ring; fastest tissue diffusion)",
"Blocks voltage-gated Na⁺ channels in neuronal membranes → prevents depolarization → reversible conduction block",
"Infiltration anesthesia in dentistry; conduction (nerve block) anesthesia in dentistry; maxillofacial surgery; implantology; tooth extraction, pulpotomy, periodontal procedures",
"4% sol with epinephrine 1:100,000 or 1:200,000 in 1.7 ml dental cartridges; 4% sol without vasoconstrictor; ampoules 1–2%",
"1.7 ml per injection site (dental); dose varies by procedure and patient weight",
"Form 107-1/u (dental Rx)",
"Lidocaine 2% – classic amide LA; used for infiltration, spinal, epidural, IV regional anesthesia",
"Superior bone penetration vs lidocaine; contains epinephrine – caution in cardiovascular disease; max dose 7 mg/kg (with epi)"),
(16, "Diclofenac",
"Voltaren, Ortofen, Naklofen",
"NSAIDs & Analgesics",
"Non-selective NSAID (COX-1 and COX-2 inhibitor) – phenylacetic acid derivative",
"Inhibits COX-1 and COX-2 → reduces prostaglandin synthesis → analgesic, anti-inflammatory, antipyretic effects",
"Musculoskeletal pain; RA; osteoarthritis; ankylosing spondylitis; acute gout; dysmenorrhea; postoperative pain; renal/biliary colic; dental pain; fever",
"Enteric-coated tabs 25/50/75 mg; SR tabs 100 mg; IM sol 75 mg/3 ml; suppositories 50/100 mg; gel 1/5% (topical); eye drops 0.1%; transdermal patches",
"50 mg 2–3×/day (max 150 mg/day); SR 100 mg once daily",
"Form 107-1/u",
"Ibuprofen (Nurofen) – propionic acid NSAID; better GI tolerability; OTC availability",
"GI ulceration/bleeding (take with food); avoid with other NSAIDs; cardiovascular risk; renal toxicity; avoid in last trimester pregnancy"),
(20, "Ketorolac",
"Ketorol, Ketanov, Toradol",
"NSAIDs & Analgesics",
"Non-selective NSAID – potent analgesic (pyrrolizine carboxylic acid)",
"Inhibits COX-1 and COX-2 → marked reduction of PGE2/PGI2 synthesis → potent analgesia with anti-inflammatory and antipyretic effects",
"Moderate-to-severe acute pain (postoperative, trauma, renal/biliary colic); dental pain; gynecological pain; post-cataract surgery (eye drops)",
"Tabs 10 mg; IM/IV sol 30 mg/ml (1 ml amp); eye drops 0.5% (Acular)",
"10 mg every 4–6 h (max 40 mg/day oral); IM 30 mg every 6 h (max 120 mg/day); max 5 days oral, 2 days IM/IV",
"Form 107-1/u",
"Lornoxicam (Xefocam) – oxicam NSAID; comparable potency; also IM/IV",
"High GI/renal toxicity – STRICTLY limited to 5 days; not for chronic use; avoid in renal impairment"),
# ── PULMONARY / ANTI-ASTHMA ──────────────────────────────────────────────
(42, "Salbutamol",
"Ventolin, Salamol, AsthmaHaler",
"Respiratory – Bronchodilators",
"Short-acting beta-2 adrenergic agonist (SABA)",
"Stimulates beta-2 receptors in bronchial smooth muscle → adenylyl cyclase activation → ↑cAMP → protein kinase A → smooth muscle relaxation → bronchodilation",
"Acute bronchospasm relief (asthma rescue inhaler); exercise-induced bronchoconstriction; acute COPD exacerbation; tocolysis (IV/SC); hyperkalemia (nebulized)",
"MDI 100 mcg/dose (200 doses); DPI (Ventolin Rotacaps); nebulizer sol 2.5/5 mg/2.5 ml; IV sol 1 mg/ml; tabs 2/4 mg; syrup 2 mg/5 ml",
"1–2 puffs as needed (max 4×/day regularly); severe attack: 2.5–5 mg via nebulizer",
"Form 107-1/u",
"Fenoterol (Berotec) – SABA; slightly longer duration; Terbutaline – SABA; also used for tocolysis",
"Use spacer device for MDI; frequent need (>2×/week) = inadequately controlled asthma; tachycardia/tremor SE"),
(47, "Fluticasone propionate",
"Flixotide, Flixonase (nasal), Seretide (+ salmeterol)",
"Respiratory – Inhaled Corticosteroids",
"Inhaled corticosteroid (ICS) – synthetic glucocorticoid",
"Binds glucocorticoid receptors in airway epithelium → suppresses inflammatory cytokines/mediators → reduces airway inflammation and hyperreactivity",
"Asthma (controller/maintenance therapy); COPD (moderate-severe, with LABA); allergic rhinitis (nasal spray); nasal polyps",
"MDI 50/125/250 mcg/dose; DPI Diskus 100/250/500 mcg; nasal spray 50 mcg/dose; topical cream/oint 0.05%; combinations: Seretide (+ salmeterol), Relvar (+ vilanterol)",
"125–500 mcg twice daily (asthma severity-dependent)",
"Form 107-1/u",
"Budesonide (Pulmicort) – equivalent ICS at 2:1 dose ratio; nebulizer susp available for young children",
"Rinse mouth after each use (oral candidiasis); not for acute attacks; systemic effects at high doses (adrenal suppression, bone density)"),
(43, "Theophylline",
"Theo-Dur, Euphyllin CR, Theolong",
"Respiratory – Bronchodilators",
"Methylxanthine bronchodilator (PDE inhibitor / adenosine antagonist)",
"Inhibits phosphodiesterase → ↑cAMP/cGMP → smooth muscle relaxation; blocks adenosine receptors; mild anti-inflammatory at low doses",
"Asthma (add-on, 3rd-line after ICS+LABA); COPD (3rd-line); apnea of prematurity (IV aminophylline); acute severe asthma (IV adjunct)",
"SR tabs 100/200/300/400 mg (twice daily); IV aminophylline (Eufillin) 2.4% (24 mg/ml) 10 ml amp; suppositories; oral sol",
"SR: 300–400 mg twice daily; target serum level 8–12 mcg/ml (therapeutic monitoring required)",
"Form 107-1/u",
"Aminophylline (Eufillin IV) – theophylline ethylenediamine; same pharmacology; IV form for hospital use",
"Narrow therapeutic index (toxic >20 mcg/ml); interactions: CYP1A2 inducers/inhibitors (smoking, rifampicin, macrolides); tachycardia, seizures at toxic levels"),
# ── RHINOLOGY ────────────────────────────────────────────────────────────
(36, "Oxymetazoline",
"Nazivin, Knoxin, Sanorin-Mono, Afrin",
"ENT – Nasal Decongestants",
"Alpha-2 adrenergic agonist – imidazoline nasal decongestant",
"Stimulates alpha-2 (and alpha-1) adrenergic receptors in nasal mucosa vasculature → vasoconstriction → reduced mucosal congestion and rhinorrhea",
"Nasal congestion (acute rhinitis, allergic rhinitis, sinusitis); adjunct in otitis media (Eustachian tube patency); pre-nasal procedure hemostasis; conjunctival redness (eye drops)",
"Nasal drops 0.01/0.025/0.05/0.1%; nasal spray 0.05/0.1% (metered-dose); ophthalmic sol 0.025%",
"Adults: 2–3 drops/sprays 0.1% into each nostril 2–3×/day; MAXIMUM 3–5 days",
"Form 107-1/u (OTC in most countries)",
"Xylometazoline (Otrivin/Galazolin) – imidazoline; identical use; slightly shorter duration (6–8 h vs 8–12 h)",
"Rhinitis medicamentosa with >5 days use; tachycardia/hypertension if absorbed; use pediatric concentration in children"),
# ── STEROIDS (SYSTEMIC) ──────────────────────────────────────────────────
(41, "Prednisolone",
"Decortin, Prednisolone-Nycomed, Deltacortril",
"Corticosteroids – Systemic",
"Synthetic glucocorticoid (moderate potency, moderate mineralocorticoid activity)",
"Binds glucocorticoid receptor → suppresses NF-κB → inhibits phospholipase A2 → reduces arachidonic acid cascade; immunosuppressive (inhibits T-cell proliferation, cytokine production)",
"Asthma exacerbations; COPD exacerbations; IBD (Crohn's, UC); RA/SLE/vasculitis; ITP; AIHA; allergic reactions (severe); organ transplant; adrenal insufficiency; croup",
"Tabs 1/5 mg; IV/IM sol 30 mg/ml (1–3 ml amp); eye/ear drops; topical cream 0.25/0.5%; rectal enema/foam",
"0.5–2 mg/kg/day in morning (acute inflammation); taper gradually on stopping",
"Form 107-1/u",
"Dexamethasone – 25–30× more potent; no mineralocorticoid activity; preferred for cerebral edema, meningitis, preterm lung maturation",
"Never stop abruptly (adrenal suppression); cushingoid effects with prolonged use; hyperglycemia; osteoporosis; GI ulceration"),
# ── UROLOGY / DIURETICS ──────────────────────────────────────────────────
(12, "Hydrochlorothiazide",
"Hypothiazide, Esidrix, HydroDIURIL",
"Diuretics",
"Thiazide diuretic",
"Inhibits Na⁺/Cl⁻ cotransporter (NCC) in distal convoluted tubule → natriuresis, diuresis, reduced plasma volume; vasodilation with chronic use",
"Arterial hypertension; heart failure edema; nephrotic syndrome; nephrogenic diabetes insipidus; hypercalciuria/nephrolithiasis",
"Tabs 12.5/25/50 mg; combinations with ACE-I (Iruzid, Enap-H), ARBs (Gizaar), beta-blockers (Lodoz)",
"12.5–25 mg once daily in morning (hypertension)",
"Form 107-1/u",
"Indapamide (Arifon) – thiazide-like; more favorable metabolic profile (less hypokalemia/dyslipidemia); preferred in hypertension",
"Hypokalemia (monitor K⁺, supplement or combine with K-sparing diuretic); hyperglycemia; hyperuricemia; photosensitivity"),
]
# Sort by number
DRUGS_SORTED = sorted(DRUGS, key=lambda x: x[0])
# ── BUILD WORKBOOK ────────────────────────────────────────────────────────────
wb = openpyxl.Workbook()
# ── SHEET 1: FULL COMPARISON TABLE ───────────────────────────────────────────
ws1 = wb.active
ws1.title = "All 50 Drugs – Full Table"
HEADERS = [
"#", "INN (Drug Name)", "Trade Name / Synonym",
"Therapeutic Category", "Pharmacological Group",
"Mechanism of Action", "Main Indications",
"Key Dosage Forms", "Typical Adult Dose",
"Prescription Type (Russia)", "Analogue (same pharmacological action)",
"Notes / Warnings"
]
# ── Colour palette ────────────────────────────────────────────────────────────
HEADER_FILL = PatternFill("solid", fgColor="1F3864") # deep navy
HEADER_FONT = Font(name="Arial", bold=True, color="FFFFFF", size=10)
ALT_FILL_A = PatternFill("solid", fgColor="EBF0FA") # light blue-grey
ALT_FILL_B = PatternFill("solid", fgColor="FFFFFF") # white
CTRL_FILL = PatternFill("solid", fgColor="FFF2CC") # amber for controlled
NARC_FILL = PatternFill("solid", fgColor="FCE4D6") # salmon for narcotic
THIN_BORDER = Border(
left=Side(style="thin", color="B0B0B0"),
right=Side(style="thin", color="B0B0B0"),
top=Side(style="thin", color="B0B0B0"),
bottom=Side(style="thin", color="B0B0B0"),
)
BOLD_FONT = Font(name="Arial", bold=True, size=9)
NORMAL_FONT = Font(name="Arial", size=9)
WRAP = Alignment(wrap_text=True, vertical="top")
CENTER_TOP = Alignment(horizontal="center", vertical="top", wrap_text=True)
# ── Write header row ──────────────────────────────────────────────────────────
for col_idx, header in enumerate(HEADERS, start=1):
cell = ws1.cell(row=1, column=col_idx, value=header)
cell.font = HEADER_FONT
cell.fill = HEADER_FILL
cell.alignment = CENTER_TOP
cell.border = THIN_BORDER
# ── Write data rows ───────────────────────────────────────────────────────────
for row_idx, drug in enumerate(DRUGS_SORTED, start=2):
rx_type = drug[9]
if "NARCOTIC" in rx_type:
row_fill = NARC_FILL
elif "CONTROLLED" in rx_type:
row_fill = CTRL_FILL
else:
row_fill = ALT_FILL_A if row_idx % 2 == 0 else ALT_FILL_B
for col_idx, value in enumerate(drug, start=1):
cell = ws1.cell(row=row_idx, column=col_idx, value=value)
cell.font = BOLD_FONT if col_idx in (1, 2) else NORMAL_FONT
cell.fill = row_fill
cell.alignment = CENTER_TOP if col_idx == 1 else WRAP
cell.border = THIN_BORDER
# ── Column widths ─────────────────────────────────────────────────────────────
col_widths = [5, 26, 32, 28, 30, 48, 55, 45, 38, 30, 38, 52]
for i, w in enumerate(col_widths, start=1):
ws1.column_dimensions[get_column_letter(i)].width = w
# Row heights
for row in ws1.iter_rows(min_row=2, max_row=ws1.max_row):
ws1.row_dimensions[row[0].row].height = 72
ws1.row_dimensions[1].height = 30
ws1.freeze_panes = "C2"
# Add AutoFilter
ws1.auto_filter.ref = f"A1:{get_column_letter(len(HEADERS))}{ws1.max_row}"
# ── SHEET 2: BY THERAPEUTIC CATEGORY ─────────────────────────────────────────
ws2 = wb.create_sheet("By Therapeutic Category")
# Gather unique categories in a nice order
CAT_ORDER = [
"Antibiotics",
"Antivirals",
"Antiparasitics",
"Respiratory – Bronchodilators",
"Respiratory – Inhaled Corticosteroids",
"Respiratory – Mucolytics",
"Cardiovascular – Calcium Channel Blockers",
"Cardiovascular – ACE Inhibitors",
"Cardiovascular – ARBs (Sartans)",
"Cardiovascular – Beta-Blockers",
"Cardiovascular – Nitrates",
"Cardiovascular – Statins",
"Diabetes – Oral Hypoglycemics",
"Diabetes – Insulins",
"CNS – Anxiolytics / Benzodiazepines",
"CNS – Antidepressants",
"CNS – Nootropics",
"CNS – Opioid Analgesics",
"Gastroenterology",
"Haematology – Anticoagulants",
"Haematology – Antianemics",
"Endocrinology – Dopamine Agonists",
"Endocrinology – Anabolic Steroids",
"Endocrinology – Antithyroid",
"Endocrinology – Thyroid hormones",
"Corticosteroids – Systemic",
"Diuretics",
"NSAIDs & Analgesics",
"Local Anesthetics",
"ENT – Nasal Decongestants",
"Gynecology – Oral Contraceptives",
]
CAT_COLOURS = {
"Antibiotics": "C6EFCE",
"Antivirals": "D9EAD3",
"Antiparasitics": "BDD7EE",
"Respiratory – Bronchodilators": "DDEBF7",
"Respiratory – Inhaled Corticosteroids": "DEEAF1",
"Respiratory – Mucolytics": "D6E4F0",
"Cardiovascular – Calcium Channel Blockers": "FCE4D6",
"Cardiovascular – ACE Inhibitors": "F4CCCC",
"Cardiovascular – ARBs (Sartans)": "F9D7D2",
"Cardiovascular – Beta-Blockers": "EA9999",
"Cardiovascular – Nitrates": "F4B8B8",
"Cardiovascular – Statins": "F9CBCB",
"Diabetes – Oral Hypoglycemics": "FFF2CC",
"Diabetes – Insulins": "FFE699",
"CNS – Anxiolytics / Benzodiazepines": "D9D2E9",
"CNS – Antidepressants": "E2D8F0",
"CNS – Nootropics": "EAD9F5",
"CNS – Opioid Analgesics": "C9A9D7",
"Gastroenterology": "D9EAD3",
"Haematology – Anticoagulants": "FFE0B2",
"Haematology – Antianemics": "FFF3E0",
"Endocrinology – Dopamine Agonists": "E8F0FE",
"Endocrinology – Anabolic Steroids": "D0E0FC",
"Endocrinology – Antithyroid": "C5D9F1",
"Endocrinology – Thyroid hormones": "B8D3EF",
"Corticosteroids – Systemic": "FDE9D9",
"Diuretics": "E2F0D9",
"NSAIDs & Analgesics": "FCE4D6",
"Local Anesthetics": "F2F2F2",
"ENT – Nasal Decongestants": "EAF2FF",
"Gynecology – Oral Contraceptives": "FCE4F0",
}
# Build category → drug list lookup
from collections import defaultdict
cat_map = defaultdict(list)
for drug in DRUGS_SORTED:
cat_map[drug[3]].append(drug)
CAT_HDR_FONT = Font(name="Arial", bold=True, color="FFFFFF", size=10)
CAT_HDR_FILL = PatternFill("solid", fgColor="374151")
SUB_HDR_FONT = Font(name="Arial", bold=True, size=9)
ws2_headers = ["#", "INN (Drug Name)", "Trade Name / Synonym",
"Pharmacological Group", "Mechanism of Action",
"Main Indications", "Typical Adult Dose",
"Prescription Type (Russia)", "Analogue", "Notes / Warnings"]
current_row = 1
for cat in CAT_ORDER:
drugs_in_cat = cat_map.get(cat, [])
if not drugs_in_cat:
continue
cat_colour = CAT_COLOURS.get(cat, "F0F0F0")
cat_fill = PatternFill("solid", fgColor="374151")
drug_fill = PatternFill("solid", fgColor=cat_colour)
# Category header
ws2.merge_cells(start_row=current_row, start_column=1,
end_row=current_row, end_column=len(ws2_headers))
cat_cell = ws2.cell(row=current_row, column=1, value=f" {cat.upper()}")
cat_cell.font = CAT_HDR_FONT
cat_cell.fill = cat_fill
cat_cell.alignment = Alignment(horizontal="left", vertical="center")
cat_cell.border = THIN_BORDER
ws2.row_dimensions[current_row].height = 20
current_row += 1
# Sub-headers
for c_idx, h in enumerate(ws2_headers, start=1):
cell = ws2.cell(row=current_row, column=c_idx, value=h)
cell.font = Font(name="Arial", bold=True, size=9, color="374151")
cell.fill = PatternFill("solid", fgColor=cat_colour)
cell.alignment = WRAP
cell.border = THIN_BORDER
ws2.row_dimensions[current_row].height = 24
current_row += 1
# Drug rows (subset of columns for readability)
for drug in drugs_in_cat:
row_data = [drug[0], drug[1], drug[2], drug[4], drug[5],
drug[6], drug[8], drug[9], drug[10], drug[11]]
rx = drug[9]
if "NARCOTIC" in rx:
r_fill = NARC_FILL
elif "CONTROLLED" in rx:
r_fill = CTRL_FILL
else:
r_fill = drug_fill
for c_idx, val in enumerate(row_data, start=1):
cell = ws2.cell(row=current_row, column=c_idx, value=val)
cell.font = BOLD_FONT if c_idx in (1, 2) else NORMAL_FONT
cell.fill = r_fill
cell.alignment = CENTER_TOP if c_idx == 1 else WRAP
cell.border = THIN_BORDER
ws2.row_dimensions[current_row].height = 70
current_row += 1
current_row += 1 # blank spacer
ws2_col_widths = [5, 26, 32, 28, 46, 54, 36, 28, 36, 50]
for i, w in enumerate(ws2_col_widths, start=1):
ws2.column_dimensions[get_column_letter(i)].width = w
ws2.freeze_panes = "A3"
# ── SHEET 3: QUICK REFERENCE (key facts only) ─────────────────────────────────
ws3 = wb.create_sheet("Quick Reference")
QR_HEADERS = ["#", "INN", "Category", "Group", "Key Indications (brief)",
"Dose Form", "Adult Dose", "Rx Type", "Analogue", "Trade Name"]
for c_idx, h in enumerate(QR_HEADERS, start=1):
cell = ws3.cell(row=1, column=c_idx, value=h)
cell.font = HEADER_FONT
cell.fill = HEADER_FILL
cell.alignment = CENTER_TOP
cell.border = THIN_BORDER
ws3.row_dimensions[1].height = 28
for r_idx, drug in enumerate(DRUGS_SORTED, start=2):
# Shorten indications to first ~120 chars
indications_short = drug[6][:130] + "..." if len(drug[6]) > 130 else drug[6]
row_data = [
drug[0], drug[1], drug[3], drug[4],
indications_short, drug[7], drug[8], drug[9], drug[10], drug[2]
]
rx = drug[9]
if "NARCOTIC" in rx:
r_fill = NARC_FILL
elif "CONTROLLED" in rx:
r_fill = CTRL_FILL
else:
r_fill = ALT_FILL_A if r_idx % 2 == 0 else ALT_FILL_B
for c_idx, val in enumerate(row_data, start=1):
cell = ws3.cell(row=r_idx, column=c_idx, value=val)
cell.font = BOLD_FONT if c_idx in (1, 2) else NORMAL_FONT
cell.fill = r_fill
cell.alignment = CENTER_TOP if c_idx == 1 else WRAP
cell.border = THIN_BORDER
ws3.row_dimensions[r_idx].height = 55
qr_col_widths = [5, 24, 28, 28, 48, 38, 34, 26, 34, 32]
for i, w in enumerate(qr_col_widths, start=1):
ws3.column_dimensions[get_column_letter(i)].width = w
ws3.auto_filter.ref = f"A1:{get_column_letter(len(QR_HEADERS))}{ws3.max_row}"
ws3.freeze_panes = "C2"
# ── SHEET 4: LEGEND ───────────────────────────────────────────────────────────
ws4 = wb.create_sheet("Legend")
legend_data = [
("COLOUR LEGEND", "", ""),
("Row colour", "Meaning", "Example"),
("White / Light blue-grey alternating", "Standard prescription (Form 107-1/u)", "Azithromycin, Amlodipine"),
("Amber / Yellow (FFF2CC)", "Controlled substance – Form 148-1/u-04 (Schedule III/IV, Russia)", "Diazepam, Tramadol, Nandrolone"),
("Salmon / Orange (FCE4D6)", "Narcotic analgesic – Form 107/u-NP (Narcotic List I, Russia)", "Fentanyl"),
("", "", ""),
("PRESCRIPTION FORMS (Russia)", "", ""),
("Form 107-1/u", "Standard outpatient prescription", "Valid 60 days (chronic) / 10 days (acute)"),
("Form 148-1/u-04", "Strict prescription for controlled psychotropics/anabolics", "Valid 5 days; no repeats; physician personal stamp required"),
("Form 107/u-NP", "Narcotic/psychotropic prescription (List I substances)", "Two-layer seal; patient ID; strict dispensing records; valid 5 days"),
("", "", ""),
("DOSE NOTATION", "", ""),
("Doses in grams (Rp: format)", "Russian convention: 0.5 = 500 mg; 0.005 = 5 mg", ""),
("D.t.d. N.", "Detur tales doses numero – 'Give such doses, quantity N'", ""),
("S:", "Signa – patient instructions label", ""),
("", "", ""),
("SHEETS", "", ""),
("All 50 Drugs – Full Table", "Complete 12-column comparison; filterable; all 50 drugs sorted by #", ""),
("By Therapeutic Category", "Same data grouped by therapeutic category; colour-coded by class", ""),
("Quick Reference", "10-column condensed view; filterable by any column", ""),
("Legend", "This sheet – colour codes and prescription form guide", ""),
]
LEGEND_TITLE_FILL = PatternFill("solid", fgColor="1F3864")
LEGEND_TITLE_FONT = Font(name="Arial", bold=True, color="FFFFFF", size=11)
LEGEND_HDR_FILL = PatternFill("solid", fgColor="D9E1F2")
LEGEND_HDR_FONT = Font(name="Arial", bold=True, size=10)
for r_idx, (a, b, c) in enumerate(legend_data, start=1):
for c_idx, val in enumerate([a, b, c], start=1):
cell = ws4.cell(row=r_idx, column=c_idx, value=val)
cell.border = THIN_BORDER
if a in ("COLOUR LEGEND", "PRESCRIPTION FORMS (Russia)", "DOSE NOTATION", "SHEETS"):
ws4.merge_cells(start_row=r_idx, start_column=1, end_row=r_idx, end_column=3)
cell.font = LEGEND_TITLE_FONT
cell.fill = LEGEND_TITLE_FILL
cell.alignment = Alignment(horizontal="left", vertical="center")
break
elif b == "Meaning" or b == "":
cell.font = LEGEND_HDR_FONT
cell.fill = LEGEND_HDR_FILL
cell.alignment = WRAP
else:
cell.font = NORMAL_FONT
cell.alignment = WRAP
ws4.column_dimensions["A"].width = 45
ws4.column_dimensions["B"].width = 50
ws4.column_dimensions["C"].width = 40
# Sample colour row previews
sample_rows = {
3: ALT_FILL_B,
4: CTRL_FILL,
5: NARC_FILL,
}
for r, fill in sample_rows.items():
ws4.cell(row=r, column=1).fill = fill
# ── SAVE ──────────────────────────────────────────────────────────────────────
output_path = "/home/daytona/workspace/pharma-table/50_Drugs_Comparison_Table.xlsx"
wb.save(output_path)
print(f"Saved: {output_path}")
print(f"Rows: {ws1.max_row - 1} drugs | Sheets: {len(wb.sheetnames)}")
cd /home/daytona/workspace/pharma-table && python3 build_table.py
python3 -c " import openpyxl, tempfile, os wb = openpyxl.Workbook() ws = wb.active ws['A1'] = 'test' # Try saving to /tmp first tmp = '/tmp/test_save.xlsx' wb.save(tmp) print('tmp save ok:', os.path.exists(tmp)) # Now copy to workspace import shutil shutil.copy(tmp, '/home/daytona/workspace/pharma-table/test.xlsx') print('workspace copy ok') "
ls -la /home/daytona/workspace/pharma-table/ && stat /home/daytona/workspace/pharma-table/ 2>&1 | head -5 && python3 -c " import os p = '/home/daytona/workspace/pharma-table/test.txt' with open(p,'w') as f: f.write('hello') print('write ok', os.path.exists(p)) "
~/pharma-table/build_table.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/pharma-table/build_table.py'
cd /home/daytona/workspace/pharma-table && python3 build_table.py 2>&1
python3 -c " # Check which numbers are present import sys sys.path.insert(0, '/home/daytona/workspace/pharma-table') # Quick parse of drug numbers import re with open('/home/daytona/workspace/pharma-table/build_table.py') as f: content = f.read() # Find all drug tuple starts like '(1,' nums = re.findall(r'^\s+\((\d+),\s', content, re.MULTILINE) nums_int = sorted(int(x) for x in nums) print('Drug numbers found:', nums_int) print('Count:', len(nums_int)) missing = [i for i in range(1, 51) if i not in nums_int] print('Missing:', missing) "
~/pharma-table/build_table.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/pharma-table/build_table.py'
~/pharma-table/build_table.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/pharma-table/build_table.py'
~/pharma-table/build_table.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/pharma-table/build_table.py'
~/pharma-table/build_table.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/pharma-table/build_table.py'
~/pharma-table/build_table.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/pharma-table/build_table.py'