maintenance: title: CDS Local Session Definition;; filename: SYS_LOCAL_SESSION;; arden: version 2.5;; version: 15.1;; institution: Allscripts, System MLM;; author: Allscripts Healthcare Solutions, Inc.;; specialist: ;; date: 2014-12-18;; validation: testing;; library: purpose: This MLM defines the local session object, stored in the Arden variable CDS_SESSION.local. ;; explanation: Facilities should modify this MLM, as needed to support custom MLMs that are created by the facility. From Arden, the local session object can be referenced like this: local_session := CDS_SESSION.local; Note: this MLM is called by the system both to define and to return a new session object. It must not refer to CDS_SESSION or else a circular reference may occur where the MLM will call itself again and again. Change history 01.13.2009 DW Added session object code to recall the answer to the pregnancy and lms questions and populate them on other forms during the session 12.27.2010 DW Added site customization to 5.5 version 03.14.2011 DW Added session object for Consulting MD 06.13.2011 TMS Added additional session objects for VTE prophylaxis 07.05.2011 DW Added 2 lines in the Logic section to set the 2 heparin object to empty list (per trackit ticket) 11.21.2011 ACS Added object for tracking selected GROUPINGS on the Physician Progress Note 01.30.2012 JML Added object for tracking unsubmitted tube feeding orders 04.01.2012 JML Added list object containing list of unsubmitted anticoagulant orders triggered from SCH_ALERT_ON_ANTICOAGULANT_ORDERS. 04.01.2013 JML Added boolean variable to control the number of times a Beta Blocker alert is displayed on order entry. 03.23.2015 JML Added four new session variables for Vancomycin Antibiotic scheduling for conditional orders. 12.3.2015 STH Added new VTE not ordered session object. {Go-Live 12/15/2015} 03.01.2016 STH SR#: 33758 Added new SessionMaxRepeatLabNames & SessionMaxRepeatLabTimes for Post Initiation Thrombolytic therapy {GO LIVE 3/7/2016} 02.19.2016 STH CSR#: 32165 Added new SessionUnSubTypeandScreen for the FORM_SET_TRANSFUSION_PRODUCT OrderSet MLM. 05.31.2016 JML CSR#: 34156 Added new SessionVancoTroughDose & SessionVancoTroughUOM to capture vanco calculated dose & UOM. 08.22.2016 STH CSR#: 34139 Add new SessiionBloodConsent to capture unsubmitted BloodConsent orders in this current session {GO 10/4/2016} 10.31.2017 TMS CSR# 35723 Added session object to capture unsubmitted diet or NPO orders for diabetic management protocol 11.13.2017 TMS CSR# 35723 Added session object to capture unsubmitted IV steroid orders for diabetic management protocol 03.21.2016 DW CSR# 35320 Added Session Objects for Sunrise Surgical 07.07.2017 JML CSR# 34155 Added session object to capture stop date on vancomycin orders to control ordering of vanco trough lab 12.04.2017 DW CSR# 26413 Added Session Objects for Sunrise Access Manager 02.06.2018 DW CSR# 26413 Added Session Objects for Sunrise Access Manager - Patient Type for Hospice MLM 10.08.2018 DW CSR# 36715 Created - PDMP in order session 01.22.2019 JML CSR# 37770 - Added session object to capture Admission Diagnosis & Admit Date/Time for Admission Order Confirmation order for co-sign 08.06.2019 DW CSR# 38551 Redesign based upon JACHO observations ;; keywords: SESSION; CDS_SESSION ;; knowledge: type: data-driven;; data: // Declare the LOCAL SESSION object local_session := object [ SessionMaxRepeatLabNames, //Added to hold unsubmitted lab names with max times SessionMaxRepeatLabTimes, //Added to hold unsubmitted lab names with max times UnsubmittedRepeatLabDetails,//Added to hold unsubmitted lab names with max times has_received_order_worksheet_message, irreg_sched, // Rename these or add additional fields as Sess_APTTValue, // Holds APPT value from heparin child orders to relate to order sets SessionPregnancyValue, // Holds Pregnancy value for use in other ofders of the order sets SessionLMPValue, // Holds LMP value for use in other ofders of the order sets SessionIndications1, // Holds Clinical Indications value for use in other of orders of the order sets SessionIndications2, // Holds Clinical Indications value for use in other of orders of the order sets SessionUnSubTypeandScreen, //identifies if a Type and Screen has been submitted yet SessionUnSubBloodConsent, //identifies if a Blood Consent has been submitted yet SessionUnsubmittedHeparinSQ, // Holds Unsubmitted Heparin SQ orders SessionUnsubmittedHeparinIV, // Holds Unsubmitted Heparin IV orders SessionVTEContraindication, // Holds VTE Prophylaxis Evaluation Contraindication Information SessionVTEScore, // Holds VTE Prophylaxis Score Information SessionVTENotIndicated, // Holds VTE Prophylaxis Not Indicated Information SessionVTENotOrdered, // Holds VTE Prophylaxis Not Ordered Information SessionReleseOrderAlertFired, // Holds VTE Prophylaxis Evaluation Contraindication Information NowAndThenOrderConfig, SessionConsultingMD, // Holds Consulting MD Provider Number values ACSPNGroupSelections, // Holds GROUPING selections on the Physician Progress Note ACS_FormatedText, // Hold Text value for Physician Progress note from Doc_func_Max_Temp MLM SessionUnsubDietExists, SessionUnsubNPOOrder, SessionUnsubDietOrder, SessionUnsubIVSteroidOrder, // Hold value for diabetic management protocol SessionFallRiskMedLast , //Indicates if the last med was selected SessionRepeatTime, SessionRepeatfreq, Sessionmaxoccurence, Sessioncheckall, SessionLabOrderSet, SessionTemperatureCelsius, SessionUnsubmittedAnticoagulantOrders, //List of unsubmitted anticoagulant med orders SessionSuicideOrdersSelected, //Suicide orders selected in structured notes //Blood Gas Custom fields SessionBloodGas, SessionLAB_VO_DI_Patient_Temp, SessionLAB_RC_BGCMT_LV_RespNCLPM, SessionLAB_RC_BGCMT_LO_RespRoomAir, SessionLAB_RC_BGCMT_LO_Resp100_02, SessionLAB_RC_BGCMT_LV_RespNasalMaskLPM, SessionLAB_RC_BGCMT_LO_RespNonRebreather, SessionLAB_RC_BGCMT_LO_RespPartRebreather, SessionLAB_RC_BGCMT_LO_AllensNeg, SessionLAB_RC_BGCMT_LO_AllensPosi, SessionLAB_RC_BGCMT_LV_RespFaceMaskLPM, SessionLAB_RC_BGCMT_LV_RespVenturiMaskFIO2, SessionLAB_RC_BGCMT_LV_RESP_Oximizer_LPM, SessionLAB_RC_BGCMT_RespAerosolMode, SessionLAB_RC_BGCMT_BIPAP_CPAP, SessionLAB_RC_BGCMT_LV_RespVentMode, SessionLAB_VO_DI_PatientLocation, SessionLAB_RC_BGCMT_LV_RespAerosolConc, SessionLAB_RC_BGCMT_RespMode_BIPAP_CPAP, SessionLAB_RC_BGCMT_LV_RespIPAPcmH2O, SessionLAB_RC_BGCMT_LV_RespEPAPcmH2O, SessionLAB_RC_BGCMT_LV_RespBIPAPCPAPO2, SessionLAB_RC_BGCMT_LV_RespBIPAPCPAPLPM, SessionLAB_RC_BGCMT_LV_RespVent_VT, SessionLAB_RC_BGCMT_LV_RespVent_O2ConcFIO2, SessionLAB_RC_BGCMT_LV_RespVent_PEEP, SessionLAB_RC_BGCMT_LV_RespVent_PressureSupport, SessionLAB_RC_BGCMT_LV_RespVent_Rate, //Blood Gas Custom fields /* 1x */ SeessionScheduledBloodGases1xtimesCheckbox, SeessionScheduledBloodGases1xtimesRequestdate, SeessionScheduledBloodGases1xtimesRequesttime, SeessionScheduledBloodGases2xtimesCheckbox, SeessionScheduledBloodGases2xtimesRequestdate, SeessionRepeatlabPlsamaAPTTCBCOrder, SeessionRepeatlabPlsamaCheckbox, SeessionRepeatlabAPTTCheckbox, SeessionRepeatlabCBCCheckbox, SeessionRepeatlabRepeatFrequency, SeessionRepeatlabmaxoccurence, SeessionRepeatlabRequestdate, SeessionRepeatlabRequesttime, SeessionRepeatlabq2Checkbox, SeessionRepeatlabq2maxoccurence, SeessionRepeatlabq2Requestdate, SeessionRepeatlabq2Requesttime, sessionIsConfig, SessionRepeatlabArray, SessionScheduledBloodGasesArray, SeessionRepeatLabq2array, SessionzzsodiumfromBloodgasRequesteddate, SessionzzsodiumfromBloodgasRequestedtime, SessionzzsodiumfromBloodgasTimecode, SessionAMRoundsAutoReorder, SessionBetaBlockerDisplayAlert, SessionPDMPSearch, // Prevents multiple PDMP search requests in one session /* Readmission Risk Order */ SessionReadmissionOrder, SessionReadmissionScore, SessionReadmissionPharmacy, SessionReadmissionDiagnosis, SessionReadmissionDischarge, SessionReadmissionFunctional, SessionReadmissionDevice, SessionReadmissionNutritional, SessionReadmissionSmoking, SessionReadmissionDiagnosisForMessage, SessionNutritionalForMessage, SessionDeviceMessage, SessionSmokingForMessage, // Pediatric Order SessionPediatricSpecialNeed, SessionPediatricSpecialNeedForMessage, //Discharge Orders SessionDischargeLabOrders, SessionDischargeMIOrders, //Vancomycin Trough Antibiotic Scheduling Date Time SessionUnsubVancoExists, SessionVancoTroughScheduledDate, SessionVancoTroughScheduledTime, SessionVancoTroughFrequency, SessionVancoTroughFrequencyList, SessionVancoTroughDose, SessionVancoTroughUOM, SessionVancoTroughStopAfter, SessionVancoTroughStopDate, SessionVancoTroughStopTime, SessionVancoTroughAddlDose, SessionVancoGiveSTATNOWOrdered, // CSR:33419-For Request Bed Order from {{{SINGLE-QUOTE}}}Place in Observation{{{SINGLE-QUOTE}}} and {{{SINGLE-QUOTE}}} Admit to Inpatient{{{SINGLE-QUOTE}}} Order SessionRequestBed, SessionRequestedGUID, // added by Deepty Singh for Release Order MLM releaseQry , releaseFreq , //CSR 37770 - For Admission Order Confirmation from {{{SINGLE-QUOTE}}}Place In Observation{{{SINGLE-QUOTE}}} and {{{SINGLE-QUOTE}}}Admit to Inpatient{{{SINGLE-QUOTE}}} Order SessionAdmissionOrderConfirmation, SessionAdmissionOrderAttendingPhysician, SessionAdmissionOrderEffectiveDate, // Sunrise Access Manager Objects CSR# 26413 DW 12.04.2017 SessionPrimaryVisitInsurance, SessionService, SessionPatientType, SessionInsurancePlanBIssueCorrected, // Sunrise Surgical Session Objects //Modified by Phil Thomas, Eclipsys - New varible declaration for the "SCE_Telephone_Order_Notice" MLM has_seen_telephone_order_notice, //S2V Variable used for the Telephone order readback workflow is_telephone_order_session_Order_Enter, //S2V Variable used for the Telephone order readback workflow Order_Set_Telephone_Order_Notice, //S2V Variable used for the Telephone order readback workflow telephone_order_user_name, //S2V Variable used for the Telephone order readback workflow telephone_order_user_occup, //S2V Variable used for the Telephone order readback workflow CareProviderID, // Rename these or add additional fields as ACSPNGroupSelections, //ACS: Hols GROUPING selections on the Physician Progress Note local_field_1, // As needed for local institution{{{SINGLE-QUOTE}}}s MLMs local_field_2, // As needed for local institution{{{SINGLE-QUOTE}}}s MLMs local_field_3, // As needed for local institution{{{SINGLE-QUOTE}}}s MLMs Current_Roadmap_GUID, //Allscripts Oncology Content package Current_Roadmap_SignificantDtm, //Allscripts Oncology Content package Current_Matching_Days, //The new eligible search window if the user wishes to expand the roadmap search OrderSetSource , //Needed for OrderSetInit changes to VORB workflow PregAlert_Reviewed_Once, //Needed for the IsPregnancy alert in Rad Order Forms current_orders //S2V Varible used in FORM_OS_Order_Omission_Check MLM ,CCC_LV //20140904 SMS: holds charted list values on SN ,CCC_ChartedObs //20140904 SMS: holds charted obs list on SN ,Radiology_Results_Last_Selection //20141114 SMS: Oncology Content Package ,Pathology_Results_Last_Selection //20141114 SMS: Oncology Content Package ,onc_disease_name //20160707 SKelly: Oncology update ,ACS_OrderReplacmentOrderInfo // End of Sunrise Surgical Session Objects ]; ;; evoke: // Called internally by the system as necessary ;; logic: // Create a LOCAL SESSION and return it local_session_obj := new local_session; local_session_obj.SessionMaxRepeatLabNames := (); local_session_obj.SessionMaxRepeatLabTimes := (); local_session_obj.UnsubmittedRepeatLabDetails := (); local_session_obj.has_received_order_worksheet_message := false; local_session_obj.irreg_sched := False; local_session_obj.GridField:= (false,false,false); local_session_obj.NowAndThenOrderConfig := (); local_session_obj.SessionUnsubmittedHeparinSQ:= (); local_session_obj.SessionUnsubmittedHeparinIV:= (); local_session_obj.SessionUnSubTypeandScreen := false; local_session_obj.SessionUnSubBloodConsent := false; local_session_obj.ACSPNGroupSelections := (); local_session_obj.ACS_FormatedText := (); // for Max Temp Text Value local_session_obj.SessionUnsubDietExists := false; local_session_obj.SessionUnsubNPOOrder := false; local_session_obj.SessionUnsubDietOrder := false; local_session.SessionUnsubIVSteroidOrder := false; local_session_obj.SessionFallRiskMedLast := false; local_session_obj.SessionRepeatTime :=""; local_session_obj.SessionRepeatfreq := ""; local_session_obj.Sessionmaxoccurence := ""; local_session_obj.Sessioncheckall := ""; local_session_obj.SessionLabOrderSet := false; local_session_obj.SessionTemperatureCelsius := ""; local_session_obj.SessionUnsubmittedAnticoagulantOrders := (); local_session_obj.SessionSuicideOrdersSelected := (); //Blood Gas Custom fields local_session_obj.SessionBloodGas := false; local_session_obj.SessionLAB_VO_DI_Patient_Temp := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespNCLPM := ""; local_session_obj.SessionLAB_RC_BGCMT_LO_RespRoomAir := ""; local_session_obj.SessionLAB_RC_BGCMT_LO_Resp100_02 := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespNasalMaskLPM := ""; local_session_obj.SessionLAB_RC_BGCMT_LO_RespNonRebreather := ""; local_session_obj.SessionLAB_RC_BGCMT_LO_RespPartRebreather := ""; local_session_obj.SessionLAB_RC_BGCMT_LO_AllensNeg := ""; local_session_obj.SessionLAB_RC_BGCMT_LO_AllensPosi := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespFaceMaskLPM := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespVenturiMaskFIO2 := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RESP_Oximizer_LPM := ""; local_session_obj.SessionLAB_RC_BGCMT_RespAerosolMode := ""; local_session_obj.SessionLAB_RC_BGCMT_BIPAP_CPAP := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespVentMode := ""; local_session_obj.SessionLAB_VO_DI_PatientLocation := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespAerosolConc := ""; local_session_obj.SessionLAB_RC_BGCMT_RespMode_BIPAP_CPAP := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespIPAPcmH2O := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespEPAPcmH2O := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespBIPAPCPAPO2 := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespBIPAPCPAPLPM := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespVent_VT := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespVent_O2ConcFIO2 := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespVent_PEEP := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespVent_PressureSupport := ""; local_session_obj.SessionLAB_RC_BGCMT_LV_RespVent_Rate := ""; local_session_obj.SeessionScheduledBloodGases1xtimesCheckbox := false; local_session_obj.SeessionScheduledBloodGases1xtimesRequestdate :=""; local_session_obj.SeessionScheduledBloodGases1xtimesRequesttime :=""; local_session_obj.SeessionScheduledBloodGases2xtimesCheckbox := false; local_session_obj.SeessionRepeatlabq2Checkbox := false; local_session_obj.SeessionRepeatlabq2maxoccurence := ""; local_session_obj.SeessionRepeatlabq2Requestdate := ""; local_session_obj.SeessionRepeatlabq2Requesttime :=""; local_session_obj.SeessionScheduledBloodGases2xtimesRequestdate := ""; local_session_obj.SeessionRepeatlabPlsamaCheckbox := false; local_session_obj.SeessionRepeatlabAPTTCheckbox := false; local_session_obj.SeessionRepeatlabCBCCheckbox := false; local_session_obj.SeessionRepeatlabRepeatFrequency :=""; local_session_obj.SeessionRepeatlabmaxoccurence :=""; local_session_obj.SeessionRepeatlabRequestdate :=""; local_session_obj.SeessionRepeatlabRequesttime :=""; local_session_obj.SeessionRepeatlabPlsamaAPTTCBCOrder := ""; local_session_obj.sessionIsConfig := false; local_session_obj.SessionRepeatlabArray := ""; local_session_obj.SessionScheduledBloodGasesArray := ""; local_session_obj.SeessionRepeatLabq2array := ""; local_session_obj.SessionzzsodiumfromBloodgasRequesteddate := ""; local_session_obj.SessionzzsodiumfromBloodgasRequestedtime := ""; local_session_obj.SessionzzsodiumfromBloodgasTimecode := ""; local_session_obj.SessionPDMPSearch:= "false"; //Blood Gas Custom fields //AM Rounds Reorder local_session_obj.SessionAMRoundsAutoReorder := ""; //Beta Blocker on Order Init Alert local_session_obj.SessionBetaBlockerDisplayAlert := true; //Readmission Risk Order local_session_obj.SessionReadmissionOrder := ""; local_session_obj.SessionReadmissionScore := ""; local_session_obj.SessionReadmissionPharmacy := ""; local_session_obj.SessionReadmissionDiagnosis := ""; local_session_obj.SessionReadmissionDischarge := ""; local_session_obj.SessionReadmissionFunctional := ""; local_session_obj.SessionReadmissionDevice := ""; local_session_obj.SessionReadmissionNutritional := ""; local_session_obj.SessionReadmissionSmoking := ""; local_session.SessionReadmissionDiagnosisForMessage := ""; local_session.SessionNutritionalForMessage := ""; local_session.sessionDeviceMessage := ""; local_session.SessionSmokingForMessage := ""; //Discharge Orders local_session.SessionDischargeLabOrders := ""; local_session.SessionDischargeMIOrders := ""; //Vancomycin Trough Antibiotic Scheduled Date Time local_session_obj.SessionUnsubVancoExists := false; local_session_obj.SessionVancoTroughScheduledDate := NULL; local_session_obj.SessionVancoTroughScheduledTime := NULL; local_session_obj.SessionVancoTroughFrequency := ""; local_session_obj.SessionVancoTroughFrequencyList := ""; local_session_obj.SessionVancoTroughDose := 0; local_session_obj.SessionVancoTroughUOM := ""; local_session_obj.SessionVancoTroughStopAfter := ""; local_session_obj.SessionVancoTroughStopDate := ""; local_session_obj.SessionVancoTroughStopTime := ""; local_session_obj.SessionVancoTroughAddlDose := false; local_session_obj.SessionVancoGiveSTATNOWOrdered := false; // CSR#33419 -for Request Bed Order local_session_obj.SessionRequestBed:="" ; local_session_obj.SessionRequestedGUID := ""; //CSR# 37770 - Admission Order Confirmation local_session_obj.SessionAdmissionOrderConfirmation := ""; local_session_obj.SessionAdmissionOrderAttendingPhysician := ""; local_session_obj.SessionAdmissionOrderEffectiveDate := ""; local_session_obj.releaseQry := ""; local_session_obj.releaseFreq := ""; // Sunrise Access Manager Objects CSR# 26413 DW 12.04.2017 SessionPrimaryVisitInsurance:= ""; SessionService:= ""; SessionPatientType:= ""; SessionInsurancePlanBIssueCorrected:= ""; // Sunrise Surgical Session Objects local_session_obj.PregAlert_Reviewed_Once := False; //Modified by Phil Thomas, Eclipsys - Save the deafult value upon patient selection for the telephone order notice MLM local_session_obj.has_seen_telephone_order_notice := false; local_session_obj.is_telephone_order_session_Order_Enter := false; local_session_obj.Order_Set_Telephone_Order_Notice := false; local_session_obj.telephone_order_user_name := NULL; local_session_obj.telephone_order_user_occup := NULL; local_session_obj.ACSPNGroupSelections := (); //ACS 2012-08-02 //Modified - Below are for Oncology Content Order Sets local_session_obj.Current_Roadmap_GUID := NULL; local_session_obj.Current_Roadmap_SignificantDtm := NULL; local_session_obj.Current_Matching_Days := NULL; //Modified for OrderSetInit changes to VORB workflow local_session_obj.OrderSetSource := null; local_session_obj.current_orders := (); local_session_obj.CCC_LV := NULL; //20140904 SMS local_session_obj.CCC_ChartedObs := NULL; //20140904 SMS local_session_obj.Radiology_Results_Last_Selection := NULL; //20141114 SMS local_session_obj.Pathology_Results_Last_Selection := NULL; //20141114 SMS local_session_obj.onc_disease_name := ""; // 07.07.2016 SKelly local_session_obj.ACS_OrderReplacmentOrderInfo := (); // End of Sunrise Surgical Session Objects conclude true; ;; action: return local_session_obj; ;; end: