maintenance: title: Nursing Last Dose Given;; mlmname: FORM_Nur_LastDoseGiven;; arden: version 2;; version: 4.50;; institution: St Clair Hospital;; author: Don Warnick;; specialist: ;; date: 2007-08-14;; validation: testing;; library: purpose: Grey out the unknown last dose given field if a date is entered and vice versa. ;; explanation: This MLM is called from the Nursing Pre-Admit Meds form. If the Last dose given date or time is entered the last dose unknown field is greyed (and vice versa). ;; keywords: Called MLMs, Form fields, last dose given ;; 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; // Initialize error message error_message:=""; // Assigns fields passed in the Form object to the Field object field_list:= this_form.fields; CallingField :=this_communication.CallingFieldName; orderroletype:= this_communication.primaryobj.enterrole; lastdosedate := last of (field_list where field_list.DataItemName = "Nur_HM_LastDoseGivenDate" ); lastdosetime := last of (field_list where field_list.DataItemName = "Nur_HM_LastDoseGivenTime" ); lastdoseunknown := last of (field_list where field_list.DataItemName = "Nur_HM_LastDoseUnknownCB" ); If CallingField = "Nur_HM_LastDoseUnknownCB" then if lastdoseunknown.value = true then lastdosedate.control_read_only:= true; lastdosedate.control_mandatory:= false; lastdosedate.value := " "; lastdosetime.control_read_only:= true; lastdosetime.control_mandatory:= false; lastdosetime.value := " "; else lastdosedate.control_read_only:= false; lastdosedate.control_mandatory:= true; lastdosetime.control_read_only:= false; lastdosetime.control_mandatory:= true; endif; elseif CallingField = "Nur_HM_LastDoseGivenDate" then if lastdosedate.value is not null then lastdoseunknown.control_read_only:=true; else lastdoseunknown.control_read_only:=false; endif; endif; ;; 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; ;; end: