maintenance: title: Labs Deselected On Order Sets;; mlmname: FORM_Set_Labs_Anemia;; arden: version 2;; version: 4.50;; institution: St Clair Admissions;; author: Robert Spence, Eclipsys Corp Ext 7461;; specialist: Lisa Hancher, Eclipsys Corp ext PINT;; date: 2008-05-19;; validation: testing;; library: purpose: Used to Select / Deselect all ORders on Anemia Order Set For ED ;; explanation: This MLM is called from Anemia Checkboxes on the order set Change history 05.17.2010 RS Altered for the Observation OS ;; keywords: Called MLMs, Lab Grids on Order Sets, Inital ED ;; 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; locateAnemia := first of (field_list where field_list.DataItemName = "MLM_AnemiaID1"); OccNumText := last of (callList); DeSelect := "Select / Deselect All For Anemia Profile"; OccNumber:= locateAnemia.value As Number; // Now do True and false logic for EVERY grid on this form //Get the multi order grid check box value Grid_fld := last of (field_list where field_list.DataItemName = "MultiOrderCheckBox" and field_List.Control_MultiFieldOccNum = OccNumber); Grid_list :=Grid_fld.Value; Grid_SelList := Grid_List.IsSelected; PrevSel_Fld := last of (field_list where field_list.DataItemName = "MLM_CM 1"); Found_DeSelect:= First of (Grid_list where Grid_list.Name = DeSelect ); If CallingEvent = "FieldChange" Then If Found_DeSelect.IsSelected = PrevSel_Fld.Value then NoHarmNoFoul:=True; Else ListMembs:= count Grid_SelList; FalseList := (); TrueList := (); for k in (1 seqto ListMembs) do FalseList := FalseList,False; TrueList := TrueList,True; enddo; If Found_DeSelect.IsSelected = True then Grid_List.IsSelected := TrueList; Else Grid_List.IsSelected := FalseList; endif; PrevSel_Fld.Value := Found_DeSelect.IsSelected; endif; Elseif CallingEvent = "FormClose" then Found_DeSelect.IsSelected:= False; Endif; /* this_communication.DisplayForm := "Yes"; this_communication.Message := "Found_DeSelect is " || Found_DeSelect.|| "\n\n" || "NoRisk Select" || Found_NoRisk.IsSelected || "\n\n" || "NoRisk Value " || Found_NoRisk.Value; 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: