Ejemplo n.º 1
0
        public void Calculate_Sum()
        {
            Doctor d = new Doctor();

            Patient p1 = new Patient("Ivo", "Ivić", "01234567890", DateTime.Now, "ii01234");
            Patient p2 = new Patient("Filip", "Filipović", "01234567891", DateTime.Now, "ff01234");

            ExaminationType t1 = new ExaminationType("EKG", 100);
            ExaminationType t2 = new ExaminationType("holter", 132);

            MedicalExamination        e1           = new MedicalExamination(d, p1, DateTime.Now, t1);
            MedicalExamination        e2           = new MedicalExamination(d, p2, DateTime.Now, t1);
            MedicalExamination        e3           = new MedicalExamination(d, p1, DateTime.Now, t2);
            List <MedicalExamination> examinations = new List <MedicalExamination>();

            examinations.Add(e1);
            examinations.Add(e2);
            examinations.Add(e3);

            Statistics stat = new Statistics(examinations);

            stat.Calculate();

            Assert.AreEqual(332, stat.priceSum);
            Assert.AreEqual(2, stat.patientCount);
        }
Ejemplo n.º 2
0
 public MedicalExaminationReport(string comment, DateTime publishingDate, int medicalExaminationID, MedicalExamination medicalExamination)
 {
     Comment              = comment;
     PublishingDate       = publishingDate;
     MedicalExaminationId = medicalExaminationID;
     MedicalExamination   = medicalExamination;
 }
 public MedicalFindingFormController(IServiceFactory inServiceFactory, MedicalExamination inExamination, IWindowFormsFactory inFormsFactory, IObserver observer) : base()
 {
     _formsFactory   = inFormsFactory;
     _serviceFactory = inServiceFactory;
     examination     = inExamination;
     Attach(observer);
 }
