clinicaltrials-db
$
npx mdskill add aipoch/medical-research-skills/clinicaltrials-dbQuery ClinicalTrials.gov to find and analyze trial data.
- Locate studies by condition, drug, or specific NCT identifier.
- Integrates with ClinicalTrials.gov API v2 for data retrieval.
- Filters results using status, phase, and eligibility criteria.
- Returns structured protocol details and recruitment status.
SKILL.md
.github/skills/clinicaltrials-dbView on GitHub ↗
---
name: clinicaltrials-db
description: 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.
license: MIT
author: aipoch
---
> **Source**: [https://github.com/aipoch/medical-research-skills](https://github.com/aipoch/medical-research-skills)
## 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+
- `requests` >= 2.28
## Example Usage
```python
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`: Condition/disease term used to match relevant studies.
- `status`: Recruitment status filter (e.g., `RECRUITING`).
- `limit`: Maximum number of records to return.
- **Study Detail Retrieval**:
- `get_study_details(nct_id)` fetches the full record for a single study identified by its NCT ID and returns the protocol-level information (including eligibility criteria when available).
- **Advanced Queries / Field Definitions**:
- For additional query parameters, response fields, and definitions, refer to `references/api_reference.md`.