Google Summer of Code

quartarian wrote on Wednesday, March 27, 2013:

Hello All,

I would like to work on Open EMR as a Google Summer of Code project. I am a Junior of Computer Science at Kent Sate at Stark and actually run a web development business: version1creative.com

Over the Summer I would like to overall the interface by getting rid of the frames and implementing a template engine.

There is less than 2 days left for mentoring organizations to apply to SOC and I was hoping someone would apply so I can work with you! Is anyone interested in mentoring me?

Thanks!
-Matt

mdsupport wrote on Thursday, March 28, 2013:

For those not familiar, Google pays the intern developer $5,000 and open source project gets $500 for their time and mentoring effort.  There is no obligation to incorporate the code in project.

Matt,  rather than touching a currently working framework (good, bad or ugly)  - you may want to propose developing android app(s) for openemr.  That will get you some brownie points with Google and lot of interest from the community in general.

mcaloon wrote on Thursday, March 28, 2013:

Hey Matt,
    I am interested in your ideas for the project. Check out http://open-emr.org/wiki/index.php/Google_Summer_of_Code_-_OpenEMR  I am discussing some potential sponsorships for working on certain aspects the project.

   Has anyone else in the community done anything about registering an openEMR team in GSOC 2013 yet?

Mac

Mac

quartarian wrote on Thursday, March 28, 2013:

@mdsupport
I’m not opposed to an Android app, however I feel fairly strongly about getting rid of the frames. Actually, what I plan on proposing is an HTML 5 responsive re-design that will scale between the desktop, tablet, and smart phone screens. I understand this is a big undertaking and that’s why I would need to devote the summer to it. Also, web development (specfically with the LAMP stack) is my day job, so I will actually be able to get a lot done without the learning curve of new technolog (java).

I really think the project needs a forward facing front-end and I’m confident about succeeding. :slight_smile:

@mcaloon
Thanks for the link! Thats the second time I missed a helpful post in the wiki. Hopefully we get sponsored. :slight_smile:

bradymiller wrote on Thursday, March 28, 2013:

Hi,

The plan was to apply (hence the above wiki page). Time sort of flew by. We should get an application in by noon PST Friday, though. I’m ok with being the primary admin if nobody else can do it. Plan to use OpenEMR as the project organization if I do it unless somebody else wants to admin it instead for the OEMR organization (note is does not need to be an official organization and almost all of the “organizations” listed for 2012 are simply the main project names and are not official entities).

Things that are needed:
1.  I need an official backup admin.
(Would be nice to have several)

2. We need lots of mentors (and some details on each one), so please if you are interested in being a mentor place a little information about yourself on this forum.

3. We need a good list of projects. Here is the current page for this. Please feel free to add projects on that page or here:
http://open-emr.org/wiki/index.php/Active_Projects

4. I need help with the following questions (just paste your answers here on the forum):

a. Organization description (OpenEMR):

b. Why is your organization applying to participate in Google Summer of Code 2013? What do you hope to gain by participating?

c. What criteria did you use to select your mentors for this year’s program? Please be as specific as possible.

d. What is your plan for dealing with disappearing students?

e. What is your plan for dealing with disappearing mentors?

f. What steps will you take to encourage students to interact with your project’s community before and during the program?

g. What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes?

h. Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.

Please help, lots to do in just 36 hours :slight_smile:
-brady
OpenEMR

quartarian wrote on Thursday, March 28, 2013:

I am really excited! :smiley: Here is my initial stab. (Keep in mind I’m still new to the project):

Organization description (OpenEMR):

OpenEMR is the source maintainer for OpenEMR, a free electronic medical records and medical practice management software suite that runs on top of PHP, MySQL, and Apache. Backed by OEMR, a 501©(3) non-profit, we are a community of developers, doctors, and other medical professionals that work to make OpenEMR better every day. In August of 2011, we even succeeded in obtaining ONC Complete Ambulatory EHR certification for OpenEMR.

Why is your organization applying to participate in Google Summer of Code 2013? What do you hope to gain by participating?

OpenEMR (the software) is currently in a unique position. With new Medicare and Medicaid requirements and legal requirements to have EMR, many small practices are feeling tremendous pressure. In TIME magazine’s March expose on Healthcare, Bitter Pill: Why Medical Bills Are Killing Us, Steven Brill even discusses how small practices are being absorbed by large Hospitals, who can undoubtedly afford the huge investment that most EMR systems require. The combination of requirements and cost is why many small practices depend on us.

