уведомление, есть ли у пациента температура или нет

#java #medical

#java #Медицина

Вопрос:

Как бы вы спроектировали объект для отправки предупреждения, если у пациента температура, учитывая показания температуры каждые несколько минут? Предположим, что у вас есть класс температуры, который будет измерять класс. вот температура класса:

 public class Temperature {
    private float temperature;
    private Location location;

    public Temperature(int temperature, Location location) {
        this.temperature = temperature;
        this.location = location;
    }

    public Temperature(Location location) {
        this.temperature = 0;
        this.location = location;
    }

    public float getTemperature() {
        return temperature;
    }

    public void setTemperature(int temperature) {
        this.temperature = temperature;
    }

    public Location getLocation() {
        return location;
    }

    public void setLocation(Location location) {
        this.location = location;
    }

    public double getTemperatureInFahrenheit() {
        return ( temperature * (9/5.0)   32 );
    }
}
 

Комментарии:

1. Не могли бы вы объяснить, пожалуйста? Что вы подразумеваете под отправкой предупреждения?

2. @NirupIyer с помощью оповещения означает, что он просто отобразит сообщение о том, что температура пациента повышается. точно так же, как уведомляющий класс.

Ответ №1:

Если вам просто нужно распечатать, что температура превысила пороговое значение, добавьте это в свой установщик

 public void setTemperature(int temperature) {
    this.temperature = temperature;
    if (temperature > YOUR_THRESHOLD) { System.out.println("BURNING MAN!"); }
}
 

Кроме того, вызовите этот установщик из вашего конструктора вместо повторения кода.

Комментарии:

1. Я ценю ваш ответ. но мне нужно что-то, что даст нам результат из каждой минутной записи температуры

2. Нигде в вашем коде не показано, как вы записываете температуру или ее частоту. Но как бы вы это ни делали, вы, вероятно, вызовете метод setTemperature() для обновления температуры, поэтому добавление условия имеет смысл. Если вы уже реализовали часть записи температуры, загрузите этот код, и мы сможем найти другое решение,

Ответ №2:

Я бы применил шаблон наблюдателя, взгляните на вики:

https://en.wikipedia.org/wiki/Observer_pattern

Вы будете использовать этот шаблон, когда захотите получать уведомления или доставлять их.

Как упоминал @Nirup Iyer, вы должны отправлять событие при активации оповещения. Вы можете принять список предупреждений и проверить их на установке.

Ответ №3:

Я хотел бы создать выделенный поток, который функционирует как ваш монитор температуры, и сохранить суждение о том, является ли температура лихорадкой или нет, на один шаг удалено (и под более локальным контролем) от класса, задачей которого является поддержание температуры.

Предположим, у нас был JPanel вызванный FeverMonitor. Существует несколько способов создания кода, который повторяется с заданными интервалами времени, но хорошим классом для этого является util.Timer .

Вы должны создать a TimerTask , который проверяет температуру и сравнивает значение со значением температуры. При связывании TimerTask с the Timer у вас есть возможность установить, сколько времени должно проходить между каждым выполнением задачи, а также следует ли постоянно повторять задачу или нет.

Задача может быть настроена на изменение значения или свойства JLabel on FeverMonitor. Я думаю, например, каждые 30 секунд публикуется текущая температура пациента, и если значение имеет лихорадку, либо цвет фона, либо цвет шрифта становятся красными.

Но a TimerTask также может быть настроено на выполнение чего-то вроде запуска электронной почты или любой из ряда задач, которые составляют ваше «уведомление».

Наконец, FeverMonitor можно даже предоставить возможность определять, что представляет собой лихорадку (100? 102? 104?). TimerTask может либо ссылаться на переменную экземпляра, либо может быть сгенерирована новая TimerTask, которая может заменить предыдущую TimerTask.