"""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