/// <summary>
        /// Adds new PatientDisease entry to Database
        /// </summary>
        /// <param name="patientDisease">PatientDisease object to be added</param>
        /// <returns>Added PatientDisease object</returns>
        public async Task <PatientDisease> AddPatientDiseaseAsync(PatientDisease patientDisease)
        {
            PatientDisease patientDiseaseInserted = _unitOfWork.PatientDiseases.Insert(patientDisease);
            await _unitOfWork.Save();

            return(patientDiseaseInserted);
        }
Пример #2
0
        private void saveButton_Click(object sender, EventArgs e)
        {
            PatientManager        patientManager        = new PatientManager();
            PatientDiseaseManager patientDiseaseManager = new PatientDiseaseManager();
            Patient patient = new Patient();

            patient.Name     = patientsNameTextBox.Text;
            patient.DoctorId = int.Parse(doctorComboBox.SelectedValue.ToString());
            int patientId = patientManager.Save(patient);

            if (patientId > 0)
            {
                foreach (var index in diseaseCheckedListBox.CheckedItems)
                {
                    Disease        disease        = (Disease)index;
                    PatientDisease patientDisease = new PatientDisease();
                    patientDisease.PatientId = patientId;
                    patientDisease.DiseaseId = disease.Id;
                    patientDiseaseManager.Save(patientDisease);
                }
                MessageBox.Show("Patient Successfully Added");
            }
            else
            {
                MessageBox.Show("An Error Occured");
            }
        }
Пример #3
0
        public IActionResult Edit(int id)
        {
            SelectList DiseaseList = new SelectList(_context.Disease.ToList(), "DiseaseId", "DiseaseName");

            ViewData["DiseaseId"] = DiseaseList;
            PatientDisease patientDisease = _context.PatientDisease.Where(x => x.PatientDiseaseId == id).FirstOrDefault();

            return(View(patientDisease));
        }
Пример #4
0
        public IActionResult AddPatientDisease()
        {
            PatientDisease patientDisease = new PatientDisease();

            patientDisease.Diagnose = new Diagnose {
                Bloodtest = " pass"
            };
            patientDisease.DiseasePrevalence = new DiseasePrevalence();
            return(View(patientDisease));
        }
        public void Save(PatientDisease patientDisease)
        {
            string        connectionString = ConfigurationManager.ConnectionStrings["HospitalConnectionString"].ConnectionString;
            SqlConnection sqlConnection    = new SqlConnection(connectionString);
            string        query            = "INSERT INTO PatientDiseaseTable (PatientId,DiseaseId) VALUES('" + patientDisease.PatientId + "','" + patientDisease.DiseaseId + "')";
            SqlCommand    sqlCommand       = new SqlCommand(query, sqlConnection);

            sqlConnection.Open();
            sqlCommand.ExecuteNonQuery();
            sqlConnection.Close();
        }
        /// <summary>
        /// Updates patient disease
        /// </summary>
        /// <param name="patientDiseaseId"></param>
        /// <param name="patientDisease"></param>
        /// <returns>
        /// The identifier of updated patient disease
        /// or null if patient disease id does not exist
        /// </returns>
        public int UpdatePatientDisease(int patientDiseaseId, PatientDisease patientDisease)
        {
            PatientDisease patientDiseaseForUpdate = this.PatientDiseases.FirstOrDefault(pd =>
                                                                                         pd.PatientDiseaseId == patientDiseaseId);

            patientDiseaseForUpdate.EndDate = patientDisease.EndDate;
            patientDiseaseForUpdate.Note    = patientDisease.Note;
            patientDiseaseForUpdate.UserId  = patientDisease.UserId;
            this.SaveChanges();
            return(patientDiseaseForUpdate.PatientDiseaseId);
        }
