202 lines
6.9 KiB
Plaintext
202 lines
6.9 KiB
Plaintext
maintenance:
|
|
|
|
title: Ordering: Prevent the selection of conflicting Isolation Types and require at least one type be selected;;
|
|
mlmname: FORM_MICRO_GRAM_STAIN;;
|
|
arden: version 2;;
|
|
version: 4.50;;
|
|
institution: St Clair Isolation Set MLM;;
|
|
author: Don Warnick, Eclipsys Corp;;
|
|
specialist: ;;
|
|
date: 2006-08-13;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: Guide the user to proper message structure when inputting Specimen Source
|
|
;;
|
|
|
|
explanation: This MLM is called from the Laboratory Micro Gram Stain Only form.
|
|
If Specimen Source is Tissue, then Additional Information is mandatory
|
|
If Specimen Source is Synovial Fluid, then Site for Synovial Fluid is mandatory
|
|
If Specimen Source is not on the list, then Specify Specimen Source is mandatory
|
|
If Specify Specimen Source Type is Body Fluid or Exudate, Type in Spec Source is mandatory
|
|
|
|
If these are untrue the boxes are read-only and their values are blank
|
|
|
|
|
|
;;
|
|
keywords: Called MLMs, Form fields, Specimen Source, Addl Information, Synovial Fluid, Specify Source
|
|
;;
|
|
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;
|
|
|
|
//
|
|
|
|
Specimen_source := last of (field_list where field_list.DataItemName = "LAB_RC_SDES_MicroSource_GramStainOnly" );
|
|
Specify_site_for_synovial := last of (field_list where field_list.DataItemName = "LAB_SREQ_VO_DI_SiteSynovialJointFluid" );
|
|
Specimen_not_in_list := last of (field_list where field_list.DataItemName = "LAB_Micro_CB_SpecimenNotInList" );
|
|
Specify_specimen_source := last of (field_list where field_list.DataItemName = "LAB_RC_SDES_MicroExBF_Sites" );
|
|
Type_in_specimen_source := last of (field_list where field_list.DataItemName = "LAB_SREQ_VO_FT_MicroTypeIn" );
|
|
Additional_Information := last of (field_list where field_list.DataItemName = "LAB_SREQ_VO_DI_MicroDescript" );
|
|
Right_box := last of (field_list where field_list.DataItemName = "LAB_SREQ_LO_CB_Micro_Right" );
|
|
Superficial_box := last of (field_list where field_list.DataItemName = "LAB_SREQ_LO_CB_Micro_Superficial" );
|
|
Left_box := last of (field_list where field_list.DataItemName = "LAB_SREQ_LO_CB_Micro_Left" );
|
|
Deep_box := last of (field_list where field_list.DataItemName = "LAB_SREQ_LO_CB_Micro_Deep" );
|
|
|
|
|
|
If CallingEvent = "FieldChange"
|
|
then
|
|
|
|
If CallingField = "LAB_RC_SDES_MicroSource_GramStainOnly"
|
|
then
|
|
Additional_Information.control_mandatory := False;
|
|
Additional_Information.control_read_only := True;
|
|
Additional_Information.value:="";
|
|
|
|
Right_box.control_mandatory := False;
|
|
Right_box.control_read_only := True;
|
|
Right_box.value:="";
|
|
|
|
Superficial_box.control_mandatory := False;
|
|
Superficial_box.control_read_only := True;
|
|
Superficial_box.value:="";
|
|
|
|
Left_box.control_mandatory := False;
|
|
Left_box.control_read_only := True;
|
|
Left_box.value:="";
|
|
|
|
Deep_box.control_mandatory := False;
|
|
Deep_box.control_read_only := True;
|
|
Deep_box.value:="";
|
|
|
|
Specify_site_for_synovial .control_mandatory := False;
|
|
Specify_site_for_synovial .control_read_only := True;
|
|
Specify_site_for_synovial .value:="";
|
|
|
|
Specify_specimen_source.control_mandatory := False;
|
|
Type_in_specimen_source.control_mandatory := False;
|
|
|
|
If Specimen_source.Value = "Tissue (TIS)"
|
|
then
|
|
|
|
Additional_Information.control_mandatory := True;
|
|
Additional_Information.control_read_only := False;
|
|
|
|
Right_box.control_read_only := False;
|
|
Superficial_box.control_read_only := False;
|
|
Left_box.control_read_only := False;
|
|
Deep_box.control_read_only := False;
|
|
|
|
elseif Specimen_source.Value = "Synovial Joint Fluid (SYN)"
|
|
then
|
|
|
|
Specify_site_for_synovial.control_mandatory := True;
|
|
Specify_site_for_synovial.control_read_only := False;
|
|
|
|
endif;
|
|
|
|
elseif CallingField = "LAB_Micro_CB_SpecimenNotInList"
|
|
then
|
|
|
|
If Specimen_not_in_list.Value = True
|
|
|
|
then
|
|
Specify_specimen_source.control_read_only := False;
|
|
|
|
Specimen_source .control_read_only:= True;
|
|
Specimen_source.Value:="";
|
|
|
|
Specify_site_for_synovial .control_mandatory := False;
|
|
Specify_site_for_synovial .control_read_only := True;
|
|
Specify_site_for_synovial .value:="";
|
|
|
|
Additional_Information.control_mandatory := False;
|
|
Additional_Information.control_read_only := True;
|
|
Additional_Information.value:="";
|
|
|
|
Right_box.control_mandatory := False;
|
|
Right_box.control_read_only := True;
|
|
Right_box.value:="";
|
|
|
|
Superficial_box.control_mandatory := False;
|
|
Superficial_box.control_read_only := True;
|
|
Superficial_box.value:="";
|
|
|
|
Left_box.control_mandatory := False;
|
|
Left_box.control_read_only := True;
|
|
Left_box.value:="";
|
|
|
|
Deep_box.control_mandatory := False;
|
|
Deep_box.control_read_only := True;
|
|
Deep_box.value:="";
|
|
|
|
else
|
|
Specify_specimen_source.control_read_only := True;
|
|
Specify_specimen_source.value:="";
|
|
|
|
Specimen_source .control_read_only:= False;
|
|
|
|
Type_in_specimen_source.control_mandatory := False;
|
|
Type_in_specimen_source.control_read_only:= True;
|
|
Type_in_specimen_source.value:="";
|
|
|
|
endif;
|
|
|
|
elseif CallingField = "LAB_RC_SDES_MicroExBF_Sites"
|
|
then
|
|
|
|
Type_in_specimen_source.control_mandatory := False;
|
|
Type_in_specimen_source.control_read_only:= True;
|
|
Type_in_specimen_source.value:="";
|
|
|
|
If Specify_specimen_source .Value is in ("Body Fluid (FLD)" , "Exudate (EX)")
|
|
then
|
|
Type_in_specimen_source.control_mandatory := True;
|
|
Type_in_specimen_source.control_read_only:= False;
|
|
|
|
endif;
|
|
|
|
endif;
|
|
|
|
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:
|