I am a very experienced LAMP developer but this is literally the 1st day I every heard of OpenEMR. I was intrigued by it when I read a write up in http://bit.ly/eG3Z4e. I am primarily interested in using it as a ‘data service provider’ with a totally reworked/re-engineered front end that would of course be available under GPL.
Unfortunately, a quick look at the code seems that there is no MVC like architecture that separates the control/data/view functions. Am I mistaken? Is there the equivalent of an API (in v4.0 or v3.2)? As it seems now, I would have to rewrite the entire application in order to meet my requirement.
Please forgive me if my question/comment is out of line or otherwise inappropriate.
I would not suggest re-writing it. Instead, join the effort to improve it. I think an MVC framework, either custom or using some existing framework would be a good addition to OpenEMR. It would make it easier to write unit tests and make it possible to have a theming engine that is only loosely coupled with the data storage, with custom forms sitting somewhere in the middle.
IIRC, there are a few locations where MVC was attempted _ but it never spead throughout the majority of the code base nor was made into any type of policy.
I don’t have as much time as I’d like, but I would be quite interested in any patches introducing an MVC structure into OpenEMR. I can review, test, and commit them. Be forewarned though; in some circles I’m known as a though reviewer to satisfy._