Contributing to OpenEMR

ballards wrote on Sunday, October 16, 2005:

Dr. Bowen, Rod, and the other developers,

As a consultant, I have recently installed OpenEMR at two doctor’s offices. I think it is a great program, but there are several issues pertaining to the user interface and functionality (such as deleting / correcting data entered in error) that needs to be addressed. I can certainly make changes on my own, but I would like to contribute any changes or enhancements I make back to the community, and ensure that I am not duplicating / conflicting with functionality already provided by / being worked on by others. I have nearly thirty years of experience in computing, across a wide variety of platforms and languages, and I have worked at most every computing job, from data entry operator to IT Director. I have about three years of in-depth experience with LAMP technologies. What is the best way for me to be able to contribute to the development / maintenance / documentation effort for OpenEMR?

sunsetsystems wrote on Sunday, October 16, 2005:

We’d love to have your contributions, thanks for checking in here!

What you can do is send your first couple of contributions to me or any of the other current developers, and we’ll review them and check them in for you.  If all goes well then we’ll set you up with commit access to the repository.

Also it’s a good idea to mention here in advance what you’re working on, just in case anyone else wants to comment or is working in the same area.

– Rod (http://www.sunsetsystems.com/)

nahoj1976 wrote on Sunday, October 16, 2005:

Not to be impatient but…
I still wait for respons on the way to add language support. I think it is useless to work any more on it until I get some kind of respons and get access to the contribution area.

best regards,

/Johan

ballards wrote on Monday, October 17, 2005:

Rod,

Do you have any guidelines referencing coding standards for new contributions, or for modifications to existing code? For example, I notice that OpenEMR appears to use html frames extensively - any plans to move to W3C html standards, including XFrames? Is the usage of the Smarty engine being encouraged or deprecated? And so on …

sunsetsystems wrote on Monday, October 17, 2005:

Can someone help Johan with testing his language support enhancements?  Unfortunately I’ve been tied up with other projects.

– Rod (http://www.sunsetsystems.com/)

sunsetsystems wrote on Monday, October 17, 2005:

Xframes… that’s still a working draft, no?  I would encourage using plain old HTML 4.01 as the basic standard for OpenEMR.  And probably not XHTML – see http://www.hixie.ch/advocacy/xhtml for thoughts on that.  However I’m not all-knowing and am open to suggestions.

Yes we’ve been phasing out Smarty, at least its current implementation in OpenEMR which has not been a good experience.  I would be reluctant to use it for anything new without a very compelling reason.  In general we want to avoid needless dependencies.

– Rod (http://www.sunsetsystems.com/)

drbowen wrote on Monday, October 17, 2005:

Dear Ballards,

These are notes that occurred at a telephone conference for organizational purposes on 4-15-2005,  I think this will help answer some of your questions about current development direction:

_______________________________________________________

Notes for Conference Call
04.15.05 at 6:15 p.m. EST

Main points addressed include:
Mission, Database design and standards, Directory tree layout, GACL, Calendar, Smarty, Patching, upgrading process, Documentation

Participants:
Andres Paglayan, Rod Roark, Chad Tipton, Tekkno Genius, Emily Killian, Sam Bowen

Guiding principles:
1.It will remain 100% free software under the GNU GPL
2.We will maintain a spirit of openness, kindness and cooperation
3.We will give back to the free software community
4.We will document our changes and improvements
5.We will not hide problems
6.We will not discriminate  against persons or groups, subject to our focus on the field of medicine and we encourage the use of OpenEMR in other languages.
7.We will avoid needless complexity, to include software design, installation, maintenance and usability.
8.We will not use third-party tools without a compelling reason.
9.We want to encourage contributions from the community and will grant access to make changes in the source code based on demonstrated dependability.
10.With any change that affects the database, the contributor needs to write both a script to alter database and instructions on other things people will have to do in the form of a text file

General policy:
1.Contributors must make 1-2 meaningful contributions before they are granted full access to change code. Before that point, they should e-mail patches and code to one of the key developers for review.
2.Contributors will keep the copyright for their own contributions; however, it is recommended that they assign enforcement powers to the community.
3.The GNU GPL should be used for all licensing for consistency’s sake.
4.New additions should avoid using Smarty templating.
5.We will make the project more doctor-friendly via forms with lists and clicking, versus typing-intensive forms.
6.There will be a separate forms folder so that the main forms directory is not overpopulated with similar forms. There will be three classes of forms (those necessary for the system to work, forms that are popular and stable and other forms)
7.We will consider using Java script for selected items to spruce up usability
8.Everything should work in Firefox and we should strive to get everything to work with Internet Explorer because of that browser’s popularity.

Calendar:
1.The calendar needs to write into the database, instead of a hard drive (The same goes for scanning of documents.).

Logos:
1.We will use a new OpenEMR logo

New release:
1.Next release is due now
2.Developers should concentrate on fixing bugs until then.
3.We will include the mission as part of new releases.

Documentation:
1.Documentation will be funneled through Dr. Bowen (drbowen at charter dot net).
2.A goal is to have HTML references in OpenEMR point to corresponding points in the manual.
3.There will be a common repository for all help files.

Web site:
1.The repository will be on both Sourceforge and the project’s home page.
2.We will keep CVS at Sourceforge for now.
3.We will make oemr.org the registered domain name for the home page.
4.Dr. Bowen offered administrative access to the server and to the Postnuke Web page to Andres Paglayan, Rod Roark and Tekkno Genius.
5.Other people will be given access as the core community sees fit.
6.The repository will be kept under tighter control than the Web site.

Database design:
Coming soon

Directory tree layout:
Coming soon

PHP GACL model:
PHP GACL has been added.

__________________________________________________

Personally I would love to get rid of frames.  A lot of the newer HTML standards are nullified because of the use of frames.  This is an architecture that we inherited from Synitech.  It will be difficult to move to a modern architecture if we continue to use frames. 

Up to this date no one has had the resources to rewrite without frames.  As a group we should probably agree on the use the continued use frames or move to a newer standard such as W3C transitional HTML or strict HTML.

Sam Bowen

andres_paglayan wrote on Monday, October 17, 2005:

I am owing Johan the translation review,
This week I’ll have couple of hours to work on that for sure,
Thanks for your patience,
Andres

synseer wrote on Tuesday, October 18, 2005:

This is really excellent. I think you are the first project to get such broad community based effort. You might also consider posting this to LinuxMedNews, as it is quite news worthy.

-FT

ballards wrote on Tuesday, October 18, 2005:

Dr. Bowen,

Thank your for your comments. They are very helpful.
As time goes on, I will be suggesting and contributing enhancements to OpenEMR, and, after I have proved my skills, I hope to be able to join your development team.

profjake wrote on Tuesday, January 24, 2006:

I as well have recently downloaded and installed openemr. I scrapped my current project of converting our old DBC programs to gui. Too much work.

There are MANY things that OpenEMR "needs".
Are there any contributions out there already?

I suggest you make 2 new forums, approved and NON approved or non tested contributions, and let people start uploading contributions so we can check them out, and hopefully not have to reinvent the wheel if someone else already addressed a common need.

For example: my first need (Rather simple) is to prevent duplicate patients from being entered.
Has anyone addressed that?

If not, I plan to asap, but Id like to share it and then of course, get input and help with it. PHP is NOT my first language. Im more of a COBOL guy with 25 years programming exp.

sunsetsystems wrote on Tuesday, January 24, 2006:

Welcome to PHP, and to OpenEMR.  :slight_smile:

Again, the best way to make contributions now is to email them to one of the developers along with a detailed explanation.  When and if this becomes burdensome, we’ll certainly do something like you suggest to streamline it.  Also, frequent contributors of useful work can be given direct access to the code repository.

There’s not much already in place to prevent duplicate entry of patients.  This is one of many areas where improvements would be welcome.

– Rod
www.sunsetsystems.com