Пример #1
0
        private async Task SearchDiagnoses(string value, bool isCode = false) //эксперементальная функция горячего поиска, нужно прерывание и задержка
        {
            if (value.Length > (isCode ? 1 : 2))
            {
                if (CurrentDiagnosis == null)
                {
                    IsLoadingDiagnosis = true;
                    try
                    {
                        var result = await _therapyDataService.GetDiagnoses(value, isCode);

                        Diagnoses.Clear();
                        foreach (Diagnosis diagnosis in result)
                        {
                            Diagnoses.Add(diagnosis);
                            //if (diagnosis.Title == value) CurrentDiagnosis = diagnosis;
                        }
                    }
                    catch (Exception ex)
                    {
                        NotificationManager.AddItem(new NotificationItem(NotificationType.Error, TimeSpan.FromSeconds(3), ex.Message, true));
                    }
                    IsLoadingDiagnosis = false;
                }
            }
            else
            {
                CurrentDiagnosisGroup = null;
                CurrentDiagnosis      = null;
            }
        }
        /// <summary>
        /// Validates this Response
        /// </summary>
        /// <param name="path">The path to this object as a string</param>
        /// <param name="messages">the validation messages to date, these may be added to within this method</param>
        public void Validate(string path, List <ValidationMessage> messages)
        {
            var vb = new ValidationBuilder(path, messages);

            if ((Procedures == null && Diagnoses == null && OtherDiagnosisEntries == null) ||
                (Procedures == null || !Procedures.Any()) && (Diagnoses == null || !Diagnoses.Any()) && (OtherDiagnosisEntries == null || !OtherDiagnosisEntries.Any()))
            {
                vb.AddValidationMessage("Response Details", null, "Response Details - 'section' tag shall have either an 'PROCEDURE' or 'DIAGNOSIS' or 'OTHER DIAGNOSIS PROCEDURE ENTRY'");
            }

            if (Procedures != null)
            {
                Procedures.ForEach(procedure => procedure.Validate(vb.Path + "Procedure", messages));
            }

            if (Diagnoses != null && Diagnoses.Any())
            {
                Diagnoses.ForEach(diagnosis => diagnosis.Validate(vb.Path + "Diagnosis", messages));
            }

            if (OtherDiagnosisEntries != null && OtherDiagnosisEntries.Any())
            {
                for (int x = 0; x < OtherDiagnosisEntries.Count; x++)
                {
                    vb.ArgumentRequiredCheck(string.Format("OtherDiagnosisEntries[{0}]", x), OtherDiagnosisEntries[x]);
                }
            }

            vb.ArgumentRequiredCheck("ResponseNarrative", ResponseNarrative);
        }
Пример #3
0
 protected SDataException(SerializationInfo info, StreamingContext context)
     : base(info, context)
 {
     _content    = info.GetValue("Content", typeof(object));
     _diagnoses  = (Diagnoses)info.GetValue("Diagnoses", typeof(Diagnoses));
     _statusCode = (HttpStatusCode?)info.GetValue("StatusCode", typeof(HttpStatusCode?));
 }
        private void DeleteC(object obj)
        {
            MessageBoxResult question = MessageBox.Show("Искате ли да изтриете тази диагноза?", "Изтриване", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);

            if (question == MessageBoxResult.Yes)
            {
                int id       = int.Parse(obj.ToString());
                var diagnose = this.diagnoseService.GetById(id);
                if (this.diagnoseService.Exist(diagnose.Code))
                {
                    try
                    {
                        this.diagnoseService.Remove(id);
                        Diagnoses.Remove(Diagnoses.Where(x => x.Id == id).FirstOrDefault());
                    }
                    catch
                    {
                        MessageBox.Show("Тази диагноза се използва и не може да бъде изтрита за момента !", "Проблем", MessageBoxButton.OK, MessageBoxImage.Warning);
                    }
                }
            }


            NotifyDiagnosesChanged();
        }
Пример #5
0
        private void button2_Click(object sender, EventArgs e)
        {
            label3.Hide();
            try
            {
                if (radioButton2.Checked)
                {
                    int  drugId = comboBox1.SelectedIndex;
                    Drug drug   = new Drug(Drugs[drugId].Medicines, textBox1.Text);
                    Drugs[drugId] = drug;

                    DrugDescriptionChange?.Invoke(this, new DrugOrDiagnosisEventArgs(drug.Medicines, drug.Description));
                }
                if (radioButton1.Checked)
                {
                    int       diagnosisId = comboBox1.SelectedIndex;
                    Diagnoses diagnosis   = new Diagnoses(Diagnoses[diagnosisId].Diagnosis, textBox1.Text);
                    Diagnoses[diagnosisId] = diagnosis;

                    DiagnosisDescriptionChange?.Invoke(this, new DrugOrDiagnosisEventArgs(diagnosis.Diagnosis, diagnosis.Description));
                }

                MessageBox.Show("Данные успешно сохранены", "Готово", MessageBoxButtons.OK, MessageBoxIcon.Information);
                textBox1.ReadOnly = true;
            }
            catch (System.ArgumentOutOfRangeException) {}
        }
