How to ca colon pet ct reporting is done

Reading File
Finding Sources
Finding Sources
Searching the Web

PET CT reporting colorectal cancer colon structured reporting SUV staging 2024

Reading Web Page

https://jnm.snmjournals.org/content/54/5/756

Finding Sources
Finding Sources
Here is a comprehensive guide to PET-CT (FDG PET/CT) Reporting for CA Colon (Colorectal Cancer):

FDG PET/CT Reporting for Colorectal Cancer (CA Colon)

1. Pre-Reporting Requirements (Patient Preparation Check)

Before reporting, confirm the following were followed:
  • Fasting: 4-6 hours minimum (reduces physiological FDG uptake)
  • Blood glucose: <200 mg/dL (ideally <150 mg/dL) at time of injection
  • FDG dose: Typically 5-10 mCi (185-370 MBq) 18F-FDG, IV
  • Uptake time: 60-90 minutes (record exact time, e.g. "68 min", not "approximately 60 min")
  • Voiding: Patient should void before scan to reduce pelvic activity
  • CT parameters: Note kVp and mAs (required in many jurisdictions)

2. Structured Report Format

A. Clinical Indication Section

State clearly:
  • Age, sex, diagnosis (e.g. "58-year-old male with adenocarcinoma of sigmoid colon")
  • Purpose: initial staging / post-treatment response / surveillance / rising CEA / recurrence evaluation
Example: "60-year-old woman with stage III sigmoid colon carcinoma, post 6 cycles of FOLFOX chemotherapy. PET/CT for treatment response assessment."

B. Technique Section

Must include:
  • Radiopharmaceutical name: 18F-FDG
  • Administered activity (precise): e.g. "9.6 mCi [355 MBq]"
  • Route: intravenous
  • Uptake time (exact): e.g. "68 minutes"
  • Scan range: skull base to mid-thigh (standard) or whole body
  • CT protocol: diagnostic (with IV contrast) or attenuation correction only
  • SUV normalization method used: SUVmax (body weight-based) - note this in technique if reporting SUVs

C. Findings Section

1. Primary Tumor Site

  • Location: segment of colon (sigmoid, descending, ascending, transverse, cecum, etc.)
  • FDG uptake: qualitative (mild / moderate / intense) AND/OR SUVmax
    • Normal colonic FDG uptake is diffuse, low grade
    • Focal intense uptake at primary site = suspicious/confirmed tumor
  • CT characteristics: wall thickening, mass, luminal narrowing, extramural extension
  • T-staging contribution: PET adds limited T-staging info; CT is primary tool for local staging

2. Regional Lymph Nodes (N-staging)

  • Assess pericolic, mesocolic, and regional nodal basins
  • FDG-avid nodes: report number, location, SUVmax of most avid node
  • Note: FDG PET has limited sensitivity for small nodes (<1 cm); normal-sized FDG-avid nodes are suspicious
  • CT size criteria + FDG avidity together improve accuracy

3. Liver (Most Important for Colon Cancer)

  • Colon cancer metastasizes first to liver (portal circulation)
  • Report number, size, and location (segment) of each lesion
  • SUVmax of each hepatic lesion
  • Photopenic lesions on PET (low uptake) with CT correlate = could be cystic or mucinous metastases (mucinous adenocarcinoma can be FDG-negative)
  • Mucinous tumors warning: Low or absent FDG uptake does NOT exclude metastases

4. Peritoneal Disease

  • Peritoneal carcinomatosis: focal nodular FDG uptake on the peritoneal surface
  • Omental cake, pelvic seeding
  • Report distribution and extent
  • PET has limited sensitivity for small peritoneal deposits (<5 mm)

5. Lung Metastases

  • Subcentimeter pulmonary nodules may not be FDG-avid
  • Report any FDG-avid pulmonary nodules with size and SUVmax
  • CT component is more sensitive for lung mets

6. Skeleton

  • Any FDG-avid osseous lesions: location, number, SUVmax
  • Correlate with CT density (lytic, blastic, mixed)

7. Other Incidental Findings

  • Adrenal lesions, second primaries, incidental FDG-avid foci
  • Report colorectal incidentalomas on CT (polyps, diverticula)
  • Physiological variants to recognize and mention: colonic physiological uptake, ureteral activity, bladder activity

3. SUV Reporting Guidelines (per SNMMI/EANM)

ParameterStandard Practice
SUVmaxAlways report (body weight-based, i.e. SUVbw)
SUVpeakOptional, more reproducible for follow-up
SUVmeanUse only if consistent with prior studies
Background liver SUVReport as reference (normal liver SUV ~2.0-3.5)
Tumor:liver ratioUseful especially for hepatic lesions
  • SUVmax >2.5 is generally considered suspicious for malignancy (cutoff varies by institution)
  • For treatment response, use PERCIST 1.0 criteria (not just size):
    • Complete metabolic response (CMR): no residual uptake above background
    • Partial metabolic response (PMR): ≥30% decrease in SULpeak
    • Stable metabolic disease (SMD): neither CMR, PMR, nor PMD
    • Progressive metabolic disease (PMD): ≥30% increase or new lesions

4. Staging Summary (TNM + AJCC)

After findings, provide a structured summary:
PRIMARY TUMOR: [Segment] - FDG-avid mass, SUVmax [X]
LYMPH NODES: N0/N1/N2 - [describe avid nodes]
DISTANT METASTASES:
  - Liver: M1a - [number] lesions, largest [size], SUVmax [X]
  - Lung: M1a/M1b
  - Peritoneal: M1c
OVERALL STAGE: Stage [I/II/III/IVA/IVB/IVC]
AJCC 8th Edition M-staging for colon cancer:
  • M1a: metastasis to 1 distant organ/site
  • M1b: metastasis to 2 or more distant organs/sites
  • M1c: peritoneal metastasis (with or without other organ involvement)

5. Impression / Conclusion

Write a clear, concise impression:
  • State what was found / confirmed
  • Give TNM stage or response category
  • Flag clinically significant incidental findings
  • Recommend further evaluation if needed
Example impression (initial staging): "FDG-avid mass in sigmoid colon (SUVmax 12.4) consistent with known primary tumor. Multiple FDG-avid hepatic metastases in segments IV, VI, VII (SUVmax up to 9.8). No FDG-avid lymphadenopathy or extrahepatic disease. Findings consistent with Stage IVA (M1a) colorectal carcinoma."
Example impression (post-treatment): "Marked interval decrease in FDG avidity at primary sigmoid tumor (SUVmax 12.4 → 3.1) and hepatic metastases (SUVmax 9.8 → 2.3). Findings represent partial metabolic response by PERCIST criteria. No new FDG-avid disease."

6. Special Scenarios in CA Colon PET-CT

ScenarioKey Reporting Points
Rising CEA, negative CTPET/CT most valuable here - look for occult recurrence at anastomosis, liver, peritoneum
Post-surgery surveillanceAnastomotic recurrence vs. granulation tissue (delayed imaging may help)
Mucinous adenocarcinomaMay be FDG-negative; negative PET does not exclude disease
Liver-only metastasesAssess resectability; number, bilobar vs. unilobar, proximity to vessels
Rectal cancer (pelvic)Post-RT changes vs. residual tumor - minimum 6-8 weeks after RT before PET
Synchronous colon cancerPET excellent at detecting synchronous primaries in rest of colon

7. Common Pitfalls to Avoid

  • Normal colonic FDG uptake: Diffuse, low-grade uptake throughout colon is physiological (especially caecum). Focal intense uptake is suspicious.
  • Mucinous/colloid tumors: Can be FDG-cold. Always correlate with CT.
  • Post-surgical changes: Anastomotic site may show low-grade uptake for weeks-months post-op.
  • Inflammatory bowel disease: Can mimic tumor recurrence; correlate clinically.
  • Small peritoneal deposits: PET sensitivity is low for deposits <5 mm.
  • Hepatic lesions near background: Liver metastases with SUV close to hepatic parenchyma can be missed - use tumor:liver ratio.

Per the SNMMI FDG PET/CT reporting guidance, SUVmax based on body weight is the standard semiquantitative measure for all oncologic PET reports, and exact uptake times must be documented to allow valid inter-study comparisons.
For resectability assessment of liver-only disease, the ACR Appropriateness Criteria for colorectal cancer staging rates FDG PET/CT skull base to mid-thigh as "May Be Appropriate," particularly valuable when CT findings are equivocal or CEA is rising with negative conventional imaging.

Make a ppt on the topic of icrp guildline and alara principlr “ for nuclear medicine resident

Reading File
Reading File
Searching the Web

ICRP guidelines ALARA principle nuclear medicine radiation protection dose limits 2024

Running Command

mkdir -p /tmp/workspace/icrp-alara-ppt && ls /tmp/workspace/

Writing File

~/icrp-alara-ppt/create_ppt.py

from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.util import Inches, Pt
from io import BytesIO

# ── Color palette (nuclear medicine / medical theme) ──────────────────────────
DARK_BLUE    = RGBColor(0x0D, 0x2B, 0x55)   # deep navy
MID_BLUE     = RGBColor(0x1A, 0x5F, 0x9E)   # medium blue
ACCENT_GREEN = RGBColor(0x00, 0xA6, 0x7E)   # teal-green (radiation symbol vibe)
LIGHT_BG     = RGBColor(0xF0, 0xF5, 0xFF)   # very light blue-white
WHITE        = RGBColor(0xFF, 0xFF, 0xFF)
YELLOW       = RGBColor(0xFF, 0xD7, 0x00)
ORANGE       = RGBColor(0xFF, 0x85, 0x00)
LIGHT_GRAY   = RGBColor(0xE8, 0xF0, 0xFE)
TEXT_DARK    = RGBColor(0x1A, 0x1A, 0x2E)
ACCENT_RED   = RGBColor(0xE8, 0x3A, 0x3A)

prs = Presentation()
prs.slide_width  = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]

# ── Helper functions ───────────────────────────────────────────────────────────

def add_rect(slide, x, y, w, h, fill_color, transparency=None):
    shape = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(h))
    shape.line.fill.background()
    shape.fill.solid()
    shape.fill.fore_color.rgb = fill_color
    return shape

def add_text(slide, text, x, y, w, h, font_size=18, bold=False, color=WHITE,
             align=PP_ALIGN.LEFT, italic=False, wrap=True, v_anchor=None):
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = wrap
    if v_anchor:
        tf.vertical_anchor = v_anchor
    tf.margin_left  = Pt(4)
    tf.margin_right = Pt(4)
    tf.margin_top   = Pt(2)
    tf.margin_bottom= Pt(2)
    p = tf.paragraphs[0]
    p.alignment = align
    run = p.add_run()
    run.text = text
    run.font.size   = Pt(font_size)
    run.font.bold   = bold
    run.font.italic = italic
    run.font.color.rgb = color
    run.font.name = "Calibri"
    return tf

def add_multiline(slide, lines, x, y, w, h, font_size=16, color=TEXT_DARK,
                  bullet=True, bold_first=False, line_spacing=None):
    tb = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf = tb.text_frame
    tf.word_wrap = True
    tf.margin_left   = Pt(6)
    tf.margin_right  = Pt(6)
    tf.margin_top    = Pt(4)
    tf.margin_bottom = Pt(4)
    for i, line in enumerate(lines):
        if i == 0:
            p = tf.paragraphs[0]
        else:
            p = tf.add_paragraph()
        if bullet:
            p.text = ("• " if not line.startswith("•") else "") + line
        else:
            p.text = line
        p.alignment = PP_ALIGN.LEFT
        if line_spacing:
            from pptx.util import Pt as PT
            p.space_before = PT(line_spacing)
        for run in p.runs:
            run.font.size  = Pt(font_size)
            run.font.color.rgb = color
            run.font.name = "Calibri"
            if bold_first and i == 0:
                run.font.bold = True
    return tf

def add_divider(slide, x, y, w, color=ACCENT_GREEN, thickness=0.04):
    shape = slide.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(thickness))
    shape.line.fill.background()
    shape.fill.solid()
    shape.fill.fore_color.rgb = color
    return shape

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 1 – Title Slide
# ══════════════════════════════════════════════════════════════════════════════
s1 = prs.slides.add_slide(blank)

# Background gradient simulation – two rects
add_rect(s1, 0, 0, 13.333, 7.5, DARK_BLUE)
add_rect(s1, 0, 5.0, 13.333, 2.5, MID_BLUE)

# Radiation symbol placeholder (circle + text)
add_rect(s1, 10.8, 0.3, 2.0, 2.0, MID_BLUE)
add_text(s1, "☢", 10.8, 0.2, 2.1, 2.1, font_size=72, color=YELLOW,
         align=PP_ALIGN.CENTER)

# Title
add_text(s1, "ICRP Guidelines &", 0.7, 1.4, 10.0, 1.1,
         font_size=44, bold=True, color=WHITE, align=PP_ALIGN.LEFT)
add_text(s1, "ALARA Principle", 0.7, 2.4, 10.0, 1.0,
         font_size=44, bold=True, color=YELLOW, align=PP_ALIGN.LEFT)

# Subtitle
add_text(s1, "Radiation Protection in Nuclear Medicine", 0.7, 3.55, 10.0, 0.7,
         font_size=22, color=LIGHT_GRAY, align=PP_ALIGN.LEFT)

# Divider
add_divider(s1, 0.7, 4.4, 7.0, color=ACCENT_GREEN, thickness=0.05)

# For
add_text(s1, "For Nuclear Medicine Residents", 0.7, 4.6, 9.0, 0.5,
         font_size=18, color=ACCENT_GREEN, italic=True)
add_text(s1, "Based on ICRP Publication 103 (2007) & Current Guidelines", 0.7, 5.2, 10.0, 0.5,
         font_size=15, color=LIGHT_GRAY, italic=True)

# Bottom bar
add_rect(s1, 0, 6.9, 13.333, 0.6, ACCENT_GREEN)
add_text(s1, "ICRP  |  ALARA  |  Radiation Safety  |  Nuclear Medicine", 0, 6.9, 13.333, 0.6,
         font_size=13, color=WHITE, align=PP_ALIGN.CENTER, bold=False)

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 2 – Overview / Agenda
# ══════════════════════════════════════════════════════════════════════════════
s2 = prs.slides.add_slide(blank)
add_rect(s2, 0, 0, 13.333, 7.5, LIGHT_BG)
add_rect(s2, 0, 0, 13.333, 1.3, DARK_BLUE)
add_text(s2, "Session Overview", 0.5, 0.15, 12.0, 1.0,
         font_size=32, bold=True, color=WHITE, align=PP_ALIGN.LEFT)

topics = [
    ("01", "What is ICRP?",                   "History, mandate, structure"),
    ("02", "ICRP Publication 103",             "2007 Recommendations – the current framework"),
    ("03", "3 Principles of Radiation Protection", "Justification, Optimisation, Dose Limits"),
    ("04", "Dose Limits",                      "Occupational, Public, Patients in Nuclear Medicine"),
    ("05", "What is ALARA?",                   "Definition, origin, philosophy"),
    ("06", "ALARA in Nuclear Medicine",        "Patient dose, worker dose, practical tools"),
    ("07", "Diagnostic Reference Levels",      "DRLs – the practical ALARA tool"),
    ("08", "ALARA for Radiation Workers",      "Time, Distance, Shielding"),
    ("09", "Stochastic & Deterministic Effects","Dose-response, LNT model"),
    ("10", "Key Takeaways & MCQs",             "Summary + self-test"),
]

cols = [(0.4, 6.2), (6.7, 6.2)]
for i, (num, title, sub) in enumerate(topics):
    col = i % 2
    row = i // 2
    cx, cw = cols[col]
    cy = 1.5 + row * 1.05
    add_rect(s2, cx, cy, cw, 0.88, MID_BLUE if col == 0 else DARK_BLUE)
    add_text(s2, num, cx + 0.08, cy + 0.08, 0.5, 0.7,
             font_size=20, bold=True, color=YELLOW)
    add_text(s2, title, cx + 0.6, cy + 0.04, cw - 0.7, 0.42,
             font_size=15, bold=True, color=WHITE)
    add_text(s2, sub, cx + 0.6, cy + 0.46, cw - 0.7, 0.36,
             font_size=11, color=LIGHT_GRAY, italic=True)

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 3 – What is ICRP?
# ══════════════════════════════════════════════════════════════════════════════
s3 = prs.slides.add_slide(blank)
add_rect(s3, 0, 0, 13.333, 7.5, WHITE)
add_rect(s3, 0, 0, 13.333, 1.3, DARK_BLUE)
add_text(s3, "What is ICRP?", 0.5, 0.15, 12.0, 1.0,
         font_size=32, bold=True, color=WHITE)
add_divider(s3, 0.5, 1.35, 12.3, ACCENT_GREEN)

# Left column
add_rect(s3, 0.4, 1.5, 5.8, 5.5, LIGHT_BG)
add_text(s3, "International Commission on\nRadiological Protection", 0.6, 1.6, 5.4, 1.0,
         font_size=17, bold=True, color=DARK_BLUE)

facts = [
    "Founded: 1928 (as IXRPC, renamed ICRP 1950)",
    "Independent scientific body",
    "Principal advisory body to the UN, WHO, IAEA",
    "Issues numbered 'Publications' (most recent: Pub. 103, 2007; Pub. 116, 118, 128...)",
    "No regulatory power – recommendations only",
    "Adopted by most national regulators worldwide",
]
add_multiline(s3, facts, 0.5, 2.7, 5.9, 4.1, font_size=14, color=TEXT_DARK, bullet=True)

# Right column – Key Publications
add_rect(s3, 6.7, 1.5, 6.2, 5.5, DARK_BLUE)
add_text(s3, "Key ICRP Publications", 6.9, 1.6, 5.8, 0.55,
         font_size=17, bold=True, color=YELLOW)

