Initial Checking with all 820 MLMs
This commit is contained in:
213
MLMStripper/bin/Debug/SCH/SCH_SURGERY_CASECLOSE_ALERT.mlm
Normal file
213
MLMStripper/bin/Debug/SCH/SCH_SURGERY_CASECLOSE_ALERT.mlm
Normal file
@@ -0,0 +1,213 @@
|
||||
maintenance:
|
||||
|
||||
title: SCH_Surgery_CaseClose_Alert;;
|
||||
mlmname: SCH_Surgery_CaseClose_Alert;;
|
||||
arden: version 2.5;;
|
||||
version: 16.3;; //
|
||||
institution: Allscripts, ;;
|
||||
author: Allscripts Healthcare Solutions, Inc.;;
|
||||
specialist: ;;
|
||||
date: 2017-04-11;;
|
||||
validation: Testing;;
|
||||
|
||||
library:
|
||||
purpose: Maintains an Alert when SUrgCase Completion is entered/saved wand the date is past the # of days set in
|
||||
ChargingPeriod EP setting
|
||||
;;
|
||||
|
||||
explanation: This MLM is a sample of alert on SUrgCase Completion Save - and hard stop alert
|
||||
|
||||
02/02/16 - Allscripts - initiate readiness for deploy to STV Test; logic to detect whenClosed is > then EP setting for Case
|
||||
04/11/17 - deploy at St Claire DEV 16.3
|
||||
04/11/17 - testing value addition of 7 days (cahrge period) until EP setting is decided
|
||||
|
||||
|
||||
|
||||
;;
|
||||
|
||||
keywords: ObjectsPlus, Advanced Visit List Data, Health Issues
|
||||
;;
|
||||
|
||||
knowledge:
|
||||
type: data-driven;;
|
||||
data:
|
||||
|
||||
//****************Make Changes To Spelling And Flags In This Section****************
|
||||
// list of CPT{{{SINGLE-QUOTE}}}s to check for - to see if COnsult
|
||||
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Triggers
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
// Case Complete event
|
||||
case_complete_event := EVENT {SRGCaseStatusChange User SRGCase :
|
||||
Where ( CaseStatusName = "Reopened For Additional Documentation" )
|
||||
OR (CaseStatusInternalType = "Complete")};
|
||||
/// 02/29/16 - for trial upon opening
|
||||
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Email and ObjectsPlus destinations
|
||||
//---------------------------------------------------------------
|
||||
|
||||
/// flags
|
||||
test_a:= "&";
|
||||
a:= 0;
|
||||
|
||||
ct_get_con:= 0;
|
||||
|
||||
//******************Do Not Make Changes Below This Section*******************
|
||||
|
||||
// Specify which .NET assemblies need to be loaded for ObjectsPlus
|
||||
standard_libs := MLM {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}};
|
||||
include standard_libs;
|
||||
|
||||
if called_by_editor
|
||||
then
|
||||
EvokingObject := read last {SRGCase: THIS };
|
||||
evokingevent:= case_complete_event;
|
||||
endif;
|
||||
|
||||
|
||||
//break;
|
||||
|
||||
|
||||
/// for Charge Period Surg Procedures
|
||||
|
||||
// get the required Charge Period from environmental profile
|
||||
(ch_per):= READ LAST
|
||||
{"SELECT value "
|
||||
|| " FROM HVCEnvProfile (nolock) "
|
||||
|| " WHERE HierarchyCode = " || SQL("Surgery|Charger")
|
||||
|| " AND Code = " || SQL("ChargingPeriod")
|
||||
};
|
||||
|
||||
|
||||
// Get the case events object from the evoking case object
|
||||
( evoking_case_events, bu_obj ) := read last { SRGCase: SRGCaseEvent, Backup REFERENCING EvokingObject };
|
||||
|
||||
/// 02/29/26 - look at old status
|
||||
old_status:= bu_obj.CaseStatusInternalType ;
|
||||
old_status_name:= bu_obj.CaseStatusName ;
|
||||
|
||||
// bu_obj.CaseStatusName := "Reopened For Additional Documentation" ;
|
||||
|
||||
// get the case events as a list from the case events object
|
||||
( case_events_list ) := evoking_case_events.records__;
|
||||
|
||||
// find the case event that match the time type name parameter
|
||||
|
||||
proc_end := evokingobject.ActualEndDateTimeUTC;
|
||||
|
||||
/// 02/29/16 - if needed place here
|
||||
// If (EvokingObject.CaseStatusName = "Reopened For Additional Documentation" and
|
||||
// old_status = "Complete")
|
||||
// OR (EvokingObject.CaseStatusInternalType = "Complete")
|
||||
|
||||
/// testing
|
||||
if called_by_editor
|
||||
then
|
||||
proc_end:= NOW - 8 days;
|
||||
endif;
|
||||
///
|
||||
|
||||
/// 02/09/16 - testing until EP setting is decided
|
||||
/* if not (exists ch_per) then
|
||||
ch_per := 7;
|
||||
endif;
|
||||
*/
|
||||
////////////////////////////////////////////////////
|
||||
//break;
|
||||
/// 03/7/16 - update in case there is no procedure completion data
|
||||
if exists proc_end
|
||||
then
|
||||
proc_end_t:= day floor of (proc_end as time);
|
||||
// endif;
|
||||
|
||||
ch_per_n:= ch_per as number;
|
||||
ch_per_t:= "7 days"; //(ch_per||" days") ;
|
||||
|
||||
|
||||
|
||||
current := day floor of NOW;
|
||||
|
||||
per_cur:= ((current - proc_end_t)/1 day) as number; // 86,400) ;
|
||||
|
||||
endif;
|
||||
if //current >
|
||||
per_cur > ch_per_n
|
||||
then
|
||||
a:=1;
|
||||
endif;
|
||||
|
||||
//break;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/// test for logic
|
||||
|
||||
|
||||
If a > 0 then
|
||||
ext_proc:= extract characters proc_end_t;
|
||||
proc_f:= string (first 11 from ext_proc);
|
||||
|
||||
//break;
|
||||
alert_text:= "Procedure Update {{+B}} IS NOT permitted on a Procedure with End Date of: {{- B}}"||proc_f // for a {{+B}}{{+C}}Consult Code{{-C}}{{-B}}"
|
||||
||"\n\nProcedures are {{+B}}Closed for updates {{+R}}"||ch_per||" days after Procedure End Date. {{-R}}{{-B}} "; // below if you need to enter the NDC Codes."; //||"It is being deleted.\n\nYou Must Re-Value to get a Score";
|
||||
|
||||
dest_var:= destination{alert: warning, "Procedure May Not be Updated",
|
||||
low, chart, "my rule group", 1001, "", "No Override Allowed" };
|
||||
/// 072913 addition of messag box
|
||||
|
||||
/*dialogresult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with alert_text,
|
||||
//"Document has opened - version 6",
|
||||
"Another Default Selection" , "YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}};
|
||||
*/
|
||||
endif; // a >0 an
|
||||
|
||||
|
||||
;;
|
||||
|
||||
priority: 50
|
||||
;;
|
||||
|
||||
evoke:
|
||||
/// 03/07/16 - comment out evoke - so as not to fire during Demos / DayinLife
|
||||
case_complete_event
|
||||
|
||||
|
||||
;;
|
||||
|
||||
logic:
|
||||
|
||||
if a = 0 //( EvokingObject is null or
|
||||
///continue_processing = false )
|
||||
then
|
||||
conclude false;
|
||||
elseif a > 0
|
||||
then
|
||||
|
||||
conclude true;
|
||||
endif;
|
||||
|
||||
//break;
|
||||
|
||||
;;
|
||||
|
||||
action:
|
||||
|
||||
|
||||
|
||||
if exists dest_var //and a >0
|
||||
then
|
||||
write alert_text at dest_var;
|
||||
endif;
|
||||
;;
|
||||
|
||||
urgency: 50;;
|
||||
end:
|
||||
Reference in New Issue
Block a user