148 lines
4.3 KiB
Plaintext
148 lines
4.3 KiB
Plaintext
maintenance:
|
|
|
|
title: FORM_SET_PERICARDIOCENTESIS_LABS;;
|
|
mlmname: FORM_SET_PERICARDIOCENTESIS_LABS;;
|
|
arden: version 2.5;;
|
|
version: 5.50;;
|
|
institution: St Clair Hospital;;
|
|
author: Shawn Head, Allscripts ;;
|
|
specialist: Michelle Palmer, Allscripts;;
|
|
date: 2012-12-03;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose: Lab orders entered on Pericarocentesis Order Sets need to display on MI and Cytology requisitions
|
|
;;
|
|
|
|
explanation: This MLM is called from ...
|
|
|
|
Change history
|
|
2012.12.03 STH CSR 30985: Created from copy of FORM_SET_THORACENTESIS_LABS {Go-Live 12/4/2018}
|
|
|
|
|
|
|
|
;;
|
|
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;
|
|
|
|
CT_Pericard_fld := last of (field_list WHERE field_list.DataItemName = "MultiOrderGrid"
|
|
and field_list.Control_MultiFieldOccNum = 2);
|
|
CT_Pericard_fld_list := CT_Pericard_fld.Value;
|
|
|
|
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);
|
|
|
|
lablist := null;
|
|
cytologylist := null;
|
|
if (CallingEvent = "FieldChange")then
|
|
if (CallingField = "MultiOrderGrid|2") then
|
|
if (CT_Pericard_fld_list.IsSelected[1] = true) then
|
|
Labs_fld.Value.IsSelected := true;
|
|
else
|
|
Labs_fld.Value.IsSelected := false;
|
|
endif;
|
|
endif;
|
|
|
|
(this_communication, this_form) := call generic_item_control WITH (this_communication, this_form, client_info_obj);
|
|
if (CT_Pericard_fld_list.IsSelected[1] = true) then
|
|
for i in 1 seqto (count Labs_fld_List.Name) do
|
|
if(Labs_fld.Value.IsSelected[i] = true) then
|
|
if (not (Labs_fld_List.Name[i] matches pattern "%Cytology%")) then
|
|
if (lablist IS NULL) then
|
|
lablist := Labs_fld_List.Name[i];
|
|
else
|
|
lablist := lablist || ", " || Labs_fld_List.Name[i];
|
|
endif;
|
|
else
|
|
if (cytologylist IS NULL) then
|
|
cytologylist := Labs_fld_List.Name[i];
|
|
else
|
|
cytologylist := cytologylist || ", " || Labs_fld_List.Name[i];
|
|
endif;
|
|
endif;
|
|
endif;
|
|
enddo;
|
|
else
|
|
cytologylist := ();
|
|
lablist := ();
|
|
endif;
|
|
|
|
|
|
Labs_List_fld.Value := "";
|
|
Cytology_List_fld.Value := "";
|
|
|
|
if lablist <> "" and lablist is not null then
|
|
Labs_List_fld.Value := "Labs: " || lablist || CR || LF;
|
|
endif;
|
|
if cytologylist <> "" and cytologylist is not null then
|
|
Cytology_List_fld.Value := "Cytology: " || cytologylist || 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:
|