[rules-users] Package parameters

Yoni Mazar y.mazar at gmail.com
Thu Jun 26 10:29:14 EDT 2008


Hi all,
We are at the begining of a new clinical decision-support project. We are
considering using a BRMS to manage and execute our business logic. As part
of our research, we evaluated JRules and Drools. JRules has a nice feature
that we could not find in Drools. We'd like to know if we are
misunderstanding something, or maybe this feature is missing.

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 accordingle (hemoglobin and
creatinine data separetly) and sets the ruleset parameters:
ruleset.parameters.add("hemoglobin",hemoglobinFact)
ruleset.parameters.add("creatinin",creatininFact)

This approach simplifies the rule authoring process significantly!

Writing this logic in Drools will be:
package cdss
import LabResult;

rule
when 
LabResult(type=hemoglobin && value <10)
LabResult(type=creatinin&& value <34)
then...

workingMemory.Assert(hemoglobinFact);
workingMemory.Assert(creatininFact);

Does someone has an idea how to bridge this gap using Drools?
Im not sure if using parameters JRule complies with JSR94 specification.

Thanks,
Yoni
-- 
View this message in context: http://www.nabble.com/Package-parameters-tp17979190p17979190.html
Sent from the drools - user mailing list archive at Nabble.com.




More information about the rules-users mailing list