Me Rajsthan pharmacist ki tayri kr rha hu or Mene online conching li h uski 421 class h or me Subh 9 se 5 pdh sakta Hu to koi ache short or samjne wala well plan time table batao 3 months ka

Aapke liye ek 3-Month Rajasthan Pharmacist Exam Timetable bana raha hoon โ€” 421 classes, 9 AM to 5 PM daily study window ke hisaab se!

๐Ÿ“š Rajasthan Pharmacist Exam โ€” 3 Month Study Timetable

๐Ÿ”ข Basic Calculation

ItemDetail
Total Classes421
Study Days (3 months, ~90 days)~80 days (10 days revision/test ke liye)
Classes per day~5-6 classes
Daily Study Time9 AM โ€“ 5 PM (8 hours)

โฐ Daily Time Table (9 AM โ€“ 5 PM)

TimeActivityDuration
9:00 โ€“ 9:15Revision (kal ka padha hua)15 min
9:15 โ€“ 10:30Class 1 (Video + Notes)75 min
10:30 โ€“ 11:45Class 2 (Video + Notes)75 min
11:45 โ€“ 12:00Short Break15 min
12:00 โ€“ 1:00Class 3 (Video + Notes)60 min
1:00 โ€“ 1:30Lunch Break30 min
1:30 โ€“ 2:45Class 4 (Video + Notes)75 min
2:45 โ€“ 4:00Class 5 (Video + Notes)75 min
4:00 โ€“ 4:15Short Break15 min
4:15 โ€“ 5:00Daily MCQ Practice (20-30 Q)45 min
Daily: 5 classes + MCQ practice = ~6 hours active study

๐Ÿ“… 3-Month Subject-Wise Plan

๐ŸŸข Month 1 (Day 1โ€“30) โ€” Foundation

Classes 1โ€“150 cover karo
WeekSubject FocusClasses
Week 1 (Day 1-7)Pharmaceutics (Basics, Dosage Forms)~35 classes
Week 2 (Day 8-14)Pharmacognosy (Drug sources, Plant drugs)~35 classes
Week 3 (Day 15-21)Pharmaceutical Chemistry (Basic)~35 classes
Week 4 (Day 22-28)Biochemistry + Human Anatomy basics~35 classes
Day 29-30Month 1 Full Revision + Mock Testโ€”

๐ŸŸก Month 2 (Day 31โ€“60) โ€” Core Subjects

Classes 151โ€“300 cover karo
WeekSubject FocusClasses
Week 5 (Day 31-37)Pharmacology (Drug actions, receptors)~35 classes
Week 6 (Day 38-44)Hospital & Clinical Pharmacy~35 classes
Week 7 (Day 45-51)Drug Store & Business Management~35 classes
Week 8 (Day 52-58)Pharmaceutical Jurisprudence (Acts & Laws)~35 classes
Day 59-60Month 2 Full Revision + Mock Testโ€”

๐Ÿ”ด Month 3 (Day 61โ€“90) โ€” Advanced + Revision

Classes 301โ€“421 + Full Revision
WeekSubject FocusClasses
Week 9 (Day 61-67)Remaining Classes 301-370~35 classes
Week 10 (Day 68-74)Remaining Classes 371-421~25 classes + PYQ
Week 11 (Day 75-81)Full Syllabus Rapid Revision (Notes only)โ€”
Week 12 (Day 82-88)Daily 2 Mock Tests + Weak topicsโ€”
Day 89-90Final Revision + Restโ€”

๐Ÿ“ Weekly Sunday Plan

Har Sunday ko:
  • โœ… Poore hafte ka revision (1.5 hours)
  • โœ… 1 Full Mock Test (2 hours)
  • โœ… Galat jawab analyze karo (1 hour)
  • โœ… Agle hafte ka plan ready karo (30 min)

๐Ÿ’ก Smart Tips

  1. Video speed โ€” Classes 1.5x ya 2x speed par dekho time bachao
  2. Short Notes โ€” Har class ke baad 5-10 bullet points likhlo
  3. Flashcards โ€” Drug names, formulas, Acts ke liye
  4. PYQ โ€” Rajasthan Pharmacist ke purane papers zaroor solve karo (last 5 years)
  5. Weak subjects โ€” Month 3 mein zyada time do
  6. Daily MCQ โ€” Minimum 30 questions daily solve karo

๐ŸŽฏ Priority Topics (Exam ke hisaab se)

PrioritySubject
โญโญโญ HighPharmacology, Pharmaceutics, Drug Laws
โญโญ MediumPharmacognosy, Pharma Chemistry
โญ ImportantBiochemistry, Hospital Pharmacy

Yeh timetable follow karo aur consistency rakho โ€” 3 months mein poora syllabus + revision + practice ho jayega! All the best! ๐ŸŽ‰

Konsi subject phle pdhni chaiye Kuki me 2 saal baad padyi suru kr rha hu

Bilkul sahi sawaal! 2 saal baad padhai shuru kar rahe ho toh subject order bahut important hai โ€” pehle woh subjects jo baaki subjects ka base hain.

๐Ÿ“š Subject Order โ€” 2 Saal Baad Padhai Shuru Karne Ke Liye

๐Ÿง  Logic: Pehle "Samajhne wale" subjects, baad mein "Yaad karne wale"


โœ… Recommended Order (1 se 6)


๐Ÿฅ‡ 1st โ€” Human Anatomy & Physiology

Kyun pehle? Sabse basic โ€” body kaise kaam karti hai yeh samjhe bina koi bhi drug samajh nahi aayegi.
  • Body ke organs, systems
  • Blood circulation, nervous system, digestion
  • Yeh padhoge toh Pharmacology 2x easy ho jaayegi

๐Ÿฅˆ 2nd โ€” Biochemistry (Basic)

Kyun? Drug body mein kaise react karti hai โ€” yeh samajhne ke liye
  • Proteins, enzymes, metabolism
  • Zyada deep mat jao โ€” sirf exam-relevant topics
  • Anatomy ke baad yeh naturally connect hoga

๐Ÿฅ‰ 3rd โ€” Pharmaceutics

Kyun? Medicines kaise banti hain โ€” tablets, syrups, injections
  • Dosage forms (tablet, capsule, syrup, ointment)
  • Formulation basics
  • Exam mein bahut questions aate hain โ€” scoring subject hai

4th โ€” Pharmaceutical Chemistry

Drug ke chemical structures & reactions
  • Inorganic + Organic chemistry basics
  • Drug synthesis (short level)
  • Thoda boring lagega but important hai

5th โ€” Pharmacognosy

Plants se milne wali drugs
  • Plant-based medicines (Neem, Tulsi, Ashwagandha etc.)
  • Drug sources โ€” plant, animal, mineral
  • Yaad karne wala subject โ€” last mein karo toh fresh rahega

๐Ÿ† 6th โ€” Pharmacology โญ (MOST IMPORTANT)

Drugs kaise kaam karti hain โ€” yeh EXAM KA HEART hai
  • Drug mechanisms, side effects, uses
  • Receptors, drug interactions
  • Sabse zyada questions is subject se aate hain
  • Anatomy + Biochemistry padh chuke ho toh yeh EASY lagega

7th โ€” Parallel mein padhte raho (Kabhi bhi)

SubjectKab Padho
๐Ÿ“œ Pharmaceutical Jurisprudence (Drug Laws)Month 2 mein
๐Ÿฅ Hospital & Clinical PharmacyMonth 2 mein
๐Ÿช Drug Store ManagementMonth 3 mein

๐ŸŽฏ 2 Saal Baad Ke Liye Special Tips

โ— Yeh 5 kaam zaroor karo:

  1. Pehle 1 week โ€” Sirf syllabus dekho, previous year papers dekho (samjho kya puchha jaata hai)
  2. Notes likhte chalo โ€” 2 saal baad brain fresh start mein hai, notes se revision easy hogi
  3. Anatomy mein diagrams โ€” drawings se yaad zyada rehta hai
  4. Pharmacology mein drug tables banao โ€” Drug name | Use | Side effect
  5. Roz 20-30 MCQ โ€” pehle din se hi practice shuru karo

๐Ÿ—“๏ธ 3 Month Revised Order

MonthSubjects
Month 1Anatomy + Physiology โ†’ Biochemistry โ†’ Pharmaceutics
Month 2Pharmaceutical Chemistry โ†’ Pharmacognosy โ†’ Drug Laws
Month 3Pharmacology (full focus) + Revision + Mock Tests

๐Ÿ’ฌ Simple Rule Yaad Rakho:

"Pehle Body Samjho โ†’ Phir Chemistry โ†’ Phir Drugs" Anatomy โ†’ Biochemistry โ†’ Pharmaceutics โ†’ Chemistry โ†’ Pharmacognosy โ†’ Pharmacology

Is order se padhaoge toh har subject pichle se connect hoga aur 2 saal ka gap bhi feel nahi hoga! ๐Ÿ’ช
Koi specific subject mein doubt ho toh poochho! ๐ŸŽฏ

To koi pharmacology phle nhi pdhe

Bilkul sahi sawaal kiya! Yeh ek common confusion hai. Seedha jawab:

๐Ÿค” Pharmacology Pehle Padh Sakte Ho โ€” BUT...

โœ… Haan, Pharmacology Pehle Bhi Padh Sakte Ho โ€” Agar:

  • Tumhari coaching ki classes usi order mein hain
  • Tumhare paas time ki kami hai
  • Tum sirf exam crack karna chahte ho (deep understanding nahi chahiye)
Exam ke liye Pharmacology pehle padhna GALAT nahi hai!

โš ๏ธ Lekin Yeh Dikkat Aayegi:

ProblemExample
Terms samajh nahi aayenge"Receptor agonist" โ€” receptor kya hota hai?
Drug mechanisms confuse hongeBP ki drug kaise kaam karti hai body mein?
Ratta zyada lagega, samajh kamSirf yaad karna padega, logic nahi banega

๐Ÿ’ก Sabse Practical Solution:

Coaching Order Follow Karo โ€” BUT saath mein yeh karo:

Jab Pharmacology mein koi cheez samajh na aaye โ€” Usi waqt uss topic ka Anatomy/Physiology ka short concept padh lo

Example:

  • Pharmacology mein Heart ki drug aa gayi
  • Samajh nahi aaya? โ†’ 15 minute mein Heart ka Physiology padh lo
  • Phir wapas Pharmacology โ€” ab clearly samajh aayega โœ…

๐ŸŽฏ Final Answer โ€” Tumhare Liye Best Approach:

Coaching ki class jis order mein hai โ†’ Usi order mein padho
        +
Jahan confuse ho โ†’ Usi topic ka basic concept turant padh lo
        +
Roz MCQ practice โ†’ Samajh khud develop hogi

๐Ÿ“Œ Ek Aur Sach Baat:

Rajasthan Pharmacist Exam mein Pharmacology ke questions mostly fact-based hote hain:
  • "Aspirin ka use kya hai?" โœ…
  • "Penicillin kis cheez ke liye use hoti hai?" โœ…
Itne deep mechanism nahi poochhe jaate โ€” toh ratta + MCQ practice bhi kaam karti hai!

Short mein: Coaching order follow karo, ghabrao mat, aur jahan atko wahan usi topic ka basic turant dekh lo. 3 months mein ho jayega! ๐Ÿ’ช

Rajasthan Pharmacist ke recent guidelines aur exam syllabus search karun?

Searching the Web

Rajasthan Pharmacist exam syllabus 2025 2026 RSMSSB

Searching the Web

RSMSSB Pharmacist recruitment 2025 2026 notification exam pattern

Reading Web Page

https://www.adda247.com/exams/nursing/rajasthan-pharmacist-sโ€ฆ

Latest search results mil gaye! Ab poora official syllabus aur exam pattern yahan hai:

๐ŸŽฏ Rajasthan Pharmacist Exam โ€” Official Syllabus & Pattern 2025-26

๐Ÿ“‹ Exam Pattern (Latest)

DetailInfo
Conducting BodyRSMSSB / Rajasthan Health Department
Total Questions150
Total Marks150
Exam Duration3 Hours (180 minutes)
Question TypeObjective MCQ
Negative Markingโ— 1/3 marks katenge galat jawab par
Minimum Qualifying40% marks
Official Websiterajswasthya.nic.in

๐Ÿ“Š Section-Wise Marks Distribution

SectionQuestionsMarks
General Knowledge4545
Pharmacist Subject105105
Total150150

๐Ÿ“š Part 1 โ€” General Knowledge (45 Marks)

Topic
Current Affairs - National & International
Indian History & National Movement
Indian Economy & Budget
Five Year Plans
Science & Technology
Science - Inventions & Discoveries
Awards & Honours
Sports
Important Days
Books & Authors
Countries & Capitals
Abbreviations
General Policy
International & National Organizations
โšก Tip: Rajasthan GK bhi zaroor padho โ€” Rajasthan se related current affairs aate hain!

๐Ÿ’Š Part 2 โ€” Pharmacist Subject (105 Marks) โ€” OFFICIAL TOPICS

#SubjectImportance
1Pharmaceuticsโญโญโญ High
2Pharmaceutical Chemistryโญโญโญ High
3Pharmacognosyโญโญ Medium
4Biochemistry & Clinical Pathologyโญโญ Medium
5Human Anatomy & Physiologyโญโญโญ High
6Health Education & Community Pharmacyโญโญ Medium
7Pharmacology & Toxicologyโญโญโญ High
8Pharmaceutical Jurisprudenceโญโญโญ High
9Drug Store & Business Managementโญโญ Medium
10Hospital & Clinical Pharmacyโญโญ Medium

โš ๏ธ Negative Marking Strategy

1/3 marks katenge โ€” matlab 3 galat = 1 sahi ka nuksan
  • Jo confirm pata ho wohi answer karo
  • Guess mat karo random
  • 2 options eliminate ho jayein toh calculated guess theek hai

๐Ÿ”” Latest Recruitment Status (2025-26)

  • RSSB Pharma Assistant 2025 โ€” 639 vacancies (NHM Rajasthan) โ€” contract based
  • Eligibility: D.Pharma / B.Pharma + Rajasthan Pharmacy Council registration
  • Next cycle โ€” 2026 mein expected
  • Official notification ke liye rsmssb.rajasthan.gov.in check karte raho

โœ… Tumhare Liye Action Plan

  1. Abhi karo โ€” Official website rsmssb.rajasthan.gov.in bookmark karo
  2. Syllabus PDF โ€” Official notification se download karo
  3. GK โ€” Daily 30 min Rajasthan + National current affairs padho
  4. Pharmacy Subject โ€” 105 marks ke 10 subjects โ€” coaching classes follow karo
  5. Previous Year Papers โ€” Last 5 years ke papers zaroor solve karo

Yeh latest official syllabus hai โ€” isi ke hisaab se tumhara 3 month timetable already banaya hua hai! ๐Ÿ’ช Koi aur cheez chahiye toh batao!

Mujhe jisse subject samj me aaye vo time table bano

๐Ÿง  "Samajh Aaye" Wala Timetable โ€” Rajasthan Pharmacist

๐Ÿ’ก Strategy: Easy โ†’ Medium โ†’ Hard order mein padho

Pehle jo subjects interesting aur easy hain woh padho โ€” brain active rahega, confidence badhega. Phir step by step tough subjects aayenge.

๐Ÿ—“๏ธ 3 Month "Samajh Wala" Plan


๐ŸŸข MONTH 1 โ€” "Body & Nature" (Sabse Interesting!)

Din 1โ€“30

๐Ÿ“… Week 1 (Day 1โ€“7)

๐Ÿซ€ Human Anatomy & Physiology

Kyun pehle? Real body ki baat โ€” ekdum interesting, pictures dekho, samajh aata hai!
DinTopicKaise Padho
Day 1Body systems overview, Cells & TissuesDiagram banao
Day 2Skeletal & Muscular SystemBody ka drawing
Day 3Digestive SystemFlow chart banao
Day 4Respiratory & Circulatory SystemHeart diagram
Day 5Nervous System & BrainMind map
Day 6Endocrine & Reproductive SystemTable banao
Day 7REVISION + 30 MCQ PracticeNotes dekho

๐Ÿ“… Week 2 (Day 8โ€“14)

๐ŸŒฟ Pharmacognosy

Kyun? Plants ki duniya โ€” Neem, Tulsi, Ashwagandha โ€” rozmarra ki cheezein, yaad karna easy!
DinTopicTrick
Day 8Drug sources โ€” Plant, Animal, MineralReal examples
Day 9Cultivation & Collection of drugsStories se yaad karo
Day 10Alkaloids (Morphine, Quinine, Caffeine)Short table
Day 11Glycosides & TanninsGroup banao
Day 12Volatile oils, Resins, GumsSmell/feel se connect karo
Day 13Important plant drugs โ€” Neem, Tulsi etc.Daily life se jodo
Day 14REVISION + 30 MCQ Practiceโ€”

๐Ÿ“… Week 3 (Day 15โ€“21)

๐Ÿ”ฌ Biochemistry & Clinical Pathology

Body ke andar chemistry โ€” Anatomy padh chuke ho toh connect hoga!
DinTopic
Day 15Carbohydrates โ€” structure, metabolism
Day 16Proteins & Amino acids
Day 17Lipids & Fats metabolism
Day 18Enzymes โ€” kaam kaise karte hain
Day 19Vitamins & Minerals (table banao)
Day 20Clinical Pathology โ€” Blood tests, Urine tests
Day 21REVISION + 30 MCQ Practice

๐Ÿ“… Week 4 (Day 22โ€“28)

๐Ÿฅ Health Education & Community Pharmacy

Sabse easy subject โ€” common sense + general health knowledge!
DinTopic
Day 22Health & Disease concepts
Day 23Communicable diseases โ€” TB, Malaria, etc.
Day 24Immunization & Vaccines schedule
Day 25Nutrition & Balanced diet
Day 26Family Planning & Maternal health
Day 27Community health programs (Govt schemes)
Day 28REVISION + 30 MCQ Practice

Day 29โ€“30: ๐Ÿ” Month 1 Full Revision + 1 Mock Test


๐ŸŸก MONTH 2 โ€” "Medicine ki Duniya"

Din 31โ€“60

๐Ÿ“… Week 5 (Day 31โ€“37)

๐Ÿ’Š Pharmaceutics

Medicines kaise banti hain โ€” practical aur interesting!
DinTopic
Day 31Introduction โ€” Dosage forms overview
Day 32Tablets โ€” manufacturing, coating
Day 33Capsules, Syrups, Suspensions
Day 34Injections & Sterile preparations
Day 35Ointments, Creams, Suppositories
Day 36Packaging & Storage of medicines
Day 37REVISION + 30 MCQ Practice

๐Ÿ“… Week 6 (Day 38โ€“44)

โš—๏ธ Pharmaceutical Chemistry

Thoda dry subject hai โ€” but short notes + tricks se ho jaata hai
DinTopic
Day 38Inorganic Pharmaceuticals โ€” acids, bases, salts
Day 39Antacids, Antiseptics, Disinfectants
Day 40Organic Chemistry basics โ€” functional groups
Day 41Analgesics & Anti-inflammatory drugs (structure)
Day 42Antibiotics structures
Day 43Vitamins & Hormone chemistry
Day 44REVISION + 30 MCQ Practice

๐Ÿ“… Week 7 (Day 45โ€“51)

๐Ÿ“œ Pharmaceutical Jurisprudence

Drug Laws โ€” yaad karna hai but very scoring subject!
DinTopic
Day 45Drugs & Cosmetics Act 1940
Day 46Schedules โ€” H, X, G, C, E (table banao)
Day 47Pharmacy Act 1948 โ€” Pharmacist registration
Day 48Narcotic Drugs & Psychotropic Substances Act
Day 49Drugs & Magic Remedies Act
Day 50Prevention of Food Adulteration Act
Day 51REVISION + 30 MCQ Practice
๐Ÿ’ก Tip: Laws ke liye year + name ek saath yaad karo โ€” chart paper pe likhdo wall pe!

๐Ÿ“… Week 8 (Day 52โ€“58)

๐Ÿช Drug Store & Business Management + Hospital Pharmacy

Practical knowledge โ€” easy common sense topics!
DinTopic
Day 52Drug Store setup, layout, licensing
Day 53Inventory management โ€” FIFO, expiry
Day 54Purchasing, billing, records
Day 55Hospital Pharmacy โ€” functions, formulary
Day 56Drug Information services
Day 57Patient counseling basics
Day 58REVISION + 30 MCQ Practice

Day 59โ€“60: ๐Ÿ” Month 2 Full Revision + 1 Mock Test


๐Ÿ”ด MONTH 3 โ€” "King Subject + GK + Full Attack"

Din 61โ€“90

๐Ÿ“… Week 9โ€“10 (Day 61โ€“75)

๐Ÿ† Pharmacology & Toxicology

EXAM KA HEART โ€” Ab tak sab padh chuke ho toh yeh easy lagega!
DinTopic
Day 61Drug basics โ€” receptors, agonist, antagonist
Day 62ANS drugs โ€” Adrenaline, Atropine
Day 63Analgesics โ€” Aspirin, Paracetamol, Morphine
Day 64Antibiotics โ€” Penicillin, Tetracycline, Streptomycin
Day 65Cardiovascular drugs โ€” digoxin, antihypertensives
Day 66GIT drugs โ€” antacids, antiemetics, laxatives
Day 67Weekly Revision + MCQ
Day 68CNS drugs โ€” sedatives, hypnotics, antiepileptics
Day 69Anti-diabetic drugs โ€” Insulin, Metformin
Day 70Respiratory drugs โ€” bronchodilators, antihistamines
Day 71Chemotherapy โ€” anti-TB, antimalarials
Day 72Toxicology โ€” poisons, antidotes (important!)
Day 73Vitamins & Hormone pharmacology
Day 74Drug interactions & side effects
Day 75Pharmacology Full Revision + 50 MCQ

๐Ÿ“… Week 11 (Day 76โ€“81)

๐Ÿ‡ฎ๐Ÿ‡ณ General Knowledge โ€” Focused Preparation

DinTopic
Day 76Rajasthan GK โ€” History, Geography, Culture
Day 77Indian History & Freedom Movement
Day 78Science & Technology, Inventions
Day 79Current Affairs (last 6 months)
Day 80Awards, Sports, Important Days
Day 81GK Revision + 45 MCQ Practice

๐Ÿ“… Week 12 (Day 82โ€“90) โ€” FINAL ATTACK ๐Ÿš€

DinActivity
Day 82Full Syllabus Rapid Revision โ€” Anatomy + Pharmacognosy
Day 83Full Mock Test 1 โ€” Analyze karo
Day 84Weak topics fix โ€” Biochemistry + Chemistry
Day 85Full Mock Test 2 โ€” Analyze karo
Day 86Pharmaceutics + Jurisprudence revision
Day 87Full Mock Test 3 โ€” Score dekho
Day 88Pharmacology rapid notes revision
Day 89GK + Current Affairs last revision
Day 90LIGHT REVISION ONLY โ€” Rest karo! ๐Ÿ˜ด

๐Ÿ“Œ Roz Ka Fixed Daily Routine

TimeKaam
9:00โ€“9:15Kal ka 5 min revision
9:15โ€“11:15Subject 1 (2 coaching classes + notes)
11:15โ€“11:30Break
11:30โ€“1:00Subject 2 (2 classes + notes)
1:00โ€“1:30Lunch
1:30โ€“3:00Subject 3 (1-2 classes + notes)
3:00โ€“4:00Short notes likhna / diagrams
4:00โ€“4:15Break โ˜•
4:15โ€“5:0030 MCQ Practice (din ka sabse zaroori hissa!)

๐Ÿง  "Samajh Aaye" Tips

CheezKaise Karo
AnatomyDiagrams + YouTube body videos
PharmacognosyPlant ke real naam rozmarra se jodo
PharmacologyDrug name - Use - Side effect KI TABLE
JurisprudenceWall chart โ€” Acts + Year
ChemistryGrouping karo โ€” Antacid group, Antibiotic group
GKRoz 1 news padhna โ€” Google News

Yaad rakho: Samajhke padha hua kabhi nahi bhulta โ€” ratta ek hafte mein bhul jaate ho! ๐Ÿ’ช
Is order se padhaoge toh har subject previous se connected lagega aur exam mein confidence aayega! ๐ŸŽฏ

Asa time table bank jo Har phle pade huye subject se conect ho or samjne me aasani ho

๐Ÿ”— "Chain Learning" Timetable โ€” Har Subject Pichle Se Juda Hai!

๐Ÿง  Concept: Building Blocks Method

Anatomy โ†’ Biochemistry โ†’ Pharmacognosy โ†’ Pharmaceutics
                โ†“
        Pharmaceutical Chemistry
                โ†“
          Pharmacology โ† (Sab ka conclusion)
                โ†“
        Jurisprudence + Hospital + Drug Store + GK
Har subject ek "bridge" hai agเคฒเฅ‡ subject tak!

๐Ÿ”— Connection Map (Samajhne ke liye)

Pehle PadhaAgle Subject mein Kaam Aaya
AnatomyBody mein drug kahan jaati hai โ€” Pharmacology
BiochemistryDrug body mein react kaise karti hai โ€” Pharmacology
PharmacognosyPlants se drug kaise banti hai โ€” Pharmaceutics
PharmaceuticsDrug form kaise banti hai โ€” Chemistry
Pharma ChemistryDrug ki chemical strength โ€” Pharmacology
PharmacologyDrug kaise use hoti hai โ€” Hospital + Clinical
JurisprudenceDrug legally kaise bechein โ€” Drug Store

๐Ÿ“… MONTH 1 โ€” "BODY BANANA" (Foundation)

Target: Body samjho โ†’ Phir drugs samajh aayengi

๐ŸŸข WEEK 1 (Day 1โ€“7)

๐Ÿซ€ Subject 1: Human Anatomy & Physiology

๐Ÿ”— Yeh kyon pehle? โ€” Kyunki SARI PHARMACY IS PAR TIKHI HAI

DinTopicConnection Aage
Day 1Cell โ€” body ki basic unitBiochemistry mein cell reactions samjhoge
Day 2Blood โ€” composition, RBC, WBC, PlateletsDrug blood mein ghulti hai โ€” Pharma Chemistry
Day 3Heart + CirculationHeart ki drugs โ€” Pharmacology
Day 4Lungs + Respiratory systemAsthma drugs โ€” Pharmacology
Day 5Digestive system โ€” stomach, liver, intestineOral drug absorption โ€” Pharmaceutics
Day 6Nervous system + BrainCNS drugs โ€” Pharmacology
Day 7Endocrine system โ€” Hormones (Insulin, etc.)Hormone drugs โ€” Pharmacology + Chemistry
๐Ÿ” Day 7 Revision: "Aaj tak jo padha โ€” body ke har organ ka naam aur kaam" โ€” 1 page mein likhna

๐ŸŸข WEEK 2 (Day 8โ€“14)

๐Ÿ”ฌ Subject 2: Biochemistry & Clinical Pathology

๐Ÿ”— Anatomy ke baad kyun? โ€” Cell dekha โ†’ Ab cell ke andar chemistry dekho

DinTopicAnatomy Se Connection
Day 8Carbohydrates โ€” glucose, starchDigestive system ne glucose absorb kiya (Day 5)
Day 9Proteins & Amino AcidsBlood mein proteins hoti hain (Day 2)
Day 10Lipids & FatsLiver fat process karta hai (Day 5)
Day 11Enzymes โ€” catalyst of bodyDigestion mein enzymes kaam karte hain (Day 5)
Day 12Vitamins & MineralsBlood mein transport hote hain (Day 2)
Day 13Clinical Pathology โ€” Blood test, Urine testBlood (Day 2) โ€” ab test karna seekho
Day 14Hormones โ€” Insulin, Thyroid, CortisolEndocrine (Day 7) ka hi deep version
๐Ÿ” Day 14 Revision: "Anatomy + Biochemistry โ€” ek saath connect karo" โ€” diagram banao

๐ŸŸข WEEK 3 (Day 15โ€“21)

๐ŸŒฟ Subject 3: Pharmacognosy

๐Ÿ”— Biochemistry ke baad kyun? โ€” Plants mein bhi same chemicals hote hain jo body mein hote hain!

DinTopicBiochemistry Se Connection
Day 15Plant parts โ€” leaves, roots, barkPlants mein bhi carbohydrates hote hain (Day 8)
Day 16Alkaloids โ€” Morphine, Quinine, CaffeineNitrogen-containing compounds โ€” Proteins ki tarah (Day 9)
Day 17Glycosides โ€” Digoxin (heart plant drug)Heart (Anatomy Day 3) + Enzymes (Day 11)
Day 18Volatile oils โ€” Clove, EucalyptusLipids jaisi oily nature (Day 10)
Day 19Tannins, Resins, GumsPolysaccharides โ€” Carbohydrates se related (Day 8)
Day 20Important plants โ€” Neem, Tulsi, AshwagandhaVitamins/minerals wale plants (Day 12)
Day 21Animal & Mineral drugs โ€” Insulin (animal), CalciumInsulin โ€” Biochemistry Day 14 se hi connected!
๐Ÿ” Day 21 Revision: "Plant โ†’ Chemical โ†’ Body mein kaam" โ€” 3 column table

๐ŸŸข WEEK 4 (Day 22โ€“28)

๐Ÿ’Š Subject 4: Pharmaceutics

๐Ÿ”— Pharmacognosy ke baad kyun? โ€” Plant/chemical mila โ†’ Ab medicine kaise banate hain?

