Monday, May 28, 2007

Initial thoughts and ideas

So, the Logic Service Project's wiki page has been set up.

As you can see (you looked at that wiki page, right?), what we're going to create here is a very flexible logic engine. It will be easy to use (and that's a MUST!) and yet prove to have some brains of it's own. It will achieve this by abstracting a couple of very important concepts.

In terms of interaction with the end user (medical staff), the only visible part of the logic engine will be the Rule Builder (working title ;) ) and the results retrieved by using the created rules. Now, this sounds pretty straightforward, but actually the interesting part is that the user will be able to apply the created rule to a number of different data sources. Hopefully he/she won't even know where the results came from, as OpenMRS will expose very few (if any) internal concepts to the user. The fewer concepts exposed, the better, and that will be a challenge.

What stood out to me as the coolest concept we'll introduce (among those listed on the wiki) is decision support. Basically it will add the "brains" to the engine - it will do the thinking for you. For example, if a patient is HIV positive and hasn't had a CD4 count in 6 months, then OpenMRS will report to our medical staff user that a CD4 count is advised. No need to browse through results and try to figure it out on your own. Perhaps these "decision rules" can even be run automatically as a background task every once in a while, so that when our medical person, say, turns on her laptop in the morning, she will have a list of recommended actions for all the users that need some kind of attention.

That's my (very basic, still) view of the situation, people. This will definitely be a fun summer!

Oh and by the way, <cheesy>I really must praise the code style used throughout the logic service skeleton, created by Burke Mamlin (my mentor).</cheesy> No really. I've seen good code, and I've seen some awful-eye-distorting-don't-look-at-it-too-much code, and this one's got my thumbs up.

No comments: