示例#1
0
        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;
        }
示例#2
0
        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;
        }
示例#3
0
        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;
        }