NDF-RT Query Skill
SkillFiles & storageQuery NDF-RT (National Drug File Reference Terminology) via the NCI EVS REST API. Use when looking up drug mechanisms of action, physiological effects, pharmacologic classes, chemical structures, or drug, disease relationships (may_treat / may_prevent) in NDF-RT. Accepts drug names or NDF-RT codes.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the NDF-RT Query Skill skill
What this skill tells your AI
The instructions your AI receives, as published by qsong-github/drugclaw in skills/drug_ontology/ndfrt/SKILL.md and read by ahel’s review.
Search NDF-RT concepts by drug name or NDF-RT code via the NCI EVS REST API. Auto-detects entity type by pattern:
| Input Pattern | Detected As | Lookup Logic |
|---|---|---|
N0000145918 | NDF-RT code (N + 10 digits) | direct concept GET |
| anything else | free text | full-text search endpoint |
API
| Function | Input | Returns |
|---|---|---|
search(entity, limit) | single entity string | dict with entity, type, results |
search_batch(entities, limit) | list of entity strings | dict[str, dict] |
summarize(result, entity) | search result dict + label | compact multi-line text |
to_json(result) | search result dict | list[dict] |
Result dict structure
Each item in results contains:
| Key | Description |
|---|---|
code | NDF-RT concept code |
name | Preferred concept name |
kind | Concept kind (e.g. DRUG_KIND, DISEASE_KIND) |
properties | flat {type: value} property dict |
roles | list of {type, relatedCode, relatedName} role relationships |
parents | list of {code, name} ISA parent concepts |
synonyms | deduplicated list of synonym strings |
Key NDF-RT relationship types (roles)
| Role | Meaning |
|---|---|
has_MoA | mechanism of action |
has_PE | physiological effect |
has_EPC | established pharmacologic class |
may_treat | indicated disease/condition |
may_prevent | preventable disease/condition |
CI_with | contraindicated with |
has_Chemical_Structure | chemical structure classification |
Usage
See if __name__ == "__main__" block in 52_NDF_RT.py for runnable examples
covering: drug name search, code lookup, batch search, JSON output, and root
concept listing.
Data
- Source: NCI EVS REST API (
https://api-evsrest.nci.nih.gov/api/v1) - Terminology:
ndfrt - Auth: none required
- Rate limits: not documented; use reasonable request spacing
- Maintainer: U.S. Department of Veterans Affairs / NCI Enterprise Vocabulary Services
Signals
- GitHub stars
- 116
- Forks
- 3
- Last commit
- Aug 2026
Advanced
- Item type
- skill
- Key
x-52-ndf-rt- Source
- github.com/qsong-github/drugclaw
github.com/qsong-github/drugclaw
Related picks
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonpptx
Skill · anthropics
More in Files & storagedocx
Skill · anthropics
More in Files & storageresearch
Skill · mattpocock
More in Files & storageto-tickets
Skill · mattpocock
More in Files & storage