<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Belal Zaky — Writing</title>
    <link>https://belalzaky.uk</link>
    <atom:link href="https://belalzaky.uk/rss.xml" rel="self" type="application/rss+xml" />
    <description>Drug-safety data, and what it does and does not represent.</description>
    <language>en-gb</language>
    <lastBuildDate>Tue, 28 Jul 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>PV Intake Assistant</title>
      <link>https://belalzaky.uk/projects/pv-intake</link>
      <guid isPermaLink="false">https://belalzaky.uk/projects/pv-intake</guid>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <category>Project</category>
      <description>The front half of a real pharmacovigilance workflow, end to end: read a medical abstract, decide whether it reports a possible adverse drug event, pull out the drug and the effect, and map that effect to a standard SNOMED CT code — a triaged, coded worksheet a safety team could review.</description>
    </item>
    <item>
      <title>Causal Safety: Does an NSAID Cause Kidney Injury?</title>
      <link>https://belalzaky.uk/projects/rwe-causal</link>
      <guid isPermaLink="false">https://belalzaky.uk/projects/rwe-causal</guid>
      <pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate>
      <category>Project</category>
      <description>Association isn&apos;t causation. Using a new-user active-comparator design with propensity-score matching and a self-controlled case series — on data with a sealed true effect — I show how a naive comparison understates a real harm by nearly half, and how two independent causal methods recover it.</description>
    </item>
    <item>
      <title>ADR Reader</title>
      <link>https://belalzaky.uk/projects/adr-reader</link>
      <guid isPermaLink="false">https://belalzaky.uk/projects/adr-reader</guid>
      <pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate>
      <category>Project</category>
      <description>Four different models — a keyword matcher, a general-purpose embedding model, a domain-tuned biomedical transformer, and a zero-shot LLM — read the same medical text and try to flag adverse drug events. Comparing where each one succeeds and fails is more revealing than any single accuracy number.</description>
    </item>
    <item>
      <title>I turned my data project into a tool — and deploying it taught me more than building it</title>
      <link>https://belalzaky.substack.com/p/i-turned-my-data-project-into-a-tool</link>
      <guid isPermaLink="false">https://belalzaky.substack.com/p/i-turned-my-data-project-into-a-tool</guid>
      <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Taking a personal analysis script and building it into a Streamlit tool anyone can use.</description>
    </item>
    <item>
      <title>EHR Survival Analysis in R</title>
      <link>https://belalzaky.uk/projects/ehr-survival-r</link>
      <guid isPermaLink="false">https://belalzaky.uk/projects/ehr-survival-r</guid>
      <pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate>
      <category>Project</category>
      <description>A time-to-hypertension survival analysis on Synthea EHR data — Kaplan-Meier curves, a Cox proportional-hazards model, and an honest limitations write-up. Diabetic patients develop hypertension ~2.4× faster; the model&apos;s apparently-null age effect turned out to be time-varying.</description>
    </item>
    <item>
      <title>Most-reported isn&apos;t most-dangerous — what the drugs themselves reveal</title>
      <link>https://belalzaky.substack.com/p/most-reported-isnt-most-dangerous</link>
      <guid isPermaLink="false">https://belalzaky.substack.com/p/most-reported-isnt-most-dangerous</guid>
      <pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Why the most frequently reported drugs in FAERS aren&apos;t the ones with the worst safety signals.</description>
    </item>
    <item>
      <title>What 1.2 million reports of &quot;drug ineffective&quot; taught me about reading safety data</title>
      <link>https://belalzaky.substack.com/p/what-12-million-reports-of-drug-ineffective</link>
      <guid isPermaLink="false">https://belalzaky.substack.com/p/what-12-million-reports-of-drug-ineffective</guid>
      <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Digging into the most common reaction in FDA adverse-event data and what it actually tells us.</description>
    </item>
    <item>
      <title>FAERS Explorer</title>
      <link>https://belalzaky.uk/projects/faers-explorer</link>
      <guid isPermaLink="false">https://belalzaky.uk/projects/faers-explorer</guid>
      <pubDate>Wed, 01 Oct 2025 00:00:00 GMT</pubDate>
      <category>Project</category>
      <description>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.</description>
    </item>
    <item>
      <title>FAERS Signal Detection</title>
      <link>https://belalzaky.uk/projects/faers-signal</link>
      <guid isPermaLink="false">https://belalzaky.uk/projects/faers-signal</guid>
      <pubDate>Mon, 01 Sep 2025 00:00:00 GMT</pubDate>
      <category>Project</category>
      <description>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.</description>
    </item>
    <item>
      <title>FAERS in SQL</title>
      <link>https://belalzaky.uk/projects/faers-sql</link>
      <guid isPermaLink="false">https://belalzaky.uk/projects/faers-sql</guid>
      <pubDate>Fri, 01 Aug 2025 00:00:00 GMT</pubDate>
      <category>Project</category>
      <description>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.</description>
    </item>
    <item>
      <title>Synthea EHR</title>
      <link>https://belalzaky.uk/projects/synthea-ehr</link>
      <guid isPermaLink="false">https://belalzaky.uk/projects/synthea-ehr</guid>
      <pubDate>Tue, 01 Jul 2025 00:00:00 GMT</pubDate>
      <category>Project</category>
      <description>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.</description>
    </item>
    <item>
      <title>EHR ML Risk Model</title>
      <link>https://belalzaky.uk/projects/ehr-ml</link>
      <guid isPermaLink="false">https://belalzaky.uk/projects/ehr-ml</guid>
      <pubDate>Sun, 01 Jun 2025 00:00:00 GMT</pubDate>
      <category>Project</category>
      <description>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.</description>
    </item>
  </channel>
</rss>
