Esempio n. 1
0
        public void AddVitalParameters(long caseNr, VitalParameters vitalParameters)
        {
            try
            {
                connection.Open();

                string sql = "INSERT INTO vital_parameters (case_id, time, heart_frequence, breath_frequence, bloodpressure_min, bloodpressure_max, temperature, oxygen_saturation) VALUES (";

                sql += caseNr + ",";
                sql += "'" + vitalParameters.Time.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                sql += vitalParameters.HeartFrequence == null ? "NULL," : vitalParameters.HeartFrequence + ",";
                sql += vitalParameters.BreathFrequence == null ? "NULL," : vitalParameters.BreathFrequence + ",";
                sql += vitalParameters.BloodPressureMin == null ? "NULL," : vitalParameters.BloodPressureMin + ",";
                sql += vitalParameters.BloodPressureMax == null ? "NULL," : vitalParameters.BloodPressureMax + ",";
                sql += vitalParameters.Temperature == null ? "NULL," : vitalParameters.Temperature.ToString().Replace(",", ".") + ",";
                sql += vitalParameters.OxygenSaturation == null ? "NULL" : vitalParameters.OxygenSaturation + "";
                sql += ")";

                MySqlCommand command = new MySqlCommand(sql, connection);

                command.ExecuteNonQuery();
            } catch (MySqlException e)
            {
                if (e.Message.ToLower().Contains("unable to connect to any of the specified mysql hosts"))
                {
                    MessageBox.Show("Verbindung zum Anwendungsserver fehlgeschlagen!", "Verbindung fehlgeschlagen");
                }
            } finally
            {
                connection.Close();
            }
        }
Esempio n. 2
0
        private void BtnSaveParameters_Click(object sender, RoutedEventArgs e)
        {
            if (txtBloodPressureMin.Text.Trim().Length > 0 && txtBloodPressureMax.Text.Trim().Length == 0)
            {
                MessageBox.Show("Bitte geben Sie den systolischen Blutdruck an!", "Fehlende Werte");

                return;
            }
            else if (txtBloodPressureMax.Text.Trim().Length > 0 && txtBloodPressureMin.Text.Trim().Length == 0)
            {
                MessageBox.Show("Bitte geben Sie den diastolischen Blutdruck an!", "Fehlende Werte");

                return;
            }

            foreach (VitalParameters vitalParameters in SystemCase.PreviousVitalParameters)
            {
                if (vitalParameters.Time.ToString("ddMMyyyy HH:mm").Equals(DateTime.Now.ToString("ddMMyyyy HH:mm")))
                {
                    MessageBox.Show("Es exisitieren bereits Werte für diesen Zeitraum!", "Werte bereits vorhanden!");

                    return;
                }
            }

            VitalParameters newVitalParameters = new VitalParameters();

            if (this.txtHeartFrequence.Text.Trim().Length == 0)
            {
                newVitalParameters.HeartFrequence = null;
            }
            else
            {
                newVitalParameters.HeartFrequence = int.Parse(this.txtHeartFrequence.Text);
            }
            if (this.txtBreathFrequence.Text.Trim().Length == 0)
            {
                newVitalParameters.BreathFrequence = null;
            }
            else
            {
                newVitalParameters.BreathFrequence = int.Parse(this.txtBreathFrequence.Text);
            }
            if (this.txtBloodPressureMin.Text.Trim().Length == 0)
            {
                newVitalParameters.BloodPressureMin = null;
            }
            else
            {
                newVitalParameters.BloodPressureMin = int.Parse(this.txtBloodPressureMin.Text);
            }
            if (this.txtBloodPressureMax.Text.Trim().Length == 0)
            {
                newVitalParameters.BloodPressureMax = null;
            }
            else
            {
                newVitalParameters.BloodPressureMax = int.Parse(this.txtBloodPressureMax.Text);
            }
            if (this.txtTemperature.Text.Trim().Length == 0)
            {
                newVitalParameters.Temperature = null;
            }
            else
            {
                newVitalParameters.Temperature = double.Parse(this.txtTemperature.Text.Replace(".", ","));
            }
            if (this.txtOxygenSaturation.Text.Trim().Length == 0)
            {
                newVitalParameters.OxygenSaturation = null;
            }
            else
            {
                newVitalParameters.OxygenSaturation = int.Parse(this.txtOxygenSaturation.Text);
            }

            if (!this.NewCase)
            {
                App.DBConnection.AddVitalParameters(this.SystemCase.CaseNr, newVitalParameters);
            }

            this.SystemCase.PreviousVitalParameters.Add(newVitalParameters);

            this.cmbVitalParametersBox.Items.Clear();
            this.cmbVitalParametersBox.ItemsSource   = SystemCase.VitalParametersTimes;
            this.cmbVitalParametersBox.SelectedIndex = 0;
        }
Esempio n. 3
0
        private void DynamicDataLoader_DoWork(object sender, DoWorkEventArgs e)
        {
            List <Patient> patients = new List <Patient>();
            List <Case>    cases    = new List <Case>();

            MySqlCommand command = new MySqlCommand("SELECT * FROM patients", dataLoaderConnection);

            try
            {
                while (true)
                {
                    if (!App.Editing)
                    {
                        patients = new List <Patient>();
                        cases    = new List <Case>();

                        Dispatcher.BeginInvoke(DispatcherPriority.Background, new ParameterizedThreadStart(ClearData), new object());

                        command.CommandText = "SELECT * FROM patients";

                        using (MySqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                if ((int)reader["id"] == 1)
                                {
                                    continue;
                                }

                                Patient patient = new Patient()
                                {
                                    PatientNr              = (int)reader["id"],
                                    FirstName              = reader["firstname"].ToString(),
                                    LastName               = reader["lastname"].ToString(),
                                    Gender                 = reader["gender"].ToString(),
                                    Birthday               = DateTime.Parse(reader["birthday"].ToString()),
                                    PlaceOfBirth           = "" + reader["place_of_birth"],   // Nullable
                                    Nationality            = "" + reader["nationality"],      // Nullable
                                    HealthInsurance        = "" + reader["health_insurance"], // Nullable
                                    KVNR                   = reader["kvnr"].ToString(),
                                    Address                = reader["address"].ToString(),
                                    PostalCode             = reader["postalcode"].ToString(),
                                    City                   = reader["city"].ToString(),
                                    Phone                  = "" + reader["phone"],                   // Nullable
                                    Mobile                 = "" + reader["mobile"],                  // Nullable
                                    AdditionalInformations = "" + reader["additional_informations"], // Nullable
                                    FunctionRelatives      = "" + reader["function_relatives"],      // Nullable
                                    FirstNameRelatives     = "" + reader["firstname_relatives"],     // Nullable
                                    LastNameRelatives      = "" + reader["lastname_relatives"],      // Nullable
                                    AddressRelatives       = "" + reader["address_relatives"],       // Nullable
                                    PostalCodeRelatives    = "" + reader["postalcode_relatives"],    // Nullable
                                    CityRelatives          = "" + reader["city_relatives"],          // Nullable
                                    PhoneRelatives         = "" + reader["phone_relatives"],         // Nullable
                                    MobileRelatives        = "" + reader["mobile_relatives"]         // Nullable
                                };

                                //Dispatcher.BeginInvoke(DispatcherPriority.Background, new ParameterizedThreadStart(ClearData), new object());
                                patients.Add(patient);
                                Dispatcher.BeginInvoke(DispatcherPriority.Background, new ParameterizedThreadStart(AddPatient), patient);
                                //DynamicData.Patients.Add(patient);
                            }
                        }

                        command.CommandText = "SELECT * FROM cases";

                        using (MySqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                if ("Closed".Equals(reader["case_status"].ToString()))
                                {
                                    continue;
                                }

                                Patient patient = new Patient()
                                {
                                    PatientNr = 1, FirstName = "Unbekannter", LastName = "Patient"
                                };

                                foreach (Patient pat in patients)
                                {
                                    if (pat.PatientNr == (int)reader["patient_id"])
                                    {
                                        patient = pat;
                                    }
                                }

                                Case systemCase = new Case(patient)
                                {
                                    CaseNr            = (int)reader["id"],
                                    Priority          = reader["priority"].ToString(),
                                    Status            = reader["status"].ToString(),
                                    Location          = reader["location"].ToString(),
                                    Arrival           = DateTime.Parse(reader["arrival"].ToString()),
                                    Reevaluation      = DateTime.Parse(reader["reevaluation"].ToString()),
                                    Complaint         = reader["complaint"].ToString(),
                                    TypeOfArrival     = reader["type_of_arrival"].ToString(),
                                    PlaceOfIncident   = "" + reader["place_of_incident"],  // Nullable
                                    Trauma            = reader["trauma"].ToString(),
                                    OtherInformations = "" + reader["other_informations"], // Nullable
                                    Anamnesis         = "" + reader["anamnesis"],          // Nullable
                                    Services          = "" + reader["services"],           // Nullable
                                    ExternalServices  = "" + reader["external_services"],  // Nullable
                                    PhysicianLetter   = "" + reader["physician_letter"],   // Nullable
                                    Diagnosis         = "" + reader["diagnosis"],          // Nullable
                                    TypeOfRelease     = "" + reader["type_of_release"]     // Nullable
                                };

                                //if (reader["release"] == typeof(DBNull)) systemCase.Released = DateTime.Parse(reader["release"].ToString());
                                if (!reader.IsDBNull(19))
                                {
                                    systemCase.MedicalId = (int)reader["medical_id"];
                                }
                                if (!reader.IsDBNull(20))
                                {
                                    systemCase.NurseId = (int)reader["nurse_id"];
                                }

                                cases.Add(systemCase);
                                Dispatcher.BeginInvoke(DispatcherPriority.Background, new ParameterizedThreadStart(AddCase), systemCase);
                                //DynamicData.Cases.Add(systemCase);
                            }
                        }

                        command.CommandText = "SELECT id, firstname, lastname FROM users";

                        using (MySqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                foreach (Case sCase in cases)
                                {
                                    if (sCase.MedicalId == (int)reader["id"])
                                    {
                                        sCase.MedicalFullName = reader["firstname"].ToString() + " " + reader["lastname"].ToString();
                                    }

                                    if (sCase.NurseId == (int)reader["id"])
                                    {
                                        sCase.NurseFullName = reader["firstname"].ToString() + " " + reader["lastname"].ToString();
                                    }
                                }
                            }
                        }

                        command.CommandText = "SELECT * FROM vital_parameters";

                        using (MySqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                foreach (Case sCase in cases)
                                {
                                    if (sCase.CaseNr == (int)reader["case_id"])
                                    {
                                        VitalParameters vitalParameters = new VitalParameters()
                                        {
                                            Time = DateTime.Parse(reader["time"].ToString())
                                        };

                                        if (!reader.IsDBNull(2))
                                        {
                                            vitalParameters.HeartFrequence = (int)reader["heart_frequence"];
                                        }
                                        if (!reader.IsDBNull(3))
                                        {
                                            vitalParameters.BreathFrequence = (int)reader["breath_frequence"];
                                        }
                                        if (!reader.IsDBNull(4))
                                        {
                                            vitalParameters.BloodPressureMin = (int)reader["bloodpressure_min"];
                                        }
                                        if (!reader.IsDBNull(5))
                                        {
                                            vitalParameters.BloodPressureMax = (int)reader["bloodpressure_max"];
                                        }
                                        if (!reader.IsDBNull(6))
                                        {
                                            vitalParameters.Temperature = (double)reader["temperature"];
                                        }
                                        if (!reader.IsDBNull(7))
                                        {
                                            vitalParameters.OxygenSaturation = (int)reader["oxygen_saturation"];
                                        }

                                        sCase.PreviousVitalParameters.Add(vitalParameters);
                                    }
                                }
                            }
                        }

                        for (int i = 0; i < 39; i++)
                        {
                            if (!continueDynamicDataLoading)
                            {
                                dataLoaderConnection.Close();

                                return;
                            }

                            Thread.Sleep(500);
                        }
                    }
                    else
                    {
                        for (int i = 0; i < 39; i++)
                        {
                            if (!continueDynamicDataLoading)
                            {
                                dataLoaderConnection.Close();

                                return;
                            }

                            Thread.Sleep(500);
                        }
                    }
                }
            } catch (MySqlException ex)
            {
                if (ex.Message.ToLower().Contains("unable to connect to any of the specified mysql hosts"))
                {
                    MessageBox.Show("Verbindung zum Anwendungsserver fehlgeschlagen!", "Verbindung fehlgeschlagen");
                }

                dataLoaderConnection.Close();

                return;
            }
        }