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.
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)
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.
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!
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.
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.
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.
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!
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 choseOpenMRS 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 tickets, replied 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!