The reason why we want to participate in Google Summer of Code is the same reason why so many small practices depend on us. We are the only usable free (as in freedom) solution to EMR surrounded by corporate behemoths, navigating a complex set of laws that keep growing. To keep up with these changes and continue to grow, we need to invite new developers to join the project. Google Summer of Code will not only allow us to invite them, but entice them.

We don’t however feel that this is a one way contribution. Our mentors are experienced developers that can provide a great deal of knowledge on web development that will be immediately beneficial for students. We will guide students on how to design software from an Object Oriented perspective that is clean and reusable. Students will learn how HTML/CSS/JS/PHP/Apache all work together to deliver web applications. Students will also get real-world experience of designing software that have explicit requirements that must be met. Furthermore, students will get the experience of working with a team and introduced to version control systems.

We feel we that our participation in Google Summer of Code will be mutually beneficial; to us, the students, and the end-users who rely on us.

bradymiller wrote on Thursday, March 28, 2013:

lol,
You’re writing is way better than mine. Here’s all I had so far:

a. Organization description (OpenEMR):
OpenEMR is a Open Source electronic health records and medical practice management application that can run on almost any platform. OpenEMR is ONC Complete Ambulatory EHR certified and is one of the most popular open source electronic medical records in use today with 3700 downloads monthly. OpenEMR received a 2012 Bossie Award in the “The Best Open Source Applications” category and it has been estimated that OpenEMR is serving medical records for 90 million patients worldwide. OpenEMR is supported by a strong community of volunteers and professionals all with the common goal of making OpenEMR a superior alternative to its proprietary counterparts. The OpenEMR community is dedicated to maintaining a spirit of openness, kindness and cooperation.

b. Why is your organization applying to participate in Google Summer of Code 2013? What do you hope to gain by participating?
The OpenEMR project hopes to garner the interests of passionate students that will then maintain a long term relationship with the project.

quartarian wrote on Thursday, March 28, 2013:

Thanks Brady! Im actually not a huge fan of my writing, but I do write a lot of proposals for work :stuck_out_tongue: Feel free to use it in any way you see fit.

I need to finish up some work on a website for a client, but as soon as I finish that, I’ll tackle f and give a stab at g.

bradymiller wrote on Thursday, March 28, 2013:

Here’s my quick initial answers to the other questions:

c. What criteria did you use to select your mentors for this year’s program? Please be as specific as possible.
Experience. Accessible. Knowledge.
We need to obviously go into more details here and plan to list each mentor with details about each one (so please post (or email me) your details on why you would be a good mentor and don’t be humble; WE NEED MENTORS! ).

d. What is your plan for dealing with disappearing students?
I will directly contact the student to find out if there are any issues with their current mentor. If needed, I will have another mentor take over.

e. What is your plan for dealing with disappearing mentors?
I will directly contact the mentor. I will let the students know that they can always contact myself if they are having any accessibility issues (or any other issues) with their mentor. If needed, I will have another mentor take over.

f. What steps will you take to encourage students to interact with your project’s community before and during the program?
Introduce them to the forums and have them join in the weekly OpenEMR voice conference call (Tuesdays at 9:30 AM PST).

g. What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes?
The organization will do everything we can to ensure that their code gets into the official codebase. Having ownership of a part of the code is a nice way to motivate new developers to stick with the project. Additionally, as the community is with all developers, new and old, the community is always happy to continue to the review ideas and code of the student. One of the goals of the project will be to enable the student to become comfortable reviewing the ideas and code of other developers/students.

These are just rough sketches with poor writing. Anybody, please feel free to post improvements or drastic changes to these.

-brady
OpenEMR

yehster wrote on Thursday, March 28, 2013:

Matt,
I would be willing to a mentor a project on interface redesign.
Brady,
I will get you a bio/blurb on myself later today.

Kevin Yeh, MD

sunsetsystems wrote on Thursday, March 28, 2013:

I’m also willing to mentor.

Re getting rid of frames - I’m fear y’all are underestimating the size of that task.  There’s a ton of code that will have to be rewritten, and if it’s done in a hurry the result is likely to be pretty but functionally inferior or unusable.  Would be very important to do it in bite-size pieces, and that requires careful planning.

Rod
www.sunsetsystems.com

yehster wrote on Thursday, March 28, 2013:

I have more optimism on “getting rid of frames” as a project
A “successful” project does not necessarily have to end with fully polished code that is incorporated into the code base. A partial solution, or even just determining approaches that won’t work will have value for the overall project. 
One of the advantages a student developer will have is some additional freedom to explore creative/exotic solutions without direct pressure from the “customer base.”
In the end, if we learn something new there will have been benefit.

If OpenEMR is approved by Google as an organization for SoC, students still are required to submit project proposals.  We would review such proposals and choose among them and the option to reject proposals for various reasons, such as too vague would still be available at that time.  I don’t think I’d reject a proposal for being too ambitious as such a proposal could always be scaled back. 

sunsetsystems wrote on Thursday, March 28, 2013:

Kevin, understood.  I’m kinda greedy though, would like to get some code out of this that is a clear benefit and can go into the project right away.  :slight_smile:

Rod
www.sunsetsystems.com

sunsetsystems wrote on Thursday, March 28, 2013:

By the way another project idea that I think would be very helpful is to refactor code to make it more modular, implementing an object model.  There are areas where code is duplicated or very similar that could be turned into shared modules.  Also most of the shared stuff is in the form of collections of functions, where reorganizing into classes would be a lot cleaner.

I’m thinking mostly about the internal “business logic” here, not so much the presentation side.  This kind of work would pave the way for subsequent re-implementation of the presentation layer and/or creating multiple alternative presentation layers.

Rod
www.sunsetsystems.com

bgregg wrote on Thursday, March 28, 2013:

Brady/Matt,

I’ll throw my name in to the bucket as a mentor. I’m the trainer/high level support/know extremely advanced functionality like the back of my hand.

Brad Gregg
brad at mi-squared dot com
MI-Squared

mdsupport wrote on Thursday, March 28, 2013:

If there is code refactoring, as Rod suggests there is a need to revisit the ‘business logic’.  A simple objective could be to separate IPPF/sports specific logic that appears throughout the codebase in such a way that every site has ability to put in their logic and presentation changes as an add-on to the standard code.

sunsetsystems wrote on Thursday, March 28, 2013:

Yes, effectively handling specialties is another item to address when designing a new code model.  What currently happens is either it gets shoehorned in with an option flag, or it’s held privately and never contributed.  Neither is ideal.

Rod
www.sunsetsystems.com

bradymiller wrote on Friday, March 29, 2013:

Hi Brad,

Thanks for volunteering to mentor. Can you email me a quick blurb about yourself to brady.g.miller@gmail.com so I can use it in the application? (I need it by tonight, since I will be submitting the application late into the night).

thanks,
-brady
OpenEMR

quartarian wrote on Friday, March 29, 2013:

Wow, thanks for all the support! I’ve been wanting to do a SOC project for a few years now and this is the first project I’ve been really passionate about. The community has been absolutely awesome. A special thanks to Brady, Kevin, Brad, and Rod for stepping up to the mentoring plate.

As Yehster mentioned, if OpenEMR gets approved as a mentor organization, I will still have to write a proposal that you (the mentors) approve. In this way we should be able to come to an agreement about the best utilization of my time (or another student’s if you so choose :wink: ).

Though it’s jumping the gun a bit, I really like the idea of refactoring and I think the process that would make the most sense is to combine a refactor with a redesigned interface. My initial thoughts are actually targeting a 5.0 version of OpenEMR that includes a revamped interface with all of the code refactored into object oriented modules. This would promote code maintainability, scalability, as well as a consistent experience across the application for the end-user.

This would be a HUGE undertaking. If we went this route, my project proposal would probably be along the lines of developing the shell ui, module design guidelines, along with an initial port of some core functionality into modules. I would need a ton of help to actually make it usable.

As mentioned though, first thing is first. Let’s focus on getting OpenEMR approved as a mentoring organization so we can decide on what I should propose to do. :slight_smile:

I’m currently working on a draft of the proposal building on what Brady and I started last evening. I will hopefully finish this in a few hours and post it here for review. Tomorrow I have a few meetings so won’t be able to help much with the finishing touches. I will leave that to you guys.

Thanks again everyone!

bradymiller wrote on Friday, March 29, 2013:

Hi everybody,

At this point have the following:

admin: Brady Miller
backup admin: Rod Roark

mentors:
Rod Roark
Kevin Yeh
Brady Miller
Brad Gregg (waiting for description)
Devi from Visolve (waiting for description)

I’d really like to get a couple more mentors. Please volunteer and email me a blurb about yourself to brady.g.miller@gmail.com .

I will be submitting this late tonight (I also work tomorrow, so can’t work on it after tonight), so please volunteer and post(or email me) material by midnight tonight Pacific Standard Time.

thanks,
-brady
OpenEMR