Ejemplo n.º 1
0
        protected void CarePlanGoalsGrid_OnItemCommand(Object sender, Telerik.Web.UI.GridCommandEventArgs eventArgs)
        {
            if (MercuryApplication == null)
            {
                return;
            }

            Int32 itemIndex = eventArgs.Item.DataSetIndex;

            switch (eventArgs.CommandName)
            {
            case "ToggleActive":

                carePlan.Goals[itemIndex].Enabled = !carePlan.Goals[itemIndex].Enabled;

                break;

            case Telerik.Web.UI.RadGrid.EditCommandName:

                Client.Core.Individual.CarePlanGoal carePlanGoal = carePlan.Goals[eventArgs.Item.ItemIndex];


                CarePlanGoalName.Text = carePlanGoal.Name;

                CarePlanGoalInclusion.SelectedValue = ((Int32)carePlanGoal.Inclusion).ToString();

                CarePlanGoalEnabled.Checked = carePlanGoal.Enabled;

                CarePlanGoalTimeframeSelection.SelectedValue = ((Int32)carePlanGoal.GoalTimeframe).ToString();

                CarePlanGoalScheduleValue.Value = carePlanGoal.ScheduleValue;

                CarePlanGoalScheduleQualifierSelection.SelectedValue = ((Int32)carePlanGoal.ScheduleQualifier).ToString();

                CarePlanGoalCareMeasureSelection.SelectedValue = carePlanGoal.CareMeasureId.ToString();


                CarePlanGoalClinicalNarrative.Text = carePlanGoal.ClinicalNarrative;

                CarePlanGoalCommonNarrative.Text = carePlanGoal.CommonNarrative;


                eventArgs.Canceled = true;

                break;
            }

            InitializeGoalsGrid();

            CarePlanGoalsGrid.SelectedIndexes.Add(itemIndex);

            return;
        }
Ejemplo n.º 2
0
        protected void InterventionsGrid_OnDeleteCommand(Object sender, Telerik.Web.UI.GridCommandEventArgs eventArgs)
        {
            if (MercuryApplication == null)
            {
                return;
            }

            if (!(eventArgs.Item is Telerik.Web.UI.GridDataItem))
            {
                return;
            }


            String carePlanGoalName = String.Empty;

            Client.Core.Individual.CarePlanGoal carePlanGoal = null;

            String carePlanInterventionName = String.Empty;

            Client.Core.Individual.CarePlanIntervention carePlanIntervention = null;


            // GET VALUES OUT OF THE DATA ITEM

            Telerik.Web.UI.GridDataItem dataItem = (Telerik.Web.UI.GridDataItem)eventArgs.Item;

            carePlanGoalName = (String)dataItem.GetDataKeyValue("CarePlanGoal.Name");

            carePlanGoal = carePlan.CarePlanGoal(carePlanGoalName);

            if (carePlanGoal != null)
            {
                carePlanInterventionName = (String)dataItem.GetDataKeyValue("Name");

                carePlanIntervention = carePlanGoal.CarePlanIntervention(carePlanInterventionName);

                if (carePlanIntervention != null)
                {
                    carePlanGoal.Interventions.Remove(carePlanIntervention);
                }
            }


            InitializeInterventionsPage();

            InterventionsGrid.Rebind();

            return;
        }
Ejemplo n.º 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;
        }
Ejemplo n.º 4
0
        protected void InterventionsGrid_OnItemCommand(Object sender, Telerik.Web.UI.GridCommandEventArgs eventArgs)
        {
            if (MercuryApplication == null)
            {
                return;
            }

            if (!(eventArgs.Item is Telerik.Web.UI.GridDataItem))
            {
                return;
            }

            Int32 itemIndex = eventArgs.Item.DataSetIndex;


            String carePlanGoalName = String.Empty;

            Client.Core.Individual.CarePlanGoal carePlanGoal = null;

            String carePlanInterventionName = String.Empty;

            Client.Core.Individual.CarePlanIntervention carePlanIntervention = null;


            // GET VALUES OUT OF THE DATA ITEM

            Telerik.Web.UI.GridDataItem dataItem = (Telerik.Web.UI.GridDataItem)eventArgs.Item;

            carePlanGoalName = (String)dataItem.GetDataKeyValue("CarePlanGoal.Name");

            carePlanGoal = carePlan.CarePlanGoal(carePlanGoalName);

            if (carePlanGoal != null)
            {
                carePlanInterventionName = (String)dataItem.GetDataKeyValue("Name");

                carePlanIntervention = carePlanGoal.CarePlanIntervention(carePlanInterventionName);
            }


            switch (eventArgs.CommandName)
            {
            case "ToggleActive":

                if (carePlanIntervention != null)
                {
                    carePlanIntervention.Enabled = !carePlanIntervention.Enabled;
                }

                break;

            case Telerik.Web.UI.RadGrid.EditCommandName:

                // MAKE COPY OF SELECTED ROW FOR EDITING

                EditCarePlanIntervention = carePlanIntervention.Copy();

                // EditCarePlanIntervention = carePlan.Interventions[activityIndex].Copy ();


                // TODO: ASSIGN INTERVENTION MEMBERS


                eventArgs.Canceled = true;

                break;

            default:

                System.Diagnostics.Debug.WriteLine(eventArgs.CommandName);

                break;
            }

            InitializeInterventionsPage();

            InterventionsGrid.Rebind();

            InterventionsGrid.SelectedIndexes.Add(eventArgs.Item.ItemIndex);

            return;
        }
Ejemplo n.º 5
0
        protected void ButtonAddUpdateCarePlanGoal_OnClick(Object sender, EventArgs eventArgs)
        {
            if (MercuryApplication == null)
            {
                return;
            }


            Boolean existingGoalFound = false;

            Boolean duplicateName = false;

            Client.Core.Individual.CarePlanGoal carePlanGoal = null;

            Dictionary <String, String> validationResponse;


            // CREATE NEW GOAL OBJECT AN ASSOCIATE WITH PARENT GOAL

            carePlanGoal = new Client.Core.Individual.CarePlanGoal(MercuryApplication);

            carePlanGoal.CarePlanId = carePlan.Id;


            // ASSIGN PROPERTIES FROM CONTROLS INTO OBJECT

            carePlanGoal.Name = CarePlanGoalName.Text;

            carePlanGoal.Inclusion = (Mercury.Server.Application.CarePlanItemInclusion)Convert.ToInt32(CarePlanGoalInclusion.SelectedValue);

            carePlanGoal.Description = CarePlanGoalName.Text;

            carePlanGoal.Enabled = CarePlanGoalEnabled.Checked;

            carePlanGoal.GoalTimeframe = (Mercury.Server.Application.CarePlanGoalTimeframe)Convert.ToInt32(CarePlanGoalTimeframeSelection.SelectedValue);

            carePlanGoal.ScheduleValue = Convert.ToInt32(CarePlanGoalScheduleValue.Value);

            carePlanGoal.ScheduleQualifier = (Mercury.Server.Application.DateQualifier)Convert.ToInt32(CarePlanGoalScheduleQualifierSelection.SelectedValue);

            carePlanGoal.CareMeasureId = (CarePlanGoalCareMeasureSelection.SelectedItem != null) ? Convert.ToInt64(CarePlanGoalCareMeasureSelection.SelectedValue) : 0;

            carePlanGoal.ClinicalNarrative = CarePlanGoalClinicalNarrative.Text;

            carePlanGoal.CommonNarrative = CarePlanGoalCommonNarrative.Text;


            validationResponse = carePlanGoal.Validate();

            if (validationResponse.Count == 0)
            {
                SaveResponseLabel.Text = String.Empty;

                foreach (Client.Core.Individual.CarePlanGoal currentCarePlanGoal in carePlan.Goals)
                {
                    if (currentCarePlanGoal.IsEqual(carePlanGoal))
                    {
                        existingGoalFound = true; break;
                    }

                    if (currentCarePlanGoal.Name.ToUpper() == carePlanGoal.Name.ToUpper())
                    {
                        duplicateName = true;
                    }
                }

                switch (((System.Web.UI.WebControls.Button)sender).ID)
                {
                case "CarePlanGoalAdd":

                    if ((!existingGoalFound) && (!duplicateName))
                    {
                        carePlan.Goals.Add(carePlanGoal);
                    }

                    else
                    {
                        SaveResponseLabel.Text = "Duplicate Goal Exists.";
                    }

                    break;

                case "CarePlanGoalUpdate":

                    if (CarePlanGoalsGrid.SelectedItems.Count != 0)
                    {
                        carePlanGoal.Id = carePlan.Goals[CarePlanGoalsGrid.SelectedItems[0].DataSetIndex].Id;

                        carePlan.Goals.RemoveAt(CarePlanGoalsGrid.SelectedItems[0].DataSetIndex);

                        carePlan.Goals.Add(carePlanGoal);
                    }

                    break;
                }
            }

            else
            {
                foreach (String validationKey in validationResponse.Keys)
                {
                    SaveResponseLabel.Text = "Invalid [" + validationKey + "]: " + validationResponse[validationKey];

                    break;
                }
            }


            InitializeGoalsGrid();

            return;
        }