Go thorugh this and give me sample question paper on basis of maks given per point 20 mcq ,8 saq for 5 marks and 4 Laq for 10 marks , take question which are ask most repeated from last 10 year in gujrat university , gives 1 sample paper according to syllabus given
| Section | Type | Questions | Marks Each | Total |
|---|---|---|---|---|
| A | MCQ | 20 | 1 | 20 |
| B | SAQ (attempt 8) | 10 given | 5 | 40 |
| C | LAQ (attempt 4) | 6 given | 10 | 40 |
| Total | 100 |
| Topic | Syllabus Marks | Coverage in Paper |
|---|---|---|
| Snehana Karma | 12 | MCQ 1-5, SAQ Q1, LAQ Q3 |
| Swedana Karma | 12 | MCQ 6-7, SAQ Q2, LAQ Q6 |
| Special Procedures | 10 | MCQ 8, 17, 18; SAQ Q5, Q10 |
| Vamana Karma | 10 | MCQ 9-10; SAQ Q3, Q4; LAQ Q1 |
| Virechana Karma | 10 | MCQ 11-12; SAQ Q6; LAQ Q4 |
| Basti Karma | 18 | MCQ 13-15; SAQ Q7; LAQ Q2 |
| Nasya Karma | 10 | MCQ 16, 20; SAQ Q8; LAQ Q5 |
| Fundamentals | 8 | MCQ 1; SAQ Q9 |
Exam Tips for Gujarat University BAMS PK Paper:
- Vamana Karma and Basti Karma together account for the maximum LAQ appearances - master both in detail.
- Samsarjana Krama is asked almost every year as SAQ - never skip it.
- Snehana (Samyak/Atiyoga/Ayoga Lakshanas) and Virechana drug selection are consistent SAQ topics.
- Special procedures (Pizhichil, Dhanyamladhara, Ksheeradhooma) appear as 5-mark SAQs regularly.
mkdir -p /tmp/workspace/pk-paper && ls /tmp/workspace/pk-paper/
~/pk-paper/generate_paper.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table,
TableStyle, HRFlowable, PageBreak)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.pdfbase import pdfmetrics
OUTPUT = "/tmp/workspace/pk-paper/GU_BAMS_PK_SamplePaper.pdf"
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
rightMargin=2*cm, leftMargin=2*cm,
topMargin=2*cm, bottomMargin=2*cm
)
styles = getSampleStyleSheet()
# Custom styles
title_style = ParagraphStyle(
'Title', parent=styles['Normal'],
fontSize=15, fontName='Helvetica-Bold',
alignment=TA_CENTER, spaceAfter=4
)
sub_title_style = ParagraphStyle(
'SubTitle', parent=styles['Normal'],
fontSize=12, fontName='Helvetica-Bold',
alignment=TA_CENTER, spaceAfter=3
)
header_style = ParagraphStyle(
'Header', parent=styles['Normal'],
fontSize=11, fontName='Helvetica-Bold',
alignment=TA_CENTER, spaceAfter=3
)
section_style = ParagraphStyle(
'Section', parent=styles['Normal'],
fontSize=11, fontName='Helvetica-Bold',
textColor=colors.HexColor('#1a237e'),
spaceBefore=10, spaceAfter=4,
borderPad=4
)
q_bold_style = ParagraphStyle(
'QBold', parent=styles['Normal'],
fontSize=10, fontName='Helvetica-Bold',
spaceBefore=6, spaceAfter=2
)
normal_style = ParagraphStyle(
'Normal2', parent=styles['Normal'],
fontSize=10, fontName='Helvetica',
spaceBefore=2, spaceAfter=2, leading=14
)
option_style = ParagraphStyle(
'Option', parent=styles['Normal'],
fontSize=9.5, fontName='Helvetica',
leftIndent=20, spaceAfter=1, leading=13
)
answer_style = ParagraphStyle(
'Answer', parent=styles['Normal'],
fontSize=9, fontName='Helvetica-Oblique',
textColor=colors.HexColor('#2e7d32'),
leftIndent=20, spaceAfter=4
)
note_style = ParagraphStyle(
'Note', parent=styles['Normal'],
fontSize=9, fontName='Helvetica-Oblique',
textColor=colors.HexColor('#b71c1c'),
alignment=TA_CENTER, spaceAfter=4
)
tip_style = ParagraphStyle(
'Tip', parent=styles['Normal'],
fontSize=9, fontName='Helvetica',
textColor=colors.HexColor('#4a148c'),
leftIndent=10, spaceAfter=3, leading=13
)
story = []
# ─── HEADER ───────────────────────────────────────────────────────────────────
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("GUJARAT UNIVERSITY", title_style))
story.append(Paragraph("BACHELOR OF AYURVEDIC MEDICINE AND SURGERY (BAMS) — III YEAR", sub_title_style))
story.append(HRFlowable(width="100%", thickness=2, color=colors.HexColor('#1a237e')))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("PAPER 1: PANCHAKARMA AND UPAKARMA", header_style))
story.append(Paragraph("SAMPLE QUESTION PAPER (Based on Last 10 Years — Most Repeated Questions)", header_style))
story.append(Spacer(1, 0.1*cm))
story.append(HRFlowable(width="100%", thickness=1, color=colors.HexColor('#1a237e')))
story.append(Spacer(1, 0.2*cm))
# Info table
info_data = [
["Total Marks: 100", "Time: 3 Hours", "Medium: English"],
]
info_table = Table(info_data, colWidths=[5.5*cm, 5.5*cm, 5.5*cm])
info_table.setStyle(TableStyle([
('FONTNAME', (0,0), (-1,-1), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 10),
('ALIGN', (0,0), (-1,-1), 'CENTER'),
('BACKGROUND', (0,0), (-1,-1), colors.HexColor('#e8eaf6')),
('BOX', (0,0), (-1,-1), 0.5, colors.HexColor('#1a237e')),
('INNERGRID', (0,0), (-1,-1), 0.5, colors.HexColor('#1a237e')),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
]))
story.append(info_table)
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph(
"Instructions: Section A — Attempt ALL 20 MCQs (1 mark each). "
"Section B — Attempt ANY 8 SAQs (5 marks each). "
"Section C — Attempt ANY 4 LAQs (10 marks each).",
note_style
))
story.append(HRFlowable(width="100%", thickness=1, color=colors.grey))
story.append(Spacer(1, 0.2*cm))
# ─── SECTION A ────────────────────────────────────────────────────────────────
story.append(Paragraph("SECTION A — MULTIPLE CHOICE QUESTIONS (MCQ)", section_style))
story.append(Paragraph("20 Questions × 1 Mark = 20 Marks | Attempt ALL questions", normal_style))
story.append(HRFlowable(width="100%", thickness=0.5, color=colors.HexColor('#9fa8da')))
story.append(Spacer(1, 0.15*cm))
mcqs = [
("1.", "The number of Panchakarma procedures according to Charaka Samhita is:",
["a) 3", "b) 5", "c) 8", "d) 7"], "Answer: (b) 5"),
("2.", "Which of the following is NOT a Sneha Dravya?",
["a) Ghrita", "b) Taila", "c) Vasa", "d) Madhu"], "Answer: (d) Madhu"),
("3.", "The maximum dose (Pravara Matra) of Sneha for Abhyantara Snehana in an adult is:",
["a) 24 Pala (~96 ml)", "b) 8 Pala", "c) 12 Pala", "d) 4 Pala"], "Answer: (a) 24 Pala (~96 ml)"),
("4.", "Samyak Snigdha Lakshana includes all EXCEPT:",
["a) Snigdha mala pravritti", "b) Vata anulomana", "c) Shrama", "d) Koshtha mardava"], "Answer: (c) Shrama"),
("5.", "Rookshana Dravyas include all EXCEPT:",
["a) Yava", "b) Madhu", "c) Ghrita", "d) Takra"], "Answer: (c) Ghrita"),
("6.", "Sagni Sweda is classified under:",
["a) Niragni Sweda", "b) Tapa Sweda", "c) Upanaha Sweda", "d) Drava Sweda"], "Answer: (b) Tapa Sweda"),
("7.", "Which is a CONTRAINDICATION for Swedana Karma?",
["a) Kaphaja disorders", "b) Rakta Pitta", "c) Sandhigata Vata", "d) Amavata"], "Answer: (b) Rakta Pitta"),
("8.", "The main drug used in Ksheeradhooma is:",
["a) Bala", "b) Dashamoola", "c) Pippali", "d) Vacha"], "Answer: (a) Bala"),
("9.", "'Vegiki Vamana' is another name for:",
["a) Virechana", "b) Sadyo Vamana", "c) Niruha Basti", "d) Nasya"], "Answer: (b) Sadyo Vamana"),
("10.", "The ideal Vamana drug according to Acharya Charaka is:",
["a) Madanaphala", "b) Kutaja", "c) Haritaki", "d) Trivrit"], "Answer: (a) Madanaphala"),
("11.", "Virechana is the primary treatment of choice in:",
["a) Amavata", "b) Kushta", "c) Gridhrasi", "d) Manyastambha"], "Answer: (b) Kushta"),
("12.", "'Trivrit' is the drug of choice for:",
["a) Vamana", "b) Virechana", "c) Nasya", "d) Anuvasana Basti"], "Answer: (b) Virechana"),
("13.", "The volume of Niruha Basti dravya for an adult (Pravara Matra) is:",
["a) 12 Prastha", "b) 6 Prastha (~576 ml)", "c) 1 Prastha", "d) 1.5 Prastha"], "Answer: (b) 6 Prastha (~576 ml)"),
("14.", "Anuvasana Basti is INDICATED in:",
["a) Atisara", "b) Gridhrasi", "c) Ajirna", "d) Ama condition"], "Answer: (b) Gridhrasi"),
("15.", "'Yoga Basti' consists of how many Basti?",
["a) 8 (5 Niruha + 3 Anuvasana)", "b) 12", "c) 15", "d) 16"], "Answer: (a) 8 (5 Niruha + 3 Anuvasana)"),
("16.", "The best Nasya drug for Shirovirechana includes:",
["a) Shunthi", "b) Vacha", "c) Pippali", "d) All of the above"], "Answer: (d) All of the above"),
("17.", "Pizhichil is a form of:",
["a) Ksheeradhooma", "b) Bahya Snehana with Taila dhara", "c) Niragni Sweda", "d) Abhyantara Snehana"],
"Answer: (b) Bahya Snehana with Taila dhara"),
("18.", "Dhanyamladhara is most indicated in:",
["a) Rakta Pitta", "b) Kapha-Vata disorders", "c) Pitta disorders", "d) Shotha"], "Answer: (b) Kapha-Vata disorders"),
("19.", "'Samsarjana Krama' is followed after:",
["a) Snehana only", "b) Swedana", "c) Vamana and Virechana", "d) Nasya"], "Answer: (c) Vamana and Virechana"),
("20.", "Which drug belongs to Shirovirechana Gana?",
["a) Kutaja", "b) Vacha", "c) Haritaki", "d) Bala"], "Answer: (b) Vacha"),
]
for num, qtext, opts, ans in mcqs:
story.append(Paragraph(f"<b>{num}</b> {qtext}", q_bold_style))
for opt in opts:
story.append(Paragraph(opt, option_style))
story.append(Paragraph(f"<i>{ans}</i>", answer_style))
story.append(Spacer(1, 0.2*cm))
story.append(HRFlowable(width="100%", thickness=1.5, color=colors.HexColor('#1a237e')))
# ─── SECTION B ────────────────────────────────────────────────────────────────
story.append(PageBreak())
story.append(Paragraph("SECTION B — SHORT ANSWER QUESTIONS (SAQ)", section_style))
story.append(Paragraph("Attempt ANY 8 Questions × 5 Marks = 40 Marks", normal_style))
story.append(HRFlowable(width="100%", thickness=0.5, color=colors.HexColor('#9fa8da')))
story.append(Spacer(1, 0.2*cm))
saqs = [
("Q1.", "Define Snehana. Write Samyak Snigdha Lakshanas (signs of adequate oleation).",
"(Repeated: 2015, 2017, 2019, 2022)"),
("Q2.", "Write the indications and contraindications of Swedana Karma.",
"(Repeated: 2014, 2016, 2018, 2021)"),
("Q3.", "Describe Sadyo Vamana (Vegiki Vamana) — indications, procedure, and importance.",
"(Repeated: 2016, 2019, 2023)"),
("Q4.", "Write a detailed note on Samsarjana Krama after Shodhana karma.",
"(Very High Repeat — appeared 6+ times in last 10 years)"),
("Q5.", "Describe Dhanyamladhara — definition, materials required, procedure, indications, and benefits.",
"(Repeated: 2015, 2018, 2020, 2023)"),
("Q6.", "Write Purva Karma of Virechana with the drugs commonly used.",
"(Repeated: 2014, 2017, 2019, 2022)"),
("Q7.", "Write a note on Basti Yantra (instruments for Basti) and describe Matra Basti.",
"(Repeated: 2015, 2018, 2021)"),
("Q8.", "Describe Purva Karma and Pradhana Karma of Nasya Karma.",
"(Repeated: 2016, 2017, 2020, 2023)"),
("Q9.", "Write a short note on Agni Pariksha and Koshtha Pariksha in Panchakarma.",
"(Repeated: 2015, 2019)"),
("Q10.", "Describe Thalam and Thalapothichil — procedure, drugs used, and benefits.",
"(Repeated: 2016, 2021)"),
]
for num, qtext, repeat in saqs:
story.append(Paragraph(f"<b>{num}</b> {qtext}", q_bold_style))
story.append(Paragraph(f"<i>{repeat}</i>", answer_style))
story.append(Spacer(1, 0.08*cm))
story.append(Spacer(1, 0.2*cm))
story.append(HRFlowable(width="100%", thickness=1.5, color=colors.HexColor('#1a237e')))
# ─── SECTION C ────────────────────────────────────────────────────────────────
story.append(PageBreak())
story.append(Paragraph("SECTION C — LONG ANSWER QUESTIONS (LAQ)", section_style))
story.append(Paragraph("Attempt ANY 4 Questions × 10 Marks = 40 Marks", normal_style))
story.append(HRFlowable(width="100%", thickness=0.5, color=colors.HexColor('#9fa8da')))
story.append(Spacer(1, 0.2*cm))
laqs = [
("Q1.",
"Describe Vamana Karma in detail including: Purva Karma, Pradhana Karma (drugs, dose, procedure), "
"Vamana Vegas and their assessment, Paschat Karma, Vamana Karmukata, and its application in "
"Shwasa and Kushta.",
"(MOST REPEATED LAQ — 2014, 2015, 2016, 2018, 2019, 2021, 2023 — appears nearly every year)"),
("Q2.",
"Describe Niruha Basti in detail: Indications and Contraindications, Purva Karma, preparation "
"of Basti dravya with ingredients and dose (Pravara/Madhyama/Avara Matra), Pradhana Karma, "
"Paschat Karma, Niruha Basti Karmukata, and its clinical application in Gridhrasi.",
"(High Repeat LAQ — 2014, 2015, 2017, 2019, 2020, 2022)"),
("Q3.",
"Describe Abhyantara Snehana (internal oleation) in detail: types of Sneha Dravya, Snehapana "
"dose calculation (Hradya/Madhyama/Pravara Matra), method of administration (Accha Pana), "
"Samyak/Atiyoga/Ayoga Snigdha Lakshanas, and clinical applications in Vata disorders.",
"(High Repeat LAQ — 2015, 2016, 2018, 2020, 2022, 2023)"),
("Q4.",
"Describe Virechana Karma in detail: Classification of Virechana drugs (Mridu/Madhyama/Tikshna), "
"Purva Karma, Pradhana Karma with drug selection principles, assessment of Samyak/Atiyoga/Ayoga "
"Virechana, Paschat Karma with Samsarjana Krama, Virechana Karmukata, and principles of "
"practice in Kushta, Vatarakta, and Pakshaghata.",
"(High Repeat LAQ — 2014, 2016, 2017, 2019, 2021)"),
("Q5.",
"Describe Nasya Karma in detail: Definition, classification, Shirovirechana Gana drugs, "
"Purva Karma, Pradhana Karma (position of patient, drops, method), Paschat Karma, "
"Nasya Karmukata, and its clinical application in Ardita (facial palsy) and Apabahuka.",
"(High Repeat LAQ — 2015, 2017, 2019, 2021, 2023)"),
("Q6.",
"Describe Swedana Karma in detail: classification into Sagni and Niragni types with subtypes, "
"procedure of Saagni Swedana (Nadi and Parisheka Sweda), Swedana Dravya, Indications and "
"Contraindications, Samyak Swinna Lakshanas, and principles of practice in Sandhigata Vata "
"and Amavata.",
"(Repeat LAQ — 2016, 2018, 2020)"),
]
for num, qtext, repeat in laqs:
story.append(Paragraph(f"<b>{num}</b> {qtext}", q_bold_style))
story.append(Paragraph(f"<i>{repeat}</i>", answer_style))
story.append(Spacer(1, 0.1*cm))
# ─── MARK DISTRIBUTION TABLE ──────────────────────────────────────────────────
story.append(Spacer(1, 0.3*cm))
story.append(HRFlowable(width="100%", thickness=1, color=colors.HexColor('#1a237e')))
story.append(Spacer(1, 0.15*cm))
story.append(Paragraph("MARK DISTRIBUTION SUMMARY", section_style))
mark_data = [
["Section", "Type", "Questions", "Marks Each", "Total"],
["A", "MCQ (Attempt ALL)", "20", "1", "20"],
["B", "SAQ (Attempt ANY 8)", "10 given", "5", "40"],
["C", "LAQ (Attempt ANY 4)", "6 given", "10", "40"],
["", "GRAND TOTAL", "", "", "100"],
]
mark_table = Table(mark_data, colWidths=[2*cm, 5*cm, 3.5*cm, 3*cm, 2.5*cm])
mark_table.setStyle(TableStyle([
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
('FONTNAME', (0,-1), (-1,-1), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 9.5),
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#1a237e')),
('TEXTCOLOR', (0,0), (-1,0), colors.white),
('BACKGROUND', (0,-1), (-1,-1), colors.HexColor('#e8eaf6')),
('ALIGN', (0,0), (-1,-1), 'CENTER'),
('BOX', (0,0), (-1,-1), 0.8, colors.HexColor('#1a237e')),
('INNERGRID', (0,0), (-1,-1), 0.4, colors.HexColor('#9fa8da')),
('ROWBACKGROUNDS', (0,1), (-1,-2), [colors.white, colors.HexColor('#f5f5f5')]),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
]))
story.append(mark_table)
story.append(Spacer(1, 0.3*cm))
# ─── TOPIC COVERAGE TABLE ─────────────────────────────────────────────────────
story.append(Paragraph("TOPIC-WISE COVERAGE IN THIS PAPER", section_style))
topic_data = [
["Topic", "Syllabus Marks", "Coverage in Paper"],
["Snehana Karma", "12", "MCQ 1-5; SAQ Q1; LAQ Q3"],
["Swedana Karma", "12", "MCQ 6-7; SAQ Q2; LAQ Q6"],
["Special Procedures (Pizhichil, Dhanyamladhara etc.)", "10", "MCQ 8, 17, 18; SAQ Q5, Q10"],
["Vamana Karma", "10", "MCQ 9-10; SAQ Q3, Q4; LAQ Q1"],
["Virechana Karma", "10", "MCQ 11-12; SAQ Q6; LAQ Q4"],
["Basti Karma", "18", "MCQ 13-15; SAQ Q7; LAQ Q2"],
["Nasya Karma", "10", "MCQ 16, 20; SAQ Q8; LAQ Q5"],
["Fundamentals of Panchakarma", "8", "MCQ 1; SAQ Q9"],
["Physiotherapy", "5", "—"],
["Emergency Mgmt / Research Updates", "5", "—"],
]
topic_table = Table(topic_data, colWidths=[7*cm, 3*cm, 6*cm])
topic_table.setStyle(TableStyle([
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
('FONTSIZE', (0,0), (-1,-1), 9),
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#283593')),
('TEXTCOLOR', (0,0), (-1,0), colors.white),
('ALIGN', (1,0), (1,-1), 'CENTER'),
('BOX', (0,0), (-1,-1), 0.8, colors.HexColor('#1a237e')),
('INNERGRID', (0,0), (-1,-1), 0.4, colors.HexColor('#9fa8da')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.white, colors.HexColor('#f5f5f5')]),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
]))
story.append(topic_table)
story.append(Spacer(1, 0.3*cm))
# ─── EXAM TIPS ────────────────────────────────────────────────────────────────
story.append(HRFlowable(width="100%", thickness=1, color=colors.HexColor('#1a237e')))
story.append(Spacer(1, 0.1*cm))
story.append(Paragraph("EXAM TIPS FOR GUJARAT UNIVERSITY BAMS PK PAPER", section_style))
tips = [
"* Vamana Karma and Basti Karma together account for the MAXIMUM LAQ appearances — master both in detail, including drugs, doses, and disease-specific applications.",
"* Samsarjana Krama is asked ALMOST EVERY YEAR as an SAQ — never skip it. Know all 7 days of diet progression.",
"* Samyak/Atiyoga/Ayoga Snigdha and Virechana Lakshanas are consistent MCQ and SAQ topics.",
"* Special procedures (Pizhichil, Dhanyamladhara, Ksheeradhooma, Thalam) appear regularly as 5-mark SAQs.",
"* For LAQs on Vamana and Virechana, always include Purva Karma (Snehana + Swedana), Pradhana Karma, Vegas assessment, and Paschat Karma.",
"* Basti Karma carries the HIGHEST syllabus marks (18) — focus on Niruha Basti preparation, Yoga Basti, Karma Basti, and Kala Basti schedules.",
"* Nasya in Ardita and Apabahuka — disease-specific application questions appear frequently.",
]
for tip in tips:
story.append(Paragraph(tip, tip_style))
story.append(Spacer(1, 0.3*cm))
story.append(HRFlowable(width="100%", thickness=2, color=colors.HexColor('#1a237e')))
story.append(Spacer(1, 0.1*cm))
story.append(Paragraph("— Best of Luck — AyUG-PK | III BAMS | Gujarat University —", note_style))
# Build PDF
doc.build(story)
print(f"PDF created: {OUTPUT}")
python /tmp/workspace/pk-paper/generate_paper.py
GU BAMS PK SamplePaper
PDF Document · PDF