Spaces:
Running
Running
File size: 649 Bytes
877add7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | """DDI safety rules."""
from __future__ import annotations
_CONTRAINDICATED: set[tuple[str, str]] = {
("warfarin_like", "nsaid_like"),
("benzodiazepine_like", "opioid_like"),
}
def is_contraindicated_pair(drug_a: str, drug_b: str) -> bool:
key = tuple(sorted((drug_a, drug_b)))
canon = {tuple(sorted(item)) for item in _CONTRAINDICATED}
return key in canon
def top_risky_pairs(drugs: list[str]) -> list[tuple[str, str]]:
hits: list[tuple[str, str]] = []
for i, a in enumerate(drugs):
for b in drugs[i + 1 :]:
if is_contraindicated_pair(a, b):
hits.append((a, b))
return hits
|