Unit 1: Research & Anusandhan आयुर्वेद अनुसार अनुसंधान शब्द की उत्पत्ति, परिभाषा, पर्याय, उद्देश्य एवं अनुसंधान की उपयोगिता लिखिए। अनुसंधान प्रक्रिया का विस्तृत वर्णन कीजिए। अनुसंधान में प्रमाणों की उपयोगिता लिखिए। अनुसंधान के भेद लिखकर अनुसंधान के क्षेत्र में नैतिक मूल्यों की अवधारणा एवं महत्व लिखिए। अनुसंधान के साधन के रूप में प्रमाणों की उपयोगिता लिखकर साहित्य पुनरावलोकन (Literature Review) लिखिए। आयुर्वेद ज्ञान में अनुसंधान की आवश्यकता लिखते हुए प्रमाणों की उपयोगिता लिखिए। अनुसंधान एवं उसकी उपयोगिता आयुर्वेद में लिखिए। अनुसंधान में प्रमाणों की भूमिका उदाहरण सहित समझाइए। अनुसंधान (Anusandhan) का विस्तार से वर्णन एवं उसके पर्याय लिखिए। आयुर्वेद में अनुसंधान की आवश्यकता (Need of Research in Ayurveda) लिखिए। अनुसंधान के प्रकार (Types of Research) लिखिए। अनुसंधान का ऐतिहासिक विकास (Historical Development of Research) लिखिए। अनुसंधान प्रक्रिया (Research Process) समझाइए। WHO तथा Woodey के अनुसार Research की परिभाषा लिखिए। Research शब्द की व्युत्पत्ति (Etymology of Research) तथा उसका आधुनिक अर्थ स्पष्ट कीजिए। अनुसंधान (Anusandhan) की परिभाषा एवं आयुर्वेद में अनुसंधान का क्षेत्र (Scope of Research in Ayurveda) लिखिए। Unit 2: Ayurveda & Evidence आयुर्वेदीय सिद्धांतों एवं औषध कल्पनाओं की वैज्ञानिकता लिखते हुए अनुसंधान प्रक्रिया का वर्णन कीजिए। आयुर्वेद सिद्धांतों की वैज्ञानिकता लिखकर मानव एवं पशु प्रयोग से सम्बन्धित नैतिक पहलू लिखिए। आयुर्वेद ग्रंथों में अनुसंधान के प्रमाणों का वर्णन कीजिए। आयुर्वेदिक ग्रंथों में Evidence का वर्णन कीजिए। Unit 3: Evidence Based Medicine Evidence Based Medicine की अवधारणा एवं Scientific Writing समझाइए। साक्ष्य आधारित चिकित्सा (Evidence Based Medicine) की अवधारणा एवं उसकी आयुर्वेद में प्रासंगिकता का विस्तार से वर्णन कीजिए। Evidence Based Medicine की अवधारणा लिखिए। Unit 4: Research Methodology Hypothesis का संक्षिप्त वर्णन कीजिए। Research Questions एवं Research Objectives में अंतर लिखिए। Research Database एवं Research Portals लिखिए। Longitudinal Study एवं Cross-sectional Study का वर्णन कीजिए। Parametric एवं Non-parametric परीक्षणों की विधियाँ लिखिए। Probability का परिचय देते हुए Test of Significance समझाइए। Data Collection का वर्णन कीजिए। Collection of Data Explain. विविध प्रकार की प्रश्नावली (Questionnaire) का वर्णन कीजिए। Unit 5: Statistics चिकित्सीय सांख्यिकी की उपयोगिता लिखिए। चिकित्सीय सांख्यिकी समझाइए। अंकशास्त्र का उद्भव, विकास, आँकड़ों का संग्रहण एवं प्रस्तुतीकरण लिखिए। भिन्नता (Variability) के मापक लिखिए एवं आरेखण सहित समझाइए। Measures of Central Tendency समझाइए। Arithmetic Mean एवं Mode उदाहरण सहित समझाइए। Normal Distribution का साग्र चित्र सहित वर्णन कीजिए। Standard Deviation एवं Standard Error का वर्णन कीजिए। सांख्यिकी (Statistics) लिखिए। Standard Error लिखिए। सांख्यिकी Software लिखिए। Variable समझाइए। Unit 6: Research Ethics शोध प्रक्रिया में साहित्य समीक्षा (Literature Review) के महत्व का वर्णन करते हुए अनुसंधान में Ethics की अवधारणा लिखिए। Institutional Human Ethics Committee एवं Institutional Animal Ethics Committee पर संक्षिप्त टिप्पणी लिखिए। मानव प्रतिभागियों पर अनुसंधान में Institutional Human Ethics Committee की प्रमुख जिम्मेदारियाँ लिखिए। Unit 7: Short Notes AYUSH Research Protocol PubMed DHARA Measures of Central Tendency Variability Standard Error Variable Statistical Software 🎯 Most Repeated University Exam Questions (High Priority) अनुसंधान की परिभाषा, उद्देश्य एवं उपयोगिता अनुसंधान प्रक्रिया (Research Process) अनुसंधान के प्रकार आयुर्वेद में अनुसंधान की आवश्यकता प्रमाणों की उपयोगिता Evidence Based Medicine Literature Review Hypothesis Data Collection Questionnaire Probability एवं Test of Significance Parametric एवं Non-parametric Tests Measures of Central Tendency Standard Deviation एवं Standard Error Normal Distribution Variable Research Ethics Institutional Human Ethics Committee (IHEC) Institutional Animal Ethics Committee (IAEC) AYUSH Research Protocol PubMed DHARA

Reading File
Finding Sources
Finding Sources
Searching the Web

AYUSH research protocol DHARA database Ayurveda PubMed anusandhan

The library doesn't have Ayurveda-specific textbooks, so I'll compile a comprehensive answer from my knowledge, supplemented by the web search data. Let me now produce the full study notes.यह एक विस्तृत, परीक्षा-उपयोगी उत्तर-संग्रह है। सभी यूनिट्स को क्रमबद्ध रूप से प्रस्तुत किया गया है।

📚 Ayurveda Research & Methodology - Complete Study Notes

(Anusandhan Shastra - University Exam Preparation)


UNIT 1: Research & Anusandhan (अनुसंधान)


1. अनुसंधान शब्द की व्युत्पत्ति (Etymology)

संस्कृत व्युत्पत्ति:
अनु + सन्धान = अनुसंधान
  • अनु = पश्चात्, बार-बार, अनुगमन करते हुए
  • सन्धान = खोज करना, जोड़ना, मिलाना (सम् + धा धातु)
पाणिनीय व्याकरण के अनुसार - "अनु + सम् + धा + ल्युट् = अनुसंधान" अर्थात् - किसी तथ्य को बार-बार, क्रमबद्ध रूप से खोजने की प्रक्रिया।
अंग्रेजी में Research शब्द की व्युत्पत्ति:
  • Re (फ्रेंच/लैटिन) = पुनः, बार-बार
  • Cherche/Circare (लैटिन) = खोजना, चारों ओर घूमना
  • Research = "पुनः खोज करना" (To search again, thoroughly)
आधुनिक अर्थ: Research = किसी समस्या का क्रमबद्ध, वैज्ञानिक, वस्तुनिष्ठ अध्ययन जिससे नया ज्ञान प्राप्त हो या पुराने ज्ञान की पुष्टि हो।

2. अनुसंधान की परिभाषाएँ (Definitions)

2.1 आयुर्वेदीय परिभाषा

चरक संहिता के अनुसार:
"युक्तिव्यपाश्रयं चापि भवत्यत्र चिकित्सितम्।" (चरक सूत्र 11/54)
अर्थात् - युक्ति (तर्क) के आधार पर किया गया अन्वेषण ही वास्तविक अनुसंधान है।
काश्यप संहिता में - "अन्वेषण" शब्द का प्रयोग हुआ है।
सुश्रुत संहिता में - "मार्गणम्" (खोज करना) का उल्लेख है।

2.2 WHO की परिभाषा

"Research is a systematic investigation designed to develop or contribute to generalizable knowledge." (अनुसंधान एक क्रमबद्ध जाँच है जो सामान्यीकृत ज्ञान के विकास या योगदान के लिए बनाई जाती है।)

2.3 Woodey (वुडी) की परिभाषा

"Research is a careful inquiry or examination in seeking facts or principles - a diligent investigation to ascertain something." (अनुसंधान तथ्यों या सिद्धांतों की खोज में सावधानीपूर्वक की गई जाँच है - किसी बात को सुनिश्चित करने के लिए परिश्रमपूर्वक की गई पड़ताल।)

2.4 अन्य परिभाषाएँ

  • Kerlinger: "Research is a systematic, controlled, empirical and critical investigation of hypothetical propositions about the presumed relations among natural phenomena."
  • Good & Scates: "Research is the systematic and objective analysis and recording of controlled observations that may lead to the development of generalizations, principles, or theories."

3. अनुसंधान के पर्याय (Synonyms)

संस्कृत/हिन्दीअर्थ
अन्वेषणखोज करना
मार्गणम्मार्ग ढूँढना
शोधशुद्ध करना/खोजना
परीक्षणपरीक्षा लेना
विमर्शविचार-विश्लेषण
तत्त्वान्वेषणतत्त्व की खोज
अनुशीलनगहन अध्ययन
Investigationजाँच
Enquiryपूछताछ/खोज
Studyअध्ययन

4. अनुसंधान के उद्देश्य (Objectives of Research)

  1. नवीन ज्ञान की प्राप्ति - अज्ञात तथ्यों को उद्घाटित करना
  2. पूर्व ज्ञान की पुष्टि - प्राचीन सिद्धांतों को वैज्ञानिक आधार देना
  3. समस्याओं का समाधान - रोग, औषध, चिकित्सा की समस्याएँ सुलझाना
  4. सिद्धांतों का विकास - नई थ्योरी बनाना
  5. पूर्वानुमान - भविष्य की घटनाओं का अनुमान लगाना
  6. ज्ञान का प्रसार - समाज को लाभान्वित करना
  7. गुणवत्ता में सुधार - चिकित्सा पद्धतियों को उन्नत करना

5. अनुसंधान की उपयोगिता (Utility of Research)

आयुर्वेद के संदर्भ में:
  1. प्राचीन सिद्धांतों की वैज्ञानिक प्रमाणिकता - जैसे त्रिदोष सिद्धांत को आणविक स्तर पर सिद्ध करना
  2. नई औषधियों का विकास - औषध कल्पना में नवाचार
  3. Drug Standardization - द्रव्यगुण शास्त्र में मानकीकरण
  4. Clinical Efficacy का प्रमाण - EBM के माध्यम से
  5. Global Acceptance - अंतर्राष्ट्रीय स्तर पर मान्यता
  6. Policy Making - सरकारी नीति निर्माण में सहायता
  7. शिक्षा एवं प्रशिक्षण में सुधार
  8. रोग निदान में नवीन विधियों का समावेश

6. आयुर्वेद में अनुसंधान की आवश्यकता (Need of Research in Ayurveda)

  1. वैज्ञानिक प्रमाणीकरण की आवश्यकता - आयुर्वेदिक चिकित्सा को आधुनिक विज्ञान के मानदंडों पर खरा उतरना है
  2. नई बीमारियों से सामना - COVID-19, AIDS, Lifestyle disorders जैसी बीमारियों में आयुर्वेदिक उपचार की खोज
  3. Drug Safety & Toxicology - भारी धातु युक्त औषधियों की सुरक्षा सिद्ध करना
  4. Standardization की आवश्यकता - GMP (Good Manufacturing Practices) का पालन
  5. Global Market - निर्यात के लिए WHO के मानक पूरे करना
  6. Integration - Integrative Medicine में स्थान
  7. Documentation - मौखिक परंपराओं को लिखित रूप देना
  8. Pharmacovigilance - दुष्प्रभावों की निगरानी
  9. IPR (Intellectual Property Rights) - पारंपरिक ज्ञान की सुरक्षा (Biopiracy रोकना)

7. अनुसंधान प्रक्रिया (Research Process)

अनुसंधान प्रक्रिया के 12 चरण (Steps):
1. समस्या की पहचान (Identification of Problem)
        ↓
2. साहित्य समीक्षा (Literature Review)
        ↓
3. समस्या का परिभाषीकरण (Problem Formulation)
        ↓
4. परिकल्पना निर्माण (Hypothesis Formation)
        ↓
5. अनुसंधान डिजाइन (Research Design)
        ↓
6. नमूना चयन (Sampling)
        ↓
7. डेटा संग्रहण (Data Collection)
        ↓
8. डेटा प्रसंस्करण (Data Processing)
        ↓
9. सांख्यिकीय विश्लेषण (Statistical Analysis)
        ↓
10. परिणामों की व्याख्या (Interpretation of Results)
        ↓
11. निष्कर्ष (Conclusion)
        ↓
12. प्रकाशन/रिपोर्ट (Publication/Report Writing)

विस्तृत विवरण:

चरण 1: समस्या की पहचान
  • नैदानिक अवलोकन (Clinical Observation)
  • साहित्य अध्ययन से Research Gap की पहचान
  • सामाजिक आवश्यकता का मूल्यांकन
चरण 2: साहित्य समीक्षा (Literature Review)
  • PubMed, DHARA, AYUSH Portal पर खोज
  • पिछले शोधों का अध्ययन
  • शास्त्रीय ग्रंथों का अवलोकन
चरण 3: परिकल्पना
  • Null Hypothesis (H₀): "A का B पर कोई प्रभाव नहीं"
  • Alternate Hypothesis (H₁): "A का B पर प्रभाव है"
चरण 4: Research Design
  • RCT, Observational Study, Case Control, Cohort आदि
चरण 5: Data Collection
  • प्रश्नावली, साक्षात्कार, प्रयोगशाला जाँच
चरण 6: Statistical Analysis
  • Mean, SD, p-value, Chi-square, t-test आदि

8. अनुसंधान के भेद / प्रकार (Types of Research)

8.1 उद्देश्य के आधार पर:

प्रकारविवरण
मौलिक/शुद्ध अनुसंधान (Pure/Basic Research)नया ज्ञान प्राप्ति हेतु, व्यावहारिक लाभ तुरंत नहीं
अनुप्रयुक्त अनुसंधान (Applied Research)व्यावहारिक समस्याओं का समाधान
क्रियात्मक अनुसंधान (Action Research)तात्कालिक समस्याओं का चिकित्सा स्थल पर समाधान

8.2 विधि के आधार पर:

प्रकारविवरण
वर्णनात्मक (Descriptive)जैसे है वैसा वर्णन, सर्वेक्षण
प्रयोगात्मक (Experimental)कारण-प्रभाव संबंध, RCT
ऐतिहासिक (Historical)पुरानी घटनाओं का अध्ययन
अर्ध-प्रयोगात्मक (Quasi-experimental)नियंत्रित समूह के बिना

8.3 प्रकृति के आधार पर:

  • गुणात्मक (Qualitative) - विचार, अनुभव, प्रवृत्ति
  • मात्रात्मक (Quantitative) - संख्यात्मक डेटा

8.4 कालखंड के आधार पर:

  • Longitudinal Study - एक समूह को लंबे समय तक देखना
  • Cross-sectional Study - एक समय पर विभिन्न समूहों का अध्ययन

8.5 Prospective vs Retrospective:

  • Prospective - आगे की ओर देखना (भविष्य में क्या होगा)
  • Retrospective - पीछे की ओर देखना (पहले क्या हुआ)

9. अनुसंधान में प्रमाणों की उपयोगिता (Role of Pramanas in Research)

आयुर्वेदीय प्रमाण:

चरक संहिता (सूत्र 11/17) में चार प्रमाण बताए गए हैं:
प्रमाणअर्थआधुनिक तुल्य
1. आप्तोपदेश (प्रत्यक्ष श्रुत)विशेषज्ञ/विश्वसनीय व्यक्ति का कथनExpert Opinion, Textbooks
2. प्रत्यक्षइंद्रियों से प्रत्यक्ष अनुभवDirect Observation, Clinical Examination
3. अनुमानतर्क/संकेत से निष्कर्षLogical Inference, Lab Tests
4. युक्तिविभिन्न कारणों को मिलाकर निर्णयReasoning, Evidence Synthesis

प्रमाणों का अनुसंधान में महत्व:

1. आप्तोपदेश → साहित्य समीक्षा (Literature Review)
  • शास्त्रीय ग्रंथों (चरक, सुश्रुत, अष्टांग हृदयम्) से प्राप्त ज्ञान
  • विशेषज्ञों की राय (Expert Guidelines)
  • उदाहरण: अश्वगंधा के रसायन गुणों का आप्त उपदेश → आधुनिक Adaptogen Studies
2. प्रत्यक्ष → Clinical Observation/Lab Findings
  • रोगी की सीधी परीक्षा (Ashtavidha Pariksha)
  • प्रयोगशाला में प्रत्यक्ष परिणाम
  • उदाहरण: हरिद्रा के पीले रंग से करक्यूमिन की उपस्थिति की प्रत्यक्ष पहचान
3. अनुमान → Hypothesis & Statistical Inference
  • लक्षणों से रोग का अनुमान (Nidana → Samprapti)
  • p-value से H₀ स्वीकार/अस्वीकार
  • उदाहरण: धूम्रपान करने वालों में कैंसर का अनुमान (Epidemiological Study)
4. युक्ति → Systematic Review & Meta-analysis
  • कई अध्ययनों के परिणामों को मिलाकर निष्कर्ष
  • आयुर्वेदीय चिकित्सा में Multifactorial approach
  • उदाहरण: पंचकर्म के विभिन्न अंगों (वमन + विरेचन + बस्ति) के संयुक्त प्रभाव का अध्ययन

10. अनुसंधान के क्षेत्र में नैतिक मूल्य (Ethics in Research)

मूल सिद्धांत (Belmont Report - 1979):
  1. Respect for Persons (व्यक्ति का सम्मान) - स्वायत्तता का आदर
  2. Beneficence (हितकारिता) - अधिकतम लाभ, न्यूनतम हानि
  3. Justice (न्याय) - समान व्यवहार
आयुर्वेदीय नैतिक मूल्य:
  • "आतुरस्य हितं वाच्यम्" - रोगी का हित सर्वोपरि (चरक)
  • "न हिंसात् सर्वभूतानाम्" - किसी भी प्राणी को हानि न पहुँचाना
अनुसंधान नैतिकता के प्रमुख घटक:
  1. Informed Consent (सूचित सहमति) - प्रतिभागी को पूरी जानकारी देकर सहमति लेना
  2. Confidentiality (गोपनीयता)
  3. Anonymity (गुमनामता)
  4. Non-maleficence - हानि न पहुँचाना
  5. Right to Withdraw - अध्ययन से हटने का अधिकार
  6. Plagiarism से बचाव
  7. Data Fabrication/Falsification न करना

11. अनुसंधान का ऐतिहासिक विकास (Historical Development)

कालघटना
वैदिक कालअथर्ववेद में रोग-चिकित्सा का वर्णन
शास्त्रीय कालचरक, सुश्रुत, वाग्भट्ट - क्रमबद्ध अन्वेषण
मध्यकालअरब-भारतीय ज्ञान का आदान-प्रदान
ब्रिटिश कालभारतीय चिकित्सा का दमन, आधुनिक चिकित्सा का प्रसार
स्वतंत्रता पश्चात्CCRAS (1969), CSIR, NIA की स्थापना
आधुनिक कालAYUSH Ministry (2014), DHARA, CTRI

UNIT 2: Ayurveda & Evidence (आयुर्वेद और प्रमाण)


12. आयुर्वेदीय सिद्धांतों की वैज्ञानिकता

प्रमुख सिद्धांत और उनकी वैज्ञानिकता:

आयुर्वेदीय सिद्धांतवैज्ञानिक तुल्य
त्रिदोष सिद्धांत (वात-पित्त-कफ)Neuro-endocrine-immune axis; Vata=nervous, Pitta=metabolic, Kapha=structural
सप्त धातुPlasma, RBC, Muscles, Fat, Bone, Nerve tissue, Reproductive cells
त्रिमल (मूत्र, पुरीष, स्वेद)Excretory products
अग्निDigestive enzymes, Metabolic rate
अष्टविध परीक्षाClinical Examination Protocol
रस-गुण-वीर्य-विपाक-प्रभावPharmacodynamics & Pharmacokinetics
पंचभूत सिद्धांतStates of matter (solid, liquid, gas, energy, space)

औषध कल्पनाओं की वैज्ञानिकता:

  • क्वाथ = Decoction → maximum extraction of water-soluble active principles
  • अरिष्ट-आसव = Fermented preparations → natural alcohol as preservative + bioavailability enhancer
  • भस्म = Nano-particulate metals → higher bioavailability, lesser toxicity
  • घृत = Lipid-based formulations → fat-soluble active ingredients, blood-brain barrier crossing

13. आयुर्वेद ग्रंथों में अनुसंधान के प्रमाण

चरक संहिता में:

  • विमान स्थान - आहार, द्रव्य परीक्षण की विधि
  • कल्प स्थान - औषध परीक्षण (Drug Testing)
  • चरक सूत्र 1/124 - "युक्ति" प्रमाण का वर्णन
  • "तर्क: संशयच्छेदाय" - तर्क से संशय दूर होता है

सुश्रुत संहिता में:

  • शरीर स्थान - शवच्छेदन (Anatomy through dissection)
  • कल्प स्थान - विष परीक्षण (Toxicology)
  • चिकित्सा स्थान - Surgical trials

अष्टांग हृदयम् में:

  • परीक्षाभेद - विभिन्न परीक्षण विधियाँ

Evidence के प्रकार (Levels of Evidence - आयुर्वेद में):

  1. शास्त्र प्रमाण - Textbook Authority (Level I - Systematic Review के समान)
  2. आचार्य मत - Expert Opinion (Level V)
  3. लोक प्रत्यक्ष - Population-level Observation (Epidemiological)
  4. युक्ति-प्रत्यक्ष - Experimental Evidence

UNIT 3: Evidence Based Medicine (साक्ष्य आधारित चिकित्सा)


14. Evidence Based Medicine (EBM) की अवधारणा

परिभाषा:
"EBM is the conscientious, explicit and judicious use of current best evidence in making decisions about the care of individual patients."
  • David Sackett (1996)
हिन्दी में: "साक्ष्य आधारित चिकित्सा वह है जिसमें व्यक्तिगत रोगी की देखभाल के निर्णय लेने में वर्तमान सर्वोत्तम प्रमाण का सचेतन, स्पष्ट एवं विवेकपूर्ण उपयोग किया जाता है।"

EBM के तीन स्तंभ:

        ┌─────────────────────────────────┐
        │        EBM त्रिभुज              │
        │                                 │
        │   Research Evidence (शोध प्रमाण)│
        │          /        \             │
        │   Clinical     Patient          │
        │   Expertise +  Values &         │
        │  (नैदानिक)    Preferences       │
        │               (रोगी मूल्य)      │
        └─────────────────────────────────┘

EBM में साक्ष्य की श्रेणियाँ (Levels of Evidence):

स्तरप्रकारउदाहरण
Level IaSystematic Review of RCTsCochrane Reviews
Level IbIndividual RCTClinical Trial
Level IIaControlled Trial (no randomization)Quasi-experimental
Level IIbCohort StudyFollow-up Study
Level IIICase-Control StudyObservational
Level IVCase Series/ReportsClinical Cases
Level VExpert OpinionGuidelines

EBM का आयुर्वेद में महत्व (Relevance):

  1. आयुर्वेदीय उपचारों को RCT द्वारा सिद्ध करना
  2. Systematic Reviews - अश्वगंधा, गुग्गुलु, हरिद्रा पर मेटा-विश्लेषण
  3. Pharmacovigilance - आयुर्वेदिक दवाओं के दुष्प्रभावों की निगरानी
  4. Drug Interaction Studies - Herb-Drug Interactions
  5. AYUSH Research Portal पर RCT Registration

Scientific Writing:

  • IMRAD Structure: Introduction, Methods, Results and Discussion
  • Abstract (250-300 शब्द): Structured - Background, Methods, Results, Conclusion
  • References: Vancouver या APA Style
  • Peer Review की प्रक्रिया

UNIT 4: Research Methodology


15. Hypothesis (परिकल्पना)

परिभाषा: परिकल्पना एक अनुमानित कथन है जो दो या अधिक चरों के बीच संबंध प्रस्तावित करता है तथा जिसे परीक्षण द्वारा सत्यापित किया जा सकता है।
प्रकार:
  1. Null Hypothesis (H₀/शून्य परिकल्पना):
    • "X और Y के बीच कोई महत्वपूर्ण अंतर नहीं है"
    • उदाहरण: "अश्वगंधा चूर्ण का तनाव पर कोई प्रभाव नहीं पड़ता"
  2. Alternative Hypothesis (H₁/वैकल्पिक परिकल्पना):
    • "X और Y के बीच महत्वपूर्ण अंतर है"
    • Directional (एकदिशीय): "अश्वगंधा तनाव कम करता है"
    • Non-directional (द्विदिशीय): "अश्वगंधा का तनाव पर प्रभाव पड़ता है"
अच्छी Hypothesis के गुण (SMART):
  • Specific - स्पष्ट एवं विशिष्ट
  • Measurable - मापनीय
  • Achievable - प्राप्त करने योग्य
  • Relevant - प्रासंगिक
  • Testable - परीक्षण योग्य

16. Research Questions vs Research Objectives में अंतर

आधारResearch QuestionResearch Objective
स्वरूपप्रश्न के रूप मेंकथन के रूप में
व्याकरणप्रश्नवाचकक्रिया से शुरू (Assess, Evaluate, Determine)
उदाहरण"क्या त्रिफला रक्त शर्करा कम करता है?""त्रिफला के रक्त शर्करा पर प्रभाव का मूल्यांकन करना"
उपयोगअनुसंधान दिशा निर्धारित करनामापन योग्य लक्ष्य निर्धारित करना
संख्याकमअधिक (Primary + Secondary)

17. Research Databases & Portals

17.1 PubMed

  • पूर्ण नाम: PubMed/MEDLINE (National Library of Medicine, USA)
  • URL: www.pubmed.ncbi.nlm.nih.gov
  • स्थापना: 1996 (MEDLINE 1966 से)
  • Coverage: 35 मिलियन+ biomedical citations
  • विशेषताएँ:
    • MeSH (Medical Subject Headings) - नियंत्रित शब्दावली
    • Free full-text articles (PMC)
    • Advanced Search filters (date, publication type, species)
    • PICO Search feature
    • Boolean operators: AND, OR, NOT
  • आयुर्वेद में उपयोगिता: Herb-drug interactions, clinical trials of Ayurvedic medicines

17.2 DHARA (Digital Helpline for Ayurveda Research Articles)

  • URL: www.dharaonline.org
  • स्थापित: Ministry of AYUSH द्वारा वित्त पोषित
  • Publisher: AVT Institute for Advanced Research, Coimbatore
  • विशेषताएँ:
    • 10,000+ Ayurveda-specific articles
    • 4000+ full texts उपलब्ध
    • PubMed में indexed न होने वाले Ayurveda journals
    • भारतीय भाषाओं में प्रकाशित शोध भी सम्मिलित
  • महत्व: PubMed में केवल ~240 Ayurveda articles/year थे जबकि DHARA में 4123+

17.3 AYUSH Research Portal

  • URL: www.ayushresearchportal.nic.in
  • मंत्रालय: Ministry of AYUSH, Government of India
  • विशेषताएँ:
    • AYUSH Pharmacopoeias
    • Research publications से संबंधित
    • CTRI (Clinical Trials Registry of India) से जोड़ा गया
    • Funded Research Projects की जानकारी

17.4 अन्य महत्वपूर्ण Databases:

Databaseविशेषता
Cochrane LibrarySystematic Reviews, RCTs
ABIMAyurvedic Bibliography of Indian Medicine
EMBASEEuropean biomedical database
CINAHLNursing & Allied Health
Google ScholarFree, multidisciplinary
ScopusElsevier - citation database
Web of ScienceImpact Factor journal indexing
CTRIClinical Trials Registry India
WHO ICTRPInternational Clinical Trial Registry

18. Longitudinal vs Cross-Sectional Study

आधारLongitudinal StudyCross-Sectional Study
परिभाषाएक ही समूह को लंबे समय तक देखनाएक समय बिंदु पर विभिन्न समूहों का अध्ययन
समयलंबा (वर्षों तक)छोटा (एक समय में)
लाभकारण-प्रभाव संबंध, व्यक्तिगत परिवर्तन देखे जा सकते हैंसस्ता, जल्दी, बड़ी जनसंख्या
हानिमहंगा, Dropout की समस्याTemporal relationship स्थापित नहीं होता
उदाहरणबच्चों में Obesity का 10 वर्षीय अनुसरणएक सर्वेक्षण में BMI और Diabetes की जाँच
उपयोगCohort studies, Developmental researchPrevalence studies

19. Parametric vs Non-Parametric Tests

आधारParametric TestsNon-Parametric Tests
मान्यताNormal distribution, Equal varianceकोई विशेष distribution की मान्यता नहीं
Data TypeContinuous (Interval/Ratio)Ordinal, Nominal, Non-normal
Sample Sizeबड़ा (n≥30)छोटा भी चलता है
शक्तिअधिककम (Parametric से 95%)
Parametric Tests:
  • t-test (दो समूहों की mean की तुलना)
    • One-sample t-test
    • Independent t-test
    • Paired t-test
  • ANOVA (तीन+ समूहों की तुलना)
  • Pearson Correlation (r)
  • Linear Regression
Non-Parametric Tests:
  • Mann-Whitney U Test (independent t-test का विकल्प)
  • Wilcoxon Signed Rank Test (Paired t-test का विकल्प)
  • Kruskal-Wallis Test (ANOVA का विकल्प)
  • Chi-square Test (χ²) - Categorical data
  • Spearman Rank Correlation (ρ)
  • Fisher's Exact Test - छोटे sample में Chi-square का विकल्प

20. Probability एवं Test of Significance

Probability (संभाव्यता):

परिभाषा: किसी घटना के घटित होने की संभावना की संख्यात्मक माप।
$$P(A) = \frac{\text{अनुकूल परिणाम}}{\text{कुल संभावित परिणाम}}$$
  • Range: 0 से 1 (0 = असंभव, 1 = निश्चित)
  • p = 0.05 → 100 में 5 बार संयोग से घट सकता है

Test of Significance (महत्ता परीक्षण):

उद्देश्य: यह निर्धारित करना कि दो समूहों के बीच अंतर संयोग का परिणाम है या वास्तविक।
p-value:
  • p < 0.05 → Statistically Significant (सांख्यिकीय रूप से महत्वपूर्ण) - H₀ अस्वीकार
  • p ≥ 0.05 → Not Significant - H₀ स्वीकार
  • p < 0.01 → Highly Significant
  • p < 0.001 → Very Highly Significant
Confidence Interval (CI):
  • 95% CI का अर्थ - 95 बार में 95 बार सच्ची mean इस range में होगी
Type I Error (α): H₀ सत्य होने पर भी अस्वीकार करना (False Positive) Type II Error (β): H₀ असत्य होने पर भी स्वीकार करना (False Negative)

21. Data Collection (आँकड़ों का संग्रहण)

21.1 प्राथमिक डेटा संग्रहण:

  1. साक्षात्कार (Interview) - Structured, Semi-structured, Unstructured
  2. प्रश्नावली (Questionnaire) - स्व-प्रशासित
  3. अवलोकन (Observation) - Direct, Participant, Non-participant
  4. प्रयोगात्मक विधि - Clinical trials
  5. Focus Group Discussion (FGD)

21.2 द्वितीयक डेटा संग्रहण:

  • Hospital records, Census data, Published literature

21.3 प्रश्नावली के प्रकार (Types of Questionnaire):

प्रकारविवरणउदाहरण
Structuredनिश्चित उत्तर विकल्पMCQ, Yes/No
Unstructuredखुले प्रश्न"आपके अनुभव बताइए..."
Semi-structuredदोनों का मिश्रणMixed questionnaire
Rating Scaleश्रेणी द्वारा मापनLikert Scale (1-5)
Dichotomousदो विकल्पहाँ/नहीं
Open-endedमुक्त उत्तरQualitative data
Closed-endedनिश्चित विकल्पQuantitative data
Likert Scale: 1=Strongly Disagree → 5=Strongly Agree

UNIT 5: Statistics (सांख्यिकी)


22. सांख्यिकी का परिचय

परिभाषा: "Statistics is the science of collecting, organizing, analyzing, interpreting, and presenting data." (आँकड़ों का संग्रह, व्यवस्थापन, विश्लेषण, व्याख्या एवं प्रस्तुतीकरण का विज्ञान।)

अंकशास्त्र का उद्भव एवं विकास:

  • प्राचीन भारत - कौटिल्य के अर्थशास्त्र में जनगणना का वर्णन
  • 17वीं शताब्दी - Graunt (1662) - Mortality Tables
  • 18वीं शताब्दी - Gauss, Laplace - Normal Distribution
  • 19वीं शताब्दी - Galton, Pearson - Correlation
  • 20वीं शताब्दी - Fisher - ANOVA, t-test

चिकित्सीय सांख्यिकी की उपयोगिता:

  1. डेटा का संक्षेपीकरण (Summarization)
  2. Sampling में सहायता
  3. Hypothesis Testing
  4. Clinical Trial Design
  5. Risk Assessment (RR, OR)
  6. Epidemiological Studies
  7. Drug Efficacy तुलना

23. Variable (चर/परिवर्तनशील)

परिभाषा: Variable वह विशेषता या गुण है जिसका मान एक व्यक्ति से दूसरे व्यक्ति में अलग हो सकता है।

प्रकार:

1. Quantitative (मात्रात्मक):
  • Continuous: कोई भी मान ले सकता है (Height, BP, Temperature)
  • Discrete: केवल पूर्ण संख्याएँ (संतानों की संख्या, Pulse rate)
2. Qualitative (गुणात्मक/Categorical):
  • Nominal: बिना क्रम के श्रेणियाँ (Blood group, Gender)
  • Ordinal: क्रम सहित श्रेणियाँ (Mild/Moderate/Severe)
3. Independent Variable (स्वतंत्र चर): अन्य को प्रभावित करता है (Intervention/Treatment) 4. Dependent Variable (आश्रित चर): प्रभावित होता है (Outcome - BP, Weight) 5. Confounding Variable: परिणाम को प्रभावित करने वाला अतिरिक्त चर

24. Measures of Central Tendency (केंद्रीय प्रवृत्ति के मापक)

24.1 Arithmetic Mean (समांतर माध्य)

$$\bar{x} = \frac{\sum x}{n}$$
उदाहरण: 5 रोगियों का वजन: 60, 65, 70, 55, 75 kg $$\bar{x} = \frac{60+65+70+55+75}{5} = \frac{325}{5} = 65 \text{ kg}$$
गुण: सभी मानों का उपयोग, गणितीय रूप से सुविधाजनक दोष: Extreme values (outliers) से प्रभावित

24.2 Median (मध्यिका)

  • क्रमबद्ध डेटा का मध्य मान
  • Odd n: (n+1)/2 वाँ मान
  • Even n: दो मध्य मानों का औसत
  • उदाहरण: 55, 60, 65, 70, 75 → Median = 65
गुण: Outliers से अप्रभावित, Skewed data के लिए उपयुक्त

24.3 Mode (बहुलक)

  • सबसे अधिक बार आने वाला मान
  • उदाहरण: 60, 65, 65, 70, 75 → Mode = 65
  • Bimodal = दो mode
  • गुण: Open-ended distribution में उपयोगी

तुलना:

  • Normal Distribution: Mean = Median = Mode
  • Positively Skewed: Mode < Median < Mean
  • Negatively Skewed: Mean < Median < Mode

25. Measures of Variability (विभिन्नता के मापक)

उद्देश्य: डेटा का फैलाव मापना।

25.1 Range (परिसर)

$$\text{Range} = \text{Maximum} - \text{Minimum}$$ उदाहरण: 55, 60, 65, 70, 75 → Range = 75 - 55 = 20

25.2 Variance (प्रसरण)

$$\sigma^2 = \frac{\sum(x - \bar{x})^2}{n}$$

25.3 Standard Deviation (मानक विचलन, SD)

$$\sigma = \sqrt{\frac{\sum(x - \bar{x})^2}{n}}$$
उदाहरण:
  • मान: 60, 65, 70, 55, 75; Mean = 65
  • विचलन: -5, 0, +5, -10, +10
  • विचलन²: 25, 0, 25, 100, 100
  • Variance = 250/5 = 50
  • SD = √50 = 7.07
महत्व:
  • छोटा SD → डेटा Mean के पास केंद्रित (Homogeneous)
  • बड़ा SD → डेटा बिखरा हुआ (Heterogeneous)

25.4 Standard Error (मानक त्रुटि, SE/SEM)

$$SE = \frac{SD}{\sqrt{n}}$$
अंतर (SD vs SE):
SDSE
मापता हैव्यक्तिगत मूल्यों का फैलावSample means का फैलाव
उपयोगडेटा VariabilityPopulation mean का अनुमान
n से संबंधn बढ़ने पर स्थिरn बढ़ने पर घटता है
FormulaSD = √(Σ(x-x̄)²/n)SE = SD/√n

26. Normal Distribution (सामान्य वितरण)

परिभाषा: Normal Distribution एक सममित, bell-shaped curve है जिसमें Mean = Median = Mode।
        Normal Distribution (Bell Curve)
              ╭─────╮
            ╭╯       ╰╮
          ╭╯           ╰╮
        ╭╯               ╰╮
      ╭╯                   ╰╮
─────╯─────────────────────────╰─────
     μ-3σ  μ-2σ  μ-σ  μ  μ+σ  μ+2σ  μ+3σ

68.2% डेटा μ±1σ के बीच
95.4% डेटा μ±2σ के बीच
99.7% डेटा μ±3σ के बीच (Empirical Rule)
विशेषताएँ:
  1. Bell-shaped, Unimodal
  2. Mean = Median = Mode (μ पर)
  3. Symmetric about μ
  4. Total Area = 1
  5. Asymptotic (X-axis को कभी नहीं छूती)
  6. पूर्णतः μ और σ द्वारा निर्धारित
Z-score: $$Z = \frac{x - \mu}{\sigma}$$ Z-score से Normal table द्वारा probability निकाली जाती है।

27. Statistical Software

Softwareविशेषताउपयोग
SPSS (IBM)Menu-driven, user-friendlyClinical research, Social sciences
RFree, open-source, powerfulAdvanced statistics, Bioinformatics
SASIndustry standardPharmaceutical industry, FDA submissions
StataEpidemiology, Panel dataPublic health research
GraphPad PrismGraphs + statisticsBiomedical research
EpiInfoFree, CDCEpidemiology, Disease surveillance
MedCalcClinical statisticsDiagnostic test evaluation
ExcelBasic statisticsPreliminary analysis
Python (SciPy)Programming-basedData science, ML

UNIT 6: Research Ethics (अनुसंधान नैतिकता)


28. Literature Review (साहित्य समीक्षा)

परिभाषा: Literature Review किसी शोध विषय पर पूर्व में प्रकाशित साहित्य का क्रमबद्ध, आलोचनात्मक मूल्यांकन है।

उद्देश्य:

  1. Research Gap की पहचान
  2. Duplication से बचाव
  3. Hypothesis निर्माण में सहायता
  4. Methodology निर्धारण
  5. Background Section तैयार करना

प्रकार:

  1. Narrative Review - विषय का सामान्य वर्णन
  2. Systematic Review - PRISMA guidelines से क्रमबद्ध
  3. Meta-analysis - Quantitative synthesis
  4. Scoping Review - व्यापक क्षेत्र का मानचित्रण

Literature Review के स्रोत:

  • Primary: Original research articles, Theses
  • Secondary: Review articles, Textbooks
  • Tertiary: Encyclopedias, Databases

आयुर्वेद में Literature Review के स्रोत:

  • Classical Sources: Charaka Samhita, Sushruta Samhita, Ashtanga Hridayam
  • Modern Databases: PubMed, DHARA, AYUSH Portal, ABIM
  • Thesis Databases: Shodhganga (Indian theses)
  • Government Reports: CCRAS publications

Literature Review का महत्व (Importance in Research Process):

  1. Foundation Building - शोध की नींव
  2. Conceptual Framework - सैद्धांतिक आधार
  3. Hypothesis Development
  4. Methodology Justification
  5. Results Contextualization - परिणामों को पूर्व शोध से जोड़ना

29. Institutional Human Ethics Committee (IHEC)

पूर्ण नाम: Institutional Human Ethics Committee (also: IEC - Institutional Ethics Committee)
कानूनी आधार:
  • ICMR (Indian Council of Medical Research) National Ethical Guidelines, 2017
  • CDSCO Schedule Y
  • Helsinki Declaration (1964, revised 2013)

प्रमुख कार्य एवं जिम्मेदारियाँ:

  1. Protocol Review - शोध प्रस्ताव की नैतिक समीक्षा
  2. Informed Consent Review - सहमति प्रपत्र की जाँच
  3. Risk-Benefit Assessment - जोखिम और लाभ का मूल्यांकन
  4. Vulnerable Population Protection - बच्चे, गर्भवती महिलाएँ, मानसिक रोगी की सुरक्षा
  5. Ongoing Monitoring - चल रहे शोध की निगरानी
  6. Adverse Event Reporting - दुष्प्रभावों की रिपोर्टिंग
  7. Privacy & Confidentiality सुनिश्चित करना
  8. SAE (Serious Adverse Events) की समीक्षा

संरचना (ICMR Guidelines अनुसार):

  • Chairperson - संस्था के बाहर का व्यक्ति
  • Basic Medical Scientists
  • Clinicians
  • Legal Expert
  • Social Scientist/Philosopher
  • Layperson (Community Representative)
  • न्यूनतम 7 सदस्य

30. Institutional Animal Ethics Committee (IAEC)

पूर्ण नाम: Institutional Animal Ethics Committee
कानूनी आधार:
  • Committee for the Purpose of Control and Supervision of Experiments on Animals (CPCSEA)
  • Prevention of Cruelty to Animals Act, 1960
  • Breeding of and Experiments on Animals (Control and Supervision) Rules, 1998

"3R" सिद्धांत:

Rअर्थविवरण
Replacementप्रतिस्थापनजहाँ संभव हो, जानवरों की जगह In vitro, Computer models
Reductionकमीन्यूनतम जानवरों का उपयोग, पर्याप्त डेटा के लिए
Refinementपरिष्करणदर्द और तनाव को न्यूनतम करना

प्रमुख जिम्मेदारियाँ:

  1. Animal Protocol Review
  2. Humane endpoints निर्धारण
  3. Proper housing and nutrition की जाँच
  4. CPCSEA guidelines का पालन
  5. Annual reports CPCSEA को भेजना
  6. Researchers को training

UNIT 7: Short Notes (लघु टिप्पणियाँ)


31. AYUSH Research Protocol

AYUSH: Ayurveda, Yoga & Naturopathy, Unani, Siddha, Homeopathy
Ministry of AYUSH की स्थापना: 2014, भारत सरकार

AYUSH Research Protocol की विशेषताएँ:

  1. CTRI Registration अनिवार्य (Clinical Trials Registry - India)
  2. GCP (Good Clinical Practice) guidelines का पालन
  3. CONSORT (RCTs के लिए) reporting standards
  4. AYUSH Pharmacopoeial standards - API (Ayurvedic Pharmacopoeia of India)
  5. CCRAS (Central Council for Research in Ayurvedic Sciences) guidelines
  6. CCSRS, CCRUM, NCISM - विभिन्न शोध परिषदें
  7. IND (Investigational New Drug) Application for classical medicines

AYUSH Research के विशेष पहलू:

  • Classical texts का reference प्रोटोकॉल में अनिवार्य
  • Prakriti-based (body constitution) रोगी वर्गीकरण
  • Reverse pharmacology - पहले clinical observation, फिर preclinical validation
  • Seasonal variation का भी documentation

32. PubMed (Short Note)

  • पूर्ण नाम: PubMed/MEDLINE
  • संचालक: National Library of Medicine (NLM), NIH, USA
  • स्थापना: 1996 (Web-based); MEDLINE 1966 से
  • Coverage: 35+ million citations, 5,000+ journals
  • विशेषताएँ:
    • Free access
    • MeSH terms
    • Boolean operators (AND/OR/NOT)
    • Filter by: Date, Article type, Species, Language
    • PMC (PubMed Central) - Free full texts
    • PICO tool
  • Limitations: Ayurveda-specific journals कम indexed हैं (इसीलिए DHARA आवश्यक है)

33. DHARA (Short Note)

  • पूर्ण नाम: Digital Helpline for Ayurveda Research Articles
  • URL: www.dharaonline.org
  • वित्तपोषण: Ministry of AYUSH
  • स्थापना: 2012
  • Coverage: 10,000+ articles, 4,000+ full texts
  • विशेषता:
    • केवल Ayurveda-specific articles
    • PubMed में न मिलने वाले journals भी सम्मिलित
    • भारतीय भाषाओं में प्रकाशित शोध भी
    • लगभग 4476 journals indexed
  • महत्व: Ayurveda research में PubMed से कहीं अधिक specific और comprehensive

34. Standard Error (SE) - Short Note

$$SE = \frac{SD}{\sqrt{n}}$$
  • SE = Sample mean का Standard Deviation
  • Sample size (n) बढ़ने पर SE घटता है → अधिक precise estimate
  • 95% Confidence Interval = Mean ± 1.96 × SE
  • उपयोग: Population parameter का अनुमान, Hypothesis testing में

परीक्षा में सर्वाधिक पूछे गए प्रश्नों का सारांश

प्रश्नमुख्य बिंदु
अनुसंधान की परिभाषाआप्त + प्रत्यक्ष + WHO + Woodey
अनुसंधान प्रक्रिया12 steps (Problem → Publication)
प्रमाणों की उपयोगिता4 प्रमाण + आधुनिक तुल्य + उदाहरण
आयुर्वेद में शोध की आवश्यकता10 कारण (Biopiracy, EBM, Standardization...)
EBMSackett की परिभाषा, 3 स्तंभ, Evidence levels
HypothesisH₀ vs H₁, Type I/II error
Data CollectionPrimary vs Secondary, Questionnaire types
StatisticsMean, Median, Mode + SD, SE
Normal DistributionBell curve, 68-95-99.7 rule
Research EthicsBelmont, 3R, IHEC, IAEC
DHARAMinistry of AYUSH, Ayurveda-specific
PubMedNLM, MeSH, MEDLINE

नोट: इन नोट्स में सभी 7 Units के सभी प्रश्नों को कवर किया गया है। परीक्षा में प्रत्येक उत्तर के साथ उदाहरण और जहाँ संभव हो तालिका/आरेख अवश्य बनाएँ। आयुर्वेदीय प्रश्नों में संस्कृत श्लोक/उद्धरण देना अतिरिक्त अंक दिलाता है।यहाँ आपके सभी 7 Units के सम्पूर्ण नोट्स प्रस्तुत किए गए हैं। एक संक्षिप्त मार्गदर्शिका:

📌 इन नोट्स में क्या शामिल है:

Unitविषयमुख्य Topics Covered
Unit 1Research & Anusandhanव्युत्पत्ति, परिभाषा (WHO + Woodey + आयुर्वेदीय), पर्याय, उद्देश्य, उपयोगिता, 12-step Research Process, अनुसंधान के प्रकार, ऐतिहासिक विकास
Unit 2Ayurveda & Evidenceत्रिदोष-सप्तधातु की वैज्ञानिकता, औषध कल्पनाओं की Science, ग्रंथों में Evidence (चरक/सुश्रुत/वाग्भट्ट), 4 प्रमाण + आधुनिक तुल्य
Unit 3EBMSackett की परिभाषा, EBM के 3 स्तंभ, Levels of Evidence (I-V), आयुर्वेद में EBM की प्रासंगिकता, Scientific Writing (IMRAD)
Unit 4Research MethodologyHypothesis (H₀/H₁), Research Questions vs Objectives, Databases (PubMed/DHARA/AYUSH/Cochrane), Longitudinal vs Cross-sectional, Parametric vs Non-parametric, Probability, p-value, Data Collection, Questionnaire types
Unit 5Statisticsसांख्यिकी इतिहास, Variable के प्रकार, Mean/Median/Mode (उदाहरण सहित), SD/SE (formula + उदाहरण), Normal Distribution (Bell curve + 68-95-99.7), Statistical Software (SPSS, R, SAS...)
Unit 6Research EthicsLiterature Review (types + importance), Belmont Report, आयुर्वेदीय नैतिक मूल्य, IHEC (संरचना + जिम्मेदारियाँ), IAEC (3R principle)
Unit 7Short NotesAYUSH Protocol, PubMed, DHARA, SE formula

🎯 परीक्षा के लिए विशेष Tips:

  1. अनुसंधान = अनु + सन्धान - यह etymology हर उत्तर में लिखें
  2. चार प्रमाण (आप्तोपदेश, प्रत्यक्ष, अनुमान, युक्ति) को EBM से जोड़ें - यह unique आयुर्वेदिक angle है
  3. Normal Distribution का Bell curve और SD formula diagram के साथ लिखें
  4. DHARA vs PubMed का तुलनात्मक उत्तर अक्सर आता है
  5. Sackett (1996) का नाम EBM की परिभाषा के साथ जरूर लिखें

Create a summary PDF of all Units for quick revision

Reading File
Running Command

ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or not found"

Running Command

mkdir -p /home/daytona/workspace/ayurveda-research-notes && python3 -c "import reportlab; print('reportlab OK')" && python3 -c "from reportlab.lib.pagesizes import A4; print('A4 OK')"

Writing File

~/ayurveda-research-notes/generate_pdf.py

#!/usr/bin/env python3
"""
Ayurveda Research & Anusandhan - Quick Revision PDF Generator
All 7 Units | University Exam Notes
"""

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import mm, cm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, PageBreak, KeepTogether
)
from reportlab.platypus.flowables import Flowable
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
import os

OUTPUT_PATH = "/home/daytona/workspace/ayurveda-research-notes/Ayurveda_Research_Quick_Revision.pdf"

# ── Color palette ──────────────────────────────────────────────────────────────
SAFFRON      = colors.HexColor("#E87722")
DARK_GREEN   = colors.HexColor("#1A6B3C")
MAROON       = colors.HexColor("#800020")
GOLD         = colors.HexColor("#C8960C")
LIGHT_SAFFRON= colors.HexColor("#FFF3E0")
LIGHT_GREEN  = colors.HexColor("#E8F5E9")
LIGHT_BLUE   = colors.HexColor("#E3F2FD")
LIGHT_MAROON = colors.HexColor("#FCE4EC")
PALE_GOLD    = colors.HexColor("#FFFDE7")
DARK_NAVY    = colors.HexColor("#1A237E")
WHITE        = colors.white
GRAY_LIGHT   = colors.HexColor("#F5F5F5")
GRAY_MED     = colors.HexColor("#BDBDBD")
TABLE_HEADER = colors.HexColor("#37474F")
TABLE_ALT    = colors.HexColor("#ECEFF1")

# ── Document setup ─────────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
    OUTPUT_PATH,
    pagesize=A4,
    rightMargin=18*mm,
    leftMargin=18*mm,
    topMargin=20*mm,
    bottomMargin=18*mm,
    title="Ayurveda Research & Anusandhan - Quick Revision",
    author="Orris AI Study Notes",
    subject="Anusandhan Shastra - University Exam Notes"
)

W, H = A4
styles = getSampleStyleSheet()

# ── Custom paragraph styles ────────────────────────────────────────────────────
def make_style(name, parent="Normal", **kw):
    return ParagraphStyle(name, parent=styles[parent], **kw)

cover_title  = make_style("CoverTitle",  fontSize=28, textColor=WHITE,
                          alignment=TA_CENTER, leading=36, spaceAfter=6,
                          fontName="Helvetica-Bold")
cover_sub    = make_style("CoverSub",    fontSize=15, textColor=PALE_GOLD,
                          alignment=TA_CENTER, leading=22, spaceAfter=4,
                          fontName="Helvetica")
cover_hindi  = make_style("CoverHindi",  fontSize=13, textColor=WHITE,
                          alignment=TA_CENTER, leading=20, spaceAfter=4)
cover_info   = make_style("CoverInfo",   fontSize=11, textColor=GRAY_LIGHT,
                          alignment=TA_CENTER, leading=16)

unit_header  = make_style("UnitHeader",  fontSize=16, textColor=WHITE,
                          alignment=TA_CENTER, leading=22, spaceAfter=0,
                          fontName="Helvetica-Bold")
section_h    = make_style("SectionH",    fontSize=13, textColor=MAROON,
                          leading=18, spaceBefore=10, spaceAfter=4,
                          fontName="Helvetica-Bold")
subsection_h = make_style("SubsectionH", fontSize=11, textColor=DARK_GREEN,
                          leading=16, spaceBefore=6, spaceAfter=3,
                          fontName="Helvetica-Bold")
body         = make_style("Body",        fontSize=9.5, leading=14,
                          spaceBefore=2, spaceAfter=2, alignment=TA_JUSTIFY)
body_hindi   = make_style("BodyHindi",   fontSize=9.5, leading=15,
                          spaceBefore=2, spaceAfter=2)
bullet_style = make_style("Bullet",      fontSize=9.5, leading=13,
                          leftIndent=14, firstLineIndent=-10, spaceAfter=1)
formula_style= make_style("Formula",     fontSize=10, leading=14,
                          fontName="Courier-Bold", textColor=DARK_NAVY,
                          leftIndent=20, spaceAfter=4, spaceBefore=4)
note_style   = make_style("Note",        fontSize=9, leading=13,
                          textColor=MAROON, fontName="Helvetica-Oblique",
                          leftIndent=10)
toc_style    = make_style("TOC",         fontSize=10, leading=16,
                          leftIndent=10)
toc_unit     = make_style("TOCUnit",     fontSize=11, leading=17,
                          fontName="Helvetica-Bold", textColor=DARK_GREEN,
                          leftIndent=5)

# ── Helper Flowables ───────────────────────────────────────────────────────────
def sp(h=4):   return Spacer(1, h*mm)
def hr(color=SAFFRON, thickness=1): return HRFlowable(width="100%", thickness=thickness, color=color, spaceAfter=3)
def pg():      return PageBreak()

def unit_banner(number, title, subtitle=""):
    """Colored banner for each unit."""
    banner_colors = [SAFFRON, DARK_GREEN, MAROON, DARK_NAVY,
                     colors.HexColor("#6A1B9A"), colors.HexColor("#00695C"),
                     colors.HexColor("#BF360C")]
    col = banner_colors[(number - 1) % len(banner_colors)]
    data = [[Paragraph(f"UNIT {number}  |  {title}", unit_header)]]
    if subtitle:
        data.append([Paragraph(subtitle, make_style("BannerSub", fontSize=9,
                    textColor=PALE_GOLD, alignment=TA_CENTER))])
    t = Table(data, colWidths=[W - 36*mm])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), col),
        ("TOPPADDING",    (0,0), (-1,-1), 8),
        ("BOTTOMPADDING", (0,0), (-1,-1), 8),
        ("LEFTPADDING",   (0,0), (-1,-1), 14),
        ("RIGHTPADDING",  (0,0), (-1,-1), 14),
        ("ROUNDEDCORNERS", [6]),
    ]))
    return [t, sp(3)]

def info_box(title, content_paras, bg=LIGHT_BLUE, border=DARK_NAVY):
    """Highlighted info box."""
    rows = [[Paragraph(f"<b>{title}</b>",
                       make_style("BoxTitle", fontSize=10, textColor=border,
                                  fontName="Helvetica-Bold"))]]
    for p in content_paras:
        rows.append([p])
    t = Table(rows, colWidths=[W - 38*mm])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,0),  border),
        ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
        ("BACKGROUND",    (0,1), (-1,-1), bg),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 10),
        ("RIGHTPADDING",  (0,0), (-1,-1), 10),
        ("BOX",           (0,0), (-1,-1), 1, border),
        ("ROWBACKGROUNDS",(0,1), (-1,-1), [bg, colors.HexColor("#F3F9FE")]),
    ]))
    return [t, sp(3)]

def data_table(headers, rows, col_widths=None, hdr_color=TABLE_HEADER):
    """Styled data table."""
    available = W - 36*mm
    if col_widths is None:
        col_widths = [available / len(headers)] * len(headers)
    table_data = [
        [Paragraph(f"<b>{h}</b>",
                   make_style("TH", fontSize=9, textColor=WHITE,
                               fontName="Helvetica-Bold", alignment=TA_CENTER))
         for h in headers]
    ]
    for i, row in enumerate(rows):
        table_data.append([
            Paragraph(str(c), make_style("TD", fontSize=8.5, leading=12)) for c in row
        ])
    t = Table(table_data, colWidths=col_widths, repeatRows=1)
    style_cmds = [
        ("BACKGROUND",    (0,0), (-1,0),  hdr_color),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
        ("RIGHTPADDING",  (0,0), (-1,-1), 6),
        ("GRID",          (0,0), (-1,-1), 0.5, GRAY_MED),
        ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
    ]
    for i in range(1, len(table_data)):
        bg = TABLE_ALT if i % 2 == 0 else WHITE
        style_cmds.append(("BACKGROUND", (0,i), (-1,i), bg))
    t.setStyle(TableStyle(style_cmds))
    return [t, sp(3)]

def bullet(text, symbol="•"):
    return Paragraph(f"{symbol}  {text}", bullet_style)

def sub_bullet(text):
    return Paragraph(f"  -  {text}",
                     make_style("SubBullet", fontSize=9, leading=13,
                                leftIndent=28, firstLineIndent=-10, spaceAfter=1))

def formula(text):
    return Paragraph(text, formula_style)

def section(text):
    return Paragraph(text, section_h)

def subsection(text):
    return Paragraph(text, subsection_h)

def para(text):
    return Paragraph(text, body)

def hindi(text):
    return Paragraph(text, body_hindi)

def note(text):
    return Paragraph(f"<i>Note: {text}</i>", note_style)

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

# ─────────────────────────────── COVER PAGE ────────────────────────────────
cover_bg_data = [[""]]
cover_bg = Table(cover_bg_data, colWidths=[W - 36*mm], rowHeights=[260])
cover_bg.setStyle(TableStyle([
    ("BACKGROUND", (0,0), (-1,-1), DARK_GREEN),
    ("ROUNDEDCORNERS", [10]),
]))

story += [
    sp(8),
    cover_bg,
]

# Overlay content as separate paragraphs
overlay = [
    sp(2),
    Paragraph("🌿", make_style("Emoji", fontSize=36, alignment=TA_CENTER, spaceAfter=4)),
    Paragraph("AYURVEDA RESEARCH &amp; ANUSANDHAN", cover_title),
    Paragraph("Quick Revision Notes — All 7 Units", cover_sub),
    Paragraph("अनुसंधान शास्त्र | University Exam Preparation", cover_hindi),
    sp(4),
    HRFlowable(width="60%", thickness=2, color=GOLD, hAlign="CENTER", spaceAfter=8),
    Paragraph("Anusandhan · Evidence Based Medicine · Research Methodology", cover_info),
    Paragraph("Statistics · Research Ethics · AYUSH Protocol", cover_info),
    sp(6),
    HRFlowable(width="100%", thickness=1, color=GOLD, spaceAfter=6),
    Paragraph("Units Covered: 1 · 2 · 3 · 4 · 5 · 6 · 7", cover_info),
    Paragraph("High-priority University Exam Questions Addressed", cover_info),
    sp(4),
]

# Re-build: place cover title block cleanly
story = []
story += [sp(6)]

cover_table = Table(
    [[Paragraph("🌿  AYURVEDA RESEARCH &amp; ANUSANDHAN", cover_title)],
     [Paragraph("Quick Revision Notes — All 7 Units", cover_sub)],
     [Paragraph("अनुसंधान शास्त्र | University Exam Preparation", cover_hindi)],
     [sp(1)],
     [HRFlowable(width="70%", thickness=2, color=GOLD, hAlign="CENTER")],
     [sp(1)],
     [Paragraph("Units 1-7 | EBM · Statistics · Ethics · AYUSH Protocol", cover_info)],
     [Paragraph("PubMed · DHARA · Research Methodology · Pramanas", cover_info)],
     ],
    colWidths=[W - 36*mm]
)
cover_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), DARK_GREEN),
    ("TOPPADDING",    (0,0), (-1,-1), 12),
    ("BOTTOMPADDING", (0,0), (-1,-1), 12),
    ("LEFTPADDING",   (0,0), (-1,-1), 20),
    ("RIGHTPADDING",  (0,0), (-1,-1), 20),
    ("ROUNDEDCORNERS",[10]),
]))
story.append(cover_table)
story += [sp(6)]

# Quick stats boxes on cover
stats = [
    ["7\nUnits", "30+\nTopics", "50+\nKey Terms", "100+\nExam Points"],
]
stats_table = Table(stats, colWidths=[(W-36*mm)/4]*4)
stats_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), SAFFRON),
    ("TEXTCOLOR",     (0,0), (-1,-1), WHITE),
    ("ALIGN",         (0,0), (-1,-1), "CENTER"),
    ("FONTNAME",      (0,0), (-1,-1), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 14),
    ("TOPPADDING",    (0,0), (-1,-1), 14),
    ("BOTTOMPADDING", (0,0), (-1,-1), 14),
    ("GRID",          (0,0), (-1,-1), 1, WHITE),
    ("ROUNDEDCORNERS",[6]),
]))
story.append(stats_table)
story += [sp(6)]

# Most repeated banner
mr_data = [["🎯  MOST REPEATED EXAM TOPICS INSIDE"]]
mr_table = Table(mr_data, colWidths=[W - 36*mm])
mr_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), MAROON),
    ("TEXTCOLOR",     (0,0), (-1,-1), WHITE),
    ("ALIGN",         (0,0), (-1,-1), "CENTER"),
    ("FONTNAME",      (0,0), (-1,-1), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 12),
    ("TOPPADDING",    (0,0), (-1,-1), 10),
    ("BOTTOMPADDING", (0,0), (-1,-1), 10),
    ("ROUNDEDCORNERS",[6]),
]))
story.append(mr_table)
story.append(pg())

# ─────────────────────────────── TABLE OF CONTENTS ──────────────────────────
story.append(Paragraph("TABLE OF CONTENTS", make_style("TOCH", fontSize=18,
    textColor=DARK_GREEN, fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=6)))
story.append(hr(DARK_GREEN, 2))
story.append(sp(2))

toc_entries = [
    ("UNIT 1", "Research & Anusandhan (अनुसंधान)",
     "Etymology · Definitions · Synonyms · Objectives · Research Process · Types · Historical Development"),
    ("UNIT 2", "Ayurveda & Evidence",
     "Scientific basis of Tridosha · Sapta Dhatu · Aushadha Kalpana · Pramanas in classical texts"),
    ("UNIT 3", "Evidence Based Medicine",
     "EBM concept · 3 pillars · Levels of Evidence · Relevance in Ayurveda · Scientific Writing"),
    ("UNIT 4", "Research Methodology",
     "Hypothesis · Research Questions · Databases · Study designs · Parametric/Non-parametric · Data Collection"),
    ("UNIT 5", "Statistics (Sankhyiki)",
     "Variables · Central Tendency · Variability · Normal Distribution · SD · SE · Statistical Software"),
    ("UNIT 6", "Research Ethics",
     "Literature Review · Belmont Report · IHEC · IAEC · 3R Principle"),
    ("UNIT 7", "Short Notes",
     "AYUSH Research Protocol · PubMed · DHARA · Standard Error · Variable · Statistical Software"),
]

for unit, title, topics in toc_entries:
    toc_row = Table(
        [[Paragraph(f"<b>{unit}</b>", make_style("TU", fontSize=10, textColor=WHITE,
                    fontName="Helvetica-Bold", alignment=TA_CENTER)),
          Paragraph(f"<b>{title}</b>", toc_unit),
          ],
         ["", Paragraph(topics, make_style("TT", fontSize=8.5, textColor=colors.HexColor("#555555"),
                                            leftIndent=5))]
        ],
        colWidths=[30*mm, W - 36*mm - 32*mm],
        rowHeights=[None, None]
    )
    toc_row.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (0,-1), DARK_GREEN),
        ("TOPPADDING",    (0,0), (-1,-1), 4),
        ("BOTTOMPADDING", (0,0), (-1,-1), 4),
        ("LEFTPADDING",   (0,0), (-1,-1), 6),
        ("RIGHTPADDING",  (0,0), (-1,-1), 6),
        ("VALIGN",        (0,0), (-1,-1), "TOP"),
        ("BOX",           (0,0), (-1,-1), 0.5, GRAY_MED),
        ("BACKGROUND",    (1,0), (1,-1), LIGHT_GREEN),
    ]))
    story.append(toc_row)
    story.append(sp(2))

story.append(pg())

# ══════════════════════════════════════════════════════════════════════════════
# UNIT 1 — RESEARCH & ANUSANDHAN
# ══════════════════════════════════════════════════════════════════════════════
story += unit_banner(1, "Research & Anusandhan", "अनुसंधान — परिभाषा, उद्देश्य, प्रकार, प्रक्रिया")
story.append(sp(2))

story.append(section("1. Etymology / शब्द व्युत्पत्ति"))
story += info_box("Sanskrit: अनु + सन्धान = अनुसंधान", [
    Paragraph("• <b>अनु</b> = पश्चात्, बार-बार, अनुगमन करते हुए", body),
    Paragraph("• <b>सन्धान</b> = खोज करना, जोड़ना (सम् + धा धातु)", body),
    Paragraph("• <b>अर्थ:</b> किसी तथ्य को बार-बार, क्रमबद्ध रूप से खोजने की प्रक्रिया", body),
], bg=LIGHT_SAFFRON, border=SAFFRON)

story += info_box("English: Re + Cherche (Latin/French) = Research", [
    Paragraph("• <b>Re</b> = पुनः, बार-बार | <b>Circare/Cherche</b> = खोजना, चारों ओर घूमना", body),
    Paragraph("• <b>Modern meaning:</b> Systematic, scientific, objective study to discover new knowledge or verify existing knowledge", body),
], bg=LIGHT_BLUE, border=DARK_NAVY)

story.append(section("2. Definitions / परिभाषाएँ"))

story += data_table(
    ["Authority / प्राधिकरण", "Definition / परिभाषा"],
    [
        ["WHO (World Health Organization)",
         "\"Research is a systematic investigation designed to develop or contribute to generalizable knowledge.\""],
        ["Woodey (वुडी)",
         "\"Research is a careful inquiry or examination in seeking facts or principles — a diligent investigation to ascertain something.\""],
        ["Kerlinger",
         "\"Systematic, controlled, empirical and critical investigation of hypothetical propositions about presumed relations among natural phenomena.\""],
        ["Charaka Samhita\n(आयुर्वेद)",
         "\"युक्तिव्यपाश्रयं चापि भवत्यत्र चिकित्सितम्\" — युक्ति (तर्क) के आधार पर किया गया अन्वेषण (च.सू. 11/54)"],
    ],
    col_widths=[55*mm, W - 36*mm - 57*mm],
    hdr_color=DARK_GREEN
)

story.append(section("3. Paryaya / पर्याय (Synonyms)"))
syn_data = [
    ["Sanskrit/Hindi", "English Equivalent"],
    ["अन्वेषण (Anveshana)", "Investigation"],
    ["मार्गणम् (Margana)", "Searching / Tracing"],
    ["शोध (Shodha)", "Purification / Research"],
    ["परीक्षण (Parikshana)", "Testing / Examination"],
    ["विमर्श (Vimarsha)", "Analysis / Discussion"],
    ["तत्त्वान्वेषण", "Search for Truth"],
    ["अनुशीलन (Anushilana)", "Deep Study"],
]
t = Table(syn_data, colWidths=[(W-36*mm)/2]*2)
t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0),  SAFFRON),
    ("TEXTCOLOR",     (0,0), (-1,0),  WHITE),
    ("FONTNAME",      (0,0), (-1,0),  "Helvetica-Bold"),
    ("GRID",          (0,0), (-1,-1), 0.5, GRAY_MED),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, TABLE_ALT]),
]))
story += [t, sp(3)]

story.append(section("4. Objectives / उद्देश्य"))
objectives = [
    "नवीन ज्ञान की प्राप्ति — Discover unknown facts",
    "पूर्व ज्ञान की पुष्टि — Verify existing knowledge (e.g., ancient Ayurvedic principles)",
    "समस्याओं का समाधान — Solve clinical, pharmaceutical, social problems",
    "सिद्धांतों का विकास — Develop new theories",
    "पूर्वानुमान — Prediction of future events/outcomes",
    "गुणवत्ता में सुधार — Improve quality of clinical practice",
    "नीति निर्माण — Evidence for policy & drug regulation",
]
for o in objectives:
    story.append(bullet(o))
story.append(sp(3))

story.append(section("5. Utility in Ayurveda / उपयोगिता"))
utility = [
    "वैज्ञानिक प्रमाणिकता — Scientific validation of Tridosha, Sapta Dhatu etc.",
    "Drug Standardization — Standardization of Ayurvedic formulations (GMP, API)",
    "Clinical Efficacy Proof — Evidence for Panchakarma, Rasayana therapies",
    "Global Acceptance — WHO standards for international recognition",
    "Biopiracy Protection — IPR for traditional knowledge (e.g., Turmeric patent case)",
    "Pharmacovigilance — Monitoring adverse effects of Ayurvedic drugs",
    "Integrative Medicine — Combining Ayurveda with modern medicine",
    "New Drug Discovery — Lead compounds from Ayurvedic plants (e.g., Artemisinin from Qinghao)",
]
for u in utility:
    story.append(bullet(u))
story.append(sp(2))

story.append(section("6. Research Process / अनुसंधान प्रक्रिया (12 Steps)"))

steps = [
    ("1", "Problem Identification\nसमस्या की पहचान", "Clinical observation, literature gap analysis, social need"),
    ("2", "Literature Review\nसाहित्य समीक्षा", "PubMed, DHARA, Classical texts, AYUSH Portal"),
    ("3", "Problem Formulation\nसमस्या परिभाषीकरण", "Clear, concise, researchable statement"),
    ("4", "Hypothesis Formation\nपरिकल्पना निर्माण", "H₀ (Null) and H₁ (Alternative) hypothesis"),
    ("5", "Research Design\nअनुसंधान डिजाइन", "RCT, Cohort, Case-Control, Cross-sectional"),
    ("6", "Sampling\nनमूना चयन", "Random, Stratified, Purposive sampling"),
    ("7", "Data Collection\nडेटा संग्रहण", "Questionnaire, Interview, Observation, Lab tests"),
    ("8", "Data Processing\nडेटा प्रसंस्करण", "Coding, Entry, Cleaning, Tabulation"),
    ("9", "Statistical Analysis\nसांख्यिकीय विश्लेषण", "t-test, Chi-square, ANOVA, SD, SE, p-value"),
    ("10", "Interpretation\nव्याख्या", "Compare with existing literature"),
    ("11", "Conclusion\nनिष्कर्ष", "Answer the research question, accept/reject H₀"),
    ("12", "Publication\nप्रकाशन", "IMRAD format, peer review, journal submission"),
]
t = Table(
    [[Paragraph(f"<b>{s}</b>", make_style("StepN", fontSize=11, textColor=WHITE,
                fontName="Helvetica-Bold", alignment=TA_CENTER)),
      Paragraph(f"<b>{n}</b>", make_style("StepT", fontSize=9, textColor=DARK_GREEN,
                fontName="Helvetica-Bold")),
      Paragraph(d, make_style("StepD", fontSize=8.5, leading=12))]
     for s, n, d in steps],
    colWidths=[12*mm, 58*mm, W - 36*mm - 72*mm],
)
t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (0,-1), SAFFRON),
    ("BACKGROUND",    (1,0), (-1,-1), LIGHT_SAFFRON),
    ("ROWBACKGROUNDS",(1,0), (-1,-1), [LIGHT_SAFFRON, WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.5, GRAY_MED),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ("RIGHTPADDING",  (0,0), (-1,-1), 6),
]))
story += [t, sp(3)]

story.append(section("7. Types of Research / अनुसंधान के प्रकार"))
story += data_table(
    ["Basis / आधार", "Type", "Description"],
    [
        ["उद्देश्य\n(Objective)", "Pure/Basic Research", "नया ज्ञान, तत्काल व्यावहारिक लाभ नहीं"],
        ["", "Applied Research", "व्यावहारिक समस्याओं का समाधान"],
        ["", "Action Research", "तात्कालिक, स्थल पर समाधान"],
        ["विधि\n(Method)", "Descriptive", "जैसा है वैसा वर्णन, Survey"],
        ["", "Experimental", "Cause-effect, RCT"],
        ["", "Historical", "Past events study"],
        ["प्रकृति\n(Nature)", "Quantitative", "Numerical data, statistics"],
        ["", "Qualitative", "Ideas, experiences, behavior"],
        ["काल\n(Time)", "Longitudinal", "Same group, long period"],
        ["", "Cross-sectional", "Different groups, one time point"],
        ["दिशा\n(Direction)", "Prospective", "Future-oriented"],
        ["", "Retrospective", "Past-looking"],
    ],
    col_widths=[30*mm, 45*mm, W - 36*mm - 77*mm],
)

story.append(section("8. Historical Development / ऐतिहासिक विकास"))
story += data_table(
    ["Period / काल", "Development / विकास"],
    [
        ["Vedic Period (वैदिक काल)", "Atharvaveda में रोग-औषध वर्णन"],
        ["Classical Period (600 BCE-700 CE)", "Charaka, Sushruta, Vagbhata — systematic Anusandhan"],
        ["Medieval Period", "Arab-India knowledge exchange"],
        ["British Period", "Modern medicine introduced; indigenous systems suppressed"],
        ["Post-Independence (1947+)", "CCRAS (1969), CSIR, NIA establishment"],
        ["Modern Era (2014+)", "Ministry of AYUSH, DHARA, CTRI, AYUSH Research Portal"],
    ],
    col_widths=[52*mm, W - 36*mm - 54*mm],
)
story.append(pg())

# ══════════════════════════════════════════════════════════════════════════════
# UNIT 2 — AYURVEDA & EVIDENCE
# ══════════════════════════════════════════════════════════════════════════════
story += unit_banner(2, "Ayurveda & Evidence", "आयुर्वेद के प्रमाण एवं वैज्ञानिकता")

story.append(section("9. Pramanas / प्रमाण — The Four Instruments of Knowledge"))
story += info_box("चरक संहिता (सूत्र 11/17) — Four Pramanas", [
    Paragraph("<b>1. Aaptopadesha (आप्तोपदेश)</b> — Expert testimony, classical texts → Modern: Expert Opinion, Evidence-based Guidelines", body),
    Paragraph("<b>2. Pratyaksha (प्रत्यक्ष)</b> — Direct sensory observation → Modern: Clinical Examination, Lab findings", body),
    Paragraph("<b>3. Anumana (अनुमान)</b> — Logical inference → Modern: Statistical Inference, Hypothesis Testing", body),
    Paragraph("<b>4. Yukti (युक्ति)</b> — Reasoned synthesis of multiple factors → Modern: Systematic Review, Meta-analysis", body),
], bg=LIGHT_SAFFRON, border=SAFFRON)

story += data_table(
    ["Pramana", "Ayurvedic Role", "Modern Research Equivalent", "Example"],
    [
        ["Aaptopadesha\n(आप्तोपदेश)", "Classical text authority", "Literature Review, Expert Guidelines",
         "Ashwagandha Rasayana → Modern Adaptogen studies"],
        ["Pratyaksha\n(प्रत्यक्ष)", "Direct observation, Ashtavidha Pariksha", "Clinical Observation, Lab Results",
         "Haridra yellow color → Curcumin identification"],
        ["Anumana\n(अनुमान)", "Inference from Nidana to Samprapti", "Statistical Inference, p-value",
         "Smoking → Cancer risk (Epidemiological Study)"],
        ["Yukti\n(युक्ति)", "Multi-factor clinical reasoning", "Systematic Review, Meta-analysis",
         "Panchakarma components — combined effect studies"],
    ],
    col_widths=[30*mm, 40*mm, 44*mm, W - 36*mm - 116*mm],
)

story.append(section("10. Scientific Basis of Ayurvedic Principles"))
story += data_table(
    ["Ayurvedic Concept", "Scientific Equivalent"],
    [
        ["Tridosha (Vata-Pitta-Kapha)", "Neuro-endocrine-immune axis; Nervous / Metabolic / Structural systems"],
        ["Sapta Dhatu (सप्त धातु)", "Plasma, RBCs, Muscle, Fat, Bone, Nervous tissue, Reproductive cells"],
        ["Agni (अग्नि)", "Digestive enzymes, Metabolic rate (Basal Metabolic Rate)"],
        ["Tri-Mala (त्रिमल)", "Excretory products: Urine, Stool, Sweat"],
        ["Pancha Bhuta (पंचभूत)", "States of matter: Solid, Liquid, Gas, Energy, Space"],
        ["Rasa-Guna-Virya-Vipaka-Prabhava", "Pharmacodynamics & Pharmacokinetics"],
        ["Ashtavidha Pariksha", "Systematic Clinical Examination Protocol"],
    ],
    col_widths=[60*mm, W - 36*mm - 62*mm],
    hdr_color=DARK_GREEN,
)

story.append(section("11. Scientific Validity of Aushadha Kalpana"))
story += data_table(
    ["Formulation", "Scientific Rationale"],
    [
        ["Kwatha (क्वाथ/Decoction)", "Maximum extraction of water-soluble active principles"],
        ["Arishta-Asava (Fermented)", "Natural alcohol as preservative + enhanced bioavailability"],
        ["Bhasma (भस्म)", "Nano-particulate metals → higher bioavailability, reduced toxicity"],
        ["Ghrita (घृत)", "Lipid-based → fat-soluble actives + blood-brain barrier crossing"],
        ["Churna (चूर्ण)", "Dry, stable powder form, easy standardization"],
        ["Vati (वटी)", "Compressed tablet — modern equivalent"],
    ],
    col_widths=[52*mm, W - 36*mm - 54*mm],
)
story.append(pg())

# ══════════════════════════════════════════════════════════════════════════════
# UNIT 3 — EVIDENCE BASED MEDICINE
# ══════════════════════════════════════════════════════════════════════════════
story += unit_banner(3, "Evidence Based Medicine (EBM)", "साक्ष्य आधारित चिकित्सा")

story += info_box("Definition — David Sackett, 1996", [
    Paragraph("\"EBM is the <b>conscientious, explicit and judicious use</b> of current best evidence in making decisions about the care of individual patients.\"", body),
    Paragraph("हिन्दी: व्यक्तिगत रोगी की देखभाल में वर्तमान सर्वोत्तम प्रमाण का सचेतन, स्पष्ट एवं विवेकपूर्ण उपयोग।", body_hindi),
], bg=LIGHT_BLUE, border=DARK_NAVY)

story.append(section("12. Three Pillars of EBM"))
pillars = [
    ["Research Evidence\n(शोध प्रमाण)", "Best available clinical research: RCTs, Systematic Reviews, Meta-analyses"],
    ["Clinical Expertise\n(नैदानिक विशेषज्ञता)", "Physician's skill, experience, and clinical judgment"],
    ["Patient Values\n(रोगी मूल्य)", "Patient's preferences, values, concerns, and expectations"],
]
t = Table(pillars, colWidths=[(W-36*mm)/2, (W-36*mm)/2])
t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (0,-1), DARK_NAVY),
    ("BACKGROUND",    (1,0), (1,-1), LIGHT_BLUE),
    ("TEXTCOLOR",     (0,0), (0,-1), WHITE),
    ("FONTNAME",      (0,0), (0,-1), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 10),
    ("GRID",          (0,0), (-1,-1), 1, WHITE),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
    ("TOPPADDING",    (0,0), (-1,-1), 10),
    ("BOTTOMPADDING", (0,0), (-1,-1), 10),
    ("LEFTPADDING",   (0,0), (-1,-1), 10),
    ("ALIGN",         (0,0), (0,-1), "CENTER"),
]))
story += [t, sp(3)]

story.append(section("13. Hierarchy of Evidence (Levels)"))
levels = [
    ("Ia", "Systematic Review of RCTs", DARK_GREEN, WHITE, "Cochrane Reviews"),
    ("Ib", "Individual RCT", DARK_GREEN, WHITE, "Clinical Trial"),
    ("IIa", "Controlled Trial (no randomization)", colors.HexColor("#2E7D32"), WHITE, "Quasi-experimental"),
    ("IIb", "Cohort Study", colors.HexColor("#388E3C"), WHITE, "Follow-up Study"),
    ("III", "Case-Control Study", SAFFRON, WHITE, "Observational"),
    ("IV",  "Case Series / Reports", colors.HexColor("#F57C00"), WHITE, "Clinical Cases"),
    ("V",   "Expert Opinion / Consensus", MAROON, WHITE, "Guidelines, Textbooks"),
]
ev_data = [["Level", "Study Type", "Example"]]
for lvl, typ, bg, fg, eg in levels:
    ev_data.append([lvl, typ, eg])
ev_t = Table(ev_data, colWidths=[20*mm, 90*mm, W-36*mm-112*mm])
ev_style = [
    ("BACKGROUND", (0,0), (-1,0), TABLE_HEADER),
    ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
    ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
    ("GRID",       (0,0), (-1,-1), 0.5, GRAY_MED),
    ("TOPPADDING", (0,0), (-1,-1), 5),
    ("BOTTOMPADDING",(0,0),(-1,-1),5),
    ("LEFTPADDING",(0,0),(-1,-1),6),
    ("ALIGN",      (0,1),(0,-1),"CENTER"),
]
for i, (_, _, bg, fg, _) in enumerate(levels, 1):
    ev_style.append(("BACKGROUND", (0,i), (0,i), bg))
    ev_style.append(("TEXTCOLOR",  (0,i), (0,i), fg))
    ev_style.append(("FONTNAME",   (0,i), (0,i), "Helvetica-Bold"))
ev_t.setStyle(TableStyle(ev_style))
story += [ev_t, sp(3)]

story.append(section("14. EBM Relevance in Ayurveda"))
ebm_points = [
    "RCT-based proof for Ayurvedic treatments (e.g., Ashwagandha for stress, Guggulu for lipids)",
    "Systematic Reviews & Meta-analyses on Ayurvedic herbs on PubMed/Cochrane",
    "Pharmacovigilance — monitoring adverse effects of classical metallic preparations (Bhasma)",
    "Herb-Drug Interaction studies (e.g., Piperine + other drugs)",
    "CTRI registration mandatory for all Ayurvedic clinical trials in India",
    "Reverse Pharmacology — clinical observation first, then preclinical validation",
    "WHO Traditional Medicine Strategy 2019-2025 supports EBM in traditional systems",
]
for pt in ebm_points:
    story.append(bullet(pt))

story.append(section("15. Scientific Writing (IMRAD Format)"))
story += data_table(
    ["Section", "Content"],
    [
        ["Introduction (I)", "Background, Research gap, Aim, Hypothesis"],
        ["Methods (M)", "Study design, Sample, Intervention, Data collection, Statistics"],
        ["Results (R)", "Tables, Graphs, Statistical findings (p-value, CI, SD)"],
        ["And Discussion (AD)", "Interpretation, Comparison with existing literature, Limitations"],
        ["Abstract", "Structured: Background | Methods | Results | Conclusion (250-300 words)"],
        ["References", "Vancouver (numbered) or APA style"],
    ],
    col_widths=[42*mm, W - 36*mm - 44*mm],
)
story.append(pg())

# ══════════════════════════════════════════════════════════════════════════════
# UNIT 4 — RESEARCH METHODOLOGY
# ══════════════════════════════════════════════════════════════════════════════
story += unit_banner(4, "Research Methodology", "अनुसंधान पद्धति — Hypothesis · Design · Data Collection")

story.append(section("16. Hypothesis (परिकल्पना)"))
story += info_box("Definition", [
    Paragraph("A hypothesis is a <b>tentative statement</b> proposing a relationship between two or more variables, which can be tested through research.", body),
    Paragraph("परिकल्पना — एक अनुमानित कथन जो दो चरों के बीच संबंध प्रस्तावित करता है और परीक्षण द्वारा सत्यापित किया जा सकता है।", body_hindi),
], bg=LIGHT_BLUE, border=DARK_NAVY)

story += data_table(
    ["Type", "Statement", "Example"],
    [
        ["Null Hypothesis (H₀)\nशून्य परिकल्पना", "No significant difference/relationship", "\"Ashwagandha has NO effect on stress levels\""],
        ["Alternative (H₁)\nवैकल्पिक", "Significant difference exists", "\"Ashwagandha REDUCES stress levels\""],
        ["Directional (एकदिशीय)", "Specifies direction of effect", "\"Triphala REDUCES blood glucose\""],
        ["Non-directional (द्विदिशीय)", "Effect exists but direction not specified", "\"Triphala AFFECTS blood glucose\""],
    ],
    col_widths=[42*mm, 48*mm, W - 36*mm - 92*mm],
)

story.append(note("Type I Error (α): Reject H₀ when it is true (False Positive). Type II Error (β): Accept H₀ when it is false (False Negative)."))
story.append(sp(3))

story.append(section("17. Research Questions vs Objectives"))
story += data_table(
    ["Basis", "Research Question", "Research Objective"],
    [
        ["Form/रूप", "Interrogative (प्रश्नवाचक)", "Declarative statement (कथन)"],
        ["Grammar", "Ends with '?'", "Starts with action verb: Assess, Evaluate, Determine"],
        ["Example", "\"Does Triphala reduce blood sugar?\"", "\"To evaluate effect of Triphala on blood glucose in T2DM\""],
        ["Purpose", "Define research direction", "Set measurable, achievable goals"],
        ["Number", "Usually fewer", "Primary + multiple secondary objectives"],
    ],
    col_widths=[30*mm, 62*mm, W - 36*mm - 94*mm],
)

story.append(section("18. Research Databases & Portals"))
story += data_table(
    ["Database", "Type / Coverage", "Key Feature"],
    [
        ["PubMed / MEDLINE", "Biomedical (35M+ citations)", "MeSH terms, Free access, PMC full texts"],
        ["DHARA", "Ayurveda-specific (10K+ articles)", "Ministry of AYUSH funded, journals not in PubMed"],
        ["AYUSH Portal", "AYUSH research & pharmacopoeia", "CTRI linked, funded projects, API standards"],
        ["Cochrane Library", "Systematic Reviews & RCTs", "Gold standard for EBM"],
        ["ABIM", "Ayurvedic Bibliography (50K+)", "Indian traditional medicine citations"],
        ["Shodhganga", "Indian PG/PhD theses", "Grey literature database"],
        ["CTRI", "Clinical Trial Registry India", "Mandatory registration for Indian trials"],
        ["Scopus / Web of Science", "Multidisciplinary", "Impact factor, citation tracking"],
        ["Google Scholar", "All disciplines, free", "Broad search, grey literature"],
    ],
    col_widths=[38*mm, 52*mm, W - 36*mm - 92*mm],
)

story.append(section("19. Study Designs — Longitudinal vs Cross-Sectional"))
story += data_table(
    ["Feature", "Longitudinal Study", "Cross-Sectional Study"],
    [
        ["Definition", "Same group followed over long period", "Different groups studied at one time point"],
        ["Time", "Months to years", "Days to weeks"],
        ["Advantage", "Cause-effect relationship, individual change", "Cheap, quick, large population"],
        ["Disadvantage", "Expensive, dropout (attrition bias)", "Cannot establish temporal relationship"],
        ["Example", "10-year obesity follow-up in children", "BMI-Diabetes survey at one point"],
        ["Use", "Cohort studies, Development research", "Prevalence studies, Screening"],
    ],
    col_widths=[32*mm, 60*mm, W - 36*mm - 94*mm],
)

story.append(section("20. Parametric vs Non-Parametric Tests"))
story += data_table(
    ["Feature", "Parametric", "Non-Parametric"],
    [
        ["Assumption", "Normal distribution, equal variance", "No distribution assumption"],
        ["Data type", "Continuous (Interval/Ratio)", "Ordinal, Nominal, Non-normal continuous"],
        ["Sample size", "Larger (n ≥ 30)", "Can be small"],
        ["Power", "Higher", "~95% of parametric"],
        ["t-test equivalent", "Independent t-test", "Mann-Whitney U Test"],
        ["Paired test", "Paired t-test", "Wilcoxon Signed Rank Test"],
        ["3+ groups", "ANOVA", "Kruskal-Wallis Test"],
        ["Correlation", "Pearson (r)", "Spearman Rank (ρ)"],
        ["Categorical", "—", "Chi-square (χ²), Fisher's Exact Test"],
    ],
    col_widths=[38*mm, 52*mm, W - 36*mm - 92*mm],
)

story.append(section("21. Probability & Test of Significance"))
story += info_box("p-value Interpretation", [
    Paragraph("• <b>p &lt; 0.05</b> → Statistically Significant — Reject H₀", body),
    Paragraph("• <b>p &lt; 0.01</b> → Highly Significant", body),
    Paragraph("• <b>p &lt; 0.001</b> → Very Highly Significant", body),
    Paragraph("• <b>p ≥ 0.05</b> → Not Significant — Accept H₀", body),
    Paragraph("• <b>95% CI</b> = Mean ± 1.96 × SE (does not cross 0 → significant)", body),
], bg=LIGHT_GREEN, border=DARK_GREEN)

story.append(section("22. Data Collection & Questionnaire Types"))
story += data_table(
    ["Type", "Description", "Data Generated"],
    [
        ["Structured Questionnaire", "Fixed response options (MCQ, Yes/No)", "Quantitative"],
        ["Unstructured Questionnaire", "Open-ended questions, free response", "Qualitative"],
        ["Semi-structured", "Mix of closed and open questions", "Mixed"],
        ["Likert Scale", "1=Strongly Disagree to 5=Strongly Agree", "Ordinal/Quantitative"],
        ["Dichotomous", "Only two options: Yes/No, True/False", "Nominal"],
        ["Rating Scale", "Numerical rating (0-10 pain scale)", "Ordinal"],
        ["Interview Schedule", "Interviewer reads and records responses", "Primary data"],
    ],
    col_widths=[45*mm, 68*mm, W - 36*mm - 115*mm],
)
story.append(pg())

# ══════════════════════════════════════════════════════════════════════════════
# UNIT 5 — STATISTICS
# ══════════════════════════════════════════════════════════════════════════════
story += unit_banner(5, "Statistics / सांख्यिकी", "Sankhyiki — Central Tendency · Variability · Normal Distribution")

story.append(section("23. Introduction to Statistics"))
story += info_box("Definition", [
    Paragraph("\"<b>Statistics</b> is the science of <b>collecting, organizing, analyzing, interpreting, and presenting data.</b>\"", body),
    Paragraph("सांख्यिकी — आँकड़ों का संग्रह, व्यवस्थापन, विश्लेषण, व्याख्या एवं प्रस्तुतीकरण का विज्ञान।", body_hindi),
], bg=LIGHT_BLUE, border=DARK_NAVY)

story.append(section("24. Variable (चर)"))
story += data_table(
    ["Type", "Sub-type", "Example"],
    [
        ["Quantitative\n(मात्रात्मक)", "Continuous", "Height, Weight, BP, Temperature"],
        ["", "Discrete", "No. of children, Pulse rate (whole numbers)"],
        ["Qualitative\n(गुणात्मक)", "Nominal", "Blood group (A/B/AB/O), Gender"],
        ["", "Ordinal", "Severity (Mild/Moderate/Severe)"],
        ["Role-based", "Independent Variable", "Treatment / Intervention given"],
        ["", "Dependent Variable", "Outcome measured (BP, glucose level)"],
        ["", "Confounding Variable", "Extra factor affecting outcome"],
    ],
    col_widths=[38*mm, 38*mm, W - 36*mm - 78*mm],
)

story.append(section("25. Measures of Central Tendency"))

ct_data = [
    ["Measure", "Formula", "Best Used When", "Limitation"],
    ["Mean (माध्य)\nArithmetic Average",
     "x̄ = Σx / n",
     "Normal distribution, Continuous data",
     "Affected by outliers (extreme values)"],
    ["Median (मध्यिका)\nMiddle Value",
     "Middle value of ordered data\n(n+1)/2 th term",
     "Skewed data, Ordinal data",
     "Does not use all values"],
    ["Mode (बहुलक)\nMost Frequent",
     "Most frequently occurring value",
     "Categorical data, Bimodal distributions",
     "May not exist or may be multiple"],
]
ct_t = Table(ct_data, colWidths=[40*mm, 42*mm, 52*mm, W-36*mm-136*mm])
ct_style = [
    ("BACKGROUND",    (0,0), (-1,0), TABLE_HEADER),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("GRID",          (0,0), (-1,-1), 0.5, GRAY_MED),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ("ROWBACKGROUNDS",(0,1),(-1,-1),[LIGHT_BLUE, TABLE_ALT, WHITE]),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
]
ct_t.setStyle(TableStyle(ct_style))
story += [ct_t, sp(3)]

story += info_box("Numerical Example (Mean, Median, Mode)", [
    Paragraph("Weights of 5 patients: <b>60, 65, 65, 70, 75 kg</b>", body),
    Paragraph("• <b>Mean</b> = (60+65+65+70+75)/5 = 335/5 = <b>67 kg</b>", body),
    Paragraph("• <b>Median</b> = Middle value of ordered set = <b>65 kg</b> (3rd of 5)", body),
    Paragraph("• <b>Mode</b> = Most frequent = <b>65 kg</b> (appears twice)", body),
    Paragraph("Skew Rule: Normal: Mean=Median=Mode | +ve Skew: Mode&lt;Median&lt;Mean | -ve Skew: Mean&lt;Median&lt;Mode", note_style),
], bg=PALE_GOLD, border=GOLD)

story.append(section("26. Measures of Variability (विभिन्नता के मापक)"))

story += info_box("Standard Deviation (SD) — Formula & Example", [
    Paragraph("<b>Formula:</b>  σ = √[ Σ(x − x̄)² / n ]", formula_style),
    Paragraph("<b>Example:</b> Data: 60, 65, 70, 55, 75 | Mean (x̄) = 65", body),
    Paragraph("Deviations: -5, 0, +5, -10, +10 | Squared: 25, 0, 25, 100, 100", body),
    Paragraph("Sum of squares = 250 | Variance = 250/5 = 50 | <b>SD = √50 = 7.07</b>", body),
    Paragraph("Small SD → data clustered near mean (homogeneous). Large SD → data spread out.", note_style),
], bg=LIGHT_GREEN, border=DARK_GREEN)

story += info_box("Standard Error (SE) — Formula & Interpretation", [
    Paragraph("<b>Formula:</b>  SE = SD / √n", formula_style),
    Paragraph("• SE measures variability of <b>sample means</b> around population mean", body),
    Paragraph("• As n increases, SE decreases → more precise estimate", body),
    Paragraph("• <b>95% CI</b> = Mean ± 1.96 × SE", body),
    Paragraph("• <b>99% CI</b> = Mean ± 2.58 × SE", body),
], bg=LIGHT_SAFFRON, border=SAFFRON)

story += data_table(
    ["Feature", "Standard Deviation (SD)", "Standard Error (SE)"],
    [
        ["Measures", "Variability of individual observations", "Variability of sample means"],
        ["Formula", "σ = √[Σ(x−x̄)²/n]", "SE = SD/√n"],
        ["Effect of ↑n", "Relatively stable", "Decreases (more precise)"],
        ["Use", "Describe data spread", "Estimate population mean, CI, Hypothesis test"],
        ["Graph", "Width of distribution", "Error bars on mean plots"],
    ],
    col_widths=[38*mm, 62*mm, W - 36*mm - 102*mm],
)

story.append(section("27. Normal Distribution (सामान्य वितरण)"))
story += info_box("Key Properties of Normal Distribution", [
    Paragraph("• <b>Bell-shaped</b>, symmetric, unimodal curve", body),
    Paragraph("• <b>Mean = Median = Mode</b> (all at center μ)", body),
    Paragraph("• <b>Empirical Rule (68-95-99.7):</b>", body),
    Paragraph("    68.2% data lies within μ ± 1σ", body),
    Paragraph("    95.4% data lies within μ ± 2σ", body),
    Paragraph("    99.7% data lies within μ ± 3σ", body),
    Paragraph("• Total area under curve = 1 (probability = 100%)", body),
    Paragraph("• Asymptotic — never touches x-axis", body),
    Paragraph("• Completely described by μ (mean) and σ (SD)", body),
    Paragraph("• Z-score formula: Z = (x − μ) / σ  →  used to find probability from Z-table", formula_style),
], bg=LIGHT_BLUE, border=DARK_NAVY)

story.append(section("28. Statistical Software"))
story += data_table(
    ["Software", "Developer / Type", "Primary Use"],
    [
        ["SPSS", "IBM, Menu-driven (paid)", "Clinical research, Social sciences, easy for beginners"],
        ["R", "Open-source, Free", "Advanced statistics, Bioinformatics, Visualization"],
        ["SAS", "SAS Institute (paid)", "Pharmaceutical industry, FDA regulatory submissions"],
        ["Stata", "StataCorp (paid)", "Epidemiology, Panel data, Public health research"],
        ["GraphPad Prism", "Commercial", "Biomedical research, beautiful graphs + statistics"],
        ["EpiInfo", "CDC, Free", "Epidemiology, Disease surveillance, outbreak investigation"],
        ["MedCalc", "Commercial", "Diagnostic test evaluation, ROC curves"],
        ["Python (SciPy/Pandas)", "Open-source", "Data science, Machine Learning, Large datasets"],
        ["MS Excel", "Microsoft (paid)", "Basic statistics, preliminary data exploration"],
    ],
    col_widths=[40*mm, 48*mm, W - 36*mm - 90*mm],
)
story.append(pg())

# ══════════════════════════════════════════════════════════════════════════════
# UNIT 6 — RESEARCH ETHICS
# ══════════════════════════════════════════════════════════════════════════════
story += unit_banner(6, "Research Ethics / अनुसंधान नैतिकता", "Literature Review · IHEC · IAEC · Ethical Principles")

story.append(section("29. Literature Review (साहित्य समीक्षा)"))
story += info_box("Definition", [
    Paragraph("Literature Review is a <b>systematic, critical appraisal</b> of previously published research on a specific topic.", body),
    Paragraph("उद्देश्य: Research gap की पहचान | Duplication से बचाव | Hypothesis निर्माण | Background section तैयार करना", body_hindi),
], bg=LIGHT_GREEN, border=DARK_GREEN)

story += data_table(
    ["Type", "Description"],
    [
        ["Narrative Review", "General descriptive overview of a topic — no systematic protocol"],
        ["Systematic Review", "PRISMA guidelines, structured, reproducible search strategy"],
        ["Meta-analysis", "Quantitative statistical synthesis of multiple studies"],
        ["Scoping Review", "Broad mapping of a field's extent and nature"],
    ],
    col_widths=[48*mm, W - 36*mm - 50*mm],
    hdr_color=DARK_GREEN,
)

story.append(subsection("Sources for Ayurveda Literature Review:"))
lr_sources = [
    "Classical texts: Charaka Samhita, Sushruta Samhita, Ashtanga Hridayam, Ashtanga Sangraha",
    "PubMed / MEDLINE — international biomedical database",
    "DHARA — Ayurveda-specific digital helpline",
    "AYUSH Research Portal — government-funded research",
    "Shodhganga — Indian PG/PhD thesis repository (grey literature)",
    "ABIM — Ayurvedic Bibliography of Indian Medicine",
    "Cochrane Library — Systematic Reviews and RCTs",
    "Google Scholar — broad, multidisciplinary, free access",
]
for src in lr_sources:
    story.append(bullet(src))
story.append(sp(3))

story.append(section("30. Ethical Principles in Research (Belmont Report, 1979)"))
story += data_table(
    ["Principle", "Meaning", "Application in Research"],
    [
        ["Respect for Persons\n(व्यक्ति का सम्मान)", "Autonomy, right to self-determination", "Informed Consent — written, voluntary, before participation"],
        ["Beneficence\n(हितकारिता)", "Maximize benefits, minimize harm", "Risk-benefit analysis before and during study"],
        ["Justice\n(न्याय)", "Fair distribution of benefits and burdens", "Equal treatment; no exploitation of vulnerable groups"],
    ],
    col_widths=[40*mm, 46*mm, W - 36*mm - 88*mm],
    hdr_color=MAROON,
)

story += info_box("Ayurvedic Ethical Principles", [
    Paragraph("• <b>\"आतुरस्य हितं वाच्यम्\"</b> — Speak for the benefit of the patient (Charaka Sutra 8/13)", body),
    Paragraph("• <b>\"न हिंसात् सर्वभूतानाम्\"</b> — Do not harm any living being", body),
    Paragraph("• <b>Charaka's Physician Oath</b> — Dedication, compassion, and patient-first approach", body),
], bg=LIGHT_SAFFRON, border=SAFFRON)

story.append(section("31. IHEC — Institutional Human Ethics Committee"))
story += info_box("Legal Basis", [
    Paragraph("• <b>ICMR National Ethical Guidelines for Biomedical Research, 2017</b>", body),
    Paragraph("• <b>Helsinki Declaration</b> (1964, last revised 2013)", body),
    Paragraph("• <b>CDSCO Schedule Y</b> — Indian drug regulatory framework", body),
    Paragraph("• ICH-GCP (Good Clinical Practice) E6 guidelines", body),
], bg=LIGHT_BLUE, border=DARK_NAVY)

story += data_table(
    ["Responsibility", "Details"],
    [
        ["Protocol Review", "Review scientific and ethical soundness of research proposal before approval"],
        ["Informed Consent Review", "Ensure consent form is complete, understandable, and voluntary"],
        ["Risk-Benefit Assessment", "Evaluate risks vs potential benefits for participants"],
        ["Vulnerable Population Protection", "Special safeguards for children, pregnant women, prisoners, mentally ill"],
        ["Ongoing Monitoring", "Continuous review of running studies; interim analyses"],
        ["Adverse Event Reporting", "Review SAE (Serious Adverse Events) reports"],
        ["Privacy & Confidentiality", "Ensure participant data is protected and anonymized"],
        ["Research Misconduct", "Investigate plagiarism, data fabrication/falsification"],
    ],
    col_widths=[52*mm, W - 36*mm - 54*mm],
    hdr_color=DARK_NAVY,
)

story.append(subsection("IHEC Composition (ICMR, minimum 7 members):"))
ihec_comp = [
    "Chairperson — from outside the institution",
    "Basic Medical Scientist(s)",
    "Clinician(s)",
    "Legal Expert / Jurist",
    "Social Scientist / Philosopher / Ethicist",
    "Layperson (Community representative)",
    "Nominee of Ministry of Health & Family Welfare (if applicable)",
]
for c in ihec_comp:
    story.append(bullet(c))
story.append(sp(3))

story.append(section("32. IAEC — Institutional Animal Ethics Committee"))
story += info_box("Legal Basis", [
    Paragraph("• <b>CPCSEA</b> — Committee for the Purpose of Control and Supervision of Experiments on Animals", body),
    Paragraph("• <b>Prevention of Cruelty to Animals Act, 1960</b>", body),
    Paragraph("• <b>Breeding of and Experiments on Animals Rules, 1998</b>", body),
], bg=LIGHT_MAROON, border=MAROON)

story.append(subsection("The 3R Principle (Russell & Burch, 1959):"))
rr_data = [
    ["3R", "Full Name", "Meaning", "Example"],
    ["Replacement\n(प्रतिस्थापन)", "Replace animals", "Use in vitro, computer models wherever possible", "Cell lines instead of live animals for cytotoxicity"],
    ["Reduction\n(कमी)", "Reduce numbers", "Use minimum animals while getting valid results", "Statistical power calculation for sample size"],
    ["Refinement\n(परिष्करण)", "Refine methods", "Minimize pain, distress, suffering", "Use anesthesia, humane endpoints"],
]
rr_t = Table(rr_data, colWidths=[28*mm, 38*mm, 54*mm, W-36*mm-122*mm])
rr_t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), MAROON),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("BACKGROUND",    (0,1), (0,1), colors.HexColor("#C62828")),
    ("BACKGROUND",    (0,2), (0,2), colors.HexColor("#AD1457")),
    ("BACKGROUND",    (0,3), (0,3), colors.HexColor("#6A1B9A")),
    ("TEXTCOLOR",     (0,1), (0,-1), WHITE),
    ("FONTNAME",      (0,1), (0,-1), "Helvetica-Bold"),
    ("ALIGN",         (0,1), (0,-1), "CENTER"),
    ("GRID",          (0,0), (-1,-1), 0.5, GRAY_MED),
    ("TOPPADDING",    (0,0), (-1,-1), 6),
    ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ("ROWBACKGROUNDS",(1,1),(-1,-1),[LIGHT_MAROON, WHITE, TABLE_ALT]),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
]))
story += [rr_t, sp(3)]
story.append(pg())

# ══════════════════════════════════════════════════════════════════════════════
# UNIT 7 — SHORT NOTES
# ══════════════════════════════════════════════════════════════════════════════
story += unit_banner(7, "Short Notes", "AYUSH Protocol · PubMed · DHARA · Key Concepts")

story.append(section("33. AYUSH Research Protocol"))
story += info_box("About AYUSH", [
    Paragraph("<b>AYUSH</b> = Ayurveda, Yoga &amp; Naturopathy, Unani, Siddha, Homeopathy", body),
    Paragraph("<b>Ministry of AYUSH</b> established: November 2014, Government of India", body),
], bg=LIGHT_SAFFRON, border=SAFFRON)

ayush_points = [
    "CTRI (Clinical Trials Registry India) registration mandatory for all clinical trials",
    "GCP (Good Clinical Practice) guidelines must be followed",
    "CONSORT reporting standards for RCTs",
    "API (Ayurvedic Pharmacopoeia of India) — standardization reference",
    "CCRAS (Central Council for Research in Ayurvedic Sciences) — primary research council",
    "Reverse Pharmacology approach — validate traditional use with modern science",
    "Classical text reference mandatory in research protocol",
    "Prakriti-based (body constitution) patient classification in trial design",
    "Seasonal variation must be documented in Rasayana studies",
    "IND Application required for novel Ayurvedic formulations",
]
for pt in ayush_points:
    story.append(bullet(pt))
story.append(sp(3))

story.append(section("34. PubMed"))
story += data_table(
    ["Feature", "Details"],
    [
        ["Full Name", "PubMed / MEDLINE — National Library of Medicine (NLM), NIH, USA"],
        ["Established", "1996 (web-based); MEDLINE since 1966"],
        ["Coverage", "35+ million citations; 5,000+ journals; 80+ countries"],
        ["Access", "Free at pubmed.ncbi.nlm.nih.gov"],
        ["Search Tool", "MeSH (Medical Subject Headings) — controlled vocabulary"],
        ["Boolean Operators", "AND, OR, NOT; Field tags: [MeSH], [tiab], [au], [dp]"],
        ["Full Texts", "PMC (PubMed Central) — free full texts available"],
        ["Filters", "Date range, Article type (RCT, SR), Species, Language, Age group"],
        ["PICO Tool", "Built-in tool for structured clinical question search"],
        ["Ayurveda Limitation", "Only ~240 Ayurveda articles/year indexed → use DHARA also"],
    ],
    col_widths=[42*mm, W - 36*mm - 44*mm],
    hdr_color=colors.HexColor("#1565C0"),
)

story.append(section("35. DHARA"))
story += data_table(
    ["Feature", "Details"],
    [
        ["Full Name", "Digital Helpline for Ayurveda Research Articles"],
        ["URL", "www.dharaonline.org"],
        ["Established", "2012 (described in J Ayurveda Integr Med 2012)"],
        ["Funding", "Ministry of AYUSH, Government of India"],
        ["Coverage", "10,000+ articles; 4,000+ full texts; 4,476 journals"],
        ["Unique Feature", "Includes Ayurveda journals NOT indexed in PubMed or international databases"],
        ["Indian Languages", "Includes research published in Hindi and regional languages"],
        ["Comparison", "PubMed: ~240 Ayurveda articles/year | DHARA: 4,000+ Ayurveda specific"],
        ["Importance", "Essential for comprehensive Ayurveda literature review — PubMed alone is insufficient"],
    ],
    col_widths=[42*mm, W - 36*mm - 44*mm],
    hdr_color=DARK_GREEN,
)

story.append(section("36. Quick Formulas Reference"))
formula_data = [
    ["Formula", "Expression", "Use"],
    ["Arithmetic Mean", "x̄ = Σx / n", "Average value"],
    ["Variance", "σ² = Σ(x−x̄)² / n", "Spread of data"],
    ["Standard Deviation", "σ = √[Σ(x−x̄)² / n]", "Variability of data"],
    ["Standard Error", "SE = SD / √n", "Precision of sample mean"],
    ["95% CI", "Mean ± 1.96 × SE", "Confidence interval"],
    ["Z-score", "Z = (x − μ) / σ", "Normal distribution position"],
    ["Probability", "P(A) = Favourable outcomes / Total outcomes", "Likelihood of event"],
    ["Range", "Max − Min", "Total spread of data"],
    ["Coefficient of Variation", "CV = (SD/Mean) × 100 %", "Relative variability"],
]
t = Table(formula_data, colWidths=[50*mm, 70*mm, W - 36*mm - 122*mm])
t.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), DARK_NAVY),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTNAME",      (1,1), (1,-1), "Courier-Bold"),
    ("TEXTCOLOR",     (1,1), (1,-1), DARK_NAVY),
    ("GRID",          (0,0), (-1,-1), 0.5, GRAY_MED),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ("ROWBACKGROUNDS",(0,1),(-1,-1),[WHITE, LIGHT_BLUE]),
    ("VALIGN",        (0,0),(-1,-1),"MIDDLE"),
]))
story += [t, sp(4)]

# ─── FINAL EXAM TIPS PAGE ────────────────────────────────────────────────────
story.append(pg())

tip_banner = Table([["🎯  MOST REPEATED EXAM QUESTIONS — QUICK CHECKLIST"]], colWidths=[W-36*mm])
tip_banner.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), MAROON),
    ("TEXTCOLOR",     (0,0), (-1,-1), WHITE),
    ("FONTNAME",      (0,0), (-1,-1), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 14),
    ("ALIGN",         (0,0), (-1,-1), "CENTER"),
    ("TOPPADDING",    (0,0), (-1,-1), 10),
    ("BOTTOMPADDING", (0,0), (-1,-1), 10),
    ("ROUNDEDCORNERS", [6]),
]))
story.append(tip_banner)
story.append(sp(4))

checklist = [
    ("Unit 1", [
        "अनुसंधान = अनु + सन्धान | Research = Re + Cherche",
        "WHO definition + Woodey definition + Charaka Sutra 11/54",
        "12-step Research Process (Problem → Publication)",
        "Types: Pure/Applied/Action | Quantitative/Qualitative | Longitudinal/Cross-sectional",
        "Historical: Vedic → CCRAS (1969) → AYUSH Ministry (2014)",
    ]),
    ("Unit 2", [
        "4 Pramanas: Aaptopadesha + Pratyaksha + Anumana + Yukti",
        "Modern equivalents: Expert Opinion + Observation + Inference + Meta-analysis",
        "Tridosha = Neuro-endocrine-immune axis",
        "Bhasma = Nano-particles | Arishta = Fermented bioavailability enhancer",
    ]),
    ("Unit 3", [
        "EBM — Sackett (1996) definition",
        "3 Pillars: Research Evidence + Clinical Expertise + Patient Values",
        "Level Ia = Systematic Review of RCTs (highest evidence)",
        "Level V = Expert Opinion (lowest)",
        "IMRAD = Introduction-Methods-Results-And-Discussion",
    ]),
    ("Unit 4", [
        "H₀ = Null (no effect) | H₁ = Alternative (effect exists)",
        "Type I Error = False Positive | Type II = False Negative",
        "p < 0.05 = Significant | p < 0.01 = Highly Significant",
        "Longitudinal = same group over time | Cross-sectional = one time, many groups",
        "Mann-Whitney = non-parametric t-test | Kruskal-Wallis = non-parametric ANOVA",
        "PubMed = NLM/NIH | DHARA = AYUSH Ministry | Cochrane = Gold standard EBM",
    ]),
    ("Unit 5", [
        "Mean = Σx/n | Median = middle value | Mode = most frequent",
        "SD formula: σ = √[Σ(x−x̄)²/n]",
        "SE = SD/√n → decreases as n increases",
        "Normal curve: 68-95-99.7 rule | Mean=Median=Mode",
        "Z = (x−μ)/σ",
        "SPSS = IBM, menu-driven | R = Free, open-source | SAS = FDA submissions",
    ]),
    ("Unit 6", [
        "Belmont 3 principles: Respect for Persons + Beneficence + Justice",
        "IHEC = Institutional Human Ethics Committee (min. 7 members, chair = external)",
        "IAEC = 3R: Replacement + Reduction + Refinement",
        "Systematic Review > Narrative Review (PRISMA guidelines)",
        "Informed Consent must be: Voluntary + Informed + Competent + Ongoing",
    ]),
    ("Unit 7", [
        "DHARA = Digital Helpline for Ayurveda Research Articles (dharaonline.org)",
        "PubMed = pubmed.ncbi.nlm.nih.gov | MeSH terms | PMC full texts",
        "AYUSH Protocol = CTRI registration + GCP + CCRAS guidelines + Reverse Pharmacology",
        "CTRI = Clinical Trials Registry India (mandatory registration)",
    ]),
]

for unit, pts in checklist:
    unit_label = Table([[unit]], colWidths=[W-36*mm])
    unit_label.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,-1), DARK_GREEN),
        ("TEXTCOLOR",     (0,0), (-1,-1), WHITE),
        ("FONTNAME",      (0,0), (-1,-1), "Helvetica-Bold"),
        ("FONTSIZE",      (0,0), (-1,-1), 11),
        ("TOPPADDING",    (0,0), (-1,-1), 5),
        ("BOTTOMPADDING", (0,0), (-1,-1), 5),
        ("LEFTPADDING",   (0,0), (-1,-1), 12),
    ]))
    story.append(unit_label)
    for pt in pts:
        story.append(Paragraph(f"  ☐  {pt}",
            make_style("CL", fontSize=9, leading=13, leftIndent=8, spaceAfter=1)))
    story.append(sp(2))

story.append(sp(4))
story.append(hr(GOLD, 2))
footer_t = Table([["Prepared for University Exam Revision  |  Ayurveda Research & Anusandhan Shastra  |  All Rights Reserved"]],
                 colWidths=[W-36*mm])
footer_t.setStyle(TableStyle([
    ("FONTSIZE",  (0,0), (-1,-1), 8),
    ("TEXTCOLOR", (0,0), (-1,-1), colors.HexColor("#888888")),
    ("ALIGN",     (0,0), (-1,-1), "CENTER"),
    ("TOPPADDING",(0,0),(-1,-1), 4),
]))
story.append(footer_t)

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

cd /home/daytona/workspace/ayurveda-research-notes && python3 generate_pdf.py 2>&1

Running Command

ls -lh /home/daytona/workspace/ayurveda-research-notes/Ayurveda_Research_Quick_Revision.pdf

Your Quick Revision PDF is ready! ✅

Ayurveda Research Quick Revision

PDF Document · PDF


📄 What's Inside the PDF

SectionContent
Cover PageTitle with stats: 7 Units, 30+ Topics, 50+ Key Terms
Table of ContentsAll units with topic summaries
Unit 1Etymology, Definitions (WHO+Woodey+Charaka), Synonyms, 12-step Research Process, Types, Historical Timeline
Unit 24 Pramanas with modern equivalents, Tridosha science, Aushadha Kalpana validity
Unit 3EBM (Sackett), 3 Pillars, Evidence Hierarchy table (Level I-V), IMRAD format
Unit 4Hypothesis (H₀/H₁), Research Q vs Objectives, All Databases comparison (PubMed/DHARA/Cochrane), Parametric vs Non-parametric, p-value guide, Questionnaire types
Unit 5Variables, Mean/Median/Mode with worked example, SD/SE formulas + numerical example, Normal Distribution (68-95-99.7), Statistical Software table
Unit 6Literature Review types, Belmont principles, IHEC composition + responsibilities, IAEC 3R principle
Unit 7AYUSH Protocol, PubMed feature table, DHARA feature table, All formulas reference sheet
Final PageExam checklist — unit-wise most repeated questions with checkboxes
Design highlights: Color-coded unit banners, alternating-row tables, highlighted formula boxes, and an exam-ready checkbox checklist on the last page.

Introduction of research

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.

Create a focused Introduction to Research handout (single chapter)

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
This is a shared conversation. Sign in to Orris to start your own chat.