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.

Thursday, May 24, 2007

Getting up to speed

The next couple of weeks will be on fire. The exams here at the Belgrade University begin on June 24th, so I'll be doing a lot of studying along with coding for OpenMRS. The good thing is - most of my University assignments will be implemented in Java/Eclipse, so I guess by the end of summer I'll become tEh eClIPsE MaSteReR!!11 ;)

But, let's cut to the chase - I have a full development environment set up, and right now I'm in the phase of reading developer tutorials and the OpenMRS source code. Still haven't written a single line, though. The environment seems pretty robust and easy to use (Eclipse is by far my favorite IDE), but perhaps memory will pose a problem. Only 512MB of RAM. Oh well, time will tell.

The RSS aggregation is a great idea, in my opinion. (I hate IMO, AFAIK, ROFLMAO, ROAJSJGNDIOESIPEOW and similar stupid acronyms). And it was about time I got my blog set up. Gotta keep up with the times, eh? (Well, not really. But it's still cool :) ).

I'm still not tagging these posts with "openmrs" because this is basically just my blurb to test the RSS interface and to let you know where I stand. A post like this doesn't belong in the OpenMRS feed, if you ask me. In a couple of days, I'll probably add my first legitimate OpenMRS progress report.

Go go go!

Introduction

So here we are, a brand new blog for myself, Vladimir Mitrovic. This is mainly to monitor my progress on working for OpenMRS, as part of this year's Google Summer of Code. Maybe from time to time I will post something not related to this project, and maybe I will feel like venting in my native tongue. So don't get confused. ;)

Let's get to codin'!