This source did not publish a separate summary. Review SKILL.md before using the skill.
SKILL.md
Clinical Guidelines Search & Retrieval
Search and retrieve evidence-based clinical practice guidelines from 12+ authoritative sources spanning 41 tools. Covers disease management guidelines, society recommendations, pharmacogenomics guidance, and patient resources.
KEY PRINCIPLES:
Multi-source search — Search ≥3 databases in parallel for comprehensive coverage
Source-appropriate queries — Match query style to each database's strengths
Condition + society specific — When user names a disease or society, use targeted tools
English queries first — Use English medical terms in all tool calls; respond in user's language
Cite sources — Every guideline result must include source organization and URL
When to Use
Apply when user asks:
"What are the guidelines for [condition]?"
"What does [ADA/AHA/NCCN/NICE/WHO] say about [topic]?"
"Standard of care for [disease]?"
"Drug-gene interactions for [drug/gene]?" (pharmacogenomics)
"Screening recommendations for [condition]?"
"Is there a guideline for [clinical question]?"
"What do guidelines say about [treatment/drug]?"
"Clinical recommendations for [oncology topic]?"
Phase 0: Tool Verification (MANDATORY FIRST STEP)
Before searching, verify tools load:
from tooluniverse import ToolUniverse
tu = ToolUniverse()
tu.load_tools()
assert hasattr(tu.tools, 'NICE_Clinical_Guidelines_Search')
Correct call pattern (use either approach):
# Option A: direct attribute access
result = tu.tools.NICE_Clinical_Guidelines_Search(query='diabetes', limit=5)
# Option B: run_one_function
result = tu.run_one_function({'name': 'NICE_Clinical_Guidelines_Search', 'arguments': {'query': 'diabetes', 'limit': 5}})
Phase 1: Identify Query Strategy
Determine which tools to use based on the user's question:
⚠️ Do NOT pass an integer ID — pass the full URL string
MAGICapp Living Guidelines
MAGICapp_list_guidelines(limit) — List living guidelines.
Returns: dict wrapped — r.get('data', []) gives the list
⚠️ Field is name, NOT title; use item['name'] for guideline title
Use item['guidelineId'] for follow-up calls
MAGICapp_get_guideline(guideline_id) — Get full guideline details.
MAGICapp_get_recommendations(guideline_id) — Get recommendations for a guideline.
MAGICapp_get_sections(guideline_id) — Get sections.
NCI Resources ⚠️ (Research tools catalog, NOT clinical guidelines)
NCI_search_cancer_resources(q, size) — Search NCI Research Resources for Researchers (R4R).
⚠️ This is a catalog of bioinformatics tools, datasets, and lab instruments — NOT a clinical guidelines database
Parameters: q (NOT query), size (NOT limit — use size for result count)
Returns: dict — r.get('data', {}).get('results', []) gives the list
Useful for: finding analysis tools, datasets, bioinformatics resources related to a cancer type
Example: NCI_search_cancer_resources(q='colorectal cancer screening', size=5)
2.3 Pharmacogenomics Search (CPIC)
Recommended workflow for gene-drug queries:
Step 1: CPIC_get_gene_info(genesymbol='GENE') → gene overview
Step 2: CPIC_get_gene_drug_pairs(genesymbol='GENE') → all drug pairs + CPIC levels
Step 3: CPIC_list_guidelines(limit=50) → find guideline_id for gene+drug
Step 4: CPIC_get_recommendations(guideline_id=N) → specific dosing recommendations
Step 5: CPIC_get_alleles(genesymbol='GENE') → allele definitions
All CPIC tools return dict-wrapped: use r.get('data', []) to access results.
CPIC_get_gene_info(genesymbol) — Gene overview.
Example: CPIC_get_gene_info(genesymbol='CYP2D6')
CPIC_get_gene_drug_pairs(genesymbol, limit) — All gene-drug interactions with CPIC levels.
Returns: data = list of {genesymbol, drugid, cpiclevel, pgkbcalevel, usedforrecommendation, ...}
cpiclevel A/B/C/D: A = strongest evidence
CPIC_list_guidelines(limit) — All CPIC guidelines.
Returns: data = list of {name: 'GENE and Drug', guidelineId, url, ...}
Use to find the guidelineId for a specific gene+drug pair
CPIC_get_recommendations(guideline_id, limit) — Get dosing recommendations.
⚠️ Parameter is guideline_id (integer), NOT genesymbol
Workflow: first find guideline_id from CPIC_list_guidelines, then call this
CPIC Level A = strongest PGx evidence; B = moderate; C/D = limited
Note recommendation year — guidelines vary in currency (SIGN 2025, ADA 2026, NICE Feb 2026)
3.3 CPIC Recommendation Deduplication
CPIC returns multiple records for the same phenotype (one per allele combination). Before presenting:
seen_phenotypes = set()
unique_recs = []
for rec in recs:
phenotype = rec.get('phenotype') or rec.get('lookupkey', '')
if phenotype not in seen_phenotypes:
seen_phenotypes.add(phenotype)
unique_recs.append(rec)
Phase 4: Decision Logic
General disease guideline:
NICE (query, limit) — UK, high quality
GIN (query, limit) — multi-society aggregator ⭐ best for breadth
TRIP (query, limit, search_type='guidelines')
If cardiac → add AHA_ACC_search_guidelines
If cancer → add NCCN_search_guidelines + NCCN_list_patient_guidelines
If diabetes → add ADA_list_standards_sections + ADA_search_standards
Pharmacogenomics:
CPIC_get_gene_info(genesymbol) → overview
CPIC_get_gene_drug_pairs(genesymbol) → all drugs with CPIC levels
CPIC_list_guidelines(limit=50) → find guideline_id for target gene+drug
CPIC_get_recommendations(guideline_id=N) → specific recs (deduplicate by phenotype)
If ADA returns 0 results → broaden query terms (e.g., 'pharmacologic approaches' instead of 'metformin first-line')
If WHO returns irrelevant results → skip WHO, use GIN or EuropePMC instead
If CPIC returns no recommendations → list gene-drug pairs with CPIC levels as a proxy
Critical Parameter Notes (Verified by Testing)
Tool
CORRECT
WRONG
NICE_Clinical_Guidelines_Search
query='...', limit=N (both required)
❌ q='...'
TRIP_Database_Guidelines_Search
search_type='guidelines' required
❌ omitting search_type
OpenAlex_Guidelines_Search
year_from/year_to are optional
❌ treating as required
PubMed_Guidelines_Search
api_key is optional (omit or use '')
❌ treating api_key as required
GIN_Guidelines_Search
limit=N required
❌ omitting limit
CMA_Guidelines_Search
limit=N required
❌ omitting limit
SIGN_search_guidelines
query='...' (NOT q)
❌ q='...'
CTFPHC_search_guidelines
query='...' (NOT q)
❌ q='...'
NCI_search_cancer_resources
q='...', size=N (NOT limit)
❌ query=... or limit=N
NCCN_list_patient_guidelines
field cancer_type (not title)
❌ .get('title')
NCCN_get_patient_guideline
url='https://...' (full URL string)
❌ integer patientGuidelineId
MAGICapp_list_guidelines
r.get('data', []) for list
❌ accessing r directly as list
MAGICapp_* items
field name (not title)
❌ .get('title')
CPIC_* tools
r.get('data', []) for list
❌ accessing r directly
CPIC_get_recommendations
guideline_id=N (integer)
❌ genesymbol='CYP2D6'
CPIC_search_gene_drug_pairs
genesymbol='eq.CYP2D6' (PostgREST)
❌ genesymbol='CYP2D6'
CPIC_get_alleles
use clinicalfunctionalstatus field
❌ functionalstatus (always null)
NCI_search_cancer_resources
r.get('data',{}).get('results',[])
❌ r.get('data', [])
Response Format Reference
Tool
Return type
Access pattern
NICE_Clinical_Guidelines_Search
list (raw)
result[0]['title']
GIN_Guidelines_Search
list (raw)
result[0]['title']
TRIP_Database_Guidelines_Search
list (raw)
result[0]['title']
WHO_Guidelines_Search
list (raw)
result[0]['title']
EuropePMC_Guidelines_Search
list (raw)
result[0]['title']
PubMed_Guidelines_Search
list (raw)
result[0]['title']
CMA_Guidelines_Search
list (raw)
result[0]['title']
SIGN_search_guidelines
list (raw)
result[0]['title']
CTFPHC_search_guidelines
list (raw)
result[0]['title']
ADA_search_standards
list (raw)
result[0]['title']
AHA_ACC_search_guidelines
list (raw)
result[0]['title']
NCCN_search_guidelines
list (raw)
result[0]['title']
NCCN_list_patient_guidelines
list (raw)
result[0]['cancer_type']
OpenAlex_Guidelines_Search
list (raw)
result[0]['title']
CPIC_list_guidelines
dict → data
r.get('data', [])[0]['name']
CPIC_get_gene_drug_pairs
dict → data
r.get('data', [])[0]['genesymbol']
CPIC_get_recommendations
dict → data
r.get('data', [])[0]
CPIC_get_gene_info
dict → data
r.get('data', {})
MAGICapp_list_guidelines
dict → data
r.get('data', [])[0]['name']
NCI_search_cancer_resources
dict nested
r.get('data',{}).get('results',[])[0]['title']
Known Limitations
WHO_Guidelines_Search: Returns recently-published WHO docs regardless of query topic — results may be irrelevant for specific diseases. Supplement with GIN for international guidelines.
NCI_search_cancer_resources: Catalogs research tools/datasets, NOT clinical practice guidelines.
NICE_Guideline_Full_Text: Retrieves overview page only; recommendation sub-pages (.../chapter/Recommendations) may need direct URL
SIGN: No full-text tool; guideline text only available as PDFs
ADA_get_standards_section: Returns abstract only, not full PMC text
CPIC_get_recommendations: Returns many duplicate records per allele combination; deduplicate by phenotype
NCCN_search_guidelines: Returns PubMed/JNCCN abstracts, not proprietary NCCN guideline text
TRIP content: Some TRIP results link to PDF-gated URLs; content extraction may fail with 403