In addition to my work with OpenEMR, I happen to be co-owner of a new web-based service that helps doctors streamline the tasks of making and tracking referrals. It’s called ReferCare, at www.refercare.org. It’s been in testing for quite a while and we’re just about to do some trial marketing and sales, initially in parts of Tennessee.
I mention this here because I have some clients who want to be able to initiate referrals conveniently from within OpenEMR. So I’ve come up with an addition to the “Popups” dropdown called “Refer”, which when selected will open a suitable window from the ReferCare site.
Does anyone object if I check this modification into CVS? I don’t want it to be seen as self-serving promotion. My thought was to put a variable in globals.php to make it an optional feature. My other choice would be to keep it out of OpenEMR CVS entirely, but to make the relevant files downloadable from the ReferCare site.
Please go ahead with it. It will save me a hell of a lot of work. Referrals were on my to-do list to think about, being one of the top complaints of my candidate sites. I agree it is better implemented as a "service", and, if we support ProxyMed, etc., why not? The fact that *you* are involved in it only ensures that the interfaces will work correctly!
To satisfy any grumbling from detractors, I suggest we simply make it a configurable option, meaning that if another developer wants to implement "referrals" differently, we publish an API and allow them to "plug-in" their own referrals interface.
I would suggest that you add a seperate directory for configuration files of this nature. There should be a systemic way of adding complex configurations required by different vendor interfaces. Yours would simply be the first one… This way you intentionally create a "vendor space" within the project that are never loaded into the default configuration unless someone chooses to explicitly. In the main openEMR code, you should have a sepereate menu that is generated from these interfaces, etc…
At least that is my first instictive response. Because really its not just that whether you should have the right to do this, obviously you should! but more than that you want to encourage others to do this… It might be a good way for a support company to integrate a ticketing system for instance…
(I will say that the possiblity of stealing third party code like this to encorporate into my project had only crossed my mind a little…)
Thanks Fred. We do have a separate "custom" directory for things that are likely to need customization at installation time. This currently includes billing code type definitions, an export module for a lab system, a template for patient statements, the new referral modules, and a couple of other things. I expect it will grow into something more structured as we put more in there.