[rules-users] Data Modeling for medical expert system
Bruno Freudensprung
bruno.freudensprung at temis.com
Tue Nov 8 12:46:45 EST 2011
Hi Dirk,
Good to see that I am not the only one fighting with that question :-).
I guess the general answer is: it depends on how large your "enums"
might grow.
For instance if your application is eventually supposed to help
diagnosing (say) all MeSH diseases based on all MeSH symptoms, then an
approach where every symptom and disease is a Java class is not an
option; this would lead to so many classes that I doubt Drools user
interface will handle that, or will be useful anyway (drop-down lists
with thousands of items).
The opposite approach consists in creating a few "root" Java classes
like (say) Disease and Symptom and to store the MeSH hierarchy into a
"name" attribute.
The obvious drawback of the approach is that when your end-users will
have to write the rules, they will be left with problems like:
when
Symptom(name == "well... what's the name of this MeSH category??")
then
Disease(name == "hmmm... can't remember the exact name of the
disease as normalized in MeSH...")
end
I've posted a message on this topic (subject: Thoughts about rule
authoring) and Michael Anstis kindly suggested a technical answer. I am
afraid it did not fit my needs, but it could fit yours :-).
For the moment I have no solution (like an intermediate approach) to my
problem: I am stuck with approach #2.
I have the impression that my problem requires a very tight integration
between my database (MeSH) and the Drools suggestion engine.
If you have another approach, I would love to know it ;-).
Best regards,
Bruno.
Le 08/11/2011 17:43, Dirk Conzelmann a écrit :
> Hi everybody,
>
> I am using Drools as a part of my Bachelor Thesis.
> My job is to build an expert system for medical diagnoses.
>
> My Question:
> Is there a best practice known in modeling a variable
> list of questions and answers in Drools?
>
>
> Up to now I modeled the list of questions implementing
> Java Classes and Enums for each question/answer pair.
>
> But to be able to change those options easyly I need
> a higher abstraction level than simple Java Classes and Enums.
>
>
> Could someone show me an example how to implement this?
>
>
> I hope I have explained my question understandable :)
>
>
More information about the rules-users
mailing list