コード例 #1
0
        //Start or Halt button for module readings monitor
        public void button2_Click(object sender, EventArgs e)
        {
            if (button2.Text == "Halt")
            {
                DialogResult result = MessageBox.Show("Are you sure to terminate the module readings ?", "Alert !", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);

                if (result == DialogResult.Yes)
                {
                    haltMonitor();

                    if (label1.Text != "No Record Found")
                    {
                        MessageBox.Show("Closed running process");

                        DbConnector dbConn = new DbConnector();
                        dbConn.connect();

                        PatientReadings        pRead    = new PatientReadings();
                        PatientReadingsHandler pReadHnd = new PatientReadingsHandler();

                        pRead.PatientId     = Int32.Parse((label1.Text).ToString());
                        pRead.PulseRate     = 999;
                        pRead.BreathingRate = 999;
                        pRead.Systolic      = 999;
                        pRead.Diastolic     = 999;
                        pRead.Temperature   = 999;
                        pRead.DateTime      = DateTime.Now.ToString();

                        pReadHnd.addPatientReading(dbConn.getConn(), pRead);
                    }
                }
            }
            else if (button2.Text == "Start")
            {
                startMonitor();
            }
        }
コード例 #2
0
        //Stop beep sound and monitor while closing
        public void Bedside_System_FormClosed(object sender, FormClosedEventArgs e)
        {
            run_Monitor.Stop();
            player.Stop();

            if (button2.Text == "Halt" && label1.Text != "No Record Found")
            {
                DbConnector dbConn = new DbConnector();
                dbConn.connect();

                PatientReadings        pRead    = new PatientReadings();
                PatientReadingsHandler pReadHnd = new PatientReadingsHandler();

                pRead.PatientId     = Int32.Parse((label1.Text).ToString());
                pRead.PulseRate     = 999;
                pRead.BreathingRate = 999;
                pRead.Systolic      = 999;
                pRead.Diastolic     = 999;
                pRead.Temperature   = 999;
                pRead.DateTime      = DateTime.Now.ToString();

                pReadHnd.addPatientReading(dbConn.getConn(), pRead);
            }
        }
コード例 #3
0
        public void runMonitor(object sender, EventArgs e)
        {
            var pulseRate     = checkBox1.Checked;
            var breathingRate = checkBox2.Checked;
            var bloodPressure = checkBox3.Checked;
            var temperature   = checkBox4.Checked;

            var criticalColor = Color.FromArgb(255, 8, 8);
            var inRiskColor   = Color.FromArgb(255, 214, 8);
            var normalColor   = Color.FromArgb(8, 255, 86);

            line = sr.ReadLine();

            if (line == null)
            {
                sr   = new StreamReader("CSV/ModuleReadingsA.csv");
                line = sr.ReadLine();
            }

            DbConnector dbConn = new DbConnector();

            dbConn.connect();

            Patient        ptient = new Patient();
            PatientHandler patHnd = new PatientHandler();

            ptient.Wing  = (comboBox1.SelectedItem).ToString();
            ptient.Floor = (comboBox2.SelectedItem).ToString();
            ptient.Bay   = (comboBox3.SelectedItem).ToString();
            ptient.Bed   = (comboBox4.SelectedItem).ToString();

            string getPatientId = patHnd.getPatientDetails(dbConn.getConn(), ptient, "patientId");

            int   minPulse     = 60;
            int   maxPulse     = 100;
            int   minBreath    = 12;
            int   maxBreath    = 20;
            int   minSystolic  = 80;
            int   maxSystolic  = 120;
            int   minDiastolic = 60;
            int   maxDiastolic = 80;
            float minTemp      = 35.2F;
            float maxTemp      = 36.1F;

            int pulseIntervalTime         = 1;
            int breathIntervalTime        = 1;
            int bloodPressureIntervalTime = 1;
            int temperatureIntervalTime   = 1;

            if (getPatientId != "No record found")
            {
                ModuleReadingsHandler mRHand = new ModuleReadingsHandler();
                minPulse          = Int32.Parse(mRHand.getModuleReading(dbConn.getConn(), "pulseRMin", getPatientId));
                maxPulse          = Int32.Parse(mRHand.getModuleReading(dbConn.getConn(), "pulseRMax", getPatientId));
                pulseIntervalTime = Int32.Parse(mRHand.getModuleReading(dbConn.getConn(), "pulseRIntTime", getPatientId));

                minBreath          = Int32.Parse(mRHand.getModuleReading(dbConn.getConn(), "breathRMin", getPatientId));
                maxBreath          = Int32.Parse(mRHand.getModuleReading(dbConn.getConn(), "breathRMax", getPatientId));
                breathIntervalTime = Int32.Parse(mRHand.getModuleReading(dbConn.getConn(), "breathRIntTime", getPatientId));

                minSystolic  = Int32.Parse(mRHand.getModuleReading(dbConn.getConn(), "systolicMin", getPatientId));
                maxSystolic  = Int32.Parse(mRHand.getModuleReading(dbConn.getConn(), "systolicMax", getPatientId));
                minDiastolic = Int32.Parse(mRHand.getModuleReading(dbConn.getConn(), "diastolicMin", getPatientId));
                maxDiastolic = Int32.Parse(mRHand.getModuleReading(dbConn.getConn(), "diastolicMax", getPatientId));
                bloodPressureIntervalTime = Int32.Parse(mRHand.getModuleReading(dbConn.getConn(), "bloodPIntTime", getPatientId));

                minTemp = float.Parse(mRHand.getModuleReading(dbConn.getConn(), "tempMin", getPatientId));
                maxTemp = float.Parse(mRHand.getModuleReading(dbConn.getConn(), "tempMax", getPatientId));
                temperatureIntervalTime = Int32.Parse(mRHand.getModuleReading(dbConn.getConn(), "tempIntTime", getPatientId));
            }

            PatientReadings        pRead    = new PatientReadings();
            PatientReadingsHandler pReadHnd = new PatientReadingsHandler();

            try
            {
                string[] data = line.Split(',');

                readingsList.Add(Int32.Parse(data[0]));

                //Pulse Rate Readings
                if (counter == pulseRateCounter && pulseRate != false)
                {
                    label10.Text = data[0];
                    label14.Text = (maxPulse).ToString();
                    label15.Text = (minPulse).ToString();

                    if (Int32.Parse(data[0]) == 0)
                    {
                        labelBorder(10, "Critical");
                        label14.ForeColor = criticalColor;
                        label15.ForeColor = criticalColor;
                    }
                    else if (Int32.Parse(data[0]) > maxPulse || Int32.Parse(data[0]) < minPulse)
                    {
                        labelBorder(10, "Risky");

                        if (Int32.Parse(data[0]) > maxPulse)
                        {
                            label14.ForeColor = inRiskColor;
                            label15.ForeColor = normalColor;
                        }
                        else
                        {
                            label14.ForeColor = normalColor;
                            label15.ForeColor = inRiskColor;
                        }
                    }
                    else if (Int32.Parse(data[0]) >= minPulse && Int32.Parse(data[0]) <= maxPulse)
                    {
                        labelBorder(10, "Normal");
                        label14.ForeColor = normalColor;
                        label15.ForeColor = normalColor;
                    }

                    pulseRateCounter = pulseRateCounter + pulseIntervalTime;
                }

                //Breathing Rate Readings
                if (counter == breathingRateCounter && breathingRate != false)
                {
                    label11.Text = data[1];
                    label16.Text = (maxBreath).ToString();
                    label17.Text = (minBreath).ToString();

                    if (Int32.Parse(data[1]) == 0)
                    {
                        labelBorder(11, "Critical");
                        label16.ForeColor = criticalColor;
                        label17.ForeColor = criticalColor;
                    }
                    else if ((Int32.Parse(data[1]) > maxBreath || Int32.Parse(data[1]) < minBreath))
                    {
                        labelBorder(11, "Risky");

                        if (Int32.Parse(data[1]) > maxBreath)
                        {
                            label16.ForeColor = inRiskColor;
                            label17.ForeColor = normalColor;
                        }
                        else
                        {
                            label16.ForeColor = normalColor;
                            label17.ForeColor = inRiskColor;
                        }
                    }
                    else if (Int32.Parse(data[1]) >= minBreath && Int32.Parse(data[1]) <= maxBreath)
                    {
                        labelBorder(11, "Normal");
                        label16.ForeColor = normalColor;
                        label17.ForeColor = normalColor;
                    }

                    breathingRateCounter = breathingRateCounter + breathIntervalTime;
                }

                //Blood Pressure  Readings
                if (counter == bloodPressureCounter && bloodPressure != false)
                {
                    label12.Text = data[2] + "/" + data[3];
                    label18.Text = (maxSystolic).ToString();
                    label19.Text = (minSystolic).ToString();
                    label20.Text = (maxDiastolic).ToString();
                    label21.Text = (minDiastolic).ToString();

                    if (Int32.Parse(data[2]) == 0 || (Int32.Parse(data[3]) == 0))
                    {
                        labelBorder(12, "Critical");
                        label18.ForeColor = criticalColor;
                        label19.ForeColor = criticalColor;
                        label20.ForeColor = criticalColor;
                        label21.ForeColor = criticalColor;
                    }
                    else if ((Int32.Parse(data[2]) > maxSystolic || Int32.Parse(data[2]) < minSystolic) || (Int32.Parse(data[3]) > maxDiastolic || Int32.Parse(data[3]) < minDiastolic))
                    {
                        labelBorder(12, "Risky");

                        if (Int32.Parse(data[2]) > maxSystolic)
                        {
                            label18.ForeColor = inRiskColor;
                            label19.ForeColor = normalColor;
                        }
                        else if (Int32.Parse(data[2]) < minSystolic)
                        {
                            label18.ForeColor = normalColor;
                            label19.ForeColor = inRiskColor;
                        }

                        if (Int32.Parse(data[3]) > maxDiastolic)
                        {
                            label20.ForeColor = inRiskColor;
                            label21.ForeColor = normalColor;
                        }
                        else if (Int32.Parse(data[3]) < minDiastolic)
                        {
                            label20.ForeColor = normalColor;
                            label21.ForeColor = inRiskColor;
                        }
                    }
                    else if (Int32.Parse(data[2]) >= minSystolic && Int32.Parse(data[2]) <= maxSystolic && Int32.Parse(data[3]) >= minSystolic && Int32.Parse(data[3]) <= maxSystolic)
                    {
                        labelBorder(12, "Normal");
                        label18.ForeColor = normalColor;
                        label19.ForeColor = normalColor;
                        label20.ForeColor = normalColor;
                        label21.ForeColor = normalColor;
                    }

                    bloodPressureCounter = bloodPressureCounter + bloodPressureIntervalTime;
                }

                //Temperature Readings
                if (counter == temperatureCounter && temperature != false)
                {
                    label13.Text = data[4] + "°C";
                    label22.Text = (maxTemp).ToString();
                    label23.Text = (minTemp).ToString();

                    if (float.Parse(data[4]) == 0)
                    {
                        labelBorder(13, "Critical");
                        label22.ForeColor = criticalColor;
                        label23.ForeColor = criticalColor;
                    }
                    else if (float.Parse(data[4]) > maxTemp || float.Parse(data[4]) < minTemp)
                    {
                        labelBorder(13, "Risky");

                        if (float.Parse(data[4]) > maxTemp)
                        {
                            label22.ForeColor = inRiskColor;
                            label23.ForeColor = normalColor;
                        }
                        else
                        {
                            label22.ForeColor = normalColor;
                            label23.ForeColor = inRiskColor;
                        }
                    }
                    else if (float.Parse(data[4]) >= minTemp && float.Parse(data[4]) <= maxTemp)
                    {
                        labelBorder(13, "Normal");
                        label22.ForeColor = normalColor;
                        label23.ForeColor = normalColor;
                    }

                    temperatureCounter = temperatureCounter + temperatureIntervalTime;
                }

                if (getPatientId != "No record found")
                {
                    pRead.PatientId     = Int32.Parse(getPatientId);
                    pRead.PulseRate     = Int32.Parse(data[0]);
                    pRead.BreathingRate = Int32.Parse(data[1]);
                    pRead.Systolic      = Int32.Parse(data[2]);
                    pRead.Diastolic     = Int32.Parse(data[3]);
                    pRead.Temperature   = float.Parse(data[4]);
                    pRead.DateTime      = DateTime.Now.ToString();

                    pReadHnd.addPatientReading(dbConn.getConn(), pRead);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("DID NOT RECEIVE ANY DETECTION OF THE READING : " + ex);
                run_Monitor.Stop();
            }

            if (counter == 5)
            {
                counter              = 0;
                pulseRateCounter     = 0;
                bloodPressureCounter = 0;
                breathingRateCounter = 0;
                temperatureCounter   = 0;
            }
            else
            {
                counter++;
            }

            realCounter++;
        }