TheJackBright's picture
Deploy GitHub root master to Space
c296d62
"""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