Ejemplo n.º 4
0
        //删除预约信息
        public void DeleteCustomerAppointment(int id)
        {
            //删除预约表
            List <CustomerAppointment> customerAppointment = db.CustomerAppointment.Where(p => p.CustomerAppointmentID == id).ToList();

            if (customerAppointment.Count > 0)
            {
                foreach (var item in customerAppointment)
                {
                    //利用所有的预约id去查有没有体检信息,有则删除体检信息
                    ClientMdicalIformation clientMdicalIformation = db.ClientMdicalIformation.Where(p => p.CustomerAppointmentID == item.CustomerAppointmentID).ToList().FirstOrDefault();
                    if (clientMdicalIformation != null)
                    {
                        //删除客户回访信息
                        List <CustomerReturnVisit> customerReturnVisit = db.CustomerReturnVisit.Where(p => p.ConclusionID == clientMdicalIformation.ConclusionID).ToList();
                        if (customerReturnVisit.Count > 0)
                        {
                            foreach (var item1 in customerReturnVisit)
                            {
                                CustomerReturnVisit customerReturnVisit1 = db.CustomerReturnVisit.Where(p => p.ConclusionID == item1.ConclusionID).ToList().FirstOrDefault();
                                db.CustomerReturnVisit.Remove(customerReturnVisit1);
                                db.SaveChanges();
                            }
                        }

                        //删除客户关怀信息
                        List <CustomerCare> customerCare = db.CustomerCare.Where(p => p.ConclusionID == clientMdicalIformation.ConclusionID).ToList();
                        if (customerCare.Count() > 0)
                        {
                            foreach (var item2 in customerCare)
                            {
                                int          customerCareid = item2.CustomerCareID;
                                CustomerCare customerCare1  = db.CustomerCare.Where(p => p.ConclusionID == item2.ConclusionID).ToList().FirstOrDefault();
                                db.CustomerCare.Remove(customerCare1);
                                db.SaveChanges();
                            }
                        }

                        //删除体检信息之后才能删除内外科
                        db.ClientMdicalIformation.Remove(clientMdicalIformation);
                        db.SaveChanges();
                        //删除外科体检信息
                        int SurgicalExaminationID = clientMdicalIformation.SurgicalExaminationID;
                        SurgicalExamination surgicalExamination = db.SurgicalExamination.Find(SurgicalExaminationID);
                        db.SurgicalExamination.Remove(surgicalExamination);
                        db.SaveChanges();
                        //删除内科体检信息
                        int MedicalExaminationID = clientMdicalIformation.MedicalExaminationID;
                        MedicalExamination medicalExamination = db.MedicalExamination.Find(MedicalExaminationID);
                        db.MedicalExamination.Remove(medicalExamination);
                        db.SaveChanges();

                        //删除预约记录
                        CustomerAppointment customerAppointment1 = db.CustomerAppointment.Find(item.CustomerAppointmentID);
                        db.CustomerAppointment.Remove(customerAppointment1);
                        db.SaveChanges();
                    }
                }
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            ScheduleAppointmentView appointment = new ScheduleAppointmentView();

            appointment.StartTime       = SelectedApp.AvailableAppointment.StartTime;
            appointment.EndTime         = SelectedApp.AvailableAppointment.EndTime;
            appointment.DoctorWorkDayId = SelectedApp.Id;
            MedicalExamination medicalExamination = new MedicalExamination();

            medicalExamination.DoctorId    = SelectedApp.DoctorId;
            medicalExamination.RoomId      = SelectedApp.RoomId;
            appointment.MedicalExamination = medicalExamination;


            if (Backend.App.Instance().DoctorWorkDayService.ScheduleAppointment(ScheduleAppoitmentConverter.AppointmentDtoToAppointment(appointment, SelektovaniPacijent)))
            {
                MessageBox.Show("The appointment is successfully made ");
                ResultSchedule s = new ResultSchedule(Dstart, Dend, DoctorS, PriorityS);
                s.Show();
                this.Close();
            }
            else
            {
                MessageBox.Show("Error");
            }
        }
Ejemplo n.º 6
0
        //利用体检表id查到对应内科并返回
        public MedicalExamination SelectExamination(int id)
        {
            ClientMdicalIformation clientMdicalIformation = db.ClientMdicalIformation.Find(id);
            var MedicalExaminationID = clientMdicalIformation.MedicalExaminationID;
            MedicalExamination medicalExamination = db.MedicalExamination.Find(MedicalExaminationID);

            return(medicalExamination);
        }
Ejemplo n.º 7
0
 public Prescription(int id, string comment, DateTime publishingDate, int medicalExaminationId, MedicalExamination medicalExamination, List <Medicament> medicaments)
 {
     Id                   = id;
     Comment              = comment;
     PublishingDate       = publishingDate;
     MedicalExaminationId = medicalExaminationId;
     MedicalExamination   = medicalExamination;
     Medicaments          = medicaments;
 }
Ejemplo n.º 8
0
 public Survey(int id, string title, string commentSurvey, DateTime publishingDate, int medicalExaminationID, MedicalExamination medicalExamination, List <Answer> answers) : this(id)
 {
     Title                = title;
     CommentSurvey        = commentSurvey;
     PublishingDate       = publishingDate;
     MedicalExaminationId = medicalExaminationID;
     MedicalExamination   = medicalExamination;
     Answers              = answers;
 }
Ejemplo n.º 9
0
        public void SetExamined(MedicalExamination examination)
        {
            var medicalExaminationService = _serviceFactory.createMedicalExaminationService(_unitOfWork);

            examination.SetExamined();
            medicalExaminationService.Update(examination);
            NotifyObservers();
            //_unitOfWork.Commit();
        }
Ejemplo n.º 10
0
        public void Examine(MedicalExamination examination, IObserver observer)
        {
            if (LoggedIn.GetEmployee() is Doctor)
            {
                var mfController = new MedicalFindingFormController(_serviceFactory, examination, _formsFactory, observer);
                var newFrm       = _formsFactory.CreateNewMedicalFindingView(mfController, this);

                mfController.AddMedicalFinding(newFrm);
            }
        }
Ejemplo n.º 11
0
        //删除客户体检信息,内科也一并删除
        public void DeleteMedicalExamination(int id)
        {
            //利用体检信息表拿到那一条数据中的内科id,再从内科中选择到了对应id,执行删除
            ClientMdicalIformation clientMdicalIformation = db.ClientMdicalIformation.Find(id);
            var MedicalExamination = clientMdicalIformation.MedicalExaminationID;
            MedicalExamination medicalExamination = db.MedicalExamination.Find(MedicalExamination);

            db.MedicalExamination.Remove(medicalExamination);
            db.SaveChanges();
        }
Ejemplo n.º 12
0
        public void AddNewMedicalExamination(IAddMedicalExaminationView inForm)
        {
            _form = inForm;

            List <ExaminationType> typesList = _serviceFactory.CreateExaminationTypeService(_unitOfWork).GetAll();

            if (inForm.ShowViewModal(typesList))
            {
                try
                {
                    bool            emergency       = inForm.Emergency;
                    ExaminationType examinationType = inForm.ExaminationType;
                    string          PatientId       = inForm.PatientId;
                    string          FirstName       = inForm.PatientFirstName;
                    string          LastName        = inForm.PatientLastName;
                    string          OIB             = inForm.PatientOIB;
                    string          address         = inForm.Address;
                    string          city            = inForm.City;
                    string          zipCode         = inForm.ZipCode;
                    DateTime        DateOfBirth;
                    DateTime.TryParseExact(inForm.PatientDateOfBirth, "dd.MM.yyyy", null, DateTimeStyles.None, out DateOfBirth);

                    var patientService = _serviceFactory.createPatientService(_unitOfWork);

                    var patient = patientService.GetByOIB(OIB);

                    if (patient == null)
                    {
                        patient = patientService.Add(FirstName, LastName, OIB, DateOfBirth, PatientId, address, city, zipCode);
                    }

                    Employee    employee    = LoggedIn.GetEmployee();
                    WaitingRoom waitingRoom = LoggedIn.GetWaitingRoom();

                    IMedicalExaminationService medicalExaminationService = _serviceFactory.createMedicalExaminationService(_unitOfWork);

                    MedicalExamination medicalExamination = medicalExaminationService.Add(patient, examinationType, emergency);
                    //WaitingRoom waitingRoom = LoggedIn.GetEmployee().WaitingRoom;

                    //var service = _serviceFactory.CreateWaitingRoomService(_unitOfWork);

                    //WaitingRoom wr = service.GetById(waitingRoom.Id);
                    //WaitingRoom wr = new WaitingRoom(new List<MedicalExamination>(), "Kardio");
                    //wr.AddExamination(medicalExamination);
                    //service.Add(wr);

                    NotifyObservers();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.StackTrace);
                }
            }
        }
Ejemplo n.º 13
0
        //新增内科信息
        public int AddMedicalExamination(MedicalExamination medicalExamination)
        {
            db.MedicalExamination.Add(medicalExamination);
            db.SaveChanges();
            //利用方法查询到内科表的最后一条信息(上面新增的那条)
            MedicalExamination medicalExamination1 = db.MedicalExamination.ToList().LastOrDefault();
            //拿到新增那条内科信息返回id
            int MedicalExaminationID = medicalExamination1.MedicalExaminationID;

            return(MedicalExaminationID);
        }
Ejemplo n.º 14
0
        public IActionResult ReservateMedicalExaminitonOnDiscount(Guid Id)
        {
            MedicalExamination examination = _repoWrapper.MedicalExamination.FindMedicalExaminationById(Id);
            Guid userId = _repoWrapper.User.FindUserIdByEmail(HttpContext.Session.GetString("User"));
            MedicalExamination result = _repoWrapper.MedicalExamination.ReservateMedicalExaminitonOnDiscount(examination, userId);

            _repoWrapper.MedicalExamination.Update(result);
            _repoWrapper.Save();

            return(View());
        }
Ejemplo n.º 15
0
        public ActionResult Create(MedicalFinding medicalFinding)
        {
            medicalFinding.Doctor  = _doctorService.GetByEmployeeId(User.Identity.Name);
            medicalFinding.Patient = _patientService.GetByOIB(Request.QueryString["oib"]);
            var exid = Request.QueryString["examination_id"];
            MedicalExamination exam = _examinationService.GetById(Int32.Parse(exid));

            exam.Examined = true;
            _examinationService.Update(exam);

            medicalFinding.Date = DateTime.Now;
            _medicalfindingService.Add(medicalFinding);
            return(RedirectToAction("Index", "MedicalExaminations"));
        }
