maintenance: title: CCM Thoracentesis Orderset;; mlmname: FORM_Set_CCM_Thoracentesis ;; arden: version 2;; version: 4.50;; institution: St Clair;; author: Robert Spence, Eclipsys Corp Ext 7461;; specialist: ;; date: 2009-09-22;; validation: testing;; library: purpose: Used to select labs per left / right or both Thoracentesis ;; explanation: This MLM is called from the CCM Thoracentesis Orderset ;; keywords: Called MLMs,CCM Thoracentesis Orderset ;; 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; CallingEvent := this_communication.CallingEvent; CallingField := this_communication.CallingFieldName; fldleft := last of (field_list where field_list.DataItemName = "CCM Left Thoracentesis"); fldright := last of (field_list where field_list.DataItemName = "CCM Right Thoracentesis"); fldleftright := last of (field_list where field_list.DataItemName = "CCM L/R Thoracentesis"); listcbs:= (); allvalue := false; if Callingfield = "CCM Left Thoracentesis|1" then allvalue := fldleft.Value; listcbs:=(2); if fldleft.Value = True then fldright.control_read_only := True; fldleftright.control_read_only := True; else fldright.control_read_only := False; fldleftright.control_read_only := False; endif; elseif Callingfield = "CCM Right Thoracentesis|1" then allvalue := fldright.Value; listcbs:=(3); if fldright.Value = True then fldleft.control_read_only := True; fldleftright.control_read_only := True; // set grid here, name of grid to change or list and to change to. else fldleft.control_read_only := False; fldleftright.control_read_only := False; // set grid here, name of grid to change or list and to change to. endif; elseif Callingfield = "CCM L/R Thoracentesis|1" then allvalue := fldleftright.Value; listcbs:=(2,3); if fldleftright.Value = True then fldleft.control_read_only := True; fldright.control_read_only := True; // set grid here, name of grid to change or list and to change to. else fldleft.control_read_only := False; fldright.control_read_only := False; // set grid here, name of grid to change or list and to change to. endif; endif; listcbsproc:= count listcbs; for k in (1 seqto listcbsproc) do gridwork := listcbs[k]; Grid_fld := last of (field_list where field_list.DataItemName = "MultiOrderCheckBox" and field_List.Control_MultiFieldOccNum = gridwork); Grid_list :=Grid_fld.Value; Grid_SelList := Grid_List.IsSelected; ListMembs:= count Grid_SelList; setlist := (); for j in (1 seqto ListMembs) do setlist := setlist, allvalue; enddo; Grid_List.IsSelected:= setlist; enddo; ;; 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: