Showing posts with label GSoC. Show all posts
Showing posts with label GSoC. Show all posts

OpenMRS SoC - 9th week update



Hello everyone,

Its almost the end of a ninth week of GSoC 2013. yeap! more than 2 months has been passed already. In this week i have worked for the Patient Narratives video stream capturing feature. It wasn't that much easy task. The WebRTC mediastream API isn't that much of mature tool yet. (Its actually an ongoing project by Mozilla and Chrome team) But this the most suitable option to use in my project -- since its a web based, Open source tool.

Basically WebRTC API will allow developers to create apps (which will capture web-cam video/audio recording, Streaming and things like that) simply using the power of HTML5 and JavaScript. The main advantage of using WebRTC technology is, the user will not have trouble to install Video capture softwares/drivers since it uses the Web as the platform. So everything will be take cared by the web browser. Currently latest versions of Chrome and Firefox browsers support the WebRTC technology.

Here's a quick demo about how WebRTC works : http://harshadura.github.io/record-rtc-together/



Well, the media-stream API is real cool to play with but still it lacks an essential feature specially for my project. Thats media-stream api still doesn't have the capability to return the recorded media as a single file (which contains both audio and video together). What it currently does is generate audio and video as separate blobs (files). Apparently this issue open the door for a real big mess to merge the two files later time.

So I was searching for a solution to get rid of this issue. And I found there's a popular library called FFMPEG which will allow to merge two video+audio files together. Then i tried to find a Java wrapper for it. And finally I found the best tool for the work called Xuggle which will internally process FFMPEG stuff and behave as a Java API.

So I used this Xuggle API to successfully merge the two files i generate with the WebRTC. The merging will happens on server side. after passing the video and audio. (Still there's no obvious way to handle it on client side)

So now everything works as intended! :-)




OpenMRS SoC - 8th week update


Hello Everyone,

I have completed the allow logged in care-provider user to review uploaded information, register valid patient by creating a new patient and automatically transfer the appropriate encounter to the newly created patient functionality.




Currently I am working on the WebRTC implementation to capture the video/audio media stream from the care seekers.

Thank you,
Harsha

OpenMRS SoC - 7th week update


Hi All,

I had my university mid semester exams this week, So there's nothing much progress this week, I am sure will get back to you with a good update in next week!

-Harsha

OpenMRS SoC - 3rd week update

Hi All,

Its the end of the third week of gsoc and it was a busy week for me.
So much research and development happened this week. Since i haven't work with Concept dictionary , Encounters and Observations before, I had to read lot about them. Actually now I understand why OpenMRS is a very unique software amoung all other healthcare related software products, Its because of the wonderful *Concept-Dictionary* it made of and the extensible framework it has.

Currently I am working on to build a basic Care provider console which will show up all the encounters filtered by a particular encounter type.



If all goes well it should look like this :-)



Google Summer of Code 2013.





So Glad to heard that I have been selected for "Google summer of code 2013" as a Student this year again, yeap for the second time! :-) This year it was very amazing and much more competitive than last year. To mention a lil wow fact: I have been selected for *two* open source organizations this time!! In-fact those are two great organizations:"Raxa" and "OpenMRS" both are related to Healthcare informatics. (Sometimes we need to take some crucial decisions in our life.) So finally I chose OpenMRS as my organization, because of my love towards this awesome open source community which I have been with over year now,
And ripen, I love this concept by now, "Write codes, Save lives!" I dont think we (as coders) can do much better work than this to serve the global healthcare informatics force. Saving human lives is a priority among all other alms-giving stuff. 

Lastly I wanna thank Lord Budhdha who were always blessed me to get through this big achievement! නමෝ බුද්ධාය.

Congratz everyone! Looking forward for a great summer with OpenMRS!

If you are interested, My Project details can be found here:
I will be developing a "User-driven healthcare" system by integrating OpenMRS-core as the base.

1) https://google-melange.appspot.com/gsoc/project/google/gsoc2013/durapix/118001
2) https://wiki.openmrs.org/display/projects/Patient+Narratives+Upload+-+Project+Proposal



Few Links:
OpenMRS GSoC 2013 students list: https://wiki.openmrs.org/display/RES/Summer+Of+Code+2013#SummerOfCode2013-Interns,Mentors,andProjects

GSoC 2013 Accept students at Google Melange web: https://google-melange.appspot.com/gsoc/projects/list/google/gsoc2013








finally my GSoC T-Shirt and Certificate reached home!




End of GSoC thoughtz, OpenSource Software and my project at a glance!



Well, After long time of hard work with coding stuff, GSoC has come to an End ! I am extremely  happy to say about my experience which I got on these last few months during my Google Summer of Code Internship at OpenMRS. I real loved my project and the marvelous Open Source Community I have worked with. By any chance If you are not aware about OpenMRS, the name says what it does, It's a Medical Record Management System made for the developing world. "Write Codes, Save Lives!" how cool intention, isn't it ?



Okay! Now I will tell you bit about my GSoC project. My project is Better Error Submission process for Feedback Module, Basically this is an extension of the Project called General Feedback Mechanism of OpenMRS. The new version of OpenMRS Feedback Module follows some of the cool features in Google Feedback tools. (something like Automated Screenshot capture and edit process within web browser, You may have seen that functions or may have tried it in YouTube or somewhere else on Google Products, if not you can try that from here.) My project is a Web Based Java EE Application, Of course its an OpenMRS Module application. 60% of entire project coded in JavaScript, Jquery (I had real nice time working with these JS stuff lol) 40% of it has coded using Java and related its server side technologies.


OpenMRS Feedback Module v2.0 at a Glance

What's New ?
  • User friendly, Wizard driven Feedback Form
  • Automated Screenshot Capture/Edit process within Web Browser.
  • User-to-User Communication within Feedback System. (Comment System)

About Feedback Module v2.0

Basically Feedback module provides a mechanism for users to communicate with system Supporters/Admins with system-related (non-patient-specific) messages. In this new version of Feedback module provides a really cool feature which will automatically Capture the Screenshot and allow user to edit it (highlight/blackout) within Web Browser itself. So this will reduce the time taken to process Screenshots manually. And the users will able to submit their problem/feedback directly to the most responsible person rather than same Admin. Multiple OpenMRS users can be mapped into a single Feedback Ticket by Admin, So faster problem solving can be happen. User-to-User communication is a great way to interact with other users regarding a Feedback Ticket in this new version of Feedback Module.


You can read User Documentation from below link.
Feedback Module - User Documentation


Installation and Usage


OMOD file is a specialized WAR file which is used as a OpenMRS Module file installed as plugins into OpenMRS System. Installation isn't just straight forward thing, So if you aren't aware of installing OpenMRS modules, I prefer you to watch the Demo Video below to get an idea how it works! :)






I must say! Entire OpenMRS community is really nice and helpful! They are like a family working towards a single goal to make the world even better place to live. They helped me every time when I was in trouble. For my Coding problems to Technical issues I got great support from #openmrs IRC channel and mailing lists.

I can't never forget my Primary Mentor, Gaurav Paliwal. He helped me every time when I was in trouble and guided my path all the time. I have to thank alot for his great commitment done for me.  And my Backup mentor Ben Wolfe, being a Core developer of OpenMRS his advices were really helped for me to get succeed in project work too.


I have completed main goals and objectives of my GSoC project, And now GsoC is over! Well is that all over now....? Nope its not! I am not going to run away from this wonderful place where I learnt lots of Coding, gained lots of knowledge about Open Source software and Community involvement. I'll definitely stay with OpenMRS in future too. I know Thats the true spirit of Open Source software development! 

OpenMRS is a really cool Open Source Project, If you are skillful in Java you should definitely join to it. Not only coding, There are so many other things available to do, If you are skillful in technical writing stuff you can contribute by documenting wiki docs, You can contribute by help testing product, etc. Don't forget your work is not just a task, Thats a hard work done for the sake of Humanity, For the intention of saving lives! You can proud being a part of something huge! Your contribution for this great project will be an indirect help for the well-being of Global Healthcare.

"Write Codes! Save Lives!" Code for Humanity, Join with OpenMRS !

නමෝ බුද්ධාය! Thank god for giving me the strength to successfully complete my Google Summer of Code Internship at OpenMRS.org ! This is one of my lifetime achievement indeed!

"Nothings Forgotten. Nothing's ever forgotten."

Regards,
- harshadura

Better Error Submission Process for FDBK Module - Presentation


GSoC Project Progress Presentation

21th June 2012 @ OpenMRS Dev Forum



 

Playback Recording





Presentation Slides


Reference links used in the Presentation - Feedback Module

Project Contents 

Demo of the work done so far (Hosted OpenMRS)

Username:  admin
Password:  Admin123

User Documentation

Yey! Google Summer of Code 2012, I'm IN !! :) :) :)





As April 23 approaches, the heart-beat level rises in every students’ body for a one reason - its Google Summer of Code a.k.a GSoC. 