pubs = [
    ("Pub 26 (1977)", "First systematic framework; dose limits; ALARA concept"),
    ("Pub 60 (1990)", "Revised dose limits; effective dose; tissue weighting factors"),
    ("Pub 73 (1996)", "ALARA applied to medical exposures + DRLs"),
    ("Pub 103 (2007)", "Current framework: 3 principles, updated Wr/Wt, LNT"),
    ("Pub 105 (2007)", "Radiation protection in medicine"),
    ("Pub 128 (2015)", "Radiation dose to patients from radionuclides"),
    ("Pub 140 (2019)", "Radiological protection in therapy"),
]
for i, (pub, desc) in enumerate(pubs):
    cy = 2.3 + i * 0.67
    add_rect(s3, 6.85, cy, 1.55, 0.52, ACCENT_GREEN)
    add_text(s3, pub, 6.85, cy, 1.55, 0.52,
             font_size=11, bold=True, color=WHITE, align=PP_ALIGN.CENTER,
             v_anchor=MSO_ANCHOR.MIDDLE)
    add_text(s3, desc, 8.5, cy, 4.2, 0.52,
             font_size=11, color=WHITE)

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 4 – Three Principles of Radiation Protection
# ══════════════════════════════════════════════════════════════════════════════
s4 = prs.slides.add_slide(blank)
add_rect(s4, 0, 0, 13.333, 7.5, LIGHT_BG)
add_rect(s4, 0, 0, 13.333, 1.3, MID_BLUE)
add_text(s4, "Three Fundamental Principles  (ICRP Pub. 103)", 0.5, 0.15, 12.5, 1.0,
         font_size=30, bold=True, color=WHITE)

cards = [
    (
        "1. JUSTIFICATION",
        DARK_BLUE, YELLOW,
        [
            "Any practice involving radiation must produce more benefit than harm",
            "Net benefit > Net detriment to individuals & society",
            "In Nuclear Medicine: each procedure must have a valid clinical indication",
            "No justification = No exposure",
            "Referrer + nuclear medicine physician share responsibility",
            "Example: FDG PET for fever of unknown origin ✓",
            "Example: Routine bone scan in healthy individual ✗",
        ]
    ),
    (
        "2. OPTIMISATION (ALARA)",
        ACCENT_GREEN, WHITE,
        [
            "Keep exposures 'as low as reasonably achievable'",
            "Social & economic factors taken into account",
            "NOT 'as low as possible' – benefit must be preserved",
            "Tools: DRLs, dose calculation, technique optimisation",
            "Applies to: patients, workers, and public",
            "Ongoing process – not a one-time check",
            "= The ALARA Principle in practice",
        ]
    ),
    (
        "3. DOSE LIMITS",
        ORANGE, WHITE,
        [
            "Apply only to occupational & public exposures",
            "Do NOT apply to patients (DRLs used instead)",
            "Occupational: 20 mSv/yr averaged over 5 yrs",
            "Public: 1 mSv/yr (effective dose)",
            "Eye lens: 20 mSv/yr (reduced from 150, since 2013)",
            "Skin / hands / feet: 500 mSv/yr",
            "Pregnant worker: embryo/fetus <1 mSv after declaration",
        ]
    ),
]
for i, (title, bg, tc, points) in enumerate(cards):
    cx = 0.35 + i * 4.3
    add_rect(s4, cx, 1.45, 4.05, 5.7, bg)
    add_text(s4, title, cx + 0.15, 1.55, 3.8, 0.7,
             font_size=15, bold=True, color=tc, align=PP_ALIGN.LEFT)
    add_divider(s4, cx + 0.1, 2.3, 3.8, WHITE if bg == DARK_BLUE else LIGHT_BG, 0.035)
    add_multiline(s4, points, cx + 0.1, 2.4, 3.85, 4.6,
                  font_size=12.5, color=WHITE if bg != ACCENT_GREEN else WHITE,
                  bullet=True)

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 5 – Dose Limits Table
# ══════════════════════════════════════════════════════════════════════════════
s5 = prs.slides.add_slide(blank)
add_rect(s5, 0, 0, 13.333, 7.5, WHITE)
add_rect(s5, 0, 0, 13.333, 1.3, DARK_BLUE)
add_text(s5, "ICRP Dose Limits  (Publication 103, 2007)", 0.5, 0.15, 12.5, 1.0,
         font_size=30, bold=True, color=WHITE)
add_divider(s5, 0.5, 1.35, 12.3, ACCENT_GREEN)

# Table header
headers = ["Dose Type / Tissue", "Occupational", "General Public"]
col_widths = [5.0, 3.6, 3.6]
col_starts = [0.5, 5.6, 9.3]

for i, (h, cw, cx) in enumerate(zip(headers, col_widths, col_starts)):
    add_rect(s5, cx, 1.5, cw, 0.55, MID_BLUE)
    add_text(s5, h, cx + 0.05, 1.5, cw, 0.55,
             font_size=14, bold=True, color=WHITE, align=PP_ALIGN.CENTER,
             v_anchor=MSO_ANCHOR.MIDDLE)

rows = [
    ("Effective Dose (annual limit)",    "20 mSv/yr\n(avg over 5 yrs; max 50 mSv in 1 yr)",  "1 mSv/yr"),
    ("Effective Dose (5-yr cumulative)", "100 mSv",                                            "5 mSv"),
    ("Eye Lens (Ht)",                    "20 mSv/yr\n(reduced in 2013 from 150 mSv)",         "15 mSv/yr"),
    ("Skin (Ht, 1 cm²)",                "500 mSv/yr",                                         "50 mSv/yr"),
    ("Hands & Feet (Ht)",               "500 mSv/yr",                                         "–"),
    ("Pregnant worker (embryo/fetus)",  "<1 mSv (remainder of pregnancy)",                    "–"),
    ("Patients",                        "No statutory limit – use DRLs + Justification",      "No statutory limit"),
]
row_colors = [LIGHT_BG, WHITE, LIGHT_BG, WHITE, LIGHT_BG, WHITE, LIGHT_BG]

for r, (row, bg) in enumerate(zip(rows, row_colors)):
    cy = 2.1 + r * 0.68
    rh = 0.62
    for i, (val, cw, cx) in enumerate(zip(row, col_widths, col_starts)):
        add_rect(s5, cx, cy, cw, rh, bg if i > 0 else LIGHT_GRAY)
        c = TEXT_DARK if bg != DARK_BLUE else WHITE
        add_text(s5, val, cx + 0.07, cy + 0.03, cw - 0.1, rh - 0.05,
                 font_size=12, color=c, bold=(i == 0), wrap=True,
                 align=PP_ALIGN.LEFT if i == 0 else PP_ALIGN.CENTER)

add_rect(s5, 0.5, 6.85, 12.3, 0.5, DARK_BLUE)
add_text(s5, "⚠  Note: Dose limits do NOT apply to patients undergoing diagnostic/therapeutic procedures. DRLs are used instead.",
         0.55, 6.85, 12.0, 0.5, font_size=12, color=YELLOW, bold=True)

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 6 – ALARA Principle Definition
# ══════════════════════════════════════════════════════════════════════════════
s6 = prs.slides.add_slide(blank)
add_rect(s6, 0, 0, 13.333, 7.5, DARK_BLUE)

