Acquired pancytopenia
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 -c " import pdfplumber import re pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024.pdf' with pdfplumber.open(pdf_path) as pdf: print(f'Total pages: {len(pdf.pages)}') # Search for pancytopenia for i, page in enumerate(pdf.pages): text = page.extract_text() or '' if 'pancytopenia' in text.lower() or 'aplastic' in text.lower(): print(f'--- Page {i+1} ---') print(text[:3000]) print() " 2>&1 | head -300
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 << 'EOF' import pdfplumber pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024.pdf' with pdfplumber.open(pdf_path) as pdf: print(f'Total pages: {len(pdf.pages)}') for i in range(min(5, len(pdf.pages))): text = pdf.pages[i].extract_text() or '' print(f'--- Page {i+1} (chars: {len(text)}) ---') print(text[:500]) print() EOF
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 << 'EOF' import pdfplumber pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024.pdf' with pdfplumber.open(pdf_path) as pdf: print(f'Total pages: {len(pdf.pages)}') # Search for pancytopenia in all pages hits = [] for i, page in enumerate(pdf.pages): text = page.extract_text() or '' if 'pancytopenia' in text.lower(): hits.append((i+1, text)) print(f'Pages with pancytopenia: {[h[0] for h in hits]}') # Print each hit for pg, text in hits[:6]: print(f'\n=== PAGE {pg} ===') print(text[:3000]) EOF
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 << 'EOF' import pdfplumber pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024.pdf' with pdfplumber.open(pdf_path) as pdf: # Search pages 1-80 for pancytopenia/aplastic anemia for i in range(80): text = pdf.pages[i].extract_text() or '' if 'pancytopenia' in text.lower() or 'aplastic anemia' in text.lower(): print(f'\n=== PAGE {i+1} ===') print(text[:2500]) EOF
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 << 'EOF' import pdfplumber pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024.pdf' with pdfplumber.open(pdf_path) as pdf: total = len(pdf.pages) print(f"Total: {total}") # Try pages 50-80 only for i in range(50, 80): text = pdf.pages[i].extract_text() or '' if 'pancytopenia' in text.lower() or 'aplastic' in text.lower(): print(f'\n=== PAGE {i+1} ===') print(text[:2000]) EOF
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 << 'EOF' import pdfplumber pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024.pdf' with pdfplumber.open(pdf_path) as pdf: # Focus on pages 80-161 for i in range(80, 161): text = pdf.pages[i].extract_text() or '' if 'pancytopenia' in text.lower() or 'aplastic' in text.lower(): print(f'\n=== PAGE {i+1} ===') print(text[:2500]) EOF
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 << 'EOF' import pdfplumber pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024.pdf' with pdfplumber.open(pdf_path) as pdf: # Pages 100-130 for pancytopenia for i in range(100, 130): text = pdf.pages[i].extract_text() or '' if 'pancytopenia' in text.lower() or ('aplastic' in text.lower() and 'anemia' in text.lower()): print(f'\n=== PAGE {i+1} ===') print(text[:2500]) EOF
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 << 'EOF' import pdfplumber pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024.pdf' with pdfplumber.open(pdf_path) as pdf: # Pages 25-50 for i in range(20, 55): text = pdf.pages[i].extract_text() or '' if 'pancytopenia' in text.lower() or ('aplastic' in text.lower()): print(f'\n=== PAGE {i+1} ===') print(text[:2500]) EOF
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 << 'EOF' import pdfplumber pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024.pdf' with pdfplumber.open(pdf_path) as pdf: # Pages 130-161 - end of book for aplastic anemia for i in range(125, 161): text = pdf.pages[i].extract_text() or '' if 'pancytopenia' in text.lower() or 'aplastic' in text.lower() or 'acquired' in text.lower(): print(f'\n=== PAGE {i+1} ===') print(text[:3000]) EOF
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 << 'EOF' import pdfplumber pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024.pdf' with pdfplumber.open(pdf_path) as pdf: # Check pages 7-22 for aplastic anemia chapter for i in range(6, 23): text = pdf.pages[i].extract_text() or '' if 'aplastic' in text.lower() or 'acquired' in text.lower(): print(f'\n=== PAGE {i+1} ===') print(text[:3000]) EOF

| Primary Bone Marrow Diseases | Secondary to Systemic Disease |
|---|---|
| Myelodysplastic syndromes (MDS) | Systemic lupus erythematosus (SLE) |
| Paroxysmal nocturnal hemoglobinuria (PNH) | Hypersplenism |
| Myelofibrosis | Vitamin B12/folate deficiency |
| Aleukemic leukemia | Copper deficiency |
| Myelophthisis | Alcohol |
| Bone marrow lymphoma | HIV infection |
| Hairy cell leukemia | Brucellosis, TB, Leishmaniasis |
| Sarcoidosis, Sepsis |
| Criteria | Severe AA | Very Severe AA |
|---|---|---|
| Marrow cellularity | < 25% or <50% with <30% residual cells | same |
| Neutrophils | < 0.5 × 10⁹/L | < 0.2 × 10⁹/L |
| Platelets | < 20 × 10⁹/L | same |
| Reticulocytes | < 20 × 10⁹/L (absolute) | same |
Only from Nelson
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 << 'EOF' import pdfplumber pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024.pdf' with pdfplumber.open(pdf_path) as pdf: # Chapter 517 and 518 on pancytopenias - find those pages for i in range(55, 100): text = pdf.pages[i].extract_text() or '' if ('517' in text or '518' in text) and ('aplastic' in text.lower() or 'pancytopenia' in text.lower()): print(f'\n=== PAGE {i+1} ===') print(text[:3000]) EOF
Acquired pancytopenia - from Nelson only
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 << 'EOF' import pdfplumber pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024 (1).pdf' with pdfplumber.open(pdf_path) as pdf: print(f'Total pages: {len(pdf.pages)}') # Find Chapter 518 - Acquired Pancytopenias for i in range(90, 110): text = pdf.pages[i].extract_text() or '' if 'acquired pancytopenia' in text.lower() or '518' in text: print(f'\n=== PAGE {i+1} ===') print(text[:4000]) EOF
cd /home/daytona/workspace/attachments/34497369-f4b9-4f8c-affe-9c55cd3baa1c && python3 << 'EOF' import pdfplumber pdf_path = 'Part XIX -Diseases of the Blood - Nelson 2024 (1).pdf' with pdfplumber.open(pdf_path) as pdf: # Get ALL of pages 94-97 (Chapter 518) in full for i in range(93, 98): text = pdf.pages[i].extract_text() or '' print(f'\n========== PAGE {i+1} ==========') print(text) EOF