94 lines
2.8 KiB
Plaintext
94 lines
2.8 KiB
Plaintext
maintenance:
|
|
|
|
title: FORM_Func_Disable_OS_Checkboxes;;
|
|
mlmname: FORM_Func_Disable_OS_Checkboxes;;
|
|
arden: version 2.5;;
|
|
version: 15.1;;
|
|
institution: St Clair Hospital;;
|
|
author: Juliet Law, Allscripts ;;
|
|
specialist: ;;
|
|
date: 2016-05-05;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: Functional MLM to disable / enable grouping of checkbox fields on an order set
|
|
;;
|
|
|
|
explanation: This MLM will be a functional call from Order set MLMs when needing to disable / enable a grouping
|
|
of checkbox fields.
|
|
|
|
Change history
|
|
05.05.2016 JML Created
|
|
|
|
|
|
;;
|
|
keywords: Called MLMs, checkbox, fields
|
|
;;
|
|
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
|
|
callingField, //checkbox field that initiated the disable / enable of other checkboxes
|
|
readOnlyVal, //Disable v. enable
|
|
exceptionLst //Checkboxes to leave alone
|
|
) := argument;
|
|
|
|
standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
|
include standard_libs;
|
|
|
|
str_parse := MLM {{{SINGLE-QUOTE}}}UTIL_STRING_PARSE{{{SINGLE-QUOTE}}};
|
|
|
|
using "ObjectsPlusXA.SCM.Forms";
|
|
using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms";
|
|
|
|
ClientGuid := this_communication.ClientGUID;
|
|
ChartGuid := this_communication.ChartGUID;
|
|
ClientVisitGuid := this_communication.ClientVisitGUID;
|
|
|
|
field_list := this_form.fields;
|
|
|
|
/*******************Make Changes To Spelling And Flags In This Section*******************/
|
|
|
|
/* Set to True if a decision.log is needed.*/
|
|
log_execution_info := False;
|
|
|
|
//------------------------------------------------------------
|
|
// Define the ObjectsPlus destinations
|
|
//------------------------------------------------------------
|
|
|
|
for i in 1 seqto ( count field_list ) do
|
|
|
|
if ( field_list.DataItemName[i] matches pattern "PRX_Checkbox%" ) then
|
|
concatCurrField := field_list.DataItemName[i] || "|" || field_list.Control_MultiFieldOccNum[i];
|
|
|
|
if ( concatCurrField <> callingField ) then
|
|
if ( NOT ( concatCurrField IN exceptionLst ) ) then
|
|
affectedFld := first of ( field_list WHERE field_list.DataItemName = field_list.DataItemName[i]
|
|
AND field_list.Control_MultiFieldOccNum = field_list.Control_MultiFieldOccNum[i] );
|
|
|
|
affectedFld.Control_Read_Only := readOnlyVal;
|
|
endif;
|
|
endif;
|
|
endif;
|
|
enddo;
|
|
;;
|
|
evoke: // No evoke statement
|
|
;;
|
|
logic:
|
|
|
|
conclude True;
|
|
;;
|
|
action:
|
|
// This MLM returns two parameters, of types communication_type and form_type respectively.
|
|
return true;
|
|
;;
|
|
Urgency: 50;;
|
|
end:
|