Inspiration
We started with a pretty simple observation: during heat waves, most people who die aren't out in the street. They're at home, usually alone. NYC estimates around 525 heat-related deaths a year, and most of them happen indoors.
A lot of those people are on everyday medications like water pills, blood pressure meds, antipsychotics and bladder pills. These can make it harder to sweat, drain water and salt, or build up in your body when you're dehydrated. And when we looked at the labels, almost none of them mention heat. Your pill bottle will tell you not to drink alcohol, but not to be careful on a 100°F day.
That gap is what we wanted to work on. If a clinic knew a heat wave was coming, could it figure out which patients were actually at risk, and help them before something went wrong?
What it does
Cool-Aid has a clinician side and a patient side.
On the clinician side, there's a map of patients colored High, Medium or Low risk based on their medications and their home situation: whether they have AC they can afford to run, whether they live alone, whether they work outside. You can see cooling centers, libraries and food programs nearby. From the patient list, a nurse can open a message panel, tap a few options like "ask about AC" or "share nearest cool place," and it writes a text in the patient's language. One small thing we're proud of: if the patient has heart failure and is on a fluid restriction, it doesn't tell them to drink more water. It asks whether they're following their fluid plan instead. There's also a before-summer review list, so prescribers can look at risky medication combinations before the next heat wave instead of during it.
On the patient side, people see their risk in one sentence and the nearest cool place, with a walking route that actually follows sidewalks and tries to stay in cooler areas. They also see what time to leave and which hours to stay inside. If they can't get there, it points them to nearby food pantries and 311.
How we built it
Most of our evidence came from System's graph, plus PubMed, FDA adverse-event reports, an audit of FDA drug labels, and eight heat-health guidance documents from different countries.
The tricky part was that System's graph has very few direct "this drug × heat" findings (about 15 across the drugs we looked at). So instead of looking for that link directly, we went through the body. The graph does have plenty of findings like "diuretics → kidney injury" and "heat → kidney injury," so we chained them:
$$\text{medicine} \rightarrow \text{body effect} \leftarrow \text{heat}$$
That let us see where a patient's medications pile onto the same weak spot heat is already hitting. We also used System to double-check our own numbers. Where we and System had extracted the same result, 14 matched, 7 were mislabeled on System's side, and none pointed in opposite directions.
For place and weather, we used NOAA forecasts, an hourly replay of the June 2025 NYC heat wave, the NYC Heat Vulnerability Index, and city data on cooling centers and community resources. The patients are synthetic (300 of them, based on Bronx census and CDC data), since we obviously couldn't use real records. Walking routes come from OpenStreetMap, and we pick whichever route spends the least distance in hotter neighborhoods.
The app is Next.js with a map built on deck.gl and MapLibre. The risk logic is a small TypeScript library with its own tests.
What we learned
The biggest surprise was how silent the official sources are. 28 of the 45 heat-risk medications we checked have no heat warning on any current FDA label. Beta blockers show up in all 8 guidance documents we read, and none of them says what a doctor should actually do.
We also learned that the combinations matter more than the individual drugs. Most of the medications we looked at push toward the same few problems: low salt and kidney strain. A patient on three of them is in a very different spot from someone on one.
And we learned something about the graph itself: it has very little on sweating. If you only used the graph, you'd underrate the drugs that stop people from sweating, which clinical studies say are some of the most dangerous in heat. We think that's useful for System to know.
Challenges
The data was messy in all the ways you'd expect: papers cited with different ID types, some mislabeled findings, guidance in French and German, and AC data that's only available for large areas. The community resource data barely has phone numbers, which is a problem when the whole point is giving someone a person to call, so we added 311 as a fallback.
The harder challenge was not over-claiming. Some "hidden" drug risks the graph suggested weren't backed up by FDA data, so we left them out. We also made a point of never giving dose advice to patients. That decision belongs to their doctor.
Finally, we had way more charts than anyone needed. A lot of our last few hours went into cutting things so the app shows one clear map and one clear plan.
Built With
- fhir
- noaa
- openfda
- python
- system
- system-public-graph
- typescript