Difference between revisions of "Drug disease interaction use case"
(Created page with "=== Drug-Disease Interaction Clinical Use Case === Certain medications are contraindicated, must have their doses adjusted or must be monitored in the presence of certain diseas...") |
Karstenf77 (talk | contribs) |
||
Line 5: | Line 5: | ||
This MLM demonstrates how to trigger an MLM based on a medication order and then assess whether a disease (renal insufficiency) is present based on laboratory testing, alerting the user if this is so and if a recent alert about this has not been provided. | This MLM demonstrates how to trigger an MLM based on a medication order and then assess whether a disease (renal insufficiency) is present based on laboratory testing, alerting the user if this is so and if a recent alert about this has not been provided. | ||
− | maintenance: | + | maintenance: |
− | + | ||
title: Screen for presence of renal insufficiency | title: Screen for presence of renal insufficiency | ||
and pharmacy order for an aminoglycoside antibiotic | and pharmacy order for an aminoglycoside antibiotic | ||
Line 17: | Line 17: | ||
date: 2013-02-20;; | date: 2013-02-20;; | ||
validation: production;; | validation: production;; | ||
− | + | ||
− | library: | + | library: |
− | + | ||
purpose: To determine if a patient has both laboratory evidence | purpose: To determine if a patient has both laboratory evidence | ||
of renal insufficiency (based on the serum creatinine) and an | of renal insufficiency (based on the serum creatinine) and an | ||
active order for an aminoglycoside antibiotic;; | active order for an aminoglycoside antibiotic;; | ||
− | + | ||
explanation: Aminoglycoside antibiotics, such as gentamicin, | explanation: Aminoglycoside antibiotics, such as gentamicin, | ||
tobramycin and amikacin, may cause or worsen renal | tobramycin and amikacin, may cause or worsen renal | ||
Line 33: | Line 33: | ||
that appropriate action (e.g., dosage adjustment) is taken | that appropriate action (e.g., dosage adjustment) is taken | ||
if needed. ;; | if needed. ;; | ||
− | + | ||
keywords: renal failure; aminoglycoside antibiotic;; | keywords: renal failure; aminoglycoside antibiotic;; | ||
citations: ;; | citations: ;; | ||
− | + | ||
− | knowledge: | + | knowledge: |
− | + | ||
type: data-driven;; | type: data-driven;; | ||
− | + | ||
data: | data: | ||
/* evoke on storage of a pharmacy order */ | /* evoke on storage of a pharmacy order */ | ||
storage_of_aminoglycoside_order := event | storage_of_aminoglycoside_order := event | ||
{'30343','30345';'30343','30346'}; | {'30343','30345';'30343','30346'}; | ||
− | + | ||
/* read the aminoglycoside order that evoked the MLM */ | /* read the aminoglycoside order that evoked the MLM */ | ||
aminoglycoside_order := read last | aminoglycoside_order := read last | ||
Line 51: | Line 51: | ||
'constraints'="C****",'status_value'="A", | 'constraints'="C****",'status_value'="A", | ||
'display_header'="R",'display_comp'="V"; ; '23946'}; | 'display_header'="R",'display_comp'="V"; ; '23946'}; | ||
− | + | ||
/* get the last appropriate creatinine */ | /* get the last appropriate creatinine */ | ||
raw_creatinines := read last 3 from ( | raw_creatinines := read last 3 from ( | ||
{'dam'="PDQRES2",'constraints'="C****"; ; '32752'} | {'dam'="PDQRES2",'constraints'="C****"; ; '32752'} | ||
where they occurred within the past 3 months); | where they occurred within the past 3 months); | ||
− | + | ||
creatinine := last(raw_creatinines where they are number); | creatinine := last(raw_creatinines where they are number); | ||
creatinine_boundary := 1.1; /* upper reference range value */ | creatinine_boundary := 1.1; /* upper reference range value */ | ||
− | + | ||
/* get the last related alerts */ | /* get the last related alerts */ | ||
last_alert := read last ( | last_alert := read last ( | ||
Line 65: | Line 65: | ||
'mlmself','mlm RF_AND_AMINOGLYCOSIDE'} | 'mlmself','mlm RF_AND_AMINOGLYCOSIDE'} | ||
where it occurred within the past 3 months); | where it occurred within the past 3 months); | ||
− | ;; | + | ;; |
− | + | ||
evoke: | evoke: | ||
/* evoke on storage of a pharmacy order */ | /* evoke on storage of a pharmacy order */ | ||
storage_of_aminoglycoside_order;; | storage_of_aminoglycoside_order;; | ||
− | + | ||
logic: | logic: | ||
− | + | ||
if (aminoglycoside_order is null) or | if (aminoglycoside_order is null) or | ||
(creatinine is null) then /* insufficient data */ | (creatinine is null) then /* insufficient data */ | ||
conclude false; | conclude false; | ||
endif; | endif; | ||
− | + | ||
/* avoid redundant alerts */ | /* avoid redundant alerts */ | ||
if last_alert occurred after 2 weeks before time of | if last_alert occurred after 2 weeks before time of | ||
Line 83: | Line 83: | ||
conclude false; | conclude false; | ||
endif; | endif; | ||
− | + | ||
/* check marker for renal insufficiency */ | /* check marker for renal insufficiency */ | ||
if creatinine <= creatinine_boundary then | if creatinine <= creatinine_boundary then | ||
conclude false; | conclude false; | ||
endif; | endif; | ||
− | + | ||
/* otherwise creatinine is high and pt is on aminoglycoside */ | /* otherwise creatinine is high and pt is on aminoglycoside */ | ||
conclude true; | conclude true; | ||
− | ;; | + | ;; |
− | + | ||
action: | action: | ||
− | + | ||
write "The patient has laboratory evidence of renal " || | write "The patient has laboratory evidence of renal " || | ||
"insufficiency (serum creatinine of " || creatinine || | "insufficiency (serum creatinine of " || creatinine || | ||
Line 103: | Line 103: | ||
"This may not be applicable to topical preparations. " || | "This may not be applicable to topical preparations. " || | ||
"Appropriate action should be taken as needed."; | "Appropriate action should be taken as needed."; | ||
− | + | ||
− | ;; | + | ;; |
− | + | ||
− | end: | + | end: |
Latest revision as of 16:39, 16 November 2013
Drug-Disease Interaction Clinical Use Case
Certain medications are contraindicated, must have their doses adjusted or must be monitored in the presence of certain diseases. The presence of at least some diseases may be revealed by laboratory testing. As laboratory test observations have been among the earliest discrete data captured by health information systems, many Arden Syntax medical logic modules have been written that provide alerts when a drug is ordered in the presence of certain conditions defined by laboratory test observations.
This MLM demonstrates how to trigger an MLM based on a medication order and then assess whether a disease (renal insufficiency) is present based on laboratory testing, alerting the user if this is so and if a recent alert about this has not been provided.
maintenance: title: Screen for presence of renal insufficiency and pharmacy order for an aminoglycoside antibiotic (triggered by order for the aminoglycoside) ;; filename: AMINOGLYCOSIDE_AND_RF;; version: 1.05;; institution: The Best Medical Center;; author: James Best, MD;; specialist: Francine Specialist, MD;; date: 2013-02-20;; validation: production;; library: purpose: To determine if a patient has both laboratory evidence of renal insufficiency (based on the serum creatinine) and an active order for an aminoglycoside antibiotic;; explanation: Aminoglycoside antibiotics, such as gentamicin, tobramycin and amikacin, may cause or worsen renal insufficiency. In addition, a typical dose of the antibiotic must be adjusted when it is administered to a patient who already has renal insufficiency. This module sends an alert if one of this class of antibiotics is ordered for a patient who has laboratory evidence of renal insufficiency to help ensure that appropriate action (e.g., dosage adjustment) is taken if needed. ;; keywords: renal failure; aminoglycoside antibiotic;; citations: ;; knowledge: type: data-driven;; data: /* evoke on storage of a pharmacy order */ storage_of_aminoglycoside_order := event {'30343','30345';'30343','30346'}; /* read the aminoglycoside order that evoked the MLM */ aminoglycoside_order := read last {'evoking','dam'="PDQORD1",'auxstr'="0013", 'constraints'="C****",'status_value'="A", 'display_header'="R",'display_comp'="V"; ; '23946'}; /* get the last appropriate creatinine */ raw_creatinines := read last 3 from ( {'dam'="PDQRES2",'constraints'="C****"; ; '32752'} where they occurred within the past 3 months); creatinine := last(raw_creatinines where they are number); creatinine_boundary := 1.1; /* upper reference range value */ /* get the last related alerts */ last_alert := read last ( {'dam'="PDQDEC1",'display_header'="TX",'display_comp'=""; 'mlmself','mlm RF_AND_AMINOGLYCOSIDE'} where it occurred within the past 3 months); ;; evoke: /* evoke on storage of a pharmacy order */ storage_of_aminoglycoside_order;; logic: if (aminoglycoside_order is null) or (creatinine is null) then /* insufficient data */ conclude false; endif; /* avoid redundant alerts */ if last_alert occurred after 2 weeks before time of aminoglycoside_order then conclude false; endif; /* check marker for renal insufficiency */ if creatinine <= creatinine_boundary then conclude false; endif; /* otherwise creatinine is high and pt is on aminoglycoside */ conclude true; ;; action: write "The patient has laboratory evidence of renal " || "insufficiency (serum creatinine of " || creatinine || " mg/dL on " || time of creatinine || "). Also, an active " || "order for an aminoglycoside antibiotic has been " || "recorded. Such antibiotics may cause or worsen renal " || "insufficiency, and special dosing may be required. " || "This may not be applicable to topical preparations. " || "Appropriate action should be taken as needed."; ;; end: