Vous êtes sur la page 1sur 3

Abstract

OpenMRS is an open source Electronic Medical Recording System with it's own method of extention
through modules.Likewise all medical systems have their own way of extending the fuctionality.This is
anoying for one developper with innovative idea.He have to conert his idea to all possible EMR to
make his idea reach the users.So the SMART platform provide a unified method to develop
applications that can run any medical recoding system that support SMART API.By enabling SMART
apps we can ensure that the Openmrs reaches growing smart app users as well as develppers.

Description
The final outcome of this project is a module in wich we can install a SMART applications which has
acess to the basic data types such as patient demographics, medications, and problems.Additionaly
administer will able to manage SMART apps tha aredeployed in the Openmrs and user will able to organize
and launch Application from his dasboard.Hence I propose to proxying the SMART connect API with the
REST calls user will able to use SMART REST API calls wich is secured by the Oauth.
Following are possible solutions for the design question
1) Implement SMART Connect API calls to communicate with SMART apps:According tosmartplatform.org wiki
there is ready made JavaScript code available to implement the SMART Connect API [3].Our job is to write certain
helper methods which will supply required data to smart app.Using REST calls the required data will be supplied
with the proper authentication .For example when a smart app request a record we can define handler method for
this API call as follow,.

SMART_HELPER.handle_api = function(activity, message, callback) {


jQujery.ajax({
url:
"https://localhoost:8080:openmrs/smartModule/exampleApp"+api_call.func,
data: message.params,
type: message.method,
success: callback
});
};

2) Implement SMART REST API calls to communicate with SMART apps:SMART connect api is going to be proxied
with REST calls which also can be used to serve the SMART REST API calls provoided that Oauth is mplemented.
Openmrs already has REST module [4] which can be used for our requirement.By wrapping
the Openmrs REST module with the Oauth and Json to RDF converter layer the backend REST service can be
established Which is going to be used to serve the SMART REST API calls as well as proxied SMART Connect
API calls.

3) Provide a simple user interface to launch and display SMART Apps: This is sample user interface i designed
[5].Here the selected App will be loaded into the iFrame.

4)Modeling the App: Each smart App contains manifest[6].Which can be directly mapped to a java class and we
can imitate the design of Openmrs module(Adding functions such as enable(),disable(), Add(),remove(),start()and
stop()) to manage smart apps.

5) Managing SMART application:Administer will be able to install a apps and the administer will enable certain apps
for certain user,only after administer enabled the app the user will be able to see icon of the app on manage apps
interface. If user wants a application to appear on his dashboard (4) he have to activate it at manage apps interface
this will enble the icon to appear on main interface. When the user click on an icon on his main interface, the
application will be launched within iframe [7].

6) Expose basic data types (patient demographics, medications, and problems [8]) as SMART RDF : Patient
demographics can be gathered from patient identifier. Medications which has concept source RxNorm and
problems wich has concept source SNOMED have to be mapped to Openmrs default concept which can be done
through concept mapping [9].

references:

1.https://wiki.openmrs.org/display/projects/Enabling+SMART+Apps+in+OpenMRS
2.http://wiki.chip.org/smart-project/index.php/Developers_Documentation:_SMART_Container_Javascript_Libraries
3.http://sandbox.smartplatforms.org/static/smart_ui_server/resources/smart-api-container.js
4.https://wiki.openmrs.org/display/docs/REST+Module
5.https://wiki.openmrs.org/download/attachments/14713013/mockup_MOC-Main-ui.png
6.http://wiki.chip.org/smart-
project/index.php/Developers_Documentation:_Packaging_Applications_via_SMART_Manifest
7.http://wiki.chip.org/smart-project/index.php/Developers_Documentation:_Terminology
8.http://wiki.chip.org/smart-project/index.php/Developers_Documentation:_SMART_Data_Model
9.https://wiki.openmrs.org/display/docs/Mapping+Concepts+to+Other+Terminologies

Community Interaction
One of the most important factor that motivated me to actively contributed to OpenMRS is the culture
of Openmrs community .My learning curve was very steaply rising from the start because of the
invaluable and quick constructive feedback from the community.
I have been contributing to the openmrs from when I joined to the openmrs community.Most of the
time I used the #openmrs IRC channel to clarify my doubts under nick name aja.I am a member of
openmrs trac under user name ajanthan.I have attended the Thursday developer call with skype id
bala.ajanthan when there were discussion going on related to me such as web-service and
demonstrating new modules.
I started to work with tickets as soon as I created my profile at Openmrs.Trunk-1688,Trunk-1745,
Trunk-1643,Trunk-1997,Trunk-2009,Trunk-1889 and Trunk-351 are the tickets I worked success fully
and applied to the trunk. Trunk-1745 is the ticket in the post- commit stage. Trunk-1994,Trunk-
1861,Trunk-420,Trunk-362 are the ticket under code review. While working with all these tickets I was
able to learn about technologies such as Spring,Hibernate,DWR ,liquebase, web-service and more
importantly best practices in writing enterprise applications.
As the community always has interest in updating the resources to accommodate technology growth,By
staying with the community long after the summer will give me a chance to practice those technologies
as well as to get mental satisfaction as I am doing useful work to the human being.
Deliverable
1. a Openmrs module which converts Openmrs as a smart application container.
2. Source code with technical and user documentaion

Draft Schedule
April 26th- May 9th :Discuss with metor to finalize the arcitecture desig,deliverables and sechedule.Familiar with
the design of reference EMR smart container at smartplatform.org.
May 10th May 23rd: Investigate openmrs architecture to effectively integrate smart featuer and improve the
design with moc up diagrams.
May 24th July 11th : First phase of development:At the end of this period the module should be able to run a
sample SMART Application with limited data set and minimal OAuth.

July 12th July 18th : Mid term evaluation

July 19th August 1st : Second phase of development:During this period add more data type to REST
API,Implementing mange Smart Apps and imrove OAuth design

August 2nd August 15th : Documentation, code review and testing the scenarios defined in the

designing stage

August 16th August 20th : Final evaluation

About Me
I am balachandiran ajanthan,an undergraduate student from University of Moratuwa ,department of
electronics and telecoomunication engineering,Sri Lanka.
Name :Balachandiran Ajanthan
OpenMRS ID personal profile page:https://wiki.openmrs.org/display/~ajanthan/Home
IRC nick name=aja
Skype id=bala.ajanthan

My Experience
I have been completed SCJP 1.6 certification and CCNA certification.Additionly I copleted 5 credit
subject on Object oriented programming outside of my department Computer science and engineering
department.For that course I developed a small light wight word processor and web application using
java ,servlet and jsp
As far as open source is considered my first experience with open source started with openmrs last
year.I created a module as trunk- required.While working with that module I was able to understand the
theory behind the thechnologies such as Spring and Hibernate.When ever I stucked with some problem
I was able to solve those with the help of the community.During that time I have wonderfull time.

Vous aimerez peut-être aussi