This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Drug disease interaction use case

From HL7Wiki
Jump to navigation Jump to search

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: