Clinical Pharmacology Guide
SkillDev toolsClinical pharmacology principles for dosing, drug interactions, and patient s...
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
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 Clinical Pharmacology Guide skill
What this skill tells your AI
The instructions your AI receives, as published by brycewang-stanford/auto-empirical-research-skills in skills/43-wentorai-research-plugins/skills/domains/pharma/clinical-pharmacology-guide/SKILL.md and read by ahel’s review.
A skill for applying clinical pharmacology principles to research and practice. Covers pharmacokinetic/pharmacodynamic modeling, drug interaction assessment, therapeutic drug monitoring, and special population dosing.
Pharmacokinetic-Pharmacodynamic (PK/PD) Relationships
The Emax Model
The most widely used PK/PD model relates drug concentration to effect:
import numpy as np
import matplotlib.pyplot as plt
def emax_model(concentration: np.ndarray, emax: float, ec50: float,
hill: float = 1, baseline: float = 0) -> np.ndarray:
"""
Sigmoid Emax (Hill) model.
Args:
concentration: Drug concentration array
emax: Maximum effect
ec50: Concentration producing 50% of Emax
hill: Hill coefficient (steepness)
baseline: Baseline effect (E0)
"""
effect = baseline + (emax * concentration**hill) / (ec50**hill + concentration**hill)
return effect
# Example: dose-response curve
conc = np.logspace(-2, 3, 200)
effect = emax_model(conc, emax=100, ec50=10, hill=1.5)
fig, ax = plt.subplots(figsize=(8, 5))
ax.semilogx(conc, effect)
ax.set_xlabel('Concentration (ng/mL)')
ax.set_ylabel('Effect (%)')
ax.set_title('Sigmoid Emax Model')
ax.axhline(y=50, color='gray', linestyle='--', alpha=0.5)
ax.axvline(x=10, color='gray', linestyle='--', alpha=0.5)
ax.annotate('EC50', xy=(10, 50), fontsize=12)
plt.tight_layout()
Drug Interaction Assessment
Cytochrome P450 Interaction Prediction
def predict_cyp_interaction(victim_drug: dict, perpetrator_drug: dict) -> dict:
"""
Predict metabolic drug-drug interaction potential.
Args:
victim_drug: {'name': str, 'primary_cyp': str, 'fraction_metabolized': float}
perpetrator_drug: {'name': str, 'cyp_effects': dict}
cyp_effects maps CYP enzyme to 'inhibitor'|'inducer'|'none'
"""
cyp = victim_drug['primary_cyp']
fm = victim_drug['fraction_metabolized'] # fraction metabolized by this CYP
perp_effect = perpetrator_drug['cyp_effects'].get(cyp, 'none')
if perp_effect == 'inhibitor':
# AUC ratio = 1 / (1 - fm) for complete inhibition
auc_ratio = 1 / (1 - fm) if fm < 1 else float('inf')
risk = 'high' if auc_ratio > 5 else 'moderate' if auc_ratio > 2 else 'low'
elif perp_effect == 'inducer':
# Induction decreases exposure
auc_ratio = 1 - fm * 0.7 # approximate 70% induction
risk = 'high' if auc_ratio < 0.3 else 'moderate' if auc_ratio < 0.5 else 'low'
else:
auc_ratio = 1.0
risk = 'none'
return {
'victim': victim_drug['name'],
'perpetrator': perpetrator_drug['name'],
'affected_cyp': cyp,
'interaction_type': perp_effect,
'predicted_auc_ratio': round(auc_ratio, 2),
'clinical_risk': risk,
'recommendation': (
'Dose adjustment required' if risk == 'high'
else 'Monitor closely' if risk == 'moderate'
else 'No action needed'
)
}
Therapeutic Drug Monitoring (TDM)
Narrow Therapeutic Index Drugs
Drugs requiring routine TDM due to narrow therapeutic windows:
| Drug | Therapeutic Range | Toxic Level | Monitoring Frequency |
|---|---|---|---|
| Vancomycin | AUC/MIC 400-600 | AUC/MIC > 600 | Trough before 4th dose |
| Lithium | 0.6-1.2 mEq/L | > 1.5 mEq/L | Weekly initially, then monthly |
| Digoxin | 0.8-2.0 ng/mL | > 2.0 ng/mL | At steady state (5-7 days) |
| Phenytoin | 10-20 mcg/mL | > 20 mcg/mL | 2 weeks after dose change |
| Tacrolimus | 5-15 ng/mL | > 20 ng/mL | Twice weekly post-transplant |
Bayesian TDM
def bayesian_dose_adjustment(prior_cl: float, prior_cl_cv: float,
measured_conc: float, expected_conc: float,
current_dose: float) -> dict:
"""
Simple Bayesian dose adjustment using one-point TDM.
Args:
prior_cl: Population clearance estimate (L/hr)
prior_cl_cv: CV of clearance in population (0-1)
measured_conc: Observed trough concentration
expected_conc: Expected concentration at population CL
current_dose: Current dose (mg)
"""
# Individual clearance estimate (MAP approach, simplified)
ratio = expected_conc / measured_conc
individual_cl = prior_cl * ratio
# Bayesian shrinkage toward population
weight = 1 / (1 + prior_cl_cv**2)
posterior_cl = weight * prior_cl + (1 - weight) * individual_cl
# New dose to achieve target
target_conc = (measured_conc + expected_conc) / 2 # midpoint of range
new_dose = current_dose * (posterior_cl / prior_cl)
return {
'individual_CL': round(individual_cl, 2),
'posterior_CL': round(posterior_cl, 2),
'recommended_dose': round(new_dose, 1),
'dose_change_pct': round((new_dose - current_dose) / current_dose * 100, 1)
}
Special Populations
Dosing considerations for specific patient groups:
- Renal impairment: Use Cockcroft-Gault or CKD-EPI for GFR estimation; adjust doses for renally cleared drugs proportionally
- Hepatic impairment: Use Child-Pugh score; reduce doses of hepatically metabolized drugs by 25-50% for moderate impairment
- Pediatric: Use allometric scaling (CL proportional to body weight^0.75) rather than simple mg/kg dosing
- Geriatric: Account for decreased renal function, polypharmacy, and altered body composition
- Pregnancy: Increased clearance for many drugs due to increased blood volume and GFR
Regulatory Considerations
All clinical pharmacology studies should follow ICH guidelines (E4 for dose-response, E5 for ethnic factors, E7 for geriatric, E11 for pediatric). Report results in standardized population PK/PD formats compatible with FDA and EMA submission requirements.
Signals
- GitHub stars
- 4k
- Forks
- 531
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
clinical-pharmacology-guide- Source
- github.com/brycewang-stanford/auto-empirical-research-skills
github.com/brycewang-stanford/auto-empirical-research-skills
Related picks
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonrseng-notebooks
Skill · fdiblen
The pick for Notebooksexecute
Skill · brycewang-stanford
The pick for Notebookspandas-dataframe-analyzer
Skill · a5c-ai
The pick for Pandasxlsx
Skill · anthropics
The pick for Pandas