117 lines
3.6 KiB
Plaintext
117 lines
3.6 KiB
Plaintext
maintenance:
|
|
|
|
title: FORM_SET_PERIOPERATIVE_GLUCOSE_CONTROL;;
|
|
mlmname: FORM_SET_PERIOPERATIVE_GLUCOSE_CONTROL;;
|
|
arden: version 2.5;;
|
|
version: 5.50;;
|
|
institution: St Clair Hospital;;
|
|
author: Janet Nordin;;
|
|
specialist: Don Warnick;;
|
|
date: 2016-07-26;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: Upon open of the diabetic buttons, other buttons are selected
|
|
;;
|
|
|
|
explanation: This MLM is called from the Peri-Operative Glucose Control Order Set
|
|
|
|
|
|
Change history
|
|
|
|
07.26.2016 - DJW CSR# 34934 - Created
|
|
|
|
|
|
;;
|
|
keywords: Called MLMs,
|
|
;;
|
|
knowledge:
|
|
type: data-driven;;
|
|
data:
|
|
|
|
(this_communication, this_form, client_info_obj) := argument;
|
|
|
|
standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
|
include standard_libs;
|
|
|
|
using "ObjectsPlusXA.SCM.Forms";
|
|
using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms";
|
|
|
|
log_execution_info := FALSE;
|
|
error_message:="";
|
|
|
|
field_list:= this_form.fields;
|
|
|
|
client_guid := this_communication.ClientGUID;
|
|
visit_guid := this_communication.ClientVisitGUID;
|
|
chart_guid := this_communication.ChartGuid;
|
|
CallingEvent := this_communication.CallingEvent;
|
|
CallingField := this_communication.CallingFieldName;
|
|
|
|
|
|
Diabetic := first of (field_list where field_list.DataItemName = "Diabetic Patient");
|
|
NonDiabetic_GT:= first of (field_list where field_list.DataItemName = "Non-Diabetic patients");
|
|
NonDiabetic_LT:= first of (field_list where field_list.DataItemName = "Non-Diabetic");
|
|
|
|
InsulinGrid := first of (field_list where field_list.DataItemName = "MultiOrderGrid" and field_List.Control_MultiFieldOccNum = 65);
|
|
NursingGrid := first of (field_list where field_list.DataItemName = "MultiOrderGrid" and field_List.Control_MultiFieldOccNum = 69);
|
|
|
|
RequiredField:= first of (field_list where field_list.DataItemName = "Required Field");
|
|
|
|
// Determine which box was selected and de-select the other 2
|
|
|
|
If this_communication.CallingFieldName = "Diabetic Patient|1" and Diabetic.Value = true
|
|
then
|
|
SelectedBox:= "Diabetic"; NonDiabetic_GT.Value:= false; NonDiabetic_LT.Value:= false; RequiredField.Value := "Glucose Control Addressed";
|
|
|
|
elseif this_communication.CallingFieldName = "Non-Diabetic patients|1" and NonDiabetic_GT.Value = true
|
|
then
|
|
SelectedBox:= "NonDiabeticGT"; Diabetic.Value:= false; NonDiabetic_LT.Value:= false; RequiredField.Value := "Glucose Control Addressed";
|
|
|
|
elseif this_communication.CallingFieldName = "Non-Diabetic|1" and NonDiabetic_LT.Value = true
|
|
then
|
|
SelectedBox:= "NonDiabeticLT"; Diabetic.Value:= false; NonDiabetic_GT.Value:= false; RequiredField.Value := "Glucose Control Addressed";
|
|
|
|
else SelectedBox := ""; RequiredField.Value := "";
|
|
endif;
|
|
|
|
|
|
|
|
// De-select and protect both grids
|
|
|
|
index_list := 1 seqto (count NursingGrid.Value);
|
|
for I in index_list do
|
|
InsulinGrid.Value[I].IsSelected := False;
|
|
InsulinGrid.Value[I].IsReadOnly := True;
|
|
NursingGrid.Value[I].IsSelected := False;
|
|
NursingGrid.Value[I].IsReadOnly := True;
|
|
enddo;
|
|
|
|
|
|
// Select both grids
|
|
|
|
index_list := 1 seqto (count NursingGrid.Value);
|
|
for J in index_list do
|
|
If SelectedBox = "Diabetic" or SelectedBox = "NonDiabeticGT"
|
|
then
|
|
NursingGrid.Value[J].IsSelected := True;
|
|
InsulinGrid.Value[J].IsSelected := True;
|
|
else
|
|
NursingGrid.Value[J].IsSelected := False;
|
|
InsulinGrid.Value[J].IsSelected := False;
|
|
endif;
|
|
|
|
enddo;
|
|
|
|
|
|
;;
|
|
evoke:
|
|
;;
|
|
logic:
|
|
conclude true;
|
|
;;
|
|
action:
|
|
return this_communication, this_form;
|
|
;;
|
|
end:
|