DinTopicPichle Se Connection
Day 22Tablet manufacturingPlant extract โ†’ powder โ†’ tablet (Pharmacognosy)
Day 23Capsules & SyrupsAlkaloids capsule mein bhare jaate hain (Day 16)
Day 24Suspensions & EmulsionsLipids (Day 10) โ€” oil+water mix = emulsion
Day 25Injections & IV fluidsBlood mein direct jaati hai (Anatomy Day 2)
Day 26Ointments, Creams โ€” topicalSkin ke through absorption โ€” Anatomy
Day 27Suppositories, InhalersRespiratory (Day 4) + Digestive (Day 5) routes
Day 28Storage & Packaging โ€” light, temp, humidityVolatile oils (Day 18) โ€” light se kharab hoti hain!
๐Ÿ” Day 28 Revision: "Drug source โ†’ Drug form โ†’ Body mein kahan jaati hai"

๐Ÿ“ Day 29โ€“30: MONTH 1 FULL REVISION + MOCK TEST 1


๐Ÿ“… MONTH 2 โ€” "DRUG BANANA & SAMAJHNA"

Target: Drug ki chemistry + Laws samjho

๐ŸŸก WEEK 5 (Day 31โ€“37)

โš—๏ธ Subject 5: Pharmaceutical Chemistry

๐Ÿ”— Pharmaceutics ke baad kyun? โ€” Medicine ban gayi โ†’ Ab uski chemistry samjho

DinTopicPichle Se Connection
Day 31Inorganic salts โ€” Sodium, Calcium, IronMinerals (Biochemistry Day 12)
Day 32Antacids โ€” Magnesium hydroxide, Aluminium hydroxideDigestive system (Anatomy Day 5)
Day 33Antiseptics โ€” Phenol, Iodine, H2O2Clinical Pathology (Biochemistry Day 13)
Day 34Analgesics chemistry โ€” Aspirin, ParacetamolTablet form (Pharmaceutics Day 22)
Day 35Antibiotics chemistry โ€” Penicillin, StreptomycinPlant/fungal source (Pharmacognosy)
Day 36Vitamins chemistry โ€” Vit C, B complexVitamins (Biochemistry Day 12) ka chemical form
Day 37Hormone chemistry โ€” Insulin, SteroidsHormones (Biochemistry Day 14)
๐Ÿ” Day 37 Revision: "Drug ka naam โ†’ chemical family โ†’ body mein kaam"

๐ŸŸก WEEK 6โ€“7 (Day 38โ€“51)

๐Ÿ† Subject 6: Pharmacology & Toxicology

๐Ÿ”— Sabse important subject โ€” AB TAK SABA PADHA ISKA KAAM AAYEGA!

Anatomy (organ) + Biochemistry (reaction) + 
Pharmacognosy (source) + Chemistry (structure) 
        = PHARMACOLOGY (drug kaam kaise karti hai!)
DinTopicConnection
Day 38Drug basics โ€” receptor, agonist, antagonistBiochemistry enzymes (Day 11) jaisi theory
Day 39ANS drugs โ€” Adrenaline, AtropineNervous system (Anatomy Day 6)
Day 40Analgesics โ€” Aspirin, Paracetamol, MorphineChemistry Day 34 + Pharmacognosy (Morphine Day 16)
Day 41Antibiotics โ€” Penicillin, TetracyclineChemistry Day 35 ka action version
Day 42Cardiovascular drugs โ€” Digoxin, Beta blockersHeart (Anatomy Day 3) + Digoxin (Pharmacognosy Day 17)
Day 43GIT drugs โ€” Antacids, AntiemeticsDigestive (Anatomy Day 5) + Chemistry Day 32
Day 44REVISION + 50 MCQโ€”
Day 45CNS drugs โ€” Sedatives, AntiepilepticsBrain (Anatomy Day 6)
Day 46Anti-diabetic โ€” Insulin, MetforminInsulin (Biochemistry Day 14 + Chemistry Day 37)
Day 47Respiratory drugs โ€” BronchodilatorsLungs (Anatomy Day 4)
Day 48Antimalarials, Anti-TBQuinine (Pharmacognosy Day 16)
Day 49Vitamins & Hormones pharmacologyVitamins (Biochemistry Day 12) ka use
Day 50Toxicology โ€” Poisons & AntidotesChemistry (antiseptics Day 33)
Day 51Pharmacology Full Revision + 50 MCQโ€”

๐ŸŸก WEEK 8 (Day 52โ€“58)

๐Ÿ“œ Subject 7: Pharmaceutical Jurisprudence

๐Ÿ”— Pharmacology ke baad kyun? โ€” Drug jaante ho โ†’ Ab legally kaise bechein?

DinTopicConnection
Day 52Drugs & Cosmetics Act 1940 โ€” basicHar drug jo padhi (Pharmacology) โ€” isi Act ke under
Day 53Drug Schedules โ€” H, X, G, C (table)Schedule H = Pharmacology wali dangerous drugs
Day 54Pharmacy Act 1948 โ€” RegistrationTumhara khud ka pharmacist license isi se
Day 55NDPS Act โ€” Narcotic drugsMorphine (Pharmacognosy Day 16 + Pharmacology Day 40)
Day 56Drugs & Magic Remedies ActFake plant medicines โ€” Pharmacognosy se connect
Day 57Food Adulteration Act + Other Actsโ€”
Day 58Laws Revision โ€” Wall chart dekho + MCQโ€”

๐Ÿ“ Day 59โ€“60: MONTH 2 FULL REVISION + MOCK TEST 2


๐Ÿ“… MONTH 3 โ€” "PRACTICAL + GK + FINAL ATTACK"


๐Ÿ”ด WEEK 9 (Day 61โ€“67)

๐Ÿฅ Subject 8+9: Hospital Pharmacy + Drug Store Management

๐Ÿ”— Laws padh liye โ†’ Ab practically kaam kaise karein?

DinTopicConnection
Day 61Hospital Pharmacy โ€” setup, functionsPharmaceutics (medicines) + Jurisprudence (license)
Day 62Drug formulary, procurementPharmacology โ€” kaunsi drug rakhni hai
Day 63Patient counselingPharmacology ka practical use
Day 64Drug Store โ€” setup, layoutJurisprudence (license + schedule)
Day 65Inventory โ€” FIFO, expiry managementStorage (Pharmaceutics Day 28)
Day 66Billing, records, prescription readingJurisprudence + Pharmacology
Day 67Revision + MCQโ€”

๐Ÿ”ด WEEK 10 (Day 68โ€“74)

๐ŸŒ Subject 10: Health Education & Community Pharmacy + GK

DinTopicConnection
Day 68Communicable diseases โ€” TB, MalariaPharmacology (Anti-TB, Antimalarial drugs)
Day 69Immunization & VaccinesPharmacology (biologicals)
Day 70Nutrition & MalnutritionBiochemistry (Vitamins, Proteins)
Day 71Rajasthan GK โ€” History, Geographyโ€”
Day 72Indian History + Science & Technologyโ€”
Day 73Current Affairs + Awards + Sportsโ€”
Day 74GK Full Revision + 45 MCQโ€”

๐Ÿ”ด WEEK 11โ€“12 (Day 75โ€“90) โ€” FINAL REVISION

DinKaam
Day 75โ€“76Anatomy + Biochemistry rapid revision
Day 77โ€“78Pharmacognosy + Pharmaceutics rapid revision
Day 79Mock Test 3 โ€” full paper
Day 80โ€“81Pharma Chemistry + Pharmacology revision
Day 82Mock Test 4 โ€” analyze karo
Day 83โ€“84Jurisprudence + Hospital + Drug Store
Day 85Mock Test 5 โ€” score track karo
Day 86โ€“87Weak topics fix karo
Day 88GK + Current Affairs last round
Day 89Mock Test 6 โ€” final practice
Day 90๐Ÿ˜ด Halka revision + Rest โ€” EXAM READY!

๐Ÿ”— Final Connection Chain (Wall Pe Chipkao!)

Day 1โ€“7       Day 8โ€“14        Day 15โ€“21       Day 22โ€“28
 ANATOMY  โ†’  BIOCHEMISTRY  โ†’ PHARMACOGNOSY โ†’ PHARMACEUTICS
 (Body)       (Reactions)      (Plants)        (Medicine form)
                                     โ†“
                          Day 31โ€“37: PHARMA CHEMISTRY
                          (Drug ki chemistry)
                                     โ†“
                          Day 38โ€“51: PHARMACOLOGY โญ
                          (Drug kaam kaise karti hai)
                                     โ†“
                    Day 52โ€“58: JURISPRUDENCE (Legal)
                                     โ†“
                    Day 61โ€“74: HOSPITAL + STORE + GK

Yeh chain tablo follow karo โ€” ek baar samjha toh kabhi nahi bhuloge! ๐Ÿง ๐Ÿ’ช

Iska time table exal me do

Reading File
Running Command

ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "created"

Running Command

mkdir -p /tmp/workspace/pharmacist-timetable && echo "done"

Writing File

~/pharmacist-timetable/create_timetable.py

import openpyxl
from openpyxl.styles import (
    PatternFill, Font, Alignment, Border, Side
)
from openpyxl.utils import get_column_letter

wb = openpyxl.Workbook()

# โ”€โ”€ colour palette โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
CLR = {
    "title_bg":   "1F4E79",  # dark blue
    "title_fg":   "FFFFFF",
    "m1_bg":      "E2EFDA",  # light green
    "m1_hdr":     "375623",
    "m2_bg":      "FFF2CC",  # light yellow
    "m2_hdr":     "7F6000",
    "m3_bg":      "FCE4D6",  # light orange
    "m3_hdr":     "833C00",
    "week_bg":    "BDD7EE",  # light blue
    "week_fg":    "1F4E79",
    "rev_bg":     "F4CCCC",  # pink โ€“ revision days
    "rev_fg":     "990000",
    "mock_bg":    "D9D2E9",  # purple โ€“ mock test days
    "mock_fg":    "4A235A",
    "conn_bg":    "DEEAF1",  # pale blue โ€“ connection column
    "odd_row":    "FFFFFF",
    "even_row":   "F2F2F2",
    "header_bg":  "2E75B6",
    "header_fg":  "FFFFFF",
    "chain_bg":   "E8F5E9",  # for chain sheet
}

def make_fill(hex_color):
    return PatternFill("solid", fgColor=hex_color)

def make_font(hex_color="000000", bold=False, size=10, name="Arial"):
    return Font(color=hex_color, bold=bold, size=size, name=name)

def make_border(style="thin"):
    s = Side(style=style)
    return Border(left=s, right=s, top=s, bottom=s)

def make_align(h="center", v="center", wrap=True):
    return Alignment(horizontal=h, vertical=v, wrap_text=wrap)

thin_border = make_border("thin")

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SHEET 1 โ€“ DAILY 90-DAY TIMETABLE
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
ws1 = wb.active
ws1.title = "90-Day Timetable"

# column widths
col_widths = [8, 14, 28, 32, 26, 18]
for i, w in enumerate(col_widths, 1):
    ws1.column_dimensions[get_column_letter(i)].width = w

# โ”€โ”€ Main title โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
ws1.merge_cells("A1:F1")
c = ws1["A1"]
c.value = "๐ŸŽฏ  Rajasthan Pharmacist Exam โ€” 90-Day Chain Learning Timetable"
c.fill = make_fill(CLR["title_bg"])
c.font = make_font(CLR["title_fg"], bold=True, size=14)
c.alignment = make_align()
ws1.row_dimensions[1].height = 30

ws1.merge_cells("A2:F2")
c = ws1["A2"]
c.value = "Strategy: Anatomy โ†’ Biochemistry โ†’ Pharmacognosy โ†’ Pharmaceutics โ†’ Pharma Chemistry โ†’ Pharmacology โ†’ Jurisprudence โ†’ Hospital/Store โ†’ GK"
c.fill = make_fill("D6E4F0")
c.font = make_font("1F4E79", bold=False, size=9)
c.alignment = make_align()
ws1.row_dimensions[2].height = 18

# โ”€โ”€ Column headers โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
headers = ["Din #", "Tarikh\n(July 16 se)", "Subject", "Topic", "Pichle Se Connection ๐Ÿ”—", "Revision / Test"]
ws1.row_dimensions[3].height = 32
for col, h in enumerate(headers, 1):
    c = ws1.cell(row=3, column=col, value=h)
    c.fill = make_fill(CLR["header_bg"])
    c.font = make_font(CLR["header_fg"], bold=True, size=10)
    c.alignment = make_align()
    c.border = thin_border

# โ”€โ”€ Data โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
# Format: (day, subject, topic, connection, revision_note, month, week, is_rev, is_mock)
rows = [
    # MONTH 1 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
    # Week 1 โ€“ Anatomy
    (1,  "๐Ÿซ€ Human Anatomy & Physiology", "Cell โ€” body ki basic unit, tissues",               "Starting point โ€” sab ka base",                          "", 1, 1, False, False),
    (2,  "๐Ÿซ€ Human Anatomy & Physiology", "Blood โ€” RBC, WBC, Platelets, plasma",              "Drug blood mein ghulti hai",                             "", 1, 1, False, False),
    (3,  "๐Ÿซ€ Human Anatomy & Physiology", "Heart + Blood circulation",                        "Heart ki drugs baad mein Pharmacology mein aayengi",     "", 1, 1, False, False),
    (4,  "๐Ÿซ€ Human Anatomy & Physiology", "Lungs + Respiratory system",                       "Asthma/bronchodilator drugs โ€” Pharmacology",             "", 1, 1, False, False),
    (5,  "๐Ÿซ€ Human Anatomy & Physiology", "Digestive system โ€” stomach, liver, intestine",     "Oral drug absorption โ€” Pharmaceutics",                   "", 1, 1, False, False),
    (6,  "๐Ÿซ€ Human Anatomy & Physiology", "Nervous system + Brain",                           "CNS drugs โ€” Pharmacology",                              "", 1, 1, False, False),
    (7,  "๐Ÿซ€ Human Anatomy & Physiology", "Endocrine system โ€” Hormones (Insulin, Thyroid)",   "Hormone drugs โ€” Pharmacology + Chemistry",               "๐Ÿ” REVISION + 30 MCQ", 1, 1, True, False),
    # Week 2 โ€“ Biochemistry
    (8,  "๐Ÿ”ฌ Biochemistry & Clinical Pathology", "Carbohydrates โ€” glucose, starch, glycogen",       "Digestive system ne glucose absorb kiya (Day 5)",        "", 1, 2, False, False),
    (9,  "๐Ÿ”ฌ Biochemistry & Clinical Pathology", "Proteins & Amino Acids",                          "Blood mein proteins hoti hain (Day 2)",                  "", 1, 2, False, False),
    (10, "๐Ÿ”ฌ Biochemistry & Clinical Pathology", "Lipids & Fats โ€” metabolism",                      "Liver fat process karta hai (Day 5)",                    "", 1, 2, False, False),
    (11, "๐Ÿ”ฌ Biochemistry & Clinical Pathology", "Enzymes โ€” catalyst of body reactions",            "Digestion mein enzymes kaam karte hain (Day 5)",         "", 1, 2, False, False),
    (12, "๐Ÿ”ฌ Biochemistry & Clinical Pathology", "Vitamins & Minerals โ€” types, deficiencies",       "Blood mein transport hote hain (Day 2)",                 "", 1, 2, False, False),
    (13, "๐Ÿ”ฌ Biochemistry & Clinical Pathology", "Clinical Pathology โ€” Blood test, Urine test",     "Blood (Day 2) โ€” ab test karna seekho",                   "", 1, 2, False, False),
    (14, "๐Ÿ”ฌ Biochemistry & Clinical Pathology", "Hormones โ€” Insulin, Thyroid, Cortisol",           "Endocrine system (Day 7) ka deep version",               "๐Ÿ” REVISION + 30 MCQ", 1, 2, True, False),
    # Week 3 โ€“ Pharmacognosy
    (15, "๐ŸŒฟ Pharmacognosy", "Plant parts โ€” leaves, roots, bark, cultivation",    "Plants mein bhi carbohydrates hote hain (Day 8)",        "", 1, 3, False, False),
    (16, "๐ŸŒฟ Pharmacognosy", "Alkaloids โ€” Morphine, Quinine, Caffeine",           "Nitrogen compounds โ€” Proteins ki tarah (Day 9)",         "", 1, 3, False, False),
    (17, "๐ŸŒฟ Pharmacognosy", "Glycosides โ€” Digoxin (heart drug from plant)",      "Heart (Day 3) + Enzymes (Day 11)",                       "", 1, 3, False, False),
    (18, "๐ŸŒฟ Pharmacognosy", "Volatile oils โ€” Clove, Eucalyptus, Peppermint",     "Lipids jaisi oily nature (Day 10)",                      "", 1, 3, False, False),
    (19, "๐ŸŒฟ Pharmacognosy", "Tannins, Resins, Gums โ€” sources & uses",            "Polysaccharides โ€” Carbohydrates se related (Day 8)",     "", 1, 3, False, False),
    (20, "๐ŸŒฟ Pharmacognosy", "Important plants โ€” Neem, Tulsi, Ashwagandha",       "Vitamins/minerals wale plants (Day 12)",                 "", 1, 3, False, False),
    (21, "๐ŸŒฟ Pharmacognosy", "Animal & Mineral drugs โ€” Insulin, Calcium",         "Insulin โ€” Biochemistry Day 14 se connected!",            "๐Ÿ” REVISION + 30 MCQ", 1, 3, True, False),
    # Week 4 โ€“ Pharmaceutics
    (22, "๐Ÿ’Š Pharmaceutics", "Tablet manufacturing โ€” granulation, coating",       "Plant extract โ†’ powder โ†’ tablet (Pharmacognosy)",       "", 1, 4, False, False),
    (23, "๐Ÿ’Š Pharmaceutics", "Capsules & Syrups โ€” preparation",                   "Alkaloids capsule mein bhare jaate hain (Day 16)",       "", 1, 4, False, False),
    (24, "๐Ÿ’Š Pharmaceutics", "Suspensions & Emulsions",                            "Lipids (Day 10) โ€” oil+water mix = emulsion",            "", 1, 4, False, False),
    (25, "๐Ÿ’Š Pharmaceutics", "Injections & IV fluids โ€” sterile prep",              "Blood mein direct jaati hai (Day 2)",                   "", 1, 4, False, False),
    (26, "๐Ÿ’Š Pharmaceutics", "Ointments, Creams โ€” topical forms",                  "Skin ke through โ€” Anatomy",                             "", 1, 4, False, False),
    (27, "๐Ÿ’Š Pharmaceutics", "Suppositories, Inhalers, Transdermal",               "Respiratory (Day 4) + Digestive (Day 5) routes",        "", 1, 4, False, False),
    (28, "๐Ÿ’Š Pharmaceutics", "Storage & Packaging โ€” light, temp, humidity",        "Volatile oils (Day 18) light se kharab hoti hain",      "๐Ÿ” REVISION + 30 MCQ", 1, 4, True, False),
    (29, "๐Ÿ“‹ REVISION",      "Month 1 Full Revision โ€” Anatomy + Biochem + Pharmacognosy + Pharmaceutics", "Sab subjects connect karo", "๐Ÿ” Full Revision", 1, 4, True, False),
    (30, "๐Ÿ“ MOCK TEST 1",   "Full Mock Test โ€” 150 Questions",                    "Month 1 ka test",                                        "โœ… Mock Test 1", 1, 4, False, True),

    # MONTH 2 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
    # Week 5 โ€“ Pharma Chemistry
    (31, "โš—๏ธ Pharmaceutical Chemistry", "Inorganic salts โ€” Sodium, Calcium, Iron preparations", "Minerals (Biochemistry Day 12)",                      "", 2, 5, False, False),
    (32, "โš—๏ธ Pharmaceutical Chemistry", "Antacids โ€” Mg hydroxide, Al hydroxide, NaHCO3",        "Digestive system (Day 5) + Pharmaceutics",            "", 2, 5, False, False),
    (33, "โš—๏ธ Pharmaceutical Chemistry", "Antiseptics โ€” Phenol, Iodine, H2O2, KMnO4",            "Clinical Pathology (Day 13)",                         "", 2, 5, False, False),
    (34, "โš—๏ธ Pharmaceutical Chemistry", "Analgesics chemistry โ€” Aspirin, Paracetamol",           "Tablet form (Pharmaceutics Day 22)",                  "", 2, 5, False, False),
    (35, "โš—๏ธ Pharmaceutical Chemistry", "Antibiotics chemistry โ€” Penicillin, Streptomycin",      "Plant/fungal source (Pharmacognosy Day 16)",          "", 2, 5, False, False),
    (36, "โš—๏ธ Pharmaceutical Chemistry", "Vitamins chemistry โ€” Vit C, B complex structures",      "Vitamins (Biochemistry Day 12) ka chemical form",     "", 2, 5, False, False),
    (37, "โš—๏ธ Pharmaceutical Chemistry", "Hormone chemistry โ€” Insulin, Steroids, Thyroxine",      "Hormones (Biochemistry Day 14)",                      "๐Ÿ” REVISION + 30 MCQ", 2, 5, True, False),
    # Week 6 โ€“ Pharmacology part 1
    (38, "๐Ÿ† Pharmacology & Toxicology", "Drug basics โ€” receptor, agonist, antagonist, ED50",    "Biochemistry enzymes (Day 11) jaisi theory",          "", 2, 6, False, False),
    (39, "๐Ÿ† Pharmacology & Toxicology", "ANS drugs โ€” Adrenaline, Atropine, Noradrenaline",      "Nervous system (Anatomy Day 6)",                      "", 2, 6, False, False),
    (40, "๐Ÿ† Pharmacology & Toxicology", "Analgesics โ€” Aspirin, Paracetamol, Morphine",          "Chemistry Day 34 + Morphine (Pharmacognosy Day 16)",  "", 2, 6, False, False),
    (41, "๐Ÿ† Pharmacology & Toxicology", "Antibiotics โ€” Penicillin, Tetracycline, Streptomycin", "Chemistry Day 35 ka action version",                  "", 2, 6, False, False),
    (42, "๐Ÿ† Pharmacology & Toxicology", "Cardiovascular drugs โ€” Digoxin, Beta blockers",        "Heart (Day 3) + Digoxin (Pharmacognosy Day 17)",      "", 2, 6, False, False),
    (43, "๐Ÿ† Pharmacology & Toxicology", "GIT drugs โ€” Antacids, Antiemetics, Laxatives",         "Digestive (Day 5) + Antacids Chemistry (Day 32)",     "", 2, 6, False, False),
    (44, "๐Ÿ† Pharmacology & Toxicology", "REVISION + 50 MCQ (Week 6)",                           "Anatomy + Biochemistry + Chemistry se connect karo",  "๐Ÿ” REVISION + 50 MCQ", 2, 6, True, False),
    # Week 7 โ€“ Pharmacology part 2
    (45, "๐Ÿ† Pharmacology & Toxicology", "CNS drugs โ€” Sedatives, Hypnotics, Antiepileptics",     "Brain (Anatomy Day 6)",                               "", 2, 7, False, False),
    (46, "๐Ÿ† Pharmacology & Toxicology", "Anti-diabetic โ€” Insulin, Metformin, Glibenclamide",    "Insulin (Biochemistry Day 14 + Chemistry Day 37)",    "", 2, 7, False, False),
    (47, "๐Ÿ† Pharmacology & Toxicology", "Respiratory drugs โ€” Bronchodilators, Antihistamines",  "Lungs (Anatomy Day 4)",                               "", 2, 7, False, False),
    (48, "๐Ÿ† Pharmacology & Toxicology", "Antimalarials (Quinine, Chloroquine), Anti-TB",        "Quinine (Pharmacognosy Day 16)",                      "", 2, 7, False, False),
    (49, "๐Ÿ† Pharmacology & Toxicology", "Vitamins & Hormones pharmacology",                     "Vitamins (Biochemistry Day 12) ka practical use",     "", 2, 7, False, False),
    (50, "๐Ÿ† Pharmacology & Toxicology", "Toxicology โ€” Poisons, Antidotes, Heavy metals",        "Chemistry antiseptics (Day 33) se related",           "", 2, 7, False, False),
    (51, "๐Ÿ† Pharmacology & Toxicology", "Pharmacology Full Revision + 50 MCQ",                  "Sab organs + drugs ek saath connect karo",            "๐Ÿ” REVISION + 50 MCQ", 2, 7, True, False),
    # Week 8 โ€“ Jurisprudence
    (52, "๐Ÿ“œ Pharmaceutical Jurisprudence", "Drugs & Cosmetics Act 1940 โ€” basics, schedules",   "Har drug jo padhi โ€” isi Act ke under",                "", 2, 8, False, False),
    (53, "๐Ÿ“œ Pharmaceutical Jurisprudence", "Drug Schedules โ€” H, X, G, C, E (table banao)",     "Schedule H = Pharmacology wali dangerous drugs",      "", 2, 8, False, False),
    (54, "๐Ÿ“œ Pharmaceutical Jurisprudence", "Pharmacy Act 1948 โ€” registration, license",         "Tumhara pharmacist license isi se",                   "", 2, 8, False, False),
    (55, "๐Ÿ“œ Pharmaceutical Jurisprudence", "NDPS Act โ€” Narcotic & Psychotropic Substances",     "Morphine (Pharmacognosy Day 16 + Pharma Day 40)",     "", 2, 8, False, False),
    (56, "๐Ÿ“œ Pharmaceutical Jurisprudence", "Drugs & Magic Remedies Act",                         "Fake plant medicines โ€” Pharmacognosy se connect",     "", 2, 8, False, False),
    (57, "๐Ÿ“œ Pharmaceutical Jurisprudence", "Food Adulteration Act + Consumer Protection",        "Quality of drugs โ€” Pharmaceutics se link",            "", 2, 8, False, False),
    (58, "๐Ÿ“œ Pharmaceutical Jurisprudence", "Laws Revision โ€” Wall chart + 40 MCQ",               "All Acts ek table mein",                              "๐Ÿ” REVISION + 40 MCQ", 2, 8, True, False),
    (59, "๐Ÿ“‹ REVISION",      "Month 2 Full Revision โ€” Chemistry + Pharmacology + Jurisprudence", "Chain: Chemistryโ†’Pharmacologyโ†’Laws",                 "๐Ÿ” Full Revision", 2, 8, True, False),
    (60, "๐Ÿ“ MOCK TEST 2",   "Full Mock Test โ€” 150 Questions",                    "Month 1+2 ka combined test",                             "โœ… Mock Test 2", 2, 8, False, True),

    # MONTH 3 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
    # Week 9 โ€“ Hospital + Drug Store
    (61, "๐Ÿฅ Hospital & Clinical Pharmacy", "Hospital Pharmacy โ€” setup, functions, types",      "Pharmaceutics (medicines) + Jurisprudence (license)", "", 3, 9, False, False),
    (62, "๐Ÿฅ Hospital & Clinical Pharmacy", "Drug formulary, procurement, dispensing",          "Pharmacology โ€” kaunsi drug rakhni hai",               "", 3, 9, False, False),
    (63, "๐Ÿฅ Hospital & Clinical Pharmacy", "Patient counseling & drug information service",    "Pharmacology ka practical real-life use",             "", 3, 9, False, False),
    (64, "๐Ÿช Drug Store & Business Management", "Drug Store setup, layout, licensing",          "Jurisprudence (license + schedule) se direct link",  "", 3, 9, False, False),
    (65, "๐Ÿช Drug Store & Business Management", "Inventory โ€” FIFO, LIFO, expiry management",    "Storage (Pharmaceutics Day 28) se connected",        "", 3, 9, False, False),
    (66, "๐Ÿช Drug Store & Business Management", "Billing, records, prescription reading",        "Jurisprudence + Pharmacology (drug names)",          "", 3, 9, False, False),
    (67, "๐Ÿช Drug Store & Business Management", "REVISION + 30 MCQ",                             "Hospital + Store โ€” practical knowledge",             "๐Ÿ” REVISION + 30 MCQ", 3, 9, True, False),
    # Week 10 โ€“ Community Pharmacy + GK
    (68, "๐ŸŒ Health Education & Community Pharmacy", "Communicable diseases โ€” TB, Malaria, Dengue", "Pharmacology โ€” Anti-TB, Antimalarial drugs (Day 48)", "", 3, 10, False, False),
    (69, "๐ŸŒ Health Education & Community Pharmacy", "Immunization & Vaccines โ€” schedule",           "Pharmacology โ€” biologicals",                         "", 3, 10, False, False),
    (70, "๐ŸŒ Health Education & Community Pharmacy", "Nutrition & Malnutrition โ€” deficiency diseases","Biochemistry (Vitamins Day 12, Proteins Day 9)",     "", 3, 10, False, False),
    (71, "๐ŸŒ GK โ€” Rajasthan Focus",  "Rajasthan History, Geography, Culture, Polity",           "Current Affairs + Govt health schemes",              "", 3, 10, False, False),
    (72, "๐ŸŒ GK โ€” National",         "Indian History + Science & Technology",                    "Inventions in medicine โ€” Pharma se link",            "", 3, 10, False, False),
    (73, "๐ŸŒ GK โ€” Current Affairs",  "Last 6 months Current Affairs + Awards + Sports",         "National/International health programs",             "", 3, 10, False, False),
    (74, "๐ŸŒ GK",                    "GK Full Revision + 45 MCQ Practice",                      "All GK topics rapid fire",                           "๐Ÿ” REVISION + 45 MCQ", 3, 10, True, False),
    # Week 11 โ€“ Full Revision
    (75, "๐Ÿ” Full Revision", "Anatomy + Biochemistry rapid revision",                           "Foundation subjects refresh",                         "๐Ÿ” Rapid Revision", 3, 11, True, False),
    (76, "๐Ÿ” Full Revision", "Pharmacognosy + Pharmaceutics rapid revision",                    "Plants + Medicine forms refresh",                    "๐Ÿ” Rapid Revision", 3, 11, True, False),
    (77, "๐Ÿ“ MOCK TEST 3",   "Full Mock Test 3 โ€” 150 Questions",                                "Analyze mistakes โ€” note weak areas",                  "โœ… Mock Test 3", 3, 11, False, True),
    (78, "๐Ÿ” Full Revision", "Pharma Chemistry + Pharmacology revision",                        "Drug chemistry + actions refresh",                   "๐Ÿ” Rapid Revision", 3, 11, True, False),
    (79, "๐Ÿ“ MOCK TEST 4",   "Full Mock Test 4 โ€” 150 Questions",                                "Weak areas identify karo",                           "โœ… Mock Test 4", 3, 11, False, True),
    (80, "๐Ÿ” Full Revision", "Jurisprudence + Hospital + Drug Store revision",                  "Acts + Practical knowledge refresh",                 "๐Ÿ” Rapid Revision", 3, 11, True, False),
    (81, "๐Ÿ” Full Revision", "Weak Topics โ€” extra focus",                                       "Mock test errors fix karo",                          "๐Ÿ” Weak Topics", 3, 11, True, False),
    # Week 12 โ€“ Final Attack
    (82, "๐Ÿ“ MOCK TEST 5",   "Full Mock Test 5 โ€” 150 Questions",                                "Score track karo โ€” target 100+",                     "โœ… Mock Test 5", 3, 12, False, True),
    (83, "๐Ÿ” Full Revision", "Pharmacology โ€” drug tables rapid revision",                       "Most important subject โ€” last deep revision",         "๐Ÿ” Pharmacology", 3, 12, True, False),
    (84, "๐Ÿ” Full Revision", "GK + Current Affairs last round",                                  "Last 6 months news",                                 "๐Ÿ” GK Final", 3, 12, True, False),
    (85, "๐Ÿ“ MOCK TEST 6",   "Full Mock Test 6 โ€” 150 Questions",                                "Final practice โ€” time management",                   "โœ… Mock Test 6", 3, 12, False, True),
    (86, "๐Ÿ” Full Revision", "All Drug Laws + Schedules revision",                               "Jurisprudence โ€” scoring subject",                    "๐Ÿ” Laws", 3, 12, True, False),
    (87, "๐Ÿ” Full Revision", "All Short Notes + Diagrams review",                                "Notes dekho, naye mat banao",                        "๐Ÿ” Notes Review", 3, 12, True, False),
    (88, "๐Ÿ” Full Revision", "Pharmaceutics + Pharmacognosy last round",                         "Quick tables revision",                              "๐Ÿ” Quick Round", 3, 12, True, False),
    (89, "๐Ÿ” Full Revision", "Halka Revision โ€” sirf important topics",                           "Confidence boost",                                   "๐Ÿ” Light Revision", 3, 12, True, False),
    (90, "๐Ÿ˜ด REST DAY",      "Aaram karo โ€” taiyar ho! EXAM READY!",                             "Poori mehnat ka result aane wala hai!",               "๐Ÿ’ช REST & CONFIDENCE", 3, 12, False, False),
]

# month colors
month_main = {1: (CLR["m1_bg"], CLR["m1_hdr"]),
              2: (CLR["m2_bg"], CLR["m2_hdr"]),
              3: (CLR["m3_bg"], CLR["m3_hdr"])}

# start date: July 16, 2026
from datetime import date, timedelta
start = date(2026, 7, 16)

row_num = 4
prev_month = None
prev_week  = None

for (day, subj, topic, conn, rev_note, month, week, is_rev, is_mock) in rows:

    # Month separator row
    if month != prev_month:
        ws1.row_dimensions[row_num].height = 22
        ws1.merge_cells(f"A{row_num}:F{row_num}")
        month_labels = {1: "๐Ÿ“—  MONTH 1 (Day 1โ€“30) โ€” BODY & NATURE โ€” Foundation",
                        2: "๐Ÿ“™  MONTH 2 (Day 31โ€“60) โ€” DRUG BANANA & SAMAJHNA",
                        3: "๐Ÿ“•  MONTH 3 (Day 61โ€“90) โ€” PRACTICAL + GK + FINAL ATTACK"}
        c = ws1.cell(row=row_num, column=1, value=month_labels[month])
        c.fill = make_fill(month_main[month][1])
        c.font = make_font("FFFFFF", bold=True, size=11)
        c.alignment = make_align()
        c.border = thin_border
        row_num += 1
        prev_month = month
        prev_week  = None

    # Week separator row
    if week != prev_week:
        ws1.row_dimensions[row_num].height = 18
        ws1.merge_cells(f"A{row_num}:F{row_num}")
        week_labels = {
            1:  "๐Ÿ“… WEEK 1 โ€” Human Anatomy & Physiology",
            2:  "๐Ÿ“… WEEK 2 โ€” Biochemistry & Clinical Pathology",
            3:  "๐Ÿ“… WEEK 3 โ€” Pharmacognosy",
            4:  "๐Ÿ“… WEEK 4 โ€” Pharmaceutics  |  Day 29-30: Revision + Mock Test 1",
            5:  "๐Ÿ“… WEEK 5 โ€” Pharmaceutical Chemistry",
            6:  "๐Ÿ“… WEEK 6 โ€” Pharmacology Part 1 (ANS, Analgesics, Antibiotics, CVS, GIT)",
            7:  "๐Ÿ“… WEEK 7 โ€” Pharmacology Part 2 (CNS, Diabetes, Resp, Anti-infectives, Tox)  |  Day 59-60: Revision + Mock Test 2",
            8:  "๐Ÿ“… WEEK 8 โ€” Pharmaceutical Jurisprudence",
            9:  "๐Ÿ“… WEEK 9 โ€” Hospital Pharmacy + Drug Store Management",
            10: "๐Ÿ“… WEEK 10 โ€” Community Pharmacy + General Knowledge",
            11: "๐Ÿ“… WEEK 11 โ€” Full Revision + Mock Tests 3 & 4",
            12: "๐Ÿ“… WEEK 12 โ€” FINAL ATTACK โ€” Mock Tests 5 & 6 + Last Revision",
        }
        c = ws1.cell(row=row_num, column=1, value=week_labels.get(week, f"Week {week}"))
        c.fill = make_fill(CLR["week_bg"])
        c.font = make_font(CLR["week_fg"], bold=True, size=10)
        c.alignment = make_align("left")
        c.border = thin_border
        row_num += 1
        prev_week = week

    # Data row
    d = start + timedelta(days=day - 1)
    date_str = d.strftime("%d %b %Y\n(%A)")
    ws1.row_dimensions[row_num].height = 42

    # choose row colour
    if is_mock:
        bg = CLR["mock_bg"]
        fg = CLR["mock_fg"]
    elif is_rev:
        bg = CLR["rev_bg"]
        fg = CLR["rev_fg"]
    else:
        bg = CLR["odd_row"] if day % 2 == 1 else CLR["even_row"]
        fg = "000000"

    vals = [f"Day {day}", date_str, subj, topic, conn, rev_note if rev_note else "๐Ÿ“– Read + Short Notes"]
    for col_idx, val in enumerate(vals, 1):
        c = ws1.cell(row=row_num, column=col_idx, value=val)
        c.fill = make_fill(bg)
        if col_idx == 5:
            c.font = make_font("1F4E79", bold=False, size=9)
            c.fill = make_fill(CLR["conn_bg"])
        elif col_idx == 1:
            c.font = make_font(fg, bold=True, size=10)
        else:
            c.font = make_font(fg, bold=False, size=10)
        c.alignment = make_align("left" if col_idx > 1 else "center")
        c.border = thin_border

    row_num += 1

# freeze panes
ws1.freeze_panes = "A4"

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SHEET 2 โ€“ DAILY ROUTINE
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
ws2 = wb.create_sheet("Daily Routine 9AM-5PM")

col_widths2 = [18, 40, 35]
for i, w in enumerate(col_widths2, 1):
    ws2.column_dimensions[get_column_letter(i)].width = w

ws2.merge_cells("A1:C1")
c = ws2["A1"]
c.value = "โฐ  Daily Study Routine โ€” 9 AM to 5 PM (8 Hours)"
c.fill = make_fill(CLR["title_bg"])
c.font = make_font("FFFFFF", bold=True, size=13)
c.alignment = make_align()
ws2.row_dimensions[1].height = 28

hdrs = ["Time", "Activity", "Tips"]
for col, h in enumerate(hdrs, 1):
    c = ws2.cell(row=2, column=col, value=h)
    c.fill = make_fill(CLR["header_bg"])
    c.font = make_font("FFFFFF", bold=True, size=11)
    c.alignment = make_align()
    c.border = thin_border
    ws2.row_dimensions[2].height = 22

routine = [
    ("9:00 โ€“ 9:15",  "๐Ÿ” Revision โ€” Kal ka padha hua (15 min)",          "Sirf notes dekho โ€” kuch naya mat padho"),
    ("9:15 โ€“ 10:30", "๐Ÿ“– Class 1 โ€” Video + Short Notes",                  "Video 1.5x speed chalao, notes likhte chalo"),
    ("10:30 โ€“ 11:45","๐Ÿ“– Class 2 โ€” Video + Short Notes",                  "Har class ke baad 5 bullet points likhna"),
    ("11:45 โ€“ 12:00","โ˜• Short Break",                                     "Phone mat dekho โ€” thoda walk karo"),
    ("12:00 โ€“ 1:00", "๐Ÿ“– Class 3 โ€” Video + Notes",                        "Confusing topic โ†’ usi waqt basic clear karo"),
    ("1:00 โ€“ 1:30",  "๐Ÿฝ๏ธ Lunch Break",                                    "Rest karo โ€” brain ko time do"),
    ("1:30 โ€“ 2:45",  "๐Ÿ“– Class 4 โ€” Video + Notes",                        "Connection: aaj ka topic pichle se kaise juda?"),
    ("2:45 โ€“ 4:00",  "๐Ÿ“– Class 5 โ€” Video + Notes",                        "Diagrams / Tables banao โ€” visual memory"),
    ("4:00 โ€“ 4:15",  "โ˜• Short Break",                                     "Snack lo โ€” energy ke liye"),
    ("4:15 โ€“ 5:00",  "โœ… MCQ Practice โ€” 30 to 50 Questions (Daily)",      "SABSE ZAROORI โ€” roz karo, skip mat karo!"),
]

bg_routine = ["DEEAF1", "E2EFDA", "E2EFDA", "FFF2CC",
              "E2EFDA", "FCE4D6", "E2EFDA", "E2EFDA",
              "FFF2CC", "D9EAD3"]

for i, (time_s, act, tip) in enumerate(routine, 3):
    ws2.row_dimensions[i].height = 30
    bg = bg_routine[i-3]
    for col_idx, val in enumerate([time_s, act, tip], 1):
        c = ws2.cell(row=i, column=col_idx, value=val)
        c.fill = make_fill(bg)
        c.font = make_font("000000", bold=(col_idx == 1), size=10)
        c.alignment = make_align("left")
        c.border = thin_border

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SHEET 3 โ€“ SUBJECT CONNECTION CHAIN
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
ws3 = wb.create_sheet("Subject Connection Chain")

col_widths3 = [6, 28, 32, 32, 18]
for i, w in enumerate(col_widths3, 1):
    ws3.column_dimensions[get_column_letter(i)].width = w

ws3.merge_cells("A1:E1")
c = ws3["A1"]
c.value = "๐Ÿ”—  Subject Connection Chain โ€” Har Subject Pichle Se Juda Hai!"
c.fill = make_fill(CLR["title_bg"])
c.font = make_font("FFFFFF", bold=True, size=13)
c.alignment = make_align()
ws3.row_dimensions[1].height = 28

hdrs3 = ["#", "Subject", "Yeh Subject Kya Deta Hai", "Agle Subject Ko Kya Milta Hai", "Days"]
for col, h in enumerate(hdrs3, 1):
    c = ws3.cell(row=2, column=col, value=h)
    c.fill = make_fill(CLR["header_bg"])
    c.font = make_font("FFFFFF", bold=True, size=11)
    c.alignment = make_align()
    c.border = thin_border
    ws3.row_dimensions[2].height = 22

chain = [
    (1, "๐Ÿซ€ Human Anatomy & Physiology",
     "Body ke organs โ€” Heart, Lungs, Brain, Stomach ka kaam",
     "โ†’ Pharmacology: Drug kahan kaam karti hai (target organ)",
     "Day 1โ€“7"),
    (2, "๐Ÿ”ฌ Biochemistry & Clinical Pathology",
     "Cell ke andar chemical reactions โ€” Enzymes, Proteins, Vitamins",
     "โ†’ Pharmacology: Drug body mein chemically kaise react karti hai",
     "Day 8โ€“14"),
    (3, "๐ŸŒฟ Pharmacognosy",
     "Plants se milne wali natural drugs โ€” Morphine, Quinine, Digoxin",
     "โ†’ Pharmaceutics: In plants se medicine form kaise banate hain",
     "Day 15โ€“21"),
    (4, "๐Ÿ’Š Pharmaceutics",
     "Medicine ki form โ€” Tablet, Syrup, Injection, Cream kaise banti hai",
     "โ†’ Pharma Chemistry: Drug ki chemical potency aur quality",
     "Day 22โ€“28"),
    (5, "โš—๏ธ Pharmaceutical Chemistry",
     "Drug ki chemical structure โ€” Aspirin, Penicillin, Insulin ka formula",
     "โ†’ Pharmacology: Drug structure se action kaise hoti hai",
     "Day 31โ€“37"),
    (6, "๐Ÿ† Pharmacology & Toxicology",
     "Drug ka kaam โ€” Heart, Brain, Lungs, Sugar โ€” SABI ORGANS COVER",
     "โ†’ Jurisprudence: In drugs ko legally kaise manage karein",
     "Day 38โ€“51"),
    (7, "๐Ÿ“œ Pharmaceutical Jurisprudence",
     "Drug ke laws โ€” Schedule H, NDPS Act, Pharmacy Act 1948",
     "โ†’ Hospital/Store: Laws follow karke practically kaam karo",
     "Day 52โ€“58"),
    (8, "๐Ÿฅ Hospital & Clinical Pharmacy",
     "Hospital mein drugs kaise dispense hoti hain โ€” formulary, counseling",
     "โ†’ Drug Store: Same rules retail mein apply karo",
     "Day 61โ€“63"),
    (9, "๐Ÿช Drug Store & Business Management",
     "Drug store chalana โ€” inventory, billing, expiry management",
     "โ†’ Community Pharmacy: Community level pe health services",
     "Day 64โ€“66"),
    (10, "๐ŸŒ Health Education & Community Pharmacy",
     "Community health โ€” TB, Malaria, Vaccines, Nutrition",
     "โ†’ GK: Health schemes + Current Affairs",
     "Day 68โ€“70"),
    (11, "๐ŸŒ General Knowledge",
     "Rajasthan GK + India + Current Affairs + Science",
     "โ†’ 45 Marks directly โ€” scoring section!",
     "Day 71โ€“74"),
]

chain_bgs = ["E8F5E9","E3F2FD","FFF9C4","FBE9E7","F3E5F5",
             "FFEBEE","E8EAF6","E0F2F1","FFF3E0","F9FBE7","E1F5FE"]

for i, (num, subj, gives, next_sub, days) in enumerate(chain, 3):
    ws3.row_dimensions[i].height = 45
    bg = chain_bgs[i-3]
    for col_idx, val in enumerate([str(num), subj, gives, next_sub, days], 1):
        c = ws3.cell(row=i, column=col_idx, value=val)
        c.fill = make_fill(bg)
        bold = col_idx in (1, 2)
        c.font = make_font("000000", bold=bold, size=10)
        c.alignment = make_align("left" if col_idx > 1 else "center")
        c.border = thin_border

# Arrow note below table
arrow_row = len(chain) + 4
ws3.merge_cells(f"A{arrow_row}:E{arrow_row}")
c = ws3.cell(row=arrow_row, column=1,
             value="Anatomy โ†’ Biochemistry โ†’ Pharmacognosy โ†’ Pharmaceutics โ†’ Pharma Chemistry โ†’ Pharmacology โ†’ Jurisprudence โ†’ Hospital/Store โ†’ Community โ†’ GK  โœ…")
c.fill = make_fill("1F4E79")
c.font = make_font("FFFFFF", bold=True, size=11)
c.alignment = make_align()
ws3.row_dimensions[arrow_row].height = 25

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SHEET 4 โ€“ EXAM PATTERN
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
ws4 = wb.create_sheet("Exam Pattern & Tips")

col_widths4 = [30, 20, 20, 35]
for i, w in enumerate(col_widths4, 1):
    ws4.column_dimensions[get_column_letter(i)].width = w

ws4.merge_cells("A1:D1")
c = ws4["A1"]
c.value = "๐Ÿ“‹  Rajasthan Pharmacist Exam โ€” Official Pattern & Preparation Tips"
c.fill = make_fill(CLR["title_bg"])
c.font = make_font("FFFFFF", bold=True, size=13)
c.alignment = make_align()
ws4.row_dimensions[1].height = 28

# Exam pattern table
ws4.merge_cells("A3:D3")
c = ws4["A3"]
c.value = "EXAM PATTERN (RSMSSB Official)"
c.fill = make_fill(CLR["header_bg"])
c.font = make_font("FFFFFF", bold=True, size=11)
c.alignment = make_align()

pattern_hdrs = ["Section", "Questions", "Marks", "Notes"]
for col, h in enumerate(pattern_hdrs, 1):
    c = ws4.cell(row=4, column=col, value=h)
    c.fill = make_fill("BDD7EE")
    c.font = make_font("1F4E79", bold=True, size=10)
    c.alignment = make_align()
    c.border = thin_border

pattern_data = [
    ("General Knowledge", "45", "45", "Rajasthan GK + National + Current Affairs"),
    ("Pharmacist Subject", "105", "105", "10 Pharmacy subjects combined"),
    ("TOTAL", "150", "150", ""),
    ("Time", "โ€”", "180 min", "3 hours"),
    ("Negative Marking", "โ€”", "-1/3", "3 galat = 1 sahi ka nuksaan"),
    ("Minimum Passing", "โ€”", "40%", "60 marks minimum chahiye"),
    ("Question Type", "โ€”", "โ€”", "Objective MCQ (OMR sheet)"),
]

for i, row_data in enumerate(pattern_data, 5):
    ws4.row_dimensions[i].height = 22
    bg = "E2EFDA" if i % 2 == 0 else "FFFFFF"
    if row_data[0] == "TOTAL":
        bg = "FFD966"
    for col_idx, val in enumerate(row_data, 1):
        c = ws4.cell(row=i, column=col_idx, value=val)
        c.fill = make_fill(bg)
        c.font = make_font("000000", bold=(row_data[0]=="TOTAL"), size=10)
        c.alignment = make_align()
        c.border = thin_border

# Tips
ws4.merge_cells("A13:D13")
c = ws4["A13"]
c.value = "๐Ÿ’ก  TOP PREPARATION TIPS"
c.fill = make_fill(CLR["header_bg"])
c.font = make_font("FFFFFF", bold=True, size=11)
c.alignment = make_align()
ws4.row_dimensions[13].height = 22

tips = [
    ("Roz 30-50 MCQ karo", "Pehle din se hi MCQ practice shuru karo โ€” exam mein speed chahiye"),
    ("Short Notes banao", "Har class ke baad 5-10 bullet points โ€” revision fast hogi"),
    ("Drug Tables banao", "Drug | Use | Side Effect | Class โ€” Pharmacology ke liye best trick"),
    ("Laws Chart banao", "Wall pe โ€” Act Name + Year + Key Points โ€” laws yaad rehenge"),
    ("Previous Year Papers", "Last 5 years ke papers zaroor solve karo โ€” pattern samajh aayega"),
    ("Video 1.5x speed", "Classes 1.5x ya 2x par dekho โ€” time bachega"),
    ("Weak topics extra time", "Month 3 mein weak subjects pe zyada focus karo"),
    ("Negative marking dhyan", "Sirf confirm answer hi karo โ€” random guess mat karo"),
    ("Rajasthan Current Affairs", "Roz 1 news padho โ€” GK section mein kaam aayega"),
    ("Mock Test analyze karo", "Galat jawab note karo โ€” wahi topic dobara padho"),
]

for i, (tip, detail) in enumerate(tips, 14):
    ws4.row_dimensions[i].height = 28
    bg = "E8F5E9" if i % 2 == 0 else "FFF9C4"
    c = ws4.cell(row=i, column=1, value=f"โœ…  {tip}")
    c.fill = make_fill(bg)
    c.font = make_font("375623", bold=True, size=10)
    c.alignment = make_align("left")
    c.border = thin_border

    ws4.merge_cells(f"B{i}:D{i}")
    c = ws4.cell(row=i, column=2, value=detail)
    c.fill = make_fill(bg)
    c.font = make_font("000000", size=10)
    c.alignment = make_align("left")
    c.border = thin_border

# save
out_path = "/tmp/workspace/pharmacist-timetable/Rajasthan_Pharmacist_3Month_Timetable.xlsx"
wb.save(out_path)
print(f"Saved: {out_path}")
Running Command

cd /tmp/workspace/pharmacist-timetable && python create_timetable.py

Excel file taiyar hai! Download karo:

โœ… Excel File Download Karo

Rajasthan Pharmacist 3Month Timetable

Spreadsheet ยท XLSX


๐Ÿ“Š File Mein 4 Sheets Hain:

SheetKya Hai
1. 90-Day TimetablePura 90 din ka plan โ€” har din ka subject, topic, aur connection ๐Ÿ”—
2. Daily Routine 9AM-5PMRoz ka time table โ€” hour by hour
3. Subject Connection ChainHar subject pichle se kaise juda hai โ€” poori chain
4. Exam Pattern & TipsOfficial exam pattern + Top 10 preparation tips

๐ŸŽจ Color Coding:

ColorMatlab
๐ŸŸข Green rowsMonth 1 subjects
๐ŸŸก Yellow rowsMonth 2 subjects
๐ŸŸ  Orange rowsMonth 3 subjects
๐Ÿ”ด Pink rowsRevision days
๐ŸŸฃ Purple rowsMock Test days
๐Ÿ”ต Blue columnPichle subject se connection

Download karke Google Sheets ya MS Excel mein kholo โ€” sabkuch clearly dikhega! ๐Ÿ’ช

Isko pdf bhi bna do

Reading File
Writing File

~/pharmacist-timetable/create_pdf.py

from reportlab.lib.pagesizes import A4, landscape
from reportlab.lib import colors
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
    SimpleDocTemplate, Table, TableStyle, Paragraph, Spacer,
    PageBreak, HRFlowable
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from datetime import date, timedelta

out_path = "/tmp/workspace/pharmacist-timetable/Rajasthan_Pharmacist_3Month_Timetable.pdf"

doc = SimpleDocTemplate(
    out_path,
    pagesize=landscape(A4),
    leftMargin=1*cm, rightMargin=1*cm,
    topMargin=1.5*cm, bottomMargin=1.5*cm,
    title="Rajasthan Pharmacist 3-Month Timetable",
    author="Orris Study Planner"
)

W, H = landscape(A4)

# โ”€โ”€ colour helpers โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
def hx(h): return colors.HexColor(f"#{h}")

C = dict(
    title_bg  = hx("1F4E79"),
    white     = colors.white,
    m1_hdr    = hx("375623"),
    m1_bg     = hx("E2EFDA"),
    m2_hdr    = hx("7F6000"),
    m2_bg     = hx("FFF2CC"),
    m3_hdr    = hx("833C00"),
    m3_bg     = hx("FCE4D6"),
    week_bg   = hx("BDD7EE"),
    week_fg   = hx("1F4E79"),
    rev_bg    = hx("F4CCCC"),
    rev_fg    = hx("990000"),
    mock_bg   = hx("D9D2E9"),
    mock_fg   = hx("4A235A"),
    conn_bg   = hx("DEEAF1"),
    conn_fg   = hx("1F4E79"),
    hdr_bg    = hx("2E75B6"),
    odd       = colors.white,
    even      = hx("F2F2F2"),
    black     = colors.black,
    sep_line  = hx("CCCCCC"),
)

styles = getSampleStyleSheet()

def ps(name, parent="Normal", **kw):
    return ParagraphStyle(name, parent=styles[parent], **kw)

title_style = ps("TitleMain", fontSize=16, textColor=C["white"],
                 alignment=TA_CENTER, fontName="Helvetica-Bold",
                 spaceAfter=4)
subtitle_style = ps("Subtitle", fontSize=8, textColor=hx("1F4E79"),
                    alignment=TA_CENTER, fontName="Helvetica",
                    spaceAfter=6)
section_style = ps("Section", fontSize=10, textColor=C["white"],
                   alignment=TA_CENTER, fontName="Helvetica-Bold")
week_style = ps("Week", fontSize=9, textColor=C["week_fg"],
                alignment=TA_LEFT, fontName="Helvetica-Bold")
cell_style = ps("Cell", fontSize=7.5, textColor=C["black"],
                alignment=TA_LEFT, fontName="Helvetica",
                leading=10)
cell_bold = ps("CellBold", fontSize=7.5, textColor=C["black"],
               alignment=TA_LEFT, fontName="Helvetica-Bold",
               leading=10)
cell_conn = ps("CellConn", fontSize=7, textColor=C["conn_fg"],
               alignment=TA_LEFT, fontName="Helvetica-Oblique",
               leading=9)
rev_style = ps("Rev", fontSize=7.5, textColor=C["rev_fg"],
               alignment=TA_LEFT, fontName="Helvetica-Bold", leading=10)
mock_style = ps("Mock", fontSize=7.5, textColor=C["mock_fg"],
                alignment=TA_LEFT, fontName="Helvetica-Bold", leading=10)
tip_style = ps("Tip", fontSize=9, textColor=C["black"],
               alignment=TA_LEFT, fontName="Helvetica", leading=13)
tip_bold = ps("TipBold", fontSize=9, textColor=hx("375623"),
              alignment=TA_LEFT, fontName="Helvetica-Bold", leading=13)

# โ”€โ”€ data โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
rows_data = [
    # day, subject, topic, connection, rev_note, month, week, is_rev, is_mock
    (1,"Anatomy & Physiology","Cell โ€” body ki basic unit, tissues","Starting point โ€” sab ka base","",1,1,False,False),
    (2,"Anatomy & Physiology","Blood โ€” RBC, WBC, Platelets, plasma","Drug blood mein ghulti hai","",1,1,False,False),
    (3,"Anatomy & Physiology","Heart + Blood circulation","Heart ki drugs โ€” Pharmacology mein","",1,1,False,False),
    (4,"Anatomy & Physiology","Lungs + Respiratory system","Asthma drugs โ€” Pharmacology","",1,1,False,False),
    (5,"Anatomy & Physiology","Digestive system โ€” stomach, liver","Oral drug absorption โ€” Pharmaceutics","",1,1,False,False),
    (6,"Anatomy & Physiology","Nervous system + Brain","CNS drugs โ€” Pharmacology","",1,1,False,False),
    (7,"Anatomy & Physiology","Endocrine โ€” Hormones (Insulin, Thyroid)","Hormone drugs โ€” Pharmacology + Chemistry","REVISION + 30 MCQ",1,1,True,False),
    (8,"Biochemistry","Carbohydrates โ€” glucose, starch","Digestive system ne glucose absorb kiya (Day 5)","",1,2,False,False),
    (9,"Biochemistry","Proteins & Amino Acids","Blood mein proteins hoti hain (Day 2)","",1,2,False,False),
    (10,"Biochemistry","Lipids & Fats metabolism","Liver fat process karta hai (Day 5)","",1,2,False,False),
    (11,"Biochemistry","Enzymes โ€” catalyst of body","Digestion mein enzymes (Day 5)","",1,2,False,False),
    (12,"Biochemistry","Vitamins & Minerals โ€” types","Blood mein transport (Day 2)","",1,2,False,False),
    (13,"Biochemistry","Clinical Pathology โ€” Blood, Urine tests","Blood (Day 2) โ€” ab test karna","",1,2,False,False),
    (14,"Biochemistry","Hormones โ€” Insulin, Thyroid, Cortisol","Endocrine (Day 7) deep version","REVISION + 30 MCQ",1,2,True,False),
    (15,"Pharmacognosy","Plant parts โ€” leaves, roots, cultivation","Plants mein carbohydrates (Day 8)","",1,3,False,False),
    (16,"Pharmacognosy","Alkaloids โ€” Morphine, Quinine, Caffeine","Nitrogen compounds โ€” like Proteins (Day 9)","",1,3,False,False),
    (17,"Pharmacognosy","Glycosides โ€” Digoxin (heart drug)","Heart (Day 3) + Enzymes (Day 11)","",1,3,False,False),
    (18,"Pharmacognosy","Volatile oils โ€” Clove, Eucalyptus","Lipids jaisi oily nature (Day 10)","",1,3,False,False),
    (19,"Pharmacognosy","Tannins, Resins, Gums","Polysaccharides โ€” Carbs se related (Day 8)","",1,3,False,False),
    (20,"Pharmacognosy","Plants โ€” Neem, Tulsi, Ashwagandha","Vitamins/minerals wale plants (Day 12)","",1,3,False,False),
    (21,"Pharmacognosy","Animal & Mineral drugs โ€” Insulin, Calcium","Insulin โ€” Biochemistry Day 14!","REVISION + 30 MCQ",1,3,True,False),
    (22,"Pharmaceutics","Tablet manufacturing โ€” granulation, coating","Plant extract โ†’ tablet (Pharmacognosy)","",1,4,False,False),
    (23,"Pharmaceutics","Capsules & Syrups preparation","Alkaloids capsule mein (Day 16)","",1,4,False,False),
    (24,"Pharmaceutics","Suspensions & Emulsions","Lipids oil+water mix (Day 10)","",1,4,False,False),
    (25,"Pharmaceutics","Injections & IV fluids โ€” sterile","Blood mein direct (Day 2)","",1,4,False,False),
    (26,"Pharmaceutics","Ointments, Creams โ€” topical","Skin ke through โ€” Anatomy","",1,4,False,False),
    (27,"Pharmaceutics","Suppositories, Inhalers, Transdermal","Respiratory (Day 4) + Digestive (Day 5)","",1,4,False,False),
    (28,"Pharmaceutics","Storage & Packaging","Volatile oils (Day 18) light se kharab","REVISION + 30 MCQ",1,4,True,False),
    (29,"REVISION","Month 1 Full Revision โ€” All 4 subjects","Connect: Anatomyโ†’Biochemโ†’Pharmacognosyโ†’Pharma","Full Revision",1,4,True,False),
    (30,"MOCK TEST 1","Full Mock Test โ€” 150 Questions","Month 1 complete test","Mock Test 1",1,4,False,True),
    (31,"Pharma Chemistry","Inorganic salts โ€” Sodium, Calcium, Iron","Minerals (Biochemistry Day 12)","",2,5,False,False),
    (32,"Pharma Chemistry","Antacids โ€” Mg hydroxide, NaHCO3","Digestive system (Day 5)","",2,5,False,False),
    (33,"Pharma Chemistry","Antiseptics โ€” Phenol, Iodine, H2O2","Clinical Pathology (Day 13)","",2,5,False,False),
    (34,"Pharma Chemistry","Analgesics โ€” Aspirin, Paracetamol structure","Tablet form (Pharmaceutics Day 22)","",2,5,False,False),
    (35,"Pharma Chemistry","Antibiotics โ€” Penicillin, Streptomycin","Plant/fungal source (Pharmacognosy)","",2,5,False,False),
    (36,"Pharma Chemistry","Vitamins chemistry โ€” Vit C, B complex","Vitamins (Biochemistry Day 12)","",2,5,False,False),
    (37,"Pharma Chemistry","Hormone chemistry โ€” Insulin, Steroids","Hormones (Biochemistry Day 14)","REVISION + 30 MCQ",2,5,True,False),
    (38,"Pharmacology","Drug basics โ€” receptor, agonist, antagonist","Biochemistry enzymes (Day 11) jaisi theory","",2,6,False,False),
    (39,"Pharmacology","ANS drugs โ€” Adrenaline, Atropine","Nervous system (Anatomy Day 6)","",2,6,False,False),
    (40,"Pharmacology","Analgesics โ€” Aspirin, Morphine, Paracetamol","Chemistry Day 34 + Morphine (Day 16)","",2,6,False,False),
    (41,"Pharmacology","Antibiotics โ€” Penicillin, Tetracycline","Chemistry Day 35 ka action version","",2,6,False,False),
    (42,"Pharmacology","Cardiovascular โ€” Digoxin, Beta blockers","Heart (Day 3) + Digoxin (Day 17)","",2,6,False,False),
    (43,"Pharmacology","GIT drugs โ€” Antacids, Antiemetics","Digestive (Day 5) + Chemistry (Day 32)","",2,6,False,False),
    (44,"Pharmacology","REVISION + 50 MCQ (Week 6)","Anatomy + Biochemistry se connect karo","REVISION + 50 MCQ",2,6,True,False),
    (45,"Pharmacology","CNS โ€” Sedatives, Hypnotics, Antiepileptics","Brain (Anatomy Day 6)","",2,7,False,False),
    (46,"Pharmacology","Anti-diabetic โ€” Insulin, Metformin","Insulin (Biochem Day 14 + Chem Day 37)","",2,7,False,False),
    (47,"Pharmacology","Respiratory โ€” Bronchodilators, Antihistamines","Lungs (Anatomy Day 4)","",2,7,False,False),
    (48,"Pharmacology","Antimalarials (Quinine), Anti-TB drugs","Quinine (Pharmacognosy Day 16)","",2,7,False,False),
    (49,"Pharmacology","Vitamins & Hormones pharmacology","Vitamins (Biochemistry Day 12)","",2,7,False,False),
    (50,"Pharmacology","Toxicology โ€” Poisons, Antidotes","Chemistry antiseptics (Day 33)","",2,7,False,False),
    (51,"Pharmacology","Pharmacology Full Revision + 50 MCQ","All organs + drugs connect karo","REVISION + 50 MCQ",2,7,True,False),
    (52,"Jurisprudence","Drugs & Cosmetics Act 1940","Har drug jo padhi โ€” isi Act ke under","",2,8,False,False),
    (53,"Jurisprudence","Drug Schedules โ€” H, X, G, C, E","Schedule H = dangerous drugs (Pharmacology)","",2,8,False,False),
    (54,"Jurisprudence","Pharmacy Act 1948 โ€” registration","Tumhara pharmacist license isi se","",2,8,False,False),
    (55,"Jurisprudence","NDPS Act โ€” Narcotic drugs","Morphine (Day 16 + Day 40)","",2,8,False,False),
    (56,"Jurisprudence","Drugs & Magic Remedies Act","Fake plant medicines โ€” Pharmacognosy","",2,8,False,False),
    (57,"Jurisprudence","Food Adulteration + Consumer Act","Quality of drugs โ€” Pharmaceutics link","",2,8,False,False),
    (58,"Jurisprudence","Laws Revision + 40 MCQ","All Acts ek table mein","REVISION + 40 MCQ",2,8,True,False),
    (59,"REVISION","Month 2 Full Revision","Chain: Chemistryโ†’Pharmacologyโ†’Laws","Full Revision",2,8,True,False),
    (60,"MOCK TEST 2","Full Mock Test โ€” 150 Questions","Month 1+2 combined test","Mock Test 2",2,8,False,True),
    (61,"Hospital Pharmacy","Hospital setup, functions, types","Pharmaceutics + Jurisprudence","",3,9,False,False),
    (62,"Hospital Pharmacy","Drug formulary, procurement, dispensing","Pharmacology โ€” kaunsi drug rakhni","",3,9,False,False),
    (63,"Hospital Pharmacy","Patient counseling & drug info service","Pharmacology ka practical use","",3,9,False,False),
    (64,"Drug Store Mgmt","Drug Store setup, layout, licensing","Jurisprudence (license + schedule)","",3,9,False,False),
    (65,"Drug Store Mgmt","Inventory โ€” FIFO, LIFO, expiry","Storage (Pharmaceutics Day 28)","",3,9,False,False),
    (66,"Drug Store Mgmt","Billing, records, prescription reading","Jurisprudence + Pharmacology","",3,9,False,False),
    (67,"Drug Store Mgmt","REVISION + 30 MCQ","Hospital + Store practical knowledge","REVISION + 30 MCQ",3,9,True,False),
    (68,"Community Pharmacy","Communicable diseases โ€” TB, Malaria","Pharmacology โ€” Anti-TB (Day 48)","",3,10,False,False),
    (69,"Community Pharmacy","Immunization & Vaccines schedule","Pharmacology โ€” biologicals","",3,10,False,False),
    (70,"Community Pharmacy","Nutrition & Malnutrition","Biochemistry (Vitamins Day 12)","",3,10,False,False),
    (71,"GK โ€” Rajasthan","History, Geography, Culture, Polity","Govt health schemes","",3,10,False,False),
    (72,"GK โ€” National","Indian History + Science & Technology","Inventions in medicine","",3,10,False,False),
    (73,"GK โ€” Current Affairs","Last 6 months + Awards + Sports","National health programs","",3,10,False,False),
    (74,"GK","GK Full Revision + 45 MCQ","All GK topics rapid fire","REVISION + 45 MCQ",3,10,True,False),
    (75,"Full Revision","Anatomy + Biochemistry rapid revision","Foundation subjects refresh","Rapid Revision",3,11,True,False),
    (76,"Full Revision","Pharmacognosy + Pharmaceutics revision","Plants + Medicine forms","Rapid Revision",3,11,True,False),
    (77,"MOCK TEST 3","Full Mock Test 3 โ€” 150 Questions","Analyze mistakes","Mock Test 3",3,11,False,True),
    (78,"Full Revision","Pharma Chemistry + Pharmacology revision","Drug chemistry + actions","Rapid Revision",3,11,True,False),
    (79,"MOCK TEST 4","Full Mock Test 4 โ€” 150 Questions","Weak areas identify karo","Mock Test 4",3,11,False,True),
    (80,"Full Revision","Jurisprudence + Hospital + Drug Store","Acts + Practical knowledge","Rapid Revision",3,11,True,False),
    (81,"Full Revision","Weak Topics โ€” extra focus","Mock test errors fix karo","Weak Topics",3,11,True,False),
    (82,"MOCK TEST 5","Full Mock Test 5 โ€” 150 Questions","Score track karo โ€” target 100+","Mock Test 5",3,12,False,True),
    (83,"Full Revision","Pharmacology โ€” drug tables revision","Most important subject","Pharmacology",3,12,True,False),
    (84,"Full Revision","GK + Current Affairs last round","Last 6 months news","GK Final",3,12,True,False),
    (85,"MOCK TEST 6","Full Mock Test 6 โ€” 150 Questions","Final practice โ€” time management","Mock Test 6",3,12,False,True),
    (86,"Full Revision","All Drug Laws + Schedules revision","Scoring subject","Laws",3,12,True,False),
    (87,"Full Revision","All Short Notes + Diagrams review","Notes dekho, naye mat banao","Notes Review",3,12,True,False),
    (88,"Full Revision","Pharmaceutics + Pharmacognosy last round","Quick tables revision","Quick Round",3,12,True,False),
    (89,"Full Revision","Halka Revision โ€” sirf important topics","Confidence boost","Light Revision",3,12,True,False),
    (90,"REST DAY","Aaram karo โ€” EXAM READY!","Poori mehnat ka result!","REST & CONFIDENCE",3,12,False,False),
]

start = date(2026, 7, 16)
story = []

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# PAGE 1 โ€“ TITLE + CHAIN + EXAM PATTERN
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

# Title block
title_data = [
    [Paragraph("Rajasthan Pharmacist Exam โ€” 90-Day Chain Learning Timetable", title_style)],
    [Paragraph("Strategy: Anatomy โ†’ Biochemistry โ†’ Pharmacognosy โ†’ Pharmaceutics โ†’ Pharma Chemistry โ†’ Pharmacology โ†’ Jurisprudence โ†’ Hospital/Store โ†’ Community โ†’ GK", subtitle_style)],
]
title_tbl = Table(title_data, colWidths=[W - 2*cm])
title_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,0), C["title_bg"]),
    ("BACKGROUND", (0,1), (-1,1), hx("D6E4F0")),
    ("TOPPADDING",   (0,0), (-1,-1), 6),
    ("BOTTOMPADDING",(0,0), (-1,-1), 6),
    ("LEFTPADDING",  (0,0), (-1,-1), 8),
    ("RIGHTPADDING", (0,0), (-1,-1), 8),
    ("GRID", (0,0), (-1,-1), 0.3, hx("BBBBBB")),
]))
story.append(title_tbl)
story.append(Spacer(1, 6))

# Connection chain table
chain_hdr = [
    Paragraph("Step", cell_bold),
    Paragraph("Subject", cell_bold),
    Paragraph("Yeh Deta Hai", cell_bold),
    Paragraph("Agle Subject Ko Milta Hai", cell_bold),
    Paragraph("Days", cell_bold),
]
chain_rows = [chain_hdr]
chain_data = [
    ("1","Anatomy & Physiology","Body organs โ€” Heart, Lungs, Brain, Stomach","Pharmacology: drug kahan kaam karti hai","Day 1-7"),
    ("2","Biochemistry","Cell reactions โ€” Enzymes, Proteins, Vitamins","Pharmacology: drug body mein chemically react kaisi","Day 8-14"),
    ("3","Pharmacognosy","Natural drugs โ€” Morphine, Quinine, Digoxin","Pharmaceutics: plant se medicine form kaise bane","Day 15-21"),
    ("4","Pharmaceutics","Tablet, Syrup, Injection, Cream kaise banti hai","Pharma Chemistry: drug ki chemical potency","Day 22-28"),
    ("5","Pharma Chemistry","Drug structure โ€” Aspirin, Penicillin, Insulin","Pharmacology: structure se action kaise hoti hai","Day 31-37"),
    ("6","Pharmacology","Drug ka kaam โ€” Heart, Brain, Lungs, Sugar","Jurisprudence: drugs legally kaise manage karein","Day 38-51"),
    ("7","Jurisprudence","Drug laws โ€” Schedule H, NDPS, Pharmacy Act","Hospital/Store: laws follow karke kaam karo","Day 52-58"),
    ("8","Hospital + Drug Store","Dispensing, inventory, patient counseling","Community: community level pe apply karo","Day 61-67"),
    ("9","Community + GK","TB, Vaccines, Nutrition + Rajasthan GK","Exam: 45 marks directly scoring!","Day 68-74"),
]
chain_bgs = [hx("E8F5E9"),hx("E3F2FD"),hx("FFF9C4"),hx("FBE9E7"),hx("F3E5F5"),
             hx("FFEBEE"),hx("E8EAF6"),hx("E0F2F1"),hx("F9FBE7")]
for idx, (n, s, g, nx, d) in enumerate(chain_data):
    bg = chain_bgs[idx % len(chain_bgs)]
    chain_rows.append([
        Paragraph(n, cell_bold),
        Paragraph(s, cell_bold),
        Paragraph(g, cell_style),
        Paragraph(nx, cell_conn),
        Paragraph(d, cell_style),
    ])

chain_tbl = Table(chain_rows, colWidths=[1.2*cm, 4.5*cm, 7*cm, 7*cm, 2.5*cm])
chain_ts = TableStyle([
    ("BACKGROUND", (0,0), (-1,0), C["hdr_bg"]),
    ("TEXTCOLOR", (0,0), (-1,0), C["white"]),
    ("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE", (0,0), (-1,0), 9),
    ("ALIGN", (0,0), (-1,-1), "CENTER"),
    ("VALIGN", (0,0), (-1,-1), "MIDDLE"),
    ("TOPPADDING", (0,0), (-1,-1), 4),
    ("BOTTOMPADDING", (0,0), (-1,-1), 4),
    ("LEFTPADDING", (0,0), (-1,-1), 4),
    ("RIGHTPADDING", (0,0), (-1,-1), 4),
    ("GRID", (0,0), (-1,-1), 0.4, hx("BBBBBB")),
    ("ROWBACKGROUNDS", (0,1), (-1,-1), chain_bgs),
])
chain_tbl.setStyle(chain_ts)

# Section label
story.append(Table([[Paragraph("SUBJECT CONNECTION CHAIN โ€” Har Subject Pichle Se Juda Hai!", section_style)]],
    colWidths=[W-2*cm],
    style=TableStyle([("BACKGROUND",(0,0),(-1,-1),C["title_bg"]),
                      ("TOPPADDING",(0,0),(-1,-1),5),("BOTTOMPADDING",(0,0),(-1,-1),5)])))
story.append(Spacer(1,4))
story.append(chain_tbl)
story.append(Spacer(1,8))

# Exam pattern + daily routine side by side
exam_data = [
    [Paragraph("Section", cell_bold), Paragraph("Ques", cell_bold), Paragraph("Marks", cell_bold), Paragraph("Note", cell_bold)],
    [Paragraph("General Knowledge", cell_style), Paragraph("45", cell_style), Paragraph("45", cell_style), Paragraph("Rajasthan + National + Current", cell_style)],
    [Paragraph("Pharmacist Subject", cell_style), Paragraph("105", cell_style), Paragraph("105", cell_style), Paragraph("10 Pharmacy subjects", cell_style)],
    [Paragraph("TOTAL", cell_bold), Paragraph("150", cell_bold), Paragraph("150", cell_bold), Paragraph("", cell_style)],
    [Paragraph("Time", cell_style), Paragraph("โ€”", cell_style), Paragraph("180 min", cell_style), Paragraph("3 hours", cell_style)],
    [Paragraph("Negative Marking", cell_style), Paragraph("โ€”", cell_style), Paragraph("-1/3", cell_style), Paragraph("3 galat = 1 sahi nuksaan", cell_style)],
    [Paragraph("Min Passing", cell_style), Paragraph("โ€”", cell_style), Paragraph("40%", cell_style), Paragraph("60 marks minimum", cell_style)],
]
exam_tbl = Table(exam_data, colWidths=[3.5*cm, 1.5*cm, 1.8*cm, 5*cm])
exam_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,0), C["hdr_bg"]),
    ("TEXTCOLOR", (0,0), (-1,0), C["white"]),
    ("BACKGROUND", (0,3), (-1,3), hx("FFD966")),
    ("FONTNAME", (0,3), (-1,3), "Helvetica-Bold"),
    ("ROWBACKGROUNDS", (0,1), (-1,-1), [hx("E2EFDA"), hx("FFFFFF")]*5),
    ("GRID", (0,0), (-1,-1), 0.4, hx("BBBBBB")),
    ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4),
    ("LEFTPADDING", (0,0), (-1,-1), 4), ("RIGHTPADDING", (0,0), (-1,-1), 4),
    ("VALIGN", (0,0), (-1,-1), "MIDDLE"),
]))

routine_data = [
    [Paragraph("Time", cell_bold), Paragraph("Activity", cell_bold)],
    [Paragraph("9:00-9:15", cell_style), Paragraph("Revision โ€” Kal ka padha", cell_style)],
    [Paragraph("9:15-10:30", cell_style), Paragraph("Class 1 โ€” Video + Notes", cell_style)],
    [Paragraph("10:30-11:45", cell_style), Paragraph("Class 2 โ€” Video + Notes", cell_style)],
    [Paragraph("11:45-12:00", cell_style), Paragraph("Short Break", cell_style)],
    [Paragraph("12:00-1:00", cell_style), Paragraph("Class 3 โ€” Video + Notes", cell_style)],
    [Paragraph("1:00-1:30", cell_style), Paragraph("Lunch Break", cell_style)],
    [Paragraph("1:30-2:45", cell_style), Paragraph("Class 4 โ€” Video + Notes", cell_style)],
    [Paragraph("2:45-4:00", cell_style), Paragraph("Class 5 โ€” Video + Notes", cell_style)],
    [Paragraph("4:00-4:15", cell_style), Paragraph("Short Break", cell_style)],
    [Paragraph("4:15-5:00", cell_bold), Paragraph("30-50 MCQ Practice DAILY!", rev_style)],
]
routine_tbl = Table(routine_data, colWidths=[2.5*cm, 5*cm])
routine_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,0), C["hdr_bg"]),
    ("TEXTCOLOR", (0,0), (-1,0), C["white"]),
    ("BACKGROUND", (0,-1), (-1,-1), hx("E2EFDA")),
    ("ROWBACKGROUNDS", (0,1), (-1,-1), [hx("E2EFDA"), hx("FFFFFF")]*6),
    ("GRID", (0,0), (-1,-1), 0.4, hx("BBBBBB")),
    ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4),
    ("LEFTPADDING", (0,0), (-1,-1), 4), ("RIGHTPADDING", (0,0), (-1,-1), 4),
    ("VALIGN", (0,0), (-1,-1), "MIDDLE"),
]))

two_col = Table(
    [[
        Table([[Paragraph("EXAM PATTERN (Official)", section_style)],
               [exam_tbl]],
              colWidths=[12*cm],
              style=TableStyle([("BACKGROUND",(0,0),(-1,0),C["title_bg"]),
                                ("TOPPADDING",(0,0),(-1,0),4),("BOTTOMPADDING",(0,0),(-1,0),4),
                                ("TOPPADDING",(0,1),(-1,1),4)])),
        Table([[Paragraph("DAILY ROUTINE โ€” 9 AM to 5 PM", section_style)],
               [routine_tbl]],
              colWidths=[8.5*cm],
              style=TableStyle([("BACKGROUND",(0,0),(-1,0),C["title_bg"]),
                                ("TOPPADDING",(0,0),(-1,0),4),("BOTTOMPADDING",(0,0),(-1,0),4),
                                ("TOPPADDING",(0,1),(-1,1),4)])),
    ]],
    colWidths=[12.5*cm, 9*cm],
    style=TableStyle([("VALIGN",(0,0),(-1,-1),"TOP"),
                      ("LEFTPADDING",(0,0),(-1,-1),0),("RIGHTPADDING",(0,0),(-1,-1),4)]),
)
story.append(two_col)
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# PAGES 2-4 โ€“ 90-DAY TIMETABLE
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

col_widths_tt = [1.4*cm, 2.4*cm, 4.2*cm, 6.5*cm, 5.5*cm, 3.2*cm]

month_colors = {1: (C["m1_hdr"], C["m1_bg"]),
                2: (C["m2_hdr"], C["m2_bg"]),
                3: (C["m3_hdr"], C["m3_bg"])}
month_labels = {
    1: "MONTH 1 (Day 1-30) โ€” BODY & NATURE โ€” Foundation",
    2: "MONTH 2 (Day 31-60) โ€” DRUG BANANA & SAMAJHNA",
    3: "MONTH 3 (Day 61-90) โ€” PRACTICAL + GK + FINAL ATTACK",
}
week_labels = {
    1:"WEEK 1 โ€” Human Anatomy & Physiology",
    2:"WEEK 2 โ€” Biochemistry & Clinical Pathology",
    3:"WEEK 3 โ€” Pharmacognosy",
    4:"WEEK 4 โ€” Pharmaceutics  |  Day 29-30: Revision + Mock 1",
    5:"WEEK 5 โ€” Pharmaceutical Chemistry",
    6:"WEEK 6 โ€” Pharmacology Part 1",
    7:"WEEK 7 โ€” Pharmacology Part 2  |  Day 59-60: Revision + Mock 2",
    8:"WEEK 8 โ€” Pharmaceutical Jurisprudence",
    9:"WEEK 9 โ€” Hospital Pharmacy + Drug Store",
    10:"WEEK 10 โ€” Community Pharmacy + GK",
    11:"WEEK 11 โ€” Full Revision + Mock Tests",
    12:"WEEK 12 โ€” FINAL ATTACK",
}

# split into 3 batches (one page each)
batches = [
    ("MONTH 1 โ€” FOUNDATION (Days 1โ€“30)", rows_data[:30]),
    ("MONTH 2 โ€” DRUG BANANA & SAMAJHNA (Days 31โ€“60)", rows_data[30:60]),
    ("MONTH 3 โ€” FINAL ATTACK (Days 61โ€“90)", rows_data[60:]),
]

for batch_title, batch in batches:
    story.append(Table([[Paragraph(batch_title, title_style)]],
        colWidths=[W-2*cm],
        style=TableStyle([("BACKGROUND",(0,0),(-1,-1),C["title_bg"]),
                          ("TOPPADDING",(0,0),(-1,-1),7),("BOTTOMPADDING",(0,0),(-1,-1),7)])))
    story.append(Spacer(1,4))

    # table header
    hdr_row = [
        Paragraph("Din #", cell_bold),
        Paragraph("Tarikh", cell_bold),
        Paragraph("Subject", cell_bold),
        Paragraph("Topic", cell_bold),
        Paragraph("Pichle Se Connection", cell_bold),
        Paragraph("Revision / Test", cell_bold),
    ]

    tbl_rows  = [hdr_row]
    tbl_style = [
        ("BACKGROUND", (0,0), (-1,0), C["hdr_bg"]),
        ("TEXTCOLOR",  (0,0), (-1,0), C["white"]),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("FONTSIZE",   (0,0), (-1,0), 9),
        ("GRID",       (0,0), (-1,-1), 0.3, hx("CCCCCC")),
        ("VALIGN",     (0,0), (-1,-1), "MIDDLE"),
        ("TOPPADDING",    (0,0), (-1,-1), 3),
        ("BOTTOMPADDING", (0,0), (-1,-1), 3),
        ("LEFTPADDING",   (0,0), (-1,-1), 3),
        ("RIGHTPADDING",  (0,0), (-1,-1), 3),
    ]

    prev_month = None
    prev_week  = None
    data_row_idx = 1  # 0 = header

    for (day, subj, topic, conn, rev_note, month, week, is_rev, is_mock) in batch:
        # Month separator
        if month != prev_month:
            m_fg, m_bg = month_colors[month]
            tbl_rows.append([Paragraph(month_labels[month], ps("ms",fontSize=9,
                              textColor=C["white"],fontName="Helvetica-Bold",alignment=TA_CENTER)),
                              "","","","",""])
            span_row = data_row_idx
            tbl_style += [
                ("SPAN", (0, span_row), (-1, span_row)),
                ("BACKGROUND", (0, span_row), (-1, span_row), m_fg),
                ("ROWHEIGHT", (0, span_row), (-1, span_row), 18),
            ]
            data_row_idx += 1
            prev_month = month
            prev_week  = None

        # Week separator
        if week != prev_week:
            tbl_rows.append([Paragraph(week_labels.get(week,""), ps("ws",fontSize=8,
                              textColor=C["week_fg"],fontName="Helvetica-Bold",alignment=TA_LEFT)),
                              "","","","",""])
            span_row = data_row_idx
            tbl_style += [
                ("SPAN", (0, span_row), (-1, span_row)),
                ("BACKGROUND", (0, span_row), (-1, span_row), C["week_bg"]),
                ("ROWHEIGHT", (0, span_row), (-1, span_row), 15),
            ]
            data_row_idx += 1
            prev_week = week

        d = start + timedelta(days=day-1)
        date_str = d.strftime("%d %b\n%a")

        if is_mock:
            bg = C["mock_bg"]
            s_day  = mock_style
            s_text = mock_style
        elif is_rev:
            bg = C["rev_bg"]
            s_day  = rev_style
            s_text = rev_style
        elif day % 2 == 0:
            bg = C["even"]
            s_day  = cell_bold; s_text = cell_style
        else:
            bg = C["odd"]
            s_day  = cell_bold; s_text = cell_style

        rev_text = rev_note if rev_note else "Read + Short Notes"
        tbl_rows.append([
            Paragraph(f"Day {day}", s_day),
            Paragraph(date_str, s_text),
            Paragraph(subj, cell_bold),
            Paragraph(topic, s_text),
            Paragraph(conn, cell_conn),
            Paragraph(rev_text, s_text),
        ])
        tbl_style.append(("BACKGROUND", (0, data_row_idx), (-1, data_row_idx), bg))
        tbl_style.append(("BACKGROUND", (4, data_row_idx), (4, data_row_idx), C["conn_bg"]))
        data_row_idx += 1

    tt = Table(tbl_rows, colWidths=col_widths_tt, repeatRows=1)
    tt.setStyle(TableStyle(tbl_style))
    story.append(tt)
    story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# LAST PAGE โ€“ TIPS
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(Table([[Paragraph("TOP 10 PREPARATION TIPS โ€” Rajasthan Pharmacist Exam", title_style)]],
    colWidths=[W-2*cm],
    style=TableStyle([("BACKGROUND",(0,0),(-1,-1),C["title_bg"]),
                      ("TOPPADDING",(0,0),(-1,-1),7),("BOTTOMPADDING",(0,0),(-1,-1),7)])))
story.append(Spacer(1,8))

tips = [
    ("1. Roz 30-50 MCQ karo", "Pehle din se hi MCQ practice shuru karo โ€” exam mein speed chahiye. Bina MCQ ke preparation incomplete hai."),
    ("2. Short Notes banao", "Har class ke baad 5-10 bullet points likhna. Revision fast hogi โ€” poora chapter nahi, sirf key points."),
    ("3. Drug Tables banao", "Drug | Use | Side Effect | Class โ€” Pharmacology ke liye best trick. Visual table yaad zyada rehta hai."),
    ("4. Laws Chart banao", "Wall pe chipkao โ€” Act Name + Year + Key Points. Laws yaad rehenge agar roz dikhte rahenge."),
    ("5. Previous Year Papers", "Last 5 years ke papers zaroor solve karo. Pattern samajh aayega aur actual exam jaisi practice milegi."),
    ("6. Video 1.5x speed", "Classes 1.5x ya 2x speed par dekho โ€” time bachega. 421 classes zyada fast khatam hongi."),
    ("7. Weak topics extra time", "Month 3 mein weak subjects pe zyada focus karo. Mock test errors note karke wahi topics dobara padho."),
    ("8. Negative marking dhyan", "Sirf confirm answer hi karo โ€” 3 galat = 1 sahi ka nuksaan. Random guess mat karo."),
    ("9. Rajasthan Current Affairs", "Roz 1 news padho โ€” GK section mein kaam aayega. Rajasthan ke health schemes important hain."),
    ("10. Connection chain follow karo", "Anatomy โ†’ Biochem โ†’ Pharmacognosy โ†’ Pharmaceutics โ†’ Pharma Chem โ†’ Pharmacology โ†’ Laws. Is order mein har subject easy lagega!"),
]

tip_bgs = [hx("E8F5E9"), hx("FFF9C4"), hx("E3F2FD"), hx("FBE9E7"), hx("F3E5F5"),
           hx("E8EAF6"), hx("FFEBEE"), hx("E0F2F1"), hx("FFF9C4"), hx("E8F5E9")]

tip_rows = []
for i, (title, detail) in enumerate(tips):
    tip_rows.append([
        Paragraph(f"  {title}", tip_bold),
        Paragraph(detail, tip_style),
    ])

tip_tbl = Table(tip_rows, colWidths=[6*cm, 16*cm])
tip_ts = TableStyle([
    ("VALIGN", (0,0), (-1,-1), "MIDDLE"),
    ("TOPPADDING", (0,0), (-1,-1), 6),
    ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING", (0,0), (-1,-1), 6),
    ("RIGHTPADDING", (0,0), (-1,-1), 6),
    ("GRID", (0,0), (-1,-1), 0.4, hx("CCCCCC")),
])
for i, bg in enumerate(tip_bgs):
    tip_ts.add("BACKGROUND", (0,i), (-1,i), bg)
tip_tbl.setStyle(tip_ts)
story.append(tip_tbl)

# Build
doc.build(story)
print(f"PDF saved: {out_path}")
Running Command

cd /tmp/workspace/pharmacist-timetable && python create_pdf.py 2>&1

PDF bhi taiyar hai! Dono files download karo:

โœ… Dono Files Download Karo

FileDownload
๐Ÿ“Š Excel File

Rajasthan Pharmacist 3Month Timetable

Spreadsheet ยท XLSX

๐Ÿ“„ PDF File

Rajasthan Pharmacist 3Month Timetable

PDF Document ยท PDF


๐Ÿ“„ PDF Mein Kya Hai (5 Pages):

PageContent
Page 1Subject Connection Chain + Exam Pattern + Daily Routine
Page 2Month 1 โ€” Day 1 to 30 (Anatomy, Biochem, Pharmacognosy, Pharmaceutics)
Page 3Month 2 โ€” Day 31 to 60 (Pharma Chemistry, Pharmacology, Jurisprudence)
Page 4Month 3 โ€” Day 61 to 90 (Hospital, Drug Store, GK, Revision, Mock Tests)
Page 5Top 10 Preparation Tips

All the best bhai! 3 mahine mein zaroor crack karoge! ๐Ÿ’ช๐ŸŽฏ

Syllabus pdf bna kr do

Writing File

~/pharmacist-timetable/create_syllabus_pdf.py

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

out_path = "/tmp/workspace/pharmacist-timetable/Rajasthan_Pharmacist_Syllabus.pdf"

doc = SimpleDocTemplate(
    out_path,
    pagesize=A4,
    leftMargin=1.5*cm, rightMargin=1.5*cm,
    topMargin=1.5*cm, bottomMargin=1.5*cm,
    title="Rajasthan Pharmacist Exam Syllabus",
    author="Orris Study Planner"
)

W, H = A4

def hx(h): return colors.HexColor(f"#{h}")

# โ”€โ”€ styles โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
def ps(name, **kw):
    return ParagraphStyle(name, **kw)

main_title = ps("MT", fontName="Helvetica-Bold", fontSize=17,
                textColor=colors.white, alignment=TA_CENTER, leading=22)
sub_title  = ps("ST", fontName="Helvetica", fontSize=9,
                textColor=hx("1F4E79"), alignment=TA_CENTER, leading=13)
sec_hdr    = ps("SH", fontName="Helvetica-Bold", fontSize=11,
                textColor=colors.white, alignment=TA_CENTER, leading=14)
subj_hdr   = ps("SubH", fontName="Helvetica-Bold", fontSize=10,
                textColor=colors.white, alignment=TA_LEFT, leading=13)
topic_hdr  = ps("TH", fontName="Helvetica-Bold", fontSize=9,
                textColor=hx("1F4E79"), alignment=TA_LEFT, leading=12)
topic_body = ps("TB", fontName="Helvetica", fontSize=8.5,
                textColor=hx("222222"), alignment=TA_LEFT, leading=12)
bullet_p   = ps("BP", fontName="Helvetica", fontSize=8.5,
                textColor=hx("333333"), alignment=TA_LEFT,
                leftIndent=10, leading=12)
imp_note   = ps("IN", fontName="Helvetica-Bold", fontSize=8.5,
                textColor=hx("833C00"), alignment=TA_LEFT, leading=12)
normal_sm  = ps("NS", fontName="Helvetica", fontSize=8,
                textColor=hx("444444"), alignment=TA_LEFT, leading=11)

story = []

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# PAGE 1 โ€” COVER + EXAM PATTERN
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

# Header title block
title_tbl = Table([
    [Paragraph("Rajasthan Pharmacist Exam", main_title)],
    [Paragraph("Complete Official Syllabus โ€” 2025/2026", main_title)],
    [Paragraph("Conducting Body: RSMSSB / Rajasthan Health Department  |  Website: rajswasthya.nic.in", sub_title)],
], colWidths=[W - 3*cm])
title_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,1), hx("1F4E79")),
    ("BACKGROUND", (0,2), (-1,2), hx("D6E4F0")),
    ("TOPPADDING",    (0,0), (-1,-1), 7),
    ("BOTTOMPADDING", (0,0), (-1,-1), 7),
    ("LEFTPADDING",   (0,0), (-1,-1), 10),
    ("RIGHTPADDING",  (0,0), (-1,-1), 10),
    ("GRID", (0,0), (-1,-1), 0.3, hx("AAAAAA")),
]))
story.append(title_tbl)
story.append(Spacer(1, 10))

# Exam Pattern table
story.append(Table([[Paragraph("EXAM PATTERN โ€” AT A GLANCE", sec_hdr)]],
    colWidths=[W-3*cm],
    style=TableStyle([("BACKGROUND",(0,0),(-1,-1),hx("1F4E79")),
                      ("TOPPADDING",(0,0),(-1,-1),6),("BOTTOMPADDING",(0,0),(-1,-1),6)])))
story.append(Spacer(1,4))

pattern_rows = [
    [Paragraph("Parameter", topic_hdr), Paragraph("Details", topic_hdr)],
    [Paragraph("Exam Name", topic_body), Paragraph("Rajasthan Pharmacist Written Examination", topic_body)],
    [Paragraph("Total Questions", topic_body), Paragraph("150 (Objective MCQ)", topic_body)],
    [Paragraph("Total Marks", topic_body), Paragraph("150 Marks", topic_body)],
    [Paragraph("Exam Duration", topic_body), Paragraph("3 Hours (180 Minutes)", topic_body)],
    [Paragraph("Negative Marking", topic_body), Paragraph("1/3 marks per wrong answer (3 galat = 1 sahi nuksaan)", topic_body)],
    [Paragraph("Minimum Qualifying Marks", topic_body), Paragraph("40% (60 marks minimum)", topic_body)],
    [Paragraph("Question Type", topic_body), Paragraph("Multiple Choice Questions (MCQ) โ€” OMR Sheet", topic_body)],
    [Paragraph("Medium", topic_body), Paragraph("Hindi & English", topic_body)],
    [Paragraph("Eligibility", topic_body), Paragraph("D.Pharma / B.Pharma + Rajasthan Pharmacy Council Registration", topic_body)],
]
pat_tbl = Table(pattern_rows, colWidths=[5.5*cm, 11.5*cm])
pat_ts = TableStyle([
    ("BACKGROUND", (0,0), (-1,0), hx("2E75B6")),
    ("TEXTCOLOR",  (0,0), (-1,0), colors.white),
    ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
    ("ROWBACKGROUNDS", (0,1), (-1,-1), [hx("E2EFDA"), hx("FFFFFF")]*6),
    ("GRID",  (0,0), (-1,-1), 0.4, hx("BBBBBB")),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 7),
    ("RIGHTPADDING",  (0,0), (-1,-1), 7),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
])
pat_tbl.setStyle(pat_ts)
story.append(pat_tbl)
story.append(Spacer(1, 12))

# Section split
section_rows = [
    [Paragraph("Section", topic_hdr), Paragraph("No. of Questions", topic_hdr), Paragraph("Marks", topic_hdr), Paragraph("Weightage", topic_hdr)],
    [Paragraph("Section A โ€” General Knowledge", topic_body), Paragraph("45", topic_body), Paragraph("45", topic_body), Paragraph("30%", topic_body)],
    [Paragraph("Section B โ€” Pharmacist Subject (10 topics)", topic_body), Paragraph("105", topic_body), Paragraph("105", topic_body), Paragraph("70%", topic_body)],
    [Paragraph("TOTAL", ps("TBB", fontName="Helvetica-Bold", fontSize=8.5, textColor=hx("222222"), alignment=TA_LEFT, leading=12)),
     Paragraph("150", ps("TBB", fontName="Helvetica-Bold", fontSize=8.5, textColor=hx("222222"), alignment=TA_LEFT, leading=12)),
     Paragraph("150", ps("TBB", fontName="Helvetica-Bold", fontSize=8.5, textColor=hx("222222"), alignment=TA_LEFT, leading=12)),
     Paragraph("100%", ps("TBB", fontName="Helvetica-Bold", fontSize=8.5, textColor=hx("222222"), alignment=TA_LEFT, leading=12))],
]
sec_tbl = Table(section_rows, colWidths=[8*cm, 3.5*cm, 2.5*cm, 3*cm])
sec_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,0), hx("2E75B6")),
    ("TEXTCOLOR",  (0,0), (-1,0), colors.white),
    ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
    ("BACKGROUND", (0,3), (-1,3), hx("FFD966")),
    ("ROWBACKGROUNDS", (0,1), (-1,2), [hx("E8F5E9"), hx("FFF2CC")]),
    ("GRID",  (0,0), (-1,-1), 0.4, hx("BBBBBB")),
    ("TOPPADDING",    (0,0), (-1,-1), 6), ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (-1,-1), 7), ("RIGHTPADDING",  (0,0), (-1,-1), 7),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
    ("FONTNAME", (0,3), (-1,3), "Helvetica-Bold"),
]))
story.append(sec_tbl)
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# PAGE 2 โ€” SECTION A: GENERAL KNOWLEDGE
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

story.append(Table([[Paragraph("SECTION A โ€” GENERAL KNOWLEDGE (45 Questions | 45 Marks)", sec_hdr)]],
    colWidths=[W-3*cm],
    style=TableStyle([("BACKGROUND",(0,0),(-1,-1),hx("375623")),
                      ("TOPPADDING",(0,0),(-1,-1),7),("BOTTOMPADDING",(0,0),(-1,-1),7)])))
story.append(Spacer(1,6))

gk_topics = [
    ("1", "Current Affairs โ€” National & International",
     ["Latest news from India & World", "Government schemes & policies", "National/International summits & conferences", "New laws & Acts passed recently"]),
    ("2", "Indian History",
     ["Ancient, Medieval, Modern history", "Indian National Movement โ€” key events & leaders", "Important dates & battles", "Colonial rule & Independence struggle"]),
    ("3", "Rajasthan โ€” History, Geography & Culture",
     ["History of Rajasthan โ€” rulers, kingdoms", "Geography โ€” districts, rivers, mountains, deserts", "Culture โ€” fairs, festivals, folk arts", "Rajasthan Government schemes (health, education)"]),
    ("4", "Indian Economy & Budget",
     ["Five Year Plans", "Budget highlights", "GDP, inflation, banking basics", "Economic policies โ€” Make in India, Digital India"]),
    ("5", "Science & Technology",
     ["Basic Physics, Chemistry, Biology", "Important inventions & discoveries", "Space technology โ€” ISRO achievements", "Medical & pharma discoveries"]),
    ("6", "Awards & Honours",
     ["Bharat Ratna, Padma Awards", "Nobel Prize winners", "Sports awards โ€” Arjuna, Khel Ratna", "Film & literary awards"]),
    ("7", "Sports",
     ["International sports events โ€” Olympics, World Cup", "Indian players & achievements", "Sports organizations"]),
    ("8", "Important Days & Dates",
     ["National days โ€” Republic Day, Independence Day", "International health days โ€” World Health Day, World AIDS Day", "Days important for pharmacy โ€” World Pharmacist Day (Sept 25)"]),
    ("9", "Books & Authors / Countries & Capitals",
     ["Famous books by Indian & international authors", "All countries and their capitals", "International organizations โ€” WHO, UN, WTO"]),
    ("10", "Abbreviations & General Policy",
     ["Common abbreviations โ€” WHO, AYUSH, ICMR, CDSCO", "Health policies โ€” National Health Policy", "Important government portals"]),
]

for num, title, points in gk_topics:
    # Subject row
    row = Table([
        [Paragraph(f"  {num}. {title}", ps("GH", fontName="Helvetica-Bold", fontSize=9,
                   textColor=colors.white, alignment=TA_LEFT, leading=12))]
    ], colWidths=[W-3*cm])
    row.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), hx("4A7C4E")),
        ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING", (0,0), (-1,-1), 8),
    ]))
    story.append(row)

    bullets = [[Paragraph(f"โ€ข {p}", bullet_p)] for p in points]
    bul_tbl = Table(bullets, colWidths=[W-3*cm])
    bul_tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), hx("F0F7EE")),
        ("TOPPADDING",    (0,0), (-1,-1), 3), ("BOTTOMPADDING", (0,0), (-1,-1), 2),
        ("LEFTPADDING",   (0,0), (-1,-1), 14), ("RIGHTPADDING",  (0,0), (-1,-1), 8),
        ("LINEAFTER",     (0,0), (0,-1), 0.5, hx("4A7C4E")),
        ("LINEBEFORE",    (0,0), (0,-1), 2,   hx("4A7C4E")),
    ]))
    story.append(bul_tbl)
    story.append(Spacer(1, 4))

story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# PAGE 3โ€“END โ€” SECTION B: PHARMACIST SUBJECT (10 topics)
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

story.append(Table([[Paragraph("SECTION B โ€” PHARMACIST SUBJECT (105 Questions | 105 Marks)", sec_hdr)]],
    colWidths=[W-3*cm],
    style=TableStyle([("BACKGROUND",(0,0),(-1,-1),hx("1F4E79")),
                      ("TOPPADDING",(0,0),(-1,-1),7),("BOTTOMPADDING",(0,0),(-1,-1),7)])))
story.append(Spacer(1,4))

# Overview table of 10 subjects
overview_hdr = [
    Paragraph("#", topic_hdr), Paragraph("Subject", topic_hdr),
    Paragraph("Key Focus", topic_hdr), Paragraph("Exam Importance", topic_hdr)
]
overview_rows = [overview_hdr,
    ["1", "Human Anatomy & Physiology",    "Body organs, systems, functions",                "โญโญโญ High"],
    ["2", "Biochemistry & Clinical Pathology","Cell chemistry, enzymes, lab tests",           "โญโญ Medium"],
    ["3", "Pharmacognosy",                  "Plant drugs, alkaloids, natural sources",         "โญโญ Medium"],
    ["4", "Pharmaceutics",                  "Dosage forms โ€” tablets, injections, creams",      "โญโญโญ High"],
    ["5", "Pharmaceutical Chemistry",       "Drug chemical structures, reactions",             "โญโญโญ High"],
    ["6", "Pharmacology & Toxicology",      "Drug actions, side effects, antidotes",           "โญโญโญโญ Very High"],
    ["7", "Pharmaceutical Jurisprudence",   "Drug laws โ€” Acts, Schedules, Licenses",           "โญโญโญ High"],
    ["8", "Drug Store & Business Mgmt",     "Store setup, inventory, billing",                 "โญโญ Medium"],
    ["9", "Hospital & Clinical Pharmacy",   "Formulary, dispensing, patient counseling",       "โญโญ Medium"],
    ["10","Health Education & Community",   "Diseases, vaccines, nutrition, health programs",  "โญโญ Medium"],
]
fmt_ov = []
bg_ov  = [hx("E2EFDA"), hx("FFFFFF")] * 6
for i, r in enumerate(overview_rows):
    if i == 0:
        fmt_ov.append(r)
    else:
        imp = r[3]
        imp_col = hx("FFD966") if "Very" in imp else (hx("E2EFDA") if "High" in imp else hx("FFFFFF"))
        fmt_ov.append([
            Paragraph(r[0], topic_body), Paragraph(r[1], ps("SB", fontName="Helvetica-Bold", fontSize=8.5, textColor=hx("1F4E79"), alignment=TA_LEFT, leading=12)),
            Paragraph(r[2], topic_body), Paragraph(imp, imp_note if "High" in imp else topic_body)
        ])

ov_tbl = Table(fmt_ov, colWidths=[1*cm, 6*cm, 7*cm, 3*cm])
ov_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,0), hx("2E75B6")),
    ("TEXTCOLOR",  (0,0), (-1,0), colors.white),
    ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
    ("ROWBACKGROUNDS", (0,1), (-1,-1), bg_ov),
    ("GRID",  (0,0), (-1,-1), 0.4, hx("BBBBBB")),
    ("TOPPADDING",    (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 6), ("RIGHTPADDING",  (0,0), (-1,-1), 6),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
]))
story.append(ov_tbl)
story.append(PageBreak())

# โ”€โ”€ Detailed subjects โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
subjects = [
    {
        "num": "1", "name": "Human Anatomy & Physiology",
        "bg": "1F6B3A", "light": "E8F5E9",
        "desc": "Body ke organs aur unka kaam โ€” Pharmacy ka sabse important base subject.",
        "topics": [
            ("Cell Biology", ["Cell structure โ€” nucleus, mitochondria, cell membrane", "Cell division โ€” mitosis, meiosis", "Types of tissues โ€” epithelial, connective, muscular, nervous"]),
            ("Blood & Cardiovascular System", ["Composition of blood โ€” RBC, WBC, Platelets, plasma", "Blood groups โ€” ABO system, Rh factor", "Heart structure, cardiac cycle, blood pressure", "Arteries, veins, capillaries โ€” circulation"]),
            ("Respiratory System", ["Organs โ€” lungs, trachea, bronchi, alveoli", "Mechanism of breathing โ€” inspiration, expiration", "Lung volumes โ€” tidal, vital capacity"]),
            ("Digestive System", ["Organs โ€” mouth, esophagus, stomach, intestines, liver", "Digestion & absorption of food", "Role of liver, pancreas, bile"]),
            ("Nervous System", ["Central (brain + spinal cord) & Peripheral nervous system", "Autonomic nervous system โ€” sympathetic, parasympathetic", "Nerve impulse transmission, synapse"]),
            ("Endocrine System", ["Glands โ€” pituitary, thyroid, adrenal, pancreas, gonads", "Hormones โ€” insulin, thyroxine, cortisol, adrenaline", "Feedback mechanism"]),
            ("Musculoskeletal System", ["Bones, joints, cartilage", "Types of muscles", "Skeletal muscle contraction"]),
            ("Urinary System", ["Kidney structure โ€” nephron, glomerulus", "Urine formation โ€” filtration, reabsorption, secretion", "Regulation of blood pressure by kidney"]),
            ("Reproductive System", ["Male & female reproductive organs", "Menstrual cycle", "Fertilization basics"]),
        ]
    },
    {
        "num": "2", "name": "Biochemistry & Clinical Pathology",
        "bg": "1A5276", "light": "E3F2FD",
        "desc": "Cell ke andar chemical reactions aur laboratory tests โ€” Pharmacology ka direct base.",
        "topics": [
            ("Carbohydrates", ["Monosaccharides, disaccharides, polysaccharides", "Glycolysis, Krebs cycle โ€” energy production", "Glucose metabolism, glycogen storage"]),
            ("Proteins & Amino Acids", ["Essential & non-essential amino acids", "Protein synthesis โ€” DNA, RNA, ribosomes", "Enzyme classification & mechanism"]),
            ("Lipids", ["Fatty acids, triglycerides, phospholipids", "Cholesterol metabolism", "Lipoproteins โ€” HDL, LDL, VLDL"]),
            ("Vitamins", ["Fat-soluble โ€” A, D, E, K", "Water-soluble โ€” B complex, C", "Deficiency diseases โ€” scurvy, rickets, beriberi, pellagra"]),
            ("Minerals", ["Calcium, Iron, Zinc, Iodine, Sodium, Potassium", "Functions & deficiency disorders"]),
            ("Clinical Pathology", ["Blood tests โ€” CBC, blood glucose, lipid profile", "Urine analysis โ€” routine, microscopic", "Liver function tests, kidney function tests", "Normal values โ€” important for exam!"]),
        ]
    },
    {
        "num": "3", "name": "Pharmacognosy",
        "bg": "2E7D32", "light": "F0F7EE",
        "desc": "Plants, animals aur minerals se milne wali natural drugs โ€” interesting aur scoring subject.",
        "topics": [
            ("Introduction", ["Definition, history & scope of pharmacognosy", "Crude drug โ€” definition, classification", "Drug sources โ€” plant, animal, mineral, marine"]),
            ("Plant Drug Cultivation", ["Cultivation, collection, processing of drugs", "Adulteration โ€” types & detection", "Quality control of crude drugs"]),
            ("Alkaloids", ["Definition, classification, chemical nature", "Important alkaloids โ€” Morphine, Codeine (Opium)", "Quinine (Cinchona), Atropine (Belladonna)", "Caffeine (Coffee/Tea), Cocaine, Reserpine", "Extraction & identification tests"]),
            ("Glycosides", ["Definition & classification", "Cardiac glycosides โ€” Digoxin (Digitalis)", "Anthraquinone glycosides โ€” Senna, Cascara", "Saponins, Cyanophoric glycosides"]),
            ("Volatile Oils (Essential Oils)", ["Definition & properties", "Clove oil, Eucalyptus oil, Peppermint oil", "Turpentine oil, Cinnamon oil", "Steam distillation extraction"]),
            ("Tannins, Resins & Gums", ["Tannins โ€” types, sources, uses", "Resins โ€” Colophony, Benzoin, Asafoetida", "Gums โ€” Acacia, Tragacanth, Guar"]),
            ("Fixed Oils & Fats", ["Castor oil, Coconut oil, Olive oil", "Beeswax, Lanolin, Shark liver oil"]),
            ("Important Plant Drugs", ["Neem, Tulsi, Ashwagandha, Amla, Brahmi", "Shatavari, Guduchi, Haritaki", "Medicinal uses of each plant"]),
            ("Animal & Mineral Drugs", ["Insulin (pancreas), Heparin, Pepsin", "Beeswax, Cod liver oil, Shark liver oil", "Kaolin, Talc, Calcium carbonate, Sulfur"]),
        ]
    },
    {
        "num": "4", "name": "Pharmaceutics",
        "bg": "1565C0", "light": "E3F2FD",
        "desc": "Medicines kaise banti hain โ€” tablets se injections tak โ€” bahut scoring subject.",
        "topics": [
            ("Introduction", ["History of pharmacy", "Pharmacopoeia โ€” IP, BP, USP", "Weights & measures โ€” metric system"]),
            ("Dosage Forms โ€” Solid", ["Tablets โ€” types, manufacturing (granulation, compression)", "Tablet coating โ€” sugar, film, enteric coating", "Capsules โ€” hard, soft gelatin", "Powders & granules"]),
            ("Dosage Forms โ€” Liquid", ["Solutions, syrups, elixirs", "Suspensions โ€” preparation, stability", "Emulsions โ€” types, HLB value", "Linctus, gargles, mouthwashes"]),
            ("Sterile Preparations", ["Injections โ€” types (IV, IM, SC, ID)", "IV fluids โ€” Normal saline, Dextrose, Ringer's", "Ophthalmic preparations โ€” eye drops, eye ointments", "Pyrogen test, Sterility test"]),
            ("Semi-solid Preparations", ["Ointments โ€” bases (hydrocarbon, water-soluble)", "Creams โ€” O/W, W/O emulsions", "Gels, pastes, suppositories"]),
            ("Other Forms", ["Aerosols & inhalers", "Transdermal drug delivery (patches)", "Sustained release, controlled release formulations"]),
            ("Packaging & Storage", ["Container types โ€” glass, plastic, rubber", "Storage conditions โ€” light, temperature, humidity", "Expiry date, manufacturing date"]),
            ("Sterilization Methods", ["Dry heat, moist heat (autoclave)", "Filtration, UV, gamma radiation", "Chemical sterilization"]),
        ]
    },
    {
        "num": "5", "name": "Pharmaceutical Chemistry",
        "bg": "6A1E55", "light": "F3E5F5",
        "desc": "Drug ki chemical structure aur reactions โ€” connect hoga Biochemistry aur Pharmacology se.",
        "topics": [
            ("Inorganic Pharmaceuticals", ["Acids โ€” HCl, H2SO4, H3PO4", "Alkalis & salts โ€” NaOH, NaHCO3, NaCl", "Calcium compounds โ€” CaCO3, CaSO4", "Iron preparations โ€” FeSO4, ferrous gluconate"]),
            ("Gastrointestinal Agents", ["Antacids โ€” Mg(OH)2, Al(OH)3, CaCO3, NaHCO3", "Cathartics & laxatives", "Anti-diarrhoeals โ€” Kaolin, Pectin"]),
            ("Antiseptics & Disinfectants", ["Phenol, Cresol, Chloroxylenol (Dettol)", "Iodine, Iodoform, Povidone-iodine", "Hydrogen peroxide (H2O2), KMnO4", "Boric acid, Chlorhexidine"]),
            ("Analgesics & Anti-inflammatory", ["Aspirin โ€” structure, synthesis, uses", "Paracetamol โ€” structure, hepatotoxicity", "Ibuprofen โ€” NSAID mechanism"]),
            ("Antibiotics Chemistry", ["Penicillin โ€” beta-lactam ring, mechanism", "Tetracyclines โ€” structure, uses", "Streptomycin โ€” aminoglycoside", "Chloramphenicol โ€” structure"]),
            ("Sulfonamides", ["Sulfanilamide, Sulfadiazine, Co-trimoxazole", "Structure-activity relationship"]),
            ("Vitamins Chemistry", ["Vitamin C โ€” ascorbic acid structure", "Vitamin B complex โ€” thiamine, riboflavin, niacin", "Vitamin D โ€” ergocalciferol, cholecalciferol"]),
            ("Hormone Chemistry", ["Insulin โ€” polypeptide hormone", "Steroids โ€” cortisol, testosterone, estrogen", "Thyroxine โ€” iodine-containing hormone"]),
        ]
    },
    {
        "num": "6", "name": "Pharmacology & Toxicology",
        "bg": "B71C1C", "light": "FFEBEE",
        "desc": "MOST IMPORTANT SUBJECT โ€” Drugs kaise kaam karti hain. Sabse zyada questions is subject se aate hain!",
        "topics": [
            ("General Pharmacology", ["Drug definition, sources, classification", "Pharmacokinetics โ€” ADME (Absorption, Distribution, Metabolism, Excretion)", "Pharmacodynamics โ€” receptor theory, agonist, antagonist", "Drug-receptor interaction, ED50, LD50, therapeutic index"]),
            ("Autonomic Nervous System Drugs", ["Adrenergic drugs โ€” Adrenaline, Noradrenaline, Dopamine", "Adrenergic blockers โ€” Propranolol (beta-blocker), Prazosin", "Cholinergic drugs โ€” Acetylcholine, Pilocarpine", "Anticholinergics โ€” Atropine, Scopolamine"]),
            ("Analgesics & Anti-inflammatory", ["Opioid analgesics โ€” Morphine, Codeine, Pethidine", "Non-opioid โ€” Aspirin, Paracetamol, Ibuprofen", "NSAIDs mechanism โ€” COX inhibition", "Gout drugs โ€” Allopurinol, Colchicine"]),
            ("Antibiotics & Antimicrobials", ["Penicillins โ€” Amoxicillin, Ampicillin (beta-lactam)", "Cephalosporins โ€” Cephalexin", "Tetracyclines, Chloramphenicol", "Aminoglycosides โ€” Streptomycin, Gentamicin", "Fluoroquinolones โ€” Ciprofloxacin", "Macrolides โ€” Erythromycin, Azithromycin"]),
            ("Cardiovascular Drugs", ["Cardiac glycosides โ€” Digoxin (heart failure)", "Antihypertensives โ€” ACE inhibitors, beta-blockers, diuretics, calcium channel blockers", "Antiarrhythmics โ€” Amiodarone, Lidocaine", "Antianginals โ€” Nitrates (GTN)"]),
            ("CNS Drugs", ["Sedatives & Hypnotics โ€” Diazepam, Phenobarbitone", "Antiepileptics โ€” Phenytoin, Carbamazepine, Valproate", "Antidepressants โ€” Amitriptyline, Fluoxetine (SSRI)", "Antipsychotics โ€” Chlorpromazine, Haloperidol", "Anaesthetics โ€” General, Local"]),
            ("GIT Drugs", ["Antacids, H2 blockers โ€” Ranitidine, PPIs โ€” Omeprazole", "Antiemetics โ€” Metoclopramide, Ondansetron", "Laxatives & antidiarrhoeals", "Antiulcer drugs"]),
            ("Respiratory Drugs", ["Bronchodilators โ€” Salbutamol, Theophylline", "Antihistamines โ€” Cetirizine, Chlorpheniramine", "Antitussives โ€” Codeine, Dextromethorphan", "Expectorants โ€” Ammonium chloride"]),
            ("Endocrine & Metabolic", ["Insulin types โ€” Regular, NPH, Glargine", "Oral hypoglycemics โ€” Metformin, Glibenclamide", "Thyroid drugs โ€” Thyroxine, Propylthiouracil", "Corticosteroids โ€” Dexamethasone, Prednisolone"]),
            ("Anti-infective Agents", ["Antimalarials โ€” Chloroquine, Quinine, Primaquine", "Anti-TB โ€” Isoniazid, Rifampicin, Pyrazinamide, Ethambutol (RIPE)", "Antifungals โ€” Fluconazole, Amphotericin B", "Antivirals โ€” Acyclovir, Zidovudine"]),
            ("Toxicology", ["Definition โ€” poison, toxin, antidote", "Heavy metal poisoning โ€” Lead, Mercury, Arsenic", "Antidotes โ€” BAL (Dimercaprol), EDTA, N-Acetylcysteine", "Organophosphate poisoning โ€” Atropine antidote", "Snake venom, drug overdose management"]),
        ]
    },
    {
        "num": "7", "name": "Pharmaceutical Jurisprudence",
        "bg": "4A235A", "light": "F3E5F5",
        "desc": "Drug laws aur Acts โ€” bahut scoring subject. Acts ke naam aur year yaad karo!",
        "topics": [
            ("Drugs & Cosmetics Act, 1940", ["Scope & objectives", "Drug schedules โ€” A, B, C, E, F, G, H, H1, J, P, X", "Schedule H & H1 โ€” prescription drugs", "Schedule X โ€” habit-forming (narcotic/psychotropic)", "Central & State drug authority", "Drug Inspector โ€” powers & duties", "Labelling requirements"]),
            ("Pharmacy Act, 1948", ["Establishment of Pharmacy Council of India (PCI)", "State Pharmacy Councils", "Registration of pharmacists", "Duties & rights of registered pharmacist", "Code of ethics"]),
            ("NDPS Act, 1985", ["Narcotic Drugs & Psychotropic Substances", "Controlled substances โ€” Morphine, Codeine, Cannabis", "Strict regulatory control, penalties"]),
            ("Drugs & Magic Remedies Act, 1954", ["Prohibition of misleading advertisements", "Magic remedies โ€” definition", "Penalties for violation"]),
            ("Prevention of Food Adulteration Act, 1954", ["Food standards & safety", "Adulteration โ€” definition, penalties", "Role of food inspectors"]),
            ("Medical Termination of Pregnancy Act, 1971", ["Conditions for legal MTP", "Authorized medical practitioners"]),
            ("Consumer Protection Act, 2019", ["Consumer rights", "Consumer courts โ€” District, State, National", "Remedies available"]),
            ("Insecticides Act, 1968", ["Regulation of insecticides used in public health"]),
        ]
    },
    {
        "num": "8", "name": "Drug Store & Business Management",
        "bg": "E65100", "light": "FFF3E0",
        "desc": "Drug store chalana โ€” practical aur easy subject.",
        "topics": [
            ("Drug Store Setup", ["Location, layout, design of pharmacy", "Licensing requirements โ€” Drug License (form 20, 21)", "Types of drug stores โ€” retail, wholesale, hospital"]),
            ("Inventory Management", ["FIFO (First In First Out) method", "LIFO method", "Minimum & maximum stock levels", "Expiry date management", "Cold chain management"]),
            ("Purchasing & Procurement", ["Purchase order, invoice", "Dealer selection criteria", "Credit & cash purchase"]),
            ("Record Keeping", ["Register for Schedule H & X drugs", "Sales register, purchase register", "Prescription file maintenance"]),
            ("Billing & Accounts", ["Billing software basics", "GST on medicines", "Profit & loss basics"]),
        ]
    },
    {
        "num": "9", "name": "Hospital & Clinical Pharmacy",
        "bg": "00695C", "light": "E0F2F1",
        "desc": "Hospital mein pharmacist ka kaam โ€” dispensing se patient counseling tak.",
        "topics": [
            ("Hospital Pharmacy", ["Functions of hospital pharmacy", "Drug procurement & storage in hospitals", "Hospital formulary โ€” preparation, use", "Pharmacy & Therapeutics Committee (PTC)"]),
            ("Drug Distribution Systems", ["Individual prescription dispensing", "Floor stock system, unit-dose dispensing", "Emergency drug supply"]),
            ("Clinical Pharmacy Services", ["Drug information service (DIS)", "Adverse drug reaction (ADR) monitoring", "Pharmacovigilance โ€” reporting", "Drug utilization review"]),
            ("Patient Counseling", ["Counseling techniques", "Medication adherence", "Counseling for chronic diseases โ€” diabetes, hypertension, TB"]),
            ("Clinical Pharmacokinetics", ["Therapeutic drug monitoring (TDM)", "Drugs requiring TDM โ€” Digoxin, Lithium, Aminoglycosides"]),
        ]
    },
    {
        "num": "10", "name": "Health Education & Community Pharmacy",
        "bg": "1A6B3A", "light": "E8F5E9",
        "desc": "Community health aur government health programs โ€” GK se connect hota hai.",
        "topics": [
            ("Health & Disease", ["Definition of health โ€” WHO definition", "Determinants of health", "Levels of prevention โ€” primary, secondary, tertiary", "Communicable vs non-communicable diseases"]),
            ("Major Communicable Diseases", ["Tuberculosis โ€” symptoms, treatment (DOTS), RIPE regimen", "Malaria โ€” Plasmodium species, treatment", "Dengue, Chikungunya โ€” prevention", "HIV/AIDS โ€” transmission, ART treatment", "Hepatitis โ€” types, vaccination", "Leprosy, Typhoid, Cholera"]),
            ("Immunization", ["Routine immunization schedule โ€” children & adults", "National Immunization Schedule", "Vaccines โ€” BCG, DPT, OPV, MMR, Hepatitis B", "Cold chain โ€” importance"]),
            ("Nutrition", ["Balanced diet, food groups", "Malnutrition โ€” PEM (Protein Energy Malnutrition)", "Micronutrient deficiencies โ€” anaemia, iodine, Vit A deficiency", "National nutrition programs"]),
            ("Family Planning", ["Methods of family planning", "National Family Planning Program", "Oral contraceptives, IUD, emergency contraception"]),
            ("National Health Programs", ["National Health Mission (NHM)", "Ayushman Bharat โ€” PM-JAY", "Pradhan Mantri Jan Aushadhi Yojana", "Janani Suraksha Yojana", "Rashtriya Bal Swasthya Karyakram"]),
            ("Environmental Health", ["Water sanitation โ€” safe water, ORS", "Waste disposal โ€” biomedical waste management", "Air pollution & health"]),
        ]
    },
]

subject_bgs = [hx(s["bg"]) for s in subjects]

for subj in subjects:
    # Subject header
    story.append(Table([
        [Paragraph(f"  SUBJECT {subj['num']}: {subj['name'].upper()}", subj_hdr)]
    ], colWidths=[W-3*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), hx(subj["bg"])),
        ("TOPPADDING",    (0,0), (-1,-1), 7),
        ("BOTTOMPADDING", (0,0), (-1,-1), 7),
        ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ])))
    story.append(Spacer(1, 2))

    # Description
    story.append(Table([
        [Paragraph(f"  ๐Ÿ“Œ  {subj['desc']}", imp_note)]
    ], colWidths=[W-3*cm],
    style=TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), hx("FFF9C4")),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 8),
        ("LINEBELOW", (0,0), (-1,-1), 0.5, hx("CCCCCC")),
    ])))
    story.append(Spacer(1, 3))

    # Topics
    for t_name, t_points in subj["topics"]:
        # topic name row
        story.append(Table([
            [Paragraph(f"  {t_name}", ps("TN", fontName="Helvetica-Bold", fontSize=8.5,
                       textColor=hx(subj["bg"]), alignment=TA_LEFT, leading=12))]
        ], colWidths=[W-3*cm],
        style=TableStyle([
            ("BACKGROUND",    (0,0), (-1,-1), hx(subj["light"])),
            ("TOPPADDING",    (0,0), (-1,-1), 4),
            ("BOTTOMPADDING", (0,0), (-1,-1), 3),
            ("LEFTPADDING",   (0,0), (-1,-1), 8),
            ("LINEBEFORE",    (0,0), (0,-1),  3, hx(subj["bg"])),
        ])))

        bul = [[Paragraph(f"  โ€ข  {p}", bullet_p)] for p in t_points]
        bt = Table(bul, colWidths=[W-3*cm])
        bt.setStyle(TableStyle([
            ("BACKGROUND",    (0,0), (-1,-1), colors.white),
            ("TOPPADDING",    (0,0), (-1,-1), 2),
            ("BOTTOMPADDING", (0,0), (-1,-1), 2),
            ("LEFTPADDING",   (0,0), (-1,-1), 14),
            ("RIGHTPADDING",  (0,0), (-1,-1), 8),
            ("LINEBEFORE",    (0,0), (0,-1),  0.8, hx(subj["bg"])),
        ]))
        story.append(bt)
        story.append(Spacer(1, 3))

    story.append(Spacer(1, 6))
    story.append(HRFlowable(width="100%", thickness=1, color=hx("CCCCCC")))
    story.append(Spacer(1, 6))

# โ”€โ”€ Final page โ€” quick tips โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
story.append(PageBreak())
story.append(Table([[Paragraph("TOP TIPS โ€” Exam Crack Karo!", sec_hdr)]],
    colWidths=[W-3*cm],
    style=TableStyle([("BACKGROUND",(0,0),(-1,-1),hx("1F4E79")),
                      ("TOPPADDING",(0,0),(-1,-1),7),("BOTTOMPADDING",(0,0),(-1,-1),7)])))
story.append(Spacer(1,8))

final_tips = [
    ("Negative Marking se Darno Mat",
     "Lekin soch ke answer karo. Sirf wo questions attempt karo jahan 70%+ confident ho."),
    ("Pharmacology Priority",
     "Is subject ko sabse zyada time do. Drug tables banao โ€” Drug | Use | Side Effect | Class. Roz 1 system padho."),
    ("Jurisprudence = Easy Marks",
     "Acts ke naam + year + key schedules yaad karo. Wall chart banao. Roz ek baar dekho."),
    ("GK = Roz 30 Min",
     "Rajasthan GK + Current Affairs daily thodi thodi karo. Ye 45 marks easily aa sakte hain."),
    ("Chain Learning Follow Karo",
     "Anatomy โ†’ Biochemistry โ†’ Pharmacognosy โ†’ Pharmaceutics โ†’ Pharma Chemistry โ†’ Pharmacology โ†’ Laws โ†’ Hospital โ†’ GK. Is order mein har subject aasaan lagega!"),
    ("Mock Tests Zaroor Do",
     "Har week 1 mock test karo. Galat answers note karo โ€” wahi topics dobara padho."),
    ("MCQ Daily",
     "Minimum 30 MCQ roz solve karo. Ek mahine mein 900+ questions ho jayenge โ€” exam mein speed aayegi."),
]

for tip_t, tip_d in final_tips:
    tip_row = Table([
        [Paragraph(f"โœ…  {tip_t}", tip_bold), Paragraph(tip_d, tip_style)]
    ], colWidths=[5.5*cm, 11.5*cm])
    tip_row.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (0,0), hx("E2EFDA")),
        ("BACKGROUND",    (1,0), (1,0), hx("FFFFFF")),
        ("GRID",          (0,0), (-1,-1), 0.4, hx("BBBBBB")),
        ("TOPPADDING",    (0,0), (-1,-1), 6), ("BOTTOMPADDING", (0,0), (-1,-1), 6),
        ("LEFTPADDING",   (0,0), (-1,-1), 8), ("RIGHTPADDING",  (0,0), (-1,-1), 8),
        ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
    ]))
    story.append(tip_row)
    story.append(Spacer(1, 4))

# Build
doc.build(story)
print(f"Syllabus PDF saved: {out_path}")
Running Command

cd /tmp/workspace/pharmacist-timetable && python create_syllabus_pdf.py 2>&1

Editing File

~/pharmacist-timetable/create_syllabus_pdf.py

Successfully replaced 1 instance(s) of the string in '/tmp/workspace/pharmacist-timetable/create_syllabus_pdf.py'
Running Command

cd /tmp/workspace/pharmacist-timetable && python create_syllabus_pdf.py 2>&1

Syllabus PDF taiyar hai! Download karo:

โœ… Syllabus PDF Download Karo

Rajasthan Pharmacist Syllabus

PDF Document ยท PDF


๐Ÿ“„ PDF Mein Kya Hai:

PageContent
Page 1Exam Pattern โ€” complete details (marks, time, negative marking)
Page 2Section A โ€” General Knowledge (10 topics with all subtopics)
Page 3 onwardsSection B โ€” 10 Pharmacy Subjects (detailed)

๐Ÿ“š 10 Subjects โ€” Full Detail:

#SubjectTopics Cover
1Human Anatomy & PhysiologyBlood, Heart, Lungs, Brain, Hormones
2Biochemistry & Clinical PathologyEnzymes, Vitamins, Lab Tests
3PharmacognosyAlkaloids, Glycosides, Plant drugs
4PharmaceuticsTablets, Injections, Creams
5Pharmaceutical ChemistryAntacids, Antibiotics, Vitamins chemistry
6Pharmacology & ToxicologyDrug actions, Side effects, Antidotes
7Pharmaceutical JurisprudenceActs, Schedules, Laws
8Drug Store ManagementInventory, FIFO, Billing
9Hospital & Clinical PharmacyDispensing, Counseling
10Health Education & CommunityTB, Malaria, Vaccines, Nutrition

Teeno Files Ek Saath:

FileDownload
๐Ÿ“„ Syllabus PDF

Rajasthan Pharmacist Syllabus

PDF Document ยท PDF

๐Ÿ“„ Timetable PDF

Rajasthan Pharmacist 3Month Timetable

PDF Document ยท PDF

๐Ÿ“Š Timetable Excel

Rajasthan Pharmacist 3Month Timetable

Spreadsheet ยท XLSX

All the best bhai! ๐Ÿ’ช๐ŸŽฏ

Generate Pharmacology drug comparison tables (uses, side effects, class)

Writing File

~/pharmacist-timetable/create_drug_tables.py

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

out_path = "/tmp/workspace/pharmacist-timetable/Pharmacology_Drug_Tables.pdf"

doc = SimpleDocTemplate(
    out_path, pagesize=landscape(A4),
    leftMargin=1.2*cm, rightMargin=1.2*cm,
    topMargin=1.5*cm, bottomMargin=1.5*cm,
    title="Pharmacology Drug Comparison Tables",
)

W, H = landscape(A4)
CW = W - 2.4*cm   # usable width

def hx(h): return colors.HexColor(f"#{h}")

def ps(name, **kw):
    return ParagraphStyle(name, **kw)

# โ”€โ”€ common styles โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
T  = ps("T",  fontName="Helvetica",      fontSize=8,   textColor=hx("222222"), alignment=TA_LEFT,   leading=10)
TB = ps("TB", fontName="Helvetica-Bold", fontSize=8,   textColor=hx("111111"), alignment=TA_LEFT,   leading=10)
TC = ps("TC", fontName="Helvetica",      fontSize=7.5, textColor=hx("333333"), alignment=TA_CENTER, leading=10)
TBC= ps("TBC",fontName="Helvetica-Bold", fontSize=8,   textColor=hx("111111"), alignment=TA_CENTER, leading=10)
WH = ps("WH", fontName="Helvetica-Bold", fontSize=9,   textColor=colors.white, alignment=TA_CENTER, leading=11)
WHL= ps("WHL",fontName="Helvetica-Bold", fontSize=9,   textColor=colors.white, alignment=TA_LEFT,   leading=11)
SEC= ps("SEC",fontName="Helvetica-Bold", fontSize=13,  textColor=colors.white, alignment=TA_CENTER, leading=16)
SUB= ps("SUB",fontName="Helvetica-Bold", fontSize=10,  textColor=colors.white, alignment=TA_LEFT,   leading=13)
IMP= ps("IMP",fontName="Helvetica-Bold", fontSize=8,   textColor=hx("B71C1C"), alignment=TA_LEFT,   leading=10)
GRN= ps("GRN",fontName="Helvetica-Bold", fontSize=8,   textColor=hx("1B5E20"), alignment=TA_LEFT,   leading=10)
BLU= ps("BLU",fontName="Helvetica-Bold", fontSize=8,   textColor=hx("0D47A1"), alignment=TA_LEFT,   leading=10)
NRM= ps("NRM",fontName="Helvetica",      fontSize=8.5, textColor=hx("222222"), alignment=TA_LEFT,   leading=11)

def thin(): return [("GRID",(0,0),(-1,-1),0.35,hx("CCCCCC")),
                    ("TOPPADDING",(0,0),(-1,-1),3),("BOTTOMPADDING",(0,0),(-1,-1),3),
                    ("LEFTPADDING",(0,0),(-1,-1),4),("RIGHTPADDING",(0,0),(-1,-1),4),
                    ("VALIGN",(0,0),(-1,-1),"MIDDLE")]

def sec_block(title, color):
    t = Table([[Paragraph(title, SEC)]], colWidths=[CW])
    t.setStyle(TableStyle([("BACKGROUND",(0,0),(-1,-1),hx(color)),
                            ("TOPPADDING",(0,0),(-1,-1),7),("BOTTOMPADDING",(0,0),(-1,-1),7)]))
    return t

def subj_block(title, color):
    t = Table([[Paragraph(f"  {title}", SUB)]], colWidths=[CW])
    t.setStyle(TableStyle([("BACKGROUND",(0,0),(-1,-1),hx(color)),
                            ("TOPPADDING",(0,0),(-1,-1),5),("BOTTOMPADDING",(0,0),(-1,-1),5),
                            ("LEFTPADDING",(0,0),(-1,-1),6)]))
    return t

def hdr_row(cells, bg):
    return [Paragraph(c, WH) for c in cells]

def make_table(rows, col_widths, hdr_bg, row_bgs=None):
    if row_bgs is None:
        row_bgs = [hx("FFFFFF"), hx("F5F5F5")]
    t = Table(rows, colWidths=col_widths, repeatRows=1)
    ts = thin() + [
        ("BACKGROUND",(0,0),(-1,0), hx(hdr_bg)),
        ("ROWBACKGROUNDS",(0,1),(-1,-1), row_bgs),
        ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"),
        ("FONTSIZE",(0,0),(-1,0),9),
    ]
    t.setStyle(TableStyle(ts))
    return t

story = []

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# COVER
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(Table([
    [Paragraph("Pharmacology Drug Comparison Tables", SEC)],
    [Paragraph("Rajasthan Pharmacist Exam โ€” Drug | Class | Uses | Side Effects | Key Points", ps("C2",fontName="Helvetica",fontSize=9,textColor=hx("1F4E79"),alignment=TA_CENTER,leading=13))],
], colWidths=[CW]))
story[-1].setStyle(TableStyle([
    ("BACKGROUND",(0,0),(-1,0),hx("1F4E79")),
    ("BACKGROUND",(0,1),(-1,1),hx("D6E4F0")),
    ("TOPPADDING",(0,0),(-1,-1),8),("BOTTOMPADDING",(0,0),(-1,-1),8),
]))
story.append(Spacer(1,10))

# Index
idx_data = [
    [Paragraph("Section", WH), Paragraph("Topic", WH), Paragraph("Drugs Covered", WH)],
    [Paragraph("1",TC), Paragraph("Analgesics & NSAIDs",T), Paragraph("Morphine, Codeine, Aspirin, Paracetamol, Ibuprofen, Diclofenac",T)],
    [Paragraph("2",TC), Paragraph("Antibiotics & Antimicrobials",T), Paragraph("Penicillin, Amoxicillin, Tetracycline, Erythromycin, Ciprofloxacin, Streptomycin, Chloramphenicol",T)],
    [Paragraph("3",TC), Paragraph("Cardiovascular Drugs",T), Paragraph("Digoxin, Atenolol, Amlodipine, Enalapril, GTN, Furosemide, Aspirin",T)],
    [Paragraph("4",TC), Paragraph("CNS Drugs",T), Paragraph("Diazepam, Phenobarbitone, Phenytoin, Morphine, Haloperidol, Amitriptyline, Fluoxetine",T)],
    [Paragraph("5",TC), Paragraph("Autonomic Nervous System Drugs",T), Paragraph("Adrenaline, Atropine, Propranolol, Salbutamol, Neostigmine",T)],
    [Paragraph("6",TC), Paragraph("GIT Drugs",T), Paragraph("Omeprazole, Ranitidine, Metoclopramide, Ondansetron, Loperamide, Bisacodyl",T)],
    [Paragraph("7",TC), Paragraph("Anti-diabetic Drugs",T), Paragraph("Insulin (types), Metformin, Glibenclamide, Glipizide",T)],
    [Paragraph("8",TC), Paragraph("Respiratory Drugs",T), Paragraph("Salbutamol, Theophylline, Ipratropium, Beclomethasone, Cetirizine",T)],
    [Paragraph("9",TC), Paragraph("Anti-infectives (Malaria, TB, Antifungal)",T), Paragraph("Chloroquine, Quinine, Primaquine, INH, Rifampicin, Pyrazinamide, Fluconazole",T)],
    [Paragraph("10",TC), Paragraph("Corticosteroids & Hormones",T), Paragraph("Dexamethasone, Prednisolone, Insulin, Thyroxine, Oxytocin",T)],
    [Paragraph("11",TC), Paragraph("Toxicology โ€” Antidotes",T), Paragraph("Morphine OD, Organophosphate, Lead, Mercury, Paracetamol, Benzodiazepine",T)],
]
idx_t = make_table(idx_data, [1.2*cm, 5.5*cm, CW-6.7*cm], "1F4E79",
                   [hx("E8F5E9"), hx("FFFFFF")]*6)
story.append(idx_t)
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SECTION 1 โ€” ANALGESICS & NSAIDs
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(sec_block("SECTION 1 โ€” ANALGESICS & NSAIDs", "B71C1C"))
story.append(Spacer(1,5))

cols1 = [3.5*cm, 4*cm, 5*cm, 5.5*cm, 4.5*cm, CW-22.5*cm]
hdr1  = hdr_row(["Drug Name","Class","Uses","Side Effects","Contraindications","Key Exam Point"], "C62828")
analgesics = [
    hdr1,
    [Paragraph("Morphine",TB), Paragraph("Opioid analgesic\n(Narcotic)",T),
     Paragraph("Severe pain, MI pain, pulmonary oedema, pre-anaesthetic medication",T),
     Paragraph("Respiratory depression, constipation, nausea, miosis (pin-point pupils), euphoria, dependence",IMP),
     Paragraph("Head injury, bronchial asthma, COPD, liver disease",T),
     Paragraph("Antidote = Naloxone\nSchedule X drug",BLU)],
    [Paragraph("Codeine",TB), Paragraph("Opioid analgesic\n(Mild narcotic)",T),
     Paragraph("Mild-moderate pain, cough suppressant (antitussive), diarrhoea",T),
     Paragraph("Constipation, nausea, sedation, dependence (less than morphine)",T),
     Paragraph("Children under 12 for cough",T),
     Paragraph("Prodrug โ€” converted to morphine in body",BLU)],
    [Paragraph("Aspirin\n(Acetylsalicylic acid)",TB), Paragraph("NSAID\n(Salicylate)",T),
     Paragraph("Pain, fever, inflammation, anti-platelet (low dose), rheumatic fever",T),
     Paragraph("GI bleeding, peptic ulcer, tinnitus (overdose), Reye's syndrome in children",IMP),
     Paragraph("Peptic ulcer, children with viral fever, bleeding disorders",T),
     Paragraph("Irreversibly inhibits COX-1 & COX-2\nAntiplatelet โ€” 75-150 mg/day",BLU)],
    [Paragraph("Paracetamol\n(Acetaminophen)",TB), Paragraph("Non-opioid analgesic\n(Non-NSAID)",T),
     Paragraph("Mild-moderate pain, fever (antipyretic) โ€” drug of choice in children",T),
     Paragraph("Hepatotoxicity in overdose (most dangerous side effect)",IMP),
     Paragraph("Liver disease, alcoholism",T),
     Paragraph("Antidote = N-Acetylcysteine\nNo anti-inflammatory action",BLU)],
    [Paragraph("Ibuprofen",TB), Paragraph("NSAID\n(Propionic acid)",T),
     Paragraph("Pain, fever, inflammation, dysmenorrhoea, arthritis",T),
     Paragraph("GI upset, peptic ulcer, renal impairment, risk of CVS events",T),
     Paragraph("Peptic ulcer, renal failure, heart failure, pregnancy (3rd trimester)",T),
     Paragraph("Reversible COX inhibitor\nSafer on GI than Aspirin",GRN)],
    [Paragraph("Diclofenac",TB), Paragraph("NSAID\n(Acetic acid)",T),
     Paragraph("Pain, inflammation, arthritis, post-operative pain",T),
     Paragraph("GI side effects, hepatotoxicity, cardiovascular risk",IMP),
     Paragraph("Peptic ulcer, hepatic failure, pregnancy",T),
     Paragraph("Available as tablet, gel, injection\nTopical gel for local pain",BLU)],
    [Paragraph("Indomethacin",TB), Paragraph("NSAID\n(Indole acetic acid)",T),
     Paragraph("Gout (acute), ankylosing spondylitis, patent ductus arteriosus closure",T),
     Paragraph("Most GI side effects of all NSAIDs, headache, dizziness, renal damage",IMP),
     Paragraph("Peptic ulcer, renal failure, elderly",T),
     Paragraph("Drug of choice: Closure of patent ductus arteriosus",BLU)],
    [Paragraph("Colchicine",TB), Paragraph("Anti-gout\n(Alkaloid from Colchicum)",T),
     Paragraph("Acute gout attack โ€” drug of choice",T),
     Paragraph("Nausea, vomiting, diarrhoea, bone marrow depression (high dose)",T),
     Paragraph("GI disease, renal/hepatic failure",T),
     Paragraph("Inhibits microtubule โ€” blocks WBC migration\nNOT an analgesic",BLU)],
    [Paragraph("Allopurinol",TB), Paragraph("Anti-gout\n(Xanthine oxidase inhibitor)",T),
     Paragraph("Chronic gout โ€” prevention, hyperuricaemia",T),
     Paragraph("Skin rash, GI upset, Stevens-Johnson syndrome (rare)",T),
     Paragraph("Acute gout (do not start during acute attack)",T),
     Paragraph("Reduces uric acid synthesis\nNOT for acute gout",BLU)],
]
story.append(make_table(analgesics, cols1, "C62828", [hx("FFF5F5"),hx("FFFFFF")]*5))
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SECTION 2 โ€” ANTIBIOTICS
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(sec_block("SECTION 2 โ€” ANTIBIOTICS & ANTIMICROBIALS", "1A5276"))
story.append(Spacer(1,5))

cols2 = [3.5*cm, 4*cm, 5*cm, 5.5*cm, 4.5*cm, CW-22.5*cm]
hdr2  = hdr_row(["Drug Name","Class / Mechanism","Uses","Side Effects","Key Contraindication","Key Exam Point"], "1A5276")
antibiotics = [
    hdr2,
    [Paragraph("Penicillin G\n(Benzyl penicillin)",TB), Paragraph("Beta-lactam\nInhibits cell wall synthesis",T),
     Paragraph("Streptococcal infections, syphilis, meningitis, rheumatic fever prophylaxis",T),
     Paragraph("Hypersensitivity/anaphylaxis (most serious), diarrhoea",IMP),
     Paragraph("Penicillin allergy",T),
     Paragraph("Drug of choice: Syphilis\nNarrow spectrum",BLU)],
    [Paragraph("Amoxicillin",TB), Paragraph("Aminopenicillin\n(Broad spectrum beta-lactam)",T),
     Paragraph("RTI, UTI, H. pylori (with others), otitis media, typhoid",T),
     Paragraph("Diarrhoea, rash, hypersensitivity",T),
     Paragraph("Penicillin allergy",T),
     Paragraph("Broad spectrum penicillin\nAmoxicillin + Clavulanate = Augmentin",GRN)],
    [Paragraph("Tetracycline",TB), Paragraph("Tetracycline\nInhibits 30S ribosome (protein synthesis)",T),
     Paragraph("Acne, chlamydia, rickettsia, brucellosis, cholera",T),
     Paragraph("Teeth staining & bone growth inhibition in children, photosensitivity, GI upset",IMP),
     Paragraph("Children <8 years, pregnancy, renal failure",T),
     Paragraph("Chelates calcium โ€” not with milk/antacids\nBroad spectrum",BLU)],
    [Paragraph("Doxycycline",TB), Paragraph("Tetracycline group\n(Long acting)",T),
     Paragraph("Malaria prophylaxis, RTI, STI, acne, leptospirosis",T),
     Paragraph("Photosensitivity, GI upset, teeth staining",IMP),
     Paragraph("Children <8 yrs, pregnancy",T),
     Paragraph("Better absorbed than tetracycline\nMalaria prophylaxis use",GRN)],
    [Paragraph("Erythromycin",TB), Paragraph("Macrolide\nInhibits 50S ribosome",T),
     Paragraph("Penicillin allergy alternative, whooping cough, Legionnaire's disease, chlamydia, diphtheria",T),
     Paragraph("GI upset (nausea most common), hepatotoxicity (estolate salt)",IMP),
     Paragraph("Hepatic disease",T),
     Paragraph("Alternative to penicillin in allergic patients",BLU)],
    [Paragraph("Azithromycin",TB), Paragraph("Macrolide (Azalide)\nInhibits 50S ribosome",T),
     Paragraph("RTI, STI (chlamydia), typhoid, H. pylori, pharyngitis",T),
     Paragraph("GI upset (minimal), QT prolongation",T),
     Paragraph("Cardiac arrhythmias",T),
     Paragraph("Long half-life โ€” 3-5 day course\nTissue penetration very high",GRN)],
    [Paragraph("Streptomycin",TB), Paragraph("Aminoglycoside\nInhibits 30S ribosome",T),
     Paragraph("TB (2nd line), plague, tularaemia, brucellosis",T),
     Paragraph("Ototoxicity (hearing loss), nephrotoxicity",IMP),
     Paragraph("Renal failure, pregnancy",T),
     Paragraph("First antibiotic ever discovered\nMonitor hearing & kidney function",BLU)],
    [Paragraph("Gentamicin",TB), Paragraph("Aminoglycoside\nInhibits 30S ribosome",T),
     Paragraph("Serious gram-negative infections, septicaemia, UTI",T),
     Paragraph("Ototoxicity, nephrotoxicity โ€” dose-dependent",IMP),
     Paragraph("Renal impairment, pregnancy",T),
     Paragraph("TDM (therapeutic drug monitoring) required",BLU)],
    [Paragraph("Ciprofloxacin",TB), Paragraph("Fluoroquinolone\nInhibits DNA gyrase (topoisomerase II)",T),
     Paragraph("UTI, typhoid, anthrax, GIT infections, respiratory infections",T),
     Paragraph("GI upset, tendon damage (Achilles tendon rupture), photosensitivity, cartilage damage in children",IMP),
     Paragraph("Children, pregnancy, tendon disorders",T),
     Paragraph("Drug of choice: Typhoid (oral)\nDrug of choice: Anthrax",BLU)],
    [Paragraph("Chloramphenicol",TB), Paragraph("Broad-spectrum\nInhibits 50S ribosome",T),
     Paragraph("Typhoid (earlier DOC), meningitis, bacterial conjunctivitis (eye drops)",T),
     Paragraph("Aplastic anaemia (most dangerous โ€” idiosyncratic), Grey Baby Syndrome in neonates",IMP),
     Paragraph("Neonates, pregnancy, bone marrow depression",T),
     Paragraph("Grey Baby Syndrome โ€” deficient glucuronyl transferase\nReserved for life-threatening infections",BLU)],
    [Paragraph("Metronidazole",TB), Paragraph("Nitroimidazole\nDNA strand breakage",T),
     Paragraph("Anaerobic infections, amoebic dysentery, giardia, trichomonas, H. pylori (with others)",T),
     Paragraph("GI upset, metallic taste, peripheral neuropathy, disulfiram-like reaction with alcohol",IMP),
     Paragraph("Alcohol intake, pregnancy (1st trimester)",T),
     Paragraph("No alcohol during treatment!\nDrug of choice: Amoebic dysentery",BLU)],
    [Paragraph("Vancomycin",TB), Paragraph("Glycopeptide\nCell wall synthesis inhibitor",T),
     Paragraph("MRSA (drug of choice), C. difficile colitis, serious gram-positive infections",T),
     Paragraph("Ototoxicity, nephrotoxicity, Red Man Syndrome (rapid IV infusion)",IMP),
     Paragraph("Renal impairment",T),
     Paragraph("MRSA = Drug of choice: Vancomycin\nRed Man Syndrome: slow the infusion",BLU)],
    [Paragraph("Co-trimoxazole\n(TMP + SMX)",TB), Paragraph("Sulfonamide combination\nInhibits folate synthesis",T),
     Paragraph("UTI, PCP pneumonia (AIDS), typhoid, nocardia",T),
     Paragraph("Rash, Stevens-Johnson syndrome, bone marrow suppression, crystalluria",IMP),
     Paragraph("Renal/hepatic failure, G6PD deficiency, pregnancy",T),
     Paragraph("Drug of choice: PCP in AIDS\nAvoid with methotrexate",BLU)],
]
story.append(make_table(antibiotics, cols2, "1A5276", [hx("EAF2FF"),hx("FFFFFF")]*7))
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SECTION 3 โ€” CARDIOVASCULAR DRUGS
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(sec_block("SECTION 3 โ€” CARDIOVASCULAR DRUGS", "880E4F"))
story.append(Spacer(1,5))

cols3 = [3.5*cm, 4.5*cm, 5*cm, 5*cm, 4*cm, CW-22*cm]
hdr3  = hdr_row(["Drug","Class / Mechanism","Uses","Side Effects","Contraindications","Key Exam Point"], "880E4F")
cvs = [
    hdr3,
    [Paragraph("Digoxin",TB), Paragraph("Cardiac glycoside\nInhibits Na-K ATPase\n(Positive inotrope)",T),
     Paragraph("Heart failure (systolic), atrial fibrillation, atrial flutter",T),
     Paragraph("Toxicity: nausea, vomiting, yellow-green vision (xanthopsia), arrhythmias, bradycardia\nToxicity worsened by hypokalaemia",IMP),
     Paragraph("Ventricular arrhythmias, WPW syndrome, hyperkalaemia",T),
     Paragraph("Narrow therapeutic index โ€” TDM needed\nAntidote: Digoxin-specific antibody (Digibind)\nSource: Digitalis purpurea (Pharmacognosy link)",BLU)],
    [Paragraph("Atenolol",TB), Paragraph("Beta-1 selective blocker\n(Cardioselective beta-blocker)",T),
     Paragraph("Hypertension, angina, post-MI protection, arrhythmias, migraine prophylaxis",T),
     Paragraph("Bradycardia, fatigue, cold extremities, bronchospasm (less than non-selective), impotence",T),
     Paragraph("Asthma, COPD, heart block, bradycardia",IMP),
     Paragraph("Selective for beta-1 (heart)\nDo NOT stop abruptly โ€” rebound hypertension",BLU)],
    [Paragraph("Propranolol",TB), Paragraph("Non-selective beta-blocker\n(Beta-1 + Beta-2 blocker)",T),
     Paragraph("Hypertension, angina, arrhythmias, thyrotoxicosis, anxiety, migraine prophylaxis, portal hypertension",T),
     Paragraph("Bradycardia, bronchospasm, fatigue, hypoglycaemia masking",IMP),
     Paragraph("Asthma, COPD, heart block, diabetes (masks hypoglycaemia)",T),
     Paragraph("AVOID in asthma\nFirst beta-blocker discovered",BLU)],
    [Paragraph("Amlodipine",TB), Paragraph("Calcium channel blocker\n(Dihydropyridine)",T),
     Paragraph("Hypertension, angina (stable & vasospastic), Raynaud's phenomenon",T),
     Paragraph("Peripheral oedema (ankle swelling most common), flushing, headache, reflex tachycardia",T),
     Paragraph("Cardiogenic shock, severe hypotension",T),
     Paragraph("Safe in asthma & diabetes\nNo effect on heart rate",GRN)],
    [Paragraph("Enalapril",TB), Paragraph("ACE Inhibitor\n(Angiotensin converting enzyme inhibitor)",T),
     Paragraph("Hypertension (first choice in diabetic nephropathy), heart failure, post-MI, diabetic nephropathy",T),
     Paragraph("Dry cough (most common โ€” due to bradykinin accumulation), hypotension (first dose), hyperkalaemia, angioedema",IMP),
     Paragraph("Pregnancy (teratogenic), bilateral renal artery stenosis, hyperkalaemia",T),
     Paragraph("Drug of choice: Diabetic nephropathy\nDry cough โ†’ switch to ARB (Losartan)",BLU)],
    [Paragraph("Losartan",TB), Paragraph("ARB โ€” Angiotensin\nReceptor Blocker (AT1)",T),
     Paragraph("Hypertension, heart failure, diabetic nephropathy, post-MI",T),
     Paragraph("Hyperkalaemia, dizziness โ€” NO dry cough",GRN),
     Paragraph("Pregnancy, bilateral renal artery stenosis",T),
     Paragraph("Used when ACE inhibitor causes cough\nNo bradykinin effect = No cough",GRN)],
    [Paragraph("Furosemide\n(Frusemide)",TB), Paragraph("Loop diuretic\n(Inhibits Na-K-2Cl transporter\nin Loop of Henle)",T),
     Paragraph("Heart failure (oedema), hypertension, pulmonary oedema, hypercalcaemia",T),
     Paragraph("Hypokalaemia (most important), hyponatraemia, dehydration, ototoxicity (high dose), hyperglycaemia",IMP),
     Paragraph("Anuria, sulfa allergy",T),
     Paragraph("Potassium supplements needed\nMost potent diuretic",BLU)],
    [Paragraph("Spironolactone",TB), Paragraph("Potassium-sparing diuretic\n(Aldosterone antagonist)",T),
     Paragraph("Heart failure (with Furosemide), hyperaldosteronism, cirrhosis ascites, hirsutism",T),
     Paragraph("Hyperkalaemia (most dangerous), gynaecomastia in men, menstrual irregularity",IMP),
     Paragraph("Hyperkalaemia, renal failure",T),
     Paragraph("Potassium-SPARING โ€” monitor K+\nUsed with furosemide to prevent hypokalaemia",BLU)],
    [Paragraph("GTN\n(Glyceryl trinitrate)",TB), Paragraph("Organic nitrate\n(Nitric oxide donor)\nVenodilator",T),
     Paragraph("Acute angina (sublingual), prophylaxis of angina",T),
     Paragraph("Headache (most common), hypotension, reflex tachycardia, tolerance on prolonged use",T),
     Paragraph("Hypotension, sildenafil use (severe hypotension), raised ICP",IMP),
     Paragraph("Sublingual = rapid onset (1-2 min)\nDo NOT use with sildenafil (Viagra)",BLU)],
    [Paragraph("Statin\n(Atorvastatin)",TB), Paragraph("HMG-CoA reductase inhibitor\n(Lipid-lowering)",T),
     Paragraph("Hypercholesterolaemia, prevention of CVS events (MI, stroke)",T),
     Paragraph("Myopathy, rhabdomyolysis (severe), hepatotoxicity, GI upset",IMP),
     Paragraph("Pregnancy, active liver disease",T),
     Paragraph("Take at night (cholesterol synthesis highest at night)\nMonitor LFT & CK",BLU)],
    [Paragraph("Heparin",TB), Paragraph("Anticoagulant\n(Activates antithrombin III)",T),
     Paragraph("DVT, PE, MI, atrial fibrillation, prophylaxis post-surgery",T),
     Paragraph("Bleeding (most common), thrombocytopenia (HIT), osteoporosis (long term)",IMP),
     Paragraph("Active bleeding, haemophilia, severe thrombocytopenia",T),
     Paragraph("Antidote = Protamine sulphate\nMonitor APTT\nDoes NOT cross placenta โ€” safe in pregnancy",GRN)],
    [Paragraph("Warfarin",TB), Paragraph("Oral anticoagulant\n(Vit K antagonist)",T),
     Paragraph("DVT, PE, atrial fibrillation, prosthetic heart valves",T),
     Paragraph("Bleeding, teratogenic (pregnancy), drug interactions (many)",IMP),
     Paragraph("Pregnancy (crosses placenta), active bleeding",T),
     Paragraph("Antidote = Vitamin K\nMonitor INR (target 2-3)\nMany drug & food interactions",BLU)],
]
story.append(make_table(cvs, cols3, "880E4F", [hx("FDF2F8"),hx("FFFFFF")]*7))
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SECTION 4 โ€” CNS DRUGS
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(sec_block("SECTION 4 โ€” CNS (Central Nervous System) DRUGS", "1B5E20"))
story.append(Spacer(1,5))

cols4 = [3.5*cm, 4.5*cm, 4.5*cm, 5.5*cm, 4*cm, CW-22*cm]
hdr4  = hdr_row(["Drug","Class / Mechanism","Uses","Side Effects","Contraindications","Key Exam Point"], "1B5E20")
cns = [
    hdr4,
    [Paragraph("Diazepam",TB), Paragraph("Benzodiazepine\n(Enhances GABA-A receptor)",T),
     Paragraph("Anxiety, insomnia, status epilepticus, muscle relaxant, alcohol withdrawal, pre-anaesthetic",T),
     Paragraph("Sedation, CNS depression, dependence, tolerance, respiratory depression (IV)",IMP),
     Paragraph("Respiratory depression, sleep apnoea, myasthenia gravis",T),
     Paragraph("Antidote = Flumazenil\nSchedule H drug",BLU)],
    [Paragraph("Phenobarbitone\n(Phenobarbital)",TB), Paragraph("Barbiturate\n(Enhances GABA โ€” prolongs Cl channel)",T),
     Paragraph("Epilepsy (all types except absence), status epilepticus",T),
     Paragraph("Sedation, cognitive impairment, dependence, respiratory depression, enzyme induction",IMP),
     Paragraph("COPD, sleep apnoea, porphyria",T),
     Paragraph("Oldest antiepileptic drug\nEnzyme inducer โ€” increases metabolism of other drugs",BLU)],
    [Paragraph("Phenytoin",TB), Paragraph("Hydantoin\n(Na channel blocker)",T),
     Paragraph("Epilepsy (tonic-clonic, partial seizures), status epilepticus, trigeminal neuralgia",T),
     Paragraph("Gingival hyperplasia, hirsutism, ataxia, nystagmus, teratogenic (fetal hydantoin syndrome)",IMP),
     Paragraph("Pregnancy, bradycardia, SA/AV block",T),
     Paragraph("Zero-order kinetics โ€” small dose increase = big blood level rise\nTDM needed",BLU)],
    [Paragraph("Carbamazepine",TB), Paragraph("Iminostilbene\n(Na channel blocker)",T),
     Paragraph("Epilepsy (partial + tonic-clonic), trigeminal neuralgia (DOC), bipolar disorder, diabetic neuropathy",T),
     Paragraph("Diplopia, ataxia, nausea, hyponatraemia, aplastic anaemia, Stevens-Johnson syndrome",IMP),
     Paragraph("MAOIs, AV block, bone marrow depression",T),
     Paragraph("DOC: Trigeminal neuralgia\nEnzyme inducer",BLU)],
    [Paragraph("Valproate\n(Valproic acid)",TB), Paragraph("Multiple mechanisms\n(Na channel + GABA increase)",T),
     Paragraph("Broad-spectrum โ€” all seizure types including absence, bipolar disorder, migraine prophylaxis",T),
     Paragraph("Hepatotoxicity, pancreatitis, tremor, weight gain, alopecia, teratogenic (neural tube defects)",IMP),
     Paragraph("Pregnancy (spina bifida risk), liver disease",T),
     Paragraph("Broadest spectrum antiepileptic\nHigh teratogenic risk",BLU)],
    [Paragraph("Haloperidol",TB), Paragraph("Typical antipsychotic\n(D2 receptor blocker)",T),
     Paragraph("Schizophrenia, acute psychosis, Tourette syndrome, antiemetic (high dose)",T),
     Paragraph("EPS (extrapyramidal symptoms) most important โ€” Parkinsonism, tardive dyskinesia, akathisia, acute dystonia. Hyperprolactinaemia, NMS",IMP),
     Paragraph("Parkinson's disease, bone marrow depression",T),
     Paragraph("High EPS, Low sedation\nMost potent typical antipsychotic",BLU)],
    [Paragraph("Chlorpromazine",TB), Paragraph("Typical antipsychotic\n(D2 blocker โ€” phenothiazine)",T),
     Paragraph("Schizophrenia, mania, intractable hiccups, antiemetic, pre-operative sedation",T),
     Paragraph("EPS, sedation (most sedating), orthostatic hypotension, photosensitivity, anticholinergic effects",IMP),
     Paragraph("Parkinson's, comatose states",T),
     Paragraph("First antipsychotic โ€” chlorpromazine\nLow potency, high sedation",BLU)],
    [Paragraph("Amitriptyline",TB), Paragraph("TCA โ€” Tricyclic antidepressant\n(NA + 5-HT reuptake inhibitor)",T),
     Paragraph("Depression, neuropathic pain, migraine prophylaxis, enuresis in children",T),
     Paragraph("Anticholinergic: dry mouth, urinary retention, constipation, blurred vision. Cardiac arrhythmias, sedation, weight gain",IMP),
     Paragraph("Recent MI, glaucoma, BPH, MAOIs",T),
     Paragraph("Anticholinergic side effects\nOD = cardiac arrhythmia (dangerous)",BLU)],
    [Paragraph("Fluoxetine",TB), Paragraph("SSRI โ€” Selective Serotonin\nReuptake Inhibitor",T),
     Paragraph("Depression, OCD, bulimia nervosa, panic disorder, PTSD, premenstrual dysphoric disorder",T),
     Paragraph("GI upset, sexual dysfunction, insomnia, serotonin syndrome (with MAOIs), suicidal ideation (initial)",T),
     Paragraph("MAOIs (serotonin syndrome), within 14 days of MAOI",IMP),
     Paragraph("First SSRI\nFewer anticholinergic effects than TCA\nSafe in elderly",GRN)],
    [Paragraph("Levodopa\n(L-DOPA)",TB), Paragraph("Dopamine precursor\n(+ Carbidopa = Sinemet)",T),
     Paragraph("Parkinson's disease (most effective drug)",T),
     Paragraph("Nausea, dyskinesia (on-off phenomenon), orthostatic hypotension, psychosis",IMP),
     Paragraph("Psychosis, MAOIs, closed-angle glaucoma",T),
     Paragraph("Always combined with Carbidopa\nDopamine cannot cross BBB โ€” Levodopa can",BLU)],
    [Paragraph("Lithium",TB), Paragraph("Mood stabilizer\n(Mechanism not fully known)",T),
     Paragraph("Bipolar disorder (mania prophylaxis โ€” drug of choice), acute mania",T),
     Paragraph("Tremor, polyuria, hypothyroidism, weight gain, acne. TOXICITY: confusion, arrhythmia, fits",IMP),
     Paragraph("Renal failure, pregnancy (Ebstein's anomaly), dehydration",T),
     Paragraph("Narrow therapeutic index โ€” TDM essential\nAntidote: Supportive (no specific antidote)",BLU)],
]
story.append(make_table(cns, cols4, "1B5E20", [hx("F1F8E9"),hx("FFFFFF")]*6))
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SECTION 5 โ€” ANS DRUGS
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(sec_block("SECTION 5 โ€” AUTONOMIC NERVOUS SYSTEM (ANS) DRUGS", "4A235A"))
story.append(Spacer(1,5))

cols5 = [3.5*cm, 4.5*cm, 5*cm, 5*cm, 3.5*cm, CW-21.5*cm]
hdr5  = hdr_row(["Drug","Class / Mechanism","Uses","Side Effects","CI","Key Exam Point"], "4A235A")
ans_drugs = [
    hdr5,
    [Paragraph("Adrenaline\n(Epinephrine)",TB), Paragraph("Sympathomimetic\n(Alpha + Beta agonist)",T),
     Paragraph("Anaphylaxis (DOC โ€” IM), cardiac arrest, acute bronchospasm, local anaesthetic additive",T),
     Paragraph("Tachycardia, hypertension, palpitations, anxiety, arrhythmias",T),
     Paragraph("Hypertension, hyperthyroidism",T),
     Paragraph("DOC: Anaphylaxis (IM)\nDOC: Cardiac arrest (IV)\n1:1000 for anaphylaxis, 1:10000 for cardiac arrest",BLU)],
    [Paragraph("Noradrenaline\n(Norepinephrine)",TB), Paragraph("Sympathomimetic\n(Alpha > Beta agonist)",T),
     Paragraph("Septic shock (vasopressor), severe hypotension",T),
     Paragraph("Hypertension, reflex bradycardia, peripheral ischaemia at injection site",IMP),
     Paragraph("Peripheral vascular disease, hypertension",T),
     Paragraph("Central line required for infusion\nVasopressor โ€” raises BP",BLU)],
    [Paragraph("Dopamine",TB), Paragraph("Catecholamine\nDose-dependent effects",T),
     Paragraph("Low dose: renal vasodilation. Medium: +ve inotropy. High: vasopressor in shock",T),
     Paragraph("Tachycardia, nausea, arrhythmias",T),
     Paragraph("Phaeochromocytoma",T),
     Paragraph("Low dose = renal dose (D1 receptor)\nHigh dose = alpha effect (vasoconstriction)",BLU)],
    [Paragraph("Salbutamol\n(Albuterol)",TB), Paragraph("Beta-2 selective agonist\n(Sympathomimetic)",T),
     Paragraph("Acute asthma (DOC โ€” inhaled), COPD, bronchospasm, premature labour (tocolytic)",T),
     Paragraph("Tremor, tachycardia, hypokalaemia (high dose)",T),
     Paragraph("Thyrotoxicosis",T),
     Paragraph("Selective beta-2 = less cardiac side effects\nInhaled route preferred for asthma",GRN)],
    [Paragraph("Atropine",TB), Paragraph("Anticholinergic\n(Muscarinic receptor antagonist)",T),
     Paragraph("Bradycardia (DOC), organophosphate poisoning (antidote), pre-anaesthetic medication, peptic ulcer, motion sickness",T),
     Paragraph("Dry mouth, urinary retention, constipation, blurred vision, tachycardia, hyperthermia (hot as hare, dry as bone, blind as bat, red as beet, mad as hatter)",IMP),
     Paragraph("Glaucoma, BPH, tachycardia",T),
     Paragraph("DOC: Organophosphate poisoning\nDOC: Bradycardia\nSource: Belladonna (Pharmacognosy link)",BLU)],
    [Paragraph("Neostigmine",TB), Paragraph("Anticholinesterase\n(Reversible โ€” indirect cholinomimetic)",T),
     Paragraph("Myasthenia gravis (DOC), post-operative paralytic ileus, reversal of non-depolarising NMBs",T),
     Paragraph("Bradycardia, increased secretions, muscle twitching, nausea",T),
     Paragraph("Intestinal/urinary obstruction, asthma",T),
     Paragraph("DOC: Myasthenia gravis\nDoes not cross BBB",BLU)],
    [Paragraph("Physostigmine",TB), Paragraph("Anticholinesterase\n(Reversible โ€” crosses BBB)",T),
     Paragraph("Glaucoma (eye drops), atropine overdose antidote, Alzheimer's (centrally acting)",T),
     Paragraph("Bradycardia, nausea, excessive secretions",T),
     Paragraph("Intestinal obstruction",T),
     Paragraph("CROSSES BBB unlike Neostigmine\nSource: Calabar bean (Physostigma)",BLU)],
    [Paragraph("Prazosin",TB), Paragraph("Alpha-1 blocker\n(Selective)",T),
     Paragraph("Hypertension, BPH (urinary retention), Raynaud's phenomenon, heart failure",T),
     Paragraph("First-dose hypotension (syncope), dizziness, reflex tachycardia",IMP),
     Paragraph("",T),
     Paragraph("First-dose effect โ€” give at bedtime\nUseful in BPH + Hypertension",BLU)],
]
story.append(make_table(ans_drugs, cols5, "4A235A", [hx("F5EEF8"),hx("FFFFFF")]*5))
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SECTION 6 โ€” GIT DRUGS
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(sec_block("SECTION 6 โ€” GIT (Gastrointestinal) DRUGS", "E65100"))
story.append(Spacer(1,5))

cols6 = [3.5*cm, 4.5*cm, 5*cm, 5*cm, 3.5*cm, CW-21.5*cm]
hdr6  = hdr_row(["Drug","Class / Mechanism","Uses","Side Effects","CI","Key Exam Point"], "E65100")
git = [
    hdr6,
    [Paragraph("Omeprazole",TB), Paragraph("PPI โ€” Proton Pump Inhibitor\n(H+/K+ ATPase inhibitor)",T),
     Paragraph("Peptic ulcer, GERD, Zollinger-Ellison syndrome, H. pylori eradication (triple therapy)",T),
     Paragraph("Headache, nausea, hypomagnesaemia (long term), fracture risk (long term)",T),
     Paragraph("",T),
     Paragraph("Most potent acid suppressant\nProdrug โ€” activated in acidic pH of parietal cell",BLU)],
    [Paragraph("Ranitidine",TB), Paragraph("H2 Receptor Blocker\n(H2 antagonist)",T),
     Paragraph("Peptic ulcer, GERD, Zollinger-Ellison, pre-anaesthetic (to reduce acid aspiration)",T),
     Paragraph("Headache, dizziness, gynaecomastia (Cimetidine more), thrombocytopenia",T),
     Paragraph("",T),
     Paragraph("Less potent than PPI\nCimetidine inhibits CYP450 (many drug interactions)",BLU)],
    [Paragraph("Metoclopramide",TB), Paragraph("Prokinetic + Antiemetic\n(D2 blocker + 5-HT4 agonist)",T),
     Paragraph("Nausea/vomiting, gastroparesis, GERD, chemotherapy-induced nausea, migraine nausea",T),
     Paragraph("EPS (most important โ€” especially in young females), tardive dyskinesia (long term), hyperprolactinaemia",IMP),
     Paragraph("Parkinson's, epilepsy, GI obstruction",T),
     Paragraph("Crosses BBB โ€” causes EPS\nDo not use >3 months",BLU)],
    [Paragraph("Ondansetron",TB), Paragraph("5-HT3 antagonist\n(Serotonin blocker)",T),
     Paragraph("Chemotherapy-induced nausea/vomiting (DOC), post-operative nausea, radiotherapy-induced nausea",T),
     Paragraph("Headache, constipation, QT prolongation",T),
     Paragraph("Congenital QT prolongation",T),
     Paragraph("DOC: Chemotherapy-induced emesis\nNo EPS (does not cross BBB significantly)",GRN)],
    [Paragraph("Domperidone",TB), Paragraph("Prokinetic\n(Peripheral D2 blocker)",T),
     Paragraph("Nausea, vomiting, gastroparesis, GERD",T),
     Paragraph("Gynaecomastia, galactorrhoea, QT prolongation",T),
     Paragraph("Cardiac disease, liver failure",T),
     Paragraph("Does NOT cross BBB โ€” less EPS than Metoclopramide\nIncreases prolactin",BLU)],
    [Paragraph("Loperamide",TB), Paragraph("Opioid receptor agonist\n(Peripheral โ€” mu receptor)",T),
     Paragraph("Acute & chronic diarrhoea",T),
     Paragraph("Constipation, abdominal cramps, ileus",T),
     Paragraph("Dysentery, children under 2 years",IMP),
     Paragraph("Does not cross BBB โ€” no CNS effect\nDo not use in dysentery (infectious diarrhoea)",BLU)],
    [Paragraph("Bisacodyl",TB), Paragraph("Stimulant laxative\n(Irritates intestinal mucosa)",T),
     Paragraph("Constipation, bowel preparation before procedures",T),
     Paragraph("Abdominal cramps, diarrhoea, hypokalaemia (prolonged use), abdominal pain",IMP),
     Paragraph("Intestinal obstruction, appendicitis",T),
     Paragraph("Works in 6-12 hours (oral) / 15-60 min (suppository)\nDo not crush tablet",BLU)],
    [Paragraph("Lactulose",TB), Paragraph("Osmotic laxative\n(Non-absorbable disaccharide)",T),
     Paragraph("Constipation, hepatic encephalopathy (reduces NH3 absorption)",T),
     Paragraph("Flatulence, abdominal cramps, diarrhoea (excess)",T),
     Paragraph("Galactosaemia, intestinal obstruction",T),
     Paragraph("DOC: Hepatic encephalopathy\nDecreases blood ammonia levels",BLU)],
]
story.append(make_table(git, cols6, "E65100", [hx("FFF3E0"),hx("FFFFFF")]*5))
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SECTION 7 โ€” ANTI-DIABETIC DRUGS
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(sec_block("SECTION 7 โ€” ANTI-DIABETIC DRUGS", "1A5276"))
story.append(Spacer(1,5))

cols7 = [3.5*cm, 4.5*cm, 4.5*cm, 5*cm, 4*cm, CW-21.5*cm]
hdr7  = hdr_row(["Drug","Class / Mechanism","Uses","Side Effects","CI","Key Exam Point"], "1A5276")
antidiab = [
    hdr7,
    [Paragraph("Regular Insulin\n(Soluble Insulin)",TB), Paragraph("Short-acting insulin",T),
     Paragraph("Type 1 DM, Type 2 DM (when oral fails), DKA, hyperglycaemic emergencies",T),
     Paragraph("Hypoglycaemia (most common & dangerous), weight gain, lipodystrophy at injection site",IMP),
     Paragraph("Hypoglycaemia",T),
     Paragraph("Onset: 30 min | Peak: 2-4 hr | Duration: 6-8 hr\nClear solution",BLU)],
    [Paragraph("NPH Insulin\n(Isophane)",TB), Paragraph("Intermediate-acting insulin",T),
     Paragraph("Type 1 & 2 DM โ€” basal insulin",T),
     Paragraph("Hypoglycaemia, weight gain, Somogyi effect",T),
     Paragraph("Hypoglycaemia",T),
     Paragraph("Onset: 1-2 hr | Peak: 6-12 hr | Duration: 18-24 hr\nCloudy suspension",BLU)],
    [Paragraph("Insulin Glargine\n(Lantus)",TB), Paragraph("Long-acting insulin\n(Insulin analogue)",T),
     Paragraph("Type 1 & 2 DM โ€” once daily basal insulin",T),
     Paragraph("Hypoglycaemia (less than NPH), injection site pain",T),
     Paragraph("Hypoglycaemia",T),
     Paragraph("No peak โ€” peakless action\nOnce daily injection, given at same time each day",GRN)],
    [Paragraph("Metformin",TB), Paragraph("Biguanide\n(Increases insulin sensitivity\nDecreases hepatic glucose)",T),
     Paragraph("Type 2 DM (first-line drug of choice), PCOS, pre-diabetes, obesity with DM",T),
     Paragraph("GI upset (most common โ€” nausea, diarrhoea), lactic acidosis (rare but serious), Vit B12 deficiency",IMP),
     Paragraph("Renal failure (eGFR<30), liver failure, heart failure, alcoholism, IV contrast",T),
     Paragraph("FIRST LINE in Type 2 DM\nNo hypoglycaemia alone\nWeight neutral / slight weight loss",GRN)],
    [Paragraph("Glibenclamide\n(Glyburide)",TB), Paragraph("Sulphonylurea (2nd gen)\n(Stimulates insulin secretion\nfrom beta cells โ€” closes K+ channels)",T),
     Paragraph("Type 2 DM (when metformin insufficient or contraindicated)",T),
     Paragraph("Hypoglycaemia (most common & serious โ€” especially in elderly), weight gain",IMP),
     Paragraph("Type 1 DM, renal/hepatic failure, pregnancy, elderly",T),
     Paragraph("Longest acting sulphonylurea โ€” highest risk of hypoglycaemia\nAvoid in elderly",BLU)],
    [Paragraph("Glipizide",TB), Paragraph("Sulphonylurea (2nd gen)\n(Short-acting)",T),
     Paragraph("Type 2 DM",T),
     Paragraph("Hypoglycaemia (less than glibenclamide), weight gain",T),
     Paragraph("Type 1 DM, renal failure, pregnancy",T),
     Paragraph("Safer than glibenclamide in elderly\nShorter action",GRN)],
    [Paragraph("Pioglitazone",TB), Paragraph("Thiazolidinedione\n(PPAR-gamma agonist\nincreases insulin sensitivity)",T),
     Paragraph("Type 2 DM (adjunct to metformin)",T),
     Paragraph("Weight gain, fluid retention/oedema, heart failure, fracture risk (women), bladder cancer risk",IMP),
     Paragraph("Heart failure, bladder cancer, osteoporosis",T),
     Paragraph("Insulin sensitizer โ€” does not cause hypoglycaemia alone\nContraindicated in heart failure",BLU)],
    [Paragraph("Sitagliptin",TB), Paragraph("DPP-4 inhibitor\n(Incretin enhancer โ€” increases\nGLP-1 and GIP levels)",T),
     Paragraph("Type 2 DM (add-on therapy)",T),
     Paragraph("Nasopharyngitis, pancreatitis (rare), urinary tract infection",T),
     Paragraph("Pancreatitis history",T),
     Paragraph("Weight neutral\nLow risk of hypoglycaemia\nGliptin class",GRN)],
]
story.append(make_table(antidiab, cols7, "1A5276", [hx("EAF4FB"),hx("FFFFFF")]*5))
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SECTION 8 โ€” RESPIRATORY DRUGS
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(sec_block("SECTION 8 โ€” RESPIRATORY DRUGS", "00695C"))
story.append(Spacer(1,5))

cols8 = [3.5*cm, 4.5*cm, 5*cm, 5*cm, 3.5*cm, CW-21.5*cm]
hdr8  = hdr_row(["Drug","Class / Mechanism","Uses","Side Effects","CI","Key Exam Point"], "00695C")
resp = [
    hdr8,
    [Paragraph("Salbutamol\n(Albuterol)",TB), Paragraph("SABA โ€” Short-Acting Beta-2 Agonist",T),
     Paragraph("Acute asthma attack (DOC โ€” inhaled), COPD bronchospasm, exercise-induced asthma, premature labour",T),
     Paragraph("Tremor (fine), tachycardia, hypokalaemia (high dose), headache",T),
     Paragraph("",T),
     Paragraph("Inhaled route = direct to lungs, fewer systemic effects\nFirst-line for acute asthma",GRN)],
    [Paragraph("Salmeterol",TB), Paragraph("LABA โ€” Long-Acting Beta-2 Agonist",T),
     Paragraph("Asthma maintenance (with ICS), COPD maintenance โ€” NOT for acute attack",T),
     Paragraph("Tremor, tachycardia, hypokalaemia",IMP),
     Paragraph("Acute asthma",IMP),
     Paragraph("NEVER use alone in asthma โ€” always with ICS\nNot for acute attack",BLU)],
    [Paragraph("Theophylline",TB), Paragraph("Methylxanthine\n(Phosphodiesterase inhibitor\n+ Adenosine antagonist)",T),
     Paragraph("Asthma (oral/IV), COPD, apnoea of prematurity",T),
     Paragraph("Nausea, vomiting, tachycardia, arrhythmias, seizures (toxicity) โ€” narrow therapeutic index",IMP),
     Paragraph("Arrhythmias, epilepsy",T),
     Paragraph("Narrow therapeutic index โ€” TDM needed\nEnzyme inducers reduce levels",BLU)],
    [Paragraph("Ipratropium",TB), Paragraph("SAMA โ€” Short-Acting\nMuscarinic Antagonist\n(Anticholinergic)",T),
     Paragraph("COPD (first-line), acute severe asthma (with salbutamol), rhinorrhoea",T),
     Paragraph("Dry mouth, urinary retention, constipation, blurred vision",T),
     Paragraph("Glaucoma, BPH",T),
     Paragraph("COPD > Asthma\nFirst-choice bronchodilator in COPD",BLU)],
    [Paragraph("Beclomethasone",TB), Paragraph("Inhaled Corticosteroid (ICS)\n(Anti-inflammatory)",T),
     Paragraph("Asthma maintenance (prevents attacks), allergic rhinitis (nasal spray)",T),
     Paragraph("Oral candidiasis (thrush), hoarseness, dysphonia",IMP),
     Paragraph("Active pulmonary tuberculosis",T),
     Paragraph("Rinse mouth after use โ€” prevents oral candida\nDoes NOT treat acute attack",BLU)],
    [Paragraph("Cetirizine",TB), Paragraph("2nd generation antihistamine\n(H1 blocker โ€” non-sedating)",T),
     Paragraph("Allergic rhinitis, urticaria, angioedema, allergic conjunctivitis",T),
     Paragraph("Mild sedation (less than 1st gen), dry mouth",GRN),
     Paragraph("",T),
     Paragraph("Non-sedating โ€” safer for driving\nDoes not cross BBB significantly",GRN)],
    [Paragraph("Chlorpheniramine",TB), Paragraph("1st generation antihistamine\n(H1 blocker โ€” sedating)",T),
     Paragraph("Allergic conditions, common cold, anaphylaxis (adjunct), motion sickness",T),
     Paragraph("Sedation (most common), dry mouth, urinary retention, blurred vision, constipation",IMP),
     Paragraph("Glaucoma, BPH, driving",T),
     Paragraph("Most sedating antihistamine\nCauses CNS depression",BLU)],
    [Paragraph("Dextromethorphan",TB), Paragraph("Antitussive\n(Centrally acting cough suppressant\nโ€” NMDA antagonist)",T),
     Paragraph("Dry/non-productive cough",T),
     Paragraph("Drowsiness, nausea, dizziness, at high dose โ€” abuse potential",T),
     Paragraph("Productive cough, MAOIs",T),
     Paragraph("No opioid analgesic effect\nDo not suppress productive cough",BLU)],
    [Paragraph("N-Acetylcysteine\n(NAC)",TB), Paragraph("Mucolytic + Antidote\n(Breaks disulphide bonds in mucus)",T),
     Paragraph("Mucolytic (COPD, bronchiectasis), Paracetamol overdose antidote (IV)",T),
     Paragraph("Nausea, vomiting, bronchospasm (inhaled)",T),
     Paragraph("",T),
     Paragraph("Antidote for Paracetamol OD\nReplenishes glutathione",BLU)],
]
story.append(make_table(resp, cols8, "00695C", [hx("E0F2F1"),hx("FFFFFF")]*5))
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SECTION 9 โ€” ANTI-INFECTIVES
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(sec_block("SECTION 9 โ€” ANTI-INFECTIVES (Malaria, TB, Antifungal, Antiviral)", "4E342E"))
story.append(Spacer(1,5))

cols9 = [3.5*cm, 4.5*cm, 5*cm, 5*cm, 3.5*cm, CW-21.5*cm]
hdr9  = hdr_row(["Drug","Class / Mechanism","Uses","Side Effects","CI","Key Exam Point"], "4E342E")
antiinf = [
    hdr9,
    [Paragraph("Chloroquine",TB), Paragraph("Antimalarial\n(4-aminoquinoline\nConcentrates in parasite vacuole)",T),
     Paragraph("P. vivax, P. ovale, P. malariae malaria. Rheumatoid arthritis, SLE",T),
     Paragraph("Retinopathy (long-term most serious), pruritus (in dark skin), GI upset, cardiac arrhythmias",IMP),
     Paragraph("Retinal disease, psoriasis",T),
     Paragraph("Drug of choice: P. vivax malaria\nP. falciparum often resistant",BLU)],
    [Paragraph("Quinine",TB), Paragraph("Antimalarial\n(Alkaloid from Cinchona bark)",T),
     Paragraph("Severe falciparum malaria (IV), chloroquine-resistant malaria",T),
     Paragraph("Cinchonism: tinnitus, headache, nausea, vomiting, visual disturbances. Hypoglycaemia, cardiac arrhythmias",IMP),
     Paragraph("Cardiac arrhythmias, G6PD deficiency",T),
     Paragraph("Source: Cinchona bark (Pharmacognosy link)\nCinchonism = quinine toxicity",BLU)],
    [Paragraph("Primaquine",TB), Paragraph("Antimalarial\n(8-aminoquinoline)",T),
     Paragraph("Radical cure of P. vivax & P. ovale (acts on liver hypnozoites), gametocytocidal",T),
     Paragraph("Haemolytic anaemia in G6PD deficient patients (most important side effect)",IMP),
     Paragraph("G6PD deficiency, pregnancy",IMP),
     Paragraph("ONLY drug that kills liver hypnozoites (prevents relapse)\nScreen for G6PD before use",BLU)],
    [Paragraph("Isoniazid (INH)",TB), Paragraph("Anti-TB\n(Inhibits mycolic acid synthesis)",T),
     Paragraph("TB (most important 1st-line drug), TB prophylaxis in contacts",T),
     Paragraph("Peripheral neuropathy (prevented by Pyridoxine/Vit B6), hepatotoxicity, lupus-like syndrome",IMP),
     Paragraph("Active hepatic disease",T),
     Paragraph("Give Pyridoxine (Vit B6) with INH to prevent neuropathy\nBactericidal โ€” kills actively dividing bacteria",BLU)],
    [Paragraph("Rifampicin",TB), Paragraph("Anti-TB\n(Inhibits RNA polymerase)",T),
     Paragraph("TB (1st line), leprosy, meningococcal prophylaxis",T),
     Paragraph("Orange-red discolouration of urine/tears/sweat (harmless), hepatotoxicity, flu-like syndrome",IMP),
     Paragraph("Liver disease",T),
     Paragraph("Potent enzyme inducer โ€” reduces OCP efficacy, warfarin\nOrange urine โ€” tell patient in advance",BLU)],
    [Paragraph("Pyrazinamide",TB), Paragraph("Anti-TB\n(Unknown โ€” active in acidic pH)",T),
     Paragraph("TB (1st line โ€” especially for intracellular bacteria in macrophages)",T),
     Paragraph("Hepatotoxicity (most serious), hyperuricaemia (gout), arthralgia, photosensitivity",IMP),
     Paragraph("Liver disease, gout",T),
     Paragraph("Active in acidic pH inside macrophages\nCauses hyperuricaemia โ€” avoid in gout",BLU)],
    [Paragraph("Ethambutol",TB), Paragraph("Anti-TB\n(Inhibits arabinosyl transferase\nโ€” cell wall)",T),
     Paragraph("TB (1st line)",T),
     Paragraph("Optic neuritis (retrobulbar) โ€” causes red-green colour blindness, visual impairment",IMP),
     Paragraph("Pre-existing optic neuritis, children <5",T),
     Paragraph("Test colour vision before & during therapy\nDose adjusted in renal failure",BLU)],
    [Paragraph("Fluconazole",TB), Paragraph("Azole antifungal\n(Inhibits ergosterol synthesis\nโ€” CYP51)",T),
     Paragraph("Candidiasis (oral, vaginal, systemic), cryptococcal meningitis, prophylaxis in immunocompromised",T),
     Paragraph("Nausea, hepatotoxicity, rash, QT prolongation, drug interactions (CYP inhibitor)",T),
     Paragraph("Pregnancy, liver disease",T),
     Paragraph("Well absorbed orally\nDrug of choice: Vaginal candidiasis (single dose)",GRN)],
    [Paragraph("Amphotericin B",TB), Paragraph("Polyene antifungal\n(Binds ergosterol โ€” forms pores)",T),
     Paragraph("Systemic/life-threatening fungal infections, cryptococcal meningitis, aspergillosis",T),
     Paragraph("Nephrotoxicity (most important โ€” dose limiting), fever, chills, rigors, anaemia, hypokalaemia",IMP),
     Paragraph("Renal failure",T),
     Paragraph("Gold standard for severe fungal infections\nPremedicate with antihistamine/paracetamol",BLU)],
    [Paragraph("Acyclovir",TB), Paragraph("Antiviral\n(Guanosine analogue\nInhibits viral DNA polymerase)",T),
     Paragraph("Herpes simplex (HSV), herpes zoster, chickenpox (varicella), HSV encephalitis",T),
     Paragraph("Nephrotoxicity (crystalluria โ€” hydrate well), nausea, headache, neurotoxicity (high dose)",T),
     Paragraph("Renal failure",T),
     Paragraph("Requires activation by viral thymidine kinase โ€” selective\nDrug of choice: Herpes",GRN)],
    [Paragraph("Zidovudine\n(AZT)",TB), Paragraph("NRTI โ€” Nucleoside Reverse\nTranscriptase Inhibitor\n(HIV treatment)",T),
     Paragraph("HIV infection (part of ART), PMTCT (Prevention of Mother-to-Child Transmission)",T),
     Paragraph("Bone marrow suppression (anaemia, neutropenia), nausea, myopathy",IMP),
     Paragraph("Severe anaemia",T),
     Paragraph("First antiretroviral drug discovered\nDrug of choice: PMTCT (pregnancy)",BLU)],
]
story.append(make_table(antiinf, cols9, "4E342E", [hx("EFEBE9"),hx("FFFFFF")]*6))
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SECTION 10 โ€” CORTICOSTEROIDS & HORMONES
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(sec_block("SECTION 10 โ€” CORTICOSTEROIDS & HORMONES", "1B5E20"))
story.append(Spacer(1,5))

cols10 = [3.5*cm, 4.5*cm, 4.5*cm, 5.5*cm, 4*cm, CW-22*cm]
hdr10  = hdr_row(["Drug","Class / Mechanism","Uses","Side Effects","CI","Key Exam Point"], "1B5E20")
hormones = [
    hdr10,
    [Paragraph("Dexamethasone",TB), Paragraph("Glucocorticoid\n(Anti-inflammatory + immunosuppressive)",T),
     Paragraph("Cerebral oedema, anaphylaxis (adjunct), croup (laryngo-tracheobronchitis), anti-emetic (with chemo), COVID-19 (severe), prenatal lung maturation (premature)",T),
     Paragraph("Cushing's syndrome, hyperglycaemia, osteoporosis, weight gain, growth suppression, immunosuppression, peptic ulcer",IMP),
     Paragraph("Active infection (untreated), live vaccines",T),
     Paragraph("Most potent glucocorticoid\nNo mineralocorticoid activity",BLU)],
    [Paragraph("Prednisolone",TB), Paragraph("Glucocorticoid (oral)\n(Anti-inflammatory)",T),
     Paragraph("Asthma, IBD, SLE, RA, nephrotic syndrome, immunosuppression",T),
     Paragraph("Cushing's features, hyperglycaemia, HTN, osteoporosis, cataract, GI ulcer, adrenal suppression",IMP),
     Paragraph("Active infections, live vaccines",T),
     Paragraph("Taper dose slowly โ€” do not stop abruptly\nAdrenal suppression if long-term use",BLU)],
    [Paragraph("Hydrocortisone",TB), Paragraph("Glucocorticoid + Mineralocorticoid\n(Identical to cortisol)",T),
     Paragraph("Addison's disease (replacement), anaphylaxis (IV), asthma (IV), severe inflammatory conditions",T),
     Paragraph("Same as other corticosteroids + fluid retention",IMP),
     Paragraph("Active infection",T),
     Paragraph("Replacement therapy in adrenal insufficiency\nIV in emergency (anaphylaxis, shock)",BLU)],
    [Paragraph("Thyroxine\n(Levothyroxine)",TB), Paragraph("Thyroid hormone\n(T4 โ€” converted to T3)",T),
     Paragraph("Hypothyroidism (DOC), myxoedema coma, goitre (suppression therapy)",T),
     Paragraph("Symptoms of hyperthyroidism: palpitations, weight loss, sweating, insomnia, osteoporosis (long-term)",IMP),
     Paragraph("Hyperthyroidism, recent MI, untreated adrenal insufficiency",T),
     Paragraph("Start low, go slow especially in elderly/cardiac patients\nDrug of choice: Hypothyroidism",BLU)],
    [Paragraph("Propylthiouracil\n(PTU)",TB), Paragraph("Antithyroid\n(Inhibits thyroid peroxidase\nInhibits T4โ†’T3 conversion)",T),
     Paragraph("Hyperthyroidism, Graves' disease, thyroid storm (drug of choice in pregnancy)",T),
     Paragraph("Agranulocytosis (most dangerous), hypothyroidism, rash, nausea, hepatotoxicity",IMP),
     Paragraph("",T),
     Paragraph("Drug of choice: Hyperthyroidism in pregnancy\nBlock T4โ†’T3 conversion (extra benefit)",BLU)],
    [Paragraph("Carbimazole",TB), Paragraph("Antithyroid\n(Inhibits thyroid peroxidase)",T),
     Paragraph("Hyperthyroidism, Graves' disease",T),
     Paragraph("Agranulocytosis (sore throat = stop drug), rash, hypothyroidism, aplastic anaemia",IMP),
     Paragraph("Pregnancy (causes fetal goitre)",T),
     Paragraph("Monitor WBC โ€” agranulocytosis risk\nWarning signs: fever, sore throat",BLU)],
    [Paragraph("Oxytocin",TB), Paragraph("Uterotonic hormone\n(Posterior pituitary hormone)",T),
     Paragraph("Induction of labour, augmentation of labour, prevention/treatment of PPH",T),
     Paragraph("Uterine hyperstimulation, fetal distress, water intoxication (antidiuretic effect)",IMP),
     Paragraph("Cephalopelvic disproportion, previous uterine scar",T),
     Paragraph("Used in obstetrics\nAntidiuretic effect โ€” monitor fluid balance",BLU)],
    [Paragraph("Insulin (overall)",TB), Paragraph("Pancreatic hormone\n(Polypeptide โ€” lowers blood glucose)",T),
     Paragraph("Type 1 DM, DKA, Type 2 DM (failure of orals), stress hyperglycaemia, pregnancy with DM",T),
     Paragraph("Hypoglycaemia (most common), weight gain, lipodystrophy at injection site",IMP),
     Paragraph("Hypoglycaemia",T),
     Paragraph("Only protein drug given by injection (destroyed orally)\nStore in refrigerator (2-8ยฐC)",BLU)],
]
story.append(make_table(hormones, cols10, "1B5E20", [hx("F1F8E9"),hx("FFFFFF")]*5))
story.append(PageBreak())

# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
# SECTION 11 โ€” TOXICOLOGY ANTIDOTES
# โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
story.append(sec_block("SECTION 11 โ€” TOXICOLOGY: POISONS & ANTIDOTES", "B71C1C"))
story.append(Spacer(1,5))

cols11 = [4*cm, 5*cm, 5.5*cm, CW-14.5*cm]
hdr11  = hdr_row(["Poison / Overdose","Symptoms / Signs","Antidote / Treatment","Key Exam Point"], "B71C1C")
tox = [
    hdr11,
    [Paragraph("Morphine / Opioid OD",TB),
     Paragraph("Respiratory depression, pin-point pupils (miosis), coma, bradycardia, hypotension",IMP),
     Paragraph("Naloxone (IV/IM) โ€” competitive opioid antagonist",GRN),
     Paragraph("Triad: Coma + Miosis + Respiratory depression\nNaloxone โ€” short acting, may need repeat doses",BLU)],
    [Paragraph("Paracetamol OD",TB),
     Paragraph("Phase 1: Nausea, vomiting. Phase 2-3: Hepatotoxicity, jaundice, liver failure, renal failure",IMP),
     Paragraph("N-Acetylcysteine (NAC) โ€” IV/oral. Also: Methionine (oral, if early)",GRN),
     Paragraph("Most dangerous: Hepatotoxicity\nTreatment within 8-10 hours most effective",BLU)],
    [Paragraph("Benzodiazepine OD\n(Diazepam etc.)",TB),
     Paragraph("Sedation, CNS depression, respiratory depression (mild), hypotension",T),
     Paragraph("Flumazenil โ€” competitive benzodiazepine antagonist (IV)",GRN),
     Paragraph("Flumazenil has short half-life โ€” may need repeat\nDo NOT use in epilepsy patients (seizure risk)",BLU)],
    [Paragraph("Organophosphate Poisoning\n(Pesticides)",TB),
     Paragraph("SLUDGE: Salivation, Lacrimation, Urination, Defecation, GI upset, Emesis. Also: bradycardia, miosis, bronchospasm, muscle weakness",IMP),
     Paragraph("1. Atropine (IV โ€” high dose, repeat until secretions dry)\n2. Pralidoxime (PAM) โ€” reactivates AChE if given early",GRN),
     Paragraph("SLUDGE mnemonic for symptoms\nAtropine = antidote for muscarinic effects\nPralidoxime reactivates AChE before ageing",BLU)],
    [Paragraph("Lead Poisoning\n(Plumbism)",TB),
     Paragraph("Children: intellectual disability, learning problems, anaemia (basophilic stippling), wrist/foot drop in adults, Burton's lines on gums",IMP),
     Paragraph("DMSA (Dimercaptosuccinic acid) โ€” oral, for children\nEDTA (Calcium Disodium EDTA) โ€” IV, for adults\nBAL (Dimercaprol) โ€” IM, acute severe poisoning",GRN),
     Paragraph("Most common environmental metal toxin\nBasophilic stippling on blood smear",BLU)],
    [Paragraph("Mercury Poisoning",TB),
     Paragraph("Stomatitis, metallic taste, salivation, tremors, neurological damage (Minamata disease), renal failure",IMP),
     Paragraph("BAL โ€” Dimercaprol (acute)\nDMSA (Dimercaptosuccinic acid) โ€” oral\nSupportive care",GRN),
     Paragraph("Minamata disease = organic mercury poisoning\nVapour from broken thermometers = inorganic mercury",BLU)],
    [Paragraph("Arsenic Poisoning",TB),
     Paragraph("Acute: GI symptoms, garlic odour of breath. Chronic: Mees' lines (nails), peripheral neuropathy, skin changes (rain-drop pigmentation)",IMP),
     Paragraph("BAL โ€” Dimercaprol\nDMSA โ€” oral (milder cases)\nSupportive care",GRN),
     Paragraph("Garlic odour = arsenic\nMees' lines = transverse white lines on nails",BLU)],
    [Paragraph("Cyanide Poisoning",TB),
     Paragraph("Rapid unconsciousness, bitter almond smell, cherry-red skin, lactic acidosis, cardiac arrest",IMP),
     Paragraph("1. Dicobalt edetate (IV โ€” preferred)\n2. Sodium nitrite + Sodium thiosulphate\n3. Hydroxocobalamin",GRN),
     Paragraph("Bitter almond smell = cyanide\nCherry-red skin due to cellular hypoxia despite oxygenated blood",BLU)],
    [Paragraph("Iron Poisoning\n(Ferrous sulphate OD)",TB),
     Paragraph("GI bleeding, hypotension, metabolic acidosis, multi-organ failure. 4 stages: GI, latent, systemic toxicity, scarring",IMP),
     Paragraph("Desferrioxamine (Deferoxamine) โ€” IV/IM chelation\nSupportive: IV fluids",GRN),
     Paragraph("Most common cause of poisoning death in children <6\nDesferrioxamine chelates free iron",BLU)],
    [Paragraph("Anticoagulant OD\n(Warfarin)",TB),
     Paragraph("Excessive bleeding โ€” epistaxis, GI bleed, haematuria, intracranial bleed",IMP),
     Paragraph("Vitamin K (IV/oral) โ€” for reversal\nFresh Frozen Plasma (FFP) โ€” urgent reversal",GRN),
     Paragraph("INR monitoring essential\nVit K is antidote for Warfarin\nFFP for immediate effect",BLU)],
    [Paragraph("Heparin Overdose",TB),
     Paragraph("Excessive bleeding",IMP),
     Paragraph("Protamine sulphate โ€” neutralises heparin (1 mg per 100 units heparin)",GRN),
     Paragraph("Protamine binds to heparin (ionic interaction)\nPositively charged protamine + negatively charged heparin",BLU)],
    [Paragraph("Beta-blocker OD",TB),
     Paragraph("Bradycardia, hypotension, bronchospasm, hypoglycaemia, cardiac block",IMP),
     Paragraph("Glucagon (IV โ€” first choice), Atropine, Calcium gluconate, Adrenaline",GRN),
     Paragraph("Glucagon = antidote for beta-blocker overdose\nBypass beta-receptor, directly stimulates cAMP",BLU)],
]
story.append(make_table(tox, cols11, "B71C1C", [hx("FFF5F5"),hx("FFFFFF")]*7))
story.append(Spacer(1,8))

# Quick mnemonic box
mnemo_data = [
    [Paragraph("QUICK REFERENCE: IMPORTANT ANTIDOTES", WH)],
    [Table([
        [Paragraph("Poison",TB),Paragraph("Antidote",TB),
         Paragraph("Poison",TB),Paragraph("Antidote",TB)],
        [Paragraph("Morphine/Opioids",T),Paragraph("Naloxone",GRN),
         Paragraph("Paracetamol",T),Paragraph("N-Acetylcysteine",GRN)],
        [Paragraph("Benzodiazepines",T),Paragraph("Flumazenil",GRN),
         Paragraph("Organophosphate",T),Paragraph("Atropine + Pralidoxime",GRN)],
        [Paragraph("Heparin",T),Paragraph("Protamine sulphate",GRN),
         Paragraph("Warfarin",T),Paragraph("Vitamin K",GRN)],
        [Paragraph("Lead/Mercury/Arsenic",T),Paragraph("BAL / DMSA / EDTA",GRN),
         Paragraph("Cyanide",T),Paragraph("Dicobalt edetate",GRN)],
        [Paragraph("Iron",T),Paragraph("Desferrioxamine",GRN),
         Paragraph("Beta-blocker OD",T),Paragraph("Glucagon",GRN)],
        [Paragraph("Digoxin toxicity",T),Paragraph("Digibind (Ab fragments)",GRN),
         Paragraph("CO poisoning",T),Paragraph("100% Oxygen",GRN)],
    ], colWidths=[4.5*cm,5*cm,4.5*cm,5*cm],
    style=TableStyle([
        ("BACKGROUND",(0,0),(-1,0),hx("2E75B6")),
        ("TEXTCOLOR",(0,0),(-1,0),colors.white),
        ("FONTNAME",(0,0),(-1,0),"Helvetica-Bold"),
        ("ROWBACKGROUNDS",(0,1),(-1,-1),[hx("FFF5F5"),hx("FFFFFF")]*4),
        ("GRID",(0,0),(-1,-1),0.3,hx("CCCCCC")),
        ("TOPPADDING",(0,0),(-1,-1),4),("BOTTOMPADDING",(0,0),(-1,-1),4),
        ("LEFTPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),5),
        ("VALIGN",(0,0),(-1,-1),"MIDDLE"),
    ]))],
]
box_tbl = Table(mnemo_data, colWidths=[CW])
box_tbl.setStyle(TableStyle([
    ("BACKGROUND",(0,0),(-1,0),hx("B71C1C")),
    ("TOPPADDING",(0,0),(0,0),6),("BOTTOMPADDING",(0,0),(0,0),6),
    ("TOPPADDING",(0,1),(0,1),6),("BOTTOMPADDING",(0,1),(0,1),6),
    ("LEFTPADDING",(0,0),(-1,-1),0),("RIGHTPADDING",(0,0),(-1,-1),0),
    ("BOX",(0,0),(-1,-1),1,hx("B71C1C")),
]))
story.append(box_tbl)

doc.build(story)
print(f"Drug tables PDF saved: {out_path}")
Running Command

cd /tmp/workspace/pharmacist-timetable && python create_drug_tables.py 2>&1

Drug Tables PDF taiyar hai! Download karo:

โœ… Download Karo

Pharmacology Drug Tables

PDF Document ยท PDF


๐Ÿ“„ PDF Mein Kya Hai โ€” 11 Complete Sections:

SectionDrugs CoveredDrugs Count
1. Analgesics & NSAIDsMorphine, Codeine, Aspirin, Paracetamol, Ibuprofen, Diclofenac, Colchicine, Allopurinol9
2. AntibioticsPenicillin, Amoxicillin, Tetracycline, Erythromycin, Azithromycin, Ciprofloxacin, Chloramphenicol, Metronidazole, Vancomycin, Co-trimoxazole13
3. CardiovascularDigoxin, Atenolol, Propranolol, Amlodipine, Enalapril, Furosemide, Warfarin, Heparin, Statins12
4. CNS DrugsDiazepam, Phenytoin, Carbamazepine, Valproate, Haloperidol, Amitriptyline, Fluoxetine, Levodopa, Lithium11
5. ANS DrugsAdrenaline, Atropine, Propranolol, Salbutamol, Neostigmine, Prazosin8
6. GIT DrugsOmeprazole, Ranitidine, Metoclopramide, Ondansetron, Loperamide, Bisacodyl, Lactulose8
7. Anti-DiabeticAll Insulins, Metformin, Sulphonylureas, Pioglitazone, Sitagliptin8
8. RespiratorySalbutamol, Theophylline, Ipratropium, Beclomethasone, Cetirizine, NAC9
9. Anti-infectivesChloroquine, Quinine, Primaquine, INH, Rifampicin, Pyrazinamide, Ethambutol, Fluconazole, Acyclovir11
10. HormonesDexamethasone, Prednisolone, Thyroxine, PTU, Oxytocin, Insulin8
11. ToxicologyAll major antidotes + Quick Reference table12

๐ŸŽจ Har Row Mein Kya Hai:

  • Drug Name - Class + Mechanism - Uses - Side Effects (red = dangerous) - Contraindications - Key Exam Point (blue)

Saari Files:

FileDownload
๐Ÿ’Š Drug Tables PDF

Pharmacology Drug Tables

PDF Document ยท PDF

๐Ÿ“„ Syllabus PDF

Rajasthan Pharmacist Syllabus

PDF Document ยท PDF

๐Ÿ“„ Timetable PDF

Rajasthan Pharmacist 3Month Timetable

PDF Document ยท PDF

๐Ÿ“Š Timetable Excel

Rajasthan Pharmacist 3Month Timetable

Spreadsheet ยท XLSX

Yeh drug tables print karke wall pe chipkao โ€” roz ek section padho! ๐Ÿ’ช๐ŸŽฏ
This is a shared conversation. Sign in to Orris to start your own chat.