nSIDES Query Skill

SkillDatabases & data

Query the nSIDES drug side effect databases (OnSIDES, OffSIDES, KidSIDES). Use whenever the user asks about drug adverse reactions, side effects, off-label safety signals, or pediatric drug safety for a given drug name.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

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 nSIDES Query Skill skill

What this skill tells your AI

The instructions your AI receives, as published by qsong-github/drugclaw in skills/adr/nsides/SKILL.md and read by ahel’s review.

Search drug adverse reactions across three complementary nSIDES sources by drug name.

SourceContentMethodScale
OnSIDES v3.1.0Label-extracted ADEs (US/EU/UK/JP)PubMedBERT NLP on product labels1,955 ingredients, 5.5M drug-ADE pairs
OffSIDESOff-label side effectsPropensity-score matching on FAERS3,300+ drugs
KidSIDESPediatric safety signals by developmental phaseDisproportionality analysis on FAERSAge-stratified ADE signals

Entity Detection

InputRouting
any free textsubstring match on drug / ingredient name across all three sources

No ID-based routing — all queries are natural-language drug names.

API

FunctionInputReturns
search(entity, limit)drug name stringdict with keys: entity, onsides, offsides, kidsides
search_batch(entities, limit)list of drug nameslist[dict]
search_onsides(drug_name, limit)drug namelist[dict] — ingredient, effect, meddra_id, source, label_count
search_offsides(drug_name, limit)drug namelist[dict] — drug, condition, PRR, A/B/C/D
search_kidsides(drug_name, limit)drug namelist[dict] — drug, event, nichd_phase, gam_score, ror
summarize(result)single search() outputcompact text
to_json(result)single search() outputJSON string

Output Fields

OnSIDES row

  • ingredient — RxNorm ingredient name
  • effect — MedDRA adverse effect term
  • meddra_id — MedDRA concept ID
  • source — label origin country (US / EU / UK / JP)
  • label_count — number of labels reporting this ADE

OffSIDES row

  • drug — RxNorm drug name
  • condition — MedDRA side effect name
  • PRR — proportional reporting ratio (>1 = signal)
  • A/B/C/D — 2×2 contingency counts
  • mean_reporting_frequency — proportion of drug reports with this effect

KidSIDES row

  • drug — drug concept name
  • event — adverse event name
  • nichd_phase — NICHD developmental phase (e.g. "Neonatal", "Infancy", "Adolescence")
  • gam_score — GAM model score
  • ror / ror_lower / ror_upper — reporting odds ratio with 95% CI

Usage

See if __name__ == "__main__" block in 15_nSIDES.py for runnable examples: single-drug query, batch query, text summary, and JSON output.

Data

FileLocationSize
onsides.dbDATA_DIR/onsides.dbSQLite, from OnSIDES v3.1.0 release
OFFSIDES.csv.gzDATA_DIR/OFFSIDES.csv.gzgzipped CSV
ade_nichd.csv.gzDATA_DIR/ade_nichd.csv.gzgzipped CSV (172 MB)
drug.csv.gzDATA_DIR/drug.csv.gzKidSIDES drug dictionary
event.csv.gzDATA_DIR/event.csv.gzKidSIDES event dictionary
dictionary.csv.gzDATA_DIR/dictionary.csv.gzNICHD phase dictionary

DATA_DIR default: resources_metadata/adr/nSIDES

Citations

  • OnSIDES: Tanaka Y et al. OnSIDES database: Extracting adverse drug events from drug labels using NLP models. Med. 2025;100642. doi:10.1016/j.medj.2025.100642
  • OffSIDES / TwoSIDES: Tatonetti NP et al. Data-driven prediction of drug effects and interactions. Sci Transl Med. 2012;4(125):125ra31. doi:10.1126/scitranslmed.3003377
  • KidSIDES: Giangreco NP, Tatonetti NP. A database of pediatric drug effects to evaluate ontogenic mechanisms. Med. 2022.

Signals

GitHub stars
116
Forks
3
Last commit
Aug 2026
Advanced
Item type
skill
Key
nsides-query
Source
github.com/qsong-github/drugclaw