Ejemplo n.º 16
0
        public void InsertMedicalExamination(int id, MedicalExamination medicalExamination)
        {
            var entity = context.Patients.FirstOrDefault(t => t.Id == id);

            if (entity == null)
            {
                throw new NullReferenceException();
            }

            medicalExamination.Id = 0;
            entity.MedicalExaminations.Add(medicalExamination);

            context.SaveChanges();
        }
        public IActionResult CreateMedicalExaminition(string date)
        {
            string                   clinicalExaminitionId = (string)RouteData.Values["Id"];
            Guid                     Id                 = new Guid(clinicalExaminitionId);
            ClinicExamination        examination        = _repoWrapper.ClinicExamination.GetClinicExaminationById(Id);
            MedicalExaminationMapper mapper             = new MedicalExaminationMapper(_repoWrapper);
            string                   email              = HttpContext.Session.GetString("User");
            MedicalExamination       medicalExamination = mapper.CreateExamination(examination, date, email);

            _repoWrapper.MedicalExamination.Create(medicalExamination);
            _repoWrapper.Save();

            return(RedirectToAction("UserPage", "User"));
        }
Ejemplo n.º 18
0
        public void ShowModaless(MedicalExamination inExamination)
        {
            examination                = inExamination;
            patientNamelabel.Text      = examination.Patient.FirstName + " " + examination.Patient.LastName;
            patientBirthDateLabel.Text = examination.Patient.DateOfBirth.ToString();
            patientIdLabel.Text        = examination.Patient.OIB;

            finding = new MedicalFinding(DateTime.Now,
                                         examination.Doctor, examination.Patient,
                                         new MedicalDiagnosis()
                                         );

            this.Show();
        }
Ejemplo n.º 19
0
        public IActionResult MarkExamination(double clinicMark)
        {
            string medicalExaminationId = (string)RouteData.Values["Id"];
            Guid   Id = new Guid(medicalExaminationId);

            MedicalExamination medicalExamination = _repoWrapper.MedicalExamination.FindMedicalExaminationById(Id);
            ClinicExamination  clinic             = _repoWrapper.ClinicExamination.GetClinicExaminationById(medicalExamination.TypeId);
            string             Email = HttpContext.Session.GetString("User");
            Guid       userId        = _repoWrapper.User.FindUserIdByEmail(Email);
            ClinicMark ClinicMark    = MarkMapper.ClinicmMarkMapper(clinic, clinicMark, userId);

            _repoWrapper.ClinicMark.Create(ClinicMark);
            _repoWrapper.Save();
            return(View());
        }
Ejemplo n.º 20
0
        public void Add_InvalidDate_Examinations()
        {
            // arrange
            WaitingRoom        waitingRoom        = new WaitingRoom();
            Doctor             doctor             = new Doctor();
            Patient            patient            = new Patient();
            DateTime           today              = DateTime.Today.AddDays(-1);
            ExaminationType    type               = new ExaminationType();
            MedicalExamination medicalExamination = new MedicalExamination(doctor, patient, today, type);

            // act
            waitingRoom.AddExamination(medicalExamination);

            // assert
            Assert.AreEqual(0, waitingRoom.Examinations.Count);
        }
        public void Add_MedicalExamination_Doctor()
        {
            var    waitingRoom = new Mock <WaitingRoom>();
            Doctor doctor      = new Doctor("Ante", "Antić", "54372816532", DateTime.Now, "ia54372", "1234", waitingRoom.Object);

            LoggedIn.Initialize(doctor);
            var mockPatient                  = new Mock <Patient>();
            var mockExaminationType          = new Mock <ExaminationType>();
            var examination                  = new MedicalExamination();
            var medicalExaminationRepository = new Mock <IMedicalExaminationRepository>();

            medicalExaminationRepository.Setup(x => x.Add(examination)).Returns(examination);
            MedicalExaminationService medicalExaminationService = new MedicalExaminationService(medicalExaminationRepository.Object);

            var ex = medicalExaminationService.Add(mockPatient.Object, mockExaminationType.Object, false);

            medicalExaminationRepository.Verify(x => x.Add(ex), Times.Once());
            Assert.AreEqual(doctor, ex.Doctor);
        }
