Initial Checking with all 820 MLMs

This commit is contained in:
2020-02-02 00:54:01 -05:00
parent c59dc6de2e
commit 840d0432f4
828 changed files with 239162 additions and 0 deletions

View File

@@ -0,0 +1,324 @@
maintenance:
title: DOC_FUNC_NEWBORN_ASSESSSMENT;;
mlmname: DOC_FUNC_NEWBORN_ASSESSSMENT;;
arden: version 5.0;;
version: 2.00;;
institution: St.Clair Hospital;;
author: Peggy Karish;;
specialist: Don Warnick ;;
date: 2014-07-30;;
validation: testing;;
library:
purpose:
;;
explanation: This MLM manages will popultate fields on the Newborn Assessment Structured Note
Change history
07.30.2014 DW CSR# 32407 - Created
08.03.2015 GOS CSR#32427 - added code for Vital Sign in Newborn Assessment flowsheet
03.16.2016 DW HD#1681011 - The newborn assessment MLM is not retrieving the Transcutaneous Bilirubin Level into the Newborn Assessment TCB Screen field
;;
keywords:
;;
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";
// Recieve arguments from the structured note
(thisDocumentCommunication) := argument;
// Extract interesting parts of the object model
(thisStructuredNoteDoc) := thisDocumentCommunication.DocumentConfigurationObj;
(thisParameters) := thisStructuredNoteDoc.ParametersList;
(thisObservations) := thisStructuredNoteDoc.ChartedObservationsList;
// Create prototypes for the object types we{{{SINGLE-QUOTE}}}ll need to instantiate
ObservationType := OBJECT [ObservationGUID, ClientDocumentGUID, ParameterGUID, DataType, ValueObj];
FreeTextValueType := OBJECT [Value];
DateValueType := OBJECT [Value];
ListValueType := OBJECT [ListGuid,ListItemsList, SuggestedTextValue];
ListValueListItemType := OBJECT [ListItemGUID, Value, IsSelected];
// Get the client and visit GUIDs
clientGuid := thisDocumentCommunication.ClientGUID;
visitGuid := thisDocumentCommunication.ClientVisitGUID;
chartGuid := thisDocumentCommunication.ChartGUID;
userGuid := thisDocumentCommunication.UserGUID;
// DOCUMENT OPENING SECTION
IF thisdocumentCommunication.EventType = "DocumentOpening"
then
// GATHER DATA
(NewbornData) := read
{
" CREATE TABLE #tmp_aaa ( ID int IDENTITY(1, 1), touchedwhen datetime, data varchar(200), latestdate datetime, field int) "
|| " SET CONCAT_NULL_YIELDS_NULL off "
|| " INSERT INTO #tmp_aaa (field,touchedwhen,data) "
|| " select "
|| " case when ocmi.name in "
|| " ( "
|| " {{{SINGLE-QUOTE}}}as deliv vag type ob{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCHCK deliv csect performed{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}INV deliv vag assist type ob{{{SINGLE-QUOTE}}} "
|| " ) "
|| " then 1 "
|| " when ocmi.name in "
|| " ( "
|| " {{{SINGLE-QUOTE}}}PRO blood type routine panel{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}PRO group b strep ob DT{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}PRO group b strep ob{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}PRO group a status{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}PRO group b status{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}PRO hbsag routine panel{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}PRO rubella routine panel{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}PRO vdrl routine panel{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}Pro pos tmt routine panel{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}PRO vdrl post treat routine panel{{{SINGLE-QUOTE}}} "
|| " ) "
|| " then 2 "
|| " when ocmi.name in "
|| " ( "
|| " {{{SINGLE-QUOTE}}}as deliv baby a time ob DT{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}as deliv baby b time ob DT{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a sex ob{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b sex ob{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a wt gm ob NU{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b wt gm ob NU{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a wt lb ob CAL{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b wt lb ob CAL{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a wt oz ob CAL{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b wt oz ob CAL{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a length inch ob CAL{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b length inch ob CAL{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a length cm ob CAL{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b length cm ob CAL{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a head circum ob NU{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b head circum ob NU{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a gestational age ob NU{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b gestational age ob NU{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS SC deliv apgar a1 score ob CAL{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS SC deliv apgar b1 score ob CAL{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS SC deliv apgar a5 score ob CAL{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS SC deliv apgar b5 score ob CAL{{{SINGLE-QUOTE}}} "
|| " ) "
|| " then 3 "
|| " when ocmi.name in "
|| " ( "
|| " {{{SINGLE-QUOTE}}}SCH_FBC_Init_Pulse Ox_Rt Hand{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_Init_Pulse Ox_Foot{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_Second_Pulse Ox_Rt Hand{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}SCH_FBC_Second_Pulse Ox_Foot{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_CHDS_Init_Pass Fail{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_CHDS_Second_Pass Fail{{{SINGLE-QUOTE}}} "
|| " ) "
|| " then 4 "
|| " when ocmi.name in "
|| " ( "
|| " {{{SINGLE-QUOTE}}}SCH_FBC_Bilimeter_gestational age{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_Bilimeter_Hourly Age{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_Bilimeter_Screen Date Time{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_Bilimeter_TCB Level{{{SINGLE-QUOTE}}}"
|| " ) "
|| " then 5 "
|| " when ocmi.name in "
|| " ( "
|| " {{{SINGLE-QUOTE}}}PRO screen hear result infant{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCHCK rescreen hear result infant{{{SINGLE-QUOTE}}}"
|| " ) "
|| " then 6 "
|| " when ocmi.name in "
|| " ( "
|| " {{{SINGLE-QUOTE}}}PRO feeding plan infant ob{{{SINGLE-QUOTE}}} "
|| " ) "
|| " then 7 "
|| " end , "
|| " cd.entered , CHAR(10) + CHAR(13) + ocmi.LeftJustifiedLabel + {{{SINGLE-QUOTE}}} : {{{SINGLE-QUOTE}}} + o.ValueText + {{{SINGLE-QUOTE}}} {{{SINGLE-QUOTE}}} + fsl.value "
|| " from CV3ClientDocument cd with (nolock) "
|| " join CV3ClientDocDetail cdd with (nolock) ON (cdd.ClientDocumentGUID = cd.GUID AND cdd.ClientGUID = " || ClientGuid || " and cdd.active = 1) "
|| " join CV3ObservationDocument od with (nolock)ON cdd.CLientDocumentGUID = od.OwnerGUID and od.active = 1 "
|| " join CV3Observation o with (nolock) ON o.GUID = od.ObservationGUID "
|| " join CV3ObsCatalogMasterItem ocmi with (nolock) on od.ObsMasterItemGUID = ocmi.GUID "
|| " left join SCMObsFSListValues fsl(nolock) ON (fsl.ParentGUID = od.ObservationDocumentGUID AND fsl.ClientGUID = " || ClientGuid || " ) "
|| " where cd.clientguid = " || ClientGuid || " and cd.ChartGUID = " || ChartGuid || " and cd.ClientVisitGUID= " || VisitGuid || " "
|| " and cd.iscanceled = 0 "
|| " and cd.documentname in ({{{SINGLE-QUOTE}}}Newborn Patient Profile{{{SINGLE-QUOTE}}} , {{{SINGLE-QUOTE}}}B1. Newborn Vital Signs{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}Newborn Hearing Screen{{{SINGLE-QUOTE}}}) "
|| " and (o.ValueText + fsl.value) is not null "
|| " and ocmi.name in "
|| " ( "
|| " {{{SINGLE-QUOTE}}}as deliv vag type ob{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCHCK deliv csect performed{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}INV deliv vag assist type ob{{{SINGLE-QUOTE}}} "
|| " , "
|| " {{{SINGLE-QUOTE}}}PRO blood type routine panel{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}PRO group b strep ob DT{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}PRO group b strep ob{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}PRO group a status{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}PRO group b status{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}PRO hbsag routine panel{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}PRO rubella routine panel{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}PRO vdrl routine panel{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}Pro pos tmt routine panel{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}PRO vdrl post treat routine panel{{{SINGLE-QUOTE}}} "
|| " , "
|| " {{{SINGLE-QUOTE}}}as deliv baby a time ob DT{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}as deliv baby b time ob DT{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a sex ob{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b sex ob{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a wt gm ob NU{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b wt gm ob NU{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a wt lb ob CAL{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b wt lb ob CAL{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a wt oz ob CAL{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b wt oz ob CAL{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a length inch ob CAL{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b length inch ob CAL{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a length cm ob CAL{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b length cm ob CAL{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a head circum ob NU{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b head circum ob NU{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS deliv baby a gestational age ob NU{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS deliv baby b gestational age ob NU{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS SC deliv apgar a1 score ob CAL{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS SC deliv apgar b1 score ob CAL{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}AS SC deliv apgar a5 score ob CAL{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}AS SC deliv apgar b5 score ob CAL{{{SINGLE-QUOTE}}} "
|| " , "
|| " {{{SINGLE-QUOTE}}}SCH_FBC_Init_Pulse Ox_Rt Hand{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_Init_Pulse Ox_Foot{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_Second_Pulse Ox_Rt Hand{{{SINGLE-QUOTE}}}, "
|| " {{{SINGLE-QUOTE}}}SCH_FBC_Second_Pulse Ox_Foot{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_CHDS_Init_Pass Fail{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_CHDS_Second_Pass Fail{{{SINGLE-QUOTE}}} "
|| " , "
|| " {{{SINGLE-QUOTE}}}SCH_FBC_Bilimeter_gestational age{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_Bilimeter_Hourly Age{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_Bilimeter_Screen Date Time{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCH_FBC_Bilimeter_TCB Level{{{SINGLE-QUOTE}}} "
|| " , "
|| " {{{SINGLE-QUOTE}}}PRO screen hear result infant{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}SCHCK rescreen hear result infant{{{SINGLE-QUOTE}}} "
|| " , "
|| " {{{SINGLE-QUOTE}}}PRO feeding plan infant ob{{{SINGLE-QUOTE}}} "
|| " ) "
|| " order by cd.touchedwhen desc "
|| " select cast (field as varchar) + {{{SINGLE-QUOTE}}}...{{{SINGLE-QUOTE}}} + data from #tmp_aaa order by field "
|| " drop table #tmp_aaa "
};
if exists NewbornData
then
NewbornDataText := " " || NewbornData;
str_parse := mlm {{{SINGLE-QUOTE}}}UTIL_STRING_PARSE{{{SINGLE-QUOTE}}};
calc_map_list := call str_parse with NewbornDataText,",";
TextFormatted1 := ".";
TextFormatted2 := ".";
TextFormatted3 := ".";
TextFormatted4 := ".";
TextFormatted5 := ".";
TextFormatted6 := ".";
TextFormatted7 := ".";
for i in 1 seqto count calc_map_list do
textbox := Substring 1 characters starting at 2 from calc_map_list[i] ;
if textbox = "1" then
TextFormatted1 := TextFormatted1 || (Substring 100 characters starting at 6 from calc_map_list[i]) ;
elseif textbox = "2" then
TextFormatted2 := TextFormatted2 || (Substring 100 characters starting at 6 from calc_map_list[i]) ;
elseif textbox = "3" then
TextFormatted3 := TextFormatted3 || (Substring 100 characters starting at 6 from calc_map_list[i]) ;
elseif textbox = "4" then
TextFormatted4 := TextFormatted4 || (Substring 100 characters starting at 6 from calc_map_list[i]) ;
elseif textbox = "5" then
TextFormatted5 := TextFormatted5 || (Substring 100 characters starting at 6 from calc_map_list[i]) ;
elseif textbox = "6" then
TextFormatted6 := TextFormatted6 || (Substring 100 characters starting at 6 from calc_map_list[i]) ;
elseif textbox = "7" then
TextFormatted7 := TextFormatted7 || (Substring 100 characters starting at 6 from calc_map_list[i]) ;
endif;
enddo;
// POPULATE THE FIELDS WITH THE DATA
// Populate the Delivery Information field
this_parametername := first of (thisParameters where thisParameters.Name = "SCH_NEWBORN_MLM Mom Info");
this_currentObj := NEW ObservationType;
this_currentObj.ClientDocumentGUID:= thisStructuredNoteDoc.ClientDocumentGUID;
this_currentObj.ParameterGUID := this_parametername.ParameterGUID;
this_currentObj.DataType := "FreeTextValue";
this_currentObj.ValueObj := New FreeTextValueType;
this_currentObj.ValueObj.Value := TextFormatted1;
thisStructuredNoteDoc.ChartedObservationsList := (thisstructuredNoteDoc.ChartedObservationsList, this_currentObj);
// Populate the Prenatal Lab Information field
this_parametername := first of (thisParameters where thisParameters.Name = "SCH_NEWBORN_MLM Prenatal Lab Info");
this_currentObj := NEW ObservationType;
this_currentObj.ClientDocumentGUID:= thisStructuredNoteDoc.ClientDocumentGUID;
this_currentObj.ParameterGUID := this_parametername.ParameterGUID;
this_currentObj.DataType := "FreeTextValue";
this_currentObj.ValueObj := New FreeTextValueType;
this_currentObj.ValueObj.Value := TextFormatted2;
thisStructuredNoteDoc.ChartedObservationsList := (thisstructuredNoteDoc.ChartedObservationsList, this_currentObj);
// Populate the Birth Information field
this_parametername := first of (thisParameters where thisParameters.Name = "SCH_NEWBORN_MLM Baby Info");
this_currentObj := NEW ObservationType;
this_currentObj.ClientDocumentGUID:= thisStructuredNoteDoc.ClientDocumentGUID;
this_currentObj.ParameterGUID := this_parametername.ParameterGUID;
this_currentObj.DataType := "FreeTextValue";
this_currentObj.ValueObj := New FreeTextValueType;
this_currentObj.ValueObj.Value := TextFormatted3;
thisStructuredNoteDoc.ChartedObservationsList := (thisstructuredNoteDoc.ChartedObservationsList, this_currentObj);
// Populate the Newborn Screening Information field
this_parametername := first of (thisParameters where thisParameters.Name = "SCH_NEWBORN_MLM Baby Screen Info");
this_currentObj := NEW ObservationType;
this_currentObj.ClientDocumentGUID:= thisStructuredNoteDoc.ClientDocumentGUID;
this_currentObj.ParameterGUID := this_parametername.ParameterGUID;
this_currentObj.DataType := "FreeTextValue";
this_currentObj.ValueObj := New FreeTextValueType;
this_currentObj.ValueObj.Value := TextFormatted4;
thisStructuredNoteDoc.ChartedObservationsList := (thisstructuredNoteDoc.ChartedObservationsList, this_currentObj);
// Populate the Newborn TCB Screening Information field
this_parametername := first of (thisParameters where thisParameters.Name = "SCH_NEWBORN_MLM Baby Screen TcB");
this_currentObj := NEW ObservationType;
this_currentObj.ClientDocumentGUID:= thisStructuredNoteDoc.ClientDocumentGUID;
this_currentObj.ParameterGUID := this_parametername.ParameterGUID;
this_currentObj.DataType := "FreeTextValue";
this_currentObj.ValueObj := New FreeTextValueType;
this_currentObj.ValueObj.Value := TextFormatted5;
thisStructuredNoteDoc.ChartedObservationsList := (thisstructuredNoteDoc.ChartedObservationsList, this_currentObj);
// Populate the Newborn Hearing Screening Information field
this_parametername := first of (thisParameters where thisParameters.Name = "SCH_NEWBORN_MLM Baby Screen Hearing");
this_currentObj := NEW ObservationType;
this_currentObj.ClientDocumentGUID:= thisStructuredNoteDoc.ClientDocumentGUID;
this_currentObj.ParameterGUID := this_parametername.ParameterGUID;
this_currentObj.DataType := "FreeTextValue";
this_currentObj.ValueObj := New FreeTextValueType;
this_currentObj.ValueObj.Value := TextFormatted6;
thisStructuredNoteDoc.ChartedObservationsList := (thisstructuredNoteDoc.ChartedObservationsList, this_currentObj);
// Populate the Newborn Feeding Plan Information field
this_parametername := first of (thisParameters where thisParameters.Name = "SCH_NEWBORN_MLM Baby Feeding");
this_currentObj := NEW ObservationType;
this_currentObj.ClientDocumentGUID:= thisStructuredNoteDoc.ClientDocumentGUID;
this_currentObj.ParameterGUID := this_parametername.ParameterGUID;
this_currentObj.DataType := "FreeTextValue";
this_currentObj.ValueObj := New FreeTextValueType;
this_currentObj.ValueObj.Value := TextFormatted7;
thisStructuredNoteDoc.ChartedObservationsList := (thisstructuredNoteDoc.ChartedObservationsList, this_currentObj);
endif; // Exists NewbornData
//Added below section show data in Vital sign I & O (Vikas) CSR : 33427 - Vital Sign for Newborn Assessment
if thisDocumentCommunication.DocumentName = "Newborn Assessment and Discharge Summary" then
DocVitalsHL2 := MLM {{{SINGLE-QUOTE}}}DOC_FUNC_NEWBORN_VS_24hrs{{{SINGLE-QUOTE}}};
thisDocumentCommunication := CALL DocVitalsHL2 WITH thisDocumentCommunication;
endif;
endif; // EventType = "DocumentOpening"
;;
evoke:
;;
logic: conclude true;
;;
action: return thisDocumentCommunication;
;;
Urgency: 50;;
end: