maintenance: title: Form_Morphine_Item_code;; mlmname: Form_Morphine_Item_code;; arden: version 2;; version: 4.50;; institution: St. Clair Hospital;; author: Teresa Spicuzza ;; specialist: Eclipsys Corporation;; date: 2006-10-27;; validation: testing;; library: purpose: Populate Worx order code based on morphine dose. ;; explanation: This checks the ordered dose of morphine and populates the worx product code with corresponding value. Value is based on high dose if present Else low dose (mandatory on form) is used Change history 12.08.2010 TS Changed to remove 8mg vial size ;; keywords: Morphine, dose, worx code; ;; knowledge: type: data-driven;; data: /********************Make Changes To Spelling And Flags In This Section*********************/ /****************************************************************************************/ // 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; // Assigns fields passed in the Form object to the Field object field_list:= this_form.fields; //Dose lodose := first of (field_list where field_list.DataItemName = "dosagelow"); hidose := first of (field_list where field_list.DataItemName = "dosagehigh"); //WORx Code worx_prod_code := first of (field_list where field_list.DataItemName = "PRX_DRUGIDCODE"); if exists lodose then lodose_value := lodose.value; endif; if exists hidose then hidose_value := hidose.value; endif; if hidose_value > 0 then dose_value := hidose_value; else dose_value := lodose_value; endif; If dose_value <= 2 then worx_prod_code.value := "07001"; elseif dose_value <=4 and dose_value >2 then worx_prod_code.value := "07131"; // elseif // dose_value <=8 and dose_value >4 then // worx_prod_code.value := "05076"; elseif dose_value >4 then worx_prod_code.value := "05077"; else worx_prod_code.value := "05077"; endif; // /* // FOR DEBUGGING PURPOSES: display a message to the user this_communication.Message := "wt = "|| wt || "\nbolus_conc.value = " || bolus_conc.value || "\nbolus_dose = " || bolus_dose || "\ndose_route.value = " || dose_route.value || "\nrnd_bolus_dose = " || rnd_bolus_dose ; this_communication.MessageType := "Informational"; */ ;; evoke: ;; 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: