viva questions with answers on CBME and Teaching -learning methods for the microteaching viva of md pharmacology
CBME competency based medical education viva questions MD pharmacology microteaching
teaching learning methods viva questions microteaching MD pharmacology CBME India MCI NMC
https://www.nmc.org.in/wp-content/uploads/2022/revised/MD-in…
| Feature | Traditional | CBME |
|---|---|---|
| Focus | Time/content coverage | Outcomes/competencies |
| Assessment | Summative, end-of-term | Frequent, formative |
| Progression | Time-based | Competency-based |
| Learner role | Passive | Active, self-directed |
| Feedback | Infrequent | Continuous, inbuilt |
| Feature | PBL | CBL |
|---|---|---|
| Case provided | Progressively revealed | Full case upfront |
| Learning objectives | Student-generated | Faculty-defined |
| Preparation | After problem is given | Before class (pre-reading) |
| Facilitation | Minimal (tutor as guide) | More teacher-directed |
| Group size | Small (8-10) | Small to medium |
| Feature | Goal/General Objective | Specific Learning Objective |
|---|---|---|
| Scope | Broad | Narrow, precise |
| Measurability | Not directly measurable | Directly measurable |
| Example | "Understand antihypertensives" | "List three mechanisms by which ACE inhibitors lower BP" |
| Action verbs | Understand, appreciate, know | List, describe, explain, demonstrate, calculate |
| Feature | Formative | Summative |
|---|---|---|
| Purpose | To improve learning (Assessment FOR learning) | To certify competence (Assessment OF learning) |
| Timing | Ongoing, throughout training | End of module/year/course |
| Feedback | Immediate, detailed | Delayed, brief |
| Stakes | Low | High |
| Examples | Quiz, case discussion, DOPS, mini-CEX | Final theory exam, practical viva, thesis |
Create a downloadable PDF guide summarizing all 32 viva Q&A for quick revision
ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "created"
mkdir -p /tmp/workspace/cbme-viva-guide && python3 << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import mm, cm from reportlab.platypus import ( SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, PageBreak, KeepTogether ) from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY from reportlab.platypus import ListFlowable, ListItem OUTPUT = "/tmp/workspace/cbme-viva-guide/CBME_Viva_QA_Guide.pdf" doc = SimpleDocTemplate( OUTPUT, pagesize=A4, rightMargin=18*mm, leftMargin=18*mm, topMargin=18*mm, bottomMargin=18*mm, title="CBME & Teaching-Learning Methods - Viva Q&A Guide", author="MD Pharmacology Microteaching Viva Prep" ) # ---------- Colour palette ---------- TEAL = colors.HexColor("#1A6B7C") TEAL_DARK = colors.HexColor("#0D4A57") AMBER = colors.HexColor("#E87722") LIGHT_BG = colors.HexColor("#EAF4F7") ANSWER_BG = colors.HexColor("#F5FBFC") GREY_LINE = colors.HexColor("#C5D9DD") WHITE = colors.white BLACK = colors.black SECTION_HDR = colors.HexColor("#D4EEF4") # ---------- Styles ---------- styles = getSampleStyleSheet() title_style = ParagraphStyle( "TitleStyle", parent=styles["Title"], fontSize=20, textColor=WHITE, alignment=TA_CENTER, spaceAfter=4, leading=26, fontName="Helvetica-Bold" ) subtitle_style = ParagraphStyle( "SubTitle", parent=styles["Normal"], fontSize=11, textColor=LIGHT_BG, alignment=TA_CENTER, spaceAfter=2, leading=14, fontName="Helvetica" ) section_style = ParagraphStyle( "SectionHeader", parent=styles["Normal"], fontSize=13, textColor=TEAL_DARK, fontName="Helvetica-Bold", spaceBefore=10, spaceAfter=4, leading=16, borderPad=4 ) q_style = ParagraphStyle( "Question", parent=styles["Normal"], fontSize=10.5, textColor=TEAL_DARK, fontName="Helvetica-Bold", spaceBefore=6, spaceAfter=2, leading=14, leftIndent=0 ) a_style = ParagraphStyle( "Answer", parent=styles["Normal"], fontSize=10, textColor=colors.HexColor("#1A1A2E"), fontName="Helvetica", spaceAfter=4, leading=14, leftIndent=8, alignment=TA_JUSTIFY ) bullet_style = ParagraphStyle( "Bullet", parent=a_style, leftIndent=18, bulletIndent=8, spaceAfter=1, leading=13 ) table_header_style = ParagraphStyle( "TblHdr", parent=styles["Normal"], fontSize=9, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER, leading=12 ) table_cell_style = ParagraphStyle( "TblCell", parent=styles["Normal"], fontSize=9, textColor=BLACK, fontName="Helvetica", alignment=TA_LEFT, leading=12 ) toc_style = ParagraphStyle( "TOC", parent=styles["Normal"], fontSize=10, textColor=TEAL_DARK, fontName="Helvetica", spaceAfter=2, leading=13, leftIndent=10 ) footer_note_style = ParagraphStyle( "FooterNote", parent=styles["Normal"], fontSize=8.5, textColor=colors.grey, fontName="Helvetica-Oblique", alignment=TA_CENTER, spaceAfter=0 ) def q_box(q_num, question_text, answer_paragraphs): """Returns a KeepTogether flowable with Q in teal box + A below.""" elems = [] # Question row q_data = [[Paragraph(f"Q{q_num}. {question_text}", q_style)]] q_tbl = Table(q_data, colWidths=[174*mm]) q_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), LIGHT_BG), ("LEFTPADDING", (0,0), (-1,-1), 8), ("RIGHTPADDING", (0,0), (-1,-1), 8), ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING",(0,0), (-1,-1), 5), ("LINEBELOW", (0,0), (-1,-1), 1.2, TEAL), ("ROUNDEDCORNERS", [4,4,0,0]), ])) elems.append(q_tbl) # Answer area a_data = [[Paragraph(p, a_style if not p.startswith("•") else bullet_style) for p in [""]]] # placeholder # Build answer content as paragraphs with light background for para in answer_paragraphs: elems.append(Paragraph(para, a_style)) elems.append(Spacer(1, 6)) return KeepTogether(elems) def section_header(text): data = [[Paragraph(text, ParagraphStyle( "SH2", parent=styles["Normal"], fontSize=12, textColor=TEAL_DARK, fontName="Helvetica-Bold", leading=15 ))]] t = Table(data, colWidths=[174*mm]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), SECTION_HDR), ("LEFTPADDING", (0,0), (-1,-1), 10), ("TOPPADDING", (0,0), (-1,-1), 6), ("BOTTOMPADDING",(0,0), (-1,-1), 6), ("LINELEFT", (0,0), (0,-1), 4, TEAL), ])) return t def make_table(headers, rows, col_widths=None): if col_widths is None: col_widths = [174*mm / len(headers)] * len(headers) hdr_row = [Paragraph(h, table_header_style) for h in headers] data = [hdr_row] for row in rows: data.append([Paragraph(str(c), table_cell_style) for c in row]) t = Table(data, colWidths=col_widths, repeatRows=1) style = TableStyle([ ("BACKGROUND", (0,0), (-1, 0), TEAL), ("ROWBACKGROUNDS",(0,1),(-1,-1),[WHITE, ANSWER_BG]), ("GRID", (0,0), (-1,-1), 0.5, GREY_LINE), ("LEFTPADDING", (0,0), (-1,-1), 6), ("RIGHTPADDING", (0,0), (-1,-1), 6), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING",(0,0), (-1,-1), 4), ("VALIGN", (0,0), (-1,-1), "TOP"), ]) t.setStyle(style) return t # ===================================================================== # BUILD CONTENT # ===================================================================== story = [] # ---- COVER PAGE ---- cover_data = [[ Paragraph("CBME & Teaching-Learning Methods", title_style), Paragraph("Viva Q&A Quick Revision Guide", title_style), Paragraph("MD Pharmacology · Microteaching Viva Preparation", subtitle_style), Paragraph("32 Questions with Detailed Answers", subtitle_style), ]] cover_tbl = Table(cover_data, colWidths=[174*mm]) cover_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), TEAL), ("TOPPADDING", (0,0), (-1,-1), 30), ("BOTTOMPADDING", (0,0), (-1,-1), 30), ("LEFTPADDING", (0,0), (-1,-1), 14), ("RIGHTPADDING", (0,0), (-1,-1), 14), ("ROUNDEDCORNERS",[8,8,8,8]), ])) story.append(cover_tbl) story.append(Spacer(1, 10)) story.append(Paragraph( "Compiled for MD Pharmacology residents preparing for microteaching viva examinations. " "Covers NMC/MCI CBME framework, Bloom's Taxonomy, Teaching-Learning Methods, " "Microteaching skills, Lesson Planning, and Assessment strategies.", ParagraphStyle("Intro", parent=styles["Normal"], fontSize=9.5, textColor=colors.HexColor("#444444"), alignment=TA_JUSTIFY, leading=14, fontName="Helvetica-Oblique") )) story.append(Spacer(1, 8)) story.append(HRFlowable(width="100%", thickness=1, color=GREY_LINE)) story.append(Spacer(1, 6)) # ---- TABLE OF CONTENTS ---- story.append(Paragraph("Contents", section_style)) toc_items = [ ("Section 1", "Basics of CBME", "Q1 - Q6"), ("Section 2", "CBME in MD Pharmacology", "Q7 - Q9"), ("Section 3", "Teaching-Learning Methods", "Q10 - Q20"), ("Section 4", "Microteaching", "Q21 - Q26"), ("Section 5", "Assessment & Quick-Fire", "Q27 - Q32"), ] toc_data = [["Section", "Topic", "Questions"]] for s, t, q in toc_items: toc_data.append([s, t, q]) story.append(make_table( ["Section", "Topic", "Questions"], [[s, t, q] for s, t, q in toc_items], col_widths=[28*mm, 110*mm, 36*mm] )) story.append(Spacer(1, 8)) story.append(HRFlowable(width="100%", thickness=1, color=GREY_LINE)) # =================================================================== # SECTION 1: BASICS OF CBME # =================================================================== story.append(Spacer(1, 8)) story.append(section_header("SECTION 1: Basics of CBME")) story.append(Spacer(1, 6)) # Q1 story.append(KeepTogether([ Table([[Paragraph("Q1. What is CBME? How does it differ from the traditional curriculum?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG), ("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> CBME (Competency-Based Medical Education) is an outcomes-based approach where training is organized around attainment of defined competencies rather than a fixed time period.", a_style), make_table( ["Feature", "Traditional Curriculum", "CBME"], [ ["Focus", "Time / content coverage", "Outcomes / competencies"], ["Assessment", "Summative, end-of-term", "Frequent, formative"], ["Progression", "Time-based", "Competency-based"], ["Learner role", "Passive", "Active, self-directed"], ["Feedback", "Infrequent", "Continuous, inbuilt"], ], col_widths=[36*mm, 68*mm, 70*mm] ), Spacer(1,6) ])) # Q2 story.append(KeepTogether([ Table([[Paragraph("Q2. What is a competency? Give an example from pharmacology.", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> A competency is the ability to perform a task successfully and efficiently, integrating <b>Knowledge, Skills, and Attitude (KSA)</b>.", a_style), Paragraph("<b>Example:</b> \"Rational prescribing for a hypertensive diabetic patient\" requires:", a_style), Paragraph("• <b>Knowledge</b> - pharmacology of antihypertensives, drug interactions, contraindications", bullet_style), Paragraph("• <b>Skill</b> - writing a correct, legible prescription", bullet_style), Paragraph("• <b>Attitude</b> - patient counseling, ethical prescribing", bullet_style), Spacer(1,6) ])) # Q3 story.append(KeepTogether([ Table([[Paragraph("Q3. What are the three domains of learning (Bloom's Taxonomy)? How applied in pharmacology?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b>", a_style), Paragraph("1. <b>Cognitive (Knowledge)</b> - Remember → Understand → Apply → Analyse → Evaluate → Create. E.g., mechanism of action of beta-blockers.", bullet_style), Paragraph("2. <b>Psychomotor (Skills)</b> - Prescription writing, dose calculation, ECG interpretation.", bullet_style), Paragraph("3. <b>Affective (Attitude)</b> - Ethical prescribing, patient communication, ADR counseling.", bullet_style), Spacer(1,6) ])) # Q4 story.append(KeepTogether([ Table([[Paragraph("Q4. What is an Entrustable Professional Activity (EPA)? Give an example from pharmacology.", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> An EPA is a unit of professional practice - a specific task that can be <b>entrusted</b> to a trainee once sufficient competence is demonstrated. Unlike competencies (abilities of a person), EPAs describe <i>observable units of work</i>.", a_style), Paragraph("<b>Example:</b> \"Writing a rational prescription for common outpatient conditions independently.\" It requires integrated KSA and is directly observable and assessable.", a_style), Spacer(1,6) ])) # Q5 story.append(KeepTogether([ Table([[Paragraph("Q5. What are milestones in CBME?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> Milestones are <b>behavioral descriptors</b> that mark a trainee's progress from novice to expert along a developmental continuum. They describe what a trainee should know and do at specific stages of training.", a_style), Paragraph("<b>Example:</b> \"By end of Year 1, the resident can independently explain mechanisms of all first-line antihypertensives and counsel a simulated patient.\"", a_style), Spacer(1,6) ])) # Q6 story.append(KeepTogether([ Table([[Paragraph("Q6. What are the key competency domains for the Indian Medical Graduate (IMG) per NMC?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> The NMC describes the IMG as a <b>\"Five-Star Doctor\"</b>:", a_style), Paragraph("1. <b>Clinician</b> - Safe, rational prescribing", bullet_style), Paragraph("2. <b>Leader / Health Care Manager</b> - Drug formulary, EDL management", bullet_style), Paragraph("3. <b>Communicator</b> - Patient counseling, ADR communication", bullet_style), Paragraph("4. <b>Life-long Learner</b> - SDL, journal clubs, CPD", bullet_style), Paragraph("5. <b>Professional</b> - Ethics, integrity, pharmacovigilance", bullet_style), Spacer(1,6) ])) # =================================================================== # SECTION 2 # =================================================================== story.append(PageBreak()) story.append(section_header("SECTION 2: CBME in MD Pharmacology")) story.append(Spacer(1, 6)) # Q7 story.append(KeepTogether([ Table([[Paragraph("Q7. Why is CBME especially relevant to pharmacology teaching?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> Pharmacology underpins rational drug therapy and safe prescribing. CBME ensures:", a_style), Paragraph("• Focus shifts from rote memorization to <b>clinical application</b>", bullet_style), Paragraph("• Prescription writing, ADR reporting, and pharmacovigilance become <b>core assessed competencies</b>", bullet_style), Paragraph("• Problem-based and case-based methods replace lecture-only teaching", bullet_style), Paragraph("• Students develop <b>rational prescribing habits</b>, not just drug knowledge", bullet_style), Spacer(1,6) ])) # Q8 story.append(KeepTogether([ Table([[Paragraph("Q8. What are core competencies expected of an MD Pharmacology graduate (NMC)?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b>", a_style), make_table( ["Role", "Core Expectation"], [ ["Medical Expert", "Deep knowledge of pharmacology, clinical pharmacology, therapeutics"], ["Teacher / Educator", "Teach pharmacology to undergraduates and peers"], ["Researcher", "Design, conduct, and publish pharmacological research"], ["Communicator", "Patient counseling on drugs, ADR communication"], ["Manager", "Drug formulary management, pharmacovigilance, EDL"], ["Professional", "Ethical practice, continued professional development"], ], col_widths=[42*mm, 132*mm] ), Spacer(1,6) ])) # Q9 story.append(KeepTogether([ Table([[Paragraph("Q9. How is assessment done in CBME for MD Pharmacology?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> Assessment in CBME has two streams:", a_style), Paragraph("• <b>Formative</b> (ongoing) - journal clubs, seminars, case presentations, logbooks, mini-CEX, DOPS", bullet_style), Paragraph("• <b>Summative</b> (end of term) - theory exams, clinical/practical viva, thesis", bullet_style), Paragraph("<b>Key tools:</b> Mini-CEX, DOPS, 360-degree feedback, Portfolio, Logbook", a_style), Spacer(1,6) ])) # =================================================================== # SECTION 3 # =================================================================== story.append(PageBreak()) story.append(section_header("SECTION 3: Teaching-Learning Methods (TLMs)")) story.append(Spacer(1, 6)) # Q10 story.append(KeepTogether([ Table([[Paragraph("Q10. What is the classification of Teaching-Learning Methods (TLMs)?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b>", a_style), make_table( ["Category", "Methods"], [ ["Teacher-centered (Passive)", "Didactic lecture (Large Group Teaching)"], ["Student-centered - Large group", "Interactive lecture, Flipped classroom"], ["Student-centered - Small group", "Tutorial, Seminar, PBL, CBL, TBL"], ["Self-directed", "SDL, E-learning, Blended learning"], ["Skill-based", "Demonstration, Simulation, Role-play, Standardized patients"], ["Clinical", "Bedside teaching, Ward rounds, Clinico-pharmacological discussions"], ], col_widths=[55*mm, 119*mm] ), Spacer(1,6) ])) # Q11 story.append(KeepTogether([ Table([[Paragraph("Q11. What is a Didactic Lecture? Advantages and disadvantages?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> One-way, teacher-centered delivery of information to a large group.", a_style), make_table( ["Advantages", "Disadvantages"], [ ["Covers large content quickly", "Passive learning; poor retention"], ["Reaches many simultaneously", "No individualization"], ["Cost-effective", "Low interactivity"], ["Structured delivery", "Encourages rote memorization"], ], col_widths=[87*mm, 87*mm] ), Paragraph("In CBME, pure didactic lectures are <b>de-emphasized</b> in favor of interactive and active learning.", a_style), Spacer(1,6) ])) # Q12 story.append(KeepTogether([ Table([[Paragraph("Q12. What is an Interactive Lecture? How does it differ from a didactic lecture?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> An interactive lecture incorporates activities that <b>engage students actively</b> during the session. Techniques include:", a_style), Paragraph("• Buzz groups (brief pair/small-group discussion)", bullet_style), Paragraph("• Think-pair-share", bullet_style), Paragraph("• One-minute paper", bullet_style), Paragraph("• MCQ with audience response (Mentimeter, Kahoot)", bullet_style), Paragraph("• Case vignettes within the lecture", bullet_style), Paragraph("It promotes active engagement, higher-order thinking, and better retention - preferred in CBME.", a_style), Spacer(1,6) ])) # Q13 story.append(KeepTogether([ Table([[Paragraph("Q13. What is Problem-Based Learning (PBL)? How is it applied in pharmacology?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> PBL is student-centered: a clinical problem triggers self-directed learning. Students work in small groups to identify learning issues, study independently, then reconvene to discuss.", a_style), Paragraph("<b>7-Jump PBL Process:</b> (1) Clarify terms → (2) Define problem → (3) Brainstorm → (4) Structure → (5) Formulate objectives → (6) Self-study → (7) Share & synthesize", a_style), Paragraph("<b>Pharmacology example:</b> Seizure patient on multiple drugs develops toxicity - students identify drug interactions, pharmacokinetics, dose adjustment needs.", a_style), Spacer(1,6) ])) # Q14 story.append(KeepTogether([ Table([[Paragraph("Q14. What is Case-Based Learning (CBL)? How does it differ from PBL?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), make_table( ["Feature", "PBL", "CBL"], [ ["Case provided", "Progressively revealed", "Full case upfront"], ["Learning objectives", "Student-generated", "Faculty-defined"], ["Preparation", "After problem is given", "Before class (pre-reading)"], ["Facilitation", "Minimal (tutor as guide)", "More teacher-directed"], ["Group size", "Small (8-10)", "Small to medium"], ], col_widths=[44*mm, 65*mm, 65*mm] ), Spacer(1,6) ])) # Q15 story.append(KeepTogether([ Table([[Paragraph("Q15. What is Team-Based Learning (TBL)? Describe its structure.", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> TBL has three phases:", a_style), Paragraph("1. <b>Pre-class preparation</b> - Students read assigned material independently", bullet_style), Paragraph("2. <b>Readiness Assurance:</b> iRAT (individual MCQ test) → gRAT (same test as group, with immediate feedback) → Faculty clarification", bullet_style), Paragraph("3. <b>Application Exercises</b> - Teams solve complex clinical problems together", bullet_style), Paragraph("<b>Pharmacology example:</b> Pre-read antidiabetics → iRAT/gRAT → team case on a diabetic requiring drug selection and monitoring.", a_style), Spacer(1,6) ])) # Q16 story.append(KeepTogether([ Table([[Paragraph("Q16. What is a Flipped Classroom? What is its relevance in pharmacology?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> Students study content (videos, notes, e-modules) at <b>home BEFORE class</b>. Class time is used for discussion, problem-solving, and application - not content delivery.", a_style), Paragraph("<b>Example:</b> Students watch a video on beta-blockers at home. In class, the teacher facilitates discussion: Why are beta-blockers contraindicated in asthma? What are the alternatives?", a_style), Paragraph("Aligns with CBME's goal of <b>higher-order thinking and clinical application</b>.", a_style), Spacer(1,6) ])) # Q17 story.append(KeepTogether([ Table([[Paragraph("Q17. What is Simulation-Based Learning? Give examples in pharmacology.", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> Simulation creates a realistic clinical scenario for practice <i>without patient risk</i>.", a_style), Paragraph("• <b>Standardized patients</b> - drug counseling sessions", bullet_style), Paragraph("• <b>Mannequin-based</b> - resuscitation drug protocols (ACLS)", bullet_style), Paragraph("• <b>Computer-based</b> - virtual pharmacology labs, drug dosing simulators", bullet_style), Paragraph("• <b>Role-play</b> - pharmacist-patient interaction, ADR reporting scenarios", bullet_style), Paragraph("<b>Benefits:</b> Safe practice, immediate feedback, repeatable, no patient harm.", a_style), Spacer(1,6) ])) # Q18 story.append(KeepTogether([ Table([[Paragraph("Q18. What is Self-Directed Learning (SDL)?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> SDL is a process in which learners take initiative to <b>diagnose their own learning needs, formulate goals, identify resources, and evaluate outcomes</b> (Knowles, 1975).", a_style), Paragraph("<b>SDL in pharmacology:</b> Resident identifies gap (e.g., novel anticoagulants) → sets objectives → searches literature independently → presents in journal club.", a_style), Paragraph("SDL is a <b>core CBME competency</b> as it prepares life-long learners.", a_style), Spacer(1,6) ])) # Q19 story.append(KeepTogether([ Table([[Paragraph("Q19. What is a Seminar? How is it conducted?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> A seminar is a small-group presentation-based method where a student presents a pre-assigned topic in depth, followed by group discussion.", a_style), Paragraph("• Topic assigned 2-3 weeks in advance", bullet_style), Paragraph("• Student presents 15-30 minutes", bullet_style), Paragraph("• Discussion and Q&A from peers and faculty", bullet_style), Paragraph("• Faculty summarizes and corrects misconceptions", bullet_style), Paragraph("<b>Promotes:</b> deep learning, literature review skills, and presentation ability.", a_style), Spacer(1,6) ])) # Q20 story.append(KeepTogether([ Table([[Paragraph("Q20. What is a Journal Club? What are its objectives?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> A journal club is a group meeting where members critically appraise a published research paper.", a_style), Paragraph("<b>Objectives:</b> Develop critical appraisal skills · Stay updated with evidence · Promote evidence-based prescribing · Learn research methodology · Improve presentation skills", a_style), Paragraph("<b>Format:</b> 1-2 residents present a recent paper (RCT, meta-analysis) using CONSORT checklist or PICO framework, followed by structured critique.", a_style), Spacer(1,6) ])) # =================================================================== # SECTION 4: MICROTEACHING # =================================================================== story.append(PageBreak()) story.append(section_header("SECTION 4: Microteaching")) story.append(Spacer(1, 6)) # Q21 story.append(KeepTogether([ Table([[Paragraph("Q21. What is Microteaching? What are its components?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> Microteaching is a scaled-down, simplified teaching practice technique introduced by <b>D.W. Allen at Stanford University (1963)</b>. It involves a single teacher, small group (5-10), brief session (5-15 min), focus on ONE specific teaching skill, with immediate feedback and re-teaching.", a_style), Paragraph("<b>Teaching Skills Practiced:</b>", a_style), make_table( ["Skill", "Description"], [ ["Set induction", "Introducing and motivating the lesson"], ["Stimulus variation", "Changing voice, posture, media to sustain attention"], ["Reinforcement", "Positive feedback to student responses"], ["Questioning", "Probing, redirecting, higher-order questions"], ["Explanation", "Clarity, use of examples, logical sequencing"], ["Closure", "Summarizing and ending the lesson effectively"], ["Use of AV aids", "Appropriate use of visual and audio tools"], ["Silence & non-verbal cues", "Using pauses and body language effectively"], ], col_widths=[52*mm, 122*mm] ), Spacer(1,6) ])) # Q22 story.append(KeepTogether([ Table([[Paragraph("Q22. What is the microteaching cycle?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), make_table( ["Step", "Activity"], [ ["1. Plan", "Prepare a micro-lesson plan for a single teaching skill"], ["2. Teach", "Deliver the lesson to a small group (5-10 min)"], ["3. Observe", "Supervisor/peers observe using a rating scale"], ["4. Feedback", "Detailed constructive feedback given"], ["5. Re-plan", "Modify lesson based on feedback"], ["6. Re-teach", "Teach the same lesson again (same or different group)"], ["7. Re-feedback", "Final evaluation"], ], col_widths=[22*mm, 152*mm] ), Spacer(1,6) ])) # Q23 story.append(KeepTogether([ Table([[Paragraph("Q23. How is a lesson plan structured? What are its components?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> A lesson plan is a structured guide for a teaching session. Components:", a_style), Paragraph("1. Topic | 2. Target audience | 3. Duration | 4. General objectives | 5. Specific Learning Objectives (SLOs) | 6. Teaching aids / Resources | 7. Teaching-learning activities (Introduction → Content → Student activities) | 8. Evaluation (MCQs, questions) | 9. Closure / Summary | 10. References", a_style), Spacer(1,6) ])) # Q24 story.append(KeepTogether([ Table([[Paragraph("Q24. What are Specific Learning Objectives (SLOs)? How are they written?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> SLOs describe what the student will be able to do after the session using Bloom's action verbs. They must be <b>SMART</b> (Specific, Measurable, Achievable, Relevant, Time-bound).", a_style), Paragraph('<b>Format:</b> "By the end of this session, the student will be able to <i>[action verb]</i> [content] [condition/standard]."', a_style), make_table( ["Bloom's Level", "Action Verb", "Example (Beta-blockers)"], [ ["Knowledge", "List, Recall", "List four selective beta-1 blockers"], ["Comprehension", "Explain, Describe", "Explain the antihypertensive mechanism of beta-blockers"], ["Application", "Choose, Apply", "Choose an appropriate beta-blocker post-MI"], ["Analysis", "Analyze, Compare", "Analyze why beta-blockers are contraindicated in asthma"], ], col_widths=[38*mm, 38*mm, 98*mm] ), Spacer(1,6) ])) # Q25 story.append(KeepTogether([ Table([[Paragraph("Q25. Difference between Goals (General Objectives) and Specific Objectives?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), make_table( ["Feature", "Goal / General Objective", "Specific Learning Objective"], [ ["Scope", "Broad", "Narrow, precise"], ["Measurability", "Not directly measurable", "Directly measurable"], ["Example", "\"Understand antihypertensives\"", "\"List 3 mechanisms by which ACE inhibitors lower BP\""], ["Action verbs", "Understand, appreciate, know", "List, describe, explain, demonstrate, calculate"], ], col_widths=[36*mm, 68*mm, 70*mm] ), Spacer(1,6) ])) # Q26 story.append(KeepTogether([ Table([[Paragraph("Q26. What is Edgar Dale's Cone of Experience and its implications for TLMs?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> Edgar Dale's Cone of Experience (1946) shows that people remember:", a_style), make_table( ["Retention Rate", "Learning Activity"], [ ["10%", "What they READ"], ["20%", "What they HEAR"], ["30%", "What they SEE"], ["50%", "What they HEAR and SEE"], ["70%", "What they SAY and WRITE"], ["90%", "What they DO (simulate / perform)"], ], col_widths=[30*mm, 144*mm] ), Paragraph("<b>Implication:</b> Moving from passive (lectures) to active methods (CBL, simulation, role-play, SDL) significantly improves retention - the basis of CBME.", a_style), Spacer(1,6) ])) # =================================================================== # SECTION 5: ASSESSMENT & QUICK-FIRE # =================================================================== story.append(PageBreak()) story.append(section_header("SECTION 5: Assessment & Quick-Fire Questions")) story.append(Spacer(1, 6)) # Q27 story.append(KeepTogether([ Table([[Paragraph("Q27. What is formative vs. summative assessment in CBME?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), make_table( ["Feature", "Formative", "Summative"], [ ["Purpose", "Improve learning (Assessment FOR learning)", "Certify competence (Assessment OF learning)"], ["Timing", "Ongoing throughout training", "End of module/year/course"], ["Feedback", "Immediate, detailed", "Delayed, brief"], ["Stakes", "Low", "High"], ["Examples", "Quiz, DOPS, mini-CEX, case discussion", "Final theory exam, practical viva, thesis"], ], col_widths=[36*mm, 69*mm, 69*mm] ), Paragraph("CBME <b>strongly emphasizes formative assessment</b> and feedback as the driver of competency development.", a_style), Spacer(1,6) ])) # Q28 story.append(KeepTogether([ Table([[Paragraph("Q28. What is a Portfolio in medical education?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> A portfolio is a purposeful collection of evidence demonstrating a learner's effort, progress, and achievement over time. It includes:", a_style), Paragraph("• Reflective writing on clinical/teaching experiences", bullet_style), Paragraph("• Logbook entries (procedures, cases seen)", bullet_style), Paragraph("• Feedback received and actions taken", bullet_style), Paragraph("• Research activities, publications, presentations", bullet_style), Paragraph("• Self-assessment entries", bullet_style), Spacer(1,6) ])) # Q29 story.append(KeepTogether([ Table([[Paragraph("Q29. What is the SPICES model of curriculum?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> SPICES (Harden et al.) describes a spectrum of curriculum approaches:", a_style), make_table( ["Letter", "CBME Approach", "Traditional Approach"], [ ["S", "Student-centered", "Teacher-centered"], ["P", "Problem-based", "Information-gathering"], ["I", "Integrated", "Discipline-based"], ["C", "Community-based", "Hospital-based"], ["E", "Elective (student choice)", "Standard uniform"], ["S", "Systematic", "Apprenticeship"], ], col_widths=[16*mm, 79*mm, 79*mm] ), Spacer(1,6) ])) # Q30 story.append(KeepTogether([ Table([[Paragraph("Q30. What is the hidden curriculum?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> The hidden curriculum refers to the <b>unofficial, unintended lessons, values, and perspectives</b> students absorb through the culture and behavior of teachers - not explicitly taught.", a_style), Paragraph("<b>Example:</b> If a faculty member dismisses a patient's concerns during ward rounds, students implicitly learn that behavior. In CBME, awareness of the hidden curriculum is part of <b>professionalism education</b>.", a_style), Spacer(1,6) ])) # Q31 story.append(KeepTogether([ Table([[Paragraph("Q31. Name audio-visual aids used in pharmacology teaching.", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), Paragraph("<b>A:</b> Blackboard/Whiteboard · PowerPoint presentations · Models (receptor-drug interaction diagrams) · Videos (clinical, pharmacokinetic animations) · Handouts and worksheets · Case cards (for CBL/TBL) · Online polling apps (Mentimeter, Kahoot) · Simulated patient cards", a_style), Spacer(1,6) ])) # Q32 story.append(KeepTogether([ Table([[Paragraph("Q32. What is the difference between 'teaching' and 'facilitation'?", q_style)]], colWidths=[174*mm], style=[("BACKGROUND",(0,0),(-1,-1),LIGHT_BG),("LINEBELOW",(0,0),(-1,-1),1.2,TEAL), ("LEFTPADDING",(0,0),(-1,-1),8),("TOPPADDING",(0,0),(-1,-1),5), ("BOTTOMPADDING",(0,0),(-1,-1),5),("RIGHTPADDING",(0,0),(-1,-1),8)]), make_table( ["Feature", "Teaching", "Facilitation"], [ ["Orientation", "Teacher-centered", "Learner-centered"], ["Role", "Transmits knowledge", "Creates conditions for discovery"], ["Information source", "Teacher is primary source", "Learner discovers with guidance"], ["CBME context", "Didactic lectures", "PBL, TBL, SDL, CBL"], ["Metaphor", "Sage on the stage", "Guide on the side"], ], col_widths=[40*mm, 67*mm, 67*mm] ), Spacer(1,6) ])) # ---- FOOTER NOTE ---- story.append(Spacer(1, 10)) story.append(HRFlowable(width="100%", thickness=1, color=GREY_LINE)) story.append(Spacer(1, 4)) story.append(Paragraph( "MD Pharmacology Microteaching Viva Prep · CBME & Teaching-Learning Methods · " "Based on NMC/MCI CBME Framework · Prepared July 2026", footer_note_style )) # ---- BUILD ---- doc.build(story) print("PDF created successfully at:", OUTPUT) PYEOF
ls -lh /tmp/workspace/cbme-viva-guide/
CBME Viva QA Guide
PDF Document · PDF