Initial Checking with all 820 MLMs
This commit is contained in:
166
MLMStripper/bin/Debug/FORM/FORM_PREVENT_DUP_CODE_STATUS.mlm
Normal file
166
MLMStripper/bin/Debug/FORM/FORM_PREVENT_DUP_CODE_STATUS.mlm
Normal file
@@ -0,0 +1,166 @@
|
||||
maintenance:
|
||||
|
||||
title: code status order stop;;
|
||||
mlmname: FORM_prevent_dup_code_status;;
|
||||
arden: version 2;;
|
||||
version: 4.50;;
|
||||
institution: St Clair Hospital;;
|
||||
author: Deborah Eiler, Debbie.Eiler@stclair.org, 866-248-4500 ext. 1318;;
|
||||
specialist: Eclipsys Corporation;;
|
||||
date: 2006-10-19;;
|
||||
validation: testing;;
|
||||
|
||||
library:
|
||||
purpose:
|
||||
If the patient has an existing code status I would like for an MLM to fire an
|
||||
alert to stop the order entry. If the comment type of an existing Code Status
|
||||
is active, fire an alert to Stop the order.
|
||||
;;
|
||||
explanation:
|
||||
|
||||
IMPORTANT NOTE: Each time this MLM is updated, SCH_DUP_CODE_STATUS_STOP may also need to be updated
|
||||
|
||||
Change history
|
||||
|
||||
11.09.2012 DJW CSR# 26830 - Simplification of Code Status classifications. Reduced from 7 to 3 choices
|
||||
07.30.2012 - DJW CSR# 30963 - Altered logic to prevent duplicate status order even if in Discharge Session
|
||||
10.05.2012 - DJW CSR# 30963 - Revert to prior logic - allow duplicate status order even if in Discharge Session
|
||||
12.18.2012 - DJW CSR# 31242 - Change "...Full Treatment" to "...Full Code". Remove CPR/DNR codes
|
||||
01.24.2013 - DJW CSR# 31242 - Altered code again {{{SINGLE-QUOTE}}}Code Status: DNR/Limited Interventions{{{SINGLE-QUOTE}}} , {{{SINGLE-QUOTE}}}Code Status: DNR/Comfort Measures Only (CMO){{{SINGLE-QUOTE}}}
|
||||
02.09.2016 - DJW CSR# 33949 - Change to wording of Code Status and CPR orders
|
||||
|
||||
(D Eiler, 10-2-06): Code Status order is currently configured to display in the
|
||||
Patient Header as a comment. I have added duplicate checking alerts. If the user
|
||||
keeps the new order and discontinues the current order from the duplicate check
|
||||
alert, the new order will overlay what is displayed in the Patient Header. This
|
||||
is what we want to happen. But… if the user ignores the duplicate checking alert
|
||||
and proceeds with the order entry, the new code status will overlay in the Patient
|
||||
Header but there will be two code status orders on the order tab. If the user
|
||||
discontinues one of these code status orders the code status in the Patient
|
||||
Header is removed. This is a problem. We must be able to rely on the display of
|
||||
the code status in the Patient Header. I have a warning message at the onset of
|
||||
code status order entry but it does not stop the process.
|
||||
|
||||
THIS MLM:
|
||||
- TRIGGERS ON FORMOPEN
|
||||
- LOOKS UP ANY ACTIVE EXISTING CODE STATUS ORDERS
|
||||
- PRESENTS AN ERROR MESSAGE (I.E. HARD STOP) IF EXISTTING ORDERS ARE FOUND.
|
||||
|
||||
THIS MLM WORKS IN CONJUNCTION WITH THE ORDER-TRIGGERED MLM: SCH_dup_code_status_stop.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;;
|
||||
keywords: hard stop, duplicate code status;
|
||||
;;
|
||||
|
||||
knowledge:
|
||||
type: data-driven;;
|
||||
data:
|
||||
/***********************Make Changes To Spelling And Flags In This Section*********************/
|
||||
|
||||
|
||||
/***********************************************************************************JAB********/
|
||||
|
||||
// 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;
|
||||
|
||||
// Declare the MLM that can be called by this MLM
|
||||
//FORM_NUR_CodeStatus := MLM {{{SINGLE-QUOTE}}}FORM_NUR_CodeStatus{{{SINGLE-QUOTE}}};
|
||||
|
||||
// Call original field processing MLM
|
||||
// (this_communication, this_form) := call FORM_NUR_CodeStatus
|
||||
// with this_communication, this_form, client_info_obj;
|
||||
|
||||
// Assigns fields passed in the Form object to the Field object
|
||||
field_list:= this_form.fields;
|
||||
|
||||
CallingForm := this_form.name;
|
||||
CallingEvent := this_communication.CallingEvent;
|
||||
ItemEvent := this_communication.ItemEvent;
|
||||
CallingField := this_communication.CallingFieldName;
|
||||
|
||||
|
||||
|
||||
// 11/30/2011 - Don Warnick - ok to have duplicate for discharge order reconcilliation
|
||||
|
||||
standard_libs := MLM {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
||||
include standard_libs;
|
||||
worksheetInfo := call {{{SINGLE-QUOTE}}}OrderEntryBatch{{{SINGLE-QUOTE}}}.GetCurrent;
|
||||
if worksheetinfo.sessiontype = "Discharge" then sessiontype := "Discharge"; else sessiontype := "Other"; endif;
|
||||
|
||||
ordername := read last {" select name from cv3ordercatalogmasteritem where guid = " || sql(this_communication.ItemID)};
|
||||
|
||||
ordername_substring := SUBSTRING 12 CHARACTERS STARTING AT 1 FROM ordername;
|
||||
|
||||
if ordername_substring = "Code Status:"
|
||||
|
||||
then dup_lookup_items := " name like {{{SINGLE-QUOTE}}}Code Status: %{{{SINGLE-QUOTE}}} ";
|
||||
else dup_lookup_items := " ( name in ({{{SINGLE-QUOTE}}}Code Status: Full Code{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Code Status: DNR/Limited Interventions{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Code Status: DNR/Comfort Measures Only (CMO){{{SINGLE-QUOTE}}}) or name like {{{SINGLE-QUOTE}}}cpr%{{{SINGLE-QUOTE}}} or name like {{{SINGLE-QUOTE}}}dnr%{{{SINGLE-QUOTE}}}) ";
|
||||
|
||||
endif;
|
||||
|
||||
|
||||
|
||||
// 11/07/06 - Kathy Kennedy updated to look only at the individual visit
|
||||
// 11/09/11 - Don Warnick added 3 "go-forward" statuses, all on the last line of the SQL (old 7 may be removed after the transition)
|
||||
// 02/09/16 - Don Warnick replaced this lookup with one customized by order name, separating code status from cpr order values
|
||||
/*
|
||||
||" and name in ("
|
||||
||" {{{SINGLE-QUOTE}}}Code Status: DNR/Limited Interventions{{{SINGLE-QUOTE}}} , {{{SINGLE-QUOTE}}}Code Status: DNR/Comfort Measures Only (CMO){{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}Code Status: Full Treatment{{{SINGLE-QUOTE}}} , {{{SINGLE-QUOTE}}}Code Status: Full Code{{{SINGLE-QUOTE}}}, "
|
||||
||" {{{SINGLE-QUOTE}}}Code Status: Limited Interventions{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}Code Status: Comfort Measures Only (CMO){{{SINGLE-QUOTE}}} "
|
||||
||") "
|
||||
*/
|
||||
|
||||
(old_cs_lst, old_cs_summ_lst, old_status_lst, old_ln_lst, old_cs_ord_guid_lst, old_cs_ocmi_guid_lst, old_sig_t_lst) := read
|
||||
{" select name, summaryline, status, orderstatuslevelnum, "
|
||||
||" GUID, OrderCatalogMasterItemGUID, significantdtm "
|
||||
||" from cv3order "
|
||||
||" where clientguid = " || sql(client_info_obj.guid)
|
||||
||" and chartguid = " || sql(this_communication.chartguid)
|
||||
||" and clientvisitguid = " || sql(this_communication.clientvisitguid)
|
||||
||" and " || dup_lookup_items
|
||||
||" and typecode like {{{SINGLE-QUOTE}}}other{{{SINGLE-QUOTE}}} "
|
||||
||" and status like {{{SINGLE-QUOTE}}}active{{{SINGLE-QUOTE}}} "
|
||||
||" and orderstatuslevelnum <= 50 "
|
||||
||" and active = 1 "
|
||||
, primarytime = significandtm};
|
||||
|
||||
|
||||
// 11/30/2011 - Don Warnick - ok to have duplicate for discharge order reconcilliation
|
||||
// 07/30/2012 - Don Warnick - reversed the logic....now not ok to have a duplicate
|
||||
// 10/05/2012 - Don Warnick - reversed the reversal...now ok to have a duplicate in discharge session
|
||||
|
||||
// if exists old_cs_lst then
|
||||
if exists old_cs_lst and sessiontype <> "Discharge" then
|
||||
|
||||
|
||||
//display a message to the user
|
||||
this_communication.Message :=
|
||||
"You cannot proceed with this order until the other active Code Status "
|
||||
|| "order(s) has been discontinued!!";
|
||||
this_communication.MessageType := "Error";
|
||||
// if CallingEvent="FormOpen" then
|
||||
this_communication.DisplayForm := "NO";
|
||||
// endif;
|
||||
endif;
|
||||
;;
|
||||
evoke:
|
||||
;;
|
||||
logic:
|
||||
Conclude true;
|
||||
;;
|
||||
action:
|
||||
// This MLM returns two parameters, of types
|
||||
//communication_type and form_type respectively.
|
||||
return this_communication, this_form;
|
||||
;;
|
||||
Urgency: 50;;
|
||||
end:
|
||||
Reference in New Issue
Block a user