Tomorrow is my ICMHE theory exam and I dont know nothing about this slide. And my professor will set questions from this slides of 5 marks . Please provide me answer in easy language and i will remember every points .
python -m markitdown /home/daytona/workspace/attachments/40c8b11b-e65c-454b-99ae-daae897f1639/Ethical\ issues.pptx
cd /home/daytona/workspace/attachments/40c8b11b-e65c-454b-99ae-daae897f1639/ && python3 -c " from pptx import Presentation prs = Presentation('Ethical issues.pptx') for i, slide in enumerate(prs.slides): print(f'\n===== SLIDE {i+1} =====') for shape in slide.shapes: if hasattr(shape, 'text') and shape.text.strip(): print(shape.text) "
pip install python-pptx --quiet && python3 -c " from pptx import Presentation prs = Presentation('/home/daytona/workspace/attachments/40c8b11b-e65c-454b-99ae-daae897f1639/Ethical issues.pptx') for i, slide in enumerate(prs.slides): print(f'\n===== SLIDE {i+1} =====') for shape in slide.shapes: if hasattr(shape, 'text') and shape.text.strip(): print(shape.text) "
Based on your professor's slides - written in simple, easy-to-remember language.
| Principle | Meaning |
|---|---|
| Autonomy | Respect the child's wishes/choices |
| Beneficence | Always do GOOD for the child |
| Non-maleficence | Avoid HARM to the child |
| Justice | Be FAIR to all children |
| Age | What is needed |
|---|---|
| Below 7 years | Only guardian consent (no assent needed) |
| 7-12 years | Guardian consent + verbal assent from child |
| 12-18 years | Guardian consent + written assent from child |
| 16+ years (NMC rule) | Consent taken from patient directly |
| 18+ years | Considered adult, gives own consent |
NHRC National Ethical Guidelines for Health Research 2022 - minimum age for consent in research = 18 years
| Situation | Legal limit |
|---|---|
| Abortion on request | Up to 12 weeks |
| Rape or incest | Up to 18 weeks |
| Life/health risk OR fetal anomaly | Beyond 18 weeks (allowed) |
| Step | Question to ask |
|---|---|
| 1. Understand | Can patient explain their condition, treatment and consequences in simple words? |
| 2. Appreciate | Does the patient accept this information applies to THEM personally? |
| 3. Reason | Can the patient compare options logically and explain their choice? |
| 4. Communicate | Can the patient express their choice (by speech, sign language, or any method)? |
Create a quick reference PDF I can print and study tonight
mkdir -p /home/daytona/workspace/icmhe-ethics && python3 -c "import reportlab; print('reportlab ok')"
~/icmhe-ethics/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import PageBreak
OUTPUT = "/home/daytona/workspace/icmhe-ethics/Ethical_Issues_Quick_Reference.pdf"
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=1.5*cm, rightMargin=1.5*cm,
topMargin=1.5*cm, bottomMargin=1.5*cm
)
# ββ Colour palette ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
DARK_BLUE = colors.HexColor("#1A3A5C")
MED_BLUE = colors.HexColor("#2563A8")
LIGHT_BLUE = colors.HexColor("#DBEAFE")
TEAL = colors.HexColor("#0D7377")
LIGHT_TEAL = colors.HexColor("#D1F5F5")
ORANGE = colors.HexColor("#C05621")
LIGHT_ORANGE= colors.HexColor("#FEF3C7")
GREEN = colors.HexColor("#166534")
LIGHT_GREEN = colors.HexColor("#DCFCE7")
RED = colors.HexColor("#991B1B")
LIGHT_RED = colors.HexColor("#FEE2E2")
PURPLE = colors.HexColor("#5B21B6")
LIGHT_PURPLE= colors.HexColor("#EDE9FE")
WHITE = colors.white
GREY_BG = colors.HexColor("#F1F5F9")
DARK_TEXT = colors.HexColor("#1E293B")
styles = getSampleStyleSheet()
def S(name, **kw):
return ParagraphStyle(name, **kw)
# ββ Custom styles ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
cover_title = S("CoverTitle", fontSize=22, leading=28, textColor=WHITE, alignment=TA_CENTER, fontName="Helvetica-Bold", spaceAfter=6)
cover_sub = S("CoverSub", fontSize=12, leading=16, textColor=LIGHT_BLUE, alignment=TA_CENTER, fontName="Helvetica", spaceAfter=4)
cover_info = S("CoverInfo", fontSize=10, leading=14, textColor=WHITE, alignment=TA_CENTER, fontName="Helvetica-Oblique")
part_header = S("PartHeader", fontSize=14, leading=18, textColor=WHITE, fontName="Helvetica-Bold", spaceBefore=10, spaceAfter=4)
section_hdr = S("SectionHdr", fontSize=11, leading=14, textColor=WHITE, fontName="Helvetica-Bold", spaceBefore=6, spaceAfter=3)
sub_hdr = S("SubHdr", fontSize=10, leading=13, textColor=DARK_BLUE, fontName="Helvetica-Bold", spaceBefore=5, spaceAfter=2)
body = S("Body", fontSize=8.5,leading=12, textColor=DARK_TEXT, fontName="Helvetica", spaceAfter=2)
body_bold = S("BodyBold", fontSize=8.5,leading=12, textColor=DARK_TEXT, fontName="Helvetica-Bold", spaceAfter=2)
bullet_style = S("Bullet", fontSize=8.5,leading=12, textColor=DARK_TEXT, fontName="Helvetica", leftIndent=12, firstLineIndent=-8, spaceAfter=2)
highlight = S("Highlight", fontSize=8.5,leading=12, textColor=RED, fontName="Helvetica-Bold", spaceAfter=2)
note_style = S("Note", fontSize=8, leading=11, textColor=TEAL, fontName="Helvetica-Oblique", spaceAfter=2)
case_q = S("CaseQ", fontSize=8.5,leading=12, textColor=PURPLE, fontName="Helvetica-Bold", spaceAfter=2)
case_a = S("CaseA", fontSize=8.5,leading=12, textColor=DARK_TEXT, fontName="Helvetica", leftIndent=10, spaceAfter=2)
memory_style = S("Memory", fontSize=9, leading=13, textColor=ORANGE, fontName="Helvetica-Bold", spaceAfter=2)
def colored_box(paragraph, bg_color, text_color=WHITE, padding=6):
"""Wrap paragraph in a single-cell table that acts as a colored box."""
t = Table([[paragraph]], colWidths=[doc.width])
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg_color),
("TOPPADDING", (0,0), (-1,-1), padding),
("BOTTOMPADDING",(0,0),(-1,-1), padding),
("LEFTPADDING", (0,0), (-1,-1), 8),
("RIGHTPADDING",(0,0), (-1,-1), 8),
("ROUNDEDCORNERS", [4]),
]))
return t
def part_box(text, color):
p = Paragraph(text, part_header)
return colored_box(p, color)
def section_box(text, color):
p = Paragraph(text, section_hdr)
return colored_box(p, color, padding=4)
def info_box(paragraphs, bg_color, border_color=None):
"""Box with multiple content items."""
if not isinstance(paragraphs, list):
paragraphs = [paragraphs]
t = Table([[p] for p in paragraphs], colWidths=[doc.width])
style_cmds = [
("BACKGROUND", (0,0), (-1,-1), bg_color),
("TOPPADDING", (0,0), (0,0), 6),
("BOTTOMPADDING",(0,-1),(-1,-1), 6),
("TOPPADDING", (0,1), (-1,-1), 2),
("BOTTOMPADDING",(0,0),(-1,-2), 2),
("LEFTPADDING", (0,0), (-1,-1), 8),
("RIGHTPADDING",(0,0), (-1,-1), 8),
]
if border_color:
style_cmds += [
("BOX", (0,0), (-1,-1), 1.5, border_color),
]
t.setStyle(TableStyle(style_cmds))
return t
def bullet(text, color="β’"):
return Paragraph(f"{color} {text}", bullet_style)
def two_col_table(rows, col_widths=None, header_bg=DARK_BLUE, row_bg=GREY_BG, alt_bg=WHITE):
if col_widths is None:
col_widths = [doc.width * 0.38, doc.width * 0.62]
style_cmds = [
("BACKGROUND", (0,0), (-1,0), header_bg),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 8.5),
("LEADING", (0,0), (-1,-1), 12),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING",(0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 6),
("RIGHTPADDING", (0,0), (-1,-1), 6),
("GRID", (0,0), (-1,-1), 0.5, colors.HexColor("#CBD5E1")),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
]
for i, _ in enumerate(rows[1:], 1):
bg = row_bg if i % 2 == 1 else alt_bg
style_cmds.append(("BACKGROUND", (0,i), (-1,i), bg))
# convert string cells to Paragraphs
p_rows = []
for i, row in enumerate(rows):
fs = "Helvetica-Bold" if i == 0 else "Helvetica"
tc = WHITE if i == 0 else DARK_TEXT
p_rows.append([Paragraph(str(c), S(f"tc{i}", fontSize=8.5, leading=12, textColor=tc, fontName=fs)) for c in row])
t = Table(p_rows, colWidths=col_widths)
t.setStyle(TableStyle(style_cmds))
return t
story = []
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# COVER
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
cover_table = Table(
[[Paragraph("ICMHE THEORY EXAM", cover_title)],
[Paragraph("Quick Reference: Ethical Issues in", cover_sub)],
[Paragraph("Child β’ Reproductive β’ Mental Health", cover_sub)],
[Spacer(1, 0.3*cm)],
[Paragraph("Dr. Prashamsha Tamrakar | GPEM, KAHS", cover_info)],
[Paragraph("Exam Date: June 7, 2026", cover_info)]],
colWidths=[doc.width]
)
cover_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), DARK_BLUE),
("TOPPADDING", (0,0), (-1,-1), 10),
("BOTTOMPADDING",(0,0),(-1,-1), 10),
("LEFTPADDING", (0,0), (-1,-1), 16),
("RIGHTPADDING",(0,0), (-1,-1), 16),
("ROUNDEDCORNERS", [6]),
]))
story.append(cover_table)
story.append(Spacer(1, 0.4*cm))
# Memory tricks banner
mem_items = [
Paragraph("π§ MEMORY TRICKS", S("mt", fontSize=9, fontName="Helvetica-Bold", textColor=ORANGE)),
bullet("4 Principles: A-B-N-J = Autonomy | Beneficence | Non-maleficence | Justice"),
bullet("Consent ages: 7 (verbal assent) β 12 (written assent) β 16 (NMC self-consent) β 18 (adult)"),
bullet("Abortion limits: 12 wks on request / 18 wks for rape/incest / beyond 18 if life risk or fetal anomaly"),
bullet("Break confidentiality WHEN: Abuse β’ Self-harm/Suicide β’ Violence to others β’ Notifiable disease β’ Law"),
bullet("Appelbaum capacity: Understand β Appreciate β Reason β Communicate"),
]
story.append(info_box(mem_items, LIGHT_ORANGE, ORANGE))
story.append(Spacer(1, 0.3*cm))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# PART 1: CHILD HEALTH
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(part_box("PART 1: ETHICAL ISSUES IN CHILD HEALTH", DARK_BLUE))
story.append(Spacer(1, 0.2*cm))
# Definition
story.append(section_box("What is Ethics in Child Health?", MED_BLUE))
def_items = [
bullet("Applying moral principles (Autonomy, Beneficence, Non-maleficence, Justice) to medical care of children."),
bullet("Children are a <b>special group</b> - vulnerable, limited capacity, dependent on adults."),
]
story.append(info_box(def_items, LIGHT_BLUE, MED_BLUE))
story.append(Spacer(1, 0.2*cm))
# 4 principles table
story.append(Paragraph("The 4 Core Ethical Principles", sub_hdr))
principles_table = two_col_table([
["Principle", "Meaning / Application in Child Health"],
["Autonomy", "Respect child's wishes; involve them in decisions (assent); use child-friendly language"],
["Beneficence", "Always do GOOD - vaccination, nutrition, proper treatment"],
["Non-maleficence", "Avoid HARM; balance benefits vs. risks; don't cause more suffering"],
["Justice", "Fair access regardless of geography, money, gender, caste, ethnicity"],
["Best Interest Standard", "Decisions guided by what is BEST for the child - medical + psychosocial + emotional"],
], col_widths=[doc.width*0.35, doc.width*0.65])
story.append(principles_table)
story.append(Spacer(1, 0.25*cm))
# Consent & Assent
story.append(KeepTogether([
section_box("Consent, Assent & Autonomy [HIGH PRIORITY - 5 marks likely]", TEAL),
Spacer(1, 0.15*cm),
Paragraph("<b>Consent</b> = formal legal permission (given by parents/guardians for children)", body),
Paragraph("<b>Assent</b> = child's own agreement (not legally binding, but ethically required)", body),
Spacer(1, 0.1*cm),
two_col_table([
["Age Group", "What is Required"],
["Below 7 years", "Guardian consent ONLY - no assent needed"],
["7-12 years", "Guardian consent + VERBAL assent from child"],
["12-18 years", "Guardian consent + WRITTEN assent from child"],
["16+ years (NMC rule)", "Patient can provide consent directly (Nepal Medical Council)"],
["18+ years", "Considered adult - gives own informed consent"],
], col_widths=[doc.width*0.38, doc.width*0.62], header_bg=TEAL),
]))
story.append(Spacer(1, 0.15*cm))
nhrc_items = [
Paragraph("<b>NHRC National Ethical Guidelines for Health Research 2022:</b>", S("nb", fontSize=8.5, fontName="Helvetica-Bold", textColor=TEAL)),
bullet("Minimum age for consent in research = <b>18 years</b>"),
bullet("Below 7 yrs: guardian consent only"),
bullet("7-12 yrs: guardian consent + verbal assent"),
bullet("12-18 yrs: guardian consent + written assent"),
]
story.append(info_box(nhrc_items, LIGHT_TEAL, TEAL))
story.append(Spacer(1, 0.2*cm))
# Confidentiality
story.append(KeepTogether([
section_box("Confidentiality & Privacy in Children", TEAL),
Spacer(1, 0.1*cm),
bullet("Keep child's health information private (especially mental health, sexual health)."),
bullet("For adolescents - respect privacy but clarify limits of confidentiality."),
Spacer(1, 0.1*cm),
Paragraph("<b>When CAN you BREAK confidentiality?</b>", highlight),
]))
conf_items = [
bullet("1. Child ABUSE, NEGLECT, or SEXUAL VIOLENCE (mandatory reporting to protect child)", "β "),
bullet("2. Child is at risk of SELF-HARM or SUICIDE", "β "),
bullet("3. Child has a NOTIFIABLE INFECTIOUS DISEASE", "β "),
bullet("4. REQUIRED BY LAW", "β "),
Paragraph("<i>Nepal context: Balance family/cultural roles with child's individual rights.</i>", note_style),
]
story.append(info_box(conf_items, LIGHT_RED, RED))
story.append(Spacer(1, 0.2*cm))
# End of life / serious illness
story.append(KeepTogether([
section_box("End-of-Life / Serious Illness Decisions", MED_BLUE),
Spacer(1, 0.1*cm),
bullet("When to start or stop life-sustaining treatment."),
bullet("Prognostic uncertainty must be considered."),
bullet("Balance: quality of life vs. extending life vs. suffering."),
]))
story.append(Spacer(1, 0.3*cm))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# PART 2: REPRODUCTIVE HEALTH
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(PageBreak())
story.append(part_box("PART 2: ETHICAL ISSUES IN REPRODUCTIVE HEALTH", TEAL))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"Reproductive health = health related to the reproductive system including contraception, pregnancy, abortion, maternal health, infertility, sexual health.",
body))
story.append(Spacer(1, 0.15*cm))
why_items = [
Paragraph("<b>Why ethics matters in reproductive health:</b>", S("wh", fontSize=8.5, fontName="Helvetica-Bold", textColor=TEAL)),
bullet("Bodily Autonomy - individuals have the right to decide about their own bodies."),
bullet("Moral Dilemmas - conflicting rights and interests (e.g., mother vs. fetus)."),
bullet("Cultural Sensitivities - diverse beliefs influence practices."),
bullet("Legal Frameworks - laws evolve; ethics provides consistent guidance."),
]
story.append(info_box(why_items, LIGHT_TEAL, TEAL))
story.append(Spacer(1, 0.2*cm))
# Abortion
story.append(section_box("Abortion Ethics [HIGH PRIORITY - Nepal Law]", RED))
story.append(Spacer(1, 0.1*cm))
story.append(Paragraph("<b>Core ethical conflict:</b> Bodily autonomy (woman's right) vs. Right to life (fetus)", body))
story.append(Spacer(1, 0.1*cm))
story.append(two_col_table([
["Situation", "Legal Limit in Nepal"],
["Abortion on request", "Up to 12 WEEKS"],
["Rape or incest", "Up to 18 WEEKS"],
["Life/health risk OR fetal anomaly", "Beyond 18 weeks (allowed)"],
], col_widths=[doc.width*0.45, doc.width*0.55], header_bg=RED))
story.append(Spacer(1, 0.15*cm))
nepal_abortion = [
Paragraph("<b>Nepal Abortion Key Facts:</b>", S("naf", fontSize=8.5, fontName="Helvetica-Bold", textColor=RED)),
bullet("Legalized in <b>2002</b>"),
bullet("Affirmed as fundamental right in <b>2018 Safe Motherhood and Reproductive Health Rights Act</b>"),
bullet("Free abortion at public hospitals since <b>2017</b>"),
bullet("<b>Sex-selective abortion</b> = ILLEGAL + UNETHICAL"),
bullet("Cultural stigma persists in rural/conservative communities"),
bullet("Many abortions still done unsafely (uncertified providers, pharmacy pills without supervision)"),
bullet("Accessibility gaps create inequality in service provision"),
]
story.append(info_box(nepal_abortion, LIGHT_RED, RED))
story.append(Spacer(1, 0.2*cm))
# ART / IVF
story.append(KeepTogether([
section_box("Assisted Reproductive Technology (ART) & IVF", DARK_BLUE),
Spacer(1, 0.1*cm),
bullet("IVF is performed in Nepal but <b>NO comprehensive laws</b> regulate ARTs."),
bullet("Without regulation: risk of abuse, exploitation, unsafe procedures, no accountability."),
bullet("High cost = inequality of access."),
bullet("No clear guidelines for <b>donor anonymity</b> or record keeping."),
bullet("Mismanagement causes social stigma and psychological harm."),
]))
story.append(Spacer(1, 0.2*cm))
# Contraception
story.append(KeepTogether([
section_box("Contraception", DARK_BLUE),
Spacer(1, 0.1*cm),
bullet("Needed to prevent unwanted pregnancy and reduce maternal mortality."),
bullet("Autonomy affected by myths, cultural beliefs, and misconceptions."),
bullet("Lack of proper counselling about benefits and side effects = low use."),
bullet("Access and equity also affect use."),
bullet("Confidentiality is a major concern for <b>adolescents</b>."),
]))
story.append(Spacer(1, 0.3*cm))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# PART 3: MENTAL HEALTH
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(PageBreak())
story.append(part_box("PART 3: ETHICAL ISSUES IN MENTAL HEALTH", PURPLE))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"Mental health = emotional, psychological, and social well-being. Ethical issues arise because mental illness may <b>impair capacity</b>, involve stigma, and intersect with human rights. In Nepal: under-served, under-recognized, with cultural barriers.",
body))
story.append(Spacer(1, 0.15*cm))
# Autonomy & Capacity
story.append(section_box("Autonomy & Decision-Making Capacity", PURPLE))
story.append(Spacer(1, 0.1*cm))
story.append(Paragraph(
"<b>Core tension:</b> Paternalism / involuntary treatment vs. respecting patient's autonomy",
body))
story.append(Spacer(1, 0.1*cm))
story.append(bullet("Always assess capacity first before making decisions for the patient."))
story.append(bullet("Involve patients in decisions as much as possible."))
story.append(bullet("If capacity is impaired: involve guardians + also seek patient assent."))
story.append(bullet("Involuntary admission is an ethical challenge, especially where legal oversight is weak."))
story.append(Spacer(1, 0.15*cm))
# Appelbaum table
story.append(Paragraph("<b>Paul Appelbaum's 4-Step Capacity Assessment [Exam Favourite!]</b>", sub_hdr))
story.append(two_col_table([
["Step", "Question to Assess"],
["1. UNDERSTAND", "Can patient explain their condition, treatment, and consequences in simple words?"],
["2. APPRECIATE", "Does the patient accept that this information applies to THEM personally?"],
["3. REASON", "Can the patient compare options logically and explain their choice?"],
["4. COMMUNICATE", "Can the patient express their choice by ANY method (speech, sign language, etc.)?"],
], col_widths=[doc.width*0.28, doc.width*0.72], header_bg=PURPLE))
story.append(Spacer(1, 0.2*cm))
# Confidentiality in MH
story.append(KeepTogether([
section_box("Confidentiality in Mental Health", PURPLE),
Spacer(1, 0.1*cm),
Paragraph("Disclosure of diagnosis/treatment must be handled carefully - breach causes stigma, discrimination, social harm.", body),
Spacer(1, 0.1*cm),
Paragraph("<b>Break confidentiality WHEN:</b>", highlight),
]))
mh_conf = [
bullet("Risk of SUICIDE or serious SELF-HARM", "β "),
bullet("Risk of VIOLENCE TO OTHERS", "β "),
bullet("REQUIRED BY LAW", "β "),
]
story.append(info_box(mh_conf, LIGHT_RED, RED))
story.append(Spacer(1, 0.2*cm))
# Other MH issues - 2 column layout
col_w = doc.width / 2 - 0.2*cm
left_items = [
[section_box("Stigma & Discrimination", DARK_BLUE)],
[Spacer(1, 0.08*cm)],
[bullet("Mental illness leads to blame, shame, social exclusion, self-stigma.")],
[bullet("Stigma prevents people from seeking help.")],
[bullet("Solution: Psychoeducation for families + culturally appropriate communication.")],
]
right_items = [
[section_box("Access & Equity", DARK_BLUE)],
[Spacer(1, 0.08*cm)],
[bullet("Rural-urban divide and cost barriers leave many untreated.")],
[bullet("Very few specialists; minimal hospital beds per population.")],
[bullet("Support community-based mental health programs.")],
]
# Use simple stacking for now
for left in left_items:
story.append(left[0])
for right in right_items:
story.append(right[0])
story.append(Spacer(1, 0.2*cm))
# Nepal MH legal
story.append(KeepTogether([
section_box("Nepal Mental Health: Legal & Ethical Facts", PURPLE),
Spacer(1, 0.1*cm),
]))
nepal_mh = [
bullet("<b>National Mental Health Survey (2019-20):</b> awareness rising but legal protections are weak."),
bullet("Mental health professionals (psychologists, counsellors) are NOT well regulated."),
bullet("Nepal's Constitution: guarantees right to dignified life and mental well-being."),
bullet("Involuntary treatment must be in the <b>LEAST RESTRICTIVE environment</b>."),
bullet("Involuntary treatment = measure of <b>LAST RESORT</b>."),
bullet("Advocate for clearer legislation and oversight bodies."),
]
story.append(info_box(nepal_mh, LIGHT_PURPLE, PURPLE))
story.append(Spacer(1, 0.3*cm))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# CASE SCENARIOS - ANSWER KEY
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(PageBreak())
story.append(part_box("CASE SCENARIO ANSWER KEY", ORANGE))
story.append(Spacer(1, 0.2*cm))
cases = [
{
"title": "CHILD HEALTH CASES",
"color": MED_BLUE,
"items": [
("Vaccines running out, leader wants relatives prioritized",
"JUSTICE principle. Must distribute FAIRLY. Cannot give preference based on status. Use fair, transparent criteria (most vulnerable first)."),
("5-year-old with pneumonia, father refuses antibiotics",
"BEST INTEREST STANDARD applies. Child's welfare overrides parent's refusal. Educate father about risks. If necessary, involve authorities."),
("16-year-old wants HIV test without informing parents",
"Respect adolescent's confidentiality. Assess risk and capacity. Generally can proceed with proper counselling while respecting privacy."),
("17-year-old girl seeking emergency contraception",
"Provide CONFIDENTIAL counselling. Explain legal/ethical limits. Only break confidentiality if there is risk of ABUSE."),
]
},
{
"title": "REPRODUCTIVE HEALTH CASES",
"color": TEAL,
"items": [
("Married woman at 13 weeks, facility refuses abortion",
"Principles at stake: Autonomy, Justice, Beneficence, Non-maleficence.\nRefusal is NOT ethically justified - law allows up to 18 weeks in certain cases.\nViolates Justice (she is legally eligible) + Non-maleficence (increases health risks).\nFacility must either provide care OR refer to a facility that can."),
("17-year-old buys abortion pills from pharmacy, gets complications",
"Issues: Autonomy of a minor, Non-maleficence (unsafe self-medication), Justice (lack of access), Informed Consent.\nPharmacist must: follow regulations, not dispense without prescription, provide full guidance on use/side effects/when to seek help.\nSystemic need: regulate pharmacies, expand safe abortion access, educate adolescents."),
]
},
{
"title": "MENTAL HEALTH CASES",
"color": PURPLE,
"items": [
("25-year-old involuntarily admitted, refuses medication",
"Involuntary admission justified IF: risk of harm to self + lacks decision-making capacity.\nBeneficence supports medication; Autonomy supports his refusal.\nUse LEAST RESTRICTIVE option first. Family can be surrogate decision-makers.\nNepal mental health laws evolving - also apply international human rights standards."),
("17-year-old says he wants to die, asks not to tell family",
"BREAK CONFIDENTIALITY - suicidal risk is an EXCEPTION to confidentiality.\nEthical response: Immediately involve family/guardian and mental health professional.\nPatient safety ALWAYS comes first."),
("Woman with schizophrenia refuses medication, family insists",
"FIRST: Assess her capacity using Appelbaum's 4 steps.\nIf HAS capacity: her choice must be respected (Autonomy).\nIf LACKS capacity: family can be surrogate decision-makers but must act in HER best interest.\nUse least restrictive treatment approach."),
]
},
]
for case_group in cases:
story.append(section_box(case_group["title"], case_group["color"]))
story.append(Spacer(1, 0.1*cm))
for q, a in case_group["items"]:
case_content = [
Paragraph(f"<b>Q: {q}</b>", case_q),
Paragraph(a.replace("\n", "<br/>"), case_a),
Spacer(1, 0.05*cm),
]
story.append(info_box(case_content, GREY_BG))
story.append(Spacer(1, 0.1*cm))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# FINAL SUMMARY / TAKE HOME
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(Spacer(1, 0.1*cm))
story.append(part_box("TAKE-HOME MESSAGE (Memorize This!)", DARK_BLUE))
story.append(Spacer(1, 0.1*cm))
takehome = [
bullet("Ethics is <b>CENTRAL</b> to clinical medicine - not optional."),
bullet("Applying ethics considers: <b>age, capacity, law, culture, and communication</b>."),
bullet("Each scenario may involve <b>conflict of principles</b> - requires reasoned discussion + documentation."),
bullet("Always <b>PRIORITIZE patient welfare, autonomy, and justice</b> in all clinical scenarios."),
]
story.append(info_box(takehome, LIGHT_BLUE, DARK_BLUE))
# Build
doc.build(story)
print(f"PDF created: {OUTPUT}")
python3 /home/daytona/workspace/icmhe-ethics/generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/icmhe-ethics/Ethical_Issues_Quick_Reference.pdf
Ethical Issues Quick Reference
PDF Document Β· PDF
Tomorrow is my ICMHE theory exam of mbbs 2nd year .and I dont know nothing about components of repiratory and abdominal examinations. And my professor will set questions from this slides of 5 marks . Please provide me answer in easy language and i will remember every points .
Written in simple language - easy to remember for tomorrow's exam!
I - P - P - A
Inspection β Palpation β Percussion β Auscultation
| Shape | What it means |
|---|---|
| Normal | Symmetric, elliptical |
| Barrel chest | Over-inflated (COPD, emphysema) |
| Pectus excavatum | Sunken sternum (funnel chest) |
| Pectus carinatum | Pigeon chest - sternum sticks out |
| Kyphoscoliosis | Curved spine - causes restrictive lung disease |
| Pattern | Meaning |
|---|---|
| Tachypnoea | Fast breathing (>20/min) - infection, pain |
| Bradypnoea | Slow breathing (<12/min) - CNS depression |
| Cheyne-Stokes | Crescendo-decrescendo cycles with apnoea - heart failure, brain damage |
| Kussmaul | Deep, labored breathing - diabetic ketoacidosis |
| Biot's | Irregular bursts with apnoea - brainstem damage |
| Fremitus | Condition |
|---|---|
| Increased | Consolidation (pneumonia) - sound travels better through solid lung |
| Decreased/Absent | Pleural effusion, pneumothorax, emphysema - fluid/air blocks transmission |
| Note | Sound | Normal location | Abnormal cause |
|---|---|---|---|
| Resonant | Hollow, drum-like | Normal air-filled lung | Normal |
| Hyper-resonant | Very hollow/booming | Normally nowhere | Pneumothorax, emphysema |
| Tympanitic | Like a drum | Stomach, bowel | Tension pneumothorax |
| Dull | Thud-like, flat | Liver, heart, thigh | Consolidation (pneumonia) |
| Stony dull | Very flat, no resonance | Nowhere normally | Pleural effusion |
| Type | Where heard | Character |
|---|---|---|
| Vesicular | Over most of lung | Soft, low-pitched; heard mainly in inspiration; inspiration longer than expiration |
| Bronchial | Over trachea/large bronchi | Harsh, loud; expiration = inspiration; gap between the two |
| Bronchovesicular | Near carina (between scapulae) | Mixed |
| Sound | What it sounds like | Cause |
|---|---|---|
| Crackles (Crepitations) | Like walking on dry leaves / Rice Krispies; non-musical | Pulmonary oedema, pneumonia, fibrosis |
| Wheeze (Rhonchi) | Musical, high or low pitched | Asthma, COPD, foreign body |
| Pleural Friction Rub | Like rubbing leather together | Pleuritis (pleural surfaces inflamed) |
| Stridor | High-pitched noise on inspiration (heard WITHOUT stethoscope) | Upper airway obstruction |
| Condition | Inspection | Palpation (Fremitus) | Percussion | Breath sounds | Vocal resonance |
|---|---|---|---|---|---|
| Normal | Normal | Normal | Resonant | Vesicular | Normal |
| Consolidation (Pneumonia) | Reduced movement | Increased | Dull | Bronchial | Increased |
| Pleural Effusion | Reduced movement; trachea pushed away | Absent | Stony dull | Absent/reduced | Absent (aegophony at top) |
| Pneumothorax | Reduced movement; trachea pushed away | Absent | Hyper-resonant | Absent | Absent |
| Fibrosis | Reduced movement; trachea pulled towards | Increased | Dull | Reduced | Reduced |
| Emphysema/COPD | Barrel chest | Decreased | Hyper-resonant | Reduced | Reduced |
| Finding | What it means |
|---|---|
| Tenderness | Inflammation at that location |
| Guarding | Voluntary muscle tensing (patient is anxious/protecting) |
| Rigidity | Involuntary board-like hardness = peritonitis (surgical emergency!) |
| Rebound tenderness | Pain WORSE on releasing pressure = peritoneal irritation |
| Murphy's sign | Pain on deep inspiration during right upper quadrant palpation = acute cholecystitis |
| McBurney's point tenderness | 1/3 from ASIS to umbilicus = appendicitis |
| Feature | Respiratory Exam | Abdominal Exam |
|---|---|---|
| Order | IPPA | IAPP (auscultate 2nd!) |
| Patient position | Sitting | Lying flat (supine) |
| Start of palpation | Top of chest | Away from the pain area |
| Hands for palpation | Palm/ulnar border for fremitus | Flat hand, warm |
| Unique tests | Vocal fremitus, resonance | Shifting dullness, fluid thrill, Murphy's sign |
Create a printable quick reference PDF for respiratory and abdominal exam
mkdir -p /home/daytona/workspace/mbbs-exam && python3 -c "import reportlab; print('ok')"
~/mbbs-exam/generate_exam_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether, PageBreak
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT
OUTPUT = "/home/daytona/workspace/mbbs-exam/Respiratory_Abdominal_Exam_QuickRef.pdf"
W, H = A4
doc = SimpleDocTemplate(
OUTPUT, pagesize=A4,
leftMargin=1.2*cm, rightMargin=1.2*cm,
topMargin=1.2*cm, bottomMargin=1.2*cm
)
PW = W - 2.4*cm # printable width
# ββ Palette ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
NAVY = colors.HexColor("#0F2B4C")
DEEP_BLUE = colors.HexColor("#1A56A0")
MID_BLUE = colors.HexColor("#2D7DD2")
LIGHT_BLUE = colors.HexColor("#DBEAFE")
PALE_BLUE = colors.HexColor("#EFF6FF")
TEAL = colors.HexColor("#0F766E")
LIGHT_TEAL = colors.HexColor("#CCFBF1")
FOREST = colors.HexColor("#166534")
LIGHT_GREEN = colors.HexColor("#DCFCE7")
CRIMSON = colors.HexColor("#991B1B")
LIGHT_RED = colors.HexColor("#FEE2E2")
ORANGE = colors.HexColor("#C2410C")
LIGHT_ORANGE= colors.HexColor("#FFF7ED")
PURPLE = colors.HexColor("#5B21B6")
LIGHT_PURPLE= colors.HexColor("#EDE9FE")
GOLD = colors.HexColor("#B45309")
LIGHT_GOLD = colors.HexColor("#FEF3C7")
GREY_DARK = colors.HexColor("#374151")
GREY_MID = colors.HexColor("#6B7280")
GREY_LIGHT = colors.HexColor("#F3F4F6")
GREY_BG = colors.HexColor("#F8FAFC")
SLATE = colors.HexColor("#1E293B")
WHITE = colors.white
# ββ Style factory βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
def S(name, **kw):
defaults = dict(fontName="Helvetica", fontSize=8.5, leading=12,
textColor=SLATE, spaceAfter=0, spaceBefore=0)
defaults.update(kw)
return ParagraphStyle(name, **defaults)
cover_title = S("ct", fontSize=20, leading=25, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=4)
cover_sub = S("cs", fontSize=11, leading=15, textColor=colors.HexColor("#BFDBFE"), fontName="Helvetica", alignment=TA_CENTER, spaceAfter=3)
cover_detail = S("cd", fontSize=9, leading=13, textColor=colors.HexColor("#93C5FD"), fontName="Helvetica-Oblique", alignment=TA_CENTER)
part_hdr = S("ph", fontSize=13, leading=17, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_LEFT)
sec_hdr = S("sh", fontSize=10, leading=14, textColor=WHITE, fontName="Helvetica-Bold")
step_hdr = S("sth", fontSize=9.5, leading=13, textColor=WHITE, fontName="Helvetica-Bold")
sub_hdr = S("subh", fontSize=9, leading=13, textColor=NAVY, fontName="Helvetica-Bold", spaceAfter=2, spaceBefore=3)
body = S("b", fontSize=8.5, leading=12, textColor=SLATE)
body_bold = S("bb", fontSize=8.5, leading=12, textColor=SLATE, fontName="Helvetica-Bold")
bullet_s = S("bl", fontSize=8.5, leading=12, textColor=SLATE, leftIndent=10, firstLineIndent=-8)
note_s = S("ns", fontSize=8, leading=11, textColor=TEAL, fontName="Helvetica-Oblique")
mem_s = S("ms", fontSize=8.5, leading=12, textColor=GOLD, fontName="Helvetica-Bold")
warn_s = S("ws", fontSize=8.5, leading=12, textColor=CRIMSON, fontName="Helvetica-Bold")
small_bold = S("smb", fontSize=7.5, leading=11, textColor=SLATE, fontName="Helvetica-Bold")
small_body = S("smbo", fontSize=7.5, leading=11, textColor=SLATE)
tbl_hdr_s = S("ths", fontSize=8, leading=11, textColor=WHITE, fontName="Helvetica-Bold")
tbl_cell_s = S("tcs", fontSize=8, leading=11, textColor=SLATE)
# ββ Helpers ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
def colored_box(content_list, bg, border=None, lpad=8, rpad=8, tpad=6, bpad=6):
data = [[item] for item in content_list]
w = [PW]
cmds = [
("BACKGROUND", (0,0),(-1,-1), bg),
("LEFTPADDING", (0,0),(-1,-1), lpad),
("RIGHTPADDING", (0,0),(-1,-1), rpad),
("TOPPADDING", (0,0),(0,0), tpad),
("BOTTOMPADDING", (0,-1),(-1,-1),bpad),
("TOPPADDING", (0,1),(-1,-1), 2),
("BOTTOMPADDING", (0,0),(-1,-2), 2),
]
if border:
cmds.append(("BOX", (0,0),(-1,-1), 1.5, border))
t = Table(data, colWidths=w)
t.setStyle(TableStyle(cmds))
return t
def part_banner(text, color):
return colored_box([Paragraph(text, part_hdr)], color, tpad=8, bpad=8)
def step_banner(num, text, color):
p = Paragraph(f"STEP {num}: {text}", step_hdr)
return colored_box([p], color, tpad=5, bpad=5)
def section_banner(text, color):
return colored_box([Paragraph(text, sec_hdr)], color, tpad=4, bpad=4)
def info_box(items, bg, border=None):
return colored_box(items, bg, border)
def sp(h=0.15):
return Spacer(1, h*cm)
def bullet(text, symbol="β’"):
return Paragraph(f"<font color='#1A56A0'>{symbol}</font> {text}", bullet_s)
def make_table(rows, col_w, hdr_bg=NAVY, row1_bg=GREY_LIGHT, row2_bg=WHITE, fontsize=8):
p_rows = []
for i, row in enumerate(rows):
if i == 0:
p_rows.append([Paragraph(str(c), S(f"h{i}", fontSize=fontsize, leading=fontsize+3,
textColor=WHITE, fontName="Helvetica-Bold")) for c in row])
else:
p_rows.append([Paragraph(str(c), S(f"r{i}", fontSize=fontsize, leading=fontsize+3,
textColor=SLATE)) for c in row])
t = Table(p_rows, colWidths=col_w)
cmds = [
("BACKGROUND", (0,0),(-1,0), hdr_bg),
("GRID", (0,0),(-1,-1), 0.4, colors.HexColor("#CBD5E1")),
("TOPPADDING", (0,0),(-1,-1), 3),
("BOTTOMPADDING", (0,0),(-1,-1), 3),
("LEFTPADDING", (0,0),(-1,-1), 5),
("RIGHTPADDING", (0,0),(-1,-1), 5),
("VALIGN", (0,0),(-1,-1), "MIDDLE"),
]
for i in range(1, len(rows)):
bg = row1_bg if i % 2 == 1 else row2_bg
cmds.append(("BACKGROUND", (0,i),(-1,i), bg))
t.setStyle(TableStyle(cmds))
return t
def two_col_layout(left_items, right_items, split=0.5):
lw = PW * split - 0.2*cm
rw = PW * (1-split) - 0.2*cm
# build inner tables for each column
def col_table(items):
data = [[it] for it in items]
t = Table(data, colWidths=[lw if items is left_items else rw])
t.setStyle(TableStyle([
("TOPPADDING", (0,0),(-1,-1), 1),
("BOTTOMPADDING", (0,0),(-1,-1), 1),
("LEFTPADDING", (0,0),(-1,-1), 0),
("RIGHTPADDING", (0,0),(-1,-1), 0),
]))
return t
# wrap in outer 2-col table
outer = Table([[col_table(left_items), col_table(right_items)]],
colWidths=[lw + 0.2*cm, rw + 0.2*cm])
outer.setStyle(TableStyle([
("VALIGN", (0,0),(-1,-1), "TOP"),
("TOPPADDING", (0,0),(-1,-1), 0),
("BOTTOMPADDING",(0,0),(-1,-1), 0),
("LEFTPADDING", (0,0),(-1,-1), 0),
("RIGHTPADDING", (0,0),(-1,-1), 0),
]))
return outer
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story = []
# ββ COVER ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
cover_data = [
[Paragraph("MBBS 2nd Year Β· ICMHE Theory Exam", cover_detail)],
[sp(0.3)],
[Paragraph("Clinical Examination", cover_title)],
[Paragraph("Quick Reference Guide", cover_title)],
[sp(0.2)],
[Paragraph("Respiratory System | Abdominal System", cover_sub)],
[sp(0.15)],
[Paragraph("Inspection Β· Palpation Β· Percussion Β· Auscultation", cover_detail)],
[sp(0.1)],
[Paragraph("Exam Date: June 7, 2026", cover_detail)],
]
cover_tbl = Table(cover_data, colWidths=[PW])
cover_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), NAVY),
("TOPPADDING", (0,0),(-1,-1), 4),
("BOTTOMPADDING", (0,0),(-1,-1), 4),
("LEFTPADDING", (0,0),(-1,-1), 16),
("RIGHTPADDING", (0,0),(-1,-1), 16),
]))
story.append(cover_tbl)
story.append(sp(0.3))
# Golden Rule box
golden = info_box([
Paragraph("β THE GOLDEN RULE OF CLINICAL EXAMINATION", S("gr", fontSize=9, fontName="Helvetica-Bold", textColor=GOLD)),
Paragraph(
"<b>Respiratory:</b> <font color='#1A56A0'>I</font>nspection β <font color='#1A56A0'>P</font>alpation β "
"<font color='#1A56A0'>P</font>ercussion β <font color='#1A56A0'>A</font>uscultation "
"<font color='#C2410C'>(IPPA)</font>", body),
Paragraph(
"<b>Abdominal:</b> <font color='#1A56A0'>I</font>nspection β <font color='#0F766E'>A</font>uscultation β "
"<font color='#1A56A0'>P</font>alpation β <font color='#1A56A0'>P</font>ercussion "
"<font color='#C2410C'>(IAPP β auscultate BEFORE touching!)</font>", body),
], LIGHT_GOLD, GOLD)
story.append(golden)
story.append(sp(0.3))
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# PAGE 1 β RESPIRATORY EXAM
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(part_banner("PART 1: RESPIRATORY (CHEST) EXAMINATION", NAVY))
story.append(sp(0.2))
# Patient position note
story.append(info_box([
Paragraph("π <b>Patient Position:</b> Sitting upright, chest fully exposed from front and back. "
"Good lighting, quiet room, warm hands.", body)
], PALE_BLUE, DEEP_BLUE))
story.append(sp(0.2))
# ββ STEP 1: INSPECTION ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(step_banner(1, "INSPECTION β Just LOOK", DEEP_BLUE))
story.append(sp(0.1))
left_insp = [
Paragraph("<b>A) Chest Shape</b>", sub_hdr),
make_table([
["Shape", "Meaning"],
["Normal", "Symmetric, elliptical"],
["Barrel chest", "COPD / emphysema"],
["Pectus excavatum", "Funnel chest (sunken sternum)"],
["Pectus carinatum", "Pigeon chest (protruding sternum)"],
["Kyphoscoliosis", "Curved spine β restrictive disease"],
], [PW*0.22, PW*0.28], fontsize=7.5),
sp(0.2),
Paragraph("<b>B) Breathing Pattern</b>", sub_hdr),
make_table([
["Pattern", "Meaning"],
["Tachypnoea", ">20/min: infection, pain"],
["Bradypnoea", "<12/min: CNS depression"],
["Cheyne-Stokes", "Crescendo cycles + apnoea: heart failure, brain"],
["Kussmaul", "Deep, labored: diabetic ketoacidosis (DKA)"],
["Biot's", "Irregular bursts + apnoea: brainstem damage"],
], [PW*0.22, PW*0.28], fontsize=7.5),
]
right_insp = [
Paragraph("<b>C) What else to look for</b>", sub_hdr),
bullet("Trachea β midline or deviated?"),
bullet("Chest wall movement β equal on both sides?"),
bullet("Accessory muscle use (neck/intercostal) = respiratory distress"),
bullet("Scars from previous surgery"),
bullet("Gynecomastia"),
bullet("Tobacco stains on fingers/lips/teeth"),
sp(0.1),
Paragraph("<b>D) Smell clues</b>", sub_hdr),
bullet("Ketones on breath = DKA"),
bullet("Foul smell = anaerobic lung abscess"),
bullet("Alcohol odor = ethanol intoxication"),
bullet("Sweet smell = <i>Pseudomonas</i> infection"),
sp(0.1),
info_box([
Paragraph("β <b>Trachea deviation rule:</b>", warn_s),
bullet("Pulled TOWARDS lesion = collapse / fibrosis"),
bullet("Pushed AWAY from lesion = effusion / tension pneumothorax"),
], LIGHT_RED, CRIMSON),
]
story.append(two_col_layout(left_insp, right_insp, split=0.52))
story.append(sp(0.2))
# ββ STEP 2: PALPATION βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(step_banner(2, "PALPATION β FEEL the chest", MID_BLUE))
story.append(sp(0.1))
left_palp = [
Paragraph("<b>A) Trachea Position</b>", sub_hdr),
bullet("Place finger in suprasternal notch"),
bullet("Central = normal"),
bullet("Deviated = mediastinal shift"),
sp(0.15),
Paragraph("<b>B) Chest Expansion</b>", sub_hdr),
bullet("Both hands on chest, thumbs meet at midline"),
bullet("Ask deep breath β thumbs should move apart equally (2-3 cm)"),
bullet("Reduced on one side = disease on THAT side"),
]
right_palp = [
Paragraph("<b>C) Vocal (Tactile) Fremitus</b>", sub_hdr),
bullet("Ulnar border / palm on chest"),
bullet('Ask patient to say "99" or "one-two-three"'),
bullet("Feel vibrations β compare both sides"),
sp(0.1),
make_table([
["Fremitus", "Condition"],
["INCREASED", "Consolidation (pneumonia) β solid lung transmits sound better"],
["DECREASED", "Pleural effusion, pneumothorax, emphysema β fluid/air blocks"],
], [PW*0.2, PW*0.3], hdr_bg=MID_BLUE, fontsize=7.5),
sp(0.1),
Paragraph("<b>D) Other palpation findings</b>", sub_hdr),
bullet("Point tenderness = rib fracture, costochondritis"),
bullet("Subcutaneous emphysema = air crackles under skin"),
bullet("Cervical rib"),
]
story.append(two_col_layout(left_palp, right_palp, split=0.47))
story.append(sp(0.2))
# ββ STEP 3: PERCUSSION ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(step_banner(3, "PERCUSSION β TAP the chest", TEAL))
story.append(sp(0.1))
left_perc = [
Paragraph("<b>Technique</b>", sub_hdr),
bullet("Pleximeter finger (middle) flat on chest"),
bullet("Strike with plexor finger (other middle finger)"),
bullet("Uniform, free, easy stroke"),
bullet("Percuss top β bottom, comparing left vs right"),
sp(0.1),
Paragraph("<b>Percussion Notes</b>", sub_hdr),
make_table([
["Note", "Sound", "Cause"],
["Resonant", "Hollow", "Normal air-filled lung"],
["Hyper-resonant","Very booming", "Pneumothorax, emphysema"],
["Tympanitic", "Drum-like", "Tension pneumothorax"],
["Dull", "Thud-like", "Consolidation (pneumonia)"],
["Stony dull", "Very flat", "Pleural effusion"],
], [PW*0.18, PW*0.15, PW*0.2], hdr_bg=TEAL, fontsize=7.5),
]
right_perc = [
Paragraph("<b>Liver & Lung boundary</b>", sub_hdr),
bullet("Right side: dullness starts at 6th rib in mid-clavicular line"),
bullet("Percuss downward from lung resonance to liver dullness"),
sp(0.1),
Paragraph("<b>Areas to percuss</b>", sub_hdr),
bullet("Anterior: apices β upper β mid β lower zones"),
bullet("Posterior: same zones back"),
bullet("Sides: liver (right) and spleen (left)"),
sp(0.1),
info_box([
Paragraph("π‘ <b>Memory tip:</b>", mem_s),
bullet("Fluid = STONY DULL (heaviest = falls down)"),
bullet("Air = HYPER-RESONANT (lightest = rises up)"),
bullet("Solid/pus = DULL"),
], LIGHT_TEAL, TEAL),
]
story.append(two_col_layout(left_perc, right_perc, split=0.52))
story.append(sp(0.2))
# ββ STEP 4: AUSCULTATION ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(step_banner(4, "AUSCULTATION β LISTEN with stethoscope", FOREST))
story.append(sp(0.1))
left_ausc = [
Paragraph("<b>Technique</b>", sub_hdr),
bullet("Diaphragm = high-pitched sounds (breath sounds)"),
bullet("Bell = low-pitched sounds"),
bullet("Breathe through open mouth"),
bullet("Compare left and right sides symmetrically"),
sp(0.1),
Paragraph("<b>Normal Breath Sounds</b>", sub_hdr),
make_table([
["Type", "Where", "Character"],
["Vesicular", "Most of lung", "Soft; inspiration longer than expiration"],
["Bronchial", "Over trachea", "Harsh; expiration = inspiration; gap between"],
["Bronchovesicular","Near carina", "Mixed vesicular + bronchial"],
], [PW*0.18, PW*0.18, PW*0.18], hdr_bg=FOREST, fontsize=7.5),
]
right_ausc = [
Paragraph("<b>Added / Abnormal Sounds</b>", sub_hdr),
make_table([
["Sound", "Cause"],
["Crackles (fine)", "Pulmonary oedema, fibrosis"],
["Crackles (coarse)", "Pneumonia, bronchiectasis"],
["Wheeze", "Asthma, COPD, foreign body"],
["Pleural friction rub","Pleuritis (inflamed pleura)"],
["Stridor", "Upper airway obstruction (no stethoscope needed)"],
], [PW*0.25, PW*0.25], hdr_bg=FOREST, fontsize=7.5),
sp(0.1),
Paragraph("<b>Vocal Resonance</b>", sub_hdr),
bullet('Say "99" while listening: INCREASED = consolidation'),
bullet("Aegophony = goat-bleat at top of effusion"),
bullet("Whispering pectoriloquy = clearly heard whisper = consolidation"),
]
story.append(two_col_layout(left_ausc, right_ausc, split=0.5))
story.append(sp(0.2))
# ββ MASTER COMPARISON TABLE ββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_banner("MASTER COMPARISON TABLE β Classic Examination Findings", NAVY))
story.append(sp(0.1))
story.append(make_table([
["Condition", "Movement", "Trachea", "Fremitus", "Percussion", "Breath Sounds", "Vocal Resonance"],
["Normal", "Equal", "Central", "Normal", "Resonant", "Vesicular", "Normal"],
["Consolidation\n(Pneumonia)", "Reduced", "Central", "INCREASED", "DULL", "Bronchial", "INCREASED"],
["Pleural Effusion","Reduced", "Pushed AWAY", "ABSENT", "STONY DULL", "Absent/reduced", "Absent (aegophony at top)"],
["Pneumothorax", "Reduced", "Pushed AWAY", "ABSENT", "HYPER-resonant","Absent", "Absent"],
["Collapse/Fibrosis","Reduced", "Pulled TOWARDS", "INCREASED", "DULL", "Reduced/bronchial","Reduced"],
["Emphysema/COPD", "Reduced", "Central", "DECREASED", "HYPER-resonant","Reduced", "Reduced"],
], [PW*0.16, PW*0.1, PW*0.12, PW*0.1, PW*0.13, PW*0.17, PW*0.22],
hdr_bg=NAVY, fontsize=7.5))
story.append(sp(0.3))
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# PAGE 2 β ABDOMINAL EXAM
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(PageBreak())
story.append(part_banner("PART 2: ABDOMINAL EXAMINATION", TEAL))
story.append(sp(0.2))
# Position box
story.append(info_box([
Paragraph("π <b>Patient Position:</b> Supine (lying flat). Arms by sides. "
"Legs extended for inspection; hips/knees slightly FLEXED for palpation (relaxes muscles). "
"Expose from nipples to groin. Examiner stands on RIGHT side. WARM your hands!", body),
Paragraph("<b>Order for abdomen is different from chest: I β A β P β P "
"(Auscultate BEFORE palpation β so bowel sounds are not disturbed!)</b>",
S("ord", fontSize=8.5, leading=12, textColor=CRIMSON, fontName="Helvetica-Bold")),
], LIGHT_TEAL, TEAL))
story.append(sp(0.15))
# General exam
story.append(info_box([
Paragraph("π <b>ALWAYS start with General Examination:</b> "
"Weight loss, jaundice, anaemia, pedal oedema Β· "
"Hands: palmar erythema, Dupuytren's, leukonychia, clubbing (liver disease) Β· "
"Eyes: jaundice, anaemia Β· "
"Lymph nodes: Virchow's node (left supraclavicular = intra-abdominal malignancy) Β· "
"Vital signs: pulse, BP, temperature, RR", body)
], PALE_BLUE, DEEP_BLUE))
story.append(sp(0.2))
# ββ STEP 1: INSPECTION (ABD) ββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(step_banner(1, "INSPECTION β LOOK at the abdomen", DEEP_BLUE))
story.append(sp(0.1))
left_abd_insp = [
Paragraph("<b>Look from the SIDE, then TANGENTIALLY, then from HEAD & FOOT</b>", sub_hdr),
sp(0.05),
Paragraph("<b>A) Scars (previous surgery)</b>", sub_hdr),
make_table([
["Scar location", "Likely operation"],
["Midline", "Laparotomy"],
["Right iliac fossa", "Appendicectomy"],
["Right subcostal (Kocher's)", "Cholecystectomy"],
["Left iliac fossa", "Sigmoid colectomy"],
["Loin", "Nephrectomy"],
], [PW*0.25, PW*0.25], hdr_bg=DEEP_BLUE, fontsize=7.5),
sp(0.15),
Paragraph("<b>B) Abdominal distension β the 5 F's</b>", sub_hdr),
info_box([
Paragraph("Fat Β· Fluid (ascites) Β· Flatus Β· Faeces Β· Foetus", mem_s)
], LIGHT_GOLD, GOLD),
sp(0.1),
Paragraph("<b>C) Umbilicus</b>", sub_hdr),
bullet("Everted (pointing out) = ascites / large mass"),
bullet("Inverted = obesity"),
bullet("Displaced upward = pelvic mass"),
bullet("Displaced downward = ascites (Tanyol's sign)"),
]
right_abd_insp = [
Paragraph("<b>D) Skin signs β very important!</b>", sub_hdr),
info_box([
Paragraph("β <b>Grey Turner's sign</b> = bruising in the FLANKS", warn_s),
Paragraph("β Retroperitoneal haemorrhage (severe pancreatitis, ruptured AAA)", body),
sp(0.05),
Paragraph("β <b>Cullen's sign</b> = bruising around the UMBILICUS", warn_s),
Paragraph("β Severe pancreatitis, ruptured ectopic pregnancy, liver trauma", body),
], LIGHT_RED, CRIMSON),
sp(0.1),
Paragraph("<b>E) Dilated veins</b>", sub_hdr),
bullet("Around umbilicus (caput medusae) = portal hypertension"),
bullet("Blood flowing AWAY from umbilicus = portal obstruction"),
bullet("Veins on flanks flowing UPWARD = IVC obstruction"),
sp(0.1),
Paragraph("<b>F) Other</b>", sub_hdr),
bullet("Visible peristalsis = intestinal obstruction (thin patients)"),
bullet("Visible pulsation = aortic aneurysm"),
bullet("Hernias: ask patient to COUGH and look for bulges"),
bullet("Jaundice / scratch marks = obstructive jaundice"),
]
story.append(two_col_layout(left_abd_insp, right_abd_insp, split=0.5))
story.append(sp(0.2))
# ββ STEP 2: AUSCULTATION (ABD) ββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(step_banner(2, "AUSCULTATION β LISTEN before touching!", FOREST))
story.append(sp(0.1))
left_abd_ausc = [
Paragraph("<b>Bowel Sounds</b>", sub_hdr),
make_table([
["Bowel Sound", "Meaning"],
["Normal (gurgling)", "Normal intestinal activity"],
["Increased (tinkling/rushing)", "Intestinal obstruction (early)"],
["Absent (silent)", "Paralytic ileus, peritonitis"],
], [PW*0.28, PW*0.22], hdr_bg=FOREST, fontsize=7.5),
]
right_abd_ausc = [
Paragraph("<b>Bruits (vascular sounds)</b>", sub_hdr),
bullet("Aortic bruit (above umbilicus) = aortic aneurysm / stenosis"),
bullet("Renal bruit (flanks) = renal artery stenosis (secondary hypertension)"),
bullet("Hepatic bruit = hepatocellular carcinoma"),
]
story.append(two_col_layout(left_abd_ausc, right_abd_ausc, split=0.5))
story.append(sp(0.2))
# ββ STEP 3: PALPATION (ABD) βββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(step_banner(3, "PALPATION β FEEL the abdomen (two phases)", MID_BLUE))
story.append(sp(0.1))
left_abd_palp = [
Paragraph("<b>Phase 1: LIGHT palpation</b>", sub_hdr),
bullet("Flat hand, gentle pressure"),
bullet("Start AWAY from the painful area"),
bullet("Watch patient's FACE for pain"),
bullet("Feel: guarding, rigidity, tenderness, superficial masses"),
sp(0.1),
Paragraph("<b>Phase 2: DEEP palpation</b>", sub_hdr),
bullet("Firmer pressure for organs and deep masses"),
sp(0.1),
Paragraph("<b>Key findings</b>", sub_hdr),
make_table([
["Finding", "Meaning"],
["Tenderness", "Inflammation at that site"],
["Guarding", "Voluntary muscle tensing (protective)"],
["Rigidity", "Board-like = PERITONITIS (emergency!)"],
["Rebound tenderness", "Pain worse on releasing = peritoneal irritation"],
], [PW*0.22, PW*0.28], hdr_bg=MID_BLUE, fontsize=7.5),
]
right_abd_palp = [
Paragraph("<b>Special signs</b>", sub_hdr),
info_box([
Paragraph("π΄ <b>Murphy's sign:</b> Pain stops breathing in during RUQ palpation = <b>Acute cholecystitis</b>", body),
Paragraph("π΄ <b>McBurney's point:</b> Tenderness 1/3 from ASIS to umbilicus = <b>Appendicitis</b>", body),
], LIGHT_RED, CRIMSON),
sp(0.1),
Paragraph("<b>Liver palpation</b>", sub_hdr),
bullet("Start from RIGHT ILIAC FOSSA, move toward right costal margin"),
bullet("Ask to breathe in (liver descends during inspiration)"),
bullet("Measure in finger-breadths below costal margin"),
sp(0.1),
Paragraph("<b>Spleen palpation</b>", sub_hdr),
bullet("Start from RIGHT iliac fossa, move toward LEFT upper quadrant"),
bullet("Enlarged spleen has a notch on medial border"),
bullet("Support left costal margin with left hand"),
sp(0.1),
Paragraph("<b>Kidney (bimanual)</b>", sub_hdr),
bullet("Ballot kidney between two hands (front and back)"),
bullet("Enlarged = hydronephrosis, polycystic, tumour"),
]
story.append(two_col_layout(left_abd_palp, right_abd_palp, split=0.5))
story.append(sp(0.2))
# ββ STEP 4: PERCUSSION (ABD) ββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(step_banner(4, "PERCUSSION β TAP the abdomen", TEAL))
story.append(sp(0.1))
left_abd_perc = [
Paragraph("<b>General percussion</b>", sub_hdr),
bullet("Tympanitic = gas in bowel (normal for most of abdomen)"),
bullet("Dull = solid organ (liver, spleen) or mass or fluid"),
sp(0.1),
Paragraph("<b>Liver size</b>", sub_hdr),
bullet("Upper border = lung resonance β liver dullness (~5th rib)"),
bullet("Lower border = liver dullness β bowel tympany"),
bullet("Normal liver span = 10-12 cm in mid-clavicular line"),
sp(0.1),
Paragraph("<b>Splenic dullness</b>", sub_hdr),
bullet("Percuss left upper quadrant near 10th rib (posterior to midaxillary line)"),
bullet("Dullness here = enlarged spleen"),
]
right_abd_perc = [
Paragraph("<b>Testing for ASCITES β most important!</b>", sub_hdr),
info_box([
Paragraph("<b>Method 1: Shifting Dullness</b>", body_bold),
bullet("Percuss umbilicus β flank: note where dullness begins"),
bullet("Keep finger at dull point; ask patient to ROLL toward you"),
bullet("If dullness SHIFTS = ascites (fluid moves with gravity)"),
sp(0.05),
Paragraph("<b>Method 2: Fluid Thrill</b> (large ascites only)", body_bold),
bullet("One hand flat on one flank"),
bullet("Tap the opposite flank sharply"),
bullet("Feel ripple/thrill = large ascites"),
bullet("(Ask someone to press midline β blocks fat transmission)"),
], LIGHT_TEAL, TEAL),
]
story.append(two_col_layout(left_abd_perc, right_abd_perc, split=0.48))
story.append(sp(0.2))
# Additional examinations
story.append(info_box([
Paragraph("π <b>Don't forget β Complete the abdominal exam by also examining:</b>", body_bold),
Paragraph("Hernial orifices (inguinal, femoral, umbilical) | Genitalia (scrotal swellings) | "
"Inguinal lymph nodes | Per Rectal (PR) examination | Gynaecological exam (if needed)", body),
], LIGHT_BLUE, DEEP_BLUE))
story.append(sp(0.3))
# ββ MEMORY TRICKS PAGE ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_banner("MEMORY TRICKS & 5-MARK ANSWER TEMPLATE", NAVY))
story.append(sp(0.1))
left_mem = [
Paragraph("<b>Memory tricks</b>", sub_hdr),
info_box([
Paragraph("π§ <b>Respiratory order:</b> 'I Prefer Proper Auscultation' = IPPA", mem_s),
Paragraph("π§ <b>Abdominal order:</b> 'I Always Palpate Patients' = IAPP", mem_s),
Paragraph("π§ <b>5 F's of distension:</b> Fat Β· Fluid Β· Flatus Β· Faeces Β· Foetus", mem_s),
Paragraph("π§ <b>Trachea:</b> Effusion PUSHES away Β· Collapse PULLS toward", mem_s),
Paragraph("π§ <b>Consolidation:</b> ALL INCREASED (fremitus, resonance, dull perc, bronchial sounds)", mem_s),
Paragraph("π§ <b>Effusion:</b> ALL ABSENT (stony dull, absent sounds, absent fremitus)", mem_s),
Paragraph("π§ <b>Grey Turner</b> = FLANKS Β· <b>Cullen's</b> = UMBILICUS (both = pancreatitis)", mem_s),
Paragraph("π§ <b>Murphy's sign</b> = cholecystitis Β· <b>McBurney's</b> = appendicitis", mem_s),
], LIGHT_GOLD, GOLD),
]
right_mem = [
Paragraph("<b>5-mark answer template</b>", sub_hdr),
info_box([
Paragraph("<b>For any 5-mark question on examination:</b>", body_bold),
bullet("1. Brief intro: state the 4-step sequence (IPPA or IAPP)"),
bullet("2. Patient position: sitting (chest) / supine (abdomen)"),
bullet("3. INSPECTION: 3-4 key findings with 1 clinical example"),
bullet("4. PALPATION: key techniques + fremitus / guarding"),
bullet("5. PERCUSSION: percussion notes + what they mean"),
bullet("6. AUSCULTATION: normal sounds + added sounds"),
bullet("7. One-line clinical correlation per step"),
bullet("8. End with: additional exams (PR, hernial orifices)"),
sp(0.05),
Paragraph("<i>This structure guarantees full marks!</i>",
S("gi", fontSize=8, fontName="Helvetica-Oblique", textColor=TEAL)),
], LIGHT_GREEN, FOREST),
]
story.append(two_col_layout(left_mem, right_mem, split=0.5))
story.append(sp(0.25))
# Final footer banner
footer_tbl = Table([[
Paragraph("Murray & Nadel's Respiratory Medicine | Bailey & Love's Surgery | Goldman-Cecil Medicine",
S("ft", fontSize=7.5, textColor=colors.HexColor("#94A3B8"), alignment=TA_CENTER, fontName="Helvetica-Oblique")),
]], colWidths=[PW])
footer_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), NAVY),
("TOPPADDING", (0,0),(-1,-1), 5),
("BOTTOMPADDING",(0,0),(-1,-1), 5),
]))
story.append(footer_tbl)
doc.build(story)
print(f"PDF created: {OUTPUT}")
python3 /home/daytona/workspace/mbbs-exam/generate_exam_pdf.py 2>&1
ls -lh /home/daytona/workspace/mbbs-exam/Respiratory_Abdominal_Exam_QuickRef.pdf
Respiratory Abdominal Exam QuickRef
PDF Document Β· PDF
pdf document is not opening please provide me new which will open
python3 -c " from pypdf import PdfReader try: r = PdfReader('/home/daytona/workspace/mbbs-exam/Respiratory_Abdominal_Exam_QuickRef.pdf') print(f'Pages: {len(r.pages)}') print('File is valid PDF') except Exception as e: print(f'Error: {e}') "
~/mbbs-exam/exam_ref.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>MBBS 2nd Year β Respiratory & Abdominal Exam Quick Reference</title>
<style>
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: Arial, Helvetica, sans-serif; font-size: 11px; color: #1e293b; background: #fff; }
.page { width: 210mm; padding: 10mm 10mm 8mm 10mm; page-break-after: always; }
.page:last-child { page-break-after: avoid; }
/* COVER BANNER */
.cover-banner { background: #0f2b4c; color: #fff; text-align: center; padding: 12px 16px; border-radius: 6px; margin-bottom: 8px; }
.cover-banner h1 { font-size: 18px; letter-spacing: 1px; margin-bottom: 4px; }
.cover-banner h2 { font-size: 13px; color: #bfdbfe; font-weight: normal; margin-bottom: 3px; }
.cover-banner p { font-size: 10px; color: #93c5fd; }
/* SECTION BANNERS */
.part-banner { padding: 7px 12px; border-radius: 4px; color: #fff; font-size: 13px; font-weight: bold; margin-bottom: 7px; }
.step-banner { padding: 5px 10px; border-radius: 4px; color: #fff; font-size: 11px; font-weight: bold; margin-bottom: 5px; }
.sec-banner { padding: 5px 10px; border-radius: 4px; color: #fff; font-size: 11px; font-weight: bold; margin-bottom: 5px; }
.navy { background: #0f2b4c; }
.blue { background: #1a56a0; }
.mid-blue{ background: #2d7dd2; }
.teal { background: #0f766e; }
.forest { background: #166534; }
.orange { background: #c2410c; }
.purple { background: #5b21b6; }
/* BOXES */
.box { border-radius: 4px; padding: 7px 10px; margin-bottom: 6px; }
.box-blue { background: #eff6ff; border: 1.5px solid #1a56a0; }
.box-teal { background: #ccfbf1; border: 1.5px solid #0f766e; }
.box-red { background: #fee2e2; border: 1.5px solid #991b1b; }
.box-gold { background: #fef3c7; border: 1.5px solid #b45309; }
.box-green { background: #dcfce7; border: 1.5px solid #166534; }
.box-purple { background: #ede9fe; border: 1.5px solid #5b21b6; }
.box-grey { background: #f8fafc; border: 1px solid #cbd5e1; }
/* TWO COLUMN */
.two-col { display: table; width: 100%; margin-bottom: 6px; }
.col-l, .col-r { display: table-cell; vertical-align: top; }
.col-l { width: 50%; padding-right: 5px; }
.col-r { width: 50%; padding-left: 5px; }
/* TABLES */
table { width: 100%; border-collapse: collapse; margin-bottom: 5px; font-size: 10px; }
th { background: #0f2b4c; color: #fff; padding: 4px 6px; text-align: left; font-size: 10px; }
td { padding: 3px 6px; border: 0.5px solid #cbd5e1; }
tr:nth-child(even) td { background: #f1f5f9; }
tr:nth-child(odd) td { background: #ffffff; }
.th-blue th { background: #1a56a0; }
.th-mid th { background: #2d7dd2; }
.th-teal th { background: #0f766e; }
.th-forest th { background: #166534; }
.th-red th { background: #991b1b; }
.th-navy th { background: #0f2b4c; }
/* TEXT */
h3 { font-size: 10px; color: #0f2b4c; margin: 5px 0 3px 0; font-weight: bold; }
p, li { font-size: 10px; line-height: 14px; margin-bottom: 2px; }
ul { padding-left: 14px; margin-bottom: 4px; }
li { margin-bottom: 2px; }
.bold { font-weight: bold; }
.red-txt { color: #991b1b; font-weight: bold; }
.gold-txt { color: #b45309; font-weight: bold; }
.teal-txt { color: #0f766e; font-weight: bold; }
.blue-txt { color: #1a56a0; font-weight: bold; }
.green-txt{ color: #166534; font-weight: bold; }
.sm { font-size: 9px; }
/* GOLDEN RULE */
.golden-rule { background: #fef3c7; border: 2px solid #b45309; border-radius: 6px; padding: 8px 12px; margin-bottom: 8px; }
.golden-rule p { font-size: 11px; font-weight: bold; color: #92400e; margin-bottom: 3px; }
.golden-rule .rule-line { font-size: 10.5px; font-weight: normal; color: #1e293b; }
/* MASTER TABLE */
.master-tbl th { background: #0f2b4c; font-size: 9px; }
.master-tbl td { font-size: 9px; }
/* MEMORY BOX */
.mem-item { font-size: 10px; color: #92400e; font-weight: bold; line-height: 16px; }
/* PAGE FOOTER */
.footer { text-align: center; font-size: 9px; color: #94a3b8; margin-top: 6px; padding-top: 5px; border-top: 1px solid #e2e8f0; }
@media print {
body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.page { page-break-after: always; }
.page:last-child { page-break-after: avoid; }
}
</style>
</head>
<body>
<!-- ======================= PAGE 1: RESPIRATORY ======================== -->
<div class="page">
<div class="cover-banner">
<p>MBBS 2nd Year Β· ICMHE Theory Exam Β· June 7, 2026</p>
<h1>Clinical Examination Quick Reference</h1>
<h2>Respiratory System | Abdominal System</h2>
<p>Inspection Β· Palpation Β· Percussion Β· Auscultation</p>
</div>
<div class="golden-rule">
<p>β THE GOLDEN RULE OF CLINICAL EXAMINATION</p>
<p class="rule-line"><span class="blue-txt">Respiratory:</span>
<b style="color:#1a56a0">I</b>nspection β <b style="color:#1a56a0">P</b>alpation β
<b style="color:#1a56a0">P</b>ercussion β <b style="color:#1a56a0">A</b>uscultation
<span class="red-txt">(IPPA)</span></p>
<p class="rule-line"><span class="teal-txt">Abdominal:</span>
<b style="color:#1a56a0">I</b>nspection β <b style="color:#0f766e">A</b>uscultation β
<b style="color:#1a56a0">P</b>alpation β <b style="color:#1a56a0">P</b>ercussion
<span class="red-txt">(IAPP β auscultate BEFORE touching!)</span></p>
</div>
<div class="part-banner navy">PART 1: RESPIRATORY (CHEST) EXAMINATION</div>
<div class="box box-blue" style="margin-bottom:6px;">
<p><b>Patient Position:</b> Sitting upright, chest fully exposed (front and back). Good lighting, quiet room, warm hands.</p>
</div>
<!-- STEP 1 -->
<div class="step-banner blue">STEP 1: INSPECTION β Just LOOK</div>
<div class="two-col">
<div class="col-l">
<h3>A) Chest Shape</h3>
<table class="th-blue">
<tr><th>Shape</th><th>Meaning</th></tr>
<tr><td>Normal</td><td>Symmetric, elliptical</td></tr>
<tr><td>Barrel chest</td><td>COPD / emphysema</td></tr>
<tr><td>Pectus excavatum</td><td>Funnel chest (sunken sternum)</td></tr>
<tr><td>Pectus carinatum</td><td>Pigeon chest (protruding sternum)</td></tr>
<tr><td>Kyphoscoliosis</td><td>Curved spine β restrictive disease</td></tr>
</table>
<h3>B) Breathing Pattern</h3>
<table class="th-blue">
<tr><th>Pattern</th><th>Meaning</th></tr>
<tr><td>Tachypnoea</td><td>>20/min: infection, pain</td></tr>
<tr><td>Bradypnoea</td><td><12/min: CNS depression</td></tr>
<tr><td>Cheyne-Stokes</td><td>Cycles + apnoea: heart failure, brain</td></tr>
<tr><td>Kussmaul</td><td>Deep, labored: DKA</td></tr>
<tr><td>Biot's</td><td>Irregular bursts + apnoea: brainstem</td></tr>
</table>
</div>
<div class="col-r">
<h3>C) Other things to look for</h3>
<ul>
<li>Trachea position β midline or deviated?</li>
<li>Chest wall movement β equal both sides?</li>
<li>Accessory muscle use (neck/intercostal) = respiratory distress</li>
<li>Scars from previous surgery</li>
<li>Tobacco stains on fingers, lips, teeth</li>
<li>Foul smell = lung abscess; ketones = DKA</li>
</ul>
<div class="box box-red">
<p class="red-txt">β Trachea deviation rule:</p>
<ul>
<li>Pulled <b>TOWARDS</b> lesion = collapse / fibrosis</li>
<li>Pushed <b>AWAY</b> from lesion = effusion / tension pneumothorax</li>
</ul>
</div>
</div>
</div>
<!-- STEP 2 -->
<div class="step-banner mid-blue">STEP 2: PALPATION β FEEL the chest</div>
<div class="two-col">
<div class="col-l">
<h3>A) Trachea Position</h3>
<ul><li>Place finger in suprasternal notch</li><li>Central = normal; deviated = mediastinal shift</li></ul>
<h3>B) Chest Expansion</h3>
<ul>
<li>Both hands on chest, thumbs meet at midline</li>
<li>Deep breath β thumbs should move equally (2-3 cm)</li>
<li>Reduced on one side = disease on THAT side</li>
</ul>
</div>
<div class="col-r">
<h3>C) Vocal (Tactile) Fremitus</h3>
<ul><li>Ulnar border / palm on chest</li><li>Patient says "99" or "one-two-three"</li><li>Feel vibrations β compare both sides</li></ul>
<table class="th-mid">
<tr><th>Fremitus</th><th>Condition</th></tr>
<tr><td><b>INCREASED</b></td><td>Consolidation (pneumonia) β solid lung</td></tr>
<tr><td><b>DECREASED</b></td><td>Effusion, pneumothorax, emphysema</td></tr>
</table>
</div>
</div>
<!-- STEP 3 -->
<div class="step-banner teal">STEP 3: PERCUSSION β TAP the chest</div>
<div class="two-col">
<div class="col-l">
<h3>Percussion Notes β MEMORIZE</h3>
<table class="th-teal">
<tr><th>Note</th><th>Sound</th><th>Cause</th></tr>
<tr><td><b>Resonant</b></td><td>Hollow</td><td>Normal lung</td></tr>
<tr><td><b>Hyper-resonant</b></td><td>Very booming</td><td>Pneumothorax, emphysema</td></tr>
<tr><td><b>Tympanitic</b></td><td>Drum-like</td><td>Tension pneumothorax</td></tr>
<tr><td><b>Dull</b></td><td>Thud-like</td><td>Consolidation (pneumonia)</td></tr>
<tr><td><b>Stony dull</b></td><td>Very flat</td><td>Pleural effusion</td></tr>
</table>
</div>
<div class="col-r">
<h3>Technique</h3>
<ul>
<li>Pleximeter (middle finger) flat on chest</li>
<li>Strike with plexor (other middle finger)</li>
<li>Percuss top to bottom, LEFT vs RIGHT always</li>
<li>Right side: dullness starts at 6th rib (mid-clavicular)</li>
</ul>
<div class="box box-teal">
<p class="teal-txt">π‘ Memory tip:</p>
<ul>
<li>Fluid = STONY DULL (heavy, sinks)</li>
<li>Air = HYPER-RESONANT (light, rises)</li>
<li>Solid/pus = DULL</li>
</ul>
</div>
</div>
</div>
<!-- STEP 4 -->
<div class="step-banner forest">STEP 4: AUSCULTATION β LISTEN with stethoscope</div>
<div class="two-col">
<div class="col-l">
<h3>Normal Breath Sounds</h3>
<table class="th-forest">
<tr><th>Type</th><th>Where</th><th>Character</th></tr>
<tr><td>Vesicular</td><td>Most of lung</td><td>Soft; inspiration > expiration</td></tr>
<tr><td>Bronchial</td><td>Over trachea</td><td>Harsh; expiration = inspiration</td></tr>
<tr><td>Bronchovesicular</td><td>Near carina</td><td>Mixed</td></tr>
</table>
<h3>Vocal Resonance</h3>
<ul>
<li>Say "99" while listening: INCREASED = consolidation</li>
<li>Aegophony = goat-bleat at top of effusion</li>
<li>Whispering pectoriloquy = clearly heard whisper = consolidation</li>
</ul>
</div>
<div class="col-r">
<h3>Added / Abnormal Sounds</h3>
<table class="th-forest">
<tr><th>Sound</th><th>Cause</th></tr>
<tr><td>Fine crackles</td><td>Pulmonary oedema, fibrosis</td></tr>
<tr><td>Coarse crackles</td><td>Pneumonia, bronchiectasis</td></tr>
<tr><td>Wheeze</td><td>Asthma, COPD, foreign body</td></tr>
<tr><td>Pleural friction rub</td><td>Pleuritis (inflamed pleura)</td></tr>
<tr><td>Stridor</td><td>Upper airway obstruction</td></tr>
</table>
</div>
</div>
<!-- MASTER TABLE -->
<div class="sec-banner navy" style="margin-top:5px;">MASTER COMPARISON TABLE β Classic Examination Findings</div>
<table class="master-tbl th-navy">
<tr>
<th>Condition</th><th>Movement</th><th>Trachea</th><th>Fremitus</th>
<th>Percussion</th><th>Breath Sounds</th><th>Vocal Resonance</th>
</tr>
<tr><td>Normal</td><td>Equal</td><td>Central</td><td>Normal</td><td>Resonant</td><td>Vesicular</td><td>Normal</td></tr>
<tr><td><b>Consolidation</b></td><td>Reduced</td><td>Central</td><td style="color:#166534;font-weight:bold">INCREASED</td><td style="color:#991b1b;font-weight:bold">DULL</td><td>Bronchial</td><td style="color:#166534;font-weight:bold">INCREASED</td></tr>
<tr><td><b>Pleural Effusion</b></td><td>Reduced</td><td>Pushed AWAY</td><td style="color:#991b1b;font-weight:bold">ABSENT</td><td style="color:#991b1b;font-weight:bold">STONY DULL</td><td>Absent</td><td>Absent (aegophony)</td></tr>
<tr><td><b>Pneumothorax</b></td><td>Reduced</td><td>Pushed AWAY</td><td style="color:#991b1b;font-weight:bold">ABSENT</td><td style="color:#c2410c;font-weight:bold">HYPER-RESONANT</td><td>Absent</td><td>Absent</td></tr>
<tr><td><b>Collapse/Fibrosis</b></td><td>Reduced</td><td>Pulled TOWARDS</td><td style="color:#166534;font-weight:bold">INCREASED</td><td style="color:#991b1b;font-weight:bold">DULL</td><td>Reduced/bronchial</td><td>Reduced</td></tr>
<tr><td><b>Emphysema/COPD</b></td><td>Reduced</td><td>Central</td><td style="color:#991b1b;font-weight:bold">DECREASED</td><td style="color:#c2410c;font-weight:bold">HYPER-RESONANT</td><td>Reduced</td><td>Reduced</td></tr>
</table>
<div class="footer">Murray & Nadel's Respiratory Medicine Β· Bailey & Love's Surgery Β· Goldman-Cecil Medicine</div>
</div>
<!-- ======================= PAGE 2: ABDOMINAL ========================= -->
<div class="page">
<div class="part-banner teal">PART 2: ABDOMINAL EXAMINATION</div>
<div class="box box-teal" style="margin-bottom:5px;">
<p><b>Patient Position:</b> Supine (lying flat). Arms by sides. Legs extended for inspection; hips/knees slightly FLEXED for palpation. Expose from nipples to groin. Examiner stands on RIGHT side. <span class="red-txt">WARM your hands!</span></p>
<p style="margin-top:4px;"><b class="red-txt">Abdominal order = IAPP (Auscultate BEFORE palpation β so bowel sounds are not disturbed!)</b></p>
</div>
<div class="box box-blue" style="margin-bottom:5px;">
<p><b>Always start with General Examination first:</b> Weight loss Β· Jaundice Β· Anaemia Β· Pedal oedema Β· Hands (palmar erythema, Dupuytren's, clubbing = liver disease) Β· Virchow's node (left supraclavicular = intra-abdominal malignancy) Β· Vital signs</p>
</div>
<!-- STEP 1 -->
<div class="step-banner blue">STEP 1: INSPECTION β LOOK at the abdomen (from side, tangentially, head & foot)</div>
<div class="two-col">
<div class="col-l">
<h3>A) Scars (clue to previous surgery)</h3>
<table class="th-blue">
<tr><th>Scar Location</th><th>Likely Operation</th></tr>
<tr><td>Midline</td><td>Laparotomy</td></tr>
<tr><td>Right iliac fossa</td><td>Appendicectomy</td></tr>
<tr><td>Right subcostal (Kocher's)</td><td>Cholecystectomy</td></tr>
<tr><td>Left iliac fossa</td><td>Sigmoid colectomy</td></tr>
<tr><td>Loin</td><td>Nephrectomy</td></tr>
</table>
<h3 style="margin-top:5px;">B) Abdominal Distension β the 5 F's</h3>
<div class="box box-gold">
<p class="gold-txt">Fat Β· Fluid (ascites) Β· Flatus Β· Faeces Β· Foetus</p>
</div>
<h3>C) Umbilicus</h3>
<ul>
<li><b>Everted</b> = ascites / large mass</li>
<li><b>Inverted</b> = obesity</li>
<li><b>Displaced up</b> = pelvic mass</li>
<li><b>Displaced down</b> = ascites (Tanyol's sign)</li>
</ul>
<h3>D) Dilated veins</h3>
<ul>
<li>Around umbilicus (caput medusae) = portal hypertension</li>
<li>Flanks flowing upward = IVC obstruction</li>
</ul>
</div>
<div class="col-r">
<div class="box box-red">
<p class="red-txt">β IMPORTANT SKIN SIGNS</p>
<p><b>Grey Turner's sign</b> = bruising in the <b>FLANKS</b></p>
<p>β Retroperitoneal haemorrhage (severe pancreatitis, ruptured AAA)</p>
<br/>
<p><b>Cullen's sign</b> = bruising around the <b>UMBILICUS</b></p>
<p>β Severe pancreatitis, ruptured ectopic pregnancy</p>
<br/>
<p class="sm" style="color:#991b1b;"><i>Both signs = think SEVERE PANCREATITIS first!</i></p>
</div>
<h3 style="margin-top:6px;">E) Other</h3>
<ul>
<li>Visible peristalsis = intestinal obstruction (thin patients)</li>
<li>Visible pulsation above umbilicus = aortic aneurysm</li>
<li>Hernias: ask patient to COUGH, look for bulges</li>
<li>Jaundice + scratch marks = obstructive jaundice</li>
<li>Scaphoid (sunken) abdomen = malnutrition, peritonitis</li>
</ul>
</div>
</div>
<!-- STEP 2 -->
<div class="step-banner forest">STEP 2: AUSCULTATION β LISTEN before touching!</div>
<div class="two-col">
<div class="col-l">
<h3>Bowel Sounds</h3>
<table class="th-forest">
<tr><th>Sound</th><th>Meaning</th></tr>
<tr><td>Normal (gurgling)</td><td>Normal intestinal activity</td></tr>
<tr><td><b>Increased, tinkling/rushing</b></td><td>Intestinal obstruction (early)</td></tr>
<tr><td><b>Absent (silent abdomen)</b></td><td>Paralytic ileus, peritonitis</td></tr>
</table>
</div>
<div class="col-r">
<h3>Bruits (vascular sounds)</h3>
<ul>
<li><b>Aortic bruit</b> (above umbilicus) = aortic aneurysm / stenosis</li>
<li><b>Renal bruit</b> (flanks) = renal artery stenosis (secondary hypertension)</li>
<li><b>Hepatic bruit</b> = hepatocellular carcinoma</li>
</ul>
</div>
</div>
<!-- STEP 3 -->
<div class="step-banner mid-blue">STEP 3: PALPATION β FEEL the abdomen (two phases)</div>
<div class="two-col">
<div class="col-l">
<h3>Phase 1: LIGHT palpation</h3>
<ul>
<li>Flat hand, gentle pressure</li>
<li>Start AWAY from the painful area</li>
<li>Watch patient's FACE for pain response</li>
</ul>
<h3>Phase 2: DEEP palpation</h3>
<ul><li>Firmer pressure for organs and deep masses</li></ul>
<h3>Key findings</h3>
<table class="th-mid">
<tr><th>Finding</th><th>Meaning</th></tr>
<tr><td>Tenderness</td><td>Inflammation at that site</td></tr>
<tr><td>Guarding</td><td>Voluntary muscle tensing (protective)</td></tr>
<tr><td><b>Rigidity</b></td><td><b>Board-like = PERITONITIS (emergency!)</b></td></tr>
<tr><td>Rebound tenderness</td><td>Pain on releasing = peritoneal irritation</td></tr>
</table>
</div>
<div class="col-r">
<div class="box box-red">
<p class="red-txt">Special Signs</p>
<p><b>Murphy's sign:</b> Pain stops breathing in during RUQ palpation = <b>Acute cholecystitis</b></p>
<p style="margin-top:4px;"><b>McBurney's point:</b> Tenderness 1/3 from ASIS to umbilicus = <b>Appendicitis</b></p>
</div>
<h3 style="margin-top:5px;">Organ palpation</h3>
<ul>
<li><b>Liver:</b> Start from RIGHT iliac fossa β move up. Breathe in (liver descends). Measure in finger-breadths below costal margin.</li>
<li><b>Spleen:</b> Start from RIGHT iliac fossa β move to left. Spleen has a <b>notch</b> on medial border.</li>
<li><b>Kidneys:</b> Bimanual (ballot between two hands). Enlarged = hydronephrosis, polycystic, tumour.</li>
</ul>
</div>
</div>
<!-- STEP 4 -->
<div class="step-banner teal">STEP 4: PERCUSSION β TAP the abdomen</div>
<div class="two-col">
<div class="col-l">
<h3>General</h3>
<ul>
<li>Tympanitic = gas in bowel (normal for most of abdomen)</li>
<li>Dull = solid organ, mass, or fluid</li>
</ul>
<h3>Liver size</h3>
<ul>
<li>Upper border ~5th rib in mid-clavicular line</li>
<li>Normal liver span = <b>10-12 cm</b> in mid-clavicular line</li>
</ul>
<h3>Splenic dullness</h3>
<ul><li>Percuss left upper quadrant near 10th rib (posterior to midaxillary line)</li></ul>
</div>
<div class="col-r">
<h3>Testing for ASCITES</h3>
<div class="box box-teal">
<p><b>Method 1: Shifting Dullness</b></p>
<ul>
<li>Percuss umbilicus β flank; note where dullness starts</li>
<li>Keep finger there; ask patient to ROLL toward you</li>
<li>Dullness SHIFTS = ascites present</li>
</ul>
<p style="margin-top:4px;"><b>Method 2: Fluid Thrill (large ascites)</b></p>
<ul>
<li>One hand flat on one flank; tap the other flank</li>
<li>Feel ripple/thrill = large ascites</li>
<li>Someone presses midline to block fat transmission</li>
</ul>
</div>
</div>
</div>
<div class="box box-blue" style="margin-bottom:6px;">
<p><b>Complete the abdominal exam β also examine:</b> Hernial orifices (inguinal, femoral, umbilical) Β· Genitalia Β· Inguinal lymph nodes Β· Per Rectal (PR) exam Β· Gynaecological exam (if needed)</p>
</div>
<!-- MEMORY + TEMPLATE -->
<div class="two-col">
<div class="col-l">
<div class="sec-banner navy" style="font-size:10px;">MEMORY TRICKS</div>
<div class="box box-gold">
<p class="mem-item">π§ Respiratory order: "I Prefer Proper Auscultation" = IPPA</p>
<p class="mem-item">π§ Abdominal order: "I Always Palpate Patients" = IAPP</p>
<p class="mem-item">π§ 5 F's of distension: Fat Β· Fluid Β· Flatus Β· Faeces Β· Foetus</p>
<p class="mem-item">π§ Trachea: Effusion PUSHES away Β· Collapse PULLS toward</p>
<p class="mem-item">π§ Consolidation: ALL INCREASED (fremitus, resonance, bronchial)</p>
<p class="mem-item">π§ Effusion: ALL ABSENT (stony dull, absent sounds, absent fremitus)</p>
<p class="mem-item">π§ Grey Turner = FLANKS Β· Cullen's = UMBILICUS β pancreatitis</p>
<p class="mem-item">π§ Murphy's sign = cholecystitis Β· McBurney's = appendicitis</p>
<p class="mem-item">π§ Appelbaum capacity: Understand β Appreciate β Reason β Communicate</p>
</div>
</div>
<div class="col-r">
<div class="sec-banner navy" style="font-size:10px;">5-MARK ANSWER TEMPLATE</div>
<div class="box box-green">
<p class="bold">For any 5-mark question on examination:</p>
<ul>
<li>1. Brief intro: state the 4-step sequence (IPPA or IAPP)</li>
<li>2. Patient position: sitting (chest) / supine (abdomen)</li>
<li>3. INSPECTION: 3-4 findings + 1 clinical example</li>
<li>4. PALPATION: techniques + fremitus / guarding</li>
<li>5. PERCUSSION: notes + what they mean</li>
<li>6. AUSCULTATION: normal sounds + added sounds</li>
<li>7. One-line clinical correlation per step</li>
<li>8. Additional exams: PR, hernial orifices</li>
</ul>
<p style="color:#166534; font-style:italic; margin-top:3px;">This structure = guaranteed full marks!</p>
</div>
</div>
</div>
<div class="footer">Murray & Nadel's Respiratory Medicine Β· Bailey & Love's Surgery Β· Goldman-Cecil Medicine Β· Compiled by Orris AI</div>
</div>
</body>
</html>
Tomorrow is my ICMHE theory exam of mbbs 2nd year .And I dont know nothing about this slides And my professor will set questions from this slides of 5 marks . Please provide me answer in very very easy language and i will remember every points .
pip install python-pptx --quiet 2>/dev/null; python3 -c " from pptx import Presentation prs = Presentation('/home/daytona/workspace/attachments/40c8b11b-e65c-454b-99ae-daae897f1639/MEDICAL_MALPRACTICE.pptx') for i, slide in enumerate(prs.slides): print(f'\n===== SLIDE {i+1} =====') for shape in slide.shapes: if hasattr(shape, 'text') and shape.text.strip(): print(shape.text) "
A doctor fails to do their job properly and because of that, the patient gets harmed or dies.
Failure to exercise or execute reasonable care and skill of an ordinary prudent medical practitioner in the circumstances; a breach of duty to act with care; resulting in bodily injury or death of patient.
| Type | Simple meaning | Example |
|---|---|---|
| Act of Omission | NOT doing something you SHOULD have done | Not prescribing needed medication |
| Act of Commission | DOING something you SHOULD NOT have done | Giving wrong medicine |
| D | Full word | Meaning |
|---|---|---|
| 1st D | Duty of care | The doctor had a responsibility to treat the patient (doctor-patient relationship existed) |
| 2nd D | Dereliction of duty | The doctor failed / broke that responsibility |
| 3rd D | Damage | The patient actually got harmed (injury, death) |
| 4th D | Direct causation | The doctor's failure DIRECTLY CAUSED the harm |
All 4 Ds must be present to prove medical negligence.
| Type | Meaning |
|---|---|
| Civil Negligence | Doctor pays money compensation (damages) to the patient |
| Criminal Negligence | Doctor is punished by law (jail/fine) β must be gross/extreme negligence |
| # | Defense | Simple meaning |
|---|---|---|
| 1 | No duty of care | No doctor-patient relationship existed |
| 2 | No breach of standard | Doctor followed proper medical standards |
| 3 | Informed consent | Patient was told about risks and agreed |
| 4 | Contributory negligence | Patient's own actions caused or worsened harm |
| 5 | Error in judgment | Doctor made an honest mistake but acted with care |
| 6 | Mistake of fact | Doctor did wrong act but had no intention β based on wrong understanding |
| 7 | Res judicata | Case already decided before β can't be tried again between same parties |
| 8 | Unavoidable complications | Harm was an inherent/unavoidable risk despite best efforts |
| 9 | Lack of causation | Patient's injury would have happened anyway even without negligence |
| 10 | Statute of limitations | Patient filed the case too late (in Nepal = must be within 6 months, Section 684 of Civil Code 2074) |
| # | Prevention measure |
|---|---|
| 1 | Legal & ethical awareness β follow ethics, get informed consent |
| 2 | Effective communication β clear doctor-patient communication, proper documentation |
| 3 | Continuous medical education β regular training, stay updated |
| 4 | Maintain standard service β limited workload, follow protocols |
| 5 | Proper counseling & informed consent β mandatory before procedures |
| 6 | Proper investigation β thorough exams, avoid misdiagnosis, seek second opinion |
| 7 | Adequate supervision & timely referral β early detection of complications |
| 8 | Surgical precautions β adequate equipment and qualified staff |
| 9 | Meticulous record keeping β records can prove innocence |
| 10 | Morbidity & mortality audits β analyze and learn from errors |
| 11 | Medical insurance & risk management β have malpractice insurance |
| 12 | Patient safety measures β use checklists, double-check patient identity |
Any conduct which is disgraceful or dishonorable as judged by a professional man of good reputation and competence. Involves abuse of professional position.
Association with unqualified persons Advertising Abortion (criminal) Adultery Addiction Alcohol
| Action | What happens |
|---|---|
| 1. Warn and conclude | Doctor is innocent β case closed |
| 2. Probation | Doctor put on probation for a specified period; professional referees monitor conduct; case concluded if satisfactory report given |
| 3. Strike off the register | Serious misconduct or criminal conviction β NMC registration erased for 2 years β doctor CANNOT practice |
| 4. Restoration of registration | Can apply after 2 years from erasure date; committee decides; if application fails, must wait 12 more months before next application |
Make flashcards of the 4 D's, 6 A's, and 10 defenses
Make a summary table comparing negligence vs professional misconduct