Initial Checking with all 820 MLMs
This commit is contained in:
261
MLMStripper/bin/Debug/FORM/FORM_SET_THORACENTESIS_LABS.mlm
Normal file
261
MLMStripper/bin/Debug/FORM/FORM_SET_THORACENTESIS_LABS.mlm
Normal file
@@ -0,0 +1,261 @@
|
||||
maintenance:
|
||||
|
||||
title: FORM_SET_THORACENTESIS_LABS;;
|
||||
mlmname: FORM_SET_THORACENTESIS_LABS;;
|
||||
arden: version 2.5;;
|
||||
version: 5.50;;
|
||||
institution: St Clair Hospital;;
|
||||
author: Juliet M. Law, Allscripts ;;
|
||||
specialist: Maria Pest, Allscripts;;
|
||||
date: 2012-12-03;;
|
||||
validation: testing;;
|
||||
|
||||
library:
|
||||
purpose: Lab orders entered on Thoracentesis and Paracentesis Order Sets need to display on MI and Cytology requisitions
|
||||
;;
|
||||
|
||||
explanation: This MLM is called from ...
|
||||
|
||||
Change history
|
||||
2012.12.03 JML CSR 30985: Created
|
||||
2014.07.28 STH CSR 31956: Rewrote MLM to work based on Bryans MLM specs. Also created a copy of this original MLM to still be used by the Thoracentesis Specimen Handling (CCM) Order set.
|
||||
The copied MLM was re-named to FORM_SET_CCM_THORA_SPEC_HAND
|
||||
|
||||
|
||||
|
||||
;;
|
||||
keywords: Called MLMs, Thoracentesis, Paracentesis
|
||||
;;
|
||||
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";
|
||||
|
||||
generic_item_control := mlm {{{SINGLE-QUOTE}}}FORM_SET_GENERIC_ITEM_CONTROL{{{SINGLE-QUOTE}}};
|
||||
|
||||
// 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;
|
||||
ClientGuid := this_communication.ClientGUID;
|
||||
FormName := this_form.Name;
|
||||
|
||||
CR := 13 formatted with "%c";
|
||||
LF := 10 formatted with "%c";
|
||||
|
||||
//Retrieve fields
|
||||
Labs_fld := last of (field_list WHERE field_list.DataItemName = "MultiOrderCheckbox"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
Labs_fld_List := Labs_fld.Value;
|
||||
|
||||
US_Thor_fld := last of (field_list WHERE field_list.DataItemName = "MultiOrderGrid"
|
||||
and field_list.Control_MultiFieldOccNum = 2);
|
||||
US_Thor_fld_List := US_Thor_fld.Value;
|
||||
|
||||
righ_labs_fld := last of (field_list WHERE field_list.DataItemName = "MultiOrderCheckBox"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
right_labs_list := righ_labs_fld.Value;
|
||||
|
||||
left_labs_fld := last of (field_list WHERE field_list.DataItemName = "MultiOrderCheckBox"
|
||||
and field_list.Control_MultiFieldOccNum = 2);
|
||||
left_labs_list := left_labs_fld.Value;
|
||||
|
||||
tbd_labs_fld := last of (field_list WHERE field_list.DataItemName = "MultiOrderCheckBox"
|
||||
and field_list.Control_MultiFieldOccNum = 3);
|
||||
tbd_labs_list := left_labs_fld.Value;
|
||||
|
||||
fld_sideSpecific := last of (field_list WHERE field_list.DataItemName = "MI_MR_VO_OBR31P2_Thoracentesis");
|
||||
fld_diagtherapy := last of (field_list WHERE field_list.DataItemName = "MI_MR_VO_OBR31P2_Thora Diag/Thera");
|
||||
|
||||
SideSelected := fld_sideSpecific.value;
|
||||
DiagSelected := fld_diagtherapy.value;
|
||||
|
||||
Labs_Right_Left_fld := last of (field_list WHERE field_list.DataItemName = "LAB_VO_Right or Left");
|
||||
//and field_list.Control_MultiFieldOccNum = 1);
|
||||
|
||||
Labs_Right_Left2_fld := last of (field_list WHERE field_list.DataItemName = "LAB_SREQ_VO_DI_Left or Right");
|
||||
//and field_list.Control_MultiFieldOccNum = 1);
|
||||
|
||||
Labs_List_fld := last of (field_list WHERE field_list.DataItemName = "Labs on Centesis"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
|
||||
Cytology_List_fld := last of (field_list WHERE field_list.DataItemName = "Cytology on Centesis"
|
||||
and field_list.Control_MultiFieldOccNum = 1);
|
||||
|
||||
|
||||
if (CallingEvent = "FieldChange") then
|
||||
|
||||
if (CallingField = "MI_MR_VO_OBR31P2_Thoracentesis|1" or CallingField = "MI_MR_VO_OBR31P2_Thora Diag/Thera|1") then
|
||||
if ((DiagSelected <> "Therapeutic Process") and (DiagSelected <> "")) then
|
||||
|
||||
if SideSelected = "Left" then
|
||||
righ_labs_fld.Value.IsSelected := false;
|
||||
tbd_labs_fld.Value.IsSelected := false;
|
||||
left_labs_fld.Value.IsSelected := true;
|
||||
|
||||
elseif SideSelected = "Right" then
|
||||
righ_labs_fld.Value.IsSelected := true;
|
||||
left_labs_fld.Value.IsSelected := false;
|
||||
tbd_labs_fld.Value.IsSelected := false;
|
||||
|
||||
elseif Sideselected = "Right and Left" then
|
||||
righ_labs_fld.Value.IsSelected := true;
|
||||
left_labs_fld.Value.IsSelected := true;
|
||||
tbd_labs_fld.Value.IsSelected := false;
|
||||
|
||||
elseif Sideselected = "TBD by IR" then
|
||||
righ_labs_fld.Value.IsSelected := false;
|
||||
left_labs_fld.Value.IsSelected := false;
|
||||
tbd_labs_fld.Value.IsSelected := true;
|
||||
|
||||
else
|
||||
righ_labs_fld.Value.IsSelected := false;
|
||||
left_labs_fld.Value.IsSelected := false;
|
||||
tbd_labs_fld.Value.IsSelected := false;
|
||||
|
||||
endif;
|
||||
|
||||
|
||||
else
|
||||
righ_labs_fld.Value.IsSelected := false;
|
||||
left_labs_fld.Value.IsSelected := false;
|
||||
tbd_labs_fld.Value.IsSelected := false;
|
||||
endif;
|
||||
|
||||
endif;
|
||||
|
||||
leftlabs := "";
|
||||
rightlabs := "";
|
||||
tbdlabs := "";
|
||||
leftcytology := "";
|
||||
rightcytology := "";
|
||||
tbdcytology := "";
|
||||
cytology := "";
|
||||
|
||||
for i in 1 seqto (count right_labs_list.Name) do
|
||||
if (not (right_labs_list.Name[i] matches pattern "%Cytology%")) then
|
||||
if (righ_labs_fld.Value.IsSelected[i]) then
|
||||
if (rightlabs IS NULL) then
|
||||
rightlabs := right_labs_list.Name[i];
|
||||
else
|
||||
rightlabs := rightlabs || ", " || right_labs_list.Name[i];
|
||||
endif;
|
||||
endif;
|
||||
else
|
||||
if (righ_labs_fld.Value.IsSelected[i]) then
|
||||
if (rightcytology IS NULL) then
|
||||
rightcytology := right_labs_list.Name[i];
|
||||
else
|
||||
rightcytology := rightcytology || ", " || right_labs_list.Name[i];
|
||||
endif;
|
||||
endif;
|
||||
endif;
|
||||
enddo;
|
||||
|
||||
for i in 1 seqto (count left_labs_list.Name) do
|
||||
if (not (left_labs_list.Name[i] matches pattern "%Cytology%")) then
|
||||
if (left_labs_fld.Value.IsSelected[i]) then
|
||||
if (leftlabs IS NULL) then
|
||||
leftlabs := left_labs_list.Name[i];
|
||||
else
|
||||
leftlabs := leftlabs || ", " || left_labs_list.Name[i];
|
||||
endif;
|
||||
endif;
|
||||
else
|
||||
if (left_labs_fld.Value.IsSelected[i]) then
|
||||
if (leftcytology IS NULL) then
|
||||
leftcytology := left_labs_list.Name[i];
|
||||
else
|
||||
leftcytology := leftcytology || ", " || left_labs_list.Name[i];
|
||||
endif;
|
||||
endif;
|
||||
endif;
|
||||
enddo;
|
||||
|
||||
for i in 1 seqto (count tbd_labs_list.Name) do
|
||||
if (not (tbd_labs_list.Name[i] matches pattern "%Cytology%")) then
|
||||
if (tbd_labs_fld.Value.IsSelected[i]) then
|
||||
if (tbdlabs IS NULL) then
|
||||
tbdlabs := tbd_labs_list.Name[i];
|
||||
else
|
||||
tbdlabs := tbdlabs || ", " || tbd_labs_list.Name[i];
|
||||
endif;
|
||||
endif;
|
||||
else
|
||||
if (tbd_labs_fld.Value.IsSelected[i]) then
|
||||
if (tbdcytology IS NULL) then
|
||||
tbdcytology := tbd_labs_list.Name[i];
|
||||
else
|
||||
tbdcytology := tbdcytology || ", " || tbd_labs_list.Name[i];
|
||||
endif;
|
||||
endif;
|
||||
endif;
|
||||
|
||||
enddo;
|
||||
Labs_List_fld.Value := "";
|
||||
Cytology_List_fld.Value := "";
|
||||
if leftlabs <> "" and leftlabs is not null then
|
||||
Labs_List_fld.Value := "Left Labs: " || leftlabs || CR || LF;
|
||||
endif;
|
||||
if leftcytology <> "" and leftcytology is not null then
|
||||
Cytology_List_fld.Value := "Left Cytology: " || leftcytology || CR || LF;
|
||||
endif;
|
||||
if rightlabs <> "" and rightlabs is not null then
|
||||
Labs_List_fld.Value := Labs_List_fld.Value || "Right Labs: " || rightlabs || CR || LF;
|
||||
endif;
|
||||
if rightcytology <> "" and rightcytology is not null then
|
||||
Cytology_List_fld.Value := Cytology_List_fld.Value || "Right Cytology: " || rightcytology || CR || LF;
|
||||
endif;
|
||||
|
||||
if tbdlabs <> "" and tbdlabs is not null then
|
||||
Labs_List_fld.Value := Labs_List_fld.Value || "TBD Labs: " || tbdlabs || CR || LF;
|
||||
endif;
|
||||
|
||||
if tbdcytology <> "" and tbdcytology is not null then
|
||||
Cytology_List_fld.Value := Cytology_List_fld.Value || "TBD Cytology: " || tbdcytology || CR || LF;
|
||||
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:
|
||||
Reference in New Issue
Block a user