maintenance: title: SCH_PRIVACY_STATUS_COLUMN_UPDATE;; mlmname: SCH_PRIVACY_STATUS_COLUMN_UPDATE;; arden: version 2.50;; version: 18.4;; institution: St. Clair Hospital;; author: Teresa Spicuzza ;; specialist: Steve Jones ;; date: 2019-08-14;; validation: testing;; library: purpose: Add value to Enterprise Defined Column Privacy ;; explanation: Create column Change history 08.13.2019 TMS CSR # Created to populate enterprise defined column for Privacy based upon value Privacy Status of "Opt Out Of Directory" ;; keywords: ObjectsPlus/XA, Enterprise Defined Column ;; knowledge: type: data-driven;; data: // Specify which .NET assemblies need to be loaded for ObjectsPlus standard_libs := MLM {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}}; include standard_libs; //Include generic function to update enterprise defined column create_ED_column := MLM {{{SINGLE-QUOTE}}}SCH_FUNC_CREATE_ENTERPRISE_DEFINED_COLUMN{{{SINGLE-QUOTE}}}; log_execution_info := false; update_column := false; privacy_col_value := ""; //Create Enterprise Defined Column Obj EDCObj := OBJECT [ column_name, column_value, client_guid, chart_guid, client_visit_guid ]; //Event Triggers visit_enter_event := event{ClientVisitEnter Any ClientVisit}; visit_modify_event:= event{ClientVisitModify Any ClientVisit}; //-------------------------------------------------------------------- if called_by_editor then EvokingObject := read last { UserInfo : THIS }; endif; (UserDisplayaName ) := read last { UserInfo: Displayname }; if EvokingEventType = "ClientVisitEnter" or EvokingEventType = "ClientVisitModify" then (client_guid, chart_guid, client_visit_guid, PrivacyStatusGUID) := read last {ClientVisit: clientguid, chartguid, guid, PrivacyStatusGUID REFERENCING EvokingObject}; endif; if EvokingEventType = "ClientVisitEnter" OR ( UserDisplayaName <> "Interface" AND evokingEventType = "ClientVisitModify" ) THEN PrivacyStatusValue := read last {" select ps.Code from cv3PrivacyStatus ps where ps.GUID = " || PrivacyStatusGUID }; If PrivacyStatusValue = "Opt Out of Directory" then Privacy_Column_Value := "DISCLOSE NO INFORMATION"; update_column := true; else Privacy_Column_Value := ""; update_column := true; endif; endif; ;; priority: 50 ;; evoke: visit_enter_event ; visit_modify_event ; ;; logic: if ( EvokingObject is null ) then conclude false; endif; if ( update_column = true AND ( EvokingEvent = visit_enter_event OR EvokingEvent = visit_modify_event ) ) then Privacy_Col := NEW EDCObj WITH [ column_name := "Privacy", column_value := Privacy_Column_Value, client_guid := Client_GUID, chart_guid := Chart_GUID, client_visit_guid := Client_Visit_GUID ]; return_value := call create_ED_column with ( Privacy_Col ); conclude true; endif; ;; action: ;; Urgency: 50;; end: