maintenance: title: Admission Orders - alcohol Withdrawal Protocol;; mlmname: FORM_Set_ED_Admit_AWP;; arden: version 2.5;; version: 5.50;; institution: St Clair Hospital;; author: Teresa Spicuzza, Allscripts ;; specialist: Teresa Spicuzza, Allscripts;; date: 2011-04-01;; validation: testing;; library: purpose: Used for Admission Orders - Alcohol Withdrawal Protocol ;; explanation: This MLM is called from ...Admission Alcohol Withdrawal Protocol Orderset Change history 08.04.2011 TMS Put into production ;; keywords: Called MLMs, Lab Grids on Order Sets, Inital ED ;; knowledge: type: data-driven;; data: standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}}; include standard_libs; using "ObjectsPlusXA.SCM.Forms"; using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms"; // 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; //Get the multi order grid check box value Checkbox_fld := last of (field_list where field_list.DataItemName = "PRX_Checkbox1"); // and field_List.Control_MultiFieldOccNum = 1); Ativan_grid := last of (field_list where field_list.DataItemName = "MultiOrderGrid" and field_List.Control_MultiFieldOccNum = 64); Ativan_list :=Ativan_grid.Value; Ativan_SelList := Ativan_List.IsSelected; Other_Med_Grid:= first of (field_list where field_list.DataItemName = "MultiOrderGrid" and field_List.Control_MultiFieldOccNum = 66); Other_Med_list := Other_Med_Grid.Value; Nurse_Inst_Grid:= first of (field_list where field_list.DataItemName = "MultiOrderGrid" and field_List.Control_MultiFieldOccNum = 48); Nurse_Inst_List := Nurse_Inst_Grid.Value; // Found_DeSelect:= First of (Grid_list where Grid_list.Name = DeSelect ); If CallingEvent = "FieldChange" Then If Callingfield = "PRX_Checkbox1|1" then If Checkbox_fld.Value = False then ListMembs:= count Ativan_SelList; FalseList := (); for k in (1 seqto ListMembs) do FalseList := FalseList,False; enddo; Ativan_List.IsSelected:= FalseList; endif; // If Checkbox_fld.Value = False then InstMembs:= count Nurse_Inst_List; schedlist:= (True, False, False); p:=4; for p in (4 seqto InstMembs) do schedlist := schedlist, Nurse_Inst_List.isselected [p]; enddo; Nurse_Inst_List.IsSelected := schedlist; endif; // If Checkbox_fld.Value = True then ListMembs:= count Ativan_SelList; TrueList := (); for k in (1 seqto ListMembs) do TrueList := TrueList,True; enddo; Ativan_List.IsSelected:= TrueList; endif; // If Checkbox_fld.Value = True then InstMembs:= count Nurse_Inst_List; schedlist:= (True, True, True); p:=4; for p in (4 seqto InstMembs) do schedlist := schedlist, Nurse_Inst_List.isselected [p]; enddo; Nurse_Inst_List.IsSelected := schedlist; endif; // endif; endif; If CallingField = "MultiOrderGrid|66" and CallingEvent = "FieldChange" Then blocklist2 := (False, False, False); blocklist3 := (False, False); truelist2 := (False, False, False); truelist3 := (False, False); If Other_Med_list.IsSelected [1] = true then truelist2 := (True, False, False); blocklist2 := (False, True, True); endif; If Other_Med_list.IsSelected [2] = true then truelist2 := (False, True, False); blocklist2 := (True, False, True); endif; If Other_Med_list.IsSelected [3] = true then truelist2 := (False, False, True); blocklist2 := (True, True, False); endif; If Other_Med_list.IsSelected [4] = true then truelist3 := (True, False); blocklist3 := (False, True); endif; If Other_Med_list.IsSelected [5] = true then truelist3 := (False, True); blocklist3 := (True, False); endif; blocklistA:= blocklist2, blocklist3; truelistA:= truelist2, truelist3; r:=6; listother := count Other_Med_list; for r in (6 seqto listother) do truelistA := truelistA, other_med_list.isselected [r]; blocklistA := blocklistA, false; enddo; Other_Med_list.IsSelected := truelistA; Other_Med_list.IsReadOnly := blocklistA; //dialogResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Other_med_list: "||Other_Med_list.IsSelected ||"\n truelist2: "|| truelist2 ||"\n Value of r: "|| r ,"Alert","OK" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}}; 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: