maintenance: maintenance: title: FORM_SET_Subcutaneous_Insulin_Orders;; mlmname: FORM_SET_Subcutaneous_Insulin_Orders;; arden: version 2.5;; version: 18.4;; institution: St Clair Hospital;; author: Teresa Spicuzza, Allscripts ;; specialist: St Clair Hospital;; date: 2019-01-09;; validation: testing;; library: purpose: Support best practice for diabetic management including standardized weight based calculation long and short acting insulin. ;; explanation: Change history 01.14.2020 TMS CSR 37690: Created to calculate weight based insulin orders using similar logic as is used for Diabetic Managment Protocol 01.23.2020 TMS CSR 37690: Added checkboxes for correctional scale and logic to allow user to change sliding scale by selecting new sliding scale range box or by selecting the desired scale without unchecking anything in the order selection checkboxes. Original method was confusing to users, whereby they had to deselect ;; keywords: Insulin, weight based, diabetic ;; knowledge: type: data-driven;; data: standard_libs := mlm {{{SINGLE-QUOTE}}}std_include_libs{{{SINGLE-QUOTE}}}; include standard_libs; local_session := CDS_SESSION.local; using "ObjectsPlusXA.SCM.Forms"; using namespace "ObjectsPlusXA.SunriseClinicalManager.Forms"; // This MLM is passed three arguments, of types // communication_type, form_type and client info object respectively. (this_communication, // Communication object this_form, // Form object client_info_obj //Arden ClientInfo object ) := argument; comm_obj := this_communication.primaryobj; /*******************Make Changes To Spelling And Flags In This Section*******************/ /* Set to true if a decision.log is needed.*/ log_execution_info := FALSE; /***************************************************************************************/ // Initialize error message error_message:=""; CR := 13 formatted with "%c"; LF := 10 formatted with "%c"; CRLF:= CR||LF; TAB := 9 FORMATTED WITH "%C" ; TAB2 := TAB || TAB ; TAB3 := TAB || TAB || TAB; // Assigns fields passed in the Form object to the Field object field_list:= this_form.fields; CallingEvent := this_communication.CallingEvent; CallingField := this_communication.CallingFieldName; ClientGuid := this_communication.ClientGUID; ClientVisitGuid := this_communication.ClientVisitGUID; ChartGuid := this_communication.ChartGUID; UserGuid := this_communication.UserGuid; //Form fields DosingGuidelines := last of (field_list WHERE field_list.DataItemName = "MultiOrderInline" AND field_list.Control_MultiFieldOccNum = 5); DosingGuidelines_List := DosingGuidelines.value; Nur_Instruct:= last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid" AND field_list.Control_MultiFieldOccNum = 5 ); Nur_InstructList := Nur_Instruct.value; Physician_Consult:= last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid" AND field_list.Control_MultiFieldOccNum = 8 ); Physician_ConsultList := Physician_Consult.value; InsulinLowDose := last of (field_list WHERE field_list.DataItemName = "MultiOrderInline" AND field_list.Control_MultiFieldOccNum = 1); InsulinLowDose_List := InsulinLowDose.value; InsulinModDose := last of (field_list WHERE field_list.DataItemName = "MultiOrderInline" AND field_list.Control_MultiFieldOccNum = 2); InsulinModDose_List := InsulinModDose.value; InsulinHighDose := last of (field_list WHERE field_list.DataItemName = "MultiOrderInline" AND field_list.Control_MultiFieldOccNum = 3); InsulinHighDose_List := InsulinHighDose.value; InsulinTypeInDose := last of (field_list WHERE field_list.DataItemName = "MultiOrderInline" AND field_list.Control_MultiFieldOccNum = 4); InsulinTypeInDoseList := InsulinTypeInDose.value; BasalInsulin:= last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid" AND field_list.Control_MultiFieldOccNum = 2 ); BasalInsulinList := BasalInsulin.value; NutrInsulin:= last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid" AND field_list.Control_MultiFieldOccNum = 3 ); NutrInsulinList := NutrInsulin.value; CurrWeight := last of ( field_list WHERE field_list.DataItemName = "CombinedMeasurements" AND field_list.Control_MultiFieldOccNum = 1 ); OrderInfo := last of ( field_list WHERE field_list.DataItemName = "PRX_NOTECOMMENT0" AND field_list.Control_MultiFieldOccNum = 1 ); BGMFrequencyCode := last of ( field_list WHERE field_list.DataItemName = "FrequencyCode" AND field_list.Control_MultiFieldOccNum = 1 ); BGMFrequency := BGMFrequencyCode.value; BGMOrders := last of ( field_list WHERE field_list.DataItemName = "MultiOrderGrid" AND field_list.Control_MultiFieldOccNum = 1 ); BGMOrders_List := BGMOrders.value; HomeMedList := last of ( field_list WHERE field_list.DataItemName = "PRX_Dosing_Info" AND field_list.Control_MultiFieldOccNum = 1 ); CurrentMedList := last of ( field_list WHERE field_list.DataItemName = "PRX_Dosing_Info" AND field_list.Control_MultiFieldOccNum = 2 ); SingleOral_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_DM_SingleOralHomeMed" AND field_list.Control_MultiFieldOccNum = 1 ); MultipleOralOrInsulin_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_DM_MultipleOralOrInsulin" AND field_list.Control_MultiFieldOccNum = 1 ); Diabetic_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_DM_PatientIsDiabetic" AND field_list.Control_MultiFieldOccNum = 1 ); InsulinPump_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_DM_PatientOnInsulinPump" AND field_list.Control_MultiFieldOccNum = 1 ); PumpNotFunctioning_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_DM_NonFunctioningPump" AND field_list.Control_MultiFieldOccNum = 1 ); DietControlled_CB:= last of ( field_list WHERE field_list.DataItemName = "PRX_DM_PatientDietControlled" AND field_list.Control_MultiFieldOccNum = 1 ); GFR_CB:= last of ( field_list WHERE field_list.DataItemName = "PRX_DM_GFR_LT_30" AND field_list.Control_MultiFieldOccNum = 1 ); IvSteroid_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_DM_PtOnIvSteroids" AND field_list.Control_MultiFieldOccNum = 1 ); Override_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_Generic_CB" AND field_list.Control_MultiFieldOccNum = 1 ); Basal_Lantus_Levemir_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_Basal_Lantus-Levemir" AND field_list.Control_MultiFieldOccNum = 1 ); Basal_NPH_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_Basal_NPH-Isophane" AND field_list.Control_MultiFieldOccNum = 1 ); Basal_Freq_Daily_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_Basal_Frequency" AND field_list.Control_MultiFieldOccNum = 1 ); Basal_Freq_BID_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_Basal_Frequency" AND field_list.Control_MultiFieldOccNum = 2 ); Nutr_Aspart_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_Insulin_Aspart" AND field_list.Control_MultiFieldOccNum = 1 ); Nutr_Regular_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_Insulin_Regular" AND field_list.Control_MultiFieldOccNum = 1 ); Nutr_Freq_Bkfst_CB:= last of ( field_list WHERE field_list.DataItemName = "PRX_Nutritional_Frequency" AND field_list.Control_MultiFieldOccNum = 1 ); Nutr_Freq_Lunch_CB:= last of ( field_list WHERE field_list.DataItemName = "PRX_Nutritional_Frequency" AND field_list.Control_MultiFieldOccNum = 2 ); Nutr_Freq_Dinner_CB:= last of ( field_list WHERE field_list.DataItemName = "PRX_Nutritional_Frequency" AND field_list.Control_MultiFieldOccNum = 3 ); Nutr_Freq_TID_CB:= last of ( field_list WHERE field_list.DataItemName = "PRX_Nutritional_Frequency" AND field_list.Control_MultiFieldOccNum = 4 ); Nutr_Freq_QHS_CB:= last of ( field_list WHERE field_list.DataItemName = "PRX_Nutritional_Frequency" AND field_list.Control_MultiFieldOccNum = 5 ); Corr_Aspart_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_Insulin_Aspart" AND field_list.Control_MultiFieldOccNum = 2 ); Corr_Regular_CB := last of ( field_list WHERE field_list.DataItemName = "PRX_Insulin_Regular" AND field_list.Control_MultiFieldOccNum = 2 ); Corr_Dose_Type := last of (field_list WHERE field_list.DataItemName = "PRX_Corr_Insulin_Dose" AND field_list.Control_MultiFieldOccNum = 1 ); Corr_Low_Dose_Scale := last of (field_list WHERE field_list.DataItemName = "PRX_Corr_Insulin_Scale" AND field_list.Control_MultiFieldOccNum = 1 ); Corr_Mod_Dose_Scale := last of (field_list WHERE field_list.DataItemName = "PRX_Corr_Insulin_Scale" AND field_list.Control_MultiFieldOccNum = 2 ); Corr_High_Dose_Scale := last of (field_list WHERE field_list.DataItemName = "PRX_Corr_Insulin_Scale" AND field_list.Control_MultiFieldOccNum = 3 ); Corr_Ind_Dose_Scale := last of (field_list WHERE field_list.DataItemName = "PRX_Corr_Insulin_Scale" AND field_list.Control_MultiFieldOccNum = 4 ); CurrentLoc := read last {" select currentlocation from cv3clientvisit " || " where ClientGUID = " || SQL(clientguid) || " and GUID = " || SQL(clientvisitguid)}; InsulinLowDoseList := InsulinLowDose.value; InsulinModDoseList := InsulinModDose.value; InsulinHighDoseList := InsulinHighDose.value; BasalInsulinList := BasalInsulin.value; NutrInsulinList := NutrInsulin.value; Physician_ConsultList := Physician_Consult.value; //Nur_InstructList := Endo_Consult.value; CalcDoseBasal := last of (field_list WHERE field_list.DataItemName = "PRX_Basal_TDD" AND field_list.Control_MultiFieldOccNum = 1); CalcDoseNutr := last of (field_list WHERE field_list.DataItemName = "PRX_Nutritional_TDD" AND field_list.Control_MultiFieldOccNum = 1); BasalDoseValue := last of (field_list WHERE field_list.DataItemName = "DosageLow" AND field_list.Control_MultiFieldOccNum = 1); NutrDoseValue := last of (field_list WHERE field_list.DataItemName = "DosageLow" AND field_list.Control_MultiFieldOccNum = 2); if exists CurrWeight then CurrWeight_val := CurrWeight.Value; wt := CurrWeight_val.weight; fmtwt := wt formatted with "%.1f"; else wtgm := read last { " Select Text from CV3PhysicalNoteDeclaration " || " where ClientGUID = " || SQL(clientguid) || " and ClientVisitGUID = " || SQL(clientvisitguid) || " and TypeCode = {{{SINGLE-QUOTE}}}weight{{{SINGLE-QUOTE}}} " || " order by Entered asc " }; wt := (wtgm as number) / 1000; fmtwt := wt formatted with "%.1f"; // calculate Total Daily Dose for patient weight TDD_calc := (wt as number) * 0.2; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; TDD_half_div := (TDD_half as number) ; TDD_Half_div_rnd := int (((TDD_half_div as number) + 0.5)/1)*1; fmt_TDD_halfdiv_rnd := TDD_half_div_rnd formatted with "%.0f"; TDD_half_div2 := (TDD_half as number) / 2; TDD_Half_div2_rnd := int (((TDD_half_div2 as number) + 0.5)/1)*1; fmt_TDD_halfdiv2_rnd := TDD_half_div2_rnd formatted with "%.0f"; TDD_half_div3 := (TDD_half as number) / 3; TDD_Half_div3_rnd := int (((TDD_half_div3 as number) + 0.5)/1)*1; fmt_TDD_halfdiv3_rnd := TDD_half_div3_rnd formatted with "%.0f"; TDD_half_div4 := (TDD_half as number) / 4; TDD_Half_div4_rnd := int (((TDD_half_div4 as number) + 0.5)/1)*1; fmt_TDD_halfdiv4_rnd := TDD_half_div4_rnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; CalcDoseNutr.Value := TDD_halfrnd; endif; If CallingEvent = "FormOpen" then DosingGuidelines_List.IsReadOnly := (true); //Obtain and format Home Medication Orders for display on form (HomeMed, HomeMedInfo) := read { "select distinct cp.DrugName, cp.instructions from SXAAMBClientPrescription cp inner join SXAMTDrugNameMapVW dnm on dnm.drug_synonym_id = cp.FormularyBrandKey join SXAMTCategoryDrugXREFVW cdx on cdx.drug_id = dnm.drug_id join SXAMTDrugCategoriesVW cat on cat.multum_category_id = cdx.multum_category_id where cp.ClientGUID = " || SQL(clientguid) || " and cp.StatusType ={{{SINGLE-QUOTE}}}1{{{SINGLE-QUOTE}}} and cat.category_name in ({{{SINGLE-QUOTE}}}insulin{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}dipeptidyl peptidase 4 inhibitors{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}antidiabetic combinations{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}sulfonylureas{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}biguanides{{{SINGLE-QUOTE}}}) and cp.EndDate is null " }; NumMeds:= 1 seqto (count HomeMed) ; fmtMessage := ""; for i in NumMeds do fmtMessage := fmtMessage || HomeMed [i] || " " || HomeMedInfo [i] || CRLF; enddo; HomeMedList.value := fmtMessage; //Obtain and format Current Inpatient Medication Orders for display on form (IpMedCode, IpMedName, IpMedSumm, IPMedDate) := read { "select distinct o.idcode, o.name, Replace (o.summaryline, CHAR(13) + CHAR(10), {{{SINGLE-QUOTE}}}{{{SINGLE-QUOTE}}}) from cv3order o join CV3OrderCatalogMasterItem ocmi on ocmi.guid = o.OrderCatalogMasterItemGUID join CV3DrugMapping dm on dm.CatalogItemGUID = ocmi.guid join SXAMultumLevelsForDupMedTherapy dup on dup.DrugId = dm.DrugKey join SXAMTCategoryDrugXREFVW cdx on cdx.drug_id = dm.drugkey join SXAMTDrugCategoriesVW cat on cat.multum_category_id = cdx.multum_category_id where cat.category_name in ({{{SINGLE-QUOTE}}}insulin{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}dipeptidyl peptidase 4 inhibitors{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}antidiabetic combinations{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}sulfonylureas{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}biguanides{{{SINGLE-QUOTE}}}) and o.ClientGUID = " || SQL(clientguid) || " and o.clientvisitguid = " || SQL(clientvisitguid) || " and o.OrderStatusCode not in ({{{SINGLE-QUOTE}}}DISC{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}COMP{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}DISCD{{{SINGLE-QUOTE}}})"}; NumIPMeds:= 1 seqto (count IPMedCode) ; fmtIPMessage := ""; for s in NumIPMeds do fmtIPMessage := fmtIPMessage || IPMedName [s] || " " || IPMedSumm [s] || CRLF; enddo; CurrentMedList.value := fmtIPMessage; endif; //If CallingEvent = "FormOpen" If CallingEvent = "FormOpen" or (CallingEvent = "FieldChange" and CallingField = "CombinedMeasurements|1") or (CallingEvent = "FieldChange" and CallingField = "PRX_Generic_CB|1" and Override_CB.Value = False) then /*********************************BEGIN HEALTH ISSUE SECTION**********************************************/ HealthIssue := read last {" select distinct hi.ShortName from cv3healthissuedeclaration hi with (nolock) inner join cv3codedhealthissue chi with (nolock) on hi.CodedHealthIssueGUID = chi.guid and chi.TypeCode IN({{{SINGLE-QUOTE}}}I9{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}ICD10{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}ICD9{{{SINGLE-QUOTE}}}) where Clientguid = " || SQL (clientguid) || " and hi.active = 1 and Status in ({{{SINGLE-QUOTE}}}Active{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Chronic{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Retired Code{{{SINGLE-QUOTE}}}) and (((ICD10Code like {{{SINGLE-QUOTE}}}E10%{{{SINGLE-QUOTE}}}) or (ICD10Code like {{{SINGLE-QUOTE}}}E11%{{{SINGLE-QUOTE}}}) or (ICD10Code like {{{SINGLE-QUOTE}}}E09%{{{SINGLE-QUOTE}}})) or ((ICD9Code like {{{SINGLE-QUOTE}}}250.%{{{SINGLE-QUOTE}}} and ICD10Code is null)) or ((ICD9Code like {{{SINGLE-QUOTE}}}249.%{{{SINGLE-QUOTE}}} and ICD10Code is null)) or ((chi.TypeCode IN({{{SINGLE-QUOTE}}}I9{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}ICD9{{{SINGLE-QUOTE}}})) and ((chi.Code like {{{SINGLE-QUOTE}}}250.%{{{SINGLE-QUOTE}}}) or chi.Code like {{{SINGLE-QUOTE}}}249.%{{{SINGLE-QUOTE}}})) or ((chi.TypeCode = {{{SINGLE-QUOTE}}}ICD10{{{SINGLE-QUOTE}}}) and ((chi.Code like {{{SINGLE-QUOTE}}}E11%{{{SINGLE-QUOTE}}}) or chi.Code like {{{SINGLE-QUOTE}}}E09%{{{SINGLE-QUOTE}}})))"}; if exist HealthIssue then Patient_is_Diabetic := "Yes"; else Patient_is_Diabetic := "No"; endif; If Patient_is_Diabetic = "Yes" then Diabetic_CB.value := True; Diabetic_CB.Control_Read_Only := True; else If Diabetic_CB.value = False then dialogResult1 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Unable to retrieve health issues for Diabetes. \n Does this patient have Diabetes? ","Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}}; if((dialogResult1 as string) = "Yes") then Diabetic_CB.value := True; Diabetic_CB.Control_Read_Only := True; else Diabetic_CB.Control_Read_Only := False; endif; endif; endif; /***********************BEGIN INSULIN PUMP DOCUMENTATION SEARCH ********************************/ (InsulinPump) := read last {"select fsl.value " || " from CV3ClientDocument cd with (nolock) " || " join CV3ClientDocDetail cdd with (nolock) ON (cdd.ClientDocumentGUID = cd.GUID AND cdd.ClientGUID = " || SQL(clientguid) || " and cdd.active = 1) " || " left join CV3ObservationDocument od with (nolock) ON cdd.CLientDocumentGUID = od.OwnerGUID and od.active = 1 " || " join CV3ObsCatalogMasterItem ocmi with (nolock) on od.ObsMasterItemGUID = ocmi.GUID and ocmi.name in ({{{SINGLE-QUOTE}}}SCHCK type of insulin{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}SCHCK insulin pump type{{{SINGLE-QUOTE}}}) " || " left join SCMObsFSListValues fsl(nolock) ON (fsl.ParentGUID = od.ObservationDocumentGUID AND fsl.ClientGUID = " || SQL(clientguid) || ") " || " where cd.clientguid = " || SQL(clientguid) || " and cd.clientvisitguid = " || SQL(clientvisitguid) || " and cd.documentname in ({{{SINGLE-QUOTE}}}ED Triage Note{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}adult patient profile{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}OB Patient Profile{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Pediatric Patient Profile{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Newborn Patient Profile{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Test{{{SINGLE-QUOTE}}}) " }; if exist insulinPump then Patient_on_Insulin_Pump := "Yes"; else PumpHealthIssue := read last {" select distinct hi.ShortName from cv3healthissuedeclaration hi with (nolock) inner join cv3codedhealthissue chi with (nolock) on hi.CodedHealthIssueGUID = chi.guid and chi.TypeCode IN({{{SINGLE-QUOTE}}}I9{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}ICD10{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}ICD9{{{SINGLE-QUOTE}}}) where Clientguid = " || SQL (clientguid) || " and hi.active = 1 and Status in ({{{SINGLE-QUOTE}}}Active{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Chronic{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}Retired Code{{{SINGLE-QUOTE}}}) and ((ICD10Code = {{{SINGLE-QUOTE}}}Z96.41{{{SINGLE-QUOTE}}}) or (ICD9Code = {{{SINGLE-QUOTE}}}V45.85{{{SINGLE-QUOTE}}} and ICD10Code is null) or ((chi.TypeCode = {{{SINGLE-QUOTE}}}ICD10{{{SINGLE-QUOTE}}}) and (chi.Code = {{{SINGLE-QUOTE}}}Z96.41{{{SINGLE-QUOTE}}})))"}; if exist pumpHealthIssue then Patient_on_Insulin_Pump := "Yes"; else Patient_on_Insulin_Pump := "No"; endif; endif; /***********************BEGIN HOME MEDICATION ORAL DIABETIC AGENT SEARCH********************************/ (OralHomeMed,rxid) := read { "select distinct cp.DrugName, cp.prescriptionid from SXAAMBClientPrescription cp inner join SXAMTDrugNameMapVW dnm on dnm.drug_synonym_id = cp.FormularyBrandKey join SXAMTCategoryDrugXREFVW cdx on cdx.drug_id = dnm.drug_id join SXAMTDrugCategoriesVW cat on cat.multum_category_id = cdx.multum_category_id where cp.ClientGUID = " || SQL(ClientGuid) || " and cp.statustype = {{{SINGLE-QUOTE}}}1{{{SINGLE-QUOTE}}} and cat.category_name in ({{{SINGLE-QUOTE}}}dipeptidyl peptidase 4 inhibitors{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}antidiabetic combinations{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}sulfonylureas{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}biguanides{{{SINGLE-QUOTE}}})"}; if exist OralHomeMed then Patient_on_Oral_Home_Agent := "Yes"; else Patient_on_Oral_Home_Agent := "No"; endif; HomeMedCount := count (OralHomeMed); If Patient_on_Oral_Home_Agent = "Yes" then If HomeMedCount = 1 then SingleOralAgent := "Yes"; MultiOralAgent := "No"; else SingleOralAgent := "No"; MultiOralAgent := "Yes"; endif; endif; /*********************************BEGIN HOME INSULIN SEARCH********************************************/ InsulinHomeMed := read last { "select distinct cp.DrugName from SXAAMBClientPrescription cp inner join SXAMTDrugNameMapVW dnm on dnm.drug_synonym_id = cp.FormularyBrandKey join SXAMTCategoryDrugXREFVW cdx on cdx.drug_id = dnm.drug_id join SXAMTDrugCategoriesVW cat on cat.multum_category_id = cdx.multum_category_id where cp.ClientGUID = " || SQL(ClientGuid) || " and cp.statustype = {{{SINGLE-QUOTE}}}1{{{SINGLE-QUOTE}}} and cat.category_name = {{{SINGLE-QUOTE}}}insulin{{{SINGLE-QUOTE}}} and cp.EndDate is null "}; if exist InsulinHomeMed then Patient_on_Home_Insulin := "Yes"; else Patient_on_Home_Insulin := "No"; endif; /********************************* BEGIN DIET ORDER SEARCH********************************************/ NPO := read last { "select o.guid from cv3order o join CV3OrderCatalogMasterItem ocmi on ocmi.guid = o.OrderCatalogMasterItemGUID where clientvisitguid = " || SQL (clientvisitguid) || " and o.clientguid = " || SQL (clientguid) ||" and o.typecode = {{{SINGLE-QUOTE}}}Other{{{SINGLE-QUOTE}}} and ocmi.Name = {{{SINGLE-QUOTE}}}NPO{{{SINGLE-QUOTE}}}"}; Diet := read last { "select o.guid from cv3order o join CV3OrderCatalogMasterItem ocmi on ocmi.guid = o.OrderCatalogMasterItemGUID where clientvisitguid = " || SQL (clientvisitguid) || " and o.clientguid = " || SQL (clientguid) ||" and o.typecode = {{{SINGLE-QUOTE}}}Other{{{SINGLE-QUOTE}}} and ocmi.Name = {{{SINGLE-QUOTE}}}Diet{{{SINGLE-QUOTE}}}"}; //Unsubmitted Active NPO order determined by local session variable if (local_session.SessionUnsubNPOOrder = true) then UnsubNPOOrderExists := true; endif; //Unsubmitted Active Diet order determined by local session variable if (local_session.SessionUnsubDietOrder = true) then UnsubDietOrderExists := true; endif; /***********************BEGIN IV STEROID SEARCH ********************************/ IvAddSteroid := read last { "select o.guid from cv3order o join CV3OrderCatalogMasterItem ocmi on ocmi.guid = o.OrderCatalogMasterItemGUID join CV3MedicationExtension me on me.guid = o.guid left join CV3OrderComponent oc on oc.OrderGUID = o.guid where clientvisitguid = " || SQL (clientvisitguid) || " and o.clientguid = " || SQL (clientguid) ||" and o.typecode = {{{SINGLE-QUOTE}}}Medication{{{SINGLE-QUOTE}}} and ocmi.TherapeuticCategory = {{{SINGLE-QUOTE}}}hormones/hormone modifiers | adrenal cortical steroids{{{SINGLE-QUOTE}}} and me.OrderRouteCode in ({{{SINGLE-QUOTE}}}IV{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}IV Push{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}IVPB{{{SINGLE-QUOTE}}})"}; IvSteroid := read last { " select o.guid from cv3order o join CV3MedicationExtension me on me.guid = o.guid left join CV3OrderComponent oc on oc.OrderGUID = o.guid join CV3OrderCatalogMasterItem ocmi on ocmi.guid = oc.OrderCatalogMasterItemGUID where clientvisitguid = " || SQL (clientvisitguid) || " and o.clientguid = " || SQL (clientguid) ||" and o.typecode = {{{SINGLE-QUOTE}}}Medication{{{SINGLE-QUOTE}}} and ocmi.TherapeuticCategory = {{{SINGLE-QUOTE}}}hormones/hormone modifiers | adrenal cortical steroids{{{SINGLE-QUOTE}}} and me.OrderRouteCode in ({{{SINGLE-QUOTE}}}IV{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}IV Push{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}IVPB{{{SINGLE-QUOTE}}})"}; IvSteroidTask := read {" select TaskStatusCode from CV3OrderTaskOccurrence oto join cv3order o on o.guid = oto.OrderGUID join CV3OrderCatalogMasterItem ocmi on ocmi.GUID = o.OrderCatalogMasterItemGUID join CV3MedicationExtension me on me.guid = o.guid where clientvisitguid = " || SQL (clientvisitguid) || " and oto.clientguid = " || SQL (clientguid) ||" and o.typecode = {{{SINGLE-QUOTE}}}Medication{{{SINGLE-QUOTE}}} and oto.TaskStatusCode <> ({{{SINGLE-QUOTE}}}Canceled{{{SINGLE-QUOTE}}}) and ocmi.TherapeuticCategory = {{{SINGLE-QUOTE}}}hormones/hormone modifiers | adrenal cortical steroids{{{SINGLE-QUOTE}}} and me.OrderRouteCode in ({{{SINGLE-QUOTE}}}IV{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}IV Push{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}IVPB{{{SINGLE-QUOTE}}})"}; IvAddSteroidTask := read {" select TaskStatusCode from CV3OrderTaskOccurrence oto join cv3order o on o.guid = oto.OrderGUID join CV3MedicationExtension me on me.guid = o.guid left join CV3OrderComponent oc on oc.OrderGUID = o.guid join CV3OrderCatalogMasterItem ocmi on ocmi.guid = oc.OrderCatalogMasterItemGUID where clientvisitguid = " || SQL (clientvisitguid) || " and oto.clientguid = " || SQL (clientguid) ||" and o.typecode = {{{SINGLE-QUOTE}}}Medication{{{SINGLE-QUOTE}}} and oto.TaskStatusCode <> ({{{SINGLE-QUOTE}}}Canceled{{{SINGLE-QUOTE}}}) and ocmi.TherapeuticCategory = {{{SINGLE-QUOTE}}}hormones/hormone modifiers | adrenal cortical steroids{{{SINGLE-QUOTE}}} and me.OrderRouteCode in ({{{SINGLE-QUOTE}}}IV{{{SINGLE-QUOTE}}}, {{{SINGLE-QUOTE}}}IV Push{{{SINGLE-QUOTE}}},{{{SINGLE-QUOTE}}}IVPB{{{SINGLE-QUOTE}}})"}; if (local_session.SessionUnsubIVSteroidOrder = true) then UnsubSteroidOrderExists := true; endif; if exist IvSteroid then Patient_on_IV_Steroid := "Yes"; IvSteroid_CB.value := True; IvSteroid_CB.Control_Read_only := True; elseif exist IvSteroidTask then Patient_on_IV_Steroid := "Yes"; IvSteroid_CB.value := True; IvSteroid_CB.Control_Read_only := True; elseif exist IvAddSteroid then Patient_on_IV_Steroid := "Yes"; IvSteroid_CB.value := True; IvSteroid_CB.Control_Read_only := True; elseif exist IvAddSteroidTask then Patient_on_IV_Steroid := "Yes"; IvSteroid_CB.value := True; IvSteroid_CB.Control_Read_only := True; elseif UnsubSteroidOrderExists = True then Patient_on_IV_Steroid := "Yes"; IvSteroid_CB.value := True; IvSteroid_CB.Control_Read_only := True; else Patient_on_IV_Steroid := "No"; IvSteroid_CB.value := False; IvSteroid_CB.Control_Read_only := True; endif; /**************************GFR LAB VALUE SEARCH ***********************************/ Race := read last {" Select RaceCode from cv3client where RaceCode like {{{SINGLE-QUOTE}}}%African%{{{SINGLE-QUOTE}}} and Guid = " ||SQL (clientguid)}; If Race is not null then GFR, GFRName, GFRUom, AbnCode := read last {"Select top 1 bo.value, bo.itemname, bo.UnitofMeasure, bo.AbnormalityCode " || " From cv3order as o with (nolock) " || " join cv3basicobservation as bo with (nolock) " || " on o.clientguid = bo.clientguid " || " and o.chartguid = bo.chartguid " || " and o.guid = bo.orderguid " || " and bo.status = {{{SINGLE-QUOTE}}}F{{{SINGLE-QUOTE}}} " || " and bo.Active = 1 " || " And bo.IsHistory = 0 " || " join cv3ordercatalogmasteritem as ocmi with (nolock) " || " on ocmi.guid = o.ordercatalogmasteritemguid " || " and ocmi.active = 1 " || " where o.clientguid = " || SQL(clientguid) || " and o.performeddtm >= (DATEADD(hour, -240, getdate())) " || " and bo.itemname = {{{SINGLE-QUOTE}}}GFR (African American){{{SINGLE-QUOTE}}} " || " order by o.performeddtm desc " }; else GFR, GFRName, GFRUom, AbnCode := read last {"Select top 1 bo.value, bo.itemname, bo.UnitofMeasure, bo.AbnormalityCode " || " From cv3order as o with (nolock) " || " join cv3basicobservation as bo with (nolock) " || " on o.clientguid = bo.clientguid " || " and o.chartguid = bo.chartguid " || " and o.guid = bo.orderguid " || " and bo.status = {{{SINGLE-QUOTE}}}F{{{SINGLE-QUOTE}}} " || " and bo.Active = 1 " || " And bo.IsHistory = 0 " || " join cv3ordercatalogmasteritem as ocmi with (nolock) " || " on ocmi.guid = o.ordercatalogmasteritemguid " || " and ocmi.active = 1 " || " where o.clientguid = " || SQL(clientguid) || " and o.performeddtm >= (DATEADD(hour, -240, getdate())) " || " and bo.itemname = {{{SINGLE-QUOTE}}}GFR (Caucasian/Other){{{SINGLE-QUOTE}}} " || " order by o.performeddtm desc " }; endif; If ABNCode = "L" and (GFR as number ) < 30 then Low_GFR := "Yes"; GFR_CB.value := True; GFR_CB.Control_Read_Only := True; elseif GFR is Null then No_GFR := "Yes"; GFR_CB.value := False; GFR_CB.Control_Read_Only := True; else Low_GFR := "No"; GFR_CB.value := False; GFR_CB.Control_Read_Only := True; endif; // patient on insulin pump or patient diet controlled If Patient_is_Diabetic = "Yes" and Patient_on_Insulin_Pump = "Yes" then EndoDoc := read last { " Select DisplayName from CV3ClientVisitProvidersJoin " || " where ClientVisitGUID = " || SQL(clientvisitguid) || " and Discipline = {{{SINGLE-QUOTE}}}Endocrinology{{{SINGLE-QUOTE}}}" || " and RoleCode = {{{SINGLE-QUOTE}}}Consulting{{{SINGLE-QUOTE}}}" || " and status = {{{SINGLE-QUOTE}}}Active{{{SINGLE-QUOTE}}}"}; If EndoDoc is not null then ThisMsgB := "Patient on an Insulin Pump." || CRLF || "Patient has an existing Endocrinology Consult to " || EndoDoc ||"."; Nur_InstructList.IsSelected := (True, True); Physician_ConsultList.IsSelected := (False); else Nur_InstructList.IsSelected := (True, True); Physician_ConsultList.IsSelected := (True); ThisMsgB := "Patient on an Insulin Pump." || CRLF || "Place a STAT Endocrinology Consult."; endif; OrderInfo.value := ThisMsgB; InsulinPump_CB.value := True; Diabetic_CB.value := True; DietControlled_CB.value:= False; MultipleOralOrInsulin_CB.value := False; SingleOral_CB.value := False; DietControlled_CB.control_read_only := True; MultipleOralOrInsulin_CB.control_read_only := True; SingleOral_CB.control_read_only := True; dialogResult7 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Documentation states this patient has an insulin pump. \n Is the pump actively providing insulin therapy for this patient?" ,"Insulin Pump Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}}; if((dialogResult7 as string) = "Yes") then Basal_Lantus_Levemir_CB.value := False; Nutr_Aspart_CB.value := False; Corr_Aspart_CB.value := False; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Nutr_Freq_Bkfst_CB.value := false; Nutr_Freq_Lunch_CB.value := false; Nutr_Freq_Dinner_CB.value := false; Nutr_Freq_TID_CB.value := false; Nutr_Freq_QHS_CB.value := false; Basal_Freq_Daily_CB.value := false; Basal_Freq_BID_CB.value := false; Basal_NPH_CB.value := false; Nutr_Regular_CB.value := false; Corr_Regular_CB.value := false; BasalInsulinList.IsSelected := (false, false, false, false); NutrInsulinList.IsSelected := (false, false, false, false, false, false, false, false, false, false); InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False, False); InsulinHighDoseList.IsSelected := (False, False); PumpNotFunctioning_CB.value := False; else Basal_Lantus_Levemir_CB.value := True; Nutr_Aspart_CB.value := True; Corr_Aspart_CB.value := True; PumpNotFunctioning_CB.value := True; endif; ElseIf Patient_on_Insulin_Pump = "No" and Patient_on_Oral_Home_Agent = "No" and Patient_on_Home_Insulin = "No" then dialogResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Unable to retrieve any home insulin or home oral diabetic agents. \n\n Please select {{{SINGLE-QUOTE}}}YES{{{SINGLE-QUOTE}}} to confirm that this patient does not take oral diabetic agents or insulin. ","Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}}; if((dialogResult as string) = "Yes") then Patient_is_Diet_Controlled := "Yes"; DietControlled_CB.value := True; MultipleOralOrInsulin_CB.value := False; MultipleOralOrInsulin_CB.Control_Read_Only := True; SingleOral_CB.value := False; SingleOral_CB.Control_Read_Only := True; InsulinPump_CB.value := False; InsulinPump_CB.Control_Read_Only := True; Basal_Lantus_Levemir_CB.value := false; Nutr_Aspart_CB.value := false; Corr_Aspart_CB.value := false; Corr_Low_Dose_Scale := False; Corr_Mod_Dose_Scale := False; Corr_High_Dose_Scale := False; Corr_Ind_Dose_Scale := False; Nutr_Freq_Bkfst_CB.value := false; Nutr_Freq_Lunch_CB.value := false; Nutr_Freq_Dinner_CB.value := false; Nutr_Freq_TID_CB.value := false; Nutr_Freq_QHS_CB.value := false; Basal_Freq_Daily_CB.value := false; Basal_Freq_BID_CB.value := false; Basal_NPH_CB.value := false; Nutr_Regular_CB.value := false; Corr_Regular_CB.value := false; BasalInsulinList.IsSelected := (false, false, false, false); NutrInsulinList.IsSelected := (false, false, false, false, false, false, false, false, false, false); InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False, False); InsulinHighDoseList.IsSelected := (False, False); if Diet is not null or UnsubDietOrderExists then BGMOrders_List.IsSelected := (True, False, False, False, False, False); BGMFrequency.FrequencySummary := "QID (AC and HS)"; elseif NPO is not null or UnsubNPOOrderExists then BGMOrders_List.IsSelected := (False, True, False, False, False, False); BGMFrequency.FrequencySummary := "Q6H"; else dialogResult3 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Unable to retrieve any diet orders. \n Is this patient NPO? ","Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}}; if((dialogResult3 as string) = "Yes") then BGMOrders_List.IsSelected := (False, True, False, False, False, False); else BGMOrders_List.IsSelected := (True, False, False, False, False, False); endif; endif; else If this_communication.CatalogParentOrderSetGUID is not null then dialogResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n You will need to re-open the Diabetic Management Protocol Order Set from the Review Screen before submitting orders to make any Parameter Selections." ,"Alert","OK" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}}; endif; Patient_is_Diet_Controlled := "No"; DietControlled_CB.value := False; Override_CB.value := True; GFR_CB.Control_Read_Only := False; IvSteroid_CB.Control_Read_only := False; MultipleOralOrInsulin_CB.control_read_only := False; SingleOral_CB.control_read_only := False; InsulinPump_CB.control_read_only := False; DietControlled_CB.control_read_only := False; endif; endif; // patient on insulin pump or patient diet controlled // patient is diabetic and patient not on insulin pump or patient not diet controlled if (Patient_is_Diabetic = "Yes" and Patient_on_Insulin_Pump = "No" and (Patient_is_Diet_Controlled = "No" or Patient_is_Diet_Controlled is Null)) or (Patient_is_Diabetic = "Yes" and Patient_on_Insulin_Pump = "Yes" and PumpNotFunctioning_CB.value = True) then If Patient_on_IV_Steroid = "No" and this_communication.CatalogParentOrderSetGUID is not null and (MultiOralAgent = "Yes" or Patient_on_Home_Insulin = "Yes") then dialogResult6 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Will you be placing this patient on IV Steroids?" ,"Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}}; if((dialogResult6 as string) = "Yes") then Patient_on_IV_Steroid := "Yes"; IvSteroid_CB.value := True; IvSteroid_CB.Control_Read_only := True; else Patient_on_IV_Steroid := "No"; endif; endif; // Get patient weight if exists CurrWeight then CurrWeight_val := CurrWeight.Value; wt := CurrWeight_val.weight; fmtwt := wt formatted with "%.1f"; else wtgm := read last { " Select Text from CV3PhysicalNoteDeclaration " || " where ClientGUID = " || SQL(clientguid) || " and ClientVisitGUID = " || SQL(clientvisitguid) || " and TypeCode = {{{SINGLE-QUOTE}}}weight{{{SINGLE-QUOTE}}} " || " order by Entered asc " }; wt := (wtgm as number) / 1000; fmtwt := wt formatted with "%.1f"; endif; If wt = 0 or wt is null then dialogResult := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Please enter a patient weight to continue. ","Alert","OK" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}}; CurrWeight.Control_Mandatory := True; endif; If Patient_on_Oral_Home_Agent = "Yes" and SingleOralAgent = "Yes" and MultiOralAgent = "No" and Patient_on_Home_Insulin = "No" then TDD_calc := (wt as number) * 0.2; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; CalcDoseNutr.Value := TDD_halfrnd; If (BasalInsulinList.IsSelected = (True, False, False, False) or BasalInsulinList.IsSelected = (True, True, False, False) or BasalInsulinList.IsSelected = (False, True, False, False)) then BasalInsulinList.IsReadOnly := (False, False, True, True); endif; Nur_InstructList.IsSelected := (True, False); Physician_ConsultList.IsSelected := (False); InsulinPump_CB.value:= False; DietControlled_CB.value:= False; SingleOral_CB.value := True; MultipleOralOrInsulin_CB.value := False; InsulinPump_CB.control_read_only := True; SingleOral_CB.control_read_only := True; DietControlled_CB.control_read_only := True; SingleOral_CB.control_read_only := True; MultipleOralOrInsulin_CB.control_read_only := True; If (TDD_calc as number) > 80 then Corr_Dose_Type.Value := "High"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale"; elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale"; elseif (TDD_calc as number) < 40 then Corr_Dose_Type.Value := "Low"; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale"; endif; ThisMsg := "Patient on single oral agent at home." || CRLF || "Total Daily Dose = 0.2 units/kg || (" || fmtwt || " kg * 0.2 = " || fmt_TDD|| " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; OrderInfo.value := ThisMsg; elseif ((Patient_on_Oral_Home_Agent = "Yes" and SingleOralAgent = "No" and MultiOralAgent = "Yes") or Patient_on_Home_Insulin = "Yes") and Patient_on_IV_Steroid = "Yes" and PumpNotFunctioning_CB.value = False then TDD_calc := (wt as number) * 0.5; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; CalcDoseNutr.Value := TDD_halfrnd; Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Nur_InstructList.IsSelected := (True, False); Physician_ConsultList.IsSelected := (False); InsulinPump_CB.value:= False; DietControlled_CB.value:= False; SingleOral_CB.value := False; MultipleOralOrInsulin_CB.value := True; InsulinPump_CB.control_read_only := True; DietControlled_CB.control_read_only := True; SingleOral_CB.control_read_only := True; MultipleOralOrInsulin_CB.control_read_only := True; Slidescale := "Use Moderate Dose Correctional Sliding Scale"; ThisMsg := "Patient on IV Steroids." || CRLF || "Total Daily Dose = 0.5 units/kg || (" || fmtwt || " kg * 0.5 = " || fmt_TDD || " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; OrderInfo.value := ThisMsg; elseif PumpNotFunctioning_CB.value = True and Patient_on_IV_Steroid = "Yes" then TDD_calc := (wt as number) * 0.5; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; CalcDoseNutr.Value := TDD_halfrnd; Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; InsulinPump_CB.control_read_only := True; DietControlled_CB.control_read_only := True; SingleOral_CB.control_read_only := True; MultipleOralOrInsulin_CB.control_read_only := True; Slidescale := "Use Moderate Dose Correctional Sliding Scale"; ThisMsg := ThisMsgB || CRLF ||"Patient on IV Steroids." || CRLF || "Total Daily Dose = 0.5 units/kg || (" || fmtwt || " kg * 0.5 = " || fmt_TDD || " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; OrderInfo.value := ThisMsg; elseif ((Patient_on_Oral_Home_Agent = "Yes" and SingleOralAgent = "No" and MultiOralAgent = "Yes") or Patient_on_Home_Insulin = "Yes" ) and Patient_on_IV_Steroid = "No" and Low_GFR = "Yes" and PumpNotFunctioning_CB.value = False then TDD_calc := (wt as number) * 0.2; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; If (BasalInsulinList.IsSelected = (True, False, False, False) or BasalInsulinList.IsSelected = (True, True, False, False) or BasalInsulinList.IsSelected = (False, True, False, False)) then BasalInsulinList.IsReadOnly := (False, False, True, True); endif; Nur_InstructList.IsSelected := (True, False); Physician_ConsultList.IsSelected := (False); GFR_CB.value := True; GFR_CB.Control_Read_Only := True; InsulinPump_CB.value:= False; DietControlled_CB.value:= False; SingleOral_CB.value := False; MultipleOralOrInsulin_CB.value := True; InsulinPump_CB.control_read_only := True; DietControlled_CB.control_read_only := True; SingleOral_CB.control_read_only := True; MultipleOralOrInsulin_CB.control_read_only := True; If (TDD_calc as number) > 80 then Corr_Dose_Type.Value := "High"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale"; elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale"; elseif (TDD_calc as number) < 40 then Corr_Dose_Type.Value := "Low"; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale"; endif; ThisMsg := GFRName ||" " || GFR || " " || GFRUom || CRLF || "Total Daily Dose = 0.2 units/kg || (" || fmtwt || " kg * 0.2 = " || fmt_TDD|| " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; OrderInfo.value := ThisMsg; elseif PumpNotFunctioning_CB.value = True and Patient_on_IV_Steroid = "No" and Low_GFR = "Yes" then TDD_calc := (wt as number) * 0.2; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; If (BasalInsulinList.IsSelected = (True, False, False, False) or BasalInsulinList.IsSelected = (True, True, False, False) or BasalInsulinList.IsSelected = (False, True, False, False)) then BasalInsulinList.IsReadOnly := (False, False, True, True); endif; If (TDD_calc as number) > 80 then Corr_Dose_Type.Value := "High"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale"; elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale"; elseif (TDD_calc as number) < 40 then Corr_Dose_Type.Value := "Low"; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale"; endif; ThisMsg := GFRName ||" " || GFR || " " || GFRUom || CRLF || "Total Daily Dose = 0.2 units/kg || (" || fmtwt || " kg * 0.2 = " || fmt_TDD|| " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; OrderInfo.value := ThisMsg; elseif ((Patient_on_Oral_Home_Agent = "Yes" and SingleOralAgent = "No" and MultiOralAgent = "Yes") or Patient_on_Home_Insulin = "Yes") and Patient_on_IV_Steroid = "No" and Low_GFR = "No" and PumpNotFunctioning_CB.value = False then TDD_calc := (wt as number) * 0.4; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; CalcDoseNutr.Value := TDD_halfrnd; If (BasalInsulinList.IsSelected = (True, False, False, False) or BasalInsulinList.IsSelected = (True, True, False, False) or BasalInsulinList.IsSelected = (False, True, False, False)) then BasalInsulinList.IsReadOnly := (False, False, True, True); endif; Nur_InstructList.IsSelected := (True, False); Physician_ConsultList.IsSelected := (False); GFR_CB.value := False ; SingleOral_CB.value := False; SingleOral_CB.control_read_only := True; MultipleOralOrInsulin_CB.value := True; MultipleOralOrInsulin_CB.control_read_only := True; DietControlled_CB.value := False; DietControlled_CB.control_read_only := True; If Patient_on_Home_Insulin = "No" then InsulinPump_CB.Control_Read_Only := True; else InsulinPump_CB.Control_Read_Only := False; endif; If (TDD_calc as number) > 80 then Corr_Dose_Type.Value := "High"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale"; elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale"; elseif (TDD_calc as number) < 40 then Corr_Dose_Type.Value := "Low"; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale"; endif; ThisMsg := GFRName ||" " || GFR || " " || GFRUom || CRLF || "Total Daily Dose = 0.4 units/kg || (" || fmtwt || " kg * 0.4 = " || fmt_TDD || " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; OrderInfo.value := ThisMsg; elseif PumpNotFunctioning_CB.value = True and Patient_on_IV_Steroid = "No" and Low_GFR = "No" then TDD_calc := (wt as number) * 0.4; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; CalcDoseNutr.Value := TDD_halfrnd; If (BasalInsulinList.IsSelected = (True, False, False, False) or BasalInsulinList.IsSelected = (True, True, False, False) or BasalInsulinList.IsSelected = (False, True, False, False)) then BasalInsulinList.IsReadOnly := (False, False, True, True); endif; If (TDD_calc as number) > 80 then Corr_Dose_Type.Value := "High"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale"; elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale"; elseif (TDD_calc as number) < 40 then Corr_Dose_Type.Value := "Low"; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale"; endif; ThisMsg := GFRName ||" " || GFR || " " || GFRUom || CRLF || "Total Daily Dose = 0.4 units/kg || (" || fmtwt || " kg * 0.4 = " || fmt_TDD || " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; OrderInfo.value := ThisMsg; elseif ((Patient_on_Oral_Home_Agent = "Yes" and SingleOralAgent = "No" and MultiOralAgent = "Yes") or Patient_on_Home_Insulin = "Yes" ) and Patient_on_IV_Steroid = "No" and No_GFR = "Yes" and PumpNotFunctioning_CB.value = False then TDD_calc := (wt as number) * 0.2; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; CalcDoseNutr.Value := TDD_halfrnd; Nur_InstructList.IsSelected := (True, False); Physician_ConsultList.IsSelected := (False); GFR_CB.value := False ; SingleOral_CB.value := False; SingleOral_CB.control_read_only := True; MultipleOralOrInsulin_CB.value := True; MultipleOralOrInsulin_CB.control_read_only := True; DietControlled_CB.value := False; DietControlled_CB.control_read_only := True; If Patient_on_Home_Insulin = "No" then InsulinPump_CB.Control_Read_Only := True; else InsulinPump_CB.Control_Read_Only := False; endif; If (TDD_calc as number) > 80 then Corr_Dose_Type.Value := "High"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale"; elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale"; elseif (TDD_calc as number) < 40 then Corr_Dose_Type.Value := "Low"; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale"; endif; ThisMsg := " No GFR Value Found" || CRLF || "Total Daily Dose = 0.2 units/kg || (" || fmtwt || " kg * 0.2 = " || fmt_TDD || " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; OrderInfo.value := ThisMsg; elseif PumpNotFunctioning_CB.value = True and Patient_on_IV_Steroid = "No" and No_GFR = "Yes" then TDD_calc := (wt as number) * 0.2; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; CalcDoseNutr.Value := TDD_halfrnd; If (TDD_calc as number) > 80 then Corr_Dose_Type.Value := "High"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale"; elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale"; elseif (TDD_calc as number) < 40 then Corr_Dose_Type.Value := "Low"; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale"; endif; ThisMsg := " No GFR Value Found" || CRLF || "Total Daily Dose = 0.2 units/kg || (" || fmtwt || " kg * 0.2 = " || fmt_TDD || " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; OrderInfo.value := ThisMsg; else ThisMsg := " " ; OrderInfo.value := ThisMsg; endif; endif; endif; If callingEvent = "FieldChange" or callingEvent = "FormClose" then // Present error window if no weight available If callingEvent = "FormClose" and (MultipleOralOrInsulin_CB.value = True or SingleOral_CB.value = True) and (wt = 0 or wt is null) then this_communication.DisplayForm := "yes"; this_communication.Message := "\n You must enter a patient weight to continue. "; this_communication.MessageType := "Error"; endif; // call Medication order management MLM on close for duplicate therapeutic medication review Med_Order_Mgt := mlm {{{SINGLE-QUOTE}}}FORM_SET_Rx_Medication_Order_Mgt{{{SINGLE-QUOTE}}}; (this_communication, this_form) := call Med_Order_Mgt with this_communication, this_form, client_info_obj; if callingevent = "FieldChange" then // If override parameters box is selected make all parameters available If CallingField = "PRX_Generic_CB|1" and Override_CB.Value = True then InsulinPump_CB.Control_Read_Only := False; MultipleOralOrInsulin_CB.control_read_only := False; SingleOral_CB.control_read_only := False; DietControlled_CB.control_read_only := False; GFR_CB.Control_Read_Only := False; IvSteroid_CB.Control_Read_only := False; Nur_InstructList.IsSelected := (True, False); Physician_ConsultList.IsSelected := (False); BasalInsulinList.IsSelected := (False); endif; If CallingField = "PRX_DM_PatientOnInsulinPump|1" then If InsulinPump_CB.value = False then MultipleOralOrInsulin_CB.control_read_only := False; SingleOral_CB.control_read_only := False; DietControlled_CB.control_read_only := False; Nur_InstructList.IsSelected := (True, False); Physician_ConsultList.IsSelected := (False); ThisMsg := " " ; Basal_Lantus_Levemir_CB.value := True; Nutr_Aspart_CB.value := True; Corr_Aspart_CB.value := True; // If patient has insulin pump enter Endo Consult Elseif InsulinPump_CB.value = True then EndoDoc := read last { " Select DisplayName from CV3ClientVisitProvidersJoin " || " where ClientVisitGUID = " || SQL(clientvisitguid) || " and Discipline = {{{SINGLE-QUOTE}}}Endocrinology{{{SINGLE-QUOTE}}}" || " and RoleCode = {{{SINGLE-QUOTE}}}Consulting{{{SINGLE-QUOTE}}}" || " and status = {{{SINGLE-QUOTE}}}Active{{{SINGLE-QUOTE}}}"}; If EndoDoc is not null then ThisMsg := "Patient on an Insulin Pump." || CRLF || "Patient has an existing Endocrinology Consult to " || EndoDoc ||"."; Nur_InstructList.IsSelected := (True, True); Physician_ConsultList.IsSelected := (False); else ThisMsg := "Patient on an Insulin Pump." || CRLF || "Place a STAT Endocrinology Consult."; Nur_InstructList.IsSelected := (True, True); Physician_ConsultList.IsSelected := (True); endif; BasalInsulinList.IsSelected := (False, False, False, False); NutrInsulinList.IsSelected := (False, False, False, False, False, False, False, False, False, False); Corr_Aspart_CB.value := False; Corr_Regular_CB.value := False; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; InsulinLowDoseList.IsSelected := (False, False); InsulinModDoseList.IsSelected := (False, False); InsulinHighDoseList.IsSelected := (False, False); OrderInfo.value := ThisMsg; Diabetic_CB.value := True; DietControlled_CB.value:= False; MultipleOralOrInsulin_CB.value := False; SingleOral_CB.value := False; DietControlled_CB.control_read_only := True; MultipleOralOrInsulin_CB.control_read_only := True; SingleOral_CB.control_read_only := True; Basal_Lantus_Levemir_CB.value := False; Nutr_Aspart_CB.value := False; Corr_Aspart_CB.value := False; endif; endif; //If CallingField = "PRX_DM_PatientOnInsulinPump|1" If (CallingField = "PRX_DM_SingleOralHomeMed|1" and (SingleOral_CB.value = True or SingleOral_CB.value = False))or (CallingField = "CombinedMeasurements|1" and SingleOral_CB.value = true) then If SingleOral_CB.value = False then MultipleOralOrInsulin_CB.control_read_only := False; SingleOral_CB.control_read_only := False; DietControlled_CB.control_read_only := False; InsulinPump_CB.control_read_only := False; Elseif SingleOral_CB.value = True then TDD_calc := (wt as number) * 0.2; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; TDD_half_div := (TDD_half as number); TDD_Half_div_rnd := int (((TDD_half_div as number) + 0.5)/1)*1; fmt_TDD_halfdiv_rnd := TDD_half_div_rnd formatted with "%.0f"; TDD_half_div2 := (TDD_half as number) / 2; TDD_Half_div2_rnd := int (((TDD_half_div2 as number) + 0.5)/1)*1; fmt_TDD_halfdiv2_rnd := TDD_half_div2_rnd formatted with "%.0f"; TDD_half_div3 := (TDD_half as number) / 3; TDD_Half_div3_rnd := int (((TDD_half_div3 as number) + 0.5)/1)*1; fmt_TDD_halfdiv3_rnd := TDD_half_div3_rnd formatted with "%.0f"; TDD_half_div4 := (TDD_half as number) / 4; TDD_Half_div4_rnd := int (((TDD_half_div4 as number) + 0.5)/1)*1; fmt_TDD_halfdiv4_rnd := TDD_half_div4_rnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; CalcDoseNutr.Value := TDD_halfrnd; Nur_InstructList.IsSelected := (True, False); Physician_ConsultList.IsSelected := (False); InsulinPump_CB.value:= False; DietControlled_CB.value:= False; MultipleOralOrInsulin_CB.value := False; InsulinPump_CB.control_read_only := True; DietControlled_CB.control_read_only := True; MultipleOralOrInsulin_CB.control_read_only := True; If (TDD_calc as number) > 80 then Corr_Dose_Type.Value := "High"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale"; elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale"; elseif (TDD_calc as number) < 40 then Corr_Dose_Type.Value := "Low"; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale"; endif; ThisMsg := "Patient on single oral agent at home." || CRLF || "Total Daily Dose = 0.2 units/kg || (" || fmtwt || " kg * 0.2 = " || fmt_TDD|| " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; OrderInfo.value := ThisMsg; endif; endif; //If (CallingField = "PRX_DM_SingleOralHomeMed|1" and (SingleOral_CB.value = True or SingleOral_CB.value = False))or (CallingField = "CombinedMeasurements|1" and SingleOral_CB.value = true) If (CallingField = "PRX_DM_MultipleOralOrInsulin|1" or CallingField = "PRX_DM_PtOnIvSteroids|1" or CallingField = "PRX_DM_GFR_LT_30|1") or (CallingField = "CombinedMeasurements|1" and MultipleOralOrInsulin_CB.value = true) then If MultipleOralOrInsulin_CB.value = False then MultipleOralOrInsulin_CB.control_read_only := False; SingleOral_CB.control_read_only := False; DietControlled_CB.control_read_only := False; InsulinPump_CB.control_read_only := False; ElseIf MultipleOralOrInsulin_CB.value = True then If IvSteroid_CB.value = True then TDD_calc := (wt as number) * 0.5; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; TDD_half_div := (TDD_half as number) ; TDD_Half_div_rnd := int (((TDD_half_div as number) + 0.5)/1)*1; fmt_TDD_halfdiv_rnd := TDD_half_div_rnd formatted with "%.0f"; TDD_half_div2 := (TDD_half as number) / 2; TDD_Half_div2_rnd := int (((TDD_half_div2 as number) + 0.5)/1)*1; fmt_TDD_halfdiv2_rnd := TDD_half_div2_rnd formatted with "%.0f"; TDD_half_div3 := (TDD_half as number) / 3; TDD_Half_div3_rnd := int (((TDD_half_div3 as number) + 0.5)/1)*1; fmt_TDD_halfdiv3_rnd := TDD_half_div3_rnd formatted with "%.0f"; TDD_half_div4 := (TDD_half as number) / 4; TDD_Half_div4_rnd := int (((TDD_half_div4 as number) + 0.5)/1)*1; fmt_TDD_halfdiv4_rnd := TDD_half_div4_rnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; CalcDoseNutr.Value := TDD_halfrnd; Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Nur_InstructList.IsSelected := (True, False); Physician_ConsultList.IsSelected := (False); InsulinPump_CB.value:= False; DietControlled_CB.value:= False; SingleOral_CB.value := False; InsulinPump_CB.control_read_only := True; DietControlled_CB.control_read_only := True; SingleOral_CB.control_read_only := True; Slidescale := "Use Moderate Dose Correctional Sliding Scale"; ThisMsg := "Patient on IV Steroids." || CRLF || "Total Daily Dose = 0.5 units/kg || (" || fmtwt || " kg * 0.5 = " || fmt_TDD || " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; OrderInfo.value := ThisMsg; ElseIf GFR_CB.value = True and IvSteroid_CB.value = False then TDD_calc := (wt as number) * 0.2; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; TDD_half_div := (TDD_half as number); TDD_Half_div_rnd := int (((TDD_half_div as number) + 0.5)/1)*1; fmt_TDD_halfdiv_rnd := TDD_half_div_rnd formatted with "%.0f"; TDD_half_div2 := (TDD_half as number) / 2; TDD_Half_div2_rnd := int (((TDD_half_div2 as number) + 0.5)/1)*1; fmt_TDD_halfdiv2_rnd := TDD_half_div2_rnd formatted with "%.0f"; TDD_half_div3 := (TDD_half as number) / 3; TDD_Half_div3_rnd := int (((TDD_half_div3 as number) + 0.5)/1)*1; fmt_TDD_halfdiv3_rnd := TDD_half_div3_rnd formatted with "%.0f"; TDD_half_div4 := (TDD_half as number) / 4; TDD_Half_div4_rnd := int (((TDD_half_div4 as number) + 0.5)/1)*1; fmt_TDD_halfdiv4_rnd := TDD_half_div4_rnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; CalcDoseNutr.Value := TDD_halfrnd; If (BasalInsulinList.IsSelected = (True, False, False, False) or BasalInsulinList.IsSelected = (True, True, False, False) or BasalInsulinList.IsSelected = (False, True, False, False)) then BasalInsulinList.IsReadOnly := (False, False, True, True); endif; Nur_InstructList.IsSelected := (True, False); Physician_ConsultList.IsSelected := (False); InsulinPump_CB.value:= False; DietControlled_CB.value:= False; SingleOral_CB.value := False; InsulinPump_CB.control_read_only := True; DietControlled_CB.control_read_only := True; SingleOral_CB.control_read_only := True; If (TDD_calc as number) > 80 then Corr_Dose_Type.Value := "High"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale"; elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale"; elseif (TDD_calc as number) < 40 then Corr_Dose_Type.Value := "Low"; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale"; endif; ThisMsg := "This patient has a GFR < 30ml/min" || CRLF || "Total Daily Dose = 0.2 units/kg || (" || fmtwt || " kg * 0.2 = " || fmt_TDD|| " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; OrderInfo.value := ThisMsg; ElseIf GFR_CB.value = False and IvSteroid_CB.value = False then TDD_calc := (wt as number) * 0.4; fmt_TDD := TDD_calc formatted with "%.0f"; TDD_half := (TDD_calc as number) * 0.5; TDD_halfrnd := int (((TDD_half as number) + 0.5)/1)*1; fmt_TDD_halfrnd := TDD_halfrnd formatted with "%.0f"; TDD_half_div := (TDD_half as number) ; TDD_Half_div_rnd := int (((TDD_half_div as number) + 0.5)/1)*1; fmt_TDD_halfdiv_rnd := TDD_half_div_rnd formatted with "%.0f"; TDD_half_div2 := (TDD_half as number) / 2; TDD_Half_div2_rnd := int (((TDD_half_div2 as number) + 0.5)/1)*1; fmt_TDD_halfdiv2_rnd := TDD_half_div2_rnd formatted with "%.0f"; TDD_half_div3 := (TDD_half as number) / 3; TDD_Half_div3_rnd := int (((TDD_half_div3 as number) + 0.5)/1)*1; fmt_TDD_halfdiv3_rnd := TDD_half_div3_rnd formatted with "%.0f"; TDD_half_div4 := (TDD_half as number) / 4; TDD_Half_div4_rnd := int (((TDD_half_div4 as number) + 0.5)/1)*1; fmt_TDD_halfdiv4_rnd := TDD_half_div4_rnd formatted with "%.0f"; CalcDoseBasal.Value := TDD_halfrnd; CalcDoseNutr.Value := TDD_halfrnd; If (BasalInsulinList.IsSelected = (True, False, False, False) or BasalInsulinList.IsSelected = (True, True, False, False) or BasalInsulinList.IsSelected = (False, True, False, False)) then BasalInsulinList.IsReadOnly := (False, False, True, True); endif; Nur_InstructList.IsSelected := (True, False); Physician_ConsultList.IsSelected := (False); SingleOral_CB.value := False; SingleOral_CB.control_read_only := True; DietControlled_CB.value := False; DietControlled_CB.control_read_only := True; If (TDD_calc as number) > 80 then Corr_Dose_Type.Value := "High"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose > 80 units - Use High Dose Correctional Sliding Scale"; elseif (TDD_calc as number) >= 40 and (TDD_calc as number) <= 80 then Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose 40 - 80 units - Use Moderate Dose Correctional Sliding Scale"; elseif (TDD_calc as number) < 40 then Corr_Dose_Type.Value := "Low"; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Slidescale := "Total Daily Dose < 40 units - Use Low Dose Correctional Sliding Scale"; endif; If GFRName is not null then ThisMsg := GFRName ||" " || GFR || " " || GFRUom || CRLF || "Total Daily Dose = 0.4 units/kg || (" || fmtwt || " kg * 0.4 = " || fmt_TDD || " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; Else ThisMsg := " " || CRLF || "Total Daily Dose = 0.4 units/kg || (" || fmtwt || " kg * 0.4 = " || fmt_TDD || " units)" || CRLF || "Basal Insulin = 50% of Total Daily Dose || (" || fmt_TDD ||" units * 0.5 = " || fmt_TDD_halfrnd || " units)" ||CRLF || Slidescale; Endif; OrderInfo.value := ThisMsg; endif; endif; endif; //If (CallingField = "PRX_DM_MultipleOralOrInsulin|1" or CallingField = "PRX_DM_PtOnIvSteroids|1" or CallingField = "PRX_DM_GFR_LT_30|1") //or (CallingField = "CombinedMeasurements|1" and MultipleOralOrInsulin_CB.value = true) If CallingField = "PRX_DM_PatientDietControlled|1" then If DietControlled_CB.value = False then MultipleOralOrInsulin_CB.control_read_only := False; SingleOral_CB.control_read_only := False; DietControlled_CB.control_read_only := False; InsulinPump_CB.control_read_only := False; ElseIf DietControlled_CB.value = True then BasalInsulinList.IsSelected := (False); Nur_InstructList.IsSelected := (True, False); Physician_ConsultList.IsSelected := (False); Basal_Lantus_Levemir_CB.value := False; Basal_NPH_CB.value := False; Nutr_Aspart_CB.value := False; Nutr_Regular_CB.value := False; Corr_Aspart_CB.value := False; Corr_Regular_CB.value := False; Nutr_Freq_Bkfst_CB.value := false; Nutr_Freq_Lunch_CB.value := false; Nutr_Freq_Dinner_CB.value := false; Nutr_Freq_TID_CB.value := false; Nutr_Freq_QHS_CB.value := false; Basal_Freq_Daily_CB.value := false; Basal_Freq_BID_CB.value := false; NutrInsulinList.IsSelected := (false, false, false, false, false, false, false, false, false, false); InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False, False); InsulinHighDoseList.IsSelected := (False, False); Corr_Dose_Type.Value := ""; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; MultipleOralOrInsulin_CB.value := False; MultipleOralOrInsulin_CB.Control_Read_Only := True; SingleOral_CB.value := False; SingleOral_CB.Control_Read_Only := True; InsulinPump_CB.value := False; InsulinPump_CB.Control_Read_Only := True; ThisMsg := " " || CRLF; OrderInfo.value := ThisMsg; if Diet is not null or UnsubDietOrderExists then BGMOrders_List.IsSelected := (True, False, False, False, False, False); BGMFrequency.FrequencySummary := "QID (AC and HS)"; elseif NPO is not null or UnsubNPOOrderExists then BGMOrders_List.IsSelected := (False, True, False, False, False, False); BGMFrequency.FrequencySummary := "Q6H"; else dialogResult3 := call {{{SINGLE-QUOTE}}}MessageBox{{{SINGLE-QUOTE}}}.Show with "\n Unable to retrieve any diet orders. \n Is this patient NPO? ","Alert","YesNo" as {{{SINGLE-QUOTE}}}MessageBoxButtons{{{SINGLE-QUOTE}}}; if((dialogResult3 as string) = "Yes") then BGMOrders_List.IsSelected := (False, True, False, False, False, False); BGMFrequency.FrequencySummary := "Q6H"; else BGMOrders_List.IsSelected := (True, False, False, False, False, False); BGMFrequency.FrequencySummary := "QID (AC and HS)"; endif; endif; endif; endif; If CallingField = "PRX_Corr_Insulin_Scale|1" then If Corr_Low_Dose_Scale.Value = False then Corr_Dose_Type.Value := ""; InsulinLowDoseList.IsSelected := (False,False); Elseif Corr_Low_Dose_Scale.Value = True then Corr_Dose_Type.Value := "Low"; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Endif; Endif; If CallingField = "PRX_Corr_Insulin_Scale|2" then If Corr_Mod_Dose_Scale.Value = False then Corr_Dose_Type.Value := ""; InsulinModDoseList.IsSelected := (False,False); Elseif Corr_Mod_Dose_Scale.Value = True then Corr_Dose_Type.Value := "Moderate"; Corr_Low_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Endif; Endif; If CallingField = "PRX_Corr_Insulin_Scale|3" then If Corr_High_Dose_Scale.Value = False then Corr_Dose_Type.Value := ""; InsulinHighDoseList.IsSelected := (False,False); Elseif Corr_High_Dose_Scale.Value = True then Corr_Dose_Type.Value := "High"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Endif; Endif; If CallingField = "PRX_Corr_Insulin_Scale|4" then If Corr_Ind_Dose_Scale.Value = False then Corr_Dose_Type.Value := ""; InsulinTypeInDoseList.IsSelected := (False,False); Elseif Corr_Ind_Dose_Scale.Value = True then Corr_Dose_Type.Value := "Individualized"; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Endif; Endif; endif; // find out how many times nutritional insulin will be administered per day If Nutr_Freq_Bkfst_CB.value = true then NutrSel1 := 1; else NutrSel1 := 0; endif; If Nutr_Freq_Lunch_CB.value = true then NutrSel2 := 1; else NutrSel2 := 0; endif; If Nutr_Freq_Dinner_CB.value = true then NutrSel3 := 1; else NutrSel3 := 0; endif; If Nutr_Freq_TID_CB.value = true then NutrSel4 := 3; Nutr_Freq_Bkfst_CB.value := false; NutrSel1 := 0; Nutr_Freq_Lunch_CB.value := false; NutrSel2 := 0; Nutr_Freq_Dinner_CB.value := false; NutrSel3 := 0; else NutrSel4 := 0; endif; If Nutr_Freq_QHS_CB.value = true then NutrSel5 := 1; else NutrSel5 := 0; endif; Nutr_Frequency := (NutrSel1 as number) + (NutrSel2 as number) + (NutrSel3 as number) + (NutrSel4 as number) + (NutrSel5 as number); // calculate nutritional dose based upon adminsitrations per day If Nutr_Frequency = 1 then TDD_half_div := (CalcDoseNutr.Value as number); TDD_Half_div_rnd := int (((TDD_half_div as number) + 0.5)/1)*1; fmt_TDD_halfdiv_rnd := TDD_half_div_rnd formatted with "%.0f"; NutrDoseValue.Value := fmt_TDD_halfdiv_rnd; elseif (Nutr_Frequency as number) = 2 then TDD_half_div2 := (CalcDoseNutr.Value as number) / 2; TDD_Half_div2_rnd := int (((TDD_half_div2 as number) + 0.5)/1)*1; fmt_TDD_halfdiv2_rnd := TDD_half_div2_rnd formatted with "%.0f"; NutrDoseValue.Value := fmt_TDD_halfdiv2_rnd; elseif Nutr_Frequency = 3 then TDD_half_div3 := (CalcDoseNutr.Value as number) / 3; TDD_Half_div3_rnd := int (((TDD_half_div3 as number) + 0.5)/1)*1; fmt_TDD_halfdiv3_rnd := TDD_half_div3_rnd formatted with "%.0f"; NutrDoseValue.Value := fmt_TDD_halfdiv3_rnd; elseif Nutr_Frequency = 4 then TDD_half_div4 := (CalcDoseNutr.Value as number) / 4; TDD_Half_div4_rnd := int (((TDD_half_div4 as number) + 0.5)/1)*1; fmt_TDD_halfdiv4_rnd := TDD_half_div4_rnd formatted with "%.0f"; NutrDoseValue.Value := fmt_TDD_halfdiv4_rnd; else NutrDoseValue.Value := null; endif; // select correct basal insulin from selected insulin checkbox and selected frequency checkbox If CallingField = "PRX_Basal_Lantus-Levemir|1" or Basal_Lantus_Levemir_CB.value = True then If Basal_Lantus_Levemir_CB.value = True then Basal_NPH_CB.value := False; If Basal_Freq_Daily_CB.value = true and CalcDoseBasal.value is not null then BasalDoseValue.Value := CalcDoseBasal.Value as number; BasalInsulinList.IsSelected := (true, false, false, false); Elseif Basal_Freq_BID_CB.value = true and CalcDoseBasal.value is not null then TDD_half_div := (CalcDoseBasal.value as number) / 2; TDD_Half_div_rnd := int (((TDD_half_div as number) + 0.5)/1)*1; fmt_TDD_halfdiv_rnd := TDD_half_div_rnd formatted with "%.0f"; BasalDoseValue.Value := fmt_TDD_halfdiv_rnd; BasalInsulinList.IsSelected := (false, true, false, false); endif; else If Basal_NPH_CB.value = False then BasalInsulinList.IsSelected := (false, false, false, false); endif; endif; endif; If CallingField = "PRX_Basal_NPH-Isophane|1" or Basal_NPH_CB.value = True then If Basal_NPH_CB.value = True then Basal_Lantus_Levemir_CB.value := False; If Basal_Freq_Daily_CB.value = true and CalcDoseBasal.value is not null then BasalDoseValue.Value := CalcDoseBasal.Value as number; BasalInsulinList.IsSelected := (false, false, true, false); Elseif Basal_Freq_BID_CB.value = true and CalcDoseBasal.value is not null then TDD_half_div := (CalcDoseBasal.value as number) / 2; TDD_Half_div_rnd := int (((TDD_half_div as number) + 0.5)/1)*1; fmt_TDD_halfdiv_rnd := TDD_half_div_rnd formatted with "%.0f"; BasalDoseValue.Value := fmt_TDD_halfdiv_rnd ; BasalInsulinList.IsSelected := (false, false, false, true); endif; else If Basal_Lantus_Levemir_CB.value = False then BasalInsulinList.IsSelected := (false, false, false, false); endif; endif; endif; endif; If CallingField = "PRX_Basal_Frequency|1" then If Basal_Freq_Daily_CB.value = True then Basal_Freq_BID_CB.value := False; If Basal_Freq_Daily_CB.value = true and CalcDoseBasal.value is not null then BasalDoseValue.Value := CalcDoseBasal.Value as number; If Basal_Lantus_Levemir_CB.value = True then BasalInsulinList.IsSelected := (true, false, false, false); Elseif Basal_NPH_CB.value = True then BasalInsulinList.IsSelected := (false, false, true, false); endif; endif; else If Basal_Freq_BID_CB.value = false then BasalInsulinList.IsSelected := (false, false, false, false); endif; endif; endif; If CallingField = "PRX_Basal_Frequency|2" then If Basal_Freq_BID_CB.value = True then Basal_Freq_Daily_CB.value := False; If Basal_Freq_BID_CB.value = true and CalcDoseBasal.value is not null then TDD_half_div := (CalcDoseBasal.value as number) / 2; TDD_Half_div_rnd := int (((TDD_half_div as number) + 0.5)/1)*1; fmt_TDD_halfdiv_rnd := TDD_half_div_rnd formatted with "%.0f"; BasalDoseValue.Value := fmt_TDD_halfdiv_rnd; If Basal_Lantus_Levemir_CB.value = True then BasalInsulinList.IsSelected := (false, true, false, false); Elseif Basal_NPH_CB.value = True then BasalInsulinList.IsSelected := (false, false, false, true); endif; endif; else If Basal_Freq_Daily_CB.value = false then BasalInsulinList.IsSelected := (false, false, false, false); endif; endif; endif; index_list := 1 seqto (count NutrInsulinList) ; If CallingField = "PRX_Insulin_Aspart|1" then If Nutr_Aspart_CB.value = True then index_list := 1 seqto (count NutrInsulinList) ; gridvalue := (); Nutr_Regular_CB.value := False; Nutr_Regular_CB.control_read_only := True; If (Nutr_Freq_Bkfst_CB.value = true or Nutr_Freq_TID_CB.value = true) and CalcDoseNutr.value is not null then for a in index_list do If a = 1 then gridvalue := gridvalue,"true"; else gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; enddo; NutrInsulinList.IsSelected:= gridvalue; gridvalue := (); endif; If (Nutr_Freq_Lunch_CB.value = true or Nutr_Freq_TID_CB.value = true) and CalcDoseNutr.value is not null then for a in index_list do If a = 2 then gridvalue := gridvalue, "true"; else gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; enddo; NutrInsulinList.IsSelected:= gridvalue; gridvalue := (); endif; If (Nutr_Freq_Dinner_CB.value = true or Nutr_Freq_TID_CB.value = true) and CalcDoseNutr.value is not null then for a in index_list do If a = 3 then gridvalue := gridvalue, "true"; else gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; enddo; NutrInsulinList.IsSelected:= gridvalue; gridvalue := (); endif; If Nutr_Freq_QHS_CB.value = true and CalcDoseNutr.value is not null then for a in index_list do If a = 4 then gridvalue := gridvalue, "true"; else gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; enddo; NutrInsulinList.IsSelected:= gridvalue; gridvalue := (); endif; If CalcDoseNutr.value is not null then for a in index_list do If a in (6, 7, 8, 9, 10) then gridvalue := gridvalue, "false"; else gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; enddo; NutrInsulinList.IsSelected:= gridvalue; gridvalue := (); endif; else Nutr_Regular_CB.control_read_only := False; endif; endif; If CallingField = "PRX_Insulin_Regular|1" then If Nutr_Regular_CB.value = True then gridvalue := (); Nutr_Aspart_CB.value := False; Nutr_Aspart_CB.control_read_only := True; If (Nutr_Freq_Bkfst_CB.value = true or Nutr_Freq_TID_CB.value = true) and CalcDoseNutr.value is not null then for a in index_list do If a = 6 then gridvalue := gridvalue,"true"; else gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; enddo; NutrInsulinList.IsSelected:= gridvalue; gridvalue := (); endif; If (Nutr_Freq_Lunch_CB.value = true or Nutr_Freq_TID_CB.value = true) and CalcDoseNutr.value is not null then for a in index_list do If a = 7 then gridvalue := gridvalue, "true"; else gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; enddo; NutrInsulinList.IsSelected:= gridvalue; gridvalue := (); endif; If (Nutr_Freq_Dinner_CB.value = true or Nutr_Freq_TID_CB.value = true) and CalcDoseNutr.value is not null then for a in index_list do If a = 8 then gridvalue := gridvalue, "true"; else gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; enddo; NutrInsulinList.IsSelected:= gridvalue; gridvalue := (); endif; If Nutr_Freq_QHS_CB.value = true and CalcDoseNutr.value is not null then for a in index_list do If a = 9 then gridvalue := gridvalue, "true"; else gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; enddo; NutrInsulinList.IsSelected:= gridvalue; gridvalue := (); endif; If CalcDoseNutr.value is not null then for a in index_list do If a in (1, 2, 3, 4, 5) then gridvalue := gridvalue, "false"; else gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; enddo; NutrInsulinList.IsSelected:= gridvalue; gridvalue := (); endif; else Nutr_Aspart_CB.control_read_only := False; endif; endif; If (CallingField = "PRX_Nutritional_Frequency|1" or CallingField = "PRX_Nutritional_Frequency|2" or CallingField = "PRX_Nutritional_Frequency|3" or CallingField = "PRX_Nutritional_Frequency|4" or CallingField = "PRX_Nutritional_Frequency|5") then If Nutr_Aspart_CB.value = True then index_list := 1 seqto (count NutrInsulinList) ; gridvalue := (); Nutr_Regular_CB.value := False; Nutr_Regular_CB.control_read_only := True; for a in index_list do If a = 1 and (Nutr_Freq_Bkfst_CB.value = true or Nutr_Freq_TID_CB.value = true) and Nutr_Aspart_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"true"; elseif a = 1 and (Nutr_Freq_Bkfst_CB.value = false and Nutr_Freq_TID_CB.value = false)and Nutr_Aspart_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"false"; elseif a = 1 then gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; If a = 2 and (Nutr_Freq_Lunch_CB.value = true or Nutr_Freq_TID_CB.value = true) and Nutr_Aspart_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"true"; elseif a = 2 and (Nutr_Freq_Lunch_CB.value = false and Nutr_Freq_TID_CB.value = false) and Nutr_Aspart_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"false"; elseif a= 2 then gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; If a = 3 and (Nutr_Freq_Dinner_CB.value = true or Nutr_Freq_TID_CB.value = true) and Nutr_Aspart_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"true"; elseif a = 3 and (Nutr_Freq_Dinner_CB.value = false and Nutr_Freq_TID_CB.value = false) and Nutr_Aspart_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"false"; elseif a= 3 then gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; If a = 4 and (Nutr_Freq_QHS_CB.value = true ) and Nutr_Aspart_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"true"; elseif a = 4 and (Nutr_Freq_QHS_CB.value = false ) and Nutr_Aspart_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"false"; elseif a = 4 then gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; If a = 5 and Nutr_Aspart_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; If a in (6, 7, 8, 9, 10) then gridvalue := gridvalue,"false"; endif; enddo; NutrInsulinList.IsSelected:= gridvalue; gridvalue := (); ElseIf Nutr_Regular_CB.value = True then index_list := 1 seqto (count NutrInsulinList) ; gridvalue := (); Nutr_Aspart_CB.value := False; Nutr_Aspart_CB.control_read_only := True; for a in index_list do If a in (1, 2, 3, 4, 5) then gridvalue := gridvalue,"false"; endif; If a = 6 and (Nutr_Freq_Bkfst_CB.value = true or Nutr_Freq_TID_CB.value = true) and Nutr_Regular_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"true"; elseif a = 6 and (Nutr_Freq_Bkfst_CB.value = false and Nutr_Freq_TID_CB.value = false) and Nutr_Regular_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"false"; elseif a= 6 then gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; If a = 7 and (Nutr_Freq_Lunch_CB.value = true or Nutr_Freq_TID_CB.value = true) and Nutr_Regular_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"true"; elseif a = 7 and (Nutr_Freq_Lunch_CB.value = false and Nutr_Freq_TID_CB.value = false) and Nutr_Regular_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"false"; elseif a= 7 then gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; If a = 8 and (Nutr_Freq_Dinner_CB.value = true or Nutr_Freq_TID_CB.value = true) and Nutr_Regular_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"true"; elseif a = 8 and (Nutr_Freq_Dinner_CB.value = false and Nutr_Freq_TID_CB.value = false) and Nutr_Regular_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"false"; elseif a= 8 then gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; If a = 9 and (Nutr_Freq_QHS_CB.value = true ) and Nutr_Regular_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"true"; elseif a = 9 and (Nutr_Freq_QHS_CB.value = false ) and Nutr_Regular_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue,"false"; elseif a= 9 then gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; If a = 10 and Nutr_Regular_CB.value = True and CalcDoseNutr.value is not null then gridvalue := gridvalue, NutrInsulinList.IsSelected [a]; endif; enddo; NutrInsulinList.IsSelected:= gridvalue; gridvalue := (); endif; endif; // select correctional sliding scale if modified or selected from checkboxes If CallingField = "MultiOrderInline|1" then Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := ""; InsulinModDoseList.IsSelected := (False,False); InsulinHighDoseList.IsSelected := (False,False); InsulinTypeInDoseList.IsSelected := (False,False); If InsulinLowDoseList.IsSelected [1] = true and InsulinLowDoseList.IsSelected [2] = false then Corr_Aspart_CB.value := True; Corr_Aspart_CB.Control_Read_Only:= False; Corr_Regular_CB.value := False; Corr_Regular_CB.Control_Read_Only := True; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := "Low"; Elseif InsulinLowDoseList.IsSelected [1] = false and InsulinLowDoseList.IsSelected [2] = true then Corr_Aspart_CB.value := False; Corr_Aspart_CB.Control_Read_Only := True; Corr_Regular_CB.value := True; Corr_Regular_CB.Control_Read_Only := False; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := "Low"; Elseif InsulinLowDoseList.IsSelected [1] = false and InsulinLowDoseList.IsSelected [2] = false then Corr_Aspart_CB.value := False; Corr_Aspart_CB.Control_Read_Only := False; Corr_Regular_CB.value := False; Corr_Regular_CB.Control_Read_Only := False; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := ""; Elseif InsulinLowDoseList.IsSelected [1] = true and InsulinLowDoseList.IsSelected [2] = true then If Corr_Aspart_CB.value = True then Corr_Aspart_CB.value := False; Corr_Aspart_CB.Control_Read_Only := True; Corr_Regular_CB.value := true; Corr_Regular_CB.Control_Read_Only := False; InsulinLowDoseList.IsSelected := (False, True); elseif Corr_Regular_CB.value = true then Corr_Regular_CB.value := false; Corr_Regular_CB.Control_Read_Only := True; Corr_Aspart_CB.value := True; Corr_Aspart_CB.Control_Read_Only := false; InsulinLowDoseList.IsSelected := (True, False); endif; Corr_Low_Dose_Scale.Value := True; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := "Low"; Endif; Endif; If CallingField = "MultiOrderInline|2" then Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := ""; InsulinLowDoseList.IsSelected := (False,False); InsulinHighDoseList.IsSelected := (False,False); InsulinTypeInDoseList.IsSelected := (False,False); If InsulinModDoseList.IsSelected [1] = true and InsulinModDoseList.IsSelected [2] = false then Corr_Aspart_CB.value := True; Corr_Aspart_CB.Control_Read_Only:= False; Corr_Regular_CB.value := False; Corr_Regular_CB.Control_Read_Only := True; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := "Moderate"; Elseif InsulinModDoseList.IsSelected [1] = false and InsulinModDoseList.IsSelected [2] = true then Corr_Aspart_CB.value := False; Corr_Aspart_CB.Control_Read_Only:= True; Corr_Regular_CB.value := True; Corr_Regular_CB.Control_Read_Only := False; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := "Moderate"; Elseif InsulinModDoseList.IsSelected [1] = false and InsulinModDoseList.IsSelected [2] = false then Corr_Aspart_CB.value := False; Corr_Aspart_CB.Control_Read_Only:= False; Corr_Regular_CB.value := False; Corr_Regular_CB.Control_Read_Only := False; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := ""; Elseif InsulinModDoseList.IsSelected [1] = true and InsulinModDoseList.IsSelected [2] = true then If Corr_Aspart_CB.value = True then Corr_Aspart_CB.value := False; Corr_Aspart_CB.Control_Read_Only := True; Corr_Regular_CB.value := True; Corr_Regular_CB.Control_Read_Only := False; InsulinModDoseList.IsSelected := (False, True); elseif Corr_Regular_CB.value = true then Corr_Regular_CB.value := false; Corr_Regular_CB.Control_Read_Only := true; Corr_Aspart_CB.value := true; Corr_Aspart_CB.Control_Read_Only := false; InsulinModDoseList.IsSelected := (True, False); endif; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := True; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := "Moderate"; Endif; Endif; If CallingField = "MultiOrderInline|3" then Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := ""; InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False,False); InsulinTypeInDoseList.IsSelected := (False,False); If InsulinHighDoseList.IsSelected [1] = true and InsulinHighDoseList.IsSelected [2] = false then Corr_Aspart_CB.value := True; Corr_Aspart_CB.Control_Read_Only:= False; Corr_Regular_CB.value := False; Corr_Regular_CB.Control_Read_Only := True; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := "High"; Elseif InsulinHighDoseList.IsSelected [1] = false and InsulinHighDoseList.IsSelected [2] = true then Corr_Aspart_CB.value := False; Corr_Aspart_CB.Control_Read_Only := True; Corr_Regular_CB.value := True; Corr_Regular_CB.Control_Read_Only := False; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := "High"; Elseif InsulinHighDoseList.IsSelected [1] = false and InsulinHighDoseList.IsSelected [2] = false then Corr_Aspart_CB.value := False; Corr_Regular_CB.value := False; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := ""; Elseif InsulinHighDoseList.IsSelected [1] = true and InsulinHighDoseList.IsSelected [2] = true then If Corr_Aspart_CB.value = True then Corr_Aspart_CB.value := False; Corr_Aspart_CB.Control_Read_Only := False; Corr_Regular_CB.value := True; Corr_Regular_CB.Control_Read_Only := False; InsulinHighDoseList.IsSelected := (False, True); elseif Corr_Regular_CB.value = true then Corr_Regular_CB.value := false; Corr_Regular_CB.Control_Read_Only := True; Corr_Aspart_CB.value := true; Corr_Aspart_CB.Control_Read_Only := false; InsulinHighDoseList.IsSelected := (True, False); endif; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := True; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := "High"; Endif; Endif; If CallingField = "MultiOrderInline|4" then Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := ""; InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False,False); InsulinHighDoseList.IsSelected := (False,False); If InsulinTypeInDoseList.IsSelected [1] = true and InsulinTypeInDoseList.IsSelected [2] = false then Corr_Aspart_CB.value := True; Corr_Aspart_CB.Control_Read_Only:= False; Corr_Regular_CB.value := False; Corr_Regular_CB.Control_Read_Only := True; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := True; Corr_Dose_Type.Value := "Individualized"; Elseif InsulinTypeInDoseList.IsSelected [1] = false and InsulinTypeInDoseList.IsSelected [2] = true then Corr_Aspart_CB.value := False; Corr_Aspart_CB.Control_Read_Only:= True; Corr_Regular_CB.value := True; Corr_Regular_CB.Control_Read_Only := False; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := True; Corr_Dose_Type.Value := "Individualized"; Elseif InsulinTypeInDoseList.IsSelected [1] = false and InsulinTypeInDoseList.IsSelected [2] = false then Corr_Aspart_CB.value := False; Corr_Aspart_CB.Control_Read_Only:= False; Corr_Regular_CB.value := False; Corr_Regular_CB.Control_Read_Only := False; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := False; Corr_Dose_Type.Value := ""; Elseif InsulinTypeInDoseList.IsSelected [1] = true and InsulinTypeInDoseList.IsSelected [2] = true then If Corr_Aspart_CB.value = True then Corr_Aspart_CB.value := False; Corr_Aspart_CB.Control_Read_Only:= True; Corr_Regular_CB.value := true; Corr_Regular_CB.Control_Read_Only := false; InsulinTypeInDoseList.IsSelected := (False, True); elseif Corr_Regular_CB.value = true then Corr_Regular_CB.value := false; Corr_Regular_CB.Control_Read_Only := true; Corr_Aspart_CB.value := true; Corr_Aspart_CB.Control_Read_Only := false; InsulinTypeInDoseList.IsSelected := (True, False); endif; Corr_Low_Dose_Scale.Value := False; Corr_Mod_Dose_Scale.Value := False; Corr_High_Dose_Scale.Value := False; Corr_Ind_Dose_Scale.Value := True; Corr_Dose_Type.Value := "Individualized"; Endif; Endif; If CallingField = "PRX_Insulin_Aspart|2" or Corr_Aspart_CB.value = True then If Corr_Aspart_CB.value = True then Corr_Regular_CB.value := False; Corr_Regular_CB.control_read_only := True; If Corr_Dose_Type.Value = "Low" then InsulinLowDoseList.IsSelected := (True,False); InsulinModDoseList.IsSelected := (False,False); InsulinHighDoseList.IsSelected := (False,False); InsulinTypeInDoseList.IsSelected := (False,False); endif; If Corr_Dose_Type.Value = "Moderate" then InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (True,False); InsulinHighDoseList.IsSelected := (False,False); InsulinTypeInDoseList.IsSelected := (False,False); endif; If Corr_Dose_Type.Value = "High" then InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False,False); InsulinHighDoseList.IsSelected := (True,False); InsulinTypeInDoseList.IsSelected := (False,False); endif; If Corr_Dose_Type.Value = "Individualized" then InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False,False); InsulinHighDoseList.IsSelected := (False,False); InsulinTypeInDoseList.IsSelected := (True,False); endif; If Corr_Dose_Type.Value = "" then InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False,False); InsulinHighDoseList.IsSelected := (False,False); InsulinTypeInDoseList.IsSelected := (False,False); endif; else Corr_Regular_CB.control_read_only := False; endif; endif; If CallingField = "PRX_Insulin_Regular|2" or Corr_Regular_CB.value = True then If Corr_Regular_CB.value = True then Corr_Aspart_CB.value := False; Corr_Aspart_CB.control_read_only := True; If Corr_Dose_Type.Value = "Low" then InsulinLowDoseList.IsSelected := (False,True); InsulinModDoseList.IsSelected := (False,False); InsulinHighDoseList.IsSelected := (False,False); InsulinTypeInDoseList.IsSelected := (False,False); endif; If Corr_Dose_Type.Value = "Moderate" then InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False,True); InsulinHighDoseList.IsSelected := (False,False); InsulinTypeInDoseList.IsSelected := (False,False); endif; If Corr_Dose_Type.Value = "High" then InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False,False); InsulinHighDoseList.IsSelected := (False,True); InsulinTypeInDoseList.IsSelected := (False,False); endif; If Corr_Dose_Type.Value = "Individualized" then InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False,False); InsulinHighDoseList.IsSelected := (False,False); InsulinTypeInDoseList.IsSelected := (False,True); endif; If Corr_Dose_Type.Value = "" then InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False,False); InsulinHighDoseList.IsSelected := (False,False); InsulinTypeInDoseList.IsSelected := (False,False); endif; else Corr_Aspart_CB.control_read_only := False; endif; endif; If (CallingField = "PRX_Insulin_Aspart|2" and Corr_Aspart_CB.value = False and Corr_Regular_CB.value = False) OR (CallingField = "PRX_Insulin_Regular|2" and Corr_Aspart_CB.value = False and Corr_Regular_CB.value = False) then InsulinLowDoseList.IsSelected := (False,False); InsulinModDoseList.IsSelected := (False,False); InsulinHighDoseList.IsSelected := (False,False); InsulinTypeInDoseList.IsSelected := (False,False); Corr_Regular_CB.control_read_only := False; Corr_Aspart_CB.control_read_only := False; endif; ;; evoke: // No evoke statement ;; logic: conclude true; ;; action: // This MLM returns two parameters, of types communication_type and form_type respectively. return this_communication, this_form; ;; end: