Healthcare Adverse Events (FAERS)
Cypher EDA and analytics on an FDA adverse-event reporting graph, plus GDS Jaccard patient-journey similarity and Leiden sub-phenotypes — curated subgraphs only; no live database at runtime.
Source: healthcare-analytics-50.dump · 11,381 nodes · 61,453 relationships · offline GDS precompute
11381
Nodes
61453
Relationships
4307
Cases
2701
Distinct reactions
2500
Drugs
218
Top severe drug (REVLIMID)
617
Top manufacturer (PFIZER)
Nodes by label
| Case | 4,307 |
| Reaction | 2,701 |
| Drug | 2,500 |
| Therapy | 1,721 |
| Manufacturer | 136 |
| Outcome | 6 |
| AgeGroup | 5 |
| ReportSource | 5 |
Relationships by type
| HAS_REACTION | 21,069 |
| IS_CONCOMITANT | 8,393 |
| PRESCRIBED | 5,441 |
| RESULTED_IN | 4,461 |
| FALLS_UNDER | 4,307 |
| REGISTERED | 4,307 |
| REPORTED_BY | 4,307 |
| IS_PRIMARY_SUSPECT | 3,830 |
| IS_SECONDARY_SUSPECT | 3,616 |
| RECEIVED | 1,721 |
| IS_INTERACTING | 1 |
Graph model
Cases sit at the center: manufacturers register them, drugs appear as suspects, reactions and outcomes hang off each case, and age groups provide demographics. (Therapy / ReportSource exist in the dump but are omitted from this schema sketch.)
Schema discovery (EDA)
Frozen Cypher from the notebook’s first pass: labels, relationship types, genders, reactions, outcomes.
Total nodes
Overall size of the restored FAERS-style graph.
MATCH (n)
RETURN count(n) AS total_nodes;| total_nodes |
|---|
| 11381 |
Node labels
Eight entity types discovered via schema EDA.
CALL db.labels() YIELD label
RETURN label
ORDER BY label;| label |
|---|
| AgeGroup |
| Case |
| Drug |
| Manufacturer |
| Outcome |
| Reaction |
| ReportSource |
| Therapy |
Total relationships
Directed edge count across all relationship types.
MATCH ()-[r]->()
RETURN count(r) AS total_relationships;| total_relationships |
|---|
| 61453 |
Relationship types
Eleven relationship types linking cases, drugs, reactions, and outcomes.
MATCH ()-[r]->()
RETURN DISTINCT type(r) AS relationship_type
ORDER BY relationship_type;| relationship_type |
|---|
| FALLS_UNDER |
| HAS_REACTION |
| IS_CONCOMITANT |
| IS_INTERACTING |
| IS_PRIMARY_SUSPECT |
| IS_SECONDARY_SUSPECT |
| PRESCRIBED |
| RECEIVED |
| REGISTERED |
| REPORTED_BY |
Case genders
Distinct gender values on Case nodes.
MATCH (c:Case)
WHERE c.gender IS NOT NULL
RETURN DISTINCT c.gender AS gender
ORDER BY gender;| gender |
|---|
| F |
| M |
| U |
Distinct reactions
Unique adverse-reaction descriptions in the graph.
MATCH (r:Reaction)
WHERE r.description IS NOT NULL
RETURN count(DISTINCT r.description) AS distinct_reactions;| distinct_reactions |
|---|
| 2701 |
Outcome descriptions
Seriousness categories used on Outcome nodes.
MATCH (o:Outcome)
WHERE o.outcome IS NOT NULL
RETURN DISTINCT o.outcome AS outcome_description
ORDER BY outcome_description;| outcome_description |
|---|
| Congenital Anomaly |
| Death |
| Disability |
| Hospitalization - Initial or Prolonged |
| Life-Threatening |
| Other Serious (Important Medical Event) |
Drug-safety analytics
Deeper questions: top reactions, drugs tied to severe outcomes, manufacturer footprint, and a PFIZER drill-down.
Top 20 reactions
Most frequent adverse reactions across all cases.
MATCH (c:Case)-[:HAS_REACTION]->(r:Reaction)
WHERE r.description IS NOT NULL
RETURN r.description AS reaction, count(*) AS frequency
ORDER BY frequency DESC
LIMIT 20;| reaction | frequency |
|---|---|
| Fatigue | 303 |
| Product dose omission issue | 285 |
| Headache | 272 |
| Nausea | 256 |
| Pain | 253 |
| Dyspnoea | 245 |
| Pneumonia | 229 |
| Diarrhoea | 219 |
| Fall | 198 |
| Off label use | 196 |
Top drugs with severe outcomes
Drugs linked as primary/secondary suspect to cases with Death, Life-Threatening, Disability, or Hospitalization.
MATCH (d:Drug)<-[:IS_PRIMARY_SUSPECT|IS_SECONDARY_SUSPECT]-(c:Case)
MATCH (c)-[:RESULTED_IN]->(o:Outcome)
WHERE o.outcome IN $severe
RETURN d.name AS drug_name, count(DISTINCT c) AS severe_cases
ORDER BY severe_cases DESC
LIMIT 10;| drug_name | severe_cases |
|---|---|
| REVLIMID | 218 |
| NIVOLUMAB | 82 |
| ATEZOLIZUMAB | 77 |
| HUMAN NORMAL IMMUNOGLOBULIN; LIQUID | 66 |
| POMALYST | 65 |
| DEXAMETHASONE | 65 |
| CYCLOPHOSPHAMIDE | 64 |
| CUVITRU | 61 |
| REMODULIN | 57 |
| Teduglutide | 53 |
Top manufacturers by drugs with side effects
Manufacturers ranked by distinct drugs appearing on their registered cases that have reactions.
MATCH (m:Manufacturer)-[:REGISTERED]->(c:Case)-[:HAS_REACTION]->(r:Reaction)
MATCH (d:Drug)<-[:IS_PRIMARY_SUSPECT|IS_SECONDARY_SUSPECT|IS_CONCOMITANT|IS_INTERACTING]-(c)
RETURN m.manufacturerName AS manufacturer, count(DISTINCT d) AS drugs_with_side_effects
ORDER BY drugs_with_side_effects DESC
LIMIT 10;| manufacturer | drugs_with_side_effects |
|---|---|
| PFIZER | 617 |
| ROCHE | 595 |
| CELGENE | 452 |
| NOVARTIS | 386 |
| TAKEDA | 356 |
| ABBVIE | 352 |
| BRISTOL MYERS SQUIBB | 307 |
| JOHNSON AND JOHNSON | 218 |
| GLAXOSMITHKLINE | 200 |
| AMGEN | 191 |
PFIZER top drugs and side effects
Leading PFIZER drugs by case count with a sample of distinct reaction descriptions.
MATCH (m:Manufacturer {manufacturerName: 'PFIZER'})-[:REGISTERED]->(c:Case)-[:HAS_REACTION]->(r:Reaction)
MATCH (d:Drug)<-[:IS_PRIMARY_SUSPECT|IS_SECONDARY_SUSPECT|IS_CONCOMITANT|IS_INTERACTING]-(c)
WHERE r.description IS NOT NULL
RETURN d.name AS drug_name,
collect(DISTINCT r.description)[0..20] AS side_effects,
count(DISTINCT c) AS case_count
ORDER BY case_count DESC
LIMIT 5;| drug_name | side_effects | case_count |
|---|---|---|
| LYRICA | Ageusia, Pain, Hypoacusis, Temporomandibular joint syndrome, Depressed level of consciousness, Intentional product use issue, Gingival disorder, Malaise, Anosmia, Viral infection, Deafness, Dry mouth, Confusional state, Memory impairment, Toothache, Panic attack, Anxiety, Hallucination, Dyspnoea, Withdrawal syndrome | 120 |
| GENOTROPIN | Device breakage, Drug dose omission by device, Product prescribing error, Device use error, Device issue, Device physical property issue, Product physical issue, Wrong technique in device usage process, Device mechanical issue, Device use issue, Device leakage, Device power source issue, Blindness, Device information output issue, Incorrect dose administered by device, Poor quality device used, Device malfunction, Incorrect dose administered, Product dispensing error, Product dose omission issue | 77 |
| IBRANCE | Product dose omission issue, Product prescribing error, Neoplasm progression, Neutropenia, Anaemia, Off label use, Thrombocytopenia, White blood cell count decreased, Foot fracture, Product complaint, Poor quality product administered, Diarrhoea, Blood count abnormal, Neutrophil count decreased, Dyspnoea exertional, Pulmonary embolism, Illness, Malaise, Amnesia, Cerebrovascular accident | 48 |
| XELJANZ XR | Arthralgia, Feeling abnormal, Rheumatoid arthritis, Pain, Intentional product use issue, Peripheral swelling, COVID-19, Gout, Rotator cuff syndrome, Aphonia, Fall, Contusion, Muscle rupture, Hair growth abnormal, Musculoskeletal stiffness, Impaired healing, Confusional state, Angle closure glaucoma, Therapeutic response unexpected, Illness | 47 |
| XELJANZ | Rheumatoid arthritis, Lymphocyte count decreased, White blood cell count decreased, Pain, Off label use, Bronchitis, Hypokinesia, Autoimmune disorder, Therapeutic response unexpected, Malaise, Spinal fracture, Illness, Pain in extremity, Product dose omission issue, Arthralgia, Joint swelling, Pruritus, Nasopharyngitis, Influenza, Localised infection | 32 |
Similar patient journeys
GDS nodeSimilarity on an undirected Case–Drug–Reaction projection (Jaccard, cutoff 0.2). Top pairs share reactions and suspect drugs.
| Case A | Case B | Similarity | Shared reactions | Shared drugs |
|---|---|---|---|---|
| 111530912 | 158574932 | 1.00 | Pneumonia | REVLIMID |
| 111530912 | 124902822 | 1.00 | Pneumonia | REVLIMID |
| 111140142 | 147242912 | 1.00 | Neutropenia | REVLIMID |
| 111140142 | 194926201 | 1.00 | Neutropenia | REVLIMID |
| 111530912 | 164981372 | 1.00 | Pneumonia | REVLIMID |
| 111530912 | 124977452 | 1.00 | Pneumonia | REVLIMID |
| 109837324 | 125979602 | 1.00 | Atrial fibrillation | REVLIMIDDEXAMETHASONE |
| 111140142 | 147065782 | 1.00 | Neutropenia | REVLIMID |
| 111140142 | 194955072 | 1.00 | Neutropenia | REVLIMID |
| 112550422 | 126241282 | 1.00 | Septic shock | CarfilzomibDEXAMETHASONEREVLIMID |
Patient sub-phenotypes (Leiden)
Leiden communities summarize each patient sub-phenotype by case count, top genders, age groups, and adverse reactions. Strong demographic or reaction concentration suggests a clinically interpretable cluster for targeted safety surveillance. Click a card to open that community’s curated ego-network in the explorer below.
Graph explorer
The full graph (~11k nodes) is too dense to ship. Explore curated neighborhoods: a sample of cases from a Leiden community, or cases around a high-signal drug.