How can a new (to OpenEMR) developer make the biggest impact?

meddev wrote on Thursday, April 11, 2013:

We will be converting several of my clients to OpenEMR over the next few months and I’m looking to contribute a lot to the project. I’m asking for input on the areas where I could have the biggest impact on making OpenEMR the very best.

I’ve been self employed for about 15 years and I have about 12 years of heavy PHP development experience and close to 20 years with C++ / Mysql windows clients.

As far as healthcare I’ve done a practice management system that is installed at many, many sites and includes ANSI x12 claims processing, HL7 interfaces both inbound and outbound, HCFA’s, many many conversions, ICD10, etc. A complete enterprise scheduling system
with multi locations and resources. I have also done 2 complete EMR systems, one Windows, one PHP based that we will not be MU certifying but will migrate to OpenEMR. If it’s healthcare related I’ve probably done it.

I discussed my ideas for grafting a WYSIWYG forms editor into OpenEMR here a couple of weeks ago: https://sourceforge.net/p/openemr/discussion/202506/thread/cfaeb2af/

But I’m wondering if there are better areas to contribute to? I can devote several hours a day to the project at times. The work will need to fit my experience and interests but I’m open to any ideas.

What do you guys suggest? How can I help the most?

blankev wrote on Thursday, April 11, 2013:

If you are asking me… YES you said anybody, … then I would like to guide you towards the Procedures Configuration There are three levels. Sometimes it is easy to find only one or two procedures to order, but more often it is easier to click a group and than choose the ten options of that group you wan to order.

Right now you order and have to order all lab examinations one by one what is very time consuming.

I have the intentions to digg into this project in coming weeks, but only from a user point of view (add some tests with first, second and third level sampling. I am not a Developer, I only see that there can be improvements. I don’t know how much time it will consume nor how effective the result will be.

But I see there is room for improvement.

Please feel free to give me some comment on what you think can be achieved.

blankev wrote on Thursday, April 11, 2013:

On the Demographic pages I wondered why it is not automated why not, if you choose Mrs, you don’t get Female for gender response.

If you choose Mr. you will get Male for gender response.

Tnx, in advance for you efforts to think about it…

Pimm

tmccormi wrote on Thursday, April 11, 2013:

I still think the forms creator would have a huge impact…

Tony

yehster wrote on Friday, April 12, 2013:

The best thing to work on is an area where you have expertise and interest. It sounds like you’ve already developed something that you’ve found useful which will be helpful to others. So I’m in agreement with Tony.

bradymiller wrote on Friday, April 12, 2013:

Hi,

Agree with Kevin that working on something that interests you, something you have expertise in or even in something that you don’t know much about, but want to learn. OpenEMR has a multitude of potential projects; if you just let us know what you are interested in or want to learn more about, we could provide a list of very useful projects that will benefit yourself and OpenEMR. For example, if improving the forms is what you want to do, then would suggest the following:

  1. Learn the form mechanism by converting some of the current forms to the new security model (it would be easy, but forces you to look through the current form scripts).
  2. Learn even more about the form mechanism by converting the xmlformgen script to the new security script (little more difficult than 1, but by the end you’d be an expert in the form mechanism).
  3. Then with your appreciation of the forms mechanism after doing 1 and 2 above, shoot for the WYSIWYG forms editor.
    (this is just an example, if interested, though, can expand a bit more on this)

First thing to do is to get a git/github repo set up:
http://www.open-emr.org/wiki/index.php/Git_for_dummies

-brady
OpenEMR

meddev wrote on Friday, April 12, 2013:

Alright guys thanks for the suggestions. I have a lot of experience with the WYSIWYG editor and a code base to start from so I might start with that. That seemed to be an area that could use some improvement but wanted to make sure.

Pieter: The gender thing seems simple and I could get my feet wet there for sure.

I’m interested in the procedure entry as well but I’ve not looked at that in OpenEMR at all. What we’ve done in our products is more of an on-screen superbill or encounter form where the doc checks boxes and can even choose a diagnosis. The CPT/Dx codes that appear on the encounter form can be chosen by clinic. Any codes not listed can be chosen similar to what OpenEMR does I think. Also in this code you can setup “explosion codes” that when selected expand into multiple procedures. What does everyone think about that type of approach?

Brady: I’ll take a look at your approach, what version should I be working with to get the mods accepted into the main code as easily as possible? What forms do you suggest I do from step 1?

If anyone else has anything I’m still interested in hearing about it.

bradymiller wrote on Saturday, April 13, 2013:

Hi,

Use most recent developer version of the code (the master branch). The git openemr tutorial will get you started:
http://www.open-emr.org/wiki/index.php/Git_for_dummies
There is also a nice video by mi squared that covers this:

Try converting the interface/forms/ankleinjury and interface/forms/bronchitis forms. Here’s an example of conversion of several similar forms:

Here is a description of the steps to convert to the new security model:
http://www.open-emr.org/wiki/index.php/Codebase_Security#SQL-Injection_and_Cross-Scripting_Prevention

-brady
OpenEMR

bradymiller wrote on Saturday, April 13, 2013:

I should mention to not drop the table.sql files for those forms since they are not installed by default (which is unlike the example I posted above).

pfwilliams wrote on Monday, April 15, 2013:

I’m not feeling brave enough (yet) to undertake these myself, but…
A couple projects that fall into the “systems” category moreso than “applications” would be to replace the deprecated, soon to be unsupported, mysql API with the newer (MySQL 4.1/5.0 compatible) mysqli API. Switching away from the older libmysql.dll library to the newer php-tuned mysqlnd.dll library would also appear to be of great benefit. I’ve yet to run across these changes on any to-do list anywhere.

yehster wrote on Monday, April 15, 2013:

I’ve spent a little bit of time thinking about this issue. The mysql_ library is being isn’t being deprecated until PHP 5.5, which is still in beta, and even then when something is deprecated, it still works. I haven’t worried about it being on any “official” to-do lists because it’s not likely to cause any problems soon and there many higher priority issues to deal with first.

That said, changing this line in sql.inc
class ADODB_mysql_log extends ADODB_mysql
and adding the ‘i’ will in one operation update large swaths of code to use mysqli instead of mysql.

There are some instances where the database connection created by ADODB is used directly with the mysql_ calls instead of through the ADODB interface that would need to be updated as well, first with the sqlXXXX wrappers and then tracking down any direct references to mysql_ in other parts of the code.

It shouldn’t be too tricky to migrate to mysqli when the time comes, but of course it’s always the “unknown” issues that get you into trouble.

meddev wrote on Tuesday, April 16, 2013:

I’ve got loads of experience with mysql to mysqli and also MariaDB rather than Mysql. Most of my PHP code was converted from mysql to mysqli several years ago and there were no huge gotchas. I have my own DB class wrapper I use so it was plug and play with no code changes.

Personal experience with MariaDB tells me it’s a no brainer and it should be implemented when time permits. I started using mysql back when you could ask Monte (mysql founder) questions and get an answer back in minutes and MariaDB looks to be the same way. I don’t have MariaDB in production but will in the next month or so at a couple of clients. I’ll update everyone on anything I run into.

bradymiller wrote on Wednesday, April 17, 2013:

Hi,

Just placed this project on the to do list:
http://www.open-emr.org/wiki/index.php/Active_Projects#Convert_to_MySQLi

Agree with Kevin that it’s lower priority compared to other stuff; but any developer that is interested and willing, please feel free to take it on.

-brady
OpenEMR