Пример #7
0
        private void saveButton_Click(object sender, EventArgs e)
        {
            PatientManager        patientManager        = new PatientManager();
            PatientDiseaseManager patientDiseaseManager = new PatientDiseaseManager();
            Patient patient = new Patient();

            patient.Id       = patientId;
            patient.Name     = patientsNameTextBox.Text;
            patient.DoctorId = int.Parse(doctorComboBox.SelectedValue.ToString());
            if (mode == "Update" && patient.Name != "")
            {
                int row = patientManager.Update(patient);
                if (row == 1)
                {
                    PatientDiseaseManager aPatientDiseaseManager = new PatientDiseaseManager();
                    aPatientDiseaseManager.DeleteExisting(patient);
                    foreach (var index in diseaseCheckedListBox.CheckedItems)
                    {
                        Disease        disease        = (Disease)index;
                        PatientDisease patientDisease = new PatientDisease();
                        patientDisease.PatientId = patient.Id;
                        patientDisease.DiseaseId = disease.Id;
                        patientDiseaseManager.Save(patientDisease);
                    }
                    Close();
                    MessageBox.Show("Patient Successfully Updated");
                }
            }
            else if (patient.Name != "")
            {
                int retrievedPatientId = patientManager.Save(patient);
                if (retrievedPatientId > 0)
                {
                    foreach (var index in diseaseCheckedListBox.CheckedItems)
                    {
                        Disease        disease        = (Disease)index;
                        PatientDisease patientDisease = new PatientDisease();
                        patientDisease.PatientId = retrievedPatientId;
                        patientDisease.DiseaseId = disease.Id;
                        patientDiseaseManager.Save(patientDisease);
                    }
                    Close();
                    MessageBox.Show("Patient Successfully Saved");
                }
            }
            else
            {
                MessageBox.Show("Name cannot be empty");
            }
        }
        public IActionResult Create(int id)
        {
            SelectList DiseaseList = new SelectList(_context.Disease.ToList(), "DiseaseId", "DiseaseName");

            ViewData["DiseaseId"] = DiseaseList;
            GlobalMethods  global         = new GlobalMethods(_context, _httpContextAccessor);
            int?           DoctorId       = global.GetDoctorId();
            PatientDisease patientDisease = new PatientDisease()
            {
                PatientId = id,
                DoctorId  = DoctorId
            };

            return(View(patientDisease));
        }
Пример #9
0
        public async Task <IActionResult> AddPatientDisease([FromBody] PatientDisease patientDisease)
        {
            log.Info("PatiendDiseaseController::AddPatientDisease(). Adding new PatietDisease.");

            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var result = await _service.AddPatientDiseaseAsync(patientDisease);

            log.Info($"PatiendDiseaseController::AddPatientDisease(). Disease with ID {patientDisease.Id} added.");

            return(Created("patientdisease", result));
        }
Пример #10
0
        public IActionResult Edit(PatientDisease patientDisease)
        {
            PatientDisease oldPatientDisease = _context.PatientDisease.Where(x => x.PatientDiseaseId == patientDisease.PatientDiseaseId).FirstOrDefault();

            oldPatientDisease.DateOfDisease       = patientDisease.DateOfDisease;
            oldPatientDisease.DateOfFinish        = patientDisease.DateOfFinish;
            oldPatientDisease.Description         = patientDisease.Description;
            oldPatientDisease.DiseaseId           = patientDisease.DiseaseId;
            oldPatientDisease.DoctorName          = patientDisease.DoctorName;
            oldPatientDisease.FinishedFromDisease = patientDisease.FinishedFromDisease;
            oldPatientDisease.PatientId           = patientDisease.PatientId;
            oldPatientDisease.DoctorId            = patientDisease.DoctorId;
            _context.SaveChanges();
            return(RedirectToAction("Create"));
        }
