maintenance: title: Doc_Func_Diabetes_Assessmt_Outpatient ;; filename: Doc_Func_Diabetes_Assessmt_Outpatient;; arden: version 2;; version: 1.00;; institution: Allscripts Corp;; author: Shivprasad Jadhav ;; specialist: Maya/Shubha ;; date: 2012-05-11;; validation: testing;; library: purpose: This MLM will populate the Value in {{{SINGLE-QUOTE}}}Vial and Syring method{{{SINGLE-QUOTE}}} when user select Yes in Instructed patient action for Insulin in Diabetic Assessment Outpatient SN. ;; explanation: This MLM will populate the Value in {{{SINGLE-QUOTE}}}Vial and Syring method{{{SINGLE-QUOTE}}} when user select Yes in Instructed patient action for Insulin. Change history 01.27.2017 SJ Created CSR # 35130- Created under 16.3 transformation of Aware Note to St. Note. ;; keywords: ;; knowledge: type: data-driven;; data: (this_documentCommunication) := argument; /*******************Make Changes To Spelling And Flags In This Section*******************/ /* Set to true if a decision.log is needed.*/ log_execution_info := FALSE; standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}}; include standard_libs; using "ObjectsPlusXA.SCM.Forms"; using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms"; // Extract interesting parts of the object model (thisStructuredNoteDoc) := this_documentCommunication.DocumentConfigurationObj; (thisParameters) := thisStructuredNoteDoc.ParametersList; (thisObservations) := thisStructuredNoteDoc.ChartedObservationsList; // Create prototypes for the object types we{{{SINGLE-QUOTE}}}ll need to instantiate ObservationType := OBJECT [ObservationGUID, ClientDocumentGUID, ParameterGUID, DataType, ValueObj]; FreeTextValueType := OBJECT [Value]; DateValueType := OBJECT [Value]; ListValueType := OBJECT [ListGuid,ListItemsList, SuggestedTextValue]; ListValueListItemType := OBJECT [ListItemGUID, Value, IsSelected]; // Reset the launch button theParameterx := first of (thisparameters where thisparameters.Name = "SCH_diab Edu Insulin syringe method new"); theObservation := first of (thisobservations where thisobservations.ParameterGUID = theParameterx.ParameterGUID); //"SCH_Diab edu Vial & Syring Method FT" if true in (theObservation.ValueObj.ListItemsList.IsSelected where theObservation.ValueObj.ListItemsList.Value = "Yes") then Insulin1 := "yes"; else Insulin1 := "no"; endif; theParameter1 := first of (thisparameters where thisparameters.Name = "SCH_diab Edu Ijecting insulin pen"); theObservation1 := first of (thisobservations where thisobservations.ParameterGUID = theParameter1.ParameterGUID); if true in (theObservation1.ValueObj.ListItemsList.IsSelected where theObservation1.ValueObj.ListItemsList.Value = "Yes") then Insulin2 := "yes"; else Insulin2 := "no"; endif; /* To Format the String value in Free Text Box */ CR := 13 formatted with "%c"; LF := 10 formatted with "%c"; CRLF:= CR||LF; Var1 := "Vial and Syringe Method: " ||CRLF|| " Cloudy insulin (NPH or premixed only) should be gently mixed by rolling via between hands. Remove lid from top of insulin vial and wipe rubber top with alcohol. " ||CRLF|| " Remove plastic needle cap. Pull back plunger of the syringe to the number of units. Inject air from syringe into vial and leave needle in vial. " ||CRLF|| " Turn vial upside down holding syringe and needle in place. Pull plunger back to draw correct number of units of insulin into syringe. " ||CRLF|| " Check for bubbles and push air out of syringe back into vial. Adjust plunger to ensure correct number of units of insulin are in syringe proper injection technique." ||CRLF|| " Site rotation. Storage and expiration of insulin. Appropriate disposal of sharps."; Var2 := "Insulin Pen Method: " ||CRLF|| "Clean tip of pen. Attach the pen needle. Perform safety shot. Dial the correct dose. Proper injection technique. Site rotation. " ||CRLF|| "Storage and expiration appropriate disposal of sharps."; MLM_DIPA := MLM {{{SINGLE-QUOTE}}}UTIL_OBJECT_Customize_DIPA_MLM{{{SINGLE-QUOTE}}}; prm_Vial := First of (thisParameters where thisParameters.Name = "SCH_Diab edu Vial & Syring Method FT"); /* Setting the Value to actual Observation */ If Insulin1 = "yes" Then Obs_Edu_Vial := CALL MLM_DIPA WITH this_DocumentCommunication,prm_Vial, Var1 as string ; this_documentCommunication.DocumentConfigurationObj.ChartedObservationsList := ( this_documentCommunication.DocumentConfigurationObj.ChartedObservationsList,Obs_Edu_Vial ); Else Obs_Edu_Vial := CALL MLM_DIPA WITH this_DocumentCommunication,prm_Vial, "" as string ; this_documentCommunication.DocumentConfigurationObj.ChartedObservationsList := ( this_documentCommunication.DocumentConfigurationObj.ChartedObservationsList,Obs_Edu_Vial ); Endif; prm_Vial1 := First of (thisParameters where thisParameters.Name = "SCH_Diab edu Insulin Pen Method FT"); If Insulin2 = "yes" Then Obs_Edu_Vial1 := CALL MLM_DIPA WITH this_DocumentCommunication,prm_Vial1, Var2 as string ; this_documentCommunication.DocumentConfigurationObj.ChartedObservationsList := ( this_documentCommunication.DocumentConfigurationObj.ChartedObservationsList,Obs_Edu_Vial1 ); Else Obs_Edu_Vial1 := CALL MLM_DIPA WITH this_DocumentCommunication,prm_Vial1, "" as string ; this_documentCommunication.DocumentConfigurationObj.ChartedObservationsList := ( this_documentCommunication.DocumentConfigurationObj.ChartedObservationsList,Obs_Edu_Vial1 ); Endif; ;; evoke: // No evoke statement ;; logic: conclude true; // always concludes TRUE ;; action: return this_documentCommunication; ;; end: