public string SaveDiagnosis(DiagnosisViewModel model)
        {
            model.Diagnosis.DiagnosisDate = DateTime.Now;
            context.Diagnoses.Add(model.Diagnosis);
            context.SaveChanges();

            foreach (var symptom in model.Symptoms)
            {
                symptom.DiagnosisId = model.Diagnosis.DiagnosisId;
                context.Symptoms.Add(symptom);
                context.SaveChanges();
            }
            foreach (var prescription in model.Prescriptions)
            {
                prescription.DiagnosisId = model.Diagnosis.DiagnosisId;
                context.Prescriptions.Add(prescription);
                context.SaveChanges();
            }
            if (model.IsAdmit == true)
            {
                model.PatientAdmitDetail.AdmitDate = DateTime.Now;
                context.PatientAdmitDetails.Add(model.PatientAdmitDetail);
                context.SaveChanges();
            }
            return("Added");
        }
        public void Delete_HappyPath()
        {
            // obtains a valid patient
            Firestarter.CreateFakePatients(this.db.Doctors.First(), this.db, 1);
            this.db.SaveChanges();
            var patientId = this.db.Patients.First().Id;

            var formModel = new DiagnosisViewModel
            {
                PatientId = patientId,
                Text      = "This is my diagnosis",
                Cid10Code = "Q878",
                Cid10Name = "Doença X"
            };

            var mr         = new MockRepository(true);
            var controller = mr.CreateController <DiagnosisController>();

            controller.Create(new[] { formModel });

            Assert.IsTrue(controller.ModelState.IsValid);

            // get's the newly created diagnosis
            var newlyCreatedDiagnosis = this.db.Diagnoses.First();

            // tries to delete the anamnese
            var result        = controller.Delete(newlyCreatedDiagnosis.Id);
            var deleteMessage = (JsonDeleteMessage)result.Data;

            Assert.AreEqual(true, deleteMessage.success);
            Assert.AreEqual(0, this.db.Anamnese.Count());
        }
        public async Task <IActionResult> Create(Int32?patientId, DiagnosisViewModel model)
        {
            if (patientId == null)
            {
                return(this.NotFound());
            }

            var patient = await this._context.Patients
                          .SingleOrDefaultAsync(x => x.Id == patientId);

            if (patient == null)
            {
                return(this.NotFound());
            }

            if (this.ModelState.IsValid)
            {
                var diagnosis = new Diagnosis
                {
                    PatientId     = patient.Id,
                    Type          = model.Type,
                    Complications = model.Complications,
                    Details       = model.Details
                };

                this._context.Add(diagnosis);
                await this._context.SaveChangesAsync();

                return(this.RedirectToAction("Index", new { patientId = patient.Id }));
            }

            this.ViewBag.Patient = patient;
            return(this.View(model));
        }
Exemple #4
0
        public ActionResult SaveEditedDiagnosis(DiagnosisViewModel diagnosisViewModel)
        {
            if (ModelState.IsValid)
            {
                Diagnosis diagnosis = unitOfWork.Diagnoses.FindById(diagnosisViewModel.DiagnosisId);
                if (diagnosis != null)
                {
                    diagnosis.DiagnosisComment         = diagnosisViewModel.DiagnosisComment;
                    diagnosis.DiagnosisRecommendations = diagnosisViewModel.DiagnosisRecommendations;
                    diagnosis.DiseaseId = diagnosisViewModel.DiseaseId;
                    unitOfWork.Diagnoses.Update(diagnosis);
                }
                else
                {
                    Disease disease = unitOfWork.Diseases.FindById((int)diagnosisViewModel.DiseaseId);

                    Diagnosis NewDiagnosis = new Diagnosis
                    {
                        DiseaseId                = disease.DiseaseId,
                        DiagnosisId              = diagnosisViewModel.DiagnosisId,
                        DiagnosisComment         = diagnosisViewModel.DiagnosisComment,
                        DiagnosisRecommendations = diagnosisViewModel.DiagnosisRecommendations
                    };
                    unitOfWork.Diagnoses.Create(NewDiagnosis);
                }
                return(RedirectToAction("GetDiagnosis", new { diagnosisId = diagnosisViewModel.DiagnosisId }));
            }
            else
            {
                return(View("Error", new string[] { "Диагноз не удалось сохранить" }));
            }
        }
        public async Task <IActionResult> Edit(Int32?id, DiagnosisViewModel model)
        {
            if (id == null)
            {
                return(this.NotFound());
            }

            var diagnosis = await this._context.Diagnoses.SingleOrDefaultAsync(m => m.Id == id);

            if (diagnosis == null)
            {
                return(this.NotFound());
            }

            if (this.ModelState.IsValid)
            {
                diagnosis.Type          = model.Type;
                diagnosis.Complications = model.Complications;
                diagnosis.Details       = model.Details;
                await this._context.SaveChangesAsync();

                return(this.RedirectToAction("Index", new { patientId = diagnosis.PatientId }));
            }

            return(this.View(model));
        }
Exemple #6
0
 public IActionResult GetSymptoms(DiagnosisViewModel viewModel)
 {
     ViewBag.symptoms = db.Symptoms.Select(x => new SelectListItem {
         Value = x.SymptomId.ToString(), Text = x.Name
     }).ToList();
     return(View(viewModel));
 }
        public void Edit_HappyPath()
        {
            // obtains a valid patient
            Firestarter.CreateFakePatients(this.db.Doctors.First(), this.db, 1);
            this.db.SaveChanges();
            var patientId = this.db.Patients.First().Id;

            var formModel = new DiagnosisViewModel
            {
                PatientId = patientId,
                Cid10Code = "CodeX",
                Cid10Name = "XDesease",
                Text      = "Notes"
            };

            var mr         = new MockRepository(true);
            var controller = mr.CreateController <DiagnosisController>();

            var referenceTime = DateTime.UtcNow;

            controller.UtcNowGetter = () => referenceTime;

            controller.Edit(new[] { formModel });

            Assert.IsTrue(controller.ModelState.IsValid);

            var diagnosis = this.db.Diagnoses.First();

            Assert.AreEqual(0, (referenceTime.Ticks - diagnosis.CreatedOn.Ticks) / 100000);
            Assert.AreEqual(patientId, diagnosis.PatientId);
            Assert.AreEqual(formModel.Text, diagnosis.Observations);
            Assert.AreEqual(formModel.Cid10Code, diagnosis.Cid10Code);
            Assert.AreEqual(formModel.Cid10Name, diagnosis.Cid10Name);
        }
Exemple #8
0
        public ActionResult EditDiagnosis(DiagnosisViewModel diagnosisViewModel)
        {
            SelectList selectListDiseases = new SelectList(unitOfWork.Diseases.Get().ToList());


            ViewBag.Disease = unitOfWork.Diseases.Get().ToList();
            return(View(diagnosisViewModel));
        }
        public void ShowDiagnosisView()
        {
            var vm   = new DiagnosisViewModel(this);
            var from = new DiagnosisView(vm);

            from.Owner = _mainfrom;
            from.ShowDialog();
        }
Exemple #10
0
        public IActionResult Diagnosis(DiagnosisViewModel model)
        {
            DiagnosisViewModel newModel = new DiagnosisViewModel();

            newModel.Symptoms = _data.GetDiseases(model.Symptoms);

            return(PartialView("_DiagnosisPartial", newModel));
        }
Exemple #11
0
        public IActionResult Diagnosis()
        {
            DiagnosisViewModel options = new DiagnosisViewModel();

            options.Symptoms    = new List <String>();
            ViewBag.ListOptions = new SelectList(_data.GetAllSymptoms());
            return(View(options));
        }
        public DiagnosisViewModel GetPreSymByDiagnosisId(int diagnosisId)
        {
            DiagnosisViewModel model = new DiagnosisViewModel();

            model.Symptoms      = context.Symptoms.Where(x => x.DiagnosisId == diagnosisId).ToList();
            model.Prescriptions = context.Prescriptions.Where(x => x.DiagnosisId == diagnosisId).ToList();

            return(model);
        }