# Big acronym display
letters = [
    ("A", "s"),
    ("L", "ow"),
    ("A", "s"),
    ("R", "easonably"),
    ("A", "chievable"),
]
start_x = 1.0
for i, (big, small) in enumerate(letters):
    cx = start_x + i * 2.3
    add_rect(s6, cx, 0.5, 1.9, 2.0, MID_BLUE)
    add_text(s6, big, cx, 0.5, 1.9, 1.3,
             font_size=68, bold=True, color=YELLOW, align=PP_ALIGN.CENTER)
    add_text(s6, small, cx, 1.65, 1.9, 0.65,
             font_size=20, bold=False, color=WHITE, align=PP_ALIGN.CENTER)

add_divider(s6, 0.7, 2.65, 12.0, ACCENT_GREEN)

add_text(s6, "\"Making every reasonable effort to maintain exposures to ionizing radiation", 0.7, 2.8, 12.0, 0.55,
         font_size=18, color=LIGHT_GRAY, italic=True, align=PP_ALIGN.CENTER)
add_text(s6, "as far below the applicable dose limits as is practical.\"", 0.7, 3.3, 12.0, 0.55,
         font_size=18, color=LIGHT_GRAY, italic=True, align=PP_ALIGN.CENTER)
add_text(s6, "— 10 CFR 20.1003 / ICRP Pub. 26", 8.5, 3.8, 4.5, 0.4,
         font_size=13, color=ACCENT_GREEN, italic=True)

key_pts = [
    "First articulated in ICRP Publication 26 (1977) as 'Optimisation'",
    "Applied to medical exposures in ICRP Publication 73 (1996)",
    "NOT 'as low as possible' – preserving diagnostic/therapeutic benefit is paramount",
    "Balances: radiation risk  vs.  clinical benefit  vs.  economic/societal constraints",
    "Applies to: patients, radiation workers, and members of the public",
]
add_multiline(s6, key_pts, 0.6, 4.3, 12.1, 2.8,
              font_size=14.5, color=WHITE, bullet=True)

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 7 – ALARA in Nuclear Medicine – Patient Side
# ══════════════════════════════════════════════════════════════════════════════
s7 = prs.slides.add_slide(blank)
add_rect(s7, 0, 0, 13.333, 7.5, WHITE)
add_rect(s7, 0, 0, 13.333, 1.3, ACCENT_GREEN)
add_text(s7, "ALARA in Nuclear Medicine – Patient Dose", 0.5, 0.15, 12.5, 1.0,
         font_size=29, bold=True, color=WHITE)

# Left – strategies
add_rect(s7, 0.3, 1.4, 6.0, 5.7, LIGHT_BG)
add_text(s7, "Strategies to Minimise Patient Dose", 0.5, 1.5, 5.7, 0.6,
         font_size=16, bold=True, color=DARK_BLUE)
add_divider(s7, 0.4, 2.15, 5.8, ACCENT_GREEN)

strats = [
    "Prescribe minimum activity that gives diagnostic quality (activity charts by weight)",
    "Use DRLs as reference – investigate if routinely exceeded",
    "Shorten organ residence time: encourage hydration + frequent voiding (e.g. 99mTc scans)",
    "Pregnancy screening before all studies involving radiation",
    "Breast-feeding guidance (delay / cessation per radiopharmaceutical)",
    "Paediatric dose: EANM/SNMMI paediatric dosage card – weight-based reduction",
    "Prefer short-lived radionuclides (e.g. 99mTc, t½ = 6 h) where possible",
    "Optimise reconstruction (OSEM, TOF) to maintain quality at lower doses",
    "Avoid unnecessary repeat scans; review prior imaging before re-scanning",
]
add_multiline(s7, strats, 0.4, 2.25, 5.9, 4.7, font_size=12.5, color=TEXT_DARK)

# Right – common doses
add_rect(s7, 6.7, 1.4, 6.3, 5.7, DARK_BLUE)
add_text(s7, "Typical Effective Doses in NM", 6.9, 1.5, 5.9, 0.6,
         font_size=16, bold=True, color=YELLOW)
add_divider(s7, 6.8, 2.15, 6.0, ACCENT_GREEN)

dose_data = [
    ("Procedure",            "Typical Dose"),
    ("Bone scan (99mTc-MDP)", "~3–4 mSv"),
    ("Lung V/Q (99mTc DTPA)","~1–2 mSv"),
    ("Thyroid scan (99mTc)", "~1 mSv"),
    ("Renogram (99mTc-DTPA)","~1 mSv"),
    ("FDG PET/CT",           "~7–10 mSv"),
    ("Ga-68 DOTATATE PET",   "~5 mSv"),
    ("131I therapy (30 mCi)","~300–600 mSv (thyroid)"),
    ("PSMA PET/CT",          "~5–6 mSv"),
    ("Myocardial perf. scan","~7–9 mSv"),
]
for r, (proc, dose) in enumerate(dose_data):
    cy = 2.25 + r * 0.5
    bg = MID_BLUE if r == 0 else (LIGHT_BG if r % 2 == 0 else WHITE)
    tc = WHITE if r == 0 else TEXT_DARK
    add_rect(s7, 6.8, cy, 3.8, 0.48, bg)
    add_rect(s7, 10.65, cy, 2.2, 0.48, bg)
    add_text(s7, proc, 6.85, cy + 0.03, 3.7, 0.42,
             font_size=11.5, color=tc, bold=(r == 0))
    add_text(s7, dose, 10.7, cy + 0.03, 2.1, 0.42,
             font_size=11.5, color=ACCENT_GREEN if r > 0 else WHITE,
             bold=(r == 0), align=PP_ALIGN.CENTER)

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 8 – Diagnostic Reference Levels (DRLs)
# ══════════════════════════════════════════════════════════════════════════════
s8 = prs.slides.add_slide(blank)
add_rect(s8, 0, 0, 13.333, 7.5, LIGHT_BG)
add_rect(s8, 0, 0, 13.333, 1.3, MID_BLUE)
add_text(s8, "Diagnostic Reference Levels (DRLs) – The ALARA Benchmark", 0.5, 0.15, 12.5, 1.0,
         font_size=28, bold=True, color=WHITE)

# Definition box
add_rect(s8, 0.4, 1.4, 12.5, 1.0, DARK_BLUE)
add_text(s8,
         "DRL = The 75th percentile of dose distributions observed in a survey of typical practice in a given country or region.\n"
         "Introduced by ICRP Publication 73 (1996).  Not a dose limit – an investigation level.",
         0.55, 1.45, 12.2, 0.9, font_size=13.5, color=WHITE, italic=False, bold=False)

# Two columns
add_rect(s8, 0.4, 2.5, 5.9, 4.6, WHITE)
add_text(s8, "Purpose of DRLs", 0.6, 2.6, 5.5, 0.55,
         font_size=16, bold=True, color=MID_BLUE)
drl_pts = [
    "Identify outlier practices using more dose than typical",
    "Trigger local audit and investigation if routinely exceeded",
    "NOT a limit – exceeding may sometimes be justified clinically",
    "National DRLs set by AERB (India), ARSAC (UK), ACR (USA), etc.",
    "Separate DRLs for adults and children",
    "Updated periodically as technology improves",
    "Encourage dose optimisation across the entire department",
]
add_multiline(s8, drl_pts, 0.5, 3.25, 5.8, 3.7, font_size=13, color=TEXT_DARK)

add_rect(s8, 6.7, 2.5, 6.2, 4.6, WHITE)
add_text(s8, "Example National DRLs (IAEA / EANM)", 6.9, 2.6, 5.8, 0.55,
         font_size=16, bold=True, color=MID_BLUE)

drl_table = [
    ("Procedure",                "Activity (MBq)"),
    ("Bone scan (99mTc-MDP)",    "700 MBq"),
    ("Tc-99m MIBI myocardial",   "1000 MBq (stress)"),
    ("FDG PET/CT (whole body)",  "300 MBq"),
    ("Thyroid scan (99mTc)",     "80 MBq"),
    ("Lung V/Q (99mTc)",         "200 MBq"),
    ("Renal scan (99mTc-DTPA)",  "300 MBq"),
    ("131I therapy (Grave's)",   "555 MBq (fixed)"),
]
for r, (proc, act) in enumerate(drl_table):
    cy = 3.2 + r * 0.49
    bg = MID_BLUE if r == 0 else (LIGHT_BG if r % 2 == 0 else WHITE)
    tc = WHITE if r == 0 else TEXT_DARK
    add_rect(s8, 6.8, cy, 4.1, 0.46, bg)
    add_rect(s8, 10.95, cy, 1.85, 0.46, bg)
    add_text(s8, proc, 6.85, cy + 0.02, 4.0, 0.42, font_size=11, color=tc, bold=(r==0))
    add_text(s8, act, 11.0, cy + 0.02, 1.75, 0.42,
             font_size=11, color=ACCENT_GREEN if r > 0 else WHITE,
             align=PP_ALIGN.CENTER, bold=(r==0))

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 9 – ALARA for Radiation Workers (Time-Distance-Shielding)
# ══════════════════════════════════════════════════════════════════════════════
s9 = prs.slides.add_slide(blank)
add_rect(s9, 0, 0, 13.333, 7.5, WHITE)
add_rect(s9, 0, 0, 13.333, 1.3, DARK_BLUE)
add_text(s9, "ALARA for Radiation Workers – Time, Distance, Shielding", 0.5, 0.15, 12.5, 1.0,
         font_size=28, bold=True, color=WHITE)

tds = [
    (
        "⏱  TIME", DARK_BLUE,
        "Minimise time spent near radioactive sources",
        [
            "Dose ∝ Time spent near source",
            "Pre-plan procedures to reduce handling duration",
            "Batch work: prepare multiple syringes at once",
            "Rapid dose rate in hot lab – move quickly and purposefully",
            "Avoid lingering near generator, eluate, or patient post-injection",
            "Track time with radiation survey meter alerts",
        ]
    ),
    (
        "📏  DISTANCE", ACCENT_GREEN,
        "Maintain maximum practical distance from source",
        [
            "Inverse square law: Dose ∝ 1/d²",
            "Double the distance → dose reduced by 4×",
            "Use forceps/tongs instead of hands for source handling",
            "Remote dispensing systems where available",
            "Maintain distance from injected patients in waiting areas",
            "1 m rule: stand ≥1 m when possible near gamma emitters",
        ]
    ),
    (
        "🛡  SHIELDING", ORANGE,
        "Use appropriate shielding for radionuclide energy",
        [
            "Low-energy β (e.g. 90Y): perspex / plastic (avoid Bremsstrahlung in lead)",
            "γ-emitters (e.g. 99mTc, 18F): lead aprons, lead glass syringe shields",
            "High-energy β+γ (18F, 68Ga): tungsten shields (L-shields) preferred",
            "Hot lab design: lead-lined walls, L-blocks, fume hoods",
            "Syringe shields mandatory for all radionuclide injections",
            "Personal dosimetry: TLD / OSL badge worn at collar level",
        ]
    ),
]
for i, (title, bg, subtitle, pts) in enumerate(tds):
    cx = 0.3 + i * 4.35
    add_rect(s9, cx, 1.4, 4.1, 5.8, bg)
    add_text(s9, title, cx + 0.15, 1.5, 3.85, 0.65,
             font_size=19, bold=True, color=WHITE)
    add_text(s9, subtitle, cx + 0.15, 2.15, 3.85, 0.55,
             font_size=12, color=YELLOW if bg != ORANGE else WHITE, italic=True)
    add_divider(s9, cx + 0.1, 2.73, 3.8, WHITE, 0.03)
    add_multiline(s9, pts, cx + 0.1, 2.85, 3.95, 4.2,
                  font_size=12, color=WHITE, bullet=True)

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 10 – Stochastic vs Deterministic Effects + LNT Model
# ══════════════════════════════════════════════════════════════════════════════
s10 = prs.slides.add_slide(blank)
add_rect(s10, 0, 0, 13.333, 7.5, LIGHT_BG)
add_rect(s10, 0, 0, 13.333, 1.3, MID_BLUE)
add_text(s10, "Radiation Effects & the LNT Model – Basis for ALARA", 0.5, 0.15, 12.5, 1.0,
         font_size=28, bold=True, color=WHITE)

# Two main boxes
add_rect(s10, 0.3, 1.4, 5.9, 4.2, DARK_BLUE)
add_text(s10, "Stochastic Effects", 0.5, 1.5, 5.5, 0.6,
         font_size=18, bold=True, color=YELLOW)
stoch = [
    "Probability of effect ∝ dose (no threshold assumed)",
    "Severity is NOT dose-dependent – it's all-or-nothing",
    "Examples: cancer induction, hereditary effects",
    "Basis of the LNT (Linear Non-Threshold) model",
    "Occur at LOW doses – relevant for diagnostic NM",
    "Goal: minimize probability → ALARA",
    "Risk: ~5% per Sievert (whole-body, low dose rate)",
]
add_multiline(s10, stoch, 0.4, 2.2, 5.7, 3.3, font_size=13, color=WHITE)

add_rect(s10, 6.7, 1.4, 5.9, 4.2, ACCENT_RED)
add_text(s10, "Deterministic Effects", 6.9, 1.5, 5.5, 0.6,
         font_size=18, bold=True, color=WHITE)
determ = [
    "Occur above a THRESHOLD dose",
    "Severity increases with dose above threshold",
    "Examples: erythema, ARS, cataracts, sterility",
    "Relevant in THERAPY (high-dose 131I, PRRT)",
    "Dose limits designed primarily to prevent these",
    "Skin threshold for erythema: ~2000 mGy (acute)",
    "Lens threshold: 500 mGy acute / 5000 mGy fractionated",
]
add_multiline(s10, determ, 6.8, 2.2, 5.7, 3.3, font_size=13, color=WHITE)

# LNT box
add_rect(s10, 0.3, 5.7, 12.3, 1.5, DARK_BLUE)
add_text(s10, "Linear Non-Threshold (LNT) Model  –  Foundation of ALARA",
         0.5, 5.75, 8.0, 0.55, font_size=15, bold=True, color=YELLOW)
add_text(s10,
         "The LNT model assumes any dose of radiation carries some cancer risk, with risk proportional to dose. "
         "There is no 'safe' threshold. This forms the scientific basis for ALARA: even small doses must be minimised. "
         "ICRP uses LNT as a pragmatic, conservative assumption for radiation protection purposes.",
         0.5, 6.3, 12.0, 0.85, font_size=12.5, color=WHITE)

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 11 – Practical ALARA in NM Department
# ══════════════════════════════════════════════════════════════════════════════
s11 = prs.slides.add_slide(blank)
add_rect(s11, 0, 0, 13.333, 7.5, WHITE)
add_rect(s11, 0, 0, 13.333, 1.3, ACCENT_GREEN)
add_text(s11, "Practical ALARA Implementation in NM Department", 0.5, 0.15, 12.5, 1.0,
         font_size=28, bold=True, color=WHITE)

areas = [
    ("Hot Laboratory",       MID_BLUE,  [
        "Lead-lined walls (≥2 mm Pb equivalent)",
        "L-shaped lead shields at dose calibrator",
        "Fume hood for volatile radiopharmaceuticals (131I)",
        "Syringe shields for all injections",
        "Remote dispensing systems",
        "Radiation survey meter always available",
    ]),
    ("Waiting / Uptake Room", DARK_BLUE, [
        "Post-injection patients are radiation sources",
        "Separate waiting area from general patients",
        "Lead-lined walls in uptake rooms",
        "Minimize staff contact time post-injection",
        "Breastfeeding / pregnancy waiting protocols",
        "Toilet with dedicated flushing protocols",
    ]),
    ("Scanning Room",        MID_BLUE,  [
        "Gamma camera room: adequate Pb shielding",
        "Minimize positioning time after injection",
        "Position & leave room during acquisition",
        "Lead glass viewing windows",
        "ALARA positioning aids reduce repeat scans",
    ]),
    ("Waste Disposal",       ACCENT_GREEN, [
        "Store-and-decay protocol: 10 half-lives before disposal",
        "99mTc waste: 10 × 6h = 60 hours storage",
        "131I waste: store weeks before disposal",
        "Contamination monitoring: wipe tests weekly",
        "Separate solid/liquid/gaseous waste streams",
    ]),
]

positions = [(0.3, 1.45), (6.85, 1.45), (0.3, 4.55), (6.85, 4.55)]
for i, ((cx, cy), (title, bg, pts)) in enumerate(zip(positions, areas)):
    add_rect(s11, cx, cy, 5.9, 2.75, bg)
    add_text(s11, title, cx + 0.15, cy + 0.08, 5.6, 0.5,
             font_size=15, bold=True, color=YELLOW)
    add_divider(s11, cx + 0.1, cy + 0.63, 5.6, WHITE, 0.03)
    add_multiline(s11, pts, cx + 0.1, cy + 0.72, 5.75, 2.0,
                  font_size=11.5, color=WHITE, bullet=True)

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 12 – Key Takeaways + MCQs
# ══════════════════════════════════════════════════════════════════════════════
s12 = prs.slides.add_slide(blank)
add_rect(s12, 0, 0, 13.333, 7.5, DARK_BLUE)
add_rect(s12, 0, 0, 13.333, 1.3, MID_BLUE)
add_text(s12, "Key Takeaways & Self-Test MCQs", 0.5, 0.15, 12.5, 1.0,
         font_size=30, bold=True, color=WHITE)

# Key takeaways
add_rect(s12, 0.3, 1.4, 5.9, 5.8, MID_BLUE)
add_text(s12, "🎯  Key Takeaways", 0.5, 1.5, 5.5, 0.55,
         font_size=17, bold=True, color=YELLOW)
takeaways = [
    "ICRP = International advisory body, not regulatory",
    "Publication 103 (2007) is the current framework",
    "3 Principles: Justification → Optimisation → Dose Limits",
    "ALARA = Principle of Optimisation in practice",
    "Dose limits apply to workers & public, NOT patients",
    "DRLs (75th percentile) are used for patient exposures",
    "LNT model: no safe dose → always minimise",
    "Time-Distance-Shielding = practical ALARA toolkit",
    "Eye lens limit updated to 20 mSv/yr in 2013 (ICRP)",
    "Pregnant workers: ≤1 mSv to fetus after declaration",
]
add_multiline(s12, takeaways, 0.4, 2.15, 5.7, 4.9, font_size=12.5, color=WHITE)

# MCQs
add_rect(s12, 6.7, 1.4, 6.2, 5.8, LIGHT_BG)
add_text(s12, "📝  MCQs", 6.9, 1.5, 5.8, 0.55,
         font_size=17, bold=True, color=DARK_BLUE)

mcqs = [
    ("Q1: What is the occupational effective dose limit per year?",
     "A) 1 mSv  B) 5 mSv  C) 20 mSv  D) 50 mSv",
     "Answer: C – 20 mSv/yr (avg over 5 yrs)"),
    ("Q2: DRL is defined at which percentile?",
     "A) 50th  B) 75th  C) 90th  D) 95th",
     "Answer: B – 75th percentile"),
    ("Q3: ALARA was first applied to medical exposures in:",
     "A) Pub 26 (1977)  B) Pub 60 (1990)  C) Pub 73 (1996)  D) Pub 103 (2007)",
     "Answer: C – ICRP Pub 73 (1996)"),
    ("Q4: Eye lens occupational dose limit (current):",
     "A) 15 mSv  B) 20 mSv  C) 50 mSv  D) 150 mSv",
     "Answer: B – 20 mSv/yr (revised 2013)"),
]
for i, (q, opts, ans) in enumerate(mcqs):
    cy = 2.1 + i * 1.25
    add_rect(s12, 6.75, cy, 6.1, 1.2, WHITE)
    add_text(s12, q, 6.85, cy + 0.03, 5.9, 0.42,
             font_size=12, bold=True, color=DARK_BLUE)
    add_text(s12, opts, 6.85, cy + 0.44, 5.9, 0.32,
             font_size=11, color=TEXT_DARK, italic=False)
    add_rect(s12, 6.75, cy + 0.79, 6.1, 0.36, ACCENT_GREEN)
    add_text(s12, ans, 6.85, cy + 0.8, 5.9, 0.34,
             font_size=11.5, bold=True, color=WHITE)

# ══════════════════════════════════════════════════════════════════════════════
# SLIDE 13 – Thank You / References
# ══════════════════════════════════════════════════════════════════════════════
s13 = prs.slides.add_slide(blank)
add_rect(s13, 0, 0, 13.333, 7.5, DARK_BLUE)
add_rect(s13, 0, 0, 13.333, 3.5, MID_BLUE)

add_text(s13, "Thank You", 0.5, 0.4, 12.3, 1.4,
         font_size=54, bold=True, color=WHITE, align=PP_ALIGN.CENTER)
add_text(s13, "Questions & Discussion Welcome", 0.5, 1.85, 12.3, 0.7,
         font_size=22, color=YELLOW, align=PP_ALIGN.CENTER, italic=True)

add_divider(s13, 0.5, 2.85, 12.3, ACCENT_GREEN, 0.06)

add_text(s13, "Key References", 0.7, 3.1, 12.0, 0.55,
         font_size=17, bold=True, color=ACCENT_GREEN)
refs = [
    "1.  ICRP Publication 103 (2007) – The 2007 Recommendations of the ICRP. Annals of the ICRP 37(2-4).",
    "2.  ICRP Publication 105 (2007) – Radiation Protection in Medicine.",
    "3.  ICRP Publication 128 (2015) – Radiation Dose to Patients from Radiopharmaceuticals.",
    "4.  Shafiq J et al. (2013) – Reporting Guidance for Oncologic FDG PET/CT Imaging. J Nucl Med 54(5):756-764.",
    "5.  EANM/SNMMI 2021 Paediatric Dosage Harmonisation Guidelines.",
    "6.  AERB Safety Code No. AERB/RF-MED/SC-1 (Rev. 1) – Radiological Safety in Nuclear Medicine.",
    "7.  10 CFR Part 20 – Standards for Protection Against Radiation (US NRC).",
]
add_multiline(s13, refs, 0.6, 3.7, 12.2, 3.5, font_size=12, color=LIGHT_GRAY, bullet=False)

# Bottom bar
add_rect(s13, 0, 6.9, 13.333, 0.6, ACCENT_GREEN)
add_text(s13, "ICRP Guidelines & ALARA Principle  |  Nuclear Medicine Residency Programme  |  2026",
         0, 6.9, 13.333, 0.6, font_size=13, color=WHITE, align=PP_ALIGN.CENTER)

# ══════════════════════════════════════════════════════════════════════════════
# SAVE
# ══════════════════════════════════════════════════════════════════════════════
out_path = "/tmp/workspace/icrp-alara-ppt/ICRP_ALARA_Nuclear_Medicine.pptx"
buf = BytesIO()
prs.save(buf)
with open(out_path, "wb") as f:
    f.write(buf.getvalue())
print(f"Saved to {out_path}")
Running Command

cd /tmp/workspace/icrp-alara-ppt && python create_ppt.py

Running Command

ls -lh /tmp/workspace/icrp-alara-ppt/ICRP_ALARA_Nuclear_Medicine.pptx

Your presentation is ready. Download it here:

ICRP ALARA Nuclear Medicine

Presentation · PPTX


What's Inside (13 Slides)

SlideContent
1Title Slide - Navy/blue theme with radiation symbol
2Session Overview - 10-topic agenda card layout
3What is ICRP? - History, structure, key publications (Pub 26 → Pub 140)
4Three Principles - Justification, Optimisation, Dose Limits (3 colour-coded cards)
5Dose Limits Table - Occupational vs Public, eye lens, skin, hands/feet, pregnant workers
6ALARA Definition - Large acronym breakdown (A-L-A-R-A) with origin and philosophy
7ALARA for Patients - Strategies + typical effective doses table for common NM procedures
8Diagnostic Reference Levels - Definition, purpose, example national DRLs table
9Time-Distance-Shielding - 3-column practical guide for radiation workers
10Stochastic vs Deterministic Effects + LNT model explanation
11Practical ALARA in NM Department - Hot lab, waiting room, scan room, waste disposal
12Key Takeaways + 4 MCQs with answers (exam-ready format)
13Thank You + 7 References (ICRP, EANM, AERB, NRC)
Design: Dark navy / teal-green / yellow accent colour scheme - clean, professional, residency-appropriate.
This is a shared conversation. Sign in to Orris to start your own chat.