protected void CarePlanInterventionGrid_OnItemCreated(Object sender, Telerik.Web.UI.GridItemEventArgs e) { if ((e.Item is Telerik.Web.UI.GridEditableItem) && (e.Item.IsInEditMode)) { if (MemberCaseCarePlan == null) { return; } Telerik.Web.UI.GridEditableItem item = (Telerik.Web.UI.GridEditableItem)e.Item; Telerik.Web.UI.RadComboBox AddCarePlanInterventionExistingSelection = (Telerik.Web.UI.RadComboBox)item.FindControl("AddCarePlanInterventionExistingSelection"); if (AddCarePlanInterventionExistingSelection == null) { return; } AddCarePlanInterventionExistingSelection.DataSource = MercuryApplication.CareInterventionsAvailable(true); AddCarePlanInterventionExistingSelection.DataTextField = "Name"; AddCarePlanInterventionExistingSelection.DataValueField = "Id"; Telerik.Web.UI.RadComboBox AddCarePlanInterventionCareMeasureSelection = (Telerik.Web.UI.RadComboBox)item.FindControl("AddCarePlanInterventionCareMeasureSelection"); if (AddCarePlanInterventionCareMeasureSelection == null) { return; } AddCarePlanInterventionCareMeasureSelection.DataSource = MercuryApplication.CareMeasuresAvailableEnabledVisible(true); AddCarePlanInterventionCareMeasureSelection.DataTextField = "Name"; AddCarePlanInterventionCareMeasureSelection.DataValueField = "Id"; } return; }
protected void InitializeInterventionsPage() { var careInterventionsAvailable = from currentCareIntervention in MercuryApplication.CareInterventionsAvailable(false) where ((currentCareIntervention.Enabled) && (currentCareIntervention.Visible)) orderby currentCareIntervention.Name select currentCareIntervention; CarePlanCareInterventionSelection.DataSource = careInterventionsAvailable; CarePlanCareInterventionSelection.DataTextField = "Name"; CarePlanCareInterventionSelection.DataValueField = "Id"; CarePlanCareInterventionSelection.DataBind(); return; }
private void InitializeCareInterventionTreeView() { Client.Core.Individual.CarePlanGoal originalCarePlanGoal = MemberCaseCarePlanGoal.MemberCaseCarePlan.CarePlan.CarePlanGoal(MemberCaseCarePlanGoal.CarePlanGoalId); Telerik.Web.UI.RadTreeNode careInterventionNode; #region Create Root Nodes Telerik.Web.UI.RadTreeNode rootCurrentNode = new Telerik.Web.UI.RadTreeNode("Current", "RootCurrent"); rootCurrentNode.Checkable = false; rootCurrentNode.Expanded = false; CareInterventionTreeView.Nodes.Add(rootCurrentNode); Telerik.Web.UI.RadTreeNode rootRequiredNode = new Telerik.Web.UI.RadTreeNode("Required", "RootRequired"); rootRequiredNode.Checkable = false; rootRequiredNode.Expanded = true; CareInterventionTreeView.Nodes.Add(rootRequiredNode); Telerik.Web.UI.RadTreeNode rootSuggestedNode = new Telerik.Web.UI.RadTreeNode("Suggested", "RootSuggested"); rootSuggestedNode.Checkable = false; rootSuggestedNode.Expanded = true; CareInterventionTreeView.Nodes.Add(rootSuggestedNode); Telerik.Web.UI.RadTreeNode rootOptionalNode = new Telerik.Web.UI.RadTreeNode("Optional", "RootOptional"); rootOptionalNode.Checkable = false; rootOptionalNode.Expanded = false; CareInterventionTreeView.Nodes.Add(rootOptionalNode); Telerik.Web.UI.RadTreeNode rootAllNode = new Telerik.Web.UI.RadTreeNode("All Others", "RootAll"); rootAllNode.Checkable = false; rootAllNode.Expanded = false; CareInterventionTreeView.Nodes.Add(rootAllNode); #endregion List <Client.Core.Individual.CareIntervention> careInterventionsCurrent = (from currentCarePlanGoalIntervention in MemberCaseCarePlanGoal.Interventions where // ALTERED TO REMOVE THOSE WHERE CARE INTERVENTION IS NULL (currentCarePlanGoalIntervention.CareIntervention != null) && ( (currentCarePlanGoalIntervention.CareIntervention != null ? ((currentCarePlanGoalIntervention.CareIntervention.Status == Mercury.Server.Application.CaseItemStatus.UnderDevelopment) || (currentCarePlanGoalIntervention.CareIntervention.Status == Mercury.Server.Application.CaseItemStatus.Active)) : (currentCarePlanGoalIntervention.Id == currentCarePlanGoalIntervention.Id))) select currentCarePlanGoalIntervention.CareIntervention.CareIntervention ).Distinct().ToList(); foreach (Client.Core.Individual.CareIntervention currentCareIntervention in careInterventionsCurrent) { // EXISTING CARE INTERVENTIONS WILL HAVE "Checked" TRUE AND "ForeColor" System.Drawing.Color.Black // IF THE CARE INTERVENTION EXISTS AND IS ACTIVE IN THE CASE ALREADY, DO NOT ALLOW IT TO BE ADDED AGAIN careInterventionNode = new Telerik.Web.UI.RadTreeNode(currentCareIntervention.Name, currentCareIntervention.Id.ToString()); careInterventionNode.Checkable = false; careInterventionNode.ImageUrl = "/Images/Common16/Check.png"; careInterventionNode.ForeColor = System.Drawing.Color.Black; // ADD EARLY SO THAT EXPAND TO NODE WORKS (PARENT RELATIONSHIP REQUIRED) rootCurrentNode.Nodes.Add(careInterventionNode); } List <Client.Core.Individual.CareIntervention> careInterventionsAvailable = MercuryApplication.CareInterventionsAvailable(true); careInterventionsAvailable = (from currentCareIntervention in careInterventionsAvailable where (currentCareIntervention.Enabled == true) orderby currentCareIntervention.Name select currentCareIntervention).ToList(); foreach (Client.Core.Individual.CareIntervention currentCareIntervention in careInterventionsAvailable) { // MAKE SURE THAT THE NODE DOES NOT ALREADY EXIST (FROM THE "CURRENT" SELECTION) if (CareInterventionTreeView.FindNodeByValue(currentCareIntervention.Id.ToString()) == null) { Telerik.Web.UI.RadTreeNode parentNode = rootAllNode; if (originalCarePlanGoal != null) // IT IS POSSIBLE THAT THE GOAL WAS A CUSTOM CREATED GOAL // USE THE ORIGINAL CARE PLAN OF THE CARE PLAN GOAL TO CHECK TO SEE IF THE INTERVENTION IS REQUIRED/SUGGESTED/OPTIONAL IN THE ORIGINAL { Client.Core.Individual.CarePlanIntervention originalCarePlanIntervention = originalCarePlanGoal.CarePlanIntervention(currentCareIntervention.Id); if (originalCarePlanIntervention != null) { switch (originalCarePlanIntervention.Inclusion) { case Mercury.Server.Application.CarePlanItemInclusion.Required: parentNode = rootRequiredNode; break; case Mercury.Server.Application.CarePlanItemInclusion.Suggested: parentNode = rootSuggestedNode; break; case Mercury.Server.Application.CarePlanItemInclusion.Optional: parentNode = rootOptionalNode; break; } } } careInterventionNode = new Telerik.Web.UI.RadTreeNode(currentCareIntervention.Name, currentCareIntervention.Id.ToString()); parentNode.Nodes.Add(careInterventionNode); // IDENTIFY CARE INTERVENTIONS THAT ARE ALREADY IN USE BY CURRENT CARE PLAN OR OTHER CARE PLAN List <Client.Core.Individual.Case.MemberCaseProblemCarePlan> memberCaseProblemCarePlans = (from currentMemberCaseCarePlan in Case.CarePlans from currentMemberCaseCarePlanGoal in currentMemberCaseCarePlan.Goals from currentMemberCaseCarePlanGoalIntervention in currentMemberCaseCarePlanGoal.Interventions from currentProblems in currentMemberCaseCarePlanGoalIntervention.MemberCaseCarePlanGoal.MemberCaseCarePlan.Problems // ALTERED TO CHECK IF CARE INTERVENTION IS NULL where ((currentMemberCaseCarePlanGoalIntervention.CareIntervention != null) ? (currentMemberCaseCarePlanGoalIntervention.CareIntervention.CareInterventionId == currentCareIntervention.Id) && ((currentMemberCaseCarePlanGoalIntervention.CareIntervention.Status == Mercury.Server.Application.CaseItemStatus.UnderDevelopment)) || (currentMemberCaseCarePlanGoalIntervention.CareIntervention.Status == Mercury.Server.Application.CaseItemStatus.Active) : (currentMemberCaseCarePlanGoalIntervention.Id == currentMemberCaseCarePlanGoalIntervention.Id)) select currentProblems).Distinct().ToList(); foreach (Client.Core.Individual.Case.MemberCaseProblemCarePlan currentMemberCaseProblemCarePlan in memberCaseProblemCarePlans) { Telerik.Web.UI.RadTreeNode problemNode = new Telerik.Web.UI.RadTreeNode(currentMemberCaseProblemCarePlan.ProblemStatementClassificationWithName, currentCareIntervention.Id.ToString() + "|" + currentMemberCaseProblemCarePlan.Id.ToString()); problemNode.Checkable = false; careInterventionNode.Nodes.Add(problemNode); } } } return; }