FAERS Explorer
PythonpandasmatplotlibStreamlitopenFDA API

FAERS Explorer

A live interactive Streamlit dashboard over the FDA Adverse Event Reporting System. Pick any drug and see its top reported reactions, reports per year, and age/sex demographics — with a built-in panel on why these counts measure attention, not harm.

FAERS Signal Detection
PythonpandasopenFDA API

FAERS Signal Detection

A pharmacovigilance disproportionality analysis — PRR, ROR, chi-squared, and Evans criteria — over the full FAERS database via the openFDA API, validated on the known warfarin-haemorrhage signal (PRR ~5) and checked against negative controls.

FAERS in SQL
PythonSQLSQLiteopenFDA API

FAERS in SQL

Loaded ~3,000 FAERS reports from the openFDA API into a SQLite database (one row per drug-reaction pair) and queried it with SQL — GROUP BY, WHERE, COUNT(DISTINCT). Key lesson: how sampling choices shape conclusions.

Synthea EHR
PythonSQLSQLiteSynthea

Synthea EHR

Used Synthea synthetic patient records (CSV) loaded into SQLite to learn the relational structure of EHR data via JOINs and subquery cohorts — including building a hypertension cohort and examining its medications as a real-world-evidence exercise.

EHR ML Risk Model
Pythonscikit-learnpandas

EHR ML Risk Model

A machine-learning model predicting hypertension from Synthea EHR features — logistic regression and random forest, with honest treatment of data leakage, the precision/recall threshold trade-off, and the limits of synthetic-data performance.