Пример #11
0
        /// <summary>
        /// Updates the patient disease with specified identifier
        /// </summary>
        /// <param name="patientDiseaseId">The patient disease identifier</param>
        /// <param name="patientDisease">The patient disease</param>
        /// <returns>
        /// Id of updated disease
        /// </returns>
        /// <exception cref="ArgumentException">
        /// Not valid patient`s disease id!
        /// or
        /// Not valid end date!
        /// </exception>
        public int Update(int patientDiseaseId, PatientDisease patientDisease)
        {
            if (this.dataAccessManager.GetPatientDisease(patientDiseaseId) == null)
            {
                throw new ArgumentException("Not valid patient`s disease id!");
            }

            if (this.dataAccessManager.GetPatientDisease(patientDiseaseId).StartDate > patientDisease.EndDate)
            {
                throw new ArgumentException("End date can`t be less start day!");
            }

            if (patientDisease.EndDate > DateTime.Now)
            {
                throw new ArgumentException("End date can`t be after Now!");
            }

            return(this.dataAccessManager.UpdatePatientDisease(patientDiseaseId, patientDisease));
        }
        public IActionResult GeneratePrescriptions([FromQuery] string[] values)
        {
            List <int> MedicamentList = new List <int>();

            foreach (string patientDiseaseMedicamentId in values)
            {
                int.TryParse(patientDiseaseMedicamentId, out int PatientDiseaseMedicamentId);
                MedicamentList.Add(PatientDiseaseMedicamentId);
            }
            int[]          MedicamentArray = MedicamentList.ToArray();
            int?           patientDisease  = _context.PatientDiseaseMedicaments.Where(x => x.PatientDiseaseMedicamentId == MedicamentArray[0]).FirstOrDefault().PatientDiseaseId;
            PatientDisease pd         = _context.PatientDisease.Where(x => x.PatientDiseaseId == patientDisease).Include(x => x.Doctor).ThenInclude(x => x.Profession).FirstOrDefault();
            string         DoctorName = "Doctor " + pd.DoctorName + "(" + pd.Doctor.Profession.Name + ")";

            ViewData["DoctorName"] = DoctorName;
            IEnumerable <PatientDiseaseMedicaments> MedicamentLists = _context.PatientDiseaseMedicaments.Include(x => x.Medicament).Where(x => MedicamentArray.Contains(x.PatientDiseaseMedicamentId)).ToList();

            return(View(MedicamentLists));
        }
Пример #13
0
        /// <summary>
        /// Adds the specified patient disease
        /// </summary>
        /// <param name="patientDisease">The patient disease</param>
        /// <returns>
        /// Id of added entity
        /// </returns>
        /// <exception cref="ArgumentException">
        /// Not valid disease id!
        /// or
        /// Not valid patient id!
        /// or
        /// Not valid start date!
        /// or
        /// Start date can`t be later end date!
        /// </exception>
        public int Add(PatientDisease patientDisease)
        {
            if (this.dataAccessManager.GetDisease(patientDisease.DiseaseId) == null)
            {
                throw new ArgumentException("Not valid disease id!");
            }

            if (!this.dataAccessManager.isValidPatientId(patientDisease.PatientId))
            {
                throw new ArgumentException("Not valid patient id!");
            }

            if (patientDisease.StartDate > DateTime.Now)
            {
                throw new ArgumentException("Not valid start date!");
            }

            if (patientDisease.StartDate > patientDisease.EndDate && patientDisease.EndDate != null)
            {
                throw new ArgumentException("Start date can`t be later end date!");
            }

            return(this.dataAccessManager.AddDiseaseToPatient(patientDisease));
        }
Пример #14
0
 public IActionResult Create(PatientDisease patientDisease)
 {
     _context.PatientDisease.Add(patientDisease);
     _context.SaveChanges();
     return(RedirectToAction("Create"));
 }
Пример #15
0
        public void Save(PatientDisease patientDisease)
        {
            PatientDiseaseGateway patientDiseaseGateway = new PatientDiseaseGateway();

            patientDiseaseGateway.Save(patientDisease);
        }
 /// <summary>
 /// Adds the disease to the patient
 /// </summary>
 /// <param name="patientDisease">The new patient disease</param>
 /// <returns>
 /// The identifier of added patient disease
 /// </returns>
 public int AddDiseaseToPatient(PatientDisease patientDisease)
 {
     this.PatientDiseases.Add(patientDisease);
     this.SaveChanges();
     return(PatientDiseases.Last <PatientDisease>().PatientDiseaseId);
 }
Пример #17
0
        private void InsertDimension(object atts, int patientId, SqlTransaction trans)
        {
            DataRow dr;

            if (atts is XmlNode)
            {
                dr = this.AttributesToRow(((XmlNode)atts).Attributes);
            }
            else
            {
                dr = (DataRow)atts;
            }

            string dimType = (string)dr["type"];

            switch (dimType)
            {
            case "Institution":
                InstitutionDa ida           = new InstitutionDa();
                int           institutionId = ida.GetPrimKey((string)dr["value"]);
                this._CheckId(institutionId, dimType, dr);
                PatientInstitutionDa pida = new PatientInstitutionDa();

                if (VerifyUnique((pida.GetPatientInstitution(patientId, institutionId, trans)).Tables[0]))
                {
                    // NEW CODE, insert record though middle tier
                    PatientInstitution ptInstitution = new PatientInstitution();
                    ptInstitution[PatientInstitution.PatientId]     = patientId;
                    ptInstitution[PatientInstitution.InstitutionId] = institutionId;
                    ptInstitution.Save();

                    // OLD CODE, inserts now handled by middle tier
                    // pida.InsertPatientInstitution(patientId, institutionId, trans);  add trans logic after concurrency fully tested- spy 2/21
                    // pida.InsertPatientInstitution(patientId, institutionId, trans);
                }
                break;

            case "Physician":
                PhysicianDa pda = new PhysicianDa();
                //to get Physician primary key need to pass first and last name in from dataset defined in XML
                int physicianId = pda.GetPrimKey((string)dr["value"], (string)dr["value2"]);
                this._CheckId(physicianId, dimType, dr);

                PatientPhysicianDa ppda = new PatientPhysicianDa();
                if (VerifyUnique((ppda.ValidatePatientPhysician(patientId, physicianId)).Tables[0]))
                {
                    // NEW CODE, insert record though middle tier
                    PatientPhysician ptPhysician = new PatientPhysician();
                    ptPhysician[PatientPhysician.PatientId]   = patientId;
                    ptPhysician[PatientPhysician.PhysicianId] = physicianId;
                    ptPhysician.Save();

                    // OLD CODE, inserts now handled by middle tier
                    //should be creating Patient Physician biz object and passing object to PatientPhysicianDa
                    //ppda.InsertPatientPhysicianDimension(patientId, physicianId, _sc.GetUserName(), trans);
                }
                break;

            case "Protocol":
                ProtocolDa protDa     = new ProtocolDa();
                int        protocolId = protDa.GetPrimKey((string)dr["value"]);
                this._CheckId(protocolId, dimType, dr);

                PatientProtocolDa ptProtDa = new PatientProtocolDa();
                if (VerifyUnique((ptProtDa.ValidatePatientProtocol(patientId, protocolId)).Tables[0]))
                {
                    // NEW CODE, insert record though middle tier
                    PatientProtocol ptProtocol = new PatientProtocol();
                    ptProtocol[PatientProtocol.PatientId]  = patientId;
                    ptProtocol[PatientProtocol.ProtocolId] = protocolId;
                    ptProtocol.Save();

                    // OLD CODE, inserts now handled by middle tier
                    //ptProtDa.InsertPatientProtocolDimension(patientId, protocolId, _sc.GetUserName(), trans);
                }
                break;

            case "Disease":
                DiseaseDa disDa     = new DiseaseDa();
                int       diseaseId = disDa.GetPrimKey((string)dr["value"]);
                this._CheckId(diseaseId, dimType, dr);

                PatientDiseaseDa ptDiseaseDa = new PatientDiseaseDa();
                if (VerifyUnique((ptDiseaseDa.GetPatientDisease(patientId, diseaseId)).Tables[0]))
                {
                    // NEW CODE, insert record though middle tier
                    PatientDisease ptDisease = new PatientDisease();
                    ptDisease[PatientDisease.PatientId] = patientId;
                    ptDisease[PatientDisease.DiseaseId] = diseaseId;
                    ptDisease.Save();

                    // OLD CODE, inserts now handled by middle tier
                    //ptDiseaseDa.InsertPatientDisease(patientId, diseaseId, trans);
                }
                break;
            }
        }
        /// <summary>
        /// Updates existing PatientDisease entry in Database.
        /// Throws exception in case entry to be updated not found.
        /// </summary>
        /// <param name="patientDiseaseId">Id of PatientDisease entry to be updated</param>
        /// <param name="patientDisease">A sample PatientDisease object to be copied from</param>
        /// <returns></returns>
        public async Task <PatientDisease> UpdatePatientDiseaseAsync(int patientDiseaseId, PatientDisease patientDisease)
        {
            var patientDiseaseUpdated = _unitOfWork.PatientDiseases.Get(patientDiseaseId);

            if (patientDiseaseUpdated == null)
            {
                throw new ArgumentException("No such record");
            }

            _unitOfWork.PatientDiseases.Update(patientDiseaseUpdated);
            await _unitOfWork.Save();

            return(patientDiseaseUpdated);
        }
Пример #19
0
 public void Save(PatientDisease patientDisease)
 {
     patientDiseaseGateway.Save(patientDisease);
 }