Input: patient record (P) and drug record (D) for user-selected drug |
Output: user messages, calculated dose-response curves |
(1) DI new DrugInteraction record (Figure 1) |
(2) Mult, Dec, Inc 0 |
(3) if no row exists in DrugEnzyme (DE) table where DE.Enzyme = D.Enzyme & DE.Drug = D.Drug then |
(4) output “No Interaction Detected” |
(5) else |
(6) DI row from DrugInteraction table (DIT) where DIT.GenericName = D.GenericName & DIT.Form = |
D.Form & DIT.Delivery = D.Delivery |
(7) if DI.DrugMetabolite is not null then |
(8) output “ProDrug Interaction Detected” |
(9) else |
(10) output “Interaction Detected” |
(11) Mult Multiplier from DrugMultiplier (DM) where DM.Allele1 = P.Allele1 & DM.Allele2 = P.Allele2 & |
DM.Drug = D.Drug {null if no match} |
(12) if Mult is not null then |
(13) Graph(DI, P.Weight, D.Dose, Mult) |
(14) else if DI.PoorMetabolizerMultiplier is not null then |
(15) Mult DI.PoorMetabolizerMultiplier |
(16) Graph(DI, P.Weight, D.Dose, Mult) |
(17) else |
(18) for all alleles in Allele (A) that match patient’s alleles (P.Allele or P.Allele2) do |
(19) if A.AlleleEffectInvivo = then |
(20) Inc Inc + 1 |
(21) else if A.AlleleEffectInvivo = then |
(22) Dec Dec + 1 |
(23) end if |
(24) end for |
(25) if Inc ≥ 1 or Dec ≥ 1 then |
(26) Mult 1 + (Inc * 0.33) − (Dec * 0.33) |
(27) Graph(DI, P.Weight, D.Dose, Mult) |
(28) else |
(29) output “Not Enough Information to Graph” |
(30) end if |
(31) end if |
(32) end if |
(33) end if |