131 lines
4.5 KiB
Plaintext
131 lines
4.5 KiB
Plaintext
maintenance:
|
|
|
|
title: DOC_FUNC_COUMADIN_EDUCATION_OBS;;
|
|
mlmname: DOC_FUNC_COUMADIN_EDUCATION_OBS;;
|
|
arden: version 5.5;;
|
|
version: 2.50;;
|
|
institution: St.Clair Hospital;;
|
|
author: Juliet Law;;
|
|
specialist: Debbie Eiler;;
|
|
date: 2011-09-08;;
|
|
validation: testing;;
|
|
|
|
library:
|
|
purpose:
|
|
;;
|
|
explanation:
|
|
|
|
Change history
|
|
|
|
09.08.2011 JML Create date.
|
|
;;
|
|
keywords:
|
|
;;
|
|
knowledge:
|
|
type: data-driven;;
|
|
data:
|
|
|
|
// .Net assemblies required for ObjectsPlus
|
|
standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
|
include standard_libs;
|
|
|
|
// Receive arguments from the structured note
|
|
(thisDocumentCommunication) := argument;
|
|
|
|
// Configured parameter names that will be selected
|
|
USER_CONFIGURED_PARAMETER_NAMES := ("SCH_PHCO Warfarin Education",
|
|
"SCH_PHCO Warfarin Physician Contact",
|
|
"SCH_PHCO Warfarin Labwork");
|
|
|
|
//Document Types
|
|
STRUCTUREDNOTE := "StructuredNote";
|
|
|
|
//Event Types
|
|
DOCUMENTCLOSING := "DocumentClosing";
|
|
CHARTOBSERVATION := "ChartObservation";
|
|
|
|
//Setting debugFlag to True will allow popup dialogs containing debug information to appear
|
|
debugFlag := false;
|
|
|
|
// DocumentCommunication Object Model variables
|
|
(thisStructuredNoteDoc) := thisDocumentCommunication.DocumentConfigurationObj;
|
|
(thisParameters) := thisStructuredNoteDoc.ParametersList;
|
|
(thisObservations) := thisStructuredNoteDoc.ChartedObservationsList;
|
|
|
|
// Get the client, visit, chart, and user GUIDs
|
|
clientGuid := thisDocumentCommunication.ClientGUID;
|
|
visitGuid := thisDocumentCommunication.ClientVisitGUID;
|
|
chartGuid := thisDocumentCommunication.ChartGUID;
|
|
userGuid := thisDocumentCommunication.UserGUID;
|
|
|
|
//Set up debugging information to be captured
|
|
messageText := "";
|
|
if (debugFlag = true) then
|
|
messageText := "Debug Information:\n\n";
|
|
messageText := messageText || " DOC_FUNC_PT_CONSULT_FROM_ADM_OBS mlm called.\n\n";
|
|
endif;
|
|
|
|
// Parameter that will trigger selecting all coumadin edu obs
|
|
theParameterName := "SCH_PHCO Warfarin Education Y/N";
|
|
|
|
// Create prototypes for the object types we{{{SINGLE-QUOTE}}}ll need to instantiate
|
|
ObservationType := OBJECT [ObservationGUID, ClientDocumentGUID, ParameterGUID, DataType, ValueObj];
|
|
FreeTextValueType := OBJECT [Value];
|
|
ListValueType := OBJECT [ListGuid,ListItemsList, SuggestedTextValue];
|
|
ListValueListItemType := OBJECT [ListItemGUID, Value, IsSelected];
|
|
|
|
if (thisDocumentCommunication.EventType = CHARTOBSERVATION) then
|
|
theParameter := first of (thisParameters where thisParameters.Name = theParameterName);
|
|
theObservation := first of (thisObservations where thisObservations.ParameterGUID = theParameter.ParameterGUID);
|
|
|
|
if (thisDocumentCommunication.CurrentObservationObj.ParameterGUID = theParameter.ParameterGUID) then
|
|
|
|
canSelectAll := exists (theObservation.ValueObj.ListItemsList.Value
|
|
where theObservation.ValueObj.ListItemsList.Value = "Yes..."
|
|
and theObservation.ValueObj.ListItemsList.IsSelected = true);
|
|
|
|
if (canSelectAll) then
|
|
For parameterName IN USER_CONFIGURED_PARAMETER_NAMES Do
|
|
selectParameter := first of (thisParameters where thisParameters.Name = parameterName);
|
|
|
|
if (exists selectParameter) then
|
|
this_currentObj := NEW ObservationType;
|
|
this_currentObj.ClientDocumentGUID := thisStructuredNoteDoc.ClientDocumentGUID;
|
|
this_currentObj.ParameterGUID := selectParameter.ParameterGUID;
|
|
this_currentObj.DataType := "ListValue";
|
|
this_currentObj.ValueObj := NEW ListValueType;
|
|
this_currentObj.ValueObj.ListGUID := selectParameter.ConfigurationObj.ListGUID;
|
|
listItems := ();
|
|
for item IN selectParameter.ConfigurationObj.ListItemsList Do
|
|
selectedItem := NEW ListValueListItemType;
|
|
selectedItem.ListItemGUID := item.ListItemGUID;
|
|
selectedItem.Value := item.Value;
|
|
|
|
selectedItem.IsSelected := true;
|
|
|
|
listItems := (listItems, selectedItem);
|
|
enddo;
|
|
|
|
this_currentObj.ValueObj.ListItemsList := listItems;
|
|
thisStructuredNoteDoc.ChartedObservationsList := (thisStructuredNoteDoc.ChartedObservationsList, this_currentObj);
|
|
endif;
|
|
enddo;
|
|
endif;
|
|
endif;
|
|
endif;
|
|
|
|
if (debugFlag = true) then
|
|
messageText := messageText || "\n DOC_FUNC_PT_CONSULT_FROM_ADM_OBS mlm completed.\n\n";
|
|
thisDocumentCommunication.DisplayMessage := true;
|
|
thisDocumentCommunication.Message := messageText;
|
|
endif;
|
|
;;
|
|
evoke:
|
|
;;
|
|
logic: conclude true;
|
|
;;
|
|
action: return thisDocumentCommunication;
|
|
;;
|
|
Urgency: 50;;
|
|
end:
|