Skip to content
Back to skills

Data Extraction

ASecurity

Use when extracting structured data from medical research PDFs, parsing study characteristics, patient demographics, outcomes, and results. Invoke for systematic review data collection from papers.

  • 666 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 8, 2026
researchgogit

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill data-extraction --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Data Extraction?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Data Extraction
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-data-extraction/badge)](https://www.skillsdirectory.com/skills/majiayu000-data-extraction)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: data-extraction
description: Use when extracting structured data from medical research PDFs, parsing study characteristics, patient demographics, outcomes, and results. Invoke for systematic review data collection from papers.
---

# Data Extraction Skill

This skill guides structured data extraction from research papers for systematic reviews.

## When to Use

Invoke this skill when the user:
- Asks to extract data from a PDF
- Needs study characteristics pulled
- Wants patient demographics collected
- Requests outcome data extraction
- Mentions "data extraction" or "data collection"

## Data Elements to Extract

### 1. Study Identification

| Field | Description | Example |
|-------|-------------|---------|
| study_id | FirstAuthorYear format | "Smith2023" |
| pmid | PubMed ID | "37654321" |
| doi | Digital Object Identifier | "10.1001/jamasurg.2023.1234" |
| title | Full article title | "..." |

### 2. Study Characteristics

| Field | Description | Values |
|-------|-------------|--------|
| year | Publication year | 2020 |
| country | Study location | "USA", "Japan" |
| study_design | Design type | "RCT", "Retrospective cohort" |
| multicenter | Single/multi | true/false |
| study_period | Enrollment dates | "2015-2020" |

### 3. Patient Demographics

| Field | Format | Notes |
|-------|--------|-------|
| sample_size | Integer | Total N |
| age_mean | Number | Mean age |
| age_sd | Number | Standard deviation |
| age_median | Number | If no mean |
| age_iqr | [Q1, Q3] | Interquartile range |
| male_percent | 0-100 | Percentage male |

### 4. Clinical Characteristics (Neurosurgery)

Common scales and measures:
- **GCS** (Glasgow Coma Scale): 3-15
- **GOS** (Glasgow Outcome Scale): 1-5
- **mRS** (modified Rankin Scale): 0-6
- **NIHSS** (NIH Stroke Scale): 0-42
- **Hunt-Hess**: I-V
- **Fisher Grade**: 1-4
- **WHO Grade**: I-IV (tumors)

### 5. Intervention Details

```yaml
intervention:
  name: "Decompressive craniectomy"
  type: "Surgical"
  technique: "Unilateral frontotemporoparietal"
  timing: "Within 48 hours"
  details: "Bone flap ≥12cm diameter"
```

### 6. Outcome Data

#### Binary Outcomes (events/total)

```yaml
outcomes:
  - name: "Mortality"
    type: "binary"
    timepoint: "30 days"
    intervention:
      events: 12
      total: 50
    control:
      events: 25
      total: 52
```

#### Continuous Outcomes (mean ± SD)

```yaml
outcomes:
  - name: "Length of stay"
    type: "continuous"
    timepoint: "discharge"
    intervention:
      mean: 14.5
      sd: 6.2
      n: 50
    control:
      mean: 18.3
      sd: 7.1
      n: 52
```

#### Effect Estimates

```yaml
effect_estimate:
  measure: "OR"  # OR, RR, HR, MD, SMD
  value: 0.65
  ci_lower: 0.42
  ci_upper: 0.98
  p_value: 0.038
```

## Extraction Principles

### DO:
1. Extract **only explicitly stated data**
2. Record the **exact numbers** from the paper
3. Note **units** (mg, mm, days, months)
4. Specify **timepoints** for each outcome
5. Flag **unclear or ambiguous** values with "?"
6. Document **page numbers** for key data

### DON'T:
1. Calculate or derive values (unless necessary)
2. Assume missing data
3. Interpret unclear statements
4. Mix timepoints within outcomes

## Quality Checks

After extraction, verify:
- [ ] Sample sizes sum correctly across groups
- [ ] Event counts ≤ total participants
- [ ] Percentages add to ~100%
- [ ] CIs contain the point estimate
- [ ] P-values align with CI (crossing 1 for OR/RR)

## Common Issues

### Converting Median/IQR to Mean/SD

When only median and IQR reported:
```
Mean ≈ Median (for symmetric distributions)
SD ≈ IQR / 1.35 (for normal distributions)
```

### Extracting from Figures

- Use WebPlotDigitizer for graph data
- Note "extracted from figure" in comments
- Estimate uncertainty

### Missing Control Group (Single-Arm)

For case series without controls:
```yaml
outcomes:
  - name: "Mortality"
    type: "binary"
    timepoint: "in-hospital"
    single_arm:
      events: 15
      total: 100
```

## Output Format

Use YAML format for structured extraction:

```yaml
study_id: "Smith2023"
pmid: "37654321"
doi: "10.1001/jamasurg.2023.1234"
year: 2023
country: "USA"
study_design: "Retrospective cohort"
sample_size: 150

patient_demographics:
  age_mean: 58.3
  age_sd: 12.4
  male_percent: 62

intervention:
  name: "Decompressive craniectomy"
  type: "Surgical"

outcomes:
  - name: "Mortality"
    type: "binary"
    timepoint: "30 days"
    intervention:
      events: 12
      total: 75
    control:
      events: 18
      total: 75

notes: "Single-center study. High crossover rate (15%)."
```

## Validation

After extraction, use the `validate_extraction` tool to check against schema:
```
mcp__neuroresearch__validate_extraction(data, schema_type="study")
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.