Skip to content
Back to skills

Tac2017

ASecurity

Query TAC 2017 ADR annotated drug labels for adverse drug reactions. Use whenever the user asks about ADRs extracted from FDA drug labels, MedDRA-normalized adverse reactions, or wants to look up a drug name, ADR string, or MedDRA code in the TAC 2017 ADR corpus.

  • 171 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 6, 2026
ai-agentspythongoreactgitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add BioTender-max/awesome-bio-agent-skills --skill tac2017 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tac2017?

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

Security grade badge for Tac2017
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/biotender-max-tac2017/badge)](https://www.skillsdirectory.com/skills/biotender-max-tac2017)

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: tac2017-adr
description: >
  Query TAC 2017 ADR annotated drug labels for adverse drug reactions.
  Use whenever the user asks about ADRs extracted from FDA drug labels,
  MedDRA-normalized adverse reactions, or wants to look up a drug name,
  ADR string, or MedDRA code in the TAC 2017 ADR corpus.
---

# TAC 2017 ADR Query Skill

Search 200 FDA drug labels annotated with adverse reactions, severity,
and MedDRA normalization from the TAC 2017 shared task.

## Entity Auto-detection

| Input Pattern | Detected As | Match Logic |
|---|---|---|
| `10019211` (8 digits) | MedDRA ID | exact on `meddra_pt_id` or `meddra_llt_id` |
| `ACTEMRA` (known drug) | Drug name | exact (case-insensitive) on drug label name |
| `headache` (known ADR) | ADR string | exact on ADR reaction string |
| anything else | Free text | substring on drug names, ADR strings, MedDRA PT/LLT names |

## API

| Function | Input | Returns |
|---|---|---|
| `search(entity)` | single entity string | `list[dict]` — matching label hit(s) |
| `search_batch(entities)` | list of entity strings | `dict[str, list[dict]]` |
| `summarize(hits, entity)` | hit list + query label | compact LLM-readable text |
| `to_json(hits)` | hit list | `list[dict]` (JSON-serializable) |
| `list_drugs()` | — | sorted list of all drug names |
| `stats()` | — | dataset-level statistics dict |

## Hit Dict Structure

Each hit returned by `search()` contains:

| Field | Type | Description |
|---|---|---|
| `drug` | str | Drug label name |
| `source_file` | str | XML filename |
| `sections` | list[str] | Annotated section names (e.g. "adverse reactions") |
| `mention_counts` | dict | Count per mention type (AdverseReaction, Severity, …) |
| `num_reactions` | int | Total unique reactions in this label |
| `positive_adrs` | list[str] | Positive (non-negated, non-hypothetical) ADR strings |
| `reactions` | list[dict] | Each with `adr`, `meddra_pt`, `meddra_pt_id`, optional `meddra_llt`, `meddra_llt_id`, `flag` |

## Usage

See `if __name__ == "__main__"` block in `37_TAC_2017_ADR.py` for runnable
examples covering: drug name lookup, ADR string search, MedDRA ID search,
batch search, and JSON output.

```python
from importlib.machinery import SourceFileLoader
tac = SourceFileLoader("tac2017", "/path/to/37_TAC_2017_ADR.py").load_module()

# Single drug
hits = tac.search("ACTEMRA")
print(tac.summarize(hits, "ACTEMRA"))

# ADR across all labels
hits = tac.search("headache")
print(tac.summarize(hits, "headache"))

# MedDRA PT ID
hits = tac.search("10019211")

# Batch
results = tac.search_batch(["ENBREL", "nausea", "10002198"])
```

## Data

- **Source**: TAC 2017 ADR shared task (NLM / FDA)
- **Files**: `gold_xml/` (99 test labels) + `train_xml/` (101 training labels), each annotated XML
- **Annotations**: Mentions (AdverseReaction, Severity, Factor, DrugClass, Negation, Animal), Relations (Negated, Hypothetical, Effect), Reactions (unique ADRs with MedDRA PT/LLT normalization)
- **MedDRA version**: 18.1
- **Path**: `DATA_DIR` variable in `37_TAC_2017_ADR.py`
- **Reference**: https://bionlp.nlm.nih.gov/tac2017adversereactions/

Files in this skill

  • README.md1.8 KB
  • SKILL.md3 KB
  • __init__.py143 B
  • example.py13.8 KB
  • retrieve.py774 B
  • tac2017_skill.py6.3 KB

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…