private List <AdverseEventsAnalyticsViewModel> GetAdverseEventsAnalytics()
        {
            IList <AeAnalyticsDto> data = visitRepository.GetAeAnalyticsData();

            return((from dto in data
                    let demog = dfdRepository.GetFormDataByFormId(dto.DemographicFormId)
                                let sex = (demog != null) ? EnumHelper.GetDescription <Gender>(demog.Sex.Value) : "Unknown"
                                          let race = (demog != null) ? EnumHelper.GetDescription <Race>(demog.Race.Value) : "Unknown"
                                                     let aeForm = aefdRepository.GetFormDataByFormId(dto.AeFormId)
                                                                  let intensity =
                        (aeForm != null) ? EnumHelper.GetDescription <AdverseEventIntensity>(aeForm.Intensity.Value) : "Unknown"
                        let relationship =
                            (aeForm != null)
                                                ? EnumHelper.GetDescription <AdverseEventRelanshionship>(aeForm.RelationshipToInvestigationalDrug.Value)
                                                : "Unknown"
                            group dto by new { dto.ClinicName, dto.DoctorName, sex, race, intensity, relationship }
                    into gr
                    select new AdverseEventsAnalyticsViewModel {
                ClinicName = gr.Key.ClinicName,
                DoctorName = gr.Key.DoctorName,
                Gender = gr.Key.sex,
                Race = gr.Key.race,
                Intensity = gr.Key.intensity,
                RelationshipToInvestigationalDrug = gr.Key.relationship,
                AesCount = gr.Count()
            }).ToList());
        }