A 276-drug table of heat-vulnerability-inducing drugs (HVID), each resolved to standard RxNorm and ATC codes, with its evidence source, mechanism, and effect direction, built to make two disconnected literatures (RCT pharmacology and Medicare prescribing data) speak to each other.
Two open-access literatures independently identify medications that impair heat regulation: a 2024 eClinicalMedicine systematic review (RCT-derived core-temperature effect sizes, 25 individually-tested drugs) and a 2026 MDPI Pharmacy scoping review (16 individually-named drugs plus 10 drug classes named only at the class level). Neither speaks the language prescribing databases use (RxNorm concept identifiers and ATC codes), so neither can be directly matched against real-world claims data like CMS Medicare Part D.
This crosswalk closes that gap: every drug and class is expanded to its constituent ingredients and resolved to the codes a claims pipeline needs, with the evidence trail (source, mechanism, effect direction, effect size) preserved rather than collapsed into a single opaque flag. It's the foundation for the Pharmaco-Climatic Vulnerability Atlas.
By drug class (top 10 of 276 total):
Resolution status: RxNorm/RxClass API resolution against a US-marketed product mapping:
| Status | Count | Meaning |
|---|---|---|
| ok | 205 | Resolved to both RxCUI and a product-level ATC code. |
| rxcui_no_atc | 71 | Resolved to an RxCUI (valid class membership) but no US-marketed product ATC, mostly older, discontinued, or non-US-marketed agents (e.g. heparin, streptokinase, several European-only NSAIDs and benzodiazepines). |
Individually-named drugs and their reported heat-related mechanisms were extracted from two open-access sources: the 2024 eClinicalMedicine systematic review and the 2026 MDPI Pharmacy scoping review. Class-level entries (ACE inhibitors, ARBs, calcium-channel blockers, nitrates, anticoagulants, benzodiazepines, NSAIDs, antiepileptics, proton-pump inhibitors) were expanded to their constituent ingredient drugs via the National Library of Medicine's free RxClass API (classMembers endpoint, ATC classification), yielding 276 total drugs.
Each drug was resolved to an RxNorm concept identifier (RxCUI) and, where a US-marketed product mapping exists, an ATC code, via the free RxNorm/RxClass APIs: 205/276 resolved to a full RxCUI+ATC pair. The crosswalk is rerunnable end to end via src/pcvi_atlas/crosswalk.py and expand_classes.py any time the seed list grows.
| Column | Description |
|---|---|
drug_name | Generic drug name as named by the source literature. |
drug_class | Pharmacologic class (58 anticoagulants, 55 NSAIDs, etc.; see composition above). |
mechanism | Reported heat-regulation mechanism, e.g. "reduced sweating; hypohidrosis." |
effect_direction | increase / decrease / none / unclear: direction of heat-vulnerability effect. |
effect_size | Quantified effect where available, e.g. "+0.42°C core temp (≥30°C air temp)." |
evidence_source | Originating literature: eClinicalMedicine 2024 or MDPI 2026 (or both). |
evidence_strength | Source-reported confidence tier; see Stage 2 weighting note below. |
notes | Free-text caveats from the source (e.g. sample size, selectivity). |
rxcui | RxNorm concept identifier. |
atc_codes | Semicolon-delimited ATC product codes, where resolved. |
resolution_status | ok or rxcui_no_atc; see table above. |
Sample rows:
| drug_name | drug_class | effect_direction | rxcui | resolution_status |
|---|---|---|---|---|
| Atropine | Anticholinergic | increase | 1223 | ok |
| Propranolol | Beta-blocker (non-selective) | increase | 8787 | ok |
| Atenolol | Beta-blocker (selective) | none | 1202 | ok |
| Metoprolol | Beta-blocker (non-selective) | increase | 6918 | ok |
Evidence-strength labels are heterogeneous, not a clean confidence axis. "Low" evidence_strength covers two very different things: drugs RCT-tested and found to have no effect, and drugs with a real increase-direction finding that just wasn't independently significant. A downstream weighting scheme (Stage 2 of this project) treats effect_direction as primary and evidence_strength as a secondary modifier for exactly this reason. Don't sort or filter on evidence_strength alone.
71 drugs lack a product-level ATC code despite valid RxCUI/class membership: a low-value tail of rare, legacy, or non-US-marketed agents. Not pursued further; their class membership is correct even where atc_codes is blank.
The 2026 EJCP evidence-grading scheme (110 high / 390 possible / 72 unlikely, 572 screened drugs) is not yet incorporated. The supplementary drug list sits behind a paywall with no confirmation it's even included. This crosswalk stands on its own regardless, using two open-access sources with transparent per-drug evidence.