Пример #6
0
        private void SetDiagnoses()
        {
            var d = new Diagnosis
            {
                Id          = 1,
                Name        = "Грипп",
                Description = "Острое инфекционное заболевание дыхательных путей, " +
                              "вызываемое вирусом гриппа. Входит в группу острых респираторных" +
                              " вирусных инфекций (ОРВИ). Периодически распространяется в виде эпидемий."
            };

            Diagnoses.Add(d);

            d = new Diagnosis
            {
                Id          = 2,
                Name        = "Просту́да",
                Description = "Острая респираторная инфекция общей (невыясненной) этиологии" +
                              " с воспалением верхних дыхательных путей, затрагивающая преимущественно нос." +
                              " В воспаление могут быть также вовлечены горло, гортань и пазухи." +
                              " Термин используется наряду с фарингитом, ларингитом, трахеитом и другими."
            };
            Diagnoses.Add(d);

            d = new Diagnosis
            {
                Id          = 3,
                Name        = "Диаре́я",
                Description = "Патологическое состояние, при котором у больного наблюдается учащённая" +
                              " (более 3 раз в сутки) дефекация, при этом стул становится водянистым," +
                              " имеет объём более 200 мл и часто сопровождается болевыми ощущениями в области живота," +
                              " экстренными позывами и анальным недержанием"
            };
            Diagnoses.Add(d);
        }
Пример #7
0
        /// <summary>
        /// Присвоение и пронумеровывание диагнозов
        /// </summary>
        /// <param name="result"></param>
        private void SetAndOrderDiagnoses(Result <List <Diagnosis> > result)
        {
            Diagnoses = result.Value;
            int num = 0;

            Diagnoses.ForEach(d => d.OrderNumber = ++num);
        }
Пример #8
0
        public void OnGet()
        {
            Deaths    = diagnosisService.Deaths();
            Recovered = diagnosisService.Recovered();
            Diagnoses = diagnosisService.GetDiagnosesWithCorona();
            var Ddiagnoses = Diagnoses.GroupBy(x => x.Patient.City);

            foreach (var item in Ddiagnoses)
            {
                RegionPatients.Add(new StatisticsCore
                {
                    Region        = item.Key,
                    TotalPatients = item.GroupBy(x => x.Patient.Name).Count()
                });
            }
            var patientDeath = Deaths.GroupBy(x => x.Patient.City);

            foreach (var item in patientDeath)
            {
                PatientDeath.Add(new StatisticsCore
                {
                    Region        = item.Key,
                    TotalPatients = item.GroupBy(x => x.Patient.Name).Count()
                });
            }
        }
Пример #9
0
        /// <summary>
        /// Gets a list holding the diagnoses held in the sql database
        /// </summary>
        /// <returns>List of Diagnoses objects</returns>
        public static List <Diagnoses> GetDiagnosesList()
        {
            List <Diagnoses> diagnosesList   = new List <Diagnoses>();
            SqlConnection    connection      = HealthCareUWGDBConnection.GetConnection();
            string           selectStatement =
                "SELECT DiagnosesCode, DiagnosesName FROM Diagnoses Order by DiagnosesCode";
            SqlCommand    selectCommand = new SqlCommand(selectStatement, connection);
            SqlDataReader reader        = null;

            try
            {
                connection.Open();
                reader = selectCommand.ExecuteReader();
                while (reader.Read())
                {
                    Diagnoses diag = new Diagnoses();
                    diag.DiagnosesCode = (int)reader["DiagnosesCode"];
                    diag.DiagnosesName = reader["DiagnosesName"].ToString();
                    diagnosesList.Add(diag);
                }
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            finally
            {
                reader.Close();
                connection.Close();
            }
            return(diagnosesList);
        }
Пример #10
0
        public void OnGet()
        {
            Deaths    = diagnosisService.Deaths();
            Recovered = diagnosisService.Recovered();
            Diagnoses = diagnosisService.GetDiagnosesWithCorona();
            var Ddiagnoses = Diagnoses.GroupBy(x => 10 * ((DateTime.Now.Year - x.Patient.BirthDate.Year) / 10));

            foreach (var item in Ddiagnoses.OrderBy(i => i.Key))
            {
                AgeGroup.Add(new StatisticsCore
                {
                    Age           = item.Key.ToString() + "-" + $"{item.Key + 9}",
                    TotalPatients = item.GroupBy(x => x.Patient.Name).Count()
                });;
            }
            var patientDeath = Deaths.GroupBy(x => 10 * ((DateTime.Now.Year - x.Patient.BirthDate.Year) / 10));

            foreach (var item in patientDeath)
            {
                PatientDeath.Add(new StatisticsCore
                {
                    Age           = item.Key.ToString() + "-" + $"{item.Key + 9}",
                    TotalPatients = item.GroupBy(x => x.Patient.Name).Count()
                });
            }
        }
Пример #11
0
 public void Reset()
 {
     Symptoms.Clear();
     Diagnoses.Clear();
     Treatments.Clear();
     DialogList.Clear();
     Variables.ValuesDictionary.Clear();
 }
        public ActionResult DeleteConfirmed(int id)
        {
            Diagnoses diagnoses = db.Diagnoses.Find(id);

            db.Diagnoses.Remove(diagnoses);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #13
0
        private static int UpdateDatabase(string p_doctor, string p_patient, string p_disease, string p_number)
        {
            int       sent = 0;
            Diagnoses diagnose;
            Doctors   doctor;
            Patients  patient;
            Diseases  disease;
            int       number = int.Parse(p_number);

            using (MedicineContext db = new MedicineContext())
            {
                diagnose = db.Diagnoses.Where(d => d.Doctors.fullname == p_doctor && d.Diseases.name == p_disease &&
                                              d.Patients.fullname == p_patient && d.number == number).FirstOrDefault();
                if (diagnose == null)
                {
                    doctor = db.Doctors.Where(d => d.fullname == p_doctor).FirstOrDefault();
                    if (doctor == null)
                    {
                        doctor = new Doctors()
                        {
                            id       = Guid.NewGuid(),
                            fullname = p_doctor
                        };
                        sent += SaveToDatabase(doctor);
                    }
                    patient = db.Patients.Where(d => d.fullname == p_patient).FirstOrDefault();
                    if (patient == null)
                    {
                        patient = new Patients()
                        {
                            id       = Guid.NewGuid(),
                            fullname = p_patient
                        };
                        sent += SaveToDatabase(patient);
                    }
                    disease = db.Diseases.Where(d => d.name == p_disease).FirstOrDefault();
                    if (disease == null)
                    {
                        disease = new Diseases()
                        {
                            id   = Guid.NewGuid(),
                            name = p_disease
                        };
                        sent += SaveToDatabase(disease);
                    }
                    diagnose = new Diagnoses()
                    {
                        id      = Guid.NewGuid(),
                        number  = number,
                        patient = patient.id,
                        disease = disease.id,
                        doctor  = doctor.id
                    };
                    sent += SaveToDatabase(diagnose);
                }
            }
            return(sent);
        }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Diagnoses diagnoses = await db.Diagnoses.FindAsync(id);

            db.Diagnoses.Remove(diagnoses);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Id,Diagnosis,Details,TimeAdded,IsCured,UserId")] Diagnoses diagnoses)
 {
     if (ModelState.IsValid)
     {
         db.Entry(diagnoses).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(diagnoses));
 }
        public JsonResult Delete(int id)
        {
            Diagnoses diagnose = (from item in db.Diagnoses
                                  where item.Id == id
                                  select item).SingleOrDefault();

            db.Diagnoses.Remove(diagnose);
            db.SaveChanges();
            return(Json("Record deleted successfully!"));
        }
        public ActionResult AddDiagnosis([Bind(Include = "Id,Diagnosis,Details,TimeAdded,IsCured,UserId")] Diagnoses diagnoses)
        {
            if (ModelState.IsValid)
            {
                db.Diagnoses.Add(diagnoses);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(diagnoses));
        }
        public async Task <ActionResult> Edit([Bind(Include = "Id,Title")] Diagnoses diagnoses)
        {
            if (ModelState.IsValid)
            {
                db.Entry(diagnoses).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(diagnoses));
        }
        public async Task <ActionResult> Create([Bind(Include = "Id,Title")] Diagnoses diagnoses)
        {
            if (ModelState.IsValid)
            {
                db.Diagnoses.Add(diagnoses);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(diagnoses));
        }
        //private void visitDoesntExist()
        //{
        //    btnSubmit.Enabled = false;
        //    txtAppointment.Text = this.apptText;
        //    txtSys.Text = "";
        //    txtDia.Text = "";
        //    txtTemp.Text = "";
        //    txtPulse.Text = "";
        //    txtSymptoms.Text = "";
        //    cboDiagnoses.Text = "";
        //    btnSubmit.Enabled = false;
        //    txtSys.Enabled = false;
        //    txtDia.Enabled = false;
        //    txtTemp.Enabled = false;
        //    txtPulse.Enabled = false;
        //    txtSymptoms.Enabled = false;
        //    cboDiagnoses.Enabled = false;
        //    MessageBox.Show("The patient has not or did not visit on this day. \n" +
        //    "There is no information to be shown.", "Visit Not Found");
        //}

        // Displays the visit information.
        private void DisplayVisit()
        {
            txtAppointment.Text = this.apptText;
            txtSys.Text         = visit.SysBP;
            txtDia.Text         = visit.DiaBP;
            txtTemp.Text        = visit.BodyTemp;
            txtPulse.Text       = visit.Pulse;
            txtSymptoms.Text    = visit.Symptoms;
            Diagnoses my = (Diagnoses)cboDiagnoses.Items[visit.DiagnosesCode - 1];

            cboDiagnoses.Text = my.DiagnosesName;
        }
Пример #21
0
 public void AddDiagnosis(Diagnosis diagnosis)
 {
     if (diagnosis != null && diagnosis.TheDiagnosis != null && diagnosis.TheDiagnosis.Count != 0)
     {
         Diagnoses.Add(diagnosis);
         if (diagnosis.Probability == 0)
         {
             diagnosis.CalcAndSetProb();
         }
         SetProbability += diagnosis.Probability;
     }
 }
Пример #22
0
 public void Remove(Diagnoses item)
 {
     if (item != null)
     {
         control.Remove(item);
         control.SaveChanges();
     }
     else
     {
         throw new Exception("This item not found in DataBase");
     }
 }
Пример #23
0
        public Diagnoses Get(int id)
        {
            Diagnoses temp = control.GetAll().FirstOrDefault(x => x.Id == id);

            if (temp != null)
            {
                return(temp);
            }
            else
            {
                throw new Exception("Not Found Gender in DataBase");
            }
        }
        // GET: Diagnoses/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Diagnoses diagnoses = await db.Diagnoses.FindAsync(id);

            if (diagnoses == null)
            {
                return(HttpNotFound());
            }
            return(View(diagnoses));
        }
        // GET: DiagnosesTest/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Diagnoses diagnoses = db.Diagnoses.Find(id);

            if (diagnoses == null)
            {
                return(HttpNotFound());
            }
            return(View(diagnoses));
        }
        public ActionResult EditPacientInfo(string name)
        {
            string diagnosis = name;
            // Fetch the userprofile
            Diagnoses diagnose = db.Diagnoses.FirstOrDefault(u => u.Diagnosis.Equals(diagnosis));
            // Construct the viewmodel
            Diagnoses diagnoses = new Diagnoses()
            {
                Diagnosis = diagnose.Diagnosis,
                Details   = diagnose.Details,
                IsCured   = diagnose.IsCured
            };

            return(View(diagnose));
        }
Пример #27
0
        public Diagnoses Add(Diagnoses item)
        {
            Diagnoses temp = null;

            if (item != null)
            {
                temp = control.Add(item);
                control.SaveChanges();
                return(temp);
            }
            else
            {
                throw new Exception("This Gender alredy in base");
            }
        }
Пример #28
0
        public void OnGet()
        {
            Deaths    = diagnosisService.Deaths();
            Recovered = diagnosisService.Recovered();
            Diagnoses = diagnosisService.GetDiagnosesWithCorona();
            var Ddiagnoses = Diagnoses.GroupBy(x => x.DateOfTest);

            foreach (var item in Ddiagnoses)
            {
                ByDate.Add(new StatisticsCore
                {
                    DateTime      = item.Key,
                    TotalPatients = item.GroupBy(x => x.Patient.Name).Count()
                });
            }
        }
        public ActionResult EditPacientInfo([Bind(Include = "Id,Diagnosis,Details,TimeAdded,IsCured,UserId")] Diagnoses diagnoses)
        {
            if (ModelState.IsValid)
            {
                string    diagnosis = diagnoses.Diagnosis;
                Diagnoses diagnose  = db.Diagnoses.FirstOrDefault(u => u.Diagnosis.Equals(diagnosis));
                //
                diagnose.Diagnosis       = diagnoses.Diagnosis;
                diagnose.Details         = diagnoses.Details;
                diagnose.IsCured         = diagnoses.IsCured;
                db.Entry(diagnose).State = EntityState.Modified;
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            return(View(diagnoses));
        }
Пример #30
0
        public void Copy(FlowDataCache flowDataCache)
        {
            Symptoms.Clear();
            Symptoms.AddRange(flowDataCache.Symptoms);

            Diagnoses.Clear();
            Diagnoses.AddRange(flowDataCache.Diagnoses);

            Treatments.Clear();
            Treatments.AddRange(flowDataCache.Treatments);

            DialogList.Clear();
            DialogList.AddRange(flowDataCache.DialogList);

            Variables.ValuesDictionary.Clear();
            Variables.SetValues(flowDataCache.Variables.ValuesDictionary);
        }