Medical-research-skills clinicaltrials-db
Query the ClinicalTrials.gov API v2 to search for clinical trials, retrieve detailed study protocols, and analyze recruitment status; use when you need to find trials by condition/drug, export results, or verify study details by NCT ID.
install
source · Clone the upstream repo
git clone https://github.com/aipoch/medical-research-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aipoch/medical-research-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/scientific-skills/Evidence Insight/clinicaltrials-db" ~/.claude/skills/aipoch-medical-research-skills-clinicaltrials-db && rm -rf "$T"
manifest:
scientific-skills/Evidence Insight/clinicaltrials-db/SKILL.mdsource content
When to Use
- You need to find clinical trials for a specific condition (e.g., “cancer”) and filter by recruitment status (e.g., Recruiting).
- You want to locate trials involving a particular intervention (drug/biologic/device) and quickly review matching studies.
- You need to retrieve full study protocol details (including eligibility criteria) for a known NCT identifier.
- You want to export or programmatically process trial metadata for downstream analysis or reporting.
- You need to validate study status and key fields (phase, locations, sponsor) from the authoritative ClinicalTrials.gov source.
Key Features
- Search studies via ClinicalTrials.gov API v2 using common filters (condition, intervention, recruitment status, result limits).
- Retrieve detailed study information by NCT ID, including protocol and eligibility criteria.
- Simple Python interface for integrating trial search and retrieval into scripts and pipelines.
- Reference documentation for advanced query parameters and field definitions (see
).references/api_reference.md
Dependencies
- Python 3.9+
>= 2.28requests
Example Usage
from scripts.query_clinicaltrials import search_studies, get_study_details def main(): # 1) Search studies (example: recruiting cancer studies) results = search_studies( condition="cancer", status="RECRUITING", limit=10, ) print("Search results:") for i, item in enumerate(results, start=1): # The exact keys depend on the API fields returned by the implementation. # Print the raw item to keep this example runnable across field selections. print(f"\n[{i}] {item}") # 2) Get study details by NCT ID nct_id = "NCT01234567" study = get_study_details(nct_id) print(f"\n\nStudy details for {nct_id}:") print(study) if __name__ == "__main__": main()
Implementation Details
- API Backend: Uses ClinicalTrials.gov API v2 endpoints to query study records and fetch study details.
- Search Parameters:
: Condition/disease term used to match relevant studies.condition
: Recruitment status filter (e.g.,status
).RECRUITING
: Maximum number of records to return.limit
- Study Detail Retrieval:
fetches the full record for a single study identified by its NCT ID and returns the protocol-level information (including eligibility criteria when available).get_study_details(nct_id)
- Advanced Queries / Field Definitions:
- For additional query parameters, response fields, and definitions, refer to
.references/api_reference.md
- For additional query parameters, response fields, and definitions, refer to