diff --git a/data/medication-interaction-index.json b/data/medication-interaction-index.json new file mode 100644 index 000000000..349623cfa --- /dev/null +++ b/data/medication-interaction-index.json @@ -0,0 +1,9151 @@ +{ + "version": 1, + "generatedFrom": "data/medications-snapshot.json", + "sourceRowCount": 523, + "stats": { + "resolvedRows": 355, + "unresolvedRows": 168, + "rowsWithCatalogueTarget": 417, + "medicationsWithUnresolvedRows": 149 + }, + "names": { + "acamprosate": "Acamprosate", + "acarbose": "Acarbose", + "acetylcysteine": "Acetylcysteine", + "aciclovir": "Aciclovir", + "adrenaline-epinephrine": "Adrenaline / Epinephrine", + "agomelatine": "Agomelatine", + "alendronate": "Alendronate", + "alimemazine": "Alimemazine", + "allopurinol": "Allopurinol", + "alprazolam": "Alprazolam", + "amikacin": "Amikacin", + "amiloride": "Amiloride", + "amiodarone": "Amiodarone", + "amisulpride": "Amisulpride", + "amitriptyline": "Amitriptyline", + "amlodipine": "Amlodipine", + "amoxicillin": "Amoxicillin", + "amoxicillin-clavulanate": "Amoxicillin/clavulanate", + "apixaban": "Apixaban", + "aripiprazole": "Aripiprazole", + "aripiprazole-lai": "Aripiprazole LAI", + "armodafinil": "Armodafinil", + "ascorbic-acid": "Ascorbic Acid", + "asenapine": "Asenapine", + "aspirin": "Aspirin", + "atenolol": "Atenolol", + "atomoxetine": "Atomoxetine", + "atorvastatin": "Atorvastatin", + "azithromycin": "Azithromycin", + "aztreonam": "Aztreonam", + "baclofen": "Baclofen", + "beclometasone": "Beclometasone", + "benzathine-benzylpenicillin": "Benzathine benzylpenicillin", + "benzatropine": "Benzatropine", + "betamethasone": "Betamethasone", + "bisacodyl": "Bisacodyl", + "bisoprolol": "Bisoprolol", + "brexpiprazole": "Brexpiprazole", + "budesonide": "Budesonide", + "bupivacaine": "Bupivacaine", + "buprenorphine-naloxone": "Buprenorphine + naloxone", + "buprenorphine-patch": "Buprenorphine patch", + "buprenorphine-sl-depot": "Buprenorphine (SL/depot)", + "bupropion-sr": "Bupropion SR", + "calcium-carbonate": "Calcium carbonate", + "candesartan": "Candesartan", + "capsaicin-cream": "Capsaicin cream", + "carbamazepine": "Carbamazepine", + "carbimazole": "Carbimazole", + "cariprazine": "Cariprazine", + "carvedilol": "Carvedilol", + "cefazolin": "Cefazolin", + "cefepime": "Cefepime", + "ceftriaxone": "Ceftriaxone", + "cefuroxime": "Cefuroxime", + "celecoxib": "Celecoxib", + "cephalexin": "Cephalexin", + "cetirizine": "Cetirizine", + "chlorpromazine": "Chlorpromazine", + "ciclesonide": "Ciclesonide", + "ciprofloxacin": "Ciprofloxacin", + "citalopram": "Citalopram", + "clarithromycin": "Clarithromycin", + "clindamycin": "Clindamycin", + "clobetasol": "Clobetasol", + "clomipramine": "Clomipramine", + "clonazepam": "Clonazepam", + "clonidine": "Clonidine", + "clopidogrel": "Clopidogrel", + "clotrimazole": "Clotrimazole", + "clozapine": "Clozapine", + "co-trimoxazole": "Co-trimoxazole", + "codeine": "Codeine", + "colchicine": "Colchicine", + "colistin": "Colistin", + "copper": "Copper", + "cyclizine": "Cyclizine", + "cyproheptadine": "Cyproheptadine", + "dabigatran": "Dabigatran", + "dalteparin": "Dalteparin", + "dantrolene": "Dantrolene", + "dapagliflozin": "Dapagliflozin", + "denosumab": "Denosumab", + "desvenlafaxine": "Desvenlafaxine", + "dexamethasone": "Dexamethasone", + "dexamfetamine": "Dexamfetamine", + "dexmedetomidine": "Dexmedetomidine", + "diazepam": "Diazepam", + "diclofenac": "Diclofenac", + "dicloxacillin": "Dicloxacillin", + "digoxin": "Digoxin", + "diltiazem": "Diltiazem", + "diphenhydramine": "Diphenhydramine", + "dipyridamole": "Dipyridamole", + "disulfiram": "Disulfiram", + "docusate-sodium": "Docusate sodium", + "domperidone": "Domperidone", + "donepezil": "Donepezil", + "dosulepin": "Dosulepin", + "doxepin": "Doxepin", + "doxycycline": "Doxycycline", + "droperidol": "Droperidol", + "dulaglutide": "Dulaglutide", + "duloxetine": "Duloxetine", + "dutasteride": "Dutasteride", + "edoxaban": "Edoxaban", + "empagliflozin": "Empagliflozin", + "enoxaparin": "Enoxaparin", + "eplerenone": "Eplerenone", + "ertapenem": "Ertapenem", + "erythromycin": "Erythromycin", + "escitalopram": "Escitalopram", + "esomeprazole": "Esomeprazole", + "ethinylestradiol": "Ethinylestradiol", + "exenatide": "Exenatide", + "ezetimibe": "Ezetimibe", + "famotidine": "Famotidine", + "felodipine": "Felodipine", + "fenofibrate": "Fenofibrate", + "fentanyl": "Fentanyl", + "fexofenadine": "Fexofenadine", + "finasteride": "Finasteride", + "flecainide": "Flecainide", + "flucloxacillin": "Flucloxacillin", + "fluconazole": "Fluconazole", + "fludrocortisone": "Fludrocortisone", + "flumazenil": "Flumazenil", + "fluoxetine": "Fluoxetine", + "flupentixol-decanoate": "Flupentixol decanoate", + "fluticasone": "Fluticasone", + "fluvoxamine": "Fluvoxamine", + "folic-acid": "Folic acid", + "formoterol": "Formoterol", + "fortrans-peg": "Fortrans/PEG", + "fosfomycin": "Fosfomycin", + "frusemide": "Frusemide", + "gabapentin": "Gabapentin", + "gentamicin": "Gentamicin", + "gliclazide": "Gliclazide", + "glipizide": "Glipizide", + "glycerol-suppository": "Glycerol suppository", + "glyceryl-trinitrate-gtn": "Glyceryl trinitrate (GTN)", + "guanfacine-mr": "Guanfacine MR", + "haloperidol-decanoate": "Haloperidol decanoate", + "heparin-iv-sc": "Heparin (IV/SC)", + "humalog-mix-25-50": "Humalog Mix 25/50", + "hydralazine": "Hydralazine", + "hydrochlorothiazide": "Hydrochlorothiazide", + "hydrocortisone": "Hydrocortisone", + "hydrocortisone-1": "Hydrocortisone 1%", + "hydromorphone-ir-iv": "Hydromorphone (IR/IV)", + "hydroxychloroquine": "Hydroxychloroquine", + "hyoscine-butylbromide": "Hyoscine butylbromide", + "hyoscine-hydrobromide": "Hyoscine hydrobromide", + "ibuprofen": "Ibuprofen", + "imipramine": "Imipramine", + "indapamide": "Indapamide", + "insulin-aspart": "Insulin aspart", + "insulin-degludec": "Insulin degludec", + "insulin-detemir": "Insulin detemir", + "insulin-glargine": "Insulin glargine", + "insulin-glulisine": "Insulin glulisine", + "insulin-lispro": "Insulin lispro", + "iodine": "Iodine", + "ipratropium": "Ipratropium", + "iron": "Iron", + "ispaghula-husk": "Ispaghula husk", + "ketamine": "Ketamine", + "ketorolac": "Ketorolac", + "labetalol": "Labetalol", + "lactulose": "Lactulose", + "lamotrigine": "Lamotrigine", + "levetiracetam": "Levetiracetam", + "levodopa-benserazide": "Levodopa/Benserazide", + "levomepromazine": "Levomepromazine", + "levonorgestrel": "Levonorgestrel", + "levothyroxine": "Levothyroxine", + "lidocaine-patch": "Lidocaine patch", + "lidocaine-viscous": "Lidocaine viscous", + "lignocaine-lidocaine-sc": "Lignocaine/Lidocaine SC", + "linagliptin": "Linagliptin", + "lisdexamfetamine": "Lisdexamfetamine", + "lithium-carbonate-ir-sr": "Lithium carbonate (IR/SR)", + "loperamide": "Loperamide", + "loratadine": "Loratadine", + "lorazepam": "Lorazepam", + "lurasidone": "Lurasidone", + "magnesium-oxide": "Magnesium oxide", + "magnesium-sulfate": "Magnesium sulfate", + "medroxyprogesterone": "Medroxyprogesterone", + "meloxicam": "Meloxicam", + "memantine": "Memantine", + "meropenem": "Meropenem", + "mesalazine": "Mesalazine", + "metaraminol": "Metaraminol", + "metformin": "Metformin", + "methadone": "Methadone", + "methotrexate": "Methotrexate", + "methylphenidate": "Methylphenidate", + "methylprednisolone": "Methylprednisolone", + "metoclopramide": "Metoclopramide", + "metoprolol": "Metoprolol", + "metronidazole": "Metronidazole", + "midazolam": "Midazolam", + "minocycline": "Minocycline", + "mirtazapine": "Mirtazapine", + "moclobemide": "Moclobemide", + "mometasone": "Mometasone", + "montelukast": "Montelukast", + "morphine-ir-iv": "Morphine (IR/IV)", + "morphine-sr-mr": "Morphine SR / MR", + "movicol-macrogol": "Movicol/Macrogol", + "moxifloxacin": "Moxifloxacin", + "naloxone": "Naloxone", + "naltrexone": "Naltrexone", + "naproxen": "Naproxen", + "niacin-nicotinamide": "Niacin / Nicotinamide", + "nicotine-gum": "Nicotine gum", + "nicotine-inhalator": "Nicotine inhalator", + "nicotine-lozenge": "Nicotine lozenge", + "nicotine-mouth-spray": "Nicotine mouth spray", + "nicotine-patch": "Nicotine patch", + "nicotine-sublingual-tablet": "Nicotine sublingual tablet", + "nifedipine-xr": "Nifedipine XR", + "nitrazepam": "Nitrazepam", + "nitrofurantoin": "Nitrofurantoin", + "noradrenaline": "Noradrenaline", + "norfloxacin": "Norfloxacin", + "nortriptyline": "Nortriptyline", + "novomix-30": "Novomix 30", + "nystatin": "Nystatin", + "olanzapine-pamoate-lai": "Olanzapine pamoate LAI", + "olanzapine-wafer-odt": "Olanzapine (wafer/ODT)", + "ondansetron": "Ondansetron", + "orphenadrine": "Orphenadrine", + "oseltamivir": "Oseltamivir", + "osmolax": "Osmolax", + "oxazepam": "Oxazepam", + "oxcarbazepine": "Oxcarbazepine", + "oxybutynin": "Oxybutynin", + "oxycodone-ir": "Oxycodone IR", + "oxycodone-sr-mr": "Oxycodone SR / MR", + "paliperidone-er": "Paliperidone ER", + "paliperidone-lai": "Paliperidone LAI", + "pantoprazole": "Pantoprazole", + "paracetamol": "Paracetamol", + "parecoxib": "Parecoxib", + "paroxetine": "Paroxetine", + "periciazine": "Periciazine", + "perindopril": "Perindopril", + "phenelzine": "Phenelzine", + "phenoxymethylpenicillin": "Phenoxymethylpenicillin", + "phenytoin": "Phenytoin", + "piperacillin-tazobactam": "Piperacillin/tazobactam", + "potassium-chloride": "Potassium chloride", + "prazosin": "Prazosin", + "prednisolone": "Prednisolone", + "prednisone": "Prednisone", + "pregabalin": "Pregabalin", + "probenecid": "Probenecid", + "prochlorperazine": "Prochlorperazine", + "promethazine": "Promethazine", + "propranolol": "Propranolol", + "psyllium": "Psyllium", + "pyridoxine": "Pyridoxine", + "quetiapine": "Quetiapine", + "reboxetine": "Reboxetine", + "riboflavin": "Riboflavin", + "risedronate": "Risedronate", + "risperidone": "Risperidone", + "risperidone-lai": "Risperidone LAI", + "rivaroxaban": "Rivaroxaban", + "rosuvastatin": "Rosuvastatin", + "roxithromycin": "Roxithromycin", + "salbutamol": "Salbutamol", + "selenium": "Selenium", + "semaglutide": "Semaglutide", + "senna": "Senna", + "sertraline": "Sertraline", + "sildenafil": "Sildenafil", + "sitagliptin": "Sitagliptin", + "sodium-chloride": "Sodium chloride", + "sodium-nitroprusside": "Sodium nitroprusside", + "sodium-phosphate-enema": "Sodium phosphate enema", + "sodium-picosulfate": "Sodium picosulfate", + "sodium-valproate-oral-iv": "Sodium valproate (oral/IV)", + "solifenacin": "Solifenacin", + "sotalol": "Sotalol", + "spironolactone": "Spironolactone", + "sulfasalazine": "Sulfasalazine", + "sumatriptan": "Sumatriptan", + "tadalafil": "Tadalafil", + "tamsulosin": "Tamsulosin", + "tapentadol-sr": "Tapentadol SR", + "temazepam": "Temazepam", + "thiamine": "Thiamine", + "ticagrelor": "Ticagrelor", + "tiotropium": "Tiotropium", + "topiramate": "Topiramate", + "tramadol-ir": "Tramadol IR", + "tranexamic-acid": "Tranexamic acid", + "tranylcypromine": "Tranylcypromine", + "triamcinolone": "Triamcinolone", + "trifluoperazine": "Trifluoperazine", + "trimethoprim": "Trimethoprim", + "valaciclovir": "Valaciclovir", + "vancomycin": "Vancomycin", + "varenicline": "Varenicline", + "vasopressin": "Vasopressin", + "venlafaxine-xr": "Venlafaxine XR", + "verapamil": "Verapamil", + "vitamin-a": "Vitamin A", + "vitamin-b12": "Vitamin B12", + "vitamin-d": "Vitamin D", + "vitamin-e": "Vitamin E", + "vitamin-k": "Vitamin K", + "vortioxetine": "Vortioxetine", + "warfarin-anticoagulant": "Warfarin", + "warfarin-vka": "Warfarin", + "zinc-sulfate": "Zinc sulfate", + "ziprasidone": "Ziprasidone", + "ziprasidone-im": "Ziprasidone IM", + "zoledronic-acid": "Zoledronic acid", + "zolpidem": "Zolpidem", + "zopiclone": "Zopiclone", + "zuclopenthixol": "Zuclopenthixol", + "zuclopenthixol-acetate": "Zuclopenthixol acetate", + "zuclopenthixol-decanoate": "Zuclopenthixol decanoate" + }, + "bySlug": { + "acamprosate": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": ["diazepam", "disulfiram", "imipramine", "naltrexone"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "buprenorphine-sl-depot": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-patch", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir" + ], + "termIds": ["cns-depressants", "opioids"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "buprenorphine-naloxone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "gabapentin", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "pregabalin", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["alcohol", "benzodiazepines", "cns-depressants", "gabapentinoids", "opioids"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "alprazolam", + "clonazepam", + "diazepam", + "lorazepam", + "midazolam", + "nitrazepam", + "oxazepam", + "temazepam" + ], + "termIds": ["alcohol", "benzodiazepines"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "bupropion-sr": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["levodopa-benserazide"], + "termIds": ["alcohol", "cyp-substrates"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "disulfiram": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["amitriptyline", "chlorpromazine", "metronidazole", "phenytoin"], + "termIds": ["alcohol"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "methadone": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["carbamazepine", "phenytoin"], + "termIds": ["antiretrovirals", "cns-depressants", "cyp-inducers", "st-johns-wort"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "naltrexone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir" + ], + "termIds": ["opioids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "nicotine-gum": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "caution", + "counterparties": [ + "clozapine", + "nicotine-lozenge", + "nicotine-mouth-spray", + "nicotine-patch", + "nicotine-sublingual-tablet", + "olanzapine-pamoate-lai" + ], + "termIds": ["acidic-drinks", "smoking"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "nicotine-inhalator": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "caution", + "counterparties": [ + "clomipramine", + "clozapine", + "fluvoxamine", + "imipramine", + "nicotine-lozenge", + "nicotine-mouth-spray", + "nicotine-patch", + "nicotine-sublingual-tablet", + "olanzapine-pamoate-lai" + ], + "termIds": ["acidic-drinks", "smoking"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "nicotine-lozenge": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "caution", + "counterparties": ["nicotine-mouth-spray", "nicotine-patch", "nicotine-sublingual-tablet"], + "termIds": ["acidic-drinks"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "nicotine-mouth-spray": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": ["acidic-drinks"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "nicotine-patch": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "clozapine", + "nicotine-lozenge", + "nicotine-mouth-spray", + "nicotine-sublingual-tablet", + "olanzapine-pamoate-lai" + ], + "termIds": ["smoking"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "nicotine-sublingual-tablet": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": ["acidic-drinks"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "varenicline": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "caution", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "adrenaline-epinephrine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "cetirizine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "moderate", + "counterparties": [], + "termIds": ["alcohol", "cns-depressants"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "diphenhydramine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "amisulpride", + "amitriptyline", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "benzatropine", + "brexpiprazole", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "cariprazine", + "chlorpromazine", + "clomipramine", + "clonazepam", + "clozapine", + "codeine", + "diazepam", + "doxepin", + "fentanyl", + "flupentixol-decanoate", + "haloperidol-decanoate", + "hydromorphone-ir-iv", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "imipramine", + "levomepromazine", + "loperamide", + "lorazepam", + "lurasidone", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "nortriptyline", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "orphenadrine", + "oxazepam", + "oxybutynin", + "oxycodone-ir", + "oxycodone-sr-mr", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "phenelzine", + "quetiapine", + "risperidone", + "risperidone-lai", + "solifenacin", + "tapentadol-sr", + "temazepam", + "tramadol-ir", + "tranylcypromine", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": [ + "alcohol", + "anticholinergics", + "antipsychotics", + "barbiturates", + "benzodiazepines", + "cns-depressants", + "maois", + "opioids", + "tcas" + ], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "amisulpride", + "amitriptyline", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "benzatropine", + "brexpiprazole", + "cariprazine", + "chlorpromazine", + "clomipramine", + "clozapine", + "doxepin", + "flupentixol-decanoate", + "haloperidol-decanoate", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "imipramine", + "levomepromazine", + "lurasidone", + "nortriptyline", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "orphenadrine", + "oxybutynin", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "solifenacin", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["anticholinergics", "antipsychotics", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "fexofenadine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": ["grapefruit", "pgp"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "moderate", + "counterparties": ["calcium-carbonate", "magnesium-oxide"], + "termIds": ["antacids"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "loratadine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "promethazine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "amisulpride", + "amitriptyline", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "benzatropine", + "brexpiprazole", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "cariprazine", + "chlorpromazine", + "clomipramine", + "clonazepam", + "clozapine", + "codeine", + "diazepam", + "doxepin", + "fentanyl", + "flupentixol-decanoate", + "haloperidol-decanoate", + "hydromorphone-ir-iv", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "imipramine", + "levomepromazine", + "loperamide", + "lorazepam", + "lurasidone", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "nortriptyline", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "orphenadrine", + "oxazepam", + "oxybutynin", + "oxycodone-ir", + "oxycodone-sr-mr", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "solifenacin", + "tapentadol-sr", + "temazepam", + "tramadol-ir", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["alcohol", "anticholinergics", "antipsychotics", "benzodiazepines", "opioids", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "buprenorphine-patch": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-sl-depot", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir" + ], + "termIds": ["opioids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "codeine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["bupropion-sr", "fluoxetine", "morphine-sr-mr", "paroxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": ["cns-depressants"], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "fentanyl": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["clarithromycin"], + "termIds": ["azole-antifungals", "cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "alprazolam", + "clonazepam", + "diazepam", + "lorazepam", + "midazolam", + "nitrazepam", + "oxazepam", + "temazepam" + ], + "termIds": ["benzodiazepines"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "hydromorphone-ir-iv": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "clonazepam", + "diazepam", + "lorazepam", + "midazolam", + "nitrazepam", + "oxazepam", + "temazepam" + ], + "termIds": ["benzodiazepines", "cns-depressants"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "morphine-ir-iv": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "clonazepam", + "diazepam", + "gabapentin", + "lorazepam", + "midazolam", + "nitrazepam", + "oxazepam", + "pregabalin", + "temazepam" + ], + "termIds": ["benzodiazepines", "gabapentinoids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amlodipine", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "diltiazem", + "eplerenone", + "felodipine", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "morphine-sr-mr", + "nifedipine-xr", + "perindopril", + "spironolactone", + "verapamil" + ], + "termIds": ["antihypertensives"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "morphine-sr-mr": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "clonazepam", + "diazepam", + "lorazepam", + "midazolam", + "nitrazepam", + "oxazepam", + "temazepam" + ], + "termIds": ["benzodiazepines"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "oxycodone-ir": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "gabapentin", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-sr-mr", + "pregabalin", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["alcohol", "benzodiazepines", "gabapentinoids", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["clarithromycin", "oxycodone-sr-mr"], + "termIds": ["azole-antifungals", "cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "oxycodone-sr-mr": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "clonazepam", + "diazepam", + "lorazepam", + "midazolam", + "nitrazepam", + "oxazepam", + "temazepam" + ], + "termIds": ["benzodiazepines"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "tapentadol-sr": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": ["codeine", "tramadol-ir"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "alprazolam", + "amisulpride", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "brexpiprazole", + "cariprazine", + "chlorpromazine", + "clonazepam", + "clozapine", + "diazepam", + "flupentixol-decanoate", + "haloperidol-decanoate", + "levomepromazine", + "lorazepam", + "lurasidone", + "midazolam", + "nitrazepam", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "oxazepam", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "temazepam", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["alcohol", "antipsychotics", "benzodiazepines"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "tramadol-ir": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amitriptyline", + "atomoxetine", + "citalopram", + "clomipramine", + "desvenlafaxine", + "doxepin", + "duloxetine", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "imipramine", + "nortriptyline", + "paroxetine", + "sertraline", + "venlafaxine-xr" + ], + "termIds": ["snris", "ssris", "st-johns-wort", "tcas"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "atomoxetine", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "codeine", + "desvenlafaxine", + "duloxetine", + "fentanyl", + "fluoxetine", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "paroxetine", + "tapentadol-sr", + "venlafaxine-xr" + ], + "termIds": ["cyp-inhibitors", "opioids", "snris"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "celecoxib": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["fluconazole"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Triple Whammy", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "amiloride", + "eplerenone", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "perindopril", + "spironolactone" + ], + "termIds": ["acei", "diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "diclofenac": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "apixaban", + "clopidogrel", + "dabigatran", + "dalteparin", + "dipyridamole", + "edoxaban", + "enoxaparin", + "heparin-iv-sc", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants"], + "resolved": true + }, + { + "rowKey": "Triple Whammy", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "amiloride", + "candesartan", + "eplerenone", + "ertapenem", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "meropenem", + "perindopril", + "spironolactone" + ], + "termIds": ["acei", "arbs", "diuretics"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 2, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "ibuprofen": { + "rows": [ + { + "rowKey": "Triple Whammy", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiloride", + "aspirin", + "candesartan", + "diclofenac", + "eplerenone", + "ertapenem", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "ketorolac", + "meloxicam", + "meropenem", + "naproxen", + "perindopril", + "spironolactone" + ], + "termIds": ["acei", "arbs", "diuretics", "nsaids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "apixaban", + "aspirin", + "clopidogrel", + "dabigatran", + "dalteparin", + "dipyridamole", + "edoxaban", + "enoxaparin", + "heparin-iv-sc", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants", "antiplatelets"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 2, + "severity": "high", + "counterparties": ["aspirin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "ketorolac": { + "rows": [ + { + "rowKey": "Triple Whammy", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiloride", + "candesartan", + "eplerenone", + "ertapenem", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "meropenem", + "perindopril", + "spironolactone" + ], + "termIds": ["acei", "arbs", "diuretics"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "apixaban", + "clopidogrel", + "dabigatran", + "dalteparin", + "dipyridamole", + "edoxaban", + "enoxaparin", + "heparin-iv-sc", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "meloxicam": { + "rows": [ + { + "rowKey": "Triple Whammy", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiloride", + "aspirin", + "candesartan", + "diclofenac", + "eplerenone", + "ertapenem", + "frusemide", + "hydrochlorothiazide", + "ibuprofen", + "indapamide", + "ketorolac", + "meropenem", + "naproxen", + "perindopril", + "spironolactone" + ], + "termIds": ["acei", "arbs", "diuretics", "nsaids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "apixaban", + "clopidogrel", + "dabigatran", + "dalteparin", + "dipyridamole", + "edoxaban", + "enoxaparin", + "heparin-iv-sc", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 2, + "severity": "high", + "counterparties": ["methotrexate"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "naproxen": { + "rows": [ + { + "rowKey": "Triple Whammy", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiloride", + "aspirin", + "candesartan", + "diclofenac", + "eplerenone", + "ertapenem", + "frusemide", + "hydrochlorothiazide", + "ibuprofen", + "indapamide", + "ketorolac", + "meloxicam", + "meropenem", + "perindopril", + "spironolactone" + ], + "termIds": ["acei", "arbs", "diuretics", "nsaids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "apixaban", + "clopidogrel", + "dabigatran", + "dalteparin", + "dipyridamole", + "edoxaban", + "enoxaparin", + "heparin-iv-sc", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 2, + "severity": "high", + "counterparties": ["methotrexate"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "paracetamol": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": ["alcohol"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["flucloxacillin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "parecoxib": { + "rows": [ + { + "rowKey": "Triple Whammy", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiloride", + "candesartan", + "eplerenone", + "ertapenem", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "meropenem", + "perindopril", + "spironolactone" + ], + "termIds": ["acei", "arbs", "diuretics"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["fluconazole"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "bupivacaine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["lidocaine-patch"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "capsaicin-cream": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "none", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "lidocaine-patch": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "low", + "counterparties": ["amitriptyline", "pregabalin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "lidocaine-viscous": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["bupivacaine", "flecainide"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "lignocaine-lidocaine-sc": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "amiodarone", + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "lidocaine-patch", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "amiodarone": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["atorvastatin", "digoxin", "rosuvastatin", "warfarin-anticoagulant", "warfarin-vka"], + "termIds": ["pgp", "statins"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers", "qtc-prolonging"], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "digoxin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiodarone", + "azithromycin", + "clarithromycin", + "erythromycin", + "roxithromycin", + "verapamil" + ], + "termIds": ["macrolides", "pgp"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amiloride", + "eplerenone", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "spironolactone" + ], + "termIds": ["diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "flecainide": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["amiodarone", "fluoxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "sotalol": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amisulpride", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "azithromycin", + "brexpiprazole", + "cariprazine", + "chlorpromazine", + "citalopram", + "clarithromycin", + "clozapine", + "erythromycin", + "escitalopram", + "fluoxetine", + "flupentixol-decanoate", + "fluvoxamine", + "haloperidol-decanoate", + "levomepromazine", + "lurasidone", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "paliperidone-er", + "paliperidone-lai", + "paroxetine", + "periciazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "roxithromycin", + "sertraline", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["antipsychotics", "macrolides", "qtc-prolonging", "ssris"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["verapamil"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "glyceryl-trinitrate-gtn": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["sildenafil"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amlodipine", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "diltiazem", + "eplerenone", + "felodipine", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "nifedipine-xr", + "perindopril", + "spironolactone", + "verapamil" + ], + "termIds": ["alcohol", "antihypertensives"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "amlodipine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["clarithromycin"], + "termIds": ["azole-antifungals", "cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "safe", + "counterparties": ["felodipine"], + "termIds": ["grapefruit"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "candesartan": { + "rows": [ + { + "rowKey": "Triple Whammy", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiloride", + "aspirin", + "diclofenac", + "eplerenone", + "ertapenem", + "frusemide", + "hydrochlorothiazide", + "ibuprofen", + "indapamide", + "ketorolac", + "meloxicam", + "meropenem", + "naproxen", + "spironolactone" + ], + "termIds": ["arbs", "diuretics", "nsaids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["spironolactone", "trimethoprim"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "diltiazem": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["atorvastatin", "digoxin", "rosuvastatin"], + "termIds": ["statins"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "felodipine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["azithromycin", "clarithromycin", "erythromycin", "roxithromycin"], + "termIds": ["azole-antifungals", "cyp-inhibitors", "grapefruit", "macrolides"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "caution", + "counterparties": ["carbamazepine", "phenytoin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "nifedipine-xr": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": ["cyp-inhibitors", "grapefruit"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "caution", + "counterparties": ["magnesium-sulfate"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "perindopril": { + "rows": [ + { + "rowKey": "Triple Whammy", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiloride", + "aspirin", + "diclofenac", + "eplerenone", + "frusemide", + "hydrochlorothiazide", + "ibuprofen", + "indapamide", + "ketorolac", + "meloxicam", + "naproxen", + "spironolactone" + ], + "termIds": ["acei", "diuretics", "nsaids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amiloride", + "eplerenone", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "spironolactone" + ], + "termIds": ["diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "verapamil": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "atenolol", + "bisoprolol", + "carvedilol", + "hydromorphone-ir-iv", + "labetalol", + "metoprolol", + "morphine-ir-iv", + "propranolol", + "sodium-valproate-oral-iv", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["atorvastatin", "digoxin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "atenolol": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["diltiazem", "verapamil"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["amiodarone", "digoxin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "bisoprolol": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["diltiazem", "verapamil"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["amiodarone", "digoxin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "carvedilol": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["diltiazem", "prazosin", "verapamil"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "moderate", + "counterparties": ["digoxin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "labetalol": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "metoprolol": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["diltiazem", "verapamil"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["fluoxetine", "paroxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "amiloride": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["candesartan", "ertapenem", "meropenem", "perindopril", "spironolactone"], + "termIds": ["acei", "arbs"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["aspirin", "diclofenac", "ibuprofen", "ketorolac", "meloxicam", "naproxen"], + "termIds": ["nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "eplerenone": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["clarithromycin"], + "termIds": ["cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["candesartan", "ertapenem", "meropenem", "perindopril"], + "termIds": ["acei", "arbs"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "frusemide": { + "rows": [ + { + "rowKey": "Triple Whammy", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "aspirin", + "candesartan", + "diclofenac", + "ertapenem", + "ibuprofen", + "ketorolac", + "meloxicam", + "meropenem", + "naproxen", + "perindopril" + ], + "termIds": ["acei", "arbs", "nsaids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["digoxin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "hydrochlorothiazide": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["indapamide"], + "termIds": ["thiazide-diuretics"], + "resolved": true + }, + { + "rowKey": "Triple Whammy", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "aspirin", + "diclofenac", + "ibuprofen", + "indapamide", + "ketorolac", + "meloxicam", + "naproxen", + "perindopril" + ], + "termIds": ["acei", "nsaids", "thiazide-diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "indapamide": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Triple Whammy", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["aspirin", "diclofenac", "ibuprofen", "ketorolac", "meloxicam", "naproxen", "perindopril"], + "termIds": ["acei", "nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "spironolactone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["candesartan", "ertapenem", "meropenem", "perindopril"], + "termIds": ["acei", "arbs"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "caution", + "counterparties": ["digoxin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "atorvastatin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["amiodarone", "clarithromycin", "diltiazem"], + "termIds": ["grapefruit"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["rosuvastatin"], + "termIds": ["statins"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "ezetimibe": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "caution", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "caution", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "fenofibrate": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["atorvastatin", "rosuvastatin"], + "termIds": ["statins"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["warfarin-anticoagulant", "warfarin-vka"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "rosuvastatin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": ["atorvastatin"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "clonidine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "alprazolam", + "amisulpride", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "brexpiprazole", + "cariprazine", + "chlorpromazine", + "clonazepam", + "clozapine", + "diazepam", + "flupentixol-decanoate", + "haloperidol-decanoate", + "levomepromazine", + "lorazepam", + "lurasidone", + "midazolam", + "nitrazepam", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "oxazepam", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "temazepam", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["alcohol", "antipsychotics", "benzodiazepines"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "hydralazine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "beneficial", + "counterparties": [ + "amiloride", + "atenolol", + "bisoprolol", + "carvedilol", + "eplerenone", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "propranolol", + "sotalol", + "spironolactone" + ], + "termIds": ["beta-blockers", "diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "prazosin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["sildenafil"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amiloride", + "atenolol", + "bisoprolol", + "carvedilol", + "eplerenone", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "propranolol", + "sotalol", + "spironolactone" + ], + "termIds": ["beta-blockers", "diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "metaraminol": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tranylcypromine"], + "termIds": ["maois"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "noradrenaline": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amitriptyline", + "clomipramine", + "doxepin", + "imipramine", + "nortriptyline", + "phenelzine", + "tranylcypromine" + ], + "termIds": ["maois", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "sodium-nitroprusside": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["sildenafil"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "vasopressin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["noradrenaline"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "betamethasone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "none", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "clobetasol": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "hydrocortisone-1": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "none", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "triamcinolone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "unknown", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "dulaglutide": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "moderate", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "exenatide": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["paracetamol"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "humalog-mix-25-50": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "atenolol", + "beclometasone", + "betamethasone", + "bisoprolol", + "budesonide", + "carvedilol", + "ciclesonide", + "clobetasol", + "dexamethasone", + "fludrocortisone", + "fluticasone", + "hydrocortisone", + "hydrocortisone-1", + "labetalol", + "methylprednisolone", + "metoprolol", + "mometasone", + "prednisolone", + "prednisone", + "propranolol", + "sotalol", + "triamcinolone" + ], + "termIds": ["beta-blockers", "corticosteroids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "insulin-aspart": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["alcohol", "beta-blockers"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "insulin-degludec": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "atenolol", + "beclometasone", + "betamethasone", + "bisoprolol", + "budesonide", + "carvedilol", + "ciclesonide", + "clobetasol", + "dexamethasone", + "fludrocortisone", + "fluticasone", + "hydrocortisone", + "hydrocortisone-1", + "labetalol", + "methylprednisolone", + "metoprolol", + "mometasone", + "prednisolone", + "prednisone", + "propranolol", + "sotalol", + "triamcinolone" + ], + "termIds": ["beta-blockers", "corticosteroids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "insulin-detemir": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "atenolol", + "beclometasone", + "betamethasone", + "bisoprolol", + "budesonide", + "carvedilol", + "ciclesonide", + "clobetasol", + "dexamethasone", + "fludrocortisone", + "fluticasone", + "hydrocortisone", + "hydrocortisone-1", + "labetalol", + "methylprednisolone", + "metoprolol", + "mometasone", + "prednisolone", + "prednisone", + "propranolol", + "sotalol", + "triamcinolone" + ], + "termIds": ["beta-blockers", "corticosteroids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "insulin-glargine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "beclometasone", + "betamethasone", + "budesonide", + "ciclesonide", + "clobetasol", + "dexamethasone", + "fludrocortisone", + "fluticasone", + "hydrocortisone", + "hydrocortisone-1", + "methylprednisolone", + "mometasone", + "prednisolone", + "prednisone", + "triamcinolone" + ], + "termIds": ["corticosteroids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "insulin-glulisine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "atenolol", + "beclometasone", + "betamethasone", + "bisoprolol", + "budesonide", + "carvedilol", + "ciclesonide", + "clobetasol", + "dexamethasone", + "fludrocortisone", + "fluticasone", + "hydrocortisone", + "hydrocortisone-1", + "labetalol", + "methylprednisolone", + "metoprolol", + "mometasone", + "prednisolone", + "prednisone", + "propranolol", + "sotalol", + "triamcinolone" + ], + "termIds": ["beta-blockers", "corticosteroids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "insulin-lispro": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "atenolol", + "beclometasone", + "betamethasone", + "bisoprolol", + "budesonide", + "carvedilol", + "ciclesonide", + "clobetasol", + "dexamethasone", + "fludrocortisone", + "fluticasone", + "hydrocortisone", + "hydrocortisone-1", + "labetalol", + "methylprednisolone", + "metoprolol", + "mometasone", + "prednisolone", + "prednisone", + "propranolol", + "sotalol", + "triamcinolone" + ], + "termIds": ["beta-blockers", "corticosteroids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "novomix-30": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "atenolol", + "beclometasone", + "betamethasone", + "bisoprolol", + "budesonide", + "carvedilol", + "ciclesonide", + "clobetasol", + "dexamethasone", + "fludrocortisone", + "fluticasone", + "hydrocortisone", + "hydrocortisone-1", + "labetalol", + "methylprednisolone", + "metoprolol", + "mometasone", + "prednisolone", + "prednisone", + "propranolol", + "sotalol", + "triamcinolone" + ], + "termIds": ["beta-blockers", "corticosteroids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "semaglutide": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "moderate", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "acarbose": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["calcium-carbonate", "magnesium-oxide"], + "termIds": ["antacids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "dapagliflozin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["hydrochlorothiazide", "indapamide"], + "termIds": ["thiazide-diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "empagliflozin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["hydrochlorothiazide", "indapamide"], + "termIds": ["thiazide-diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "gliclazide": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "glipizide": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["fluconazole"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "linagliptin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": ["pgp"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "metformin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": ["alcohol"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "sitagliptin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "dexamethasone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["aspirin", "diclofenac", "ibuprofen", "ketorolac", "meloxicam", "naproxen"], + "termIds": ["nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "fludrocortisone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiloride", + "eplerenone", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "spironolactone" + ], + "termIds": ["diuretics", "thiazide-diuretics"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["digoxin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "hydrocortisone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "aspirin", + "diclofenac", + "hydrochlorothiazide", + "ibuprofen", + "indapamide", + "ketorolac", + "meloxicam", + "naproxen" + ], + "termIds": ["nsaids", "thiazide-diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "methylprednisolone": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["azithromycin", "clarithromycin", "erythromycin", "roxithromycin"], + "termIds": ["azole-antifungals", "macrolides"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "prednisolone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "aspirin", + "diclofenac", + "esomeprazole", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "pantoprazole" + ], + "termIds": ["nsaids", "ppis"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["ciprofloxacin", "moxifloxacin", "norfloxacin"], + "termIds": ["fluoroquinolones"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "prednisone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "aspirin", + "diclofenac", + "esomeprazole", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "pantoprazole" + ], + "termIds": ["nsaids", "ppis"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["ciprofloxacin", "moxifloxacin", "norfloxacin"], + "termIds": ["fluoroquinolones"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "alendronate": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["calcium-carbonate", "magnesium-oxide"], + "termIds": ["acidic-drinks", "antacids", "food"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "carbimazole": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["digoxin", "warfarin-anticoagulant", "warfarin-vka"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "denosumab": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "levothyroxine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["calcium-carbonate", "iron", "magnesium-oxide"], + "termIds": ["antacids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "risedronate": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["calcium-carbonate", "magnesium-oxide"], + "termIds": ["antacids", "food"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "zoledronic-acid": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["amikacin", "frusemide", "gentamicin"], + "termIds": ["aminoglycosides", "loop-diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "ethinylestradiol": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["carbamazepine", "phenytoin"], + "termIds": ["antiretrovirals", "cyp-inducers", "st-johns-wort"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["lamotrigine"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "levonorgestrel": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["copper"], + "termIds": ["cyp-inducers"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "medroxyprogesterone": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["carbamazepine", "phenytoin"], + "termIds": ["cyp-inducers"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "esomeprazole": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["aspirin", "clopidogrel", "dipyridamole", "pantoprazole", "ticagrelor"], + "termIds": ["antiplatelets", "ppis"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "famotidine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "safe", + "counterparties": ["phenytoin", "warfarin-anticoagulant", "warfarin-vka"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["iron"], + "termIds": ["azole-antifungals"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "pantoprazole": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": ["clopidogrel"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["iron"], + "termIds": ["azole-antifungals"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "cyclizine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "amisulpride", + "amitriptyline", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "benzatropine", + "brexpiprazole", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "cariprazine", + "chlorpromazine", + "clomipramine", + "clonazepam", + "clozapine", + "codeine", + "diazepam", + "doxepin", + "fentanyl", + "flupentixol-decanoate", + "haloperidol-decanoate", + "hydromorphone-ir-iv", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "imipramine", + "levomepromazine", + "loperamide", + "lorazepam", + "lurasidone", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "nortriptyline", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "orphenadrine", + "oxazepam", + "oxybutynin", + "oxycodone-ir", + "oxycodone-sr-mr", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "promethazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "solifenacin", + "tapentadol-sr", + "temazepam", + "tramadol-ir", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["alcohol", "anticholinergics", "antipsychotics", "benzodiazepines", "opioids", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "domperidone": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["clarithromycin"], + "termIds": ["azole-antifungals", "cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "amiodarone", + "citalopram", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "paroxetine", + "sertraline", + "sotalol" + ], + "termIds": ["ssris"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "hyoscine-hydrobromide": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "amisulpride", + "amitriptyline", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "benzatropine", + "brexpiprazole", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "cariprazine", + "chlorpromazine", + "clomipramine", + "clonazepam", + "clozapine", + "codeine", + "diazepam", + "doxepin", + "fentanyl", + "flupentixol-decanoate", + "haloperidol-decanoate", + "hydromorphone-ir-iv", + "hyoscine-butylbromide", + "imipramine", + "levomepromazine", + "loperamide", + "lorazepam", + "lurasidone", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "nortriptyline", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "orphenadrine", + "oxazepam", + "oxybutynin", + "oxycodone-ir", + "oxycodone-sr-mr", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "promethazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "solifenacin", + "tapentadol-sr", + "temazepam", + "tramadol-ir", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["alcohol", "anticholinergics", "antipsychotics", "benzodiazepines", "opioids", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "metoclopramide": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amisulpride", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "brexpiprazole", + "cariprazine", + "chlorpromazine", + "clozapine", + "flupentixol-decanoate", + "haloperidol-decanoate", + "levomepromazine", + "lurasidone", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["antipsychotics"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amitriptyline", + "benzatropine", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "orphenadrine", + "oxybutynin", + "solifenacin" + ], + "termIds": ["anticholinergics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "ondansetron": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiodarone", + "azithromycin", + "citalopram", + "clarithromycin", + "erythromycin", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "paroxetine", + "roxithromycin", + "sertraline" + ], + "termIds": ["macrolides", "qtc-prolonging", "ssris"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "moderate", + "counterparties": [], + "termIds": ["serotonergic"], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "prochlorperazine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["metoclopramide"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["benzodiazepines", "opioids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "hyoscine-butylbromide": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "alimemazine", + "amisulpride", + "amitriptyline", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "benzatropine", + "brexpiprazole", + "cariprazine", + "cetirizine", + "chlorpromazine", + "clomipramine", + "clozapine", + "cyclizine", + "diphenhydramine", + "doxepin", + "fexofenadine", + "flupentixol-decanoate", + "haloperidol-decanoate", + "hyoscine-hydrobromide", + "imipramine", + "levomepromazine", + "loratadine", + "lurasidone", + "nortriptyline", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "orphenadrine", + "oxybutynin", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "promethazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "solifenacin", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["anticholinergics", "antihistamines", "antipsychotics", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "loperamide": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "moderate", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir", + "verapamil" + ], + "termIds": ["azole-antifungals", "opioids", "pgp"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "mesalazine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "caution", + "counterparties": ["aspirin", "diclofenac", "ibuprofen", "ketorolac", "meloxicam", "naproxen"], + "termIds": ["nsaids"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "low", + "counterparties": ["digoxin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "sulfasalazine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["folic-acid"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "moderate", + "counterparties": ["gliclazide"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "bisacodyl": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["calcium-carbonate", "esomeprazole", "magnesium-oxide", "pantoprazole"], + "termIds": ["antacids", "food", "ppis"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "docusate-sodium": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "fortrans-peg": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "glycerol-suppository": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "none", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "ispaghula-husk": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "lactulose": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "movicol-macrogol": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "osmolax": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "psyllium": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["digoxin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "senna": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "low", + "counterparties": ["digoxin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "sodium-phosphate-enema": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "amiloride", + "aspirin", + "candesartan", + "diclofenac", + "eplerenone", + "ertapenem", + "frusemide", + "hydrochlorothiazide", + "ibuprofen", + "indapamide", + "ketorolac", + "meloxicam", + "meropenem", + "naproxen", + "perindopril", + "spironolactone" + ], + "termIds": ["acei", "arbs", "diuretics", "nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "sodium-picosulfate": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "apixaban": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["clarithromycin"], + "termIds": ["azole-antifungals", "pgp"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "aspirin", + "citalopram", + "diclofenac", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "paroxetine", + "sertraline" + ], + "termIds": ["nsaids", "ssris"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "dabigatran": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["amiodarone", "clarithromycin", "verapamil"], + "termIds": ["pgp"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "aspirin", + "citalopram", + "diclofenac", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "paroxetine", + "sertraline" + ], + "termIds": ["nsaids", "ssris"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "dalteparin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "apixaban", + "aspirin", + "clopidogrel", + "dabigatran", + "diclofenac", + "dipyridamole", + "edoxaban", + "enoxaparin", + "heparin-iv-sc", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants", "nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "edoxaban": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "amiodarone", + "azithromycin", + "clarithromycin", + "erythromycin", + "roxithromycin", + "verapamil" + ], + "termIds": ["macrolides", "pgp"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "aspirin", + "citalopram", + "diclofenac", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "paroxetine", + "sertraline" + ], + "termIds": ["nsaids", "ssris"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "enoxaparin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "apixaban", + "aspirin", + "clopidogrel", + "dabigatran", + "dalteparin", + "diclofenac", + "dipyridamole", + "edoxaban", + "heparin-iv-sc", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants", "nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "heparin-iv-sc": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "apixaban", + "aspirin", + "clopidogrel", + "dabigatran", + "dalteparin", + "diclofenac", + "dipyridamole", + "edoxaban", + "enoxaparin", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants", "nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "rivaroxaban": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["clarithromycin"], + "termIds": ["azole-antifungals", "pgp"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "aspirin", + "citalopram", + "diclofenac", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "paroxetine", + "sertraline" + ], + "termIds": ["nsaids", "ssris"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "tranexamic-acid": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "warfarin-vka": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["amiodarone", "fluconazole", "metronidazole", "warfarin-anticoagulant"], + "termIds": ["cotrimoxazole"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["carbamazepine", "warfarin-anticoagulant"], + "termIds": ["st-johns-wort"], + "resolved": true + }, + { + "rowKey": "Dietary", + "rowIndex": 2, + "severity": "high", + "counterparties": ["vitamin-k", "warfarin-anticoagulant"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "warfarin-anticoagulant": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["amiodarone", "fluconazole", "metronidazole", "warfarin-vka"], + "termIds": ["cotrimoxazole"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "aspirin", + "citalopram", + "diclofenac", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "paroxetine", + "sertraline" + ], + "termIds": ["nsaids", "ssris"], + "resolved": true + }, + { + "rowKey": "Dietary", + "rowIndex": 2, + "severity": "high", + "counterparties": ["vitamin-k"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "aspirin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "apixaban", + "clopidogrel", + "dabigatran", + "dalteparin", + "diclofenac", + "dipyridamole", + "edoxaban", + "enoxaparin", + "heparin-iv-sc", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants", "antiplatelets", "nsaids"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "caution", + "counterparties": ["ibuprofen"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "clopidogrel": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["esomeprazole", "pantoprazole"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "apixaban", + "aspirin", + "citalopram", + "dabigatran", + "dalteparin", + "diclofenac", + "dipyridamole", + "edoxaban", + "enoxaparin", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "heparin-iv-sc", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "paroxetine", + "rivaroxaban", + "sertraline", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants", "nsaids", "ssris"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "dipyridamole": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "amlodipine", + "apixaban", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "clopidogrel", + "dabigatran", + "dalteparin", + "diltiazem", + "edoxaban", + "enoxaparin", + "eplerenone", + "felodipine", + "frusemide", + "heparin-iv-sc", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "nifedipine-xr", + "perindopril", + "rivaroxaban", + "spironolactone", + "ticagrelor", + "verapamil", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants", "antihypertensives"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "ticagrelor": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["clarithromycin"], + "termIds": ["azole-antifungals"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["aspirin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "gentamicin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "aspirin", + "diclofenac", + "frusemide", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "vancomycin" + ], + "termIds": ["loop-diuretics", "nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "fluconazole": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["warfarin-anticoagulant", "warfarin-vka"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "apixaban", + "atorvastatin", + "clopidogrel", + "dabigatran", + "dalteparin", + "dipyridamole", + "edoxaban", + "enoxaparin", + "heparin-iv-sc", + "phenytoin", + "rivaroxaban", + "rosuvastatin", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants", "statins"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "nystatin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "none", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "aciclovir": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "amikacin", + "aspirin", + "diclofenac", + "gentamicin", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen" + ], + "termIds": ["aminoglycosides", "nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "oseltamivir": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "valaciclovir": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "amiloride", + "aspirin", + "diclofenac", + "eplerenone", + "frusemide", + "hydrochlorothiazide", + "ibuprofen", + "indapamide", + "ketorolac", + "meloxicam", + "naproxen", + "perindopril", + "spironolactone" + ], + "termIds": ["acei", "diuretics", "nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "clotrimazole": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "cefazolin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "cefepime": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "low", + "counterparties": ["tramadol-ir"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "ceftriaxone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "cefuroxime": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["calcium-carbonate", "esomeprazole", "magnesium-oxide", "pantoprazole"], + "termIds": ["antacids", "ppis"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "cephalexin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "ciprofloxacin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["calcium-carbonate", "iron", "magnesium-oxide"], + "termIds": ["antacids", "food"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "aspirin", + "beclometasone", + "betamethasone", + "budesonide", + "ciclesonide", + "clobetasol", + "dexamethasone", + "diclofenac", + "fludrocortisone", + "fluticasone", + "hydrocortisone", + "hydrocortisone-1", + "ibuprofen", + "ketorolac", + "meloxicam", + "methylprednisolone", + "mometasone", + "naproxen", + "prednisolone", + "prednisone", + "triamcinolone" + ], + "termIds": ["corticosteroids", "nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "vancomycin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amikacin", + "aspirin", + "diclofenac", + "frusemide", + "gentamicin", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen" + ], + "termIds": ["aminoglycosides", "loop-diuretics", "nsaids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amikacin", + "aspirin", + "diclofenac", + "frusemide", + "gentamicin", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen" + ], + "termIds": ["aminoglycosides", "loop-diuretics", "nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "azithromycin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [ + "apixaban", + "atorvastatin", + "clarithromycin", + "clopidogrel", + "dabigatran", + "dalteparin", + "dipyridamole", + "edoxaban", + "enoxaparin", + "erythromycin", + "heparin-iv-sc", + "rivaroxaban", + "rosuvastatin", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants", "statins"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["amiodarone", "ondansetron", "sotalol"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "clarithromycin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["apixaban", "atorvastatin", "colchicine", "rivaroxaban"], + "termIds": ["pgp"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["amiodarone", "sotalol"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "erythromycin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["atorvastatin", "colchicine", "warfarin-anticoagulant", "warfarin-vka"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "minocycline": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["calcium-carbonate", "iron", "magnesium-oxide"], + "termIds": ["antacids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "roxithromycin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [ + "apixaban", + "atorvastatin", + "azithromycin", + "clarithromycin", + "clopidogrel", + "dabigatran", + "dalteparin", + "dipyridamole", + "edoxaban", + "enoxaparin", + "erythromycin", + "heparin-iv-sc", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants", "macrolides"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "amikacin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["frusemide", "vancomycin"], + "termIds": ["loop-diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "aztreonam": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "low", + "counterparties": ["amikacin", "gentamicin"], + "termIds": ["aminoglycosides"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "clindamycin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "co-trimoxazole": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["candesartan", "ertapenem", "meropenem", "perindopril", "spironolactone"], + "termIds": ["acei", "arbs"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["methotrexate"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 2, + "severity": "high", + "counterparties": ["warfarin-anticoagulant", "warfarin-vka"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "colistin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["amikacin", "gentamicin"], + "termIds": ["aminoglycosides"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["aspirin", "diclofenac", "ibuprofen", "ketorolac", "meloxicam", "naproxen", "vancomycin"], + "termIds": ["nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "ertapenem": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "meropenem": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "metronidazole": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["disulfiram"], + "termIds": ["alcohol"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["warfarin-anticoagulant", "warfarin-vka"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "moxifloxacin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["calcium-carbonate", "iron", "magnesium-oxide"], + "termIds": ["antacids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "amiodarone", + "citalopram", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "paroxetine", + "sertraline", + "sotalol" + ], + "termIds": ["ssris"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "norfloxacin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["calcium-carbonate", "iron", "magnesium-oxide"], + "termIds": ["antacids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "amoxicillin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["allopurinol"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["methotrexate"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "amoxicillin-clavulanate": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["methotrexate"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "moderate", + "counterparties": ["warfarin-anticoagulant", "warfarin-vka"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "benzathine-benzylpenicillin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "dicloxacillin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": ["food"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["probenecid"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "flucloxacillin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["paracetamol"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "phenoxymethylpenicillin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": ["food"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["probenecid"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "piperacillin-tazobactam": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["vancomycin"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["methotrexate"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "doxycycline": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["calcium-carbonate", "iron", "magnesium-oxide"], + "termIds": ["antacids", "food"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["carbamazepine", "phenytoin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "fosfomycin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "moderate", + "counterparties": ["metoclopramide"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "nitrofurantoin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["calcium-carbonate", "magnesium-oxide"], + "termIds": ["antacids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "trimethoprim": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["candesartan", "ertapenem", "meropenem", "perindopril", "spironolactone"], + "termIds": ["acei", "arbs"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["methotrexate"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "allopurinol": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["amoxicillin", "amoxicillin-clavulanate"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "baclofen": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["alcohol", "benzodiazepines", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amlodipine", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "diltiazem", + "eplerenone", + "felodipine", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "nifedipine-xr", + "perindopril", + "spironolactone", + "verapamil" + ], + "termIds": ["antihypertensives"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "colchicine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "azithromycin", + "clarithromycin", + "diltiazem", + "erythromycin", + "roxithromycin", + "verapamil" + ], + "termIds": ["azole-antifungals", "macrolides", "pgp"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["atorvastatin", "rosuvastatin"], + "termIds": ["statins"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "dantrolene": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "hydroxychloroquine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["amiodarone", "azithromycin", "clarithromycin", "erythromycin", "roxithromycin"], + "termIds": ["macrolides", "qtc-prolonging"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "low", + "counterparties": ["calcium-carbonate", "magnesium-oxide"], + "termIds": ["antacids"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "methotrexate": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["trimethoprim"], + "termIds": ["cotrimoxazole"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "aspirin", + "diclofenac", + "esomeprazole", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "pantoprazole" + ], + "termIds": ["nsaids", "ppis"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "orphenadrine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amisulpride", + "amitriptyline", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "benzatropine", + "brexpiprazole", + "cariprazine", + "chlorpromazine", + "clomipramine", + "clozapine", + "doxepin", + "flupentixol-decanoate", + "haloperidol-decanoate", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "imipramine", + "levomepromazine", + "lurasidone", + "nortriptyline", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "oxybutynin", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "promethazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "solifenacin", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["anticholinergics", "antipsychotics", "tcas"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["benzodiazepines", "opioids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "probenecid": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["aspirin"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 2, + "severity": "high", + "counterparties": ["methotrexate"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "armodafinil": { + "rows": [ + { + "rowKey": "Endocrine", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["copper"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["diazepam", "phenytoin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "donepezil": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amitriptyline", + "benzatropine", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "orphenadrine", + "oxybutynin", + "promethazine", + "solifenacin" + ], + "termIds": ["anticholinergics"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amiodarone", + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "levodopa-benserazide": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amisulpride", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "brexpiprazole", + "cariprazine", + "chlorpromazine", + "clozapine", + "domperidone", + "flupentixol-decanoate", + "haloperidol-decanoate", + "levomepromazine", + "lurasidone", + "metoclopramide", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "ondansetron", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["antipsychotics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "memantine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["ketamine"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "carbamazepine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "apixaban", + "azithromycin", + "clarithromycin", + "clopidogrel", + "clozapine", + "dabigatran", + "dalteparin", + "dipyridamole", + "edoxaban", + "enoxaparin", + "erythromycin", + "heparin-iv-sc", + "quetiapine", + "rivaroxaban", + "roxithromycin", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants", "macrolides"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "gabapentin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir" + ], + "termIds": ["opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["calcium-carbonate", "magnesium-oxide"], + "termIds": ["antacids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "lamotrigine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["carbamazepine", "phenytoin"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Endocrine", + "rowIndex": 2, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "levetiracetam": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [ + "apixaban", + "clopidogrel", + "dabigatran", + "dalteparin", + "dipyridamole", + "edoxaban", + "enoxaparin", + "heparin-iv-sc", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "phenytoin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "apixaban", + "clopidogrel", + "dabigatran", + "dalteparin", + "dipyridamole", + "edoxaban", + "enoxaparin", + "heparin-iv-sc", + "quetiapine", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "pregabalin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["alcohol", "benzodiazepines", "opioids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "sodium-valproate-oral-iv": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["lamotrigine"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["meropenem"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "topiramate": { + "rows": [ + { + "rowKey": "Endocrine", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "sumatriptan": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "caution", + "counterparties": [ + "atomoxetine", + "citalopram", + "desvenlafaxine", + "duloxetine", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "paroxetine", + "phenelzine", + "sertraline", + "tramadol-ir", + "tranylcypromine", + "venlafaxine-xr" + ], + "termIds": ["maois", "snris", "ssris"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "alprazolam": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir" + ], + "termIds": ["alcohol", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["clarithromycin"], + "termIds": ["azole-antifungals", "cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "clonazepam": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir" + ], + "termIds": ["alcohol", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["clarithromycin"], + "termIds": ["azole-antifungals", "cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "diazepam": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir" + ], + "termIds": ["alcohol", "barbiturates", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "lorazepam": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir" + ], + "termIds": ["alcohol", "barbiturates", "opioids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "midazolam": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["fentanyl", "morphine-sr-mr"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["clarithromycin"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "nitrazepam": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir" + ], + "termIds": ["alcohol", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["clarithromycin"], + "termIds": ["azole-antifungals", "cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "oxazepam": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir" + ], + "termIds": ["alcohol", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "low", + "counterparties": ["amiodarone", "clarithromycin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "temazepam": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir" + ], + "termIds": ["alcohol", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "zolpidem": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": ["alcohol"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "zopiclone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": ["alcohol", "cns-depressants"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["erythromycin"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "atomoxetine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["fluoxetine", "paroxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["phenelzine", "tranylcypromine"], + "termIds": ["maois"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "dexamfetamine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tranylcypromine"], + "termIds": ["maois"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "guanfacine-mr": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["carbamazepine", "clarithromycin"], + "termIds": ["azole-antifungals", "cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amlodipine", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "diltiazem", + "eplerenone", + "felodipine", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "nifedipine-xr", + "perindopril", + "spironolactone", + "verapamil" + ], + "termIds": ["antihypertensives", "cns-depressants"], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "lisdexamfetamine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tranylcypromine"], + "termIds": ["maois"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["ascorbic-acid"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "methylphenidate": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tranylcypromine"], + "termIds": ["maois"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amitriptyline", + "atomoxetine", + "clomipramine", + "desvenlafaxine", + "doxepin", + "duloxetine", + "imipramine", + "nortriptyline", + "tramadol-ir", + "venlafaxine-xr" + ], + "termIds": ["snris", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "alimemazine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["alcohol", "benzodiazepines", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amisulpride", + "amitriptyline", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "benzatropine", + "brexpiprazole", + "cariprazine", + "chlorpromazine", + "clomipramine", + "clozapine", + "doxepin", + "flupentixol-decanoate", + "haloperidol-decanoate", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "imipramine", + "levomepromazine", + "lurasidone", + "nortriptyline", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "orphenadrine", + "oxybutynin", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "solifenacin", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["anticholinergics", "antipsychotics", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "benzatropine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alimemazine", + "amitriptyline", + "cetirizine", + "clomipramine", + "clozapine", + "cyclizine", + "diphenhydramine", + "doxepin", + "fexofenadine", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "imipramine", + "loratadine", + "nortriptyline", + "orphenadrine", + "oxybutynin", + "promethazine", + "solifenacin" + ], + "termIds": ["anticholinergics", "antihistamines", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "cyproheptadine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["alcohol", "benzodiazepines", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amisulpride", + "amitriptyline", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "benzatropine", + "brexpiprazole", + "cariprazine", + "chlorpromazine", + "clomipramine", + "clozapine", + "doxepin", + "flupentixol-decanoate", + "haloperidol-decanoate", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "imipramine", + "levomepromazine", + "lurasidone", + "nortriptyline", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "orphenadrine", + "oxybutynin", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "solifenacin", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["anticholinergics", "antipsychotics", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "dexmedetomidine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "amiodarone", + "atenolol", + "bisoprolol", + "carvedilol", + "digoxin", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "codeine", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "methadone", + "morphine-ir-iv", + "morphine-sr-mr", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "tramadol-ir" + ], + "termIds": ["opioids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "droperidol": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiodarone", + "azithromycin", + "clarithromycin", + "erythromycin", + "roxithromycin", + "sotalol" + ], + "termIds": ["macrolides"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["benzodiazepines", "opioids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "ketamine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["benzodiazepines", "opioids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "levomepromazine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["benzodiazepines", "opioids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "propranolol": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["diltiazem", "verapamil"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["adrenaline-epinephrine"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "ziprasidone-im": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiodarone", + "azithromycin", + "clarithromycin", + "droperidol", + "erythromycin", + "roxithromycin" + ], + "termIds": ["macrolides", "qtc-prolonging"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amlodipine", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "diltiazem", + "eplerenone", + "felodipine", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "nifedipine-xr", + "perindopril", + "spironolactone", + "verapamil" + ], + "termIds": ["antihypertensives"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "agomelatine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["ciprofloxacin", "fluvoxamine"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": ["smoking"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "amitriptyline": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tramadol-ir", "tranylcypromine"], + "termIds": ["maois"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "benzatropine", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "orphenadrine", + "oxybutynin", + "promethazine", + "solifenacin" + ], + "termIds": ["anticholinergics"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 2, + "severity": "high", + "counterparties": ["clomipramine", "doxepin", "fluoxetine", "imipramine", "nortriptyline", "paroxetine"], + "termIds": ["cyp-inhibitors", "tcas"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "citalopram": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["amiodarone", "sotalol"], + "termIds": ["qtc-prolonging"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "clomipramine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "citalopram", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "paroxetine", + "phenelzine", + "sertraline", + "tramadol-ir", + "tranylcypromine" + ], + "termIds": ["maois", "ssris"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["fluoxetine", "paroxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "desvenlafaxine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tramadol-ir", "tranylcypromine"], + "termIds": ["maois", "st-johns-wort"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "safe", + "counterparties": ["atorvastatin", "rosuvastatin", "venlafaxine-xr"], + "termIds": ["statins"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "dosulepin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tramadol-ir", "tranylcypromine"], + "termIds": ["alcohol", "maois"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["fluoxetine", "paroxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "doxepin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["alcohol", "benzodiazepines", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["paroxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "duloxetine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tramadol-ir", "tranylcypromine"], + "termIds": ["maois"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["ciprofloxacin", "fluvoxamine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "escitalopram": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["amiodarone", "sotalol"], + "termIds": ["qtc-prolonging"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 2, + "severity": "high", + "counterparties": ["aspirin", "diclofenac", "ibuprofen", "ketorolac", "meloxicam", "naproxen"], + "termIds": ["nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 2 + }, + "fluoxetine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amitriptyline", + "clomipramine", + "codeine", + "doxepin", + "imipramine", + "metoprolol", + "nortriptyline", + "risperidone", + "risperidone-lai", + "tramadol-ir" + ], + "termIds": ["tcas"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["aspirin", "diclofenac", "ibuprofen", "ketorolac", "meloxicam", "naproxen"], + "termIds": ["nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "fluvoxamine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["agomelatine", "clozapine", "duloxetine"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "imipramine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tramadol-ir", "tranylcypromine"], + "termIds": ["maois"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["fluoxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "mirtazapine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["alcohol", "benzodiazepines", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "moderate", + "counterparties": [ + "citalopram", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "paroxetine", + "phenelzine", + "sertraline", + "tramadol-ir", + "tranylcypromine" + ], + "termIds": ["maois", "ssris"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "moclobemide": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["citalopram", "escitalopram", "fluoxetine", "fluvoxamine", "paroxetine", "sertraline"], + "termIds": ["ssris"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "nortriptyline": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tramadol-ir", "tranylcypromine"], + "termIds": ["maois"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["bupropion-sr", "fluoxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "paroxetine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["codeine", "metoprolol", "risperidone", "risperidone-lai", "tramadol-ir"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "phenelzine": { + "rows": [ + { + "rowKey": "Dietary", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["noradrenaline"], + "termIds": ["food"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "adrenaline-epinephrine", + "amitriptyline", + "citalopram", + "clomipramine", + "doxepin", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "imipramine", + "nortriptyline", + "paroxetine", + "sertraline", + "tramadol-ir" + ], + "termIds": ["ssris", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "reboxetine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tranylcypromine"], + "termIds": ["maois"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["clarithromycin"], + "termIds": ["azole-antifungals", "cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "sertraline": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tapentadol-sr", "tramadol-ir", "tranylcypromine"], + "termIds": ["maois", "st-johns-wort"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "aspirin", + "citalopram", + "diclofenac", + "escitalopram", + "esomeprazole", + "fluoxetine", + "fluvoxamine", + "ibuprofen", + "ketorolac", + "meloxicam", + "naproxen", + "pantoprazole", + "paroxetine" + ], + "termIds": ["nsaids", "ppis", "ssris"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "tranylcypromine": { + "rows": [ + { + "rowKey": "Dietary", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": ["food"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "critical", + "counterparties": [ + "citalopram", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "paroxetine", + "sertraline", + "tramadol-ir" + ], + "termIds": ["ssris"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "venlafaxine-xr": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenelzine", "tramadol-ir", "tranylcypromine"], + "termIds": ["maois", "st-johns-wort"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["aspirin", "diclofenac", "ibuprofen", "ketorolac", "meloxicam", "naproxen"], + "termIds": ["nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "vortioxetine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["bupropion-sr", "fluoxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["carbamazepine"], + "termIds": ["cyp-inducers"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 2, + "severity": "moderate", + "counterparties": ["tramadol-ir"], + "termIds": ["st-johns-wort"], + "resolved": true + } + ], + "unresolvedRowCount": 2 + }, + "aripiprazole": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["aripiprazole-lai", "clarithromycin", "fluoxetine", "paroxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["aripiprazole-lai", "carbamazepine", "phenytoin"], + "termIds": ["cyp-inducers"], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "clozapine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": ["smoking"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["ciprofloxacin", "fluvoxamine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "olanzapine-wafer-odt": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["benzodiazepines", "cns-depressants", "opioids"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["olanzapine-pamoate-lai"], + "termIds": ["smoking"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "quetiapine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["phenytoin"], + "termIds": ["cyp-inducers", "cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amlodipine", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "diltiazem", + "eplerenone", + "felodipine", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "nifedipine-xr", + "perindopril", + "spironolactone", + "verapamil" + ], + "termIds": ["antihypertensives"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "risperidone": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["bupropion-sr", "fluoxetine", "paroxetine", "risperidone-lai"], + "termIds": ["cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amlodipine", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "diltiazem", + "eplerenone", + "felodipine", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "nifedipine-xr", + "perindopril", + "spironolactone", + "verapamil" + ], + "termIds": ["antihypertensives"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "aripiprazole-lai": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["clarithromycin", "fluoxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["carbamazepine"], + "termIds": ["cyp-inducers"], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "flupentixol-decanoate": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": ["qtc-prolonging"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["paroxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "haloperidol-decanoate": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["amiodarone", "azithromycin", "clarithromycin", "erythromycin", "roxithromycin"], + "termIds": ["macrolides", "qtc-prolonging"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "olanzapine-pamoate-lai": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["benzodiazepines", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": ["smoking"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "paliperidone-lai": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amlodipine", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "diltiazem", + "eplerenone", + "felodipine", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "nifedipine-xr", + "perindopril", + "spironolactone", + "verapamil" + ], + "termIds": ["antihypertensives"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "risperidone-lai": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["fluoxetine", "paroxetine", "risperidone"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "zuclopenthixol-acetate": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "clonazepam", + "diazepam", + "lorazepam", + "midazolam", + "nitrazepam", + "oxazepam", + "temazepam" + ], + "termIds": ["benzodiazepines"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "zuclopenthixol-decanoate": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["benzodiazepines", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amlodipine", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "diltiazem", + "eplerenone", + "felodipine", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "nifedipine-xr", + "perindopril", + "spironolactone", + "verapamil" + ], + "termIds": ["antihypertensives"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "lithium-carbonate-ir-sr": { + "rows": [ + { + "rowKey": "Triple Whammy (Lithium version)", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "aspirin", + "candesartan", + "diclofenac", + "ertapenem", + "hydrochlorothiazide", + "ibuprofen", + "indapamide", + "ketorolac", + "meloxicam", + "meropenem", + "naproxen", + "perindopril" + ], + "termIds": ["acei", "arbs", "nsaids", "thiazide-diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "oxcarbazepine": { + "rows": [ + { + "rowKey": "Endocrine", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["phenytoin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "amisulpride": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["levodopa-benserazide"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amiodarone", + "citalopram", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "paroxetine", + "sertraline" + ], + "termIds": ["ssris"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 2, + "severity": "safe", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "asenapine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["ciprofloxacin", "fluvoxamine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amlodipine", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "diltiazem", + "eplerenone", + "felodipine", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "nifedipine-xr", + "perindopril", + "spironolactone", + "verapamil" + ], + "termIds": ["antihypertensives", "cns-depressants"], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "brexpiprazole": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["clarithromycin", "fluoxetine", "paroxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "cariprazine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["carbamazepine", "clarithromycin"], + "termIds": ["azole-antifungals", "cyp-inducers", "cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "chlorpromazine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "clonazepam", + "codeine", + "diazepam", + "fentanyl", + "hydromorphone-ir-iv", + "loperamide", + "lorazepam", + "methadone", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "tapentadol-sr", + "temazepam", + "tramadol-ir" + ], + "termIds": ["benzodiazepines", "opioids"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amitriptyline", + "benzatropine", + "clomipramine", + "doxepin", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "imipramine", + "nortriptyline", + "orphenadrine", + "oxybutynin", + "solifenacin" + ], + "termIds": ["anticholinergics", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "lurasidone": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["clarithromycin", "diltiazem"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "paliperidone-er": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "safe", + "counterparties": ["fluoxetine", "paroxetine", "risperidone", "risperidone-lai"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "periciazine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "amlodipine", + "atenolol", + "bisoprolol", + "buprenorphine-naloxone", + "buprenorphine-patch", + "buprenorphine-sl-depot", + "candesartan", + "carvedilol", + "clonazepam", + "codeine", + "diazepam", + "diltiazem", + "eplerenone", + "felodipine", + "fentanyl", + "frusemide", + "hydrochlorothiazide", + "hydromorphone-ir-iv", + "indapamide", + "labetalol", + "loperamide", + "lorazepam", + "methadone", + "metoprolol", + "midazolam", + "morphine-ir-iv", + "morphine-sr-mr", + "nifedipine-xr", + "nitrazepam", + "oxazepam", + "oxycodone-ir", + "oxycodone-sr-mr", + "perindopril", + "spironolactone", + "tapentadol-sr", + "temazepam", + "tramadol-ir", + "verapamil" + ], + "termIds": ["antihypertensives", "benzodiazepines", "opioids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "trifluoperazine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": ["qtc-prolonging"], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["citalopram", "escitalopram", "fluoxetine", "fluvoxamine", "paroxetine", "sertraline"], + "termIds": ["ssris"], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "ziprasidone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amitriptyline", + "citalopram", + "clomipramine", + "doxepin", + "escitalopram", + "fluoxetine", + "fluvoxamine", + "imipramine", + "nortriptyline", + "paroxetine", + "sertraline" + ], + "termIds": ["ssris", "tcas"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["carbamazepine"], + "termIds": ["azole-antifungals", "cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "zuclopenthixol": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["bupropion-sr", "fluoxetine", "paroxetine"], + "termIds": ["cyp-inhibitors"], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": ["cns-depressants"], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "beclometasone": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "moderate", + "counterparties": ["fluticasone"], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "budesonide": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "ciclesonide": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "fluticasone": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": ["cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "formoterol": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "beclometasone", + "betamethasone", + "budesonide", + "ciclesonide", + "clobetasol", + "dexamethasone", + "fludrocortisone", + "fluticasone", + "hydrochlorothiazide", + "hydrocortisone", + "hydrocortisone-1", + "indapamide", + "methylprednisolone", + "mometasone", + "prednisolone", + "prednisone", + "triamcinolone" + ], + "termIds": ["corticosteroids", "thiazide-diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "ipratropium": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "moderate", + "counterparties": [ + "alimemazine", + "amisulpride", + "amitriptyline", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "benzatropine", + "brexpiprazole", + "cariprazine", + "cetirizine", + "chlorpromazine", + "clomipramine", + "clozapine", + "cyclizine", + "diphenhydramine", + "doxepin", + "fexofenadine", + "flupentixol-decanoate", + "haloperidol-decanoate", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "imipramine", + "levomepromazine", + "loratadine", + "lurasidone", + "nortriptyline", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "orphenadrine", + "oxybutynin", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "promethazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "solifenacin", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["anticholinergics", "antihistamines", "antipsychotics", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "mometasone": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "montelukast": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": ["phenytoin"], + "termIds": ["barbiturates"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "salbutamol": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "atenolol", + "bisoprolol", + "carvedilol", + "labetalol", + "metoprolol", + "propranolol", + "sotalol" + ], + "termIds": ["beta-blockers"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [ + "amiloride", + "eplerenone", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "spironolactone" + ], + "termIds": ["diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "tiotropium": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "moderate", + "counterparties": [ + "amitriptyline", + "benzatropine", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "ipratropium", + "orphenadrine", + "oxybutynin", + "solifenacin" + ], + "termIds": ["anticholinergics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "acetylcysteine": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "flumazenil": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alprazolam", + "amitriptyline", + "clomipramine", + "clonazepam", + "diazepam", + "doxepin", + "imipramine", + "lorazepam", + "midazolam", + "nitrazepam", + "nortriptyline", + "oxazepam", + "temazepam" + ], + "termIds": ["benzodiazepines", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "naloxone": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["buprenorphine-patch"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "dutasteride": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": ["azole-antifungals", "cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "finasteride": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "low", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "oxybutynin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "alimemazine", + "amisulpride", + "amitriptyline", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "benzatropine", + "brexpiprazole", + "cariprazine", + "cetirizine", + "chlorpromazine", + "clomipramine", + "clozapine", + "cyclizine", + "diphenhydramine", + "doxepin", + "fexofenadine", + "flupentixol-decanoate", + "haloperidol-decanoate", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "imipramine", + "levomepromazine", + "loratadine", + "lurasidone", + "nortriptyline", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "orphenadrine", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "promethazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "solifenacin", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["anticholinergics", "antihistamines", "antipsychotics", "tcas"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["metoclopramide"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "sildenafil": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["prazosin", "tamsulosin"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 2, + "severity": "high", + "counterparties": ["clarithromycin"], + "termIds": ["cyp-inhibitors", "grapefruit"], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "solifenacin": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": ["azole-antifungals"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "moderate", + "counterparties": [ + "amisulpride", + "amitriptyline", + "aripiprazole", + "aripiprazole-lai", + "asenapine", + "benzatropine", + "brexpiprazole", + "cariprazine", + "chlorpromazine", + "clomipramine", + "clozapine", + "doxepin", + "flupentixol-decanoate", + "haloperidol-decanoate", + "hyoscine-butylbromide", + "hyoscine-hydrobromide", + "imipramine", + "levomepromazine", + "lurasidone", + "nortriptyline", + "olanzapine-pamoate-lai", + "olanzapine-wafer-odt", + "orphenadrine", + "oxybutynin", + "paliperidone-er", + "paliperidone-lai", + "periciazine", + "quetiapine", + "risperidone", + "risperidone-lai", + "trifluoperazine", + "ziprasidone", + "ziprasidone-im", + "zuclopenthixol", + "zuclopenthixol-acetate", + "zuclopenthixol-decanoate" + ], + "termIds": ["anticholinergics", "antipsychotics", "tcas"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "tadalafil": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["tamsulosin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "tamsulosin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "amlodipine", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "diltiazem", + "eplerenone", + "felodipine", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "nifedipine-xr", + "perindopril", + "sildenafil", + "spironolactone", + "verapamil" + ], + "termIds": ["antihypertensives"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["clarithromycin"], + "termIds": ["azole-antifungals", "cyp-inhibitors"], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "ascorbic-acid": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "beneficial", + "counterparties": ["iron"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "calcium-carbonate": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["ciprofloxacin", "iron", "levothyroxine", "moxifloxacin", "norfloxacin"], + "termIds": ["fluoroquinolones"], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["hydrochlorothiazide", "indapamide"], + "termIds": ["thiazide-diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "copper": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "folic-acid": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["methotrexate"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["phenytoin"], + "termIds": ["barbiturates"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "iodine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "iron": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["calcium-carbonate", "magnesium-oxide"], + "termIds": ["acidic-drinks", "antacids", "food"], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "critical", + "counterparties": ["ciprofloxacin", "doxycycline", "levodopa-benserazide"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 2, + "severity": "beneficial", + "counterparties": ["ascorbic-acid"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "magnesium-oxide": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["ciprofloxacin", "doxycycline", "moxifloxacin", "norfloxacin"], + "termIds": ["fluoroquinolones"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "magnesium-sulfate": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["amlodipine", "nifedipine-xr"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacodynamic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "niacin-nicotinamide": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["atorvastatin", "rosuvastatin"], + "termIds": ["statins"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "potassium-chloride": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "amiloride", + "aspirin", + "candesartan", + "diclofenac", + "ertapenem", + "ibuprofen", + "ketorolac", + "meloxicam", + "meropenem", + "naproxen", + "perindopril", + "spironolactone" + ], + "termIds": ["acei", "arbs", "nsaids"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "pyridoxine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": ["levodopa-benserazide"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "riboflavin": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "unknown", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "selenium": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "none", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "sodium-chloride": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "high", + "counterparties": [ + "amiloride", + "amlodipine", + "atenolol", + "bisoprolol", + "candesartan", + "carvedilol", + "diltiazem", + "eplerenone", + "felodipine", + "frusemide", + "hydrochlorothiazide", + "indapamide", + "labetalol", + "metoprolol", + "nifedipine-xr", + "perindopril", + "spironolactone", + "verapamil" + ], + "termIds": ["antihypertensives", "diuretics"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "thiamine": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "none", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "vitamin-a": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 2 + }, + "vitamin-b12": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": ["colchicine", "esomeprazole", "metformin", "pantoprazole"], + "termIds": ["ppis"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "vitamin-d": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "moderate", + "counterparties": ["carbamazepine", "phenytoin"], + "termIds": [], + "resolved": true + } + ], + "unresolvedRowCount": 1 + }, + "vitamin-e": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": [ + "apixaban", + "aspirin", + "clopidogrel", + "dabigatran", + "dalteparin", + "dipyridamole", + "edoxaban", + "enoxaparin", + "heparin-iv-sc", + "rivaroxaban", + "ticagrelor", + "warfarin-anticoagulant", + "warfarin-vka" + ], + "termIds": ["anticoagulants"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + }, + "vitamin-k": { + "rows": [ + { + "rowKey": "Pharmacodynamic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["warfarin-anticoagulant", "warfarin-vka"], + "termIds": [], + "resolved": true + }, + { + "rowKey": "Pharmacokinetic", + "rowIndex": 1, + "severity": "high", + "counterparties": [], + "termIds": [], + "resolved": false + } + ], + "unresolvedRowCount": 1 + }, + "zinc-sulfate": { + "rows": [ + { + "rowKey": "Pharmacokinetic", + "rowIndex": 0, + "severity": "critical", + "counterparties": ["ciprofloxacin", "doxycycline", "moxifloxacin", "norfloxacin"], + "termIds": ["fluoroquinolones"], + "resolved": true + } + ], + "unresolvedRowCount": 0 + } + } +} diff --git a/docs/codebase-index.md b/docs/codebase-index.md index d66b4b52a..bf4d71e00 100644 --- a/docs/codebase-index.md +++ b/docs/codebase-index.md @@ -331,6 +331,7 @@ One shared composer (`master-search-header.tsx`) serves every mode. Placement: - **Intentionally composer-free routes**: `/differentials/presentations/*` and `/differentials/compare` (comparison workflow owns its chrome), `/documents/[id]` viewer (has its own in-document ask composer), `/documents/source/*` (document flow owns mobile chrome). Do not re-flag these in search-consistency audits. - **Shared in-page navigation**: `src/components/in-page-nav/` is the default template for section navigation on any mode page (`docs/search-chrome-behaviour.md`). `in-page-nav-header.tsx` (`InPageNavHeader`) owns the header row, both sheets and the `PhoneHeaderCollapsePortal` wrapper; `page-section-index.ts` (`PageSection`, `toDocumentSections`, `sectionTargetIds`) is the declaration shape; `use-resolved-page-sections.ts` narrows a declaration to the anchors actually rendered at this breakpoint; `use-in-page-section-nav.ts` composes that with `useDocumentSectionSpy` and `jumpToDocumentSection`; `use-page-section-weights.ts` measures segment weights; `use-in-page-chrome-metrics.ts` publishes `--inpage-anchor-offset`; `in-page-nav-classes.ts` holds the shared anchor (`inPageAnchor`) and actions-sheet row classes; `in-page-section-rail.tsx` (`InPageSectionRail`) is the optional visible second rail, opted into with `rail={{ label }}` by panel-swap routes with few sections (medications only) in place of the weighted track. Anchor measurement itself is `src/components/sticky-chrome-metrics.ts` (`useStickyChromeMetrics`), shared with the document viewer's `use-document-chrome-metrics.ts`. Mounted by `differentials/differential-detail-page.tsx`, `services/service-detail-page.tsx`, `forms/form-detail-page.tsx`, `dsm/dsm-differential-considerations-page.tsx`, and — through a colocated `"use client"` nav-header sibling that owns and exports the route's section table — `specifiers/specifier-nav-header.tsx`, `formulation/formulation-nav-header.tsx`, `dsm/dsm-diagnosis-nav-header.tsx`, `factsheets/factsheet-nav-header.tsx` and `clinical-dashboard/medication-nav-header.tsx`. The sibling is mandatory for the four Server Component pages (neither `onSelectSection` nor a `LucideIcon` crosses the RSC boundary) and the convention for the rest. Two adopters swap panels instead of scrolling — `differential-detail-page.tsx` and the medication record page — so they pass explicit weights, carry no `inPageAnchor`, and use neither `useResolvedPageSections` nor the scroll spy. Every declared section is pinned against rendered DOM by `tests/in-page-nav-route-sections.dom.test.tsx` (anchors for the scrolling routes, swapped-in panels for the tab routes). - **Shared secondary navigation**: `src/components/page-secondary-navigation.tsx` (`PageSecondaryNavigation`, mode destinations only). Mode destinations come from `src/lib/mode-secondary-navigation.ts` (`modeSecondaryNavigationRegistry`, no "Home" item). `GlobalSearchShell` renders it in normal flow at the top of `#main-content` for its owned namespaced modes; it self-suppresses on clean mode homes, on Therapy Compass, and on every information page — `hasLocalInformationPageNavigation` is now just `isInformationPage`, because each of those routes owns its own in-page navigation. The older shared `SecondaryNavigation` component was deleted here (`/issues #271`): its `section` kind and "On this page" pill rail went when the last six information routes moved onto `InPageNavHeader`, and the surviving `route`/`action` kinds had no production constructor left — `RegistryModeNav` renders `ModeNav`, not `SecondaryNavigation`, so the only remaining caller was its own test file, which went with it. +- **Patient context (decision support)**: the app's patient-specific surface, spanning two engines over one session-scoped profile. Store: `src/lib/patient-profile-storage.ts` (sessionStorage external store, anonymous physiology + catalogue medication slugs, cleared on tab close) behind `clinical-dashboard/patient-profile-context.tsx` (`PatientProfileProvider`, mounted for the whole shell). Engines: `src/lib/medication-patient-alerts.ts` (physiology — age/renal/hepatic/QTc/pregnancy/allergy, with an `unassessed` fail-safe) and `src/lib/medication-interactions.ts` (drug–drug, against the entered medication list). The interaction engine reads the generated `data/medication-interaction-index.json`, built by `scripts/build-medication-interaction-index.ts` (`npm run medications:interactions`, staleness-gated by `check:medication-interactions`) from the curated `src/lib/medication-interaction-lexicon.ts` — the catalogue's `Key Interactions` rows are prose, and that lexicon is what resolves their class/mechanism/non-drug terms to catalogue targets. `composeMedicationVerdict` folds both engines into the one tone a result row wears; **green is unreachable whenever either engine left something unassessed or unresolved**, degrading to a neutral "needs manual review" instead. UI: `clinical-dashboard/patient-profile-panel.tsx` (the form, including the medication picker), `medication-considerations.tsx` (both detail-page blocks and the verdict badge/edge helpers), and `patient-details-dock-action.tsx` (the phone dock pill — see the addon-slot section of `docs/search-chrome-behaviour.md`). Regulatory status is **open**: `docs/samd-classification-medication-considerations.md`. - **Local filter fields** (sidebar "Search chats", document drawer "Find a document"/"Find a source PDF") are scoped filters, not global search; they share the `fieldControlWithIcon`/`fieldIcon` primitives. - **Wiring conventions** for buttons and route navigation (and the gates that enforce them — the dead-button ESLint rule and the orphan-route reachability test) live in `docs/wiring-conventions.md`. diff --git a/docs/design-system/COMPONENTS.md b/docs/design-system/COMPONENTS.md index c47a0ff21..b03bdbddb 100644 --- a/docs/design-system/COMPONENTS.md +++ b/docs/design-system/COMPONENTS.md @@ -955,7 +955,7 @@ tests to run. Registered public components: 54 Components with a valid design-sync preview: 54 -Components with product imports: 31 +Components with product imports: 32 This generated snapshot is a local source-derived inventory. It does not assert remote design-project publication. @@ -973,7 +973,7 @@ This generated snapshot is a local source-derived inventory. It does not assert | `CitationList` | source | yes | yes | no | yes | no | 0 | | `ConfirmDialog` | layout | yes | yes | no | yes | no | 0 | | `DateDisplay` | source | yes | yes | inherited-global-root | yes | no | 3 | -| `Disclosure` | layout | yes | yes | no | yes | no | 0 | +| `Disclosure` | layout | yes | yes | inherited-global-root | yes | no | 1 | | `DisclosureGroup` | layout | yes | yes | inherited-global-root | yes | no | 1 | | `DoseLine` | answer | yes | yes | no | yes | no | 0 | | `DownloadLink` | controls | yes | yes | no | yes | no | 0 | @@ -1001,7 +1001,7 @@ This generated snapshot is a local source-derived inventory. It does not assert | `SearchField` | controls | yes | yes | no | yes | no | 0 | | `SegmentedControl` | controls | yes | yes | inherited-global-root | yes | no | 8 | | `Select` | controls | yes | yes | inherited-global-root | yes | no | 2 | -| `Sheet` | layout | yes | yes | inherited-global-root | yes | no | 26 | +| `Sheet` | layout | yes | yes | inherited-global-root | yes | no | 27 | | `Skeleton` | feedback | yes | yes | inherited-global-root | yes | no | 6 | | `SourceDesignationBadge` | source | yes | yes | inherited-global-root | yes | no | 1 | | `SourceProvenance` | source | yes | yes | inherited-global-root | yes | no | 1 | diff --git a/docs/design-system/adoption-manifest.json b/docs/design-system/adoption-manifest.json index 659ee5b87..72c707356 100644 --- a/docs/design-system/adoption-manifest.json +++ b/docs/design-system/adoption-manifest.json @@ -524,8 +524,8 @@ "source": "src/components/ui/disclosure.tsx", "sourceExported": true, "entryExported": true, - "directImportFiles": [], - "productImportFiles": [], + "directImportFiles": ["src/components/clinical-dashboard/medication-considerations.tsx"], + "productImportFiles": ["src/components/clinical-dashboard/medication-considerations.tsx"], "designSync": { "listedInSourceMap": true, "listedInDtsProps": true, @@ -534,6 +534,7 @@ }, "testFiles": [ "tests/design-sync-visual-exports.test.ts", + "tests/medication-interaction-surfaces.dom.test.tsx", "tests/ui-forms-section-nav.spec.ts", "tests/ui-v2-components.dom.test.tsx" ], @@ -545,8 +546,8 @@ }, "built": true, "locallyRegistered": true, - "v2ShellMounted": false, - "v2MountMode": "none", + "v2ShellMounted": true, + "v2MountMode": "inherited-global-root", "proofDeclared": true, "baselineCommitted": false }, @@ -1499,6 +1500,7 @@ "src/components/clinical-dashboard/master-search-header.tsx", "src/components/clinical-dashboard/medication-record-page.tsx", "src/components/clinical-dashboard/mode-action-popup.tsx", + "src/components/clinical-dashboard/patient-details-dock-action.tsx", "src/components/clinical-dashboard/result-filter-control.tsx", "src/components/clinical-dashboard/settings-dialog.tsx", "src/components/differentials/diagnosis-map-panel.tsx", @@ -1528,6 +1530,7 @@ "src/components/clinical-dashboard/master-search-header.tsx", "src/components/clinical-dashboard/medication-record-page.tsx", "src/components/clinical-dashboard/mode-action-popup.tsx", + "src/components/clinical-dashboard/patient-details-dock-action.tsx", "src/components/clinical-dashboard/result-filter-control.tsx", "src/components/clinical-dashboard/settings-dialog.tsx", "src/components/differentials/diagnosis-map-panel.tsx", @@ -3393,7 +3396,7 @@ "summary": { "registeredComponentCount": 54, "previewCount": 54, - "productImportedComponentCount": 31, + "productImportedComponentCount": 32, "rootCount": 59, "productionRouteCount": 51, "nextUiEntryCount": 103 diff --git a/docs/samd-classification-medication-considerations.md b/docs/samd-classification-medication-considerations.md index dcd1a1035..002ebbfa7 100644 --- a/docs/samd-classification-medication-considerations.md +++ b/docs/samd-classification-medication-considerations.md @@ -19,6 +19,45 @@ This is the app's first **patient-specific decision-support surface**: output is tailored to individual patient parameters rather than presenting the same reference content to everyone. +### Scope widened: drug–drug interaction alerting + +A later change extended the same profile with the patient's **current medication +list** and added interaction alerting against it: + +- `PatientProfile.medications` (catalogue slugs, same session-scoped store). +- A generated, reviewable index (`data/medication-interaction-index.json`, built + by `scripts/build-medication-interaction-index.ts` from a curated lexicon) + resolving the catalogue's prose `Key Interactions` rows to catalogue targets. +- `src/lib/medication-interactions.ts`, which matches those rows against the + entered list and returns severity-toned findings. +- Red/amber/green/grey verdict edges on prescribing result rows, and a matched + -interactions block on the medication detail page. + +This is a **material widening** of the question this note is open on. Interaction +checking is a canonical clinical-decision-support function, and unlike the +physiology considerations it produces an alert about a specific _combination_ the +clinician has entered. The reviewer's questions below should be answered for this +surface too, not only for the original considerations feature. + +Mitigations specific to the interaction surface: + +- Green never means "safe". It means "no interaction found among the medications + you entered", and is unreachable whenever any interaction row on that + medication could not be machine-resolved — those degrade to a neutral + "N rows need manual review" state instead (`composeMedicationVerdict`). +- Every alert renders the **verbatim** catalogue row text; the tool never + paraphrases a clinical statement. +- The medication picker accepts catalogue drugs only, so a clinician cannot type + a drug the tool has no data for and read the resulting silence as an all-clear. +- Colour is never the only channel: each verdict also carries an icon and a text + label. + +Residual risk the reviewer should weigh: the lexicon is hand-curated, so a missed +term is a false negative. It is fail-safe by construction (unresolved → grey, not +green) but the resolution rate is not 100% — currently 400 of 523 rows resolve, +and `tests/medication-interaction-lexicon-coverage.test.ts` ratchets that figure +so it cannot silently regress. + ## Why this needs a classification decision Software that provides patient-specific treatment/prescribing recommendations diff --git a/docs/scripts-index.md b/docs/scripts-index.md index 512fa0b69..54004edc8 100644 --- a/docs/scripts-index.md +++ b/docs/scripts-index.md @@ -1,6 +1,6 @@ # Scripts index -Curated map of `scripts/` (232 files) and the `package.json` script surface (240 entries), +Curated map of `scripts/` (233 files) and the `package.json` script surface (242 entries), grouped by purpose. This is orientation, not an exhaustive per-file listing — the authoritative command list is `package.json`, and `npm run docs:check-scripts` verifies every `npm run ` referenced in docs resolves to a real script. `npm run docs:update` refreshes the exact counts above. diff --git a/docs/search-chrome-behaviour.md b/docs/search-chrome-behaviour.md index 43ba61f38..b96f9094a 100644 --- a/docs/search-chrome-behaviour.md +++ b/docs/search-chrome-behaviour.md @@ -580,6 +580,46 @@ Coverage: `tests/header-scroll-hide-contract.test.ts` (wiring), `tests/use-hide- Run `npm run verify:phone-chrome` for phone-chrome work. For executable changes its classifier checks installed/lock parity first, runs focused static contracts and only the browser/PWA owners and route journeys implicated by the changed files, then escalates to `npm run verify:ui` automatically for shared chrome foundations. Documentation-only scopes run only documentation guards. Use `-- --dry-run` to inspect the plan, `-- --files ` for an explicit scope, and `-- --full=always|never` only for a deliberate override. +## Phone dock addon slot (page-owned action above the pill) + +A page may dock **one** action row above the phone search pill. It is not a +floating element: it portals into a slot rendered _inside_ the dock's `
` +(`master-search-header.tsx`), so it inherits the dock's `position: fixed`, +z-index, safe-area padding and scroll-hide transform. There is no bottom-offset +arithmetic and no second scroll listener anywhere in an addon. + +Two claimants exist, and they are mutually exclusive by surface: + +| Addon kind | Slot id | Claimed by | +| ----------------------- | ----------------------------------------- | ----------------------------------------------------------- | +| `differentials-compare` | `differentials-mobile-compare-addon-slot` | Differentials submitted search / `/differentials/diagnoses` | +| `patient-details` | `patient-details-addon-slot` | Prescribing submitted search (dashboard-owned) | + +Rules: + +- **One addon at a time.** `data-footer-addon` is a single attribute value, and + the backdrop scrim height, the hide-transform overshoot and the content reserve + all key off it. Register a new kind in `PhoneDockAddonKind` + (`src/lib/mode-home-composer.ts`) and prove exclusivity in + `tests/phone-dock-addon-contract.test.ts`. +- **Four numbers move together** for every kind: the `--phone-dock--clearance` + and `-compact-clearance` tokens, the matching reserve constant and resolver + branches in `mobile-composer-reserve.ts`, the two backdrop scrim heights, and the + `[data-scroll-hidden="true"]` transform overshoot that stops a subpixel strip + peeping at the viewport edge. +- **Only claim the addon where the pill actually mounts.** The reserve inflates on + the claim, not on the render, so claiming a route whose component never mounts + opens a blank band at the bottom. `/medications` is a standalone mode home with + the composer in the hero and no dock at all; `/medications/[slug]` already opens + the patient sheet from its own nav header, so neither claims the addon. +- **Gate the portal at 639px**, matching `.phone-footer-layer`'s `sm:fixed`. The two + Compare bars gate at 1023px, which between 640–1023px portals into a slot on a + form that is not fixed. Do not copy that. + +Coverage: `tests/phone-dock-addon-contract.test.ts` (registry, exclusivity, CSS/TS +value parity), `tests/patient-details-dock-action.dom.test.tsx` (portal target, +breakpoint, sheet wiring). + ## Change checklist Before changing search bar behaviour: diff --git a/package.json b/package.json index 065f9165b..a1fe7907a 100644 --- a/package.json +++ b/package.json @@ -178,6 +178,8 @@ "differentials:seed": "node scripts/run-tsx.mjs scripts/seed-differential-records.ts", "medications:import": "node scripts/run-tsx.mjs scripts/import-medications-export.ts", "medications:seed": "node scripts/run-tsx.mjs scripts/seed-medication-records.ts", + "medications:interactions": "node scripts/run-tsx.mjs scripts/build-medication-interaction-index.ts", + "check:medication-interactions": "node scripts/run-tsx.mjs scripts/build-medication-interaction-index.ts --check", "reindex": "node scripts/run-tsx.mjs scripts/reindex.ts", "reindex:health": "node scripts/run-tsx.mjs scripts/reindex-health.ts", "ingestion:autopilot": "node scripts/run-tsx.mjs scripts/ingestion-autopilot.ts", diff --git a/scripts/build-medication-interaction-index.ts b/scripts/build-medication-interaction-index.ts new file mode 100644 index 000000000..6eef27e8f --- /dev/null +++ b/scripts/build-medication-interaction-index.ts @@ -0,0 +1,253 @@ +// Builds `data/medication-interaction-index.json` from the medication catalogue +// snapshot plus the curated lexicon in `src/lib/medication-interaction-lexicon.ts`. + +import { readFileSync, writeFileSync } from "node:fs"; +import path from "node:path"; + +import { + INTERACTION_LEXICON, + LEXICON_SURFACES_BY_LENGTH, + UNENUMERATED_MECHANISM_TERM_IDS, + selectCatalogueSlugs, + type LexiconTerm, +} from "../src/lib/medication-interaction-lexicon"; +import type { MedicationRecord } from "../src/lib/medications"; + +const SNAPSHOT_PATH = "data/medications-snapshot.json"; +const OUTPUT_PATH = "data/medication-interaction-index.json"; + +const SEVERITY_BY_TOKEN: Record = { + CRITICAL: "critical", + HIGH: "high", + MODERATE: "moderate", + CAUTION: "caution", + LOW: "low", + NONE: "none", + SAFE: "safe", + BENEFICIAL: "beneficial", +}; + +const SEVERITY_PATTERN = /^\s*([A-Z][A-Z \-/]{2,30}?)\s*[—–-]\s*([\s\S]*)$/; +type IndexCounterparty = { slug: string; name: string; via: string }; +type IndexRow = { + rowKey: string; + rowIndex: number; + severity: string; + counterparties: string[]; + termIds: string[]; + resolved: boolean; +}; +type IndexEntry = { rows: IndexRow[]; unresolvedRowCount: number }; +type InteractionIndex = { + version: number; + generatedFrom: string; + sourceRowCount: number; + stats: { + resolvedRows: number; + unresolvedRows: number; + rowsWithCatalogueTarget: number; + medicationsWithUnresolvedRows: number; + }; + names: Record; + bySlug: Record; +}; + +const DOSAGE_FORM_TOKEN = + /^(ir|sr|xr|mr|cr|odt|lai|im|iv|sl|po|pr|depot|patch|wafer|nasal|mouth|spray|inhaler|topical|cream|gel|drops|syrup|liquid|injection|infusion|oral|buccal|sublingual|transdermal|suppository|tablet|capsule|lozenge|pamoate)$/i; + +function stripDosageForm(name: string): string { + const tokens = name.split(/\s+/).filter(Boolean); + while (tokens.length > 1) { + const last = tokens[tokens.length - 1]; + if (last === "/" || last === "-" || DOSAGE_FORM_TOKEN.test(last)) { + tokens.pop(); + continue; + } + break; + } + return tokens + .join(" ") + .replace(/[\s/-]+$/, "") + .trim(); +} + +function escapeRegExp(value: string): string { + return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); +} + +function mentions(haystack: string, needle: string): boolean { + const pattern = new RegExp(`(^|[^A-Za-z0-9])${escapeRegExp(needle)}(?![A-Za-z0-9])`, "i"); + return pattern.test(haystack); +} + +/** + * Extract clauses that actually declare counterparties. The first sentence is + * always considered. Later sentences are considered only when they themselves + * name a curated interaction term or catalogue drug before explanatory/mitigation + * prose. This preserves clinically material later clauses (for example + * methadone's CNS-depressant sentence) without scanning arbitrary advice such as + * "cover with PPI if combined". + */ +function counterpartySegments(value: string): { severityToken: string | null; segments: string[] } { + const match = SEVERITY_PATTERN.exec(value); + const severityToken = match ? match[1].trim() : null; + const body = (match ? match[2] : value).replace(/\*\*/g, "").trim(); + const sentences = body + .split(/(?<=[.;])\s+/) + .map((sentence) => sentence.trim()) + .filter(Boolean); + return { severityToken, segments: sentences.length ? sentences : [body] }; +} + +function stableJson(value: unknown): string { + return `${JSON.stringify(value, null, 2)}\n`; +} + +function sameJson(left: string, right: string): boolean { + try { + return JSON.stringify(JSON.parse(left)) === JSON.stringify(JSON.parse(right)); + } catch { + return false; + } +} + +function main(): void { + const checkOnly = process.argv.includes("--check"); + const snapshotPath = path.resolve(process.cwd(), SNAPSHOT_PATH); + const records = JSON.parse(readFileSync(snapshotPath, "utf8")) as MedicationRecord[]; + + const termSlugs = new Map(); + for (const term of INTERACTION_LEXICON) { + if (term.kind === "catalogue" && term.select) termSlugs.set(term.id, selectCatalogueSlugs(term.select, records)); + } + + const drugSurfaces = records + .flatMap((record) => { + // Keep three-character catalogue names/acronyms: `mentions` already + // enforces alphanumeric boundaries, so dropping them here only creates + // avoidable false negatives. Two-character route/form tokens remain below + // the floor to avoid indexing abbreviations such as IR/IM/IV as drugs. + const parts = record.name + .split("/") + .map((part) => part.trim()) + .filter((part) => part.length >= 3); + const surfaces = new Set(parts); + for (const part of parts) surfaces.add(stripDosageForm(part)); + surfaces.add(stripDosageForm(record.name)); + return Array.from(surfaces) + .filter((surface) => surface.length >= 3) + .map((surface) => ({ surface, slug: record.slug, name: record.name })); + }) + .sort((a, b) => b.surface.length - a.surface.length); + + const nameBySlug = new Map(records.map((record) => [record.slug, record.name])); + const bySlug: Record = {}; + let sourceRowCount = 0; + let resolvedRows = 0; + let unresolvedRows = 0; + let rowsWithCatalogueTarget = 0; + + for (const record of records) { + const rows: IndexRow[] = []; + for (const section of record.sections ?? []) { + if (section.type !== "inter") continue; + section.rows?.forEach((row, rowIndex) => { + sourceRowCount += 1; + const value = row.val ?? ""; + const { severityToken, segments } = counterpartySegments(value); + const severity = severityToken ? (SEVERITY_BY_TOKEN[severityToken] ?? "unknown") : "unknown"; + const counterparties = new Map(); + const termIds = new Set(); + let sawClassifiableTerm = false; + + for (const segment of segments) { + const segmentTermIds = new Set(); + const segmentCounterparties = new Map(); + const consumed: string[] = []; + for (const { surface, term } of LEXICON_SURFACES_BY_LENGTH) { + if (!mentions(segment, surface)) continue; + if (consumed.some((taken) => taken.includes(surface))) continue; + consumed.push(surface); + segmentTermIds.add(term.id); + addTermTargets(term, segmentCounterparties, record.slug); + } + for (const { surface, slug } of drugSurfaces) { + if (slug === record.slug || !mentions(segment, surface)) continue; + if (!segmentCounterparties.has(slug)) { + segmentCounterparties.set(slug, { slug, name: nameBySlug.get(slug) ?? slug, via: surface }); + } + } + + // Always accept the first sentence. Later sentences qualify only if + // they contain a recognised interaction term or catalogue counterparty. + if (segment === segments[0] || segmentTermIds.size > 0 || segmentCounterparties.size > 0) { + if (segmentTermIds.size > 0 || segmentCounterparties.size > 0) sawClassifiableTerm = true; + for (const id of segmentTermIds) termIds.add(id); + for (const [slug, target] of segmentCounterparties) counterparties.set(slug, target); + } + } + + const hasUnenumeratedMechanism = Array.from(termIds).some((id) => UNENUMERATED_MECHANISM_TERM_IDS.has(id)); + const resolved = sawClassifiableTerm && !hasUnenumeratedMechanism; + if (resolved) resolvedRows += 1; + else unresolvedRows += 1; + if (counterparties.size > 0) rowsWithCatalogueTarget += 1; + + rows.push({ + rowKey: row.key, + rowIndex, + severity, + counterparties: Array.from(counterparties.keys()).sort(), + termIds: Array.from(termIds).sort(), + resolved, + }); + }); + } + if (rows.length > 0) bySlug[record.slug] = { rows, unresolvedRowCount: rows.filter((row) => !row.resolved).length }; + } + + function addTermTargets(term: LexiconTerm, into: Map, sourceSlug: string): void { + if (term.kind !== "catalogue") return; + for (const slug of termSlugs.get(term.id) ?? []) { + if (slug === sourceSlug || into.has(slug)) continue; + into.set(slug, { slug, name: nameBySlug.get(slug) ?? slug, via: term.id }); + } + } + + const index: InteractionIndex = { + version: 1, + generatedFrom: SNAPSHOT_PATH, + sourceRowCount, + stats: { + resolvedRows, + unresolvedRows, + rowsWithCatalogueTarget, + medicationsWithUnresolvedRows: Object.values(bySlug).filter((entry) => entry.unresolvedRowCount > 0).length, + }, + names: Object.fromEntries( + records.map((record) => [record.slug, record.name] as const).sort(([a], [b]) => a.localeCompare(b)), + ), + bySlug, + }; + + const serialised = stableJson(index); + const outputPath = path.resolve(process.cwd(), OUTPUT_PATH); + if (checkOnly) { + const current = readFileSync(outputPath, "utf8"); + if (!sameJson(current, serialised)) { + console.error( + `[medication-interactions] ${OUTPUT_PATH} is stale.\nRun \`npm run medications:interactions\` and commit the result.`, + ); + process.exit(1); + } + console.log(`[medication-interactions] ${OUTPUT_PATH} is up to date (${sourceRowCount} rows).`); + return; + } + + writeFileSync(outputPath, serialised); + console.log( + `[medication-interactions] wrote ${OUTPUT_PATH}: ${sourceRowCount} rows, ${resolvedRows} resolved, ${unresolvedRows} unresolved, ${index.stats.medicationsWithUnresolvedRows} medications carry an unresolved row.`, + ); +} + +main(); diff --git a/scripts/verify-pr-local.mjs b/scripts/verify-pr-local.mjs index 3571a8f79..e58c9e781 100644 --- a/scripts/verify-pr-local.mjs +++ b/scripts/verify-pr-local.mjs @@ -121,6 +121,12 @@ export function selectedScripts(scope, extended) { // recognised docs and workflow-only changes avoid an unrelated RAG scan. if (scope.rag_eval_changed) add("eval:rag:offline"); else if (scope.static_heavy_changed) add("check:rag:fixtures"); + // `data/medication-interaction-index.json` is generated from the medication + // snapshot plus the curated lexicon, and the UI reads it to decide whether a + // drug can be shown as clear. A stale artefact therefore silently serves an + // old safety verdict. Cheap and deterministic, so it rides every executable + // scope rather than needing its own path classification. + if (scope.static_heavy_changed) add("check:medication-interactions"); if (extended && scope.ui_changed) add("verify:ui"); return scripts; } @@ -199,33 +205,55 @@ function selfTest() { workflow_changed: true, static_heavy_changed: true, }, - [...commonScripts, ...workflowScripts, ...staticHeavyScripts, "check:rag:fixtures"], + [ + ...commonScripts, + ...workflowScripts, + ...staticHeavyScripts, + "check:rag:fixtures", + "check:medication-interactions", + ], ); assertPlan("unknown-or-product-change-fails-heavy", { static_heavy_changed: true }, [ ...commonScripts, ...staticHeavyScripts, "check:rag:fixtures", + "check:medication-interactions", ]); assertPlan("rag-change", { static_heavy_changed: true, rag_eval_changed: true }, [ ...commonScripts, ...staticHeavyScripts, "eval:rag:offline", + "check:medication-interactions", ]); assertPlan( "ui-extended", { static_heavy_changed: true, ui_changed: true }, - [...commonScripts, ...staticHeavyScripts, "check:rag:fixtures", "verify:ui"], + [...commonScripts, ...staticHeavyScripts, "check:rag:fixtures", "check:medication-interactions", "verify:ui"], true, ); assertPlan( "lockfile-change-adds-npm-ci-dry-run", { lockfile_changed: true, static_heavy_changed: true, build_changed: true }, - [...commonScripts, "check:npm-ci-dry-run", ...staticHeavyScripts, "build", "check:rag:fixtures"], + [ + ...commonScripts, + "check:npm-ci-dry-run", + ...staticHeavyScripts, + "build", + "check:rag:fixtures", + "check:medication-interactions", + ], ); assertPlan( "package-json-change-adds-npm-ci-dry-run", { files: ["package.json"], static_heavy_changed: true, build_changed: true }, - [...commonScripts, "check:npm-ci-dry-run", ...staticHeavyScripts, "build", "check:rag:fixtures"], + [ + ...commonScripts, + "check:npm-ci-dry-run", + ...staticHeavyScripts, + "build", + "check:rag:fixtures", + "check:medication-interactions", + ], ); console.log("PR-local verification plan self-test passed."); } diff --git a/src/app/globals.css b/src/app/globals.css index fe0b546c0..8d9cf63eb 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -482,6 +482,14 @@ --phone-dock-hidden-pad: 0rem; --phone-dock-differentials-compare-clearance: 12.5rem; --phone-dock-differentials-compare-compact-clearance: 12.25rem; + /* Patient details is a single ~3rem row + 0.5rem gap above the pill, so it + clears roughly 3.5rem less than the Compare bar. */ + --phone-dock-patient-details-clearance: 9rem; + --phone-dock-patient-details-compact-clearance: 8.75rem; + --patient-details-fab-gap: 0.5rem; + --patient-details-fab-padding: 0.3125rem 0.5rem 0.3125rem 1rem; + --patient-details-fab-count-size: 1.625rem; + --patient-details-fab-count-padding: 0.375rem; /* Radius tokens are the single source of truth in @theme above (they also generate the rounded-* utilities); do not redefine them here or var() and the utilities drift apart. */ @@ -1129,6 +1137,81 @@ summary::-webkit-details-marker { font-weight: 800; } +/* Medication surfaces: Patient details sits above the search pill in the dock, + the same in-flow trick as the Compare bar so scroll-hide moves both together. + Deliberately one row shorter and quieter than Compare: Compare is the primary + call to action on its surface, this is a persistent context control. */ +.patient-details-fab { + pointer-events: none; + position: relative; + z-index: var(--z-raised, 10); + display: flex; + width: 100%; + justify-content: center; + margin-bottom: var(--patient-details-fab-gap); +} + +.patient-details-fab__button { + pointer-events: auto; + display: inline-flex; + /* 3rem is --spacing-tap, the production tap floor. Never reduce below it. */ + min-height: 3rem; + max-width: min(100%, 36rem); + align-items: center; + gap: var(--patient-details-fab-gap); + border-radius: var(--radius-pill, 9999px); + border: 1px solid var(--border-strong); + background: color-mix(in srgb, var(--surface) 92%, transparent); + padding: var(--patient-details-fab-padding); + color: var(--text-heading); + font-size: 0.9rem; + font-weight: 800; + letter-spacing: -0.01em; + box-shadow: var(--e3); + touch-action: manipulation; + transition: + transform var(--duration-quick) var(--ease-spring), + background-color var(--duration-quick) var(--ease-out-soft), + border-color var(--duration-quick) var(--ease-out-soft), + box-shadow var(--duration-quick) var(--ease-out-soft); +} + +/* Populated profile: the control becomes the accent so "a patient is loaded" + is legible at a glance without reading the count. */ +.patient-details-fab__button--active { + border-color: color-mix(in srgb, var(--clinical-accent), white 14%); + background: + radial-gradient( + circle at 82% 0%, + color-mix(in srgb, var(--clinical-accent-contrast) 18%, transparent), + transparent 34% + ), + linear-gradient(135deg, color-mix(in srgb, var(--clinical-accent), white 7%), var(--clinical-accent)); + color: var(--clinical-accent-contrast); +} + +.patient-details-fab__button:active { + transform: translateY(1px) scale(0.99); + transition: transform var(--duration-quick) var(--ease-spring); +} + +.patient-details-fab__button:focus-visible { + outline: 2px solid var(--focus); + outline-offset: 3px; +} + +.patient-details-fab__count { + display: grid; + height: var(--patient-details-fab-count-size); + min-width: var(--patient-details-fab-count-size); + place-items: center; + border-radius: var(--radius-pill, 9999px); + background: color-mix(in srgb, var(--clinical-accent-contrast) 20%, transparent); + padding-inline: var(--patient-details-fab-count-padding); + font-size: 0.75rem; + font-weight: 800; +} + /* Bottom-docked composer: hint row + upward dropdown grow above the pill. */ .answer-footer-search-edge { overflow: visible; @@ -1821,6 +1904,31 @@ summary::-webkit-details-marker { box-shadow: inset 3px 0 0 var(--clinical-accent); } + /* The patient verdict owns the card edge, including on the selected row. + These must sit AFTER the [data-selected] rule above: that rule is unlayered + and pins border-color, so a Tailwind border utility loses to it and the top + hit — the one most likely to be prescribed — would render its interaction + warning with a neutral edge. Equal specificity, later in source, wins. */ + .medication-mobile-result[data-verdict="danger"] { + border-color: var(--danger-border); + } + + .medication-mobile-result[data-verdict="warning"] { + border-color: var(--warning-border); + } + + .medication-mobile-result[data-verdict="success"] { + border-color: var(--success-border); + } + + .medication-mobile-result[data-verdict="clinical"] { + border-color: color-mix(in srgb, var(--clinical-accent) 40%, transparent); + } + + .medication-mobile-result[data-verdict="info"] { + border-color: var(--info-border); + } + .medication-mobile-result:focus-visible { outline-offset: -2px; } @@ -2287,6 +2395,17 @@ summary::-webkit-details-marker { height: max(var(--phone-dock-differentials-compare-compact-clearance), calc(var(--safe-area-bottom) + 11rem)); } + /* Medication surfaces: Patient details pill above the search pill in the dock. + Heights track --phone-dock-patient-details-* (same as content reserve). */ + .answer-footer-search-dock[data-footer-addon="patient-details"] .answer-footer-search-backdrop { + height: max(var(--phone-dock-patient-details-clearance), calc(var(--safe-area-bottom) + 7.75rem)); + } + + .answer-footer-search-dock.document-mobile-search-compact[data-footer-addon="patient-details"] + .answer-footer-search-backdrop { + height: max(var(--phone-dock-patient-details-compact-clearance), calc(var(--safe-area-bottom) + 7.5rem)); + } + .document-mobile-search-pill { min-height: 3.6rem; border-color: var(--border-strong); @@ -2349,6 +2468,11 @@ summary::-webkit-details-marker { transform: translateY(calc(100% + 0.75rem + var(--safe-area-bottom))); } + /* Same extra clearance for the Patient details row, scaled to its shorter height. */ + .answer-footer-search-dock.dashboard-composer-edge.answer-footer-search-edge[data-footer-addon="patient-details"][data-scroll-hidden="true"] { + transform: translateY(calc(100% + 0.5rem + var(--safe-area-bottom))); + } + /* Document viewer owns its floating composer (not the shared dock). Lift it with the same --keyboard-height signal so overlay/visual keyboards do not cover the focused input on document detail/source routes. */ diff --git a/src/components/ClinicalDashboard.tsx b/src/components/ClinicalDashboard.tsx index 4d6ec0d3e..49eab09ba 100644 --- a/src/components/ClinicalDashboard.tsx +++ b/src/components/ClinicalDashboard.tsx @@ -249,6 +249,7 @@ import { DashboardDesktopResultComposerSlot } from "@/components/clinical-dashbo import { desktopPageComposerSlotId, differentialsMobileCompareAddonSlotId, + patientDetailsAddonSlotId, modeHomeDesktopComposerSlotId, } from "@/lib/mode-home-composer"; import { toolCatalogRecords } from "@/lib/tools-catalog"; @@ -3083,6 +3084,9 @@ export function ClinicalDashboard({ ((searchMode === "services" || searchMode === "forms") && !modeSearchSubmitted && !query.trim() && !loading); const differentialsCompareAddonActive = searchMode === "differentials" && modeSearchSubmitted && Boolean(query.trim()); + // Prescribing submitted searches render here (there is no standalone results + // route), so this is where the Patient details pill docks for that mode. + const patientDetailsAddonActive = searchMode === "prescribing" && modeSearchSubmitted && Boolean(query.trim()); // Hidden dock pad must stay at 0rem — Safari toolbar safe-area recreates a blank band. const mobileComposerReserve = resolveMobileComposerReserve( bottomComposerHidden, @@ -3090,6 +3094,7 @@ export function ClinicalDashboard({ searchMode, hasAnswerFollowUps: answerFollowUpSuggestions.length > 0, differentialsCompareAddonActive, + patientDetailsAddonActive, heroOwnsPhoneComposer, }), ); @@ -3375,7 +3380,18 @@ export function ClinicalDashboard({ // maximum screen space (mode homes and result views alike). mobileBottomSearchVariant="compact" mobileBottomSearchAddonSlotId={ - differentialsCompareAddonActive ? differentialsMobileCompareAddonSlotId : undefined + differentialsCompareAddonActive + ? differentialsMobileCompareAddonSlotId + : patientDetailsAddonActive + ? patientDetailsAddonSlotId + : undefined + } + mobileBottomSearchAddonKind={ + differentialsCompareAddonActive + ? "differentials-compare" + : patientDetailsAddonActive + ? "patient-details" + : undefined } desktopHomeComposerSlotId={desktopHomeComposerSlotId} desktopPageComposerSlotId={desktopResultComposerSlotId} diff --git a/src/components/clinical-dashboard/global-search-shell.tsx b/src/components/clinical-dashboard/global-search-shell.tsx index ad9ac4d82..93d905ab1 100644 --- a/src/components/clinical-dashboard/global-search-shell.tsx +++ b/src/components/clinical-dashboard/global-search-shell.tsx @@ -416,6 +416,12 @@ function GlobalStandaloneSearchShellBody({ const differentialsCompareAddonActive = searchMode === "differentials" && (pathname === "/differentials/diagnoses" || (pathname === "/differentials" && hasSubmittedModeSearch)); + // No shell-owned route claims the Patient details dock addon. `/medications` + // is a standalone mode home (composer in the hero, no dock to portal into), + // and `/medications/[slug]` already opens the same sheet from its own nav + // header — a dock pill there would be a second entry point to one + // destination. The pill lives on the dashboard-owned prescribing results + // view; see ClinicalDashboard. // Registry and local decision-support modes own their submitted-search views on their // standalone routes; the shell must not swap them to the dashboard. On the // home route the dashboard always renders, so these exclusions only apply @@ -876,6 +882,7 @@ function GlobalStandaloneSearchShellBody({ mobileBottomSearchAddonSlotId={ differentialsCompareAddonActive ? differentialsMobileCompareAddonSlotId : undefined } + mobileBottomSearchAddonKind={differentialsCompareAddonActive ? "differentials-compare" : undefined} desktopSearchPlacement={desktopSearchPlacement === "hero" && isStandaloneModeHome ? "hero" : "default"} showPhoneSuggestionTickerOnHome={isStandaloneModeHome || pathname === "/"} searchComposerVisible={shouldShowSearchComposer} diff --git a/src/components/clinical-dashboard/master-search-header.tsx b/src/components/clinical-dashboard/master-search-header.tsx index e87b6c29a..b18ec34d8 100644 --- a/src/components/clinical-dashboard/master-search-header.tsx +++ b/src/components/clinical-dashboard/master-search-header.tsx @@ -78,6 +78,7 @@ import { isDesktopComposerSlotReady, phoneHeaderCollapseAddonSlotId, setModeHomeComposerReservePending, + type PhoneDockAddonKind, } from "@/lib/mode-home-composer"; import { resolveScrollBehavior } from "@/lib/scroll-behavior"; import type { CommandSurfacePlacement } from "@/lib/search-command-surface"; @@ -200,6 +201,7 @@ export function MasterSearchHeader({ desktopPageComposerSlotId, heroComposerBreakpoint = "all", mobileBottomSearchAddonSlotId, + mobileBottomSearchAddonKind, hideOnScroll, onBottomComposerHiddenChange, showDesktopNewChat = true, @@ -268,6 +270,8 @@ export function MasterSearchHeader({ heroComposerBreakpoint?: "all" | "sm-up"; /** Mobile/tablet slot rendered above the search pill for page-specific composer addons. */ mobileBottomSearchAddonSlotId?: string; + /** Which page-owned action occupies the dock addon slot. One at a time. */ + mobileBottomSearchAddonKind?: PhoneDockAddonKind; /** Phone-only hide-on-scroll for the universal header and bottom search dock. * "overlay" translates the sticky header away (host scrolls the document, * content already flows beneath); "collapse" also releases the header's @@ -1718,7 +1722,11 @@ export function MasterSearchHeader({ } }} data-footer-variant={usesPhoneFooterDock ? (usesCompactMobileBottomStyle ? "compact" : "default") : undefined} - data-footer-addon={usesPhoneFooterDock && mobileBottomSearchAddonSlotId ? "differentials-compare" : undefined} + data-footer-addon={ + usesPhoneFooterDock && mobileBottomSearchAddonSlotId + ? (mobileBottomSearchAddonKind ?? "differentials-compare") + : undefined + } data-command-open={ // Phones never show the command dropdown, so the dock scrim must not // grow for it — gate the open attribute to widths that can display it. diff --git a/src/components/clinical-dashboard/medication-considerations.tsx b/src/components/clinical-dashboard/medication-considerations.tsx index d72c1da6b..c7c092398 100644 --- a/src/components/clinical-dashboard/medication-considerations.tsx +++ b/src/components/clinical-dashboard/medication-considerations.tsx @@ -1,10 +1,26 @@ "use client"; -import { ClipboardList } from "lucide-react"; +import { + Ban, + ChevronRight, + CircleHelp, + ClipboardList, + Info, + Pill, + ShieldCheck, + TriangleAlert, + type LucideIcon, +} from "lucide-react"; +import Link from "next/link"; import { useMemo } from "react"; -import { BadgeCluster, type ClinicalBadgeItem } from "@/components/clinical-dashboard/clinical-badge"; +import { BadgeCluster, ClinicalBadge, type ClinicalBadgeItem } from "@/components/clinical-dashboard/clinical-badge"; import { usePatientProfile } from "@/components/clinical-dashboard/patient-profile-context"; +import { + evaluateMedicationInteractions, + type MedicationInteraction, + type MedicationVerdict, +} from "@/lib/medication-interactions"; import { evaluatePatientAlerts, noticeToneForSemanticTone, @@ -12,8 +28,252 @@ import { } from "@/lib/medication-patient-alerts"; import type { MedicationRecord } from "@/lib/medications"; import type { SemanticTone } from "@/lib/semantic-tone"; +import { Disclosure } from "@/components/ui/disclosure"; import { cn, InlineNotice } from "@/components/ui-primitives"; +/** + * Verdict edge for the DESKTOP results table rows, which sit in a divided list + * and already own their edge with an inset `ring-*` for selection. + * + * The phone cards do not use this. Their edge is set in `globals.css` via + * `.medication-mobile-result[data-verdict="…"]`, because the existing + * `[data-selected="true"]` rule there is unlayered and pins `border-color` — + * a Tailwind border utility loses to it on exactly the top hit. Two mechanisms, + * one per surface, each matching what that surface already used. + */ +export function medicationVerdictRingClass(tone: SemanticTone): string | null { + const byTone: Record = { + danger: "ring-1 ring-inset ring-[color:var(--danger-border)]", + warning: "ring-1 ring-inset ring-[color:var(--warning-border)]", + success: "ring-1 ring-inset ring-[color:var(--success-border)]", + clinical: "ring-1 ring-inset ring-[color:var(--clinical-accent)]/40", + info: "ring-1 ring-inset ring-[color:var(--info-border)]", + // Neutral keeps the list's own divider as its edge — see the border variant. + neutral: null, + }; + return byTone[tone]; +} + +/** + * Glyph for a verdict badge — one per state, including the two that the shared + * badge default deliberately leaves icon-free. + * + * `ClinicalBadge` only auto-ices danger and warning, to keep ordinary metadata + * badges quiet. That default is right in general and wrong here: this badge is + * the card's safety verdict, so "checked, nothing found" and "could not check" + * have to be distinguishable from each other — and from the two alert states — + * without relying on the border colour. Overridden for this badge only, by + * passing an explicit icon rather than by changing the shared default. + */ +export const VERDICT_ICONS: Record = { + danger: Ban, + warning: TriangleAlert, + success: ShieldCheck, + neutral: CircleHelp, + clinical: ClipboardList, + info: Info, +}; + +export function verdictIcon(tone: SemanticTone): LucideIcon { + return VERDICT_ICONS[tone]; +} + +/** + * One badge summarising the composed verdict for a result row. + * + * Never returns null once a profile exists: "no interaction found" and "needs + * manual review" are findings the clinician should see stated, not absences to + * be inferred from a missing badge. + */ +export function verdictSummaryBadge(verdict: MedicationVerdict): ClinicalBadgeItem { + const findings = verdict.interactionCount + verdict.considerationCount; + if (findings > 0) { + const parts: string[] = []; + if (verdict.interactionCount > 0) { + parts.push(`${verdict.interactionCount} interaction${verdict.interactionCount === 1 ? "" : "s"}`); + } + if (verdict.considerationCount > 0) { + parts.push(`${verdict.considerationCount} alert${verdict.considerationCount === 1 ? "" : "s"}`); + } + if (verdict.incomplete) parts.push("Needs manual review"); + return { + id: "patient-verdict", + label: parts.join(" · "), + tone: verdict.tone, + icon: verdictIcon(verdict.tone), + }; + } + if (verdict.incomplete) { + return { + id: "patient-verdict", + label: "Needs manual review", + tone: "neutral", + icon: verdictIcon("neutral"), + }; + } + return { + id: "patient-verdict", + label: "No interaction found", + tone: "success", + icon: verdictIcon("success"), + }; +} + +/** + * "Open " — the other half of the interaction is a medication in + * this catalogue, and reading its own page is the obvious next step from an + * alert. Rendered as a `` per the repo's internal-navigation rule. + */ +function CounterpartyLink({ interaction }: { interaction: MedicationInteraction }) { + return ( + + Open {interaction.counterpartyName} +