public async Task <CurrentDiagnoseOutputModel> GetActiveDiagnose(string patientId)
        {
            var p = await _diagnoseContext.Patients
                    .Where(x => x.UserId == patientId)
                    .SingleOrDefaultAsync();

            var diagnose = await _diagnoseContext.Diagnoses
                           .Where(d => d.Id == p.ActiveDiagnoseId)
                           .Include(d => d.Doctor)
                           .Include(d => d.Patient)
                           .SingleOrDefaultAsync();

            if (diagnose == null)
            {
                return(null);
            }

            var doctor = await _userManager.FindByIdAsync(diagnose.Doctor.UserId);

            var patient = await _userManager.FindByIdAsync(diagnose.Patient.UserId);

            var tumorState              = StateTranslator.TranslateTumorState(diagnose.PrimaryTumor);
            var distantMetastasisState  = StateTranslator.TranslateMetastatsisState(diagnose.DistantMetastasis);
            var regionalLymphNodesState = StateTranslator.TranslateRegionalLymphNodesState(diagnose.RegionalLymphNodes);

            var outputModel = new CurrentDiagnoseOutputModel()
            {
                DoctorName              = doctor.FirstName + " " + doctor.LastName,
                PatientName             = patient.FirstName + " " + patient.LastName,
                Stage                   = diagnose.Stage.ToString(),
                PrimaryTumorState       = tumorState,
                DistantMetastasisState  = distantMetastasisState,
                RegionalLymphNodesState = regionalLymphNodesState
            };

            return(outputModel);
        }