Tuesday, August 21, 2007

Logic Service - the first landmark!

Hey everyone. Summer of Code 2007 is now finished, and we have gone quite a long way since we started laying the foundations for the Logic Service.

So, how far have we actually gone? In terms of architecture, things are pretty much wrapped up. The foundations seem solid enough, as they endured different types of requests that we have encountered so far. In terms of what's implemented, there are 5 functional Rules, 2 datasources, 2 levels of request caching and a bunch of other stuff. We have a clear path of what's ahead of us, and will be striving towards making the Logic Service a key service in OpenMRS. As the Logic Service isn't in its infant stages anymore, testing and feature requests are a must. Burke and I will continue to improve the Logic Service with the help of you, the interested developer.

If you already haven't, check out the Rule HOWTO to see what's it all about. It will help you form a clearer picture of just what you can do with the Logic Service, even in this early development stages. (Yes, it's still "early", but not "infant".) And if you don't like something you see, let us know!

Now, what do we plan to do next? Burke suggested that we introduce something called "LogicRequest". This request object will serve as a single container for all the stuff that gets thrown between different layers - the cohort of patients, the LogicCriteria object, the index date relative to this request and the cached data for this request. The idea is very good, as it will create a sort of a "context" for a given query, and also allow us to support per-request caching. More on this when it's up and running.

So, as you probably guessed from this post, I'm staying a part of the community, and I'm proud of it - this has been an amazing summer! I'm sure it will continue in the same fashion. ;-)

1 comment:

Anonymous said...

來幫推 你個blog影d相真係好靚,係我至愛~.................................................................