Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Параметризованные Business Rules / 12 сообщений из 12, страница 1 из 1
15.01.2007, 14:12:51
    #34255736
albedo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризованные Business Rules
Не знаю куда задать этот вопрос. В разных темах знатоки могут присутствовать. Задам ещё в "Разработке информационных систем". Прошу извинить если не в тему.

Хочу использовать в разрабатываемой медицинской системе движок для Business Rules. Правил довольно много. Варианты: Jess, JBoss Rules, Oracle BPEL, ILOG JRules.
Но настораживает одна вещь. Можно ли делать параметризованные правила.
Правило 1
Выбрать пациентов с зафиксированным давлением более 120/80

Правило 2
Выбрать пациентов с зафиксированным давлением больше (среднее давление по отделению за сегодня ) + 3 сигма

Второй пример надуман, но тем не менее. Никто не сталкивался?
...
Рейтинг: 0 / 0
15.01.2007, 14:16:27
    #34255756
anonimouse
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризованные Business Rules
В смысле правила меняются динамически/вводятся пользователем/генерируются на основании..

Что именно??
...
Рейтинг: 0 / 0
15.01.2007, 16:38:59
    #34256379
albedo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризованные Business Rules
anonimouseВ смысле правила меняются динамически/вводятся пользователем/генерируются на основании..
Что именно??

а) существуют правила которые относительно статичны (Если возраст пациента больше 35 и меньше 60 то выписать талон на бесплатное полное обследование)
б) существуют правила которые вводятся пользователем (врач настраивает своё рабочее место таким образом, чтобы многие решения принимал сам АРМ врача)
в) правила меняются на основании текущего состояния системы. Факторов много:
1. история болезни объекта пациент
2. история приёма объекта врач
3. история приёма всех врачей ЛПУ (лечебно профилактических учреждений)
4. история приёма всех врачей всех ЛПУ (отслеживание эпидемий в автомате)

Мне нужно понять лишь возможно ли использовать стандартные Rules engine для настройки правил в виде функций от факторов (объектов системы), или это придётся программировать самостоятельно (с возможной потерей производительности)
...
Рейтинг: 0 / 0
15.01.2007, 18:30:19
    #34256832
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризованные Business Rules
albedo anonimouseВ смысле правила меняются динамически/вводятся пользователем/генерируются на основании..
Что именно??

а) существуют правила которые относительно статичны (Если возраст пациента больше 35 и меньше 60 то выписать талон на бесплатное полное обследование)
б) существуют правила которые вводятся пользователем (врач настраивает своё рабочее место таким образом, чтобы многие решения принимал сам АРМ врача)
в) правила меняются на основании текущего состояния системы. Факторов много:
1. история болезни объекта пациент
2. история приёма объекта врач
3. история приёма всех врачей ЛПУ (лечебно профилактических учреждений)
4. история приёма всех врачей всех ЛПУ (отслеживание эпидемий в автомате)

Мне нужно понять лишь возможно ли использовать стандартные Rules engine для настройки правил в виде функций от факторов (объектов системы), или это придётся программировать самостоятельно (с возможной потерей производительности)
Кто по вашему должен реализовывать ваши атомарные правила? (ex.: getFreeTicket(<params>)). Движки позволяют скомпоновать ваши (небольшие/большие/какие то) действия в общий процесс, чаще всего визуально. И самое главное - модифицировать этот процесс со временем. Все. Остальное мишура :)
...
Рейтинг: 0 / 0
16.01.2007, 09:52:06
    #34257613
albedo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризованные Business Rules
Timm
Кто по вашему должен реализовывать ваши атомарные правила? (ex.: getFreeTicket(<params>)). Движки позволяют скомпоновать ваши (небольшие/большие/какие то) действия в общий процесс, чаще всего визуально. И самое главное - модифицировать этот процесс со временем. Все. Остальное мишура :)

я согласен и на невизуальную настройку. Хотя для конечного пользователя системы (врача или программиста больницы) это могло бы быть плюсом.

Реализовывать атомарные правила буду я. Беда что они не статичны. Точнее они статичны по форме, но эта форма - функциональна. Каждый раз зависит от текущего контекста и содержимого базы:

Если температура выше среднего по отделению, то внести в список Группа А. Типа так:
When
person.getTemperature > person.GetDepartment().GetAvgTemperature()
Then
execute InitialContext.lookup("lists/AGroup").addPerson(person);

То что сейчас можно делать статические правила это хорошо.
when
p: Person(temperature > 38)
p: Person(age > 49)
then
p.addGroup();

Но можно ли задавать их в виде функций? Пока не нашёл.
...
Рейтинг: 0 / 0
16.01.2007, 11:48:11
    #34258099
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризованные Business Rules
albedo Timm
Кто по вашему должен реализовывать ваши атомарные правила? (ex.: getFreeTicket(<params>)). Движки позволяют скомпоновать ваши (небольшие/большие/какие то) действия в общий процесс, чаще всего визуально. И самое главное - модифицировать этот процесс со временем. Все. Остальное мишура :)

я согласен и на невизуальную настройку. Хотя для конечного пользователя системы (врача или программиста больницы) это могло бы быть плюсом.

Реализовывать атомарные правила буду я. Беда что они не статичны. Точнее они статичны по форме, но эта форма - функциональна. Каждый раз зависит от текущего контекста и содержимого базы:

Если температура выше среднего по отделению, то внести в список Группа А. Типа так:
When
person.getTemperature > person.GetDepartment().GetAvgTemperature()
Then
execute InitialContext.lookup("lists/AGroup").addPerson(person);


То что сейчас можно делать статические правила это хорошо.
when
p: Person(temperature > 38)
p: Person(age > 49)
then
p.addGroup();

Но можно ли задавать их в виде функций? Пока не нашёл.
Вот это правило и задавайте в виде процесса, если вам это надо. Какая проблема с контекстом? с базой? Не ясно.
Плюсы будут, но будут и минусы. Самый главным минусом будет, имхо, перфоманс, когда сложность логики будет возрастать.
...
Рейтинг: 0 / 0
16.01.2007, 12:53:24
    #34258401
anonimouse
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризованные Business Rules
Посмотрите в сторону паттерна QueryObject
...
Рейтинг: 0 / 0
16.01.2007, 13:00:05
    #34258449
albedo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризованные Business Rules
Timm
Вот это правило и задавайте в виде процесса, если вам это надо. Какая проблема с контекстом? с базой? Не ясно.
Плюсы будут, но будут и минусы. Самый главным минусом будет, имхо, перфоманс, когда сложность логики будет возрастать.

Проблема именно с тем, чтобы использовать в правилах динамические переменные. О минусе и хотелось бы прозондировать ситуацию. Но пока непонятно можно ли вообще динамические правила формировать. Но вряд ли в этом случае можно будет Rete алгоритм задействовать, и всё будет работать не шустро.
...
Рейтинг: 0 / 0
16.01.2007, 13:00:49
    #34258452
albedo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризованные Business Rules
anonimouseПосмотрите в сторону паттерна QueryObject
Спасибо! Попробую сегодня разобраться
...
Рейтинг: 0 / 0
16.01.2007, 13:22:50
    #34258564
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризованные Business Rules
albedo Timm
Вот это правило и задавайте в виде процесса, если вам это надо. Какая проблема с контекстом? с базой? Не ясно.
Плюсы будут, но будут и минусы. Самый главным минусом будет, имхо, перфоманс, когда сложность логики будет возрастать.

Проблема именно с тем, чтобы использовать в правилах динамические переменные. О минусе и хотелось бы прозондировать ситуацию. Но пока непонятно можно ли вообще динамические правила формировать. Но вряд ли в этом случае можно будет Rete алгоритм задействовать, и всё будет работать не шустро.
Почитайте, плиз, вот это . Потом спросите то же самое, но в тех терминах которые там используются.
...
Рейтинг: 0 / 0
16.01.2007, 13:47:10
    #34258679
albedo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризованные Business Rules
Timm
Почитайте, плиз, вот это . Потом спросите то же самое, но в тех терминах которые там используются.
Спасибо. Буду читать
...
Рейтинг: 0 / 0
16.01.2007, 13:50:36
    #34258694
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризованные Business Rules
А, я не увидел вначале JBoss Rules. Да и не знал что такое есть.
Тогда надо еще внимательно прочитать Why use a Rule Engine + WorkingMemory + Function .
Вроде все понятно расписано, без воды.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Параметризованные Business Rules / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]