Ejemplo n.º 22
0
        public static MedicalExaminationView EntityToView(this MedicalExamination entity)
        {
            if (entity != null)
            {
                return(new MedicalExaminationView
                {
                    Id = entity.Id,
                    ProcedureTime = entity.ProcedureTime,
                    Allowance = entity.Allowance,
                    PatientId = entity.PatientId,
                    DoctorsDiagnoses = entity.DoctorsDiagnoses.EntityToView(),
                    BloodChemistryAnalyses = entity.BloodChemistryAnalyses.EntityToView(),
                    GeneralBloodAnalyses = entity.GeneralBloodAnalyses.EntityToView(),
                    GeneralUrineAnalyses = entity.GeneralUrineAnalyses.EntityToView(),
                    HeartUltrasounds = entity.HeartUltrasounds.EntityToView(),
                    Electrocardiograms = entity.Electrocardiograms.EntityToView()
                });
            }

            return(null);
        }
Ejemplo n.º 23
0
        public ActionResult Create(MedicalExamination medicalExamination)
        {
            ViewBag.ExanimationType     = new SelectList(_typeService.GetAll(), "Value", "Text");
            ViewData["ExanimationType"] = new SelectList(_typeService.GetAll(), "Value", "Text");

            medicalExamination.Doctor      = _doctorService.GetByEmployeeId(User.Identity.Name);
            medicalExamination.WaitingRoom = medicalExamination.Doctor.WaitingRoom;
            if (_patientService.GetByOIB(medicalExamination.Patient.OIB) == null)
            {
                ModelState.AddModelError("", "Neispravan OIB pacijenta.");
                //pokazi gresku
            }
            else
            {
                medicalExamination.Patient = _patientService.GetByOIB(medicalExamination.Patient.OIB);
                _exanimationService.Add(medicalExamination);
            }

            return(RedirectToAction("Index"));

            // return View(medicalExamination);
        }
        public MedicalExamination CreateExamination(ClinicExamination clinicExamination, string dateAndTimeOfStart, string email)
        {
            DateTime           myTime      = DateTime.Parse(dateAndTimeOfStart);
            MedicalExamination examination = new MedicalExamination();
            List <MedicalStaffOnExamination> medicalStaffsOnExamination = _repoWrapper.MedicalStaffOnExamination.FindAll()
                                                                          .Where(x => x.ClinicExaminationId.Equals(clinicExamination.Id)).ToList();
            List <Staff> staffsOnClinic = _repoWrapper.Staff.FindAll().Where(y => y.ClinicId.Equals(clinicExamination.ClinicId)).ToList();
            User         user           = _repoWrapper.User.GetUserByEmail(email);
            Guid         newGuid        = Guid.NewGuid();

            examination = (MedicalExamination)(from a in staffsOnClinic
                                               join b in medicalStaffsOnExamination on a.Id equals b.MedicalStaffId
                                               select new MedicalExamination
            {
                Id = newGuid,
                TypeId = clinicExamination.Id,
                DiscauntPrice = clinicExamination.Price,
                MedicalStaffId = b.Id,
                UserId = user.Id,
                DateAndTimeOfStart = myTime,
                DateAndTimeOfEnd = myTime.AddMinutes(30)
            }).FirstOrDefault();
            return(examination);
        }
Ejemplo n.º 25
0
 public DataRow(MedicalExamination exm)
 {
     time = exm.ExaminationDate.ToString("dd-MM-yyyy hh:mm");
     name = exm.Patient.FirstName + " " + exm.Patient.LastName;
     tip  = exm.ExaminationType.Name;
 }
Ejemplo n.º 26
0
 //监控内外科表和体检信息表的变化并且保存
 public void Monitor(ClientMdicalIformation clientMdicalIformation, SurgicalExamination surgicalExamination, MedicalExamination medicalExamination)
 {
     Dal.Monitor(clientMdicalIformation, surgicalExamination, medicalExamination);
 }
 public void DeleteEntity(MedicalExamination entity)
 {
     medicalExaminationRepository.DeleteEntity(entity);
 }
 public void UpdateEntity(MedicalExamination entity)
 {
     medicalExaminationRepository.UpdateEntity(entity);
 }
 public MedicalExamination AddEntity(MedicalExamination entity)
 {
     return(medicalExaminationRepository.AddEntity(entity));
 }
Ejemplo n.º 30
0
 public StatisticDisplay(MedicalExamination stats)
 {
     this.name  = stats.Patient.FirstName + " " + stats.Patient.LastName;
     this.price = stats.ExaminationType.Price.ToString("c2",
                                                       CultureInfo.CreateSpecificCulture("hr-HR"));
 }