Initial Checking with all 820 MLMs
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
maintenance:
|
||||
|
||||
title: FORM_FUNC_DISPLAY_ANTIBIOTIC_GUIDELINES;;
|
||||
mlmname: FORM_FUNC_DISPLAY_ANTIBIOTIC_GUIDELINES;;
|
||||
arden: version 2.5;;
|
||||
version: 15.1;;
|
||||
institution: St Clair Hospital;;
|
||||
author: Juliet Law, Allscripts ;;
|
||||
specialist: ;;
|
||||
date: 2016-05-05;;
|
||||
validation: testing;;
|
||||
|
||||
library:
|
||||
purpose: Functional MLM to display antibiotic guideline information on order sets
|
||||
;;
|
||||
|
||||
explanation: This MLM will be a functional call from Order set MLMs when needing to display antibiotic / allergy guideline information
|
||||
|
||||
Change history
|
||||
05.05.2016 JML Created.
|
||||
06.09.2017 JML CSR 35272: Added guidelines for Sepsis Unknown Source Antibiotic order sets
|
||||
02.13.2018 JML CSR 25885: Replaced gentamicin with amikacin on GU antibiotics order sets
|
||||
|
||||
|
||||
|
||||
;;
|
||||
keywords: Called MLMs, display, fields
|
||||
;;
|
||||
knowledge:
|
||||
type: data-driven;;
|
||||
data:
|
||||
|
||||
// This MLM is passed three arguments, of types
|
||||
// communication_type, form_type and client info object respectively.
|
||||
|
||||
(
|
||||
this_communication, // Communication object
|
||||
this_form, // Form object
|
||||
client_info_obj //Arden ClientInfo object
|
||||
) := argument;
|
||||
|
||||
standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
||||
include standard_libs;
|
||||
|
||||
using "ObjectsPlusXA.SCM.Forms";
|
||||
using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms";
|
||||
|
||||
ClientGuid := this_communication.ClientGUID;
|
||||
ChartGuid := this_communication.ChartGUID;
|
||||
ClientVisitGuid := this_communication.ClientVisitGUID;
|
||||
PrimaryObjdetail:=this_communication.PrimaryObj;
|
||||
OrderSetName := PrimaryObjdetail.OrderSetName;
|
||||
|
||||
field_list:= this_form.fields;
|
||||
CallingEvent := this_communication.CallingEvent;
|
||||
CallingField := this_communication.CallingFieldName;
|
||||
|
||||
/*******************Make Changes To Spelling And Flags In This Section*******************/
|
||||
|
||||
/* Set to True if a decision.log is needed.*/
|
||||
log_execution_info := False;
|
||||
|
||||
SP := " ";
|
||||
SP2 := SP||SP;
|
||||
|
||||
CR := 13 formatted with "%c";
|
||||
LF := 10 formatted with "%c";
|
||||
CRLF:= CR||LF;
|
||||
TAB := 9 formatted with "%c";
|
||||
|
||||
//Retrieve fields
|
||||
Allergy_Info := first of ( field_list WHERE field_list.DataItemName = "NUR_GenAdditionalTxt" AND field_list.Control_MultiFieldOccNum = 1 );
|
||||
Antibiotic_Info := first of ( field_list WHERE field_list.DataItemName = "NUR_GenAdditionalTxt" AND field_list.Control_MultiFieldOccNum = 2 );
|
||||
|
||||
allergy_msg := "Note: Simple rash, nausea or vomiting does not exclude the use of Cephalosporins.";
|
||||
allergy_msg := allergy_msg || CRLF || "Avoid cephalosporin only if PCN reaction was immediate hypersensitivity (i.e. hives, anaphylaxis, pharyngeal edema, neutropenia, fever).";
|
||||
|
||||
Allergy_Info.Value := allergy_msg;
|
||||
|
||||
wt_based_msg := CRLF || "";
|
||||
|
||||
if ( OrderSetName = "Pneumonia Antibiotic" ) then
|
||||
wt_based_msg := "Ceftriaxone 1 gm (< 80 kg)" || TAB || "Vancomycin Loading Dose 25 mg/kg ABW x1";
|
||||
wt_based_msg := wt_based_msg || CRLF || "Ceftriaxone 2 gm (>= 80 kg)" || TAB || SP2 || "then Vancomycin 20 mg/kg ABW IV q12hr (CrCl > 60 ml/min) OR q24hr (CrCl 30-60 ml/min)";
|
||||
wt_based_msg := wt_based_msg || CRLF || TAB || TAB || TAB || SP2 || " OR X 1 (CrCl < 30 ml/min)";
|
||||
wt_based_msg := wt_based_msg || CRLF || "Tobramycin 5 mg/kg ABW X 1";
|
||||
wt_based_msg := wt_based_msg || CRLF || "ABW (Adjusted Body Weight) = (Total Body Weight - Ideal Body Weight) x 0.4 + Ideal Body Weight;";
|
||||
endif;
|
||||
if ( OrderSetName = "Pneumonia Antibiotic ED" ) then
|
||||
wt_based_msg := "Ceftriaxone 1 gm (< 80 kg)" || TAB || "Vancomycin Loading Dose 25 mg/kg ABW x1" || TAB || "Tobramycin 5 mg/kg ABW X 1";
|
||||
wt_based_msg := wt_based_msg || CRLF || "Ceftriaxone 2 gm (>= 80 kg)";
|
||||
wt_based_msg := wt_based_msg || CRLF || CRLF || "ABW (Adjusted Body Weight) = (Total Body Weight - Ideal Body Weight) x 0.4 + Ideal Body Weight";
|
||||
endif;
|
||||
|
||||
if ( OrderSetName = "Sepsis Unknown Source Antibiotic ED" ) then
|
||||
wt_based_msg := "Vancomycin Loading Dose 25 mg/kg ABW x1";
|
||||
wt_based_msg := wt_based_msg || CRLF || CRLF || "ABW (Adjusted Body Weight) = (Total Body Weight - Ideal Body Weight) x 0.4 + Ideal Body Weight";
|
||||
endif;
|
||||
if ( OrderSetName = "Sepsis Unknown Source Antibiotic" ) then
|
||||
wt_based_msg := "Vancomycin Loading Dose 25 mg/kg ABW x1";
|
||||
wt_based_msg := wt_based_msg || CRLF || SP2 || SP2 || "then Vancomycin 20 mg/kg ABW IV q12hr (CrCl > 60 ml/min) OR q24hr (CrCl 30-60 ml/min)";
|
||||
wt_based_msg := wt_based_msg || CRLF || TAB || SP2 || " OR X 1 (CrCl < 30 ml/min)";
|
||||
wt_based_msg := wt_based_msg || CRLF || CRLF || "ABW (Adjusted Body Weight) = (Total Body Weight - Ideal Body Weight) x 0.4 + Ideal Body Weight;";
|
||||
endif;
|
||||
|
||||
if ( OrderSetName IN ("Genitourinary Antibiotic", "Genitourinary Antibiotic ED") ) then
|
||||
wt_based_msg := "Ceftriaxone 1 gm (< 80 kg)" || TAB || "Amikacin 7.5 mg/kg ABW X 1";
|
||||
wt_based_msg := wt_based_msg || CRLF || "Ceftriaxone 2 gm (>= 80 kg)";
|
||||
wt_based_msg := wt_based_msg || CRLF || CRLF || "ABW (Adjusted Body Weight) = (Total Body Weight - Ideal Body Weight) x 0.4 + Ideal Body Weight";
|
||||
endif;
|
||||
|
||||
if ( OrderSetName IN ("IntraAbdominal Antibiotic", "IntraAbdominal Antibiotic ED") ) then
|
||||
wt_based_msg := "Cefazolin 1 gm (< 80 kg)";
|
||||
wt_based_msg := wt_based_msg || CRLF || "Cefazolin 2 gm (>= 80 kg)";
|
||||
endif;
|
||||
|
||||
if ( OrderSetName = "Skin Antibiotic Inpatient" ) then
|
||||
wt_based_msg := "Cefazolin 1 gm (< 80 kg)" || TAB || "Vancomycin Loading Dose 25 mg/kg ABW X 1";
|
||||
wt_based_msg := wt_based_msg || CRLF || "Cefazolin 2 gm (>= 80 kg)" || TAB || SP2 || "then Vancomycin 20 mg/kg ABW IV q12hr (CrCl > 60 ml/min) OR q24hr (CrCl 30-60 ml/min)";
|
||||
wt_based_msg := wt_based_msg || CRLF || TAB || TAB || TAB || SP2 || " OR X 1 (CrCl < 30 ml/min)";
|
||||
wt_based_msg := wt_based_msg || CRLF || "Clindamycin 600 mg IV q6hr (< 80 kg)";
|
||||
wt_based_msg := wt_based_msg || CRLF || "Clindamycin 900 mg IV q8hr (>= 80 kg)";
|
||||
endif;
|
||||
if ( OrderSetName = "Skin Antibiotic Inpatient ED" ) then
|
||||
wt_based_msg := "Cefazolin 1 gm (< 80 kg)" || TAB || "Vancomycin Loading Dose 25 mg/kg ABW X 1" || TAB || "Clindamycin 600 mg IV STAT (< 80 kg)";
|
||||
wt_based_msg := wt_based_msg || CRLF || "Cefazolin 2 gm (>= 80 kg)" || TAB || TAB || TAB || TAB || TAB || TAB || "Clindamycin 900 mg IV STAT (>= 80 kg)";
|
||||
wt_based_msg := wt_based_msg || CRLF || CRLF || "ABW (Adjusted Body Weight) = (Total Body Weight - Ideal Body Weight) x 0.4 + Ideal Body Weight";
|
||||
endif;
|
||||
|
||||
if ( OrderSetName IN ("Skin Antibiotic Outpatient", "Skin Antibiotic Outpatient ED") ) then
|
||||
wt_based_msg := "Cephalexin 500 mg PO (<= 110 kg)";
|
||||
wt_based_msg := wt_based_msg || CRLF || "Cephalexin 1000 mg PO (> 110 kg)";
|
||||
endif;
|
||||
|
||||
Antibiotic_Info.Value := wt_based_msg;
|
||||
|
||||
;;
|
||||
evoke: // No evoke statement
|
||||
;;
|
||||
logic:
|
||||
|
||||
conclude True;
|
||||
;;
|
||||
action:
|
||||
// This MLM returns two parameters, of types communication_type and form_type respectively.
|
||||
return this_communication, this_form;
|
||||
;;
|
||||
Urgency: 50;;
|
||||
end:
|
||||
Reference in New Issue
Block a user