maintenance: title: Lab Synovial Joint Fluid Mandatory;; mlmname: FORM_LAB_SYNOVIAL_MAND;; arden: version 2;; version: 4.50;; institution: St Clair Lab Synovial MLM;; author: Robert Spence, Eclipsys Corp;; specialist: ;; date: 2006-09-11;; validation: testing;; library: purpose: This MLM sets the field Synovial to Mandatory if another field is selected ;; explanation: This MLM enables teh Synovial to be mandatory ;; keywords: Called MLMs, Form fields, Lab, Synovial ;; 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; /*******************Make Changes To Spelling And Flags In This Section*******************/ /* Set to true if a decision.log is needed.*/ log_execution_info := FALSE; /***************************************************************************************/ // 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; CallingEvent := this_communication.CallingEvent; FormName := this_form.Name; If FormName = "Lab_Micro_AFBSmearOn" then ActOnField:=last of (field_list where field_list.DataItemName = "Lab_RC_SDES_MicroSource_AFBSmearOnly" ); elseif FormName = "Lab_Micro_BodyFldCul" then ActOnField := last of (field_list where field_list.DataItemName = "Lab_RC_SDES_MicroBodyFld" ); elseif FormName = "Lab_Micro_FungusCul" then ActOnField := last of (field_list where field_list.DataItemName = "Lab_RC_SDES_MicroSource_FungusSmear" ); elseif FormName ="Lab_Micro_FungusSmea" then ActOnField := last of (field_list where field_list.DataItemName = "Lab_RC_SDES_MicroSource_FungusSmear" ); elseif FormName ="LAB_Micro_TBCulture" then ActOnField := last of (field_list where field_list.DataItemName = "Lab_RC_SDES_MicroSources_TBCul" ); endif; SynovialField :=last of (field_list where field_list.DataItemName = "Lab_SREQ_VO_DI_SiteSynovialJointFluid" ); If ActOnField.Value ="Synovial Joint Fluid (SYN)" then SynovialField.Control_Mandatory:=True; else SynovialField.Control_Mandatory:=False; endif; // this_communication.DisplayForm := "Yes"; // this_communication.Message := "MLM Field :" || CallingField || "\n" || // "MLM Event :" || CallingEvent || "\n" || // "Form type :" || FormType || "\n" || // "FormName: " || FormName; // this_communication.MessageType := "Informational"; ;; 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: