SMART Connect vs SMART REST web services

Of interest as progress is made on DHIS2 web services.


---------- Forwarded message ----------
From: Ankit Gangal

Date: Sun, Mar 27, 2011 at 9:09 PM
Subject: [OPENMRS-DEV] [openMRS] project idea gsoc

Hi Hui Xiao, Josh Mandel, all

I had been looking through the project ideas. I like the idea SMART Container Module(enabling SMART APPS in OpenMRS)[1] very much. I think that such an implementation will increase the reach and applicability of openMRS by heaps and bounds.

I am going though the developers documentation. The basic idea of the project is to develop a module into a SMART container so that SMART apps built against the SMART API can be embedded into it.

Regarding the question on implementing SMART REST api, I would like to being with listing a few pros and cons of both the methods of accessing SMART API

SMART Connect


· SMART Connect is for simple applications whose logic can be completely built in HTML and JavaScript.

· In case of SMART Connect SMART APP JavaScript Libraries is the sole access point.

· SMART Connect calls can only access data while the end-user remains online.

         SMART REST is for applications that may need to perform significant back-end processing, in particular when using additional external data sources.

         In case of SMART REST,   the library provides the OAuth token handoff and medical-record context, which app can then send back to its back-end for use in REST calls.

        If our app needs to access data from our web application's backend or while the user is offline, we'll need to make some REST calls as well

        Writing a SMART REST app requires a bit more work than a SMART Connect app

SMART REST is required when we have to do significant back-end processing or when data has to be accessed while the user is offline. The answer to the question regarding implementation of SMART REST api depends on whether if there is a use of such a functionality in OpenMRS or not.

I personally feel that we must go for implementing the REST API as well.

The whole motive behind implementing the SMART module is to increase the applicability of OpenMRS and if while doing so we do not achieve the maximum capacity we can get, its just not worth it.

This is what I feel. Please tell me if I am wrong.

I am going through the instructions to build and install SMART apps.

After this I plan to look into how concepts can be mapped into other technologies.

I request the mentors to give me further directions on the project.



Ankit Gangal

Click here to unsubscribe from OpenMRS Developers’ mailing list

Knut Staring