public void TestBloodPressureHandler()
        {
            //connect database
            DBConnector dBc    = new DBConnector();
            string      result = dBc.connect();

            Assert.AreEqual("Done", result);
            BloodPressureHandler bphd = new BloodPressureHandler();

            BloodPressure bloodPressure = new BloodPressure();

            Assert.IsInstanceOfType(bloodPressure, typeof(object));
            DateTime currentDate = DateTime.Now;
            int      PatientId   = 1001;

            bloodPressure.BloodPressureValue = 120;
            bloodPressure.BloodPressureTime  = currentDate;
            bloodPressure.BloodPressureDate  = currentDate;
            int resp1 = bphd.addNewBloodPressure(dBc.getConn(), bloodPressure, PatientId);

            Assert.AreEqual(1, resp1);


            //int resp2 = bphd.getLastIdBloodPressure(dBc.getConn(), PatientId);
            //Assert.IsNotNull(resp2);


            //int lastId = 132;
            //double resp3 = bphd.getLastBloodPressure(dBc.getConn(), PatientId, lastId);
            //Assert.IsNotNull(resp3);
        }
コード例 #2
0
        private async void readBloodPressureData()
        {
            kayChart dataChart = new kayChart(bloodPressureLineGraph, 60);

            dataChart.serieName = "Blood Pressure";
            string path = "../../../Patient-Monitoring-System/data files/bloodPressureCSV.csv";

            string line;

            try
            {
                StreamReader sr = new StreamReader(path);
                line = sr.ReadLine();
                while (line != null)
                {
                    string[] columns = line.Split(',');
                    foreach (string column in columns)
                    {
                        if (run)
                        {
                            ReadingHandler readingHandler = new ReadingHandler();
                            double         value          = double.Parse(column);
                            //add each value to database *DONT Delete*
                            DateTime    currentDate = DateTime.Now;
                            DateTime    currentTime = DateTime.Now;
                            DBConnector dBConn      = new DBConnector();
                            dBConn.connect();
                            BloodPressure bloodPressureData = new BloodPressure();
                            bloodPressureData.BloodPressureValue = value;
                            bloodPressureData.BloodPressureDate  = currentDate;
                            bloodPressureData.BloodPressureTime  = currentTime;
                            BloodPressureHandler bloodPressureHandler = new BloodPressureHandler();
                            int result = bloodPressureHandler.addNewBloodPressure(dBConn.getConn(), bloodPressureData, BedsideLoginScreen.bedside_patient_id);

                            if (result != 1)
                            {
                                MessageBox.Show("Insert Data failed");
                            }


                            await Task.Delay(1500);

                            await Task.Factory.StartNew(() =>
                            {
                                dataChart.TriggeredUpdate(value);
                            });

                            if (value == 0)
                            {
                                if (smsTrigger == 1)
                                {
                                    if (!backgroundWorkerSendSMS.IsBusy)
                                    {
                                        backgroundWorkerSendSMS.RunWorkerAsync();
                                    }
                                }
                                bloodPressureLineGraph.Series["Blood Pressure"].Color = Color.Red;
                                bloodPressureCurrentValue.ForeColor = Color.Red;
                                BedsideHandler bedsideHandler = new BedsideHandler();
                                int            alarmResult    = bedsideHandler.updateAlarmZeroStatus(dBConn.getConn(), BedsideLoginScreen.bedsideIDPass, 1);


                                alarmZeroStatus = true;
                                AlarmHandler alarmHandler = new AlarmHandler();
                                int          specificId   = alarmHandler.getSpecificId(dBConn.getConn(), value, "bloodpressure");

                                if (specificId > 0)
                                {
                                    bool triggerStatus = alarmHandler.triggerAlarm(dBConn.getConn(), value, BedsideLoginScreen.bedside_patient_id, 0, specificId, "Blood Pressure");
                                    if (triggerStatus)
                                    {
                                        listbloodPressure.Add(bloodPressureData);
                                    }
                                }
                            }
                            else
                            if (value >= double.Parse(maxBloodPressureLabel.Text) || value <= double.Parse(minBloodPressureLabel.Text))
                            {
                                if (smsTrigger == 1)
                                {
                                    if (!backgroundWorkerSendSMS.IsBusy)
                                    {
                                        backgroundWorkerSendSMS.RunWorkerAsync();
                                    }
                                }
                                bloodPressureLineGraph.Series["Blood Pressure"].Color = Color.Yellow;
                                bloodPressureCurrentValue.ForeColor = Color.Yellow;
                                BedsideHandler bedsideHandler = new BedsideHandler();
                                int            alarmResult    = bedsideHandler.updateAlarmStatus(dBConn.getConn(), BedsideLoginScreen.bedsideIDPass, 1);


                                alarmReadingStatus = true;
                                int id = readingHandler.getIdAlarmTrigger(dBConn.getConn(), value);

                                if (id > 0)
                                {
                                    AlarmHandler alarmHandler  = new AlarmHandler();
                                    bool         triggerStatus = alarmHandler.triggerAlarm(dBConn.getConn(), value, BedsideLoginScreen.bedside_patient_id, id, 0, "Blood Pressure");

                                    if (triggerStatus)
                                    {
                                        listbloodPressure.Add(bloodPressureData);
                                    }
                                }
                            }
                            else
                            {
                                bloodPressureLineGraph.Series["Blood Pressure"].Color = Color.Green;
                                bloodPressureCurrentValue.ForeColor = Color.Green;
                            }

                            bloodPressureCurrentValue.Text = value.ToString() + "/80";
                        }
                        else
                        {
                            break;
                        }
                    }

                    line = sr.ReadLine();
                }
            }
            catch (FileNotFoundException e)
            {
                MessageBox.Show(e.ToString());
                Console.WriteLine(e.ToString());
            }
        }