Treatment of AA Main points based on iadvl rooks bolognia and fitzpatrick
IADVL guidelines alopecia areata treatment 2022 2023
https://pmc.ncbi.nlm.nih.gov/articles/PMC9650746
Note on sources: The library contains Fitzpatrick's Dermatology (8th ed) and Bolonga's Dermatology 2-Vol Set (5th ed). Rook's Textbook of Dermatology is not in the library. For IADVL, the available source is the IADVL SIG Pediatric Dermatology recommendations on childhood AA (published in Indian Dermatology Online Journal, 2022, PMC9650746). Andrews' Diseases of the Skin is also available and is referenced below.
| Agent | Dose | Notes |
|---|---|---|
| Cyclosporine | 3-6 mg/kg/day | Used in severe cases; can combine with low-dose prednisone; high relapse on discontinuation; side effects limit use |
| Methotrexate | 15-20 mg/week (adults); ~0.4 mg/kg/week (children) | Steroid-sparing agent or monotherapy |
| Mycophenolate mofetil | - | Limited data |
| Azathioprine | - | Limited data |
| Sulfasalazine | Up to 1.5 g TDS | Some benefit |
| Dapsone | - | Limited data |
| Dupilumab | - | Effective in AA with concomitant atopic dermatitis |
Age < 10 years:
→ Topical CS ± anthralin → DPCP → (systemic with caution)
Adults, <50% scalp:
→ IL-TA q4-6 weeks ± topical CS → DPCP if no response at 4 months
Adults, >50% scalp / AT / AU:
→ Oral JAK inhibitor (baricitinib / ritlecitinib) as preferred
→ OR pulse systemic CS → cyclosporine or MTX as steroid-sparing
→ DPCP / PUVA for refractory cases
Note on Rook's: Rook's Textbook of Dermatology is not available in this textbook library. The content above draws on Fitzpatrick, Bolonga (Dermatology 2-Vol Set 5e), Andrews, and the IADVL SIG publication. Rook's positions on AA treatment are broadly similar - emphasizing IL-CS as first-line for limited disease, DPCP as the most effective option for extensive disease, and JAK inhibitors as the new standard for severe AA.
Make a flow chart of it
ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && ls -la /tmp/workspace/
mkdir -p /tmp/workspace/aa-flowchart && python3 << 'EOF' import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import matplotlib.patches as mpatches from matplotlib.patches import FancyBboxPatch, FancyArrowPatch import numpy as np fig, ax = plt.subplots(1, 1, figsize=(22, 30)) ax.set_xlim(0, 22) ax.set_ylim(0, 30) ax.axis('off') fig.patch.set_facecolor('#F8F9FA') # ─── COLOR PALETTE ─────────────────────────────────────────────── C_TITLE = '#1A237E' # deep navy C_DIAG = '#283593' # diagnosis box C_MILD = '#1565C0' # mild/limited C_MODERATE = '#6A1B9A' # moderate C_SEVERE = '#B71C1C' # severe/AT/AU C_CHILD = '#2E7D32' # children C_LINE1 = '#0277BD' # 1st line C_LINE2 = '#EF6C00' # 2nd line C_LINE3 = '#C62828' # 3rd line C_JAK = '#4A148C' # JAK C_ARROW = '#37474F' C_PROG = '#004D40' # prognosis/counselling def box(ax, x, y, w, h, text, facecolor, textcolor='white', fontsize=9, bold=False, radius=0.3, alpha=1.0, ha='center', va='center'): fancy = FancyBboxPatch((x - w/2, y - h/2), w, h, boxstyle=f"round,pad=0.05,rounding_size={radius}", facecolor=facecolor, edgecolor='white', linewidth=1.5, alpha=alpha, zorder=3) ax.add_patch(fancy) weight = 'bold' if bold else 'normal' ax.text(x, y, text, ha=ha, va=va, fontsize=fontsize, color=textcolor, weight=weight, zorder=4, wrap=True, multialignment='center', transform=ax.transData) def arrow(ax, x1, y1, x2, y2, color=C_ARROW, lw=1.8, label=''): ax.annotate('', xy=(x2, y2), xytext=(x1, y1), arrowprops=dict(arrowstyle='->', color=color, lw=lw, connectionstyle='arc3,rad=0.0'), zorder=2) if label: mx, my = (x1+x2)/2, (y1+y2)/2 ax.text(mx+0.15, my, label, fontsize=7.5, color=color, ha='left', va='center', style='italic', zorder=5) def curved_arrow(ax, x1, y1, x2, y2, rad=0.2, color=C_ARROW, lw=1.5, label=''): ax.annotate('', xy=(x2, y2), xytext=(x1, y1), arrowprops=dict(arrowstyle='->', color=color, lw=lw, connectionstyle=f'arc3,rad={rad}'), zorder=2) # ─── TITLE ─────────────────────────────────────────────────────── ax.text(11, 29.3, 'TREATMENT OF ALOPECIA AREATA (AA)', ha='center', va='center', fontsize=16, color='white', weight='bold', bbox=dict(boxstyle='round,pad=0.4', facecolor=C_TITLE, edgecolor='none'), zorder=5) ax.text(11, 28.75, 'Based on: Fitzpatrick | Bolonga | Andrews | IADVL SIG', ha='center', va='center', fontsize=8.5, color='#546E7A', style='italic') # ─── DIAGNOSIS BOX ─────────────────────────────────────────────── box(ax, 11, 28.1, 9, 0.7, 'DIAGNOSIS CONFIRMED · Assess SALT Score · Exclude scarring alopecia', C_DIAG, fontsize=9, bold=True) arrow(ax, 11, 27.75, 11, 27.3) # ─── SPONTANEOUS REMISSION NOTE ────────────────────────────────── box(ax, 11, 27.05, 8.5, 0.55, 'Counsel on variable natural history · Spontaneous remission possible (esp. limited patchy AA)\n' 'Rule out triggers (stress, infection, medication) · Screen for associated autoimmune diseases', '#455A64', fontsize=8.2) arrow(ax, 11, 26.77, 11, 26.3) # ─── THREE COLUMNS: CHILD / LIMITED / SEVERE ───────────────────── # Column headers box(ax, 3.5, 26.05, 5.8, 0.65, 'CHILDREN (< 10 yrs)\nLimited patches', C_CHILD, fontsize=9, bold=True) box(ax, 11, 26.05, 5.8, 0.65, 'ADULTS — LIMITED AA\nSALT < 50 · < 50% scalp', C_MILD, fontsize=9, bold=True) box(ax, 18.5, 26.05, 5.8, 0.65, 'ADULTS — SEVERE AA\nSALT ≥ 50 · AT / AU / Ophiasis', C_SEVERE, fontsize=9, bold=True) # Vertical dividers for xv in [6.5, 14.5]: ax.plot([xv, xv], [10, 25.72], color='#B0BEC5', lw=1, ls='--', zorder=1) # BRANCH ARROWS from counseling box arrow(ax, 7.5, 26.77, 3.5, 26.37, color=C_CHILD) arrow(ax, 11, 26.77, 11, 26.37, color=C_MILD) arrow(ax, 14.5, 26.77, 18.5, 26.37, color=C_SEVERE) # ═══════════════════════════════════════════════════════════════════ # COLUMN 1 — CHILDREN # ═══════════════════════════════════════════════════════════════════ y = 25.3 box(ax, 3.5, y, 5.4, 0.55, '1st LINE: TOPICAL MONOTHERAPY', C_LINE1, fontsize=8.5, bold=True) arrow(ax, 3.5, y-0.28, 3.5, y-0.72) y -= 1.0 box(ax, 3.5, y, 5.4, 0.9, '• Superpotent / potent TCS (clobetasol 0.05%)\n' '• Anthralin 0.2-1% short-contact (20-60 min)\n' '• Topical minoxidil 5% (adjunct)', '#1B5E20', fontsize=8, alpha=0.92) arrow(ax, 3.5, y-0.46, 3.5, y-0.92) y -= 1.4 box(ax, 3.5, y, 5.4, 0.55, '2nd LINE: COMBINE 2-3 TOPICALS', C_LINE2, fontsize=8.5, bold=True) ax.text(3.5, y-0.4, '(e.g. TCS + minoxidil + anthralin)', ha='center', fontsize=7.5, color='#E65100', style='italic') arrow(ax, 3.5, y-0.65, 3.5, y-1.1) y -= 1.55 box(ax, 3.5, y, 5.4, 0.65, 'No response / Extensive / AT/AU ↓\n3rd LINE: DPCP (contact immunotherapy)', C_LINE3, fontsize=8, bold=False) arrow(ax, 3.5, y-0.34, 3.5, y-0.79) y -= 1.2 box(ax, 3.5, y, 5.4, 0.65, 'Systemic therapy (with caution in children)\n' 'Pulse steroids · MTX (~0.4 mg/kg/wk)\n' 'Cyclosporine 3-5 mg/kg/day', '#880E4F', fontsize=7.8) # IADVL label ax.text(3.5, y-0.48, '★ IADVL SIG framework', ha='center', fontsize=7.5, color=C_CHILD, weight='bold', style='italic') # ═══════════════════════════════════════════════════════════════════ # COLUMN 2 — ADULTS LIMITED # ═══════════════════════════════════════════════════════════════════ y = 25.3 box(ax, 11, y, 5.4, 0.55, '1st LINE: IL-TRIAMCINOLONE ACETONIDE', C_LINE1, fontsize=8.5, bold=True) arrow(ax, 11, y-0.28, 11, y-0.72) y -= 1.0 box(ax, 11, y, 5.4, 1.0, '• TA 2.5–5 mg/mL (Bolonga) / up to 10 mg/mL (Fitz)\n' '• 0.1 mL per site, 1 cm apart, mid-deep dermis\n' '• Repeat q 3-4 wks (Bolonga) / q 4-6 wks (Fitz)\n' '• Max: 10-20 mg/session · Initial response 4-8 wks\n' '• Use on scalp, eyebrows, beard', '#0D47A1', fontsize=7.8, alpha=0.92) arrow(ax, 11, y-0.51, 11, y-0.97) y -= 1.5 box(ax, 11, y, 5.4, 0.55, 'ADD: TOPICAL TCS ± MINOXIDIL 5%', '#1565C0', fontsize=8.5, bold=False) arrow(ax, 11, y-0.28, 11, y-0.72) y -= 1.1 box(ax, 11, y, 5.4, 0.55, 'NO RESPONSE at 4 months ↓\n2nd LINE: DPCP / SADBE', C_LINE2, fontsize=8.5, bold=True) arrow(ax, 11, y-0.28, 11, y-0.72) y -= 1.1 box(ax, 11, y, 5.4, 0.75, 'DPCP Protocol:\n' '• Sensitize: 2% DPCP on small area (week 0)\n' '• Start 0.0001%, weekly applications\n' '• Titrate to mild erythema + itch\n' '• Do not wash scalp 48h · Protect from UV\n' '• Success 17-75%; lowest in AT/AU', '#E65100', fontsize=7.5, alpha=0.92) arrow(ax, 11, y-0.38, 11, y-0.82) y -= 1.3 box(ax, 11, y, 5.4, 0.55, 'Consider: ANTHRALIN / PUVA (refractory)\nPlatelet-rich plasma (adjunct)', '#4E342E', fontsize=8) # ═══════════════════════════════════════════════════════════════════ # COLUMN 3 — ADULTS SEVERE # ═══════════════════════════════════════════════════════════════════ y = 25.3 box(ax, 18.5, y, 5.4, 0.55, '1st LINE: ORAL JAK INHIBITORS ★', C_JAK, fontsize=8.5, bold=True) arrow(ax, 18.5, y-0.28, 18.5, y-0.72) y -= 1.0 box(ax, 18.5, y, 5.4, 1.0, 'FDA-APPROVED:\n' '• Baricitinib (JAK1/2) — adults, SALT ≥50\n' '• Ritlecitinib (JAK3/TEC) — age ≥12, extensive AA\n\n' 'Off-label / Evidence:\n' '• Tofacitinib (JAK1/3) · Deuruxolitinib (JAK1/2)\n' '⚠ Maintenance required — high relapse on stopping', '#1A0040', fontsize=7.8, alpha=0.93) arrow(ax, 18.5, y-0.51, 18.5, y-0.97) y -= 1.5 box(ax, 18.5, y, 5.4, 0.55, 'OR: PULSE SYSTEMIC CORTICOSTEROIDS', C_SEVERE, fontsize=8.5, bold=True) arrow(ax, 18.5, y-0.28, 18.5, y-0.72) y -= 1.1 box(ax, 18.5, y, 5.4, 0.85, 'Pulse Regimens (preferred over daily):\n' '• Dexamethasone 0.1 mg/kg twice weekly\n' '• Prednisolone 200 mg weekly\n' '• Prednisolone 5 mg/kg (max 300 mg) monthly\n' '• Methylprednisolone 500 mg/day × 3 days/month\n' 'Daily pred: 0.4-0.6 mg/kg/day, taper ≥12 wks', '#7B1FA2', fontsize=7.6, alpha=0.92) arrow(ax, 18.5, y-0.43, 18.5, y-0.87) y -= 1.35 box(ax, 18.5, y, 5.4, 0.55, 'STEROID-SPARING AGENTS', C_LINE2, fontsize=8.5, bold=True) arrow(ax, 18.5, y-0.28, 18.5, y-0.72) y -= 1.1 box(ax, 18.5, y, 5.4, 0.75, '• Cyclosporine 3-5 mg/kg/day\n' '• Methotrexate 15-20 mg/week\n' '• Mycophenolate mofetil · Azathioprine\n' '• Sulfasalazine (up to 1.5 g TDS)\n' '• Dupilumab (if concomitant atopic dermatitis)', '#BF360C', fontsize=7.6, alpha=0.92) # ═══════════════════════════════════════════════════════════════════ # BOTTOM SECTION — CONVERGING SPECIAL TREATMENTS # ═══════════════════════════════════════════════════════════════════ y_bottom = 11.8 # Arrows from bottom of all 3 columns to special section arrow(ax, 3.5, 18.8, 3.5, 13.0, color='#546E7A', lw=1.2) arrow(ax, 11, 18.8, 11, 13.0, color='#546E7A', lw=1.2) arrow(ax, 18.5, 18.8, 18.5, 13.0, color='#546E7A', lw=1.2) # Horizontal connector ax.plot([3.5, 18.5], [13.0, 13.0], color='#546E7A', lw=1.5, zorder=2) arrow(ax, 11, 13.0, 11, 12.7, color='#546E7A') box(ax, 11, 12.4, 20, 0.55, 'ADJUNCT / SPECIAL SITUATIONS — applicable across all groups', '#37474F', fontsize=9, bold=True) # Sub-boxes for special situations specs = [ (3.5, 11.3, 5.2, 1.0, 'TOPICAL JAK INHIBITORS\n• 2% Tofacitinib\n• 1.5% Ruxolitinib\n(Less effective than oral; useful for eyebrows)', '#512DA8'), (9.5, 11.3, 5.2, 1.0, 'PROSTAGLANDIN ANALOGUES\n• Bimatoprost, Latanoprost\n(For eyelash/eyebrow AA only)\n⚠ Mixed efficacy; periocular pigmentation', '#00695C'), (15.5, 11.3, 5.2, 1.0, 'PLATELET-RICH PLASMA\n• Monotherapy or adjunct\n• One trial: superior to low-dose TA\n• Role not yet firmly established', '#558B2F'), ] for (sx, sy, sw, sh, st, sc) in specs: arrow(ax, 11, 12.12, sx, sy+sh/2+0.05, color='#78909C', lw=1.2) box(ax, sx, sy, sw, sh, st, sc, fontsize=7.8) # PUVA / PHOTOTHERAPY arrow(ax, 11, 12.12, 11, 10.3, color='#78909C', lw=1.2) box(ax, 11, 10.0, 10, 0.75, 'PHOTO(CHEMO)THERAPY — Refractory / Exceptional cases only\n' '• PUVA (topical or oral PUVA) · NB-UVB · 308-nm excimer laser\n' '⚠ High relapse on tapering · Long-term photocarcinogenesis risk', '#4E342E', fontsize=8) # ═══════════════════════════════════════════════════════════════════ # DPCP PROTOCOL SIDEBAR (left) # ═══════════════════════════════════════════════════════════════════ # (already embedded in columns above) # ═══════════════════════════════════════════════════════════════════ # MONITORING & COUNSELLING # ═══════════════════════════════════════════════════════════════════ arrow(ax, 11, 9.62, 11, 9.2) box(ax, 11, 8.85, 20, 0.65, 'MONITORING · COUNSELLING · SUPPORT', C_PROG, fontsize=9, bold=True) monitor_items = [ (3.2, 8.0, 5.0, 0.85, 'RESPONSE ASSESSMENT\n• Reassess at 4-6 weeks (IL) / 3 months (topical)\n• SALT score at each visit\n• If no response at 4 months → escalate', '#00695C'), (9.8, 8.0, 5.0, 0.85, 'SAFETY MONITORING\n• IL-TA: watch for atrophy (same site)\n• Cyclosporine: BP, renal, cholesterol\n• JAK inhibitors: CBC, LFTs, lipids, MACE\n• Steroids: glucose, BMD (long-term)', '#1A237E'), (16.4, 8.0, 5.0, 0.85, 'PATIENT COUNSELLING\n• Explain chronic/relapsing course\n• Discuss wigs/camouflage options\n• Psychological support / counselling\n• Refer: NAAF / support groups', '#4A148C'), ] for (mx, my, mw, mh, mt, mc) in monitor_items: arrow(ax, 11, 8.52, mx, my+mh/2+0.05, color=C_PROG, lw=1.2) box(ax, mx, my, mw, mh, mt, mc, fontsize=7.6) # ═══════════════════════════════════════════════════════════════════ # POOR PROGNOSIS BOX # ═══════════════════════════════════════════════════════════════════ box(ax, 11, 6.85, 20, 0.75, 'POOR PROGNOSIS MARKERS → Intensify treatment / Set realistic expectations', '#B71C1C', fontsize=8.5, bold=True) ax.text(11, 6.35, 'AT/AU · Ophiasis pattern · Duration > 1 year · Nail involvement · Onset < 5 years · Atopic history · Positive family history', ha='center', fontsize=8, color='#B71C1C', style='italic') # ═══════════════════════════════════════════════════════════════════ # LEGEND # ═══════════════════════════════════════════════════════════════════ legend_data = [ (C_LINE1, '1st Line'), (C_LINE2, '2nd Line'), (C_LINE3, '3rd Line / Refractory'), (C_JAK, 'JAK Inhibitors (FDA-approved)'), (C_CHILD, 'Children-specific (IADVL SIG)'), (C_PROG, 'Monitoring/Counselling'), ] lx, ly = 1.0, 5.5 ax.text(lx, ly+0.3, 'LEGEND', fontsize=8, color='#37474F', weight='bold') for i, (lc, lt) in enumerate(legend_data): rx = lx + (i % 3) * 6.5 ry = ly - 0.4 - (i // 3) * 0.55 fancy = FancyBboxPatch((rx, ry-0.15), 0.5, 0.3, boxstyle='round,pad=0.04', facecolor=lc, edgecolor='none', zorder=3) ax.add_patch(fancy) ax.text(rx+0.65, ry, lt, fontsize=7.8, va='center', color='#263238') # Source footnote ax.text(11, 0.4, 'Sources: Fitzpatrick\'s Dermatology 8e (Ch.87) · Bolonga\'s Dermatology 5e (Ch.69) · Andrews\' Diseases of the Skin · IADVL SIG Pediatric Dermatology Recommendations (IDOJ 2022)', ha='center', fontsize=7, color='#78909C', style='italic') plt.tight_layout(pad=0.5) plt.savefig('/tmp/workspace/aa-flowchart/AA_Treatment_Flowchart.png', dpi=180, bbox_inches='tight', facecolor=fig.get_facecolor()) plt.close() print("Saved successfully.") EOF
python3 -c " from PIL import Image img = Image.open('/tmp/workspace/aa-flowchart/AA_Treatment_Flowchart.png') print(f'Size: {img.size}, Mode: {img.mode}, File size: {__import__(\"os\").path.getsize(\"/tmp/workspace/aa-flowchart/AA_Treatment_Flowchart.png\")/1024:.1f} KB') "
AA Treatment Flowchart
Image · PNG