Google Summer of Code is a global program that offers post-secondary student developers ages 18 and older stipends to write code for various open source software projects. They have to work with open source, free software, and open technology-related groups over a three month period. Google Summer of Code is a highly competitive program with a limited number of spots. I am proud to be part of it this year.

My name is Harsha Sanjeewa Siriwardena, 3rd Year, IT Undergraduate who studies in SLIIT and lives in Colombo, SriLanka. I am a Simple, Cool guy enjoy Coding, Android development, Open source and learning new Technological stuff.

I am planning to implement Project idea called Better Error Submission Process - Feedback Module for OpenMRS as a part of GSoC 2012. This post will give a short description of the process I went through to make it to coding for OpenMRS project through GSoC 2012.


I chose OpenMRS as my organization. Why? After taking a look at Gsoc list, Among all these projects, organizations the relatively coolest Project is called "OpenMRS" which is my favorite. I loved their idea. "Write Codes, Save Lives!" As it sounds, its a Medical Record Management System, which is widely used in many countries globally as a Free and Open source software product. And that’s totally awesome! I really wanted to be part of this wonderful project. No matter even after the end of Gsoc 2012, for sure I will remain with this marvelous Open Source Community. So, when did I start to get involved? It was year 2012, January. Yeah I started bit early cause I had a serious intension to get through gsoc this year.  




Before started contributing OpenMRS, I have completed a 6 months Internship at hSenid Mobile where I gained lots of experience in Industrial Software Engineering. Those experience at office was really helpful for me to work in OpenMRS project as both Organizations were using almost the same technologies for developing stuff. I am pretty much familiar with J2EE and related its Technologies as OpenMRS uses J2EE at its core too. I still remember the great supervision I got  from Mr. Jason, Mr. Romith and Mr. Thilina at hSenid Mobile. In this occasion I should advert them too.

In the pre-gsoc period I was gathering information about Gsoc. These days Pradeeban Ayya, Nirmal Ayya, Suhothayan Ayya helped me a lot to get a quick jump start. (Sorry! "Ayya" means brother in my mother lang :) Specially Pradeeban Ayya did a excellent job from his Blog Articles to teach us the Basics of Gsoc, IRC/Mailing list Ethics and other random facts of a Open Source Communities. I attend to Apache BarCamp (Thanks to WSO2) held at University of Colombo, SriLanka which I have learnt lots of Gsoc related stuff (How, why, what?) and how self motivation affects to get through gsoc.  



And finally, I worked with Gaurav Paliwal, Suranga Kasthurirathne, who are Senior Developers and Mentors of OpenMRS. They were really, really helpful. Guided me right from basics of OpenMRS and helped me out at every difficult stage of the project. And whole OpenMRS Developers Community was wonderful. Whenever I got problems regarding developments, fixing bug ticketsreplied as soon as they got time to answer via IRC and Mailing lists. That’s totally cool!

I hacked a bit of OpenMRS Core modules and Patched few tickets. I almost spent my time Coding OpenMRS for more than 9 hours a day in those previous months since Feb 2012. Earlier January of 2012, I have done an interesting OpenMRS English to Sinhala Localization contribution with the help of several people. That was a significant milestone of my OpenMRS related work, which really grew-up my love towards OpenMRS.

Then came the news of GSoC 2012. And OpenMRS made its way to the selected organizations list this time too! So It was a great pleasure for me knowing that I had the chance to work on my favorite project as part of Google Summer of Code 2012.




I started preparing the Proposal for Better Error Submission Process for FDBK Module which is an extension of the project General Feedback Mechanism in OpenMRS. The main objective of the Feedback module is to provide a mechanism for users to communicate with system supporters/admins with system-related (not patient-specific) messages, refactoring the error submission process and make it more easy and effective preferably a wizard driven one. Finally I thought only to stick with this project idea as my main Gsoc Proposal and tried to make it more effective and a Strong one.


And after all the discussions, I was able to fine tune my Project proposal and submitted. The list of accepted proposals were out by GMT 1900 hours (00.30 AM in here) on April 23rd, 2012 on the Google melange site and I was glad to see my name on the List and on the OpenMRS 2012 GSoccers Landing page



So now (as soon as my Final exam finishes in May 4th) I am going to work in one of the coolest projects in the open source world as part of the Google Summer of Code. I am really proud and happy to be at this place!


Thanks for Reading my Gsoc-Story this far! :)

Regards,
harshadura

______________________
Other related Links.
  1. GSoc 2012 - Accepted Students From Sri Lanka
  2. OpenMRS - GSoC 2012 Landing Page
  3. List of all projects accepted into GSoC 2012
  4. Project Proposal - Better Error Submission Process for FDBK Module