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,198 @@
maintenance:
title: DOC_FUNC_ETHICS_NOTE;;
mlmname: DOC_FUNC_ETHICS_NOTE;;
arden: version 4.5;;
version: 2.00;;
institution: St.Clair Hospital;;
author: Peggy Karish;;
specialist: Don Warnick ;;
date: 2018-03-19;;
validation: testing;;
library:
purpose:
;;
explanation:
Change history
03.19.2018 DW CSR# 36364 - Ethics Note - Created
;;
keywords:
;;
knowledge:
type: data-driven;;
data:
// 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;
standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
include standard_libs;
using "ObjectsPlusXA.SCM.Forms";
using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms";
launchtheapp:= "no";
// Document Open
if thisdocumentCommunication.EventType = "DocumentOpening"
then
// Vital Signs Section
DocVitalsHL2 := MLM {{{SINGLE-QUOTE}}}DOC_FUNC_VS_24hrs{{{SINGLE-QUOTE}}};
thisDocumentCommunication := CALL DocVitalsHL2 WITH thisDocumentCommunication;
// Code Status Section
formattedText:= "";
CodeStatusOrder := read
{"
SET CONCAT_NULL_YIELDS_NULL off
SELECT ocmi.Name + {{{SINGLE-QUOTE}}} - {{{SINGLE-QUOTE}}} + substring (o.summaryline, 3,500)
FROM CV3OrderCatalogMasterItem ocmi with (nolock)
JOIN CV3Order o with (nolock) ON o.OrderCatalogMasterItemGUID = ocmi.GUID AND o.ClientGUID = " || ClientGuid || " AND o.ClientVisitGUID = " || VisitGuid || " AND o.ChartGUID = " || ChartGuid || "
WHERE (
ocmi.Name in ({{{SINGLE-QUOTE}}}CPR/Attempt Resuscitation{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}DNR/Do Not Attempt Resuscitation{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Code Status: Comfort Measures Only{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}Code Status: Limited Interventions{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Code Status: Full Treatment{{{SINGLE-QUOTE}}})
or
ocmi.Name = {{{SINGLE-QUOTE}}}Code Status: Ethically unable to determine{{{SINGLE-QUOTE}}}
)
AND o.OrderStatusLevelNum >= 15 AND o.OrderStatusLevelNum not in (69, 70)
"};
if exists CodeStatusOrder
then
for i in 1 seqto count CodeStatusOrder do
if i = 1
then formattedText:= formattedText || CodeStatusOrder[i];
else formattedText:= formattedText || "\n\n" || CodeStatusOrder[i];
endif;
enddo;
endif;
// Write to the Structured Note Text Box
If formattedText is not null then
vitalSignsHL := first of (thisParameters where thisParameters.Name = "SCH_MDPN_EthicsCode Status Current");
newObservation := NEW ObservationType;
newObservation.ClientDocumentGUID:= thisStructuredNoteDoc.ClientDocumentGUID;
newObservation.ParameterGUID := vitalSignsHL.ParameterGUID;
newObservation.DataType := "FreeTextValue";
newObservation.ValueObj := NEW FreeTextValueType;
newObservation.ValueObj.Value := formattedText;
thisStructuredNoteDoc.ChartedObservationsList := (thisStructuredNoteDoc.ChartedObservationsList, newObservation);
endif;
// Chart Observation
ElseIf thisdocumentCommunication.EventType = "ChartObservation" // and selectedobservationname = "SCH_MDPN_Ethics ConsultReq Launch"
then
launchtheapp:= "yes";
using "AddCareProvidertoSN";
test:= new net_object {{{SINGLE-QUOTE}}}AddProviderToNote.AddProviderToNoteForm{{{SINGLE-QUOTE}}};
// Reset the launch button
theParameterx := first of (thisparameters where thisparameters.Name = "SCH_MDPN_Ethics ConsultReq Launch");
theObservation := first of (thisobservations where thisobservations.ParameterGUID = theParameterx.ParameterGUID);
if thisdocumentCommunication.CurrentObservationObj.parameterguid = theParameterx.ParameterGUID then
this_parametername := first of (thisParameters where thisParameters.Name = "SCH_MDPN_Ethics ConsultReq Launch");
this_currentObj := NEW ObservationType;
this_currentObj.ClientDocumentGUID:= thisStructuredNoteDoc.ClientDocumentGUID;
this_currentObj.ParameterGUID := this_parametername.ParameterGUID;
this_currentObj.DataType := "ListValue";
this_currentObj.ValueObj := New ListValueType;
this_currentObj.ValueObj.ListGUID:= this_parametername.ConfigurationObj.ListGUID;
listItems := ();
FOR item IN this_parametername.ConfigurationObj.ListItemsList DO
selectedItem := NEW ListValueListItemType;
selectedItem.ListItemGUID := item.ListItemGUID;
selectedItem.Value := item.Value;
selectedItem.IsSelected := false;
listItems := (listItems, selectedItem);
ENDDO;
this_currentobj.ValueObj.ListItemsList := listItems;
thisStructuredNoteDoc.ChartedObservationsList := (thisstructuredNoteDoc.ChartedObservationsList, this_currentObj);
endif;
endif;
;;
evoke:
;;
logic:
if launchtheapp = "yes"
then
oeUnsigned:=CALL test.ShowDialog;
return_string:= test.text;
endif;
this_parametername := first of (thisParameters where thisParameters.Name = "SCH_MDPN_Ethics ConsultRequestor");
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 := return_string;
thisStructuredNoteDoc.ChartedObservationsList := (thisstructuredNoteDoc.ChartedObservationsList, this_currentObj);
conclude true;
;;
action: return thisDocumentCommunication;
;;
Urgency: 50;;
end: