maintenance: title: FORM_POST_OP_LAP_CHOLE ;; mlmname: FORM_POST_OP_LAP_CHOLE ;; arden: version 2.5;; version: 6.10;; institution: St. Clair Hospital ;; author: Shivprasad Jadhav;; specialist: Shivprasad Jadhav, Allscripts;; date: 2015-03-14 ;; validation: testing;; library: purpose: 1st scenario: When the user select Morphine Inj, then, user should not be able to select Hydromorphone Inj, PCA Morphine Order set , PCA -Hydromorphone Order set ,oxycodone and hydrocodone 2nd scenario :When the user select Hydromorphone Inj, then, user should not be able to select Morphine Inj, PCA Morphine Order set , PCA -Hydromorphone Order set ,oxycodone and hydrocodone 3rd scenario : When the user select PCA Morphine Order set, then, user should not be able to select Morphine Inj, Hydromorphone Inj , PCA -Hydromorphone Order set,oxycodone and hydrocodone 4th scenario : When the user select PCA -Hydromorphone Order set, then, user should not be able to select Morphine Inj, Hydromorphone Inj , PCA Morphine Order set,oxycodone and hydrocodone 5th scenario : When the user select oxycodone, then user should not be able to select Morphine Inj, Hydromorphone Inj , PCA Morphine Order set, PCA -Hydromorphone Order set and hydrocodone. 6th scenario : When user selects hydrocodone then user should not be able to select Morphine Inj, Hydromorphone Inj , PCA Morphine Order set, PCA -Hydromorphone Order set and oxycodone. Change History ===================================================================================== 03/14/2016 SSJ CSR :33079 MLM Created 02/21/2017 TMS CSR: 35186 Updated search for "Hydrocodone 5mg/Acetaminophen 325mg name change ;; explanation: ;; keywords: ;; citations: ;; knowledge: type: data-driven;; data: ( this_communication, // Communication object this_form, // Form object client_info_obj //Arden ClientInfo object ) := argument; field_list:= this_form.Fields; CallingEvent := this_communication.CallingEvent; CallingField := this_communication.CallingFieldName; // Assigns fields passed in the Form object to the Field object client_guid := this_communication.ClientGUID; visit_guid := this_communication.ClientVisitGUID; chart_guid := this_communication.ChartGUID; Medication_Morphine := last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid" and field_list.Control_MultiFieldOccNum = 64 ); Medication_HydroMorphine := last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid" and field_list.Control_MultiFieldOccNum = 65 ); Medication_Pharmacy := last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid" and field_list.Control_MultiFieldOccNum = 49 ); Heparin_Grid := last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid" and field_list.Control_MultiFieldOccNum = 66 ); Morphine_Value := Medication_Morphine.Value ; HydroMorphine_Value := Medication_HydroMorphine.Value; Pharmacy_Value := Medication_Pharmacy.Value; Heparin_Grid_Value := Heparin_Grid.Value; // *********** Objects for first flow ************* Morphine1 := first of (Morphine_Value where Morphine_Value.Name = "Morphine Inj"); //Morphine2 := first of (Morphine_Value where Morphine_Value.Name = "PCA - Morphine Order Set"); //PCA - Morphine Order Set Morphine2 := Morphine_Value[2]; HydroMorphine1 := first of (HydroMorphine_Value where HydroMorphine_Value.Name = "Hydromorphone Inj"); // D5W 1000ml //HydroMorphine2 := first of (HydroMorphine_Value where HydroMorphine_Value.Name = "PCA - Hydromorphone Order Set"); HydroMorphine2 := HydroMorphine_Value[2]; //OxyCodon := first of (Pharmacy_Value where Pharmacy_Value.Name = "OxyCODONE 5mg/Acetaminophen 325mg Tab"); If Morphine1.IsSelected = True Then Morphine2.IsReadonly := True; HydroMorphine1.IsReadonly := True ; HydroMorphine2.IsReadonly := True; //OxyCodon.IsReadonly := True ; Endif; If Morphine2.IsSelected = True Then Morphine1.IsReadonly := True; HydroMorphine1.IsReadonly := True ; HydroMorphine2.IsReadonly := True; //OxyCodon.IsReadonly := True ; Endif; If HydroMorphine1.IsSelected = True Then Morphine1.IsReadonly := True; Morphine2.IsReadonly := True; HydroMorphine2.IsReadonly := True; //OxyCodon.IsReadonly := True ; Endif; If HydroMorphine2.IsSelected = True Then Morphine1.IsReadonly := True; Morphine2.IsReadonly := True; HydroMorphine1.IsReadonly := True ; //OxyCodon.IsReadonly := True ; Endif; /*If OxyCodon.IsSelected = True Then Morphine1.IsReadonly := True; Morphine2.IsReadonly := True; HydroMorphine1.IsReadonly := True ; HydroMorphine2.IsReadonly := True; Endif;*/ If HydroMorphine2.IsSelected = False And HydroMorphine1.IsSelected = False And Morphine2.IsSelected = False And Morphine1.IsSelected = False Then Morphine1.IsReadonly := False; Morphine2.IsReadonly := False; HydroMorphine1.IsReadonly := False ; HydroMorphine2.IsReadonly := False; //OxyCodon.IsReadonly := False ; EndIf; // Second flow ****************************************************************************** //Second Scope in MLM Ondansetron := first of (Pharmacy_Value where Pharmacy_Value.Name = "Ondansetron Inj"); Promethazine := first of (Pharmacy_Value where Pharmacy_Value.Name = "Promethazine Inj"); If Ondansetron.IsSelected = True Then Promethazine.IsReadonly := True; Endif; If Promethazine.IsSelected = True Then Ondansetron.IsReadonly := True; Endif; If Promethazine.IsSelected = False And Ondansetron.IsSelected = False Then Promethazine.IsReadonly := False; Ondansetron.IsReadonly := False; EndIf; // Third flow ****************************************************************************** Hydrocodone := first of (Pharmacy_Value where Pharmacy_Value.Name matches pattern "Hydrocodone 5mg/Acetaminophen 325mg%"); OxyCODONE := first of (Pharmacy_Value where Pharmacy_Value.Name = "OxyCODONE 5mg/Acetaminophen 325mg Tab"); If Hydrocodone.IsSelected = True Then OxyCODONE.IsReadonly := True; Endif; If OxyCODONE.IsSelected = True Then Hydrocodone.IsReadonly := True; Endif; If Hydrocodone.IsSelected = False And OxyCODONE.IsSelected = False Then Hydrocodone.IsReadonly := False; OxyCODONE.IsReadonly := False; EndIf; // fourth Flow ******************************************************************************* /* Daily_Orders := first of (Heparin_Grid_Value where Heparin_Grid_Value.Name = "Daily Orders:"); CBC := first of (Heparin_Grid_Value where Heparin_Grid_Value.Name = "CBC (Includes Diff)"); //Check to see if patient is on continuous heparin /*Heparin := read {"SELECT o.Name" || " FROM CV3ClientVisit cv WITH (NOLOCK) JOIN CV3Order o WITH (NOLOCK)" || " ON cv.GUID = o.ClientVisitGUID" || " AND cv.ClientGUID = o.ClientGUID" || " AND cv.ChartGUID = o.ChartGUID" || " WHERE cv.ClientGUID = " || Sql(client_guid) || " AND o.Name LIKE {{{SINGLE-QUOTE}}}%Heparin%{{{SINGLE-QUOTE}}}" || " And o.OrderStatusCode in ({{{SINGLE-QUOTE}}}AUA1{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}RESF{{{SINGLE-QUOTE}}}) " }; */ /* Order List for Prod Environment || "{{{SINGLE-QUOTE}}}Heparin 25,000 Units + 0.45% NaCl 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units + 0.9% NaCl 250ml{{{SINGLE-QUOTE}}}, " || "{{{SINGLE-QUOTE}}}Heparin 25,000 Units + D5W 250ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units + D5W 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units +0.9% NaCl 500ml{{{SINGLE-QUOTE}}}, " || "{{{SINGLE-QUOTE}}}Heparin 25,000 Units +D5W 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units+ 0.9% NaCl {{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units+ D5W 500ml{{{SINGLE-QUOTE}}}, " || "{{{SINGLE-QUOTE}}}Heparin Inj{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj -{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj {{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj-{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj.{{{SINGLE-QUOTE}}}, " || "{{{SINGLE-QUOTE}}}Heparin Prisma 5000 Units+0.9% NaCl 20ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin-{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Enoxaparin Inj{{{SINGLE-QUOTE}}} " Heparin := read {"SELECT o.Name" || " FROM CV3ClientVisit cv WITH (NOLOCK) JOIN CV3Order o WITH (NOLOCK)" || " ON cv.GUID = o.ClientVisitGUID" || " AND cv.ClientGUID = o.ClientGUID" || " AND cv.ChartGUID = o.ChartGUID" || " WHERE cv.ClientGUID = " || Sql(client_guid) || " AND o.Name In ( {{{SINGLE-QUOTE}}}Heparin 25,000 Units + D5W 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units + 0.9% NaCl 500ml{{{SINGLE-QUOTE}}}, " || "{{{SINGLE-QUOTE}}}Heparin 25,000 Units + 0.9% NaCl 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units + D5W 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units +0.9% NaCl 500ml{{{SINGLE-QUOTE}}}, " || "{{{SINGLE-QUOTE}}}Heparin 25,000 Units +D5W 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units+ 0.9% NaCl 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units+ D5W 500ml{{{SINGLE-QUOTE}}}, " || "{{{SINGLE-QUOTE}}}Heparin 25,000 Units+0.9% NaCl 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin 25,000 Units+D5W 500ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Infusion 10,000 units/10ml{{{SINGLE-QUOTE}}}, " || "{{{SINGLE-QUOTE}}}Heparin Inj{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj -{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj -{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj-{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Inj.{{{SINGLE-QUOTE}}}, " || "{{{SINGLE-QUOTE}}}Heparin Prisma 5000 Units+0.9% NaCl 20ml{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin Protocol{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Heparin-{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Enoxaparin Inj{{{SINGLE-QUOTE}}} ) " || " And o.OrderStatusCode in ({{{SINGLE-QUOTE}}}AUA1{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}RESF{{{SINGLE-QUOTE}}}) " }; If Not exist Heparin Then Daily_Orders.IsSelected := False ; CBC.IsSelected := False ; Daily_Orders.IsReadonly := True ; CBC.IsReadonly := True ; Else Daily_Orders.IsSelected := True ; CBC.IsSelected := True ; Daily_Orders.IsReadonly := True ; CBC.IsReadonly := True ; Endif; */ ;; priority: 50 ;; evoke: ;; logic: conclude true; ;; action: return this_communication, this_form; ;; Urgency: 50;; end: