« Return to Thread: Rule Parameters/Aliases

Rule Parameters/Aliases

by Yoni Mazar :: Rate this Message:

Reply to Author | View in Thread

Hi all,

We are at the begining of a new clinical decision-support project.
We plan using drools (using Eclipse) in order to manage and execute our business logic.
As part of our research, we also evaluated JRules which has a feature that is very important to us and we could not find in Drools.
Unless we missed it out, we will probably try and add this functionality ourselves.

In JRules, one can define a ruleset (corresponds to a package) with parameters. Each parameter has a datatype (a class), a direction (in/out/inout), and an alias.
Then, within the rules, the user can refer to the parameter alias. For example, a user can define a ruleset with the following parameters:

*class=LabResult, direction=in, alias=hemoglobin
*class=LabResult, direction=in, alias=creatinin

Then, within a rule, one can write:
when hemoglobin.value<10 and creatinin.value>34
then...

Now, the application retrieves the patient data accordingly (hemoglobin and
creatinine data separetly - even though they are of the same type) and sets the ruleset parameters:
ruleset.parameters.add("hemoglobin",hemoglobinFact)
ruleset.parameters.add("creatinin",creatininFact)

It is important that the definition of the aliases will be done outside of the rule (and not by defining in-rule variables)

This approach simplifies the rules since some of the filtering is being applied externally (not in the rule itself)

Does someone has an idea how to bridge this gap using Drools?
Are there any workarounds that can be used in order to avoid changes in code?

And here we can use your help:
We are new to Drools (and still have to dive into the big ocean of code that exists).
The following features

1) defining parameters (in the package level...something like import)
2) adding in/out modifiers (can be used in LHS, RHS, or both)
3) allowing assignment of aliases to parameters
4) adding such functionality to the rule editor (auto-complete ,type safety)

Where should we start?
Do you have any ideas that can help start this process (e.g. relevant classes, modules)?
We would appreciate any help regarding any of the items in the list above. Any hints, suggestions, directions, referals and so on.

Thanks a lot.

Yoni

 « Return to Thread: Rule Parameters/Aliases

LightInTheBox - Buy quality products at wholesale price!