maintenance: title: Generic Form Control for Order Sets;; mlmname: FORM_Set_TIA_Addendum;; arden: version 2;; version: 5.00;; institution: St Clair;; author: Shawn Head, Eclipsys Corp ext 7468;; specialist: Maria Pest, Eclipsys Corp ext 7443;; date: 2012-08-01;; validation: testing;; library: purpose: Used to select grid items on order set forms. ;; explanation: Following this strategy to improve CPOE turnaround Change history 08-06-2012 STH CSR #: 30685 - Created to handle selecting all items in grid(s) based on "OS_Checkbox 1" observation being selected/de-selected ;; keywords: Generic, FormOpen, Item select, update items, CPOE, CPOE updates, CPOE items ;; 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; field_list:= this_form.fields; formitemtype := (); formitemnumber := (); /*******************Make Changes To Spelling And Flags In This Section*******************/ /* Set to true if a decision.log is needed.*/ log_execution_info := FALSE; callinggdataitemname := "OS_Checkbox 1"; formitemtype := ("MultiOrderCheckBox"); formitemnumber := (1); /***************************************************************************************/ list_false_true := mlm {{{SINGLE-QUOTE}}}UTIL_LIST_FALSE_TRUE{{{SINGLE-QUOTE}}}; //used to disable/enable the update grid item(s) to the value passed in //to the MLM. If yous end true all items are disabled if you send false all items //are enabled. Originally developed by robert spence // Initialize error message error_message:=""; // get the list of configured items to be updates based on the form item MLMGenericItemControl itemlist := (); itemstf := (); itemselected := (); itemname := (); itemselected := last of (field_list.Value where field_list.DataItemName = callinggdataitemname); itemname := (field_list.Label where field_list.DataItemName = callinggdataitemname); //cycle through all items added to the grid(s) and update based on the observation item "OS_Checkbox 1" being selected/de-selected for x in (1 seqto count formitemtype) do itemlist := last of (field_list.Value where field_list.DataItemName = formitemtype[x] and field_List.Control_MultiFieldOccNum = formitemnumber[x]); itemstf := call list_false_true with itemlist.IsSelected, itemselected; itemlist.IsSelected := itemstf; 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: