agentsclimarketplace

Medical data api

Skill brycewang-stanford/Auto-Empirical-Research-Skills/skills/43-wentorai-research-plugins/skills/domains/biomedical/medical-data-api

🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.

Install
npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill medical-data-api

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its author says it does

Copied from the file, not written here

Access FDA drug data and WHO global health statistics for research

SKILL.md

8.7 KB, as published. Nobody here has run it

Medical Data API Guide (openFDA + WHO GHO)

Overview

This skill covers two major open medical data APIs for academic research:

openFDA is the U.S. Food and Drug Administration's public API providing access to drug labeling (SPL), adverse event reports (FAERS), recalls, and NDC directory. The FAERS dataset contains over 722,000 reports for common drugs like aspirin, making it a primary pharmacovigilance resource.

WHO Global Health Observatory (GHO) is the WHO's OData v4 API serving over 2,000 health indicators across 194 member states -- life expectancy, mortality, disease burden, health system coverage, risk factors, and SDG targets. Returns structured JSON with numeric values, confidence intervals, and dimensional breakdowns by country, sex, and year.

Both APIs are free, require no authentication, and return JSON.

Authentication

openFDA: No authentication required. An optional API key (free, via https://open.fda.gov/apis/authentication/) increases rate limits from 240/min to 120,000/day. Register at https://open.fda.gov/apis/ to obtain a key, then append &api_key=YOUR_KEY to requests.

WHO GHO: No authentication required. No API key needed. All endpoints are publicly accessible with no registration.

Core Endpoints

openFDA: Drug Labels

Search FDA-approved drug labeling data (Structured Product Labeling). Returns boxed warnings, indications, dosage, contraindications, and adverse reactions text.

  • URL: GET https://api.fda.gov/drug/label.json
  • Parameters:
ParameterTypeRequiredDescription
searchstringNoSearch query using openFDA query syntax
limitintNoNumber of results (default 1, max 1000)
skipintNoOffset for pagination
countstringNoCount unique values of a field
  • Example:
curl "https://api.fda.gov/drug/label.json?search=aspirin&limit=1"
  • Response: Returns meta.results.total (26,564 for "aspirin") and results array. Each result contains boxed_warning, indications_and_usage, dosage_and_administration, warnings, adverse_reactions, drug_interactions, and openfda cross-references (brand/generic names, manufacturer, NDC, pharmacologic class).

openFDA: Adverse Events (FAERS)

Search the FDA Adverse Event Reporting System. Each record describes a safety report including patient demographics, suspect drugs, reported reactions, and outcomes.

  • URL: GET https://api.fda.gov/drug/event.json
  • Parameters:
ParameterTypeRequiredDescription
searchstringNoQuery (e.g., patient.drug.openfda.brand_name:"aspirin")
limitintNoNumber of results (default 1, max 1000)
skipintNoOffset for pagination (max skip+limit = 26,000)
countstringNoCount field values (e.g., patient.reaction.reactionmeddrapt.exact)
  • Example:
curl 'https://api.fda.gov/drug/event.json?search=patient.drug.openfda.brand_name:"aspirin"&limit=1'
  • Response: Returns meta.results.total (722,607 for aspirin). Each result: safetyreportid, serious (1=yes, 2=no), primarysourcecountry, receivedate, nested patient with patientsex, reaction array (MedDRA terms + reactionoutcome), and drug array with drugcharacterization (1=suspect, 2=concomitant, 3=interacting), medicinalproduct, openfda cross-references.

WHO GHO: Health Indicator Data

Retrieve data points for a specific health indicator with country, year, and sex dimensions.

  • URL: GET https://ghoapi.azureedge.net/api/{IndicatorCode}
  • Parameters (OData v4 query options):
ParameterTypeRequiredDescription
$topintNoLimit number of records returned
$skipintNoSkip records for pagination
$filterstringNoOData filter (e.g., SpatialDim eq 'USA' and TimeDim eq 2020)
$selectstringNoSelect specific fields
$orderbystringNoSort results
  • Example:
# Life expectancy at birth (WHOSIS_000001)
curl "https://ghoapi.azureedge.net/api/WHOSIS_000001?\$top=2"
  • Response: OData JSON with value array. Each record: SpatialDim (ISO country, e.g., "BTN"), ParentLocation (WHO region), TimeDim (year), Dim1 (sex: "SEX_BTSX"/"SEX_MLE"/"SEX_FMLE"), Value ("67.8 [67.1-68.6]"), NumericValue (67.845665), Low/High confidence bounds.

WHO GHO: Indicator Directory

List available health indicators with their codes and names.

  • URL: GET https://ghoapi.azureedge.net/api/Indicator
  • Example:
curl "https://ghoapi.azureedge.net/api/Indicator?\$top=5"
  • Response: Array of entries with IndicatorCode (e.g., "Adult_curr_e-cig"), IndicatorName (e.g., "Prevalence of current e-cigarette use among adults (%)"), Language ("EN"). Over 2,000 indicators spanning mortality, morbidity, health systems, and risk factors.

Rate Limits

openFDA:

  • Without API key: 240 requests per minute (burst), 1,000 requests per day
  • With free API key: 240 requests per minute, 120,000 requests per day
  • Pagination ceiling: skip + limit cannot exceed 26,000 (use search + sort for deeper access)

WHO GHO:

  • No documented rate limits; the service runs on Azure CDN (azureedge.net)
  • Recommended: keep requests under 10/second for courtesy
  • For bulk downloads, use the GHO data portal CSV exports at https://www.who.int/data/gho

Academic Use Cases

Pharmacovigilance: Adverse Event Signal Detection

Count reactions by MedDRA term to identify safety signals:

import requests

resp = requests.get("https://api.fda.gov/drug/event.json", params={
    "search": 'patient.drug.openfda.brand_name:"aspirin"',
    "count": "patient.reaction.reactionmeddrapt.exact",
    "limit": 10
})
for r in resp.json()["results"]:
    print(f"  {r['term']}: {r['count']} reports")

Epidemiology: Cross-National Health Comparisons

Compare health indicators across countries and time periods:

import requests

resp = requests.get("https://ghoapi.azureedge.net/api/WHOSIS_000001", params={
    "$filter": "SpatialDim eq 'JPN' and Dim1 eq 'SEX_BTSX'",
    "$orderby": "TimeDim desc",
    "$top": 10
})
for row in resp.json()["value"]:
    print(f"  Japan {row['TimeDim']}: {row['Value']}")

Public Health: Drug Label Comparison

Compare safety language across drug labels for regulatory research:

import requests

for drug in ["ibuprofen", "naproxen", "celecoxib"]:
    resp = requests.get("https://api.fda.gov/drug/label.json",
        params={"search": f'openfda.generic_name:"{drug}"', "limit": 1})
    results = resp.json().get("results", [])
    if results:
        warning = results[0].get("boxed_warning", ["None"])[0][:200]
        print(f"{drug.upper()}: {warning}...\n")

Key Indicator Codes (WHO GHO)

CodeIndicator
WHOSIS_000001Life expectancy at birth
NCDMORT3070NCD mortality (30-70 years)
MDG_0000000001Under-five mortality rate
WHS4_100Physicians per 10,000 population
NCD_BMI_30APrevalence of obesity (BMI >= 30)
SA_0000001688Alcohol per capita consumption
TOBACCO_0000000262Tobacco smoking prevalence

References

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.