Exemple #13
0
        private DiagnosisViewModel ConvertDiagnosisToDiagnosisViewModel(Diagnosis diagnosis)
        {
            DiagnosisViewModel diagnosisViewModel = new DiagnosisViewModel()
            {
                DiagnosisId   = diagnosis.DiagnosisId,
                DiagnosisName = diagnosis.DiagnosisName
            };

            return(diagnosisViewModel);
        }
Exemple #14
0
        public DiagnosisView(DiagnosisViewModel diagnosisViewModel)
        {
            InitializeComponent();
            _viewModel = diagnosisViewModel;

            _textBoxDescr.DataBindings.Add("Text", _viewModel,
                                           nameof(_viewModel.Description), true, DataSourceUpdateMode.OnPropertyChanged);
            _textBoxName.DataBindings.Add("Text", _viewModel,
                                          nameof(_viewModel.Name), true, DataSourceUpdateMode.OnPropertyChanged);

            _buttonSave.Click += (s, e) => _viewModel.SaveDiagnosis();
        }
Exemple #15
0
 public ActionResult UpdateDiagnosis(DiagnosisViewModel diagnosisViewModel)
 {
     if (ModelState.IsValid)
     {
         _diagnosisProvider.UpdateDiagnosis(diagnosisViewModel.DiagnosisId, diagnosisViewModel.DiagnosisName);
         return(Redirect("~/Diagnosis/DiagnosesList"));
     }
     else
     {
         return(View("GetDiagnosis", diagnosisViewModel));
     }
 }
        public DiagnosisViewModel GetLastDiagnosisOfPatient(int patientId, int doctorId)
        {
            DiagnosisViewModel model     = new DiagnosisViewModel();
            Diagnosis          diagnosis = context.Diagnoses.Where(x => x.PatientId == patientId && x.DoctorId == doctorId).OrderByDescending(x => x.DiagnosisDate).Take(1).FirstOrDefault();

            if (diagnosis != null)
            {
                model.DiagnosisDate = diagnosis.DiagnosisDate.ToString("dd/MM/yyyy");
                model.Symptoms      = context.Symptoms.Where(x => x.DiagnosisId == diagnosis.DiagnosisId).ToList();
                model.Prescriptions = context.Prescriptions.Where(x => x.DiagnosisId == diagnosis.DiagnosisId).ToList();
            }
            return(model);
        }
        private async void EditRecord()
        {
            DiagnosisViewModel diagnosis   = databaseView.SelectedItem as DiagnosisViewModel;
            string             textToTitle = "Edytowany rekord: " + diagnosis.Name + " " + diagnosis.PrimaryKey;
            EditRecordDialog   dialog      = new EditRecordDialog(RosterViewModel.ColumnNames, RosterViewModel.ColumnTypes, textToTitle,
                                                                  RosterViewModel.EnumTypes);
            ContentDialogResult dialogResult = await dialog.ShowAsync();

            if (dialogResult == ContentDialogResult.Primary && !string.IsNullOrEmpty(dialog.Result))
            {
                string result      = dialog.Result;
                string fieldToEdit = dialog.FieldToUpdate;
                await RosterViewModel.UpdateRecordAsync("Diagnozy", diagnosis, fieldToEdit, result);
            }
        }
Exemple #18
0
        public ActionResult Index(string question, string page)
        {
            if (!Request.Browser.IsMobileDevice)
            {
                return(RedirectToAction("Index", "Diagnosis"));
            }
            else
            {
                var model = new DiagnosisViewModel
                {
                    QuestionsPartial = (question == null) ? "_diagnosisLanding" : question + "/" + page
                };

                return(View(model));
            }
        }
Exemple #19
0
        public MainWindow(MainViewModel vm)
        {
            this.DataContext = vm;
            InitializeComponent();

            Employee = vm.currentemployee;

            if (Employee.Post.Name == "Врач")
            {
                diagnosis.Visibility  = Visibility.Collapsed;
                employees.Visibility  = Visibility.Collapsed;
                EditItem.Visibility   = Visibility.Collapsed;
                medicament.Visibility = Visibility.Collapsed;

                medrecords.IsSelected = true;

                MedRecordViewModel medvm = new MedRecordViewModel(Employee);
                UCMedRecord.DataContext = medvm;
            }
            else
            if (Employee.Post.Name == "Сотрудник регистратуры")
            {
                diagnosis.Visibility  = Visibility.Collapsed;
                employees.Visibility  = Visibility.Collapsed;
                EditItem.Visibility   = Visibility.Collapsed;
                medicament.Visibility = Visibility.Collapsed;

                medrecords.IsSelected = true;

                MedRecordViewModel medvm = new MedRecordViewModel(Employee);
                UCMedRecord.DataContext = medvm;
            }
            if (Employee.Post.Name == "Администратор")
            {
                EditItem.Visibility = Visibility.Collapsed;
                MedRecordViewModel medvm = new MedRecordViewModel(Employee);
                UCMedRecord.DataContext = medvm;
                DiagnosisViewModel diavm = new DiagnosisViewModel();
                UCDiagnosis.DataContext = diavm;
                MedicamentViewModel medivm = new MedicamentViewModel();
                UCMedicament.DataContext = medivm;
                EmployeeViewModel empvm = new EmployeeViewModel();
                UCEmployee.DataContext = empvm;
            }
        }
        public JsonResult SaveDiagnosis(DiagnosisViewModel model)
        {
            Doctor doctor = new Doctor();

            doctor = _userService.GetDoctorByUserId(Convert.ToInt32(Session["UserId"]));
            model.Diagnosis.DoctorId = doctor.DoctorId;
            if (model.IsAdmit != false)
            {
                model.PatientAdmitDetail.DoctorId = doctor.DoctorId;
            }
            _diagnosisService.SaveDiagnosis(model);
            Token oldToken = _tokenService.GetTokenById(Convert.ToString(model.Token.TokenId));

            oldToken.StatusId = 3;
            _tokenService.UpdateToken(oldToken);
            return(new JsonResult {
                Data = new { Status = "Success", msg = "Diagnosis completed." }, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
        public void Edit_WhenBothCid10AndNotesAreEmpty()
        {
            // obtains a valid patient
            Firestarter.CreateFakePatients(this.db.Doctors.First(), this.db, 1);
            this.db.SaveChanges();
            var patientId = this.db.Patients.First().Id;

            var formModel = new DiagnosisViewModel
            {
                PatientId = patientId,
            };

            var mr         = new MockRepository(true);
            var controller = mr.CreateController <DiagnosisController>();

            controller.Edit(new[] { formModel });

            Assert.IsFalse(controller.ModelState.IsValid);
        }
Exemple #22
0
        public ActionResult GetDiagnosis(int diagnosisId)
        {
            Diagnosis diagnosis = unitOfWork.Diagnoses.FindById(diagnosisId);

            if (diagnosis == null)
            {
                diagnosis = new Diagnosis()
                {
                    DiagnosisId              = diagnosisId,
                    DiagnosisComment         = "Комментария нет",
                    DiagnosisRecommendations = "Рекомендаций нет"
                };
                Disease disease = new Disease()
                {
                    DiseaseTitle = "Нет диагноза"
                };
                diagnosis.Disease = disease;
                DiagnosisViewModel diagnosisViewModel = new DiagnosisViewModel()
                {
                    DiagnosisId              = diagnosis.DiagnosisId,
                    DiagnosisComment         = diagnosis.DiagnosisComment,
                    DiagnosisRecommendations = diagnosis.DiagnosisRecommendations,
                    DiseaseId    = diagnosis.DiseaseId,
                    DiseaseTitle = disease.DiseaseTitle
                };

                return(View(diagnosisViewModel));
            }
            else
            {
                DiagnosisViewModel diagnosisViewModel = new DiagnosisViewModel()
                {
                    DiagnosisId              = diagnosis.DiagnosisId,
                    DiagnosisComment         = diagnosis.DiagnosisComment,
                    DiagnosisRecommendations = diagnosis.DiagnosisRecommendations,
                    DiseaseId    = diagnosis.DiseaseId,
                    DiseaseTitle = unitOfWork.Diseases.FindById((int)diagnosis.DiseaseId).DiseaseTitle,
                };
                return(View(diagnosisViewModel));
            }
        }
        public ActionResult Index()
        {
            diagnosisList = new List <DiagnosisViewModel>();
            DiagnosisViewModel diagnosisListVM = new DiagnosisViewModel();
            var    userName = User.Identity.Name;
            Person user     = ent.Person.First(u => u.username == userName);

            foreach (var mr in ent.MedicalRecord.Where(m => m.personId == user.personId))
            {
                foreach (var app in mr.DoctorsAppointment)
                {
                    foreach (var d in app.Diagnosis)
                    {
                        if (!diagnosisList.Exists(x => x.disesase.ICDId == d.Disease.ICDId))
                        {
                            diagnosisListVM          = new DiagnosisViewModel();
                            diagnosisListVM.disesase = d.Disease;
                            diagnosisListVM.diagnosisList.Add(d);
                            diagnosisList.Add(diagnosisListVM);
                        }
                        else
                        {
                            diagnosisList.Where(x => x.disesase.ICDId == d.Disease.ICDId).First().diagnosisList.Add(d);
                        }
                    }
                }
            }


            diagnosisList = diagnosisList.OrderBy(d => d.disesase.ICDTytle).ToList();
            foreach (DiagnosisViewModel dl in diagnosisList)
            {
                dl.diagnosisList = dl.diagnosisList.OrderByDescending(a => a.DoctorsAppointment.appointmentDate).ToList();
            }
            DiagnosisListViewModel dlvm = new DiagnosisListViewModel();

            dlvm.diagnosisVMList = diagnosisList;

            return(View(dlvm));
        }
Exemple #24
0
        public ActionResult Edit(int?id, int?patientId, int?y, int?m, int?d)
        {
            DiagnosisViewModel viewModel = null;

            if (id != null)
            {
                viewModel = GetViewModel(
                    (from a in this.db.Diagnoses where a.Id == id select a).First(),
                    this.GetToLocalDateTimeConverter());
            }
            else
            {
                viewModel = new DiagnosisViewModel()
                {
                    Id                = null,
                    PatientId         = patientId,
                    MedicalRecordDate = DateTimeHelper.CreateDate(y, m, d) ?? this.GetPracticeLocalNow(),
                }
            };

            return(this.View("Edit", viewModel));
        }
        // GET: Diagnoses/Edit/5
        public async Task <IActionResult> Edit(Int32?id, Int32?patientId)
        {
            if (id == null)
            {
                return(this.NotFound());
            }

            var diagnosis = await this._context.Diagnoses.SingleOrDefaultAsync(m => m.Id == id);

            if (diagnosis == null)
            {
                return(this.NotFound());
            }

            var model = new DiagnosisViewModel
            {
                Type          = diagnosis.Type,
                Complications = diagnosis.Complications,
                Details       = diagnosis.Details
            };

            if (patientId == null)
            {
                return(this.NotFound());
            }

            var patient = await this._context.Patients
                          .SingleOrDefaultAsync(x => x.Id == patientId);

            if (patient == null)
            {
                return(this.NotFound());
            }

            this.ViewBag.Patient = patient;
            return(this.View(model));
        }
Exemple #26
0
 public IActionResult GetAge(DiagnosisViewModel viewModel)
 {
     return(View(viewModel));
 }
Exemple #27
0
 public IActionResult Index(DiagnosisViewModel viewModel)
 {
     return(View(viewModel));
 }