StrokeTHG: predicting stroke mortality at 30, 90 and 365 days with a heterogeneous graph of patient records
StrokeTHG is a heterogeneous graph neural network that simultaneously predicts 30-, 90- and 365-day mortality after ischemic stroke from the electronic health records of 4,144 patients in a single Pennsylvania health system. It reaches AUROCs of 0.872, 0.878 and 0.837 across horizons, consistently beating standard tabular models (logistic regression, random forest, XGBoost), especially at the sensitivity threshold that matters for triage. The gain is real, but the evaluation remains single-centre, transductive and without external validation: an encouraging methodological signal, not yet a clinical tool.
The context
Predicting death risk after a stroke helps personalise care, guide prognosis conversations and allocate resources. But existing models share two weaknesses. First, they treat each time horizon separately: one model for 30-day mortality, another for one year, with no coherence between them. Second, they represent a patient's record as a flat feature vector — a long list of columns (age, comorbidities, lab results) — which discards the relational structure of electronic health records (EHRs).
Yet an EHR is not a spreadsheet: it is a network. A patient is linked to their encounters, diagnoses, comorbidities, the treating hospital, the attending specialist, and — indirectly — to other patients with similar biological profiles. Graph neural networks (GNNs) are designed precisely to exploit such structure. The Penn State team proposes a heterogeneous GNN — a graph that distinguishes several node and edge types — to test whether this relational richness improves prediction beyond tabular models.
The method
The authors assembled a retrospective cohort of 4,144 patients with ischemic stroke as their primary discharge diagnosis between 2017 and 2023 at Penn State Health, a multi-site academic system. Mean age 69.0 years, 54.3% men, 83% White. Observed mortality was 9.7% at 30 days, 13.7% at 90 days and 19.6% at one year. The cohort was split 60% training, 20% validation, 20% test, stratified on 30-day mortality.
The method's core is a heterogeneous graph with nine node types (patient, admission, diagnosis, facility, provider, comorbidity, phenotype, care pathway, DRG severity tier) and nineteen edge types. Among them, two patient-similarity channels built with K-nearest neighbours (KNN): a broad one (K=25, over all features) and a lab-specific one (K=15, over 42 laboratory values). Crucially, each patient is connected only to training-set neighbours, to avoid direct information leakage between test patients. The "phenotype" nodes are centroids of K-means clusters over the lab panels — they act as implicit severity anchors.
The architecture projects each node into a 128-dimensional space, then applies three message-passing layers (each node aggregates information from its neighbours, step by step). Admission time is encoded with sinusoidal embeddings. Most notably, the model ends with three monotonic prediction heads: a mathematical construction guaranteeing that 30-day risk can never exceed 90-day risk, itself bounded by one-year risk. This probability coherence is enforced by construction, not merely learned. Training combines masked pre-training (reconstructing 30% of masked features), an asymmetric focal loss for class imbalance, and a single random seed (42). The baselines — logistic regression, random forest, XGBoost — are trained on 253 tabular features with the same split.
The results
StrokeTHG achieves the best AUROC at all three horizons: 0.872 at 30 days, 0.878 at 90 days, 0.837 at one year, versus 0.832, 0.823 and 0.805 for the best baseline, XGBoost. AUROC (area under the ROC curve) measures the ability to rank a patient who died ahead of a survivor: 0.872 means this holds for about 87% of pairs. On paired bootstrap tests, 6 of 9 comparisons are significant (p < 0.05), with the clearest signal at 90 days.
The most clinically meaningful result concerns sensitivity at a fixed specificity of ≥75%. At that threshold, StrokeTHG catches 78.7%, 83.5% and 73.9% of deaths across horizons — 5 to 10 percentage points more than the best baseline. In practice, per 1,000 patients at the 90-day horizon (137 expected deaths): the model flags about 114 of the 137 deaths and misses 23, where XGBoost would flag 104 and miss 33 — roughly ten more high-risk patients identified, at a comparable false-alarm load. A controlled analysis also shows that StrokeTHG's embeddings (learned vector representations) beat those of other graph methods when all are passed through the same logistic-regression classifier, confirming that the gain stems from representation quality, not the classifier. Edge ablation flags the phenotype→patient connection as the most influential, followed by admission→patient.
What is good
The monotonic prediction heads. Enforcing by construction that P(death by 30 d) ≤ P(death by 90 d) ≤ P(death by 1 yr) is elegant and clinically justified: a model that predicted higher short-term than long-term risk would produce incoherent outputs that confuse clinicians. Here, coherence is guaranteed, not hoped for.
The representation/classifier separation. The authors do not merely compare StrokeTHG to tabular models. They extract embeddings from five different graph methods and evaluate them all with the same classifier. This discipline isolates the representation effect and makes the gain credible rather than circular.
The leakage-safe similarity edges. Connecting each patient only to training-set neighbours is the right instinct: it prevents test patients from "recognising" each other and artificially inflating performance through the similarity channel. Reporting sensitivity at fixed specificity, rather than AUROC alone, also points toward honest clinical reading.
What is less good
A transductive evaluation against inductive baselines. This is the most delicate point. StrokeTHG is trained transductively: the full graph, including test-patient nodes, is present during training. The authors acknowledge that even with clean similarity edges, shared nodes (phenotypes, comorbidities) create indirect two-hop connections between training and test patients through which feature information can propagate. The baselines (logistic regression, XGBoost), however, are trained inductively, with no access to test patients. The comparison is therefore not quite on equal footing — a blend of biased comparator and partial data leakage, two classic failure modes of health AI. The authors admit this and defer a strictly inductive evaluation (GraphSAGE-style) to future work.
Single-centre, low diversity, and a flattering metric. The whole cohort comes from one Pennsylvania system, 83% White — a clear population bias — while an external cohort (Geisinger) is named as available but unused. No external validation is performed. The misleading metric also lurks: at 30 days, an AUROC of 0.872 sits alongside an AUPRC of just 0.393, because deaths are only 9.7% of cases — in absolute terms, the model generates many false alarms that AUROC hides.
The absence of the variables that matter most for stroke. The graph is built on a generic EHR schema, not a stroke-specific one: it contains no neurological severity score (NIHSS), no brain imaging, no reperfusion status (thrombolysis, thrombectomy) — yet these are among the strongest determinants of stroke mortality. Add a single random seed (no measure of training variability), code not yet released ("upon acceptance"), and an advantage that evaporates at the horizon most useful for secondary prevention: at one year, StrokeTHG ties a plain matrix factorisation (NMF, 0.821 vs 0.823).
What it changes
For the research community, the value is less the raw result than the template: a heterogeneous EHR graph with monotonic multi-horizon heads, paired with a rigorous embedding comparison, offers a reusable pattern for other risk-stratification tasks. The finding that the most useful edge is phenotype→patient — a form of collaborative filtering, where the model learns from the outcomes of biologically similar patients — is a starting point for thinking about what the graph genuinely adds.
For clinicians, the honest answer is: nothing yet. A single-centre, transductive model without external validation or stroke-severity variables cannot be plugged into a ward. The potential — a triage tool flagging high-risk patients for closer monitoring — is real but conditional on prospective, multi-site validation. For patients and the public, it is a chance to recall that a mortality score is not a sentence: it serves to organise care, not to decide an individual fate, and medicine remains the one interpreting the number.
Further reading
The preprint is available on medRxiv (DOI 10.64898/2026.06.09.26355176), under a CC-BY-ND licence, funded by the NIH (R01NS128986), with no declared conflict of interest. Code is announced "upon acceptance" of the manuscript. On related machine-learning approaches to neurological prognosis, see our decryption of the neuroimaging pipeline for cognitive prognosis after stroke and, on the pitfalls of tabular risk models, the SHAP-SVM thromboembolism model.
Editorial transparency: French version written and signed by the Tatakoto editorial team from a reading of the preprint. English, Spanish and Chinese translations produced with AI assistance and reviewed.