This is great, thanks wyclif. Joaquín ___________________________________________________________________ Gerente de Desarrollo, eHealth Systems <http://www.ehs.cl/> Research Fellow, Escuela de Medicina de Harvard <http://hms.harvard.edu/> Moderador, GHDOnline.org <http://www.ghdonline.org/>
On Tue, Feb 14, 2012 at 2:50 PM, Wyclif Luyima <[email protected]> wrote: > Going SMART Vs OpenMRS might turn out not to be a trivial decision, why? A > SMART app is a separate web app that could have been written in a separate > programming language or even just a web page with javascript logic that is > capable of processing data received from a SMART rest API via SMART connect > API and produce meaningful output, the key thing is that the SMART app can > be run inside another application which is a SMART container, typically > this would be inside an iframe embedded in web page of another web app, as > you have seen how the demos apps i added are executed.in OpenMRS. > > Personally i would only go for a SMART app if i already had an existing > web application that i would want to be run inside OpenMRS as a SMART app > without having to write an OpenMRS module so as to add the features i wish > to. > > If you want to write a SMART app, you need a host for your application, > you need to check the SMART datatype model for the datatypes that would > best suit your needs, standard SMART datatypes are defined > here<http://wiki.chip.org/smart-project/index.php/Developers_Documentation:_SMART_Data_Model> > , > if there is already a handler for it in the SMART container module, then > you are set to write your SMART app, if not, we can always add the handler > for it in the next release for the module. Currently the registered > handlers in the module are for : Demographics, Medications(Regimens), > LabResults, Vital Signs, Problems, Allergies and AllergyExceptions. This > list is expected to grow in the next release to include datatypes like > Alerts(Notes), Encounters, Fulfillments and EncounterTypes. > > Wyclif > > > > On Tue, Feb 14, 2012 at 9:51 AM, Darius Jazayeri > <[email protected]>wrote: > >> I've never written a SMART app, so I don't know. It's probably easier for >> some things, and harder for others. (I know, that's not really helpful. :-) >> >> SMART definitely makes it easier to fetch high-level clinical patient >> data (e.g. Problem List, Allergies, Prescriptions) in javascript. IIRC it >> doesn't allow any access to *general* observations at all. >> >> -Darius >> >> >> On Tue, Feb 14, 2012 at 6:16 AM, Joaquín Blaya < >> [email protected]> wrote: >> >>> Thanks Darius. >>> >>> One question that I still had, is it easier to write a SMART app or an >>> OpenMRS module? >>> >>> >>> Joaquín >>> ___________________________________________________________________ >>> Gerente de Desarrollo, eHealth Systems <http://www.ehs.cl/> >>> Research Fellow, Escuela de Medicina de Harvard<http://hms.harvard.edu/> >>> Moderador, GHDOnline.org <http://www.ghdonline.org/> >>> >>> >>> On Sat, Feb 11, 2012 at 2:01 AM, Darius Jazayeri < >>> [email protected]> wrote: >>> >>>> A bit of relevant background: >>>> >>>> SMART is a project out of CHIP in Boston. The idea is that they've >>>> defined a common-denominator virtual EMR, so that you can write a SMART app >>>> once, and that app will work against many different EMR systems as long as >>>> they're a "SMART Container", which OpenMRS now is. >>>> >>>> So, if you just want to build an OpenMRS module, SMART isn't really >>>> relevant. If you want to write functionality that works in more than just >>>> OpenMRS, then it may be the way to go. >>>> >>>> -Darius >>>> >>>> >>>> On Fri, Feb 10, 2012 at 8:29 PM, Joaquín Blaya < >>>> [email protected]> wrote: >>>> >>>>> Thanks Wyclif, you did answer my questions, but i'm guessing I'll need >>>>> to read up more on SMART to be able to understand your response >>>>> completely. >>>>> >>>>> Another question or questions came up. >>>>> 1. How is this better than just writing an OpenMRS module that has the >>>>> functionality of a SMART app? Is it because we can now use SMART apps as >>>>> well as OpenMRS modules, are SMART apps easier to write, or something >>>>> else? >>>>> >>>>> 2. If thinking about the case of an EMR RIS/PACS connection, what >>>>> would be the difference between say having OpenMRS call the RIS/PACS >>>>> versus >>>>> having the RIS/PACS be a SMART app within OpenMRS? >>>>> >>>>> >>>>> Joaquín >>>>> ___________________________________________________________________ >>>>> Gerente de Desarrollo, eHealth Systems <http://www.ehs.cl/> >>>>> Research Fellow, Escuela de Medicina de Harvard<http://hms.harvard.edu/> >>>>> Moderador, GHDOnline.org <http://www.ghdonline.org/> >>>>> >>>>> >>>>> On Fri, Feb 10, 2012 at 8:13 PM, Wyclif Luyima <[email protected]>wrote: >>>>> >>>>>> @Dave, to answer the question without going into much details i would >>>>>> say, the smart team defines >>>>>> here<http://wiki.chip.org/smart-project/index.php/Developers_Documentation:_REST_API>a >>>>>> standard end pattern(excluding the domain name and the web app's root >>>>>> context) which the urls for the different data types should end with and >>>>>> a >>>>>> smart rest API should serve them. You notice these don't conform to our >>>>>> rest ws url pattern. So in the module we just append these to >>>>>> 'contextPath/module/smartcontainer/rest/api which are served by the small >>>>>> non-public rest api that the module provides. >>>>>> >>>>>> Wyclif >>>>>> >>>>>> On Fri, Feb 10, 2012 at 3:56 PM, Dave Thomas <[email protected]>wrote: >>>>>> >>>>>>> This is really cool. Just to satisfy curiosity, how does the SMART >>>>>>> rest API know the specifics of the openmrs api, if this module isn't >>>>>>> using >>>>>>> the OpenMRS webservices module? >>>>>>> >>>>>>> d >>>>>>> >>>>>>> >>>>>>> On Fri, Feb 10, 2012 at 12:17 PM, Wyclif Luyima >>>>>>> <[email protected]>wrote: >>>>>>> >>>>>>>> Hi Joaquin, >>>>>>>> >>>>>>>> The thing worth mentioning that i didn't in release email is that >>>>>>>> actually this is not fully fledged 'SMART container' because the >>>>>>>> installed >>>>>>>> apps can only fetch data from the same OpenMRS instance, so it is the >>>>>>>> container and back end EMR at the same time and this is what we >>>>>>>> decided on >>>>>>>> for the first release, probably a feature we can add in later >>>>>>>> versions is >>>>>>>> to let them communicate to external EMRs. Currently the only apps that >>>>>>>> can >>>>>>>> be hosted are those that conform and were written according to this >>>>>>>> specs >>>>>>>> at SMART project and those are javascript based apps. >>>>>>>> >>>>>>>> With the above in mind, see the inline responses i have added below: >>>>>>>> >>>>>>>> 1. Would this allow all of the permissions for all of the SMART >>>>>>>> apps to be handled through OpenMRS? i.e. if I insert a RIS/PACS >>>>>>>> viewer as a SMART app, would OpenMRS be the one that has the user's >>>>>>>> permissions as to what they can and can not see inside the RIS/PACS? >>>>>>>> User permissions are still handled by core when the apps attempt to >>>>>>>> access date through the private SMART rest API, i.e if a user had no >>>>>>>> privileges to the domain objects that a SMART app's data handler uses, >>>>>>>> then >>>>>>>> you won't view contents from that app, probably you will see an error >>>>>>>> message above the iframe in which the SMART app contents are displayed. >>>>>>>> >>>>>>>> 2. Does this use the OpenMRS REST API or the SMART one? >>>>>>>> The SMART rest API is its own and private, this because these apps >>>>>>>> run inside the same OpenMRS instance as the data they are accessing is >>>>>>>> stored, so it didn't make sense to make it public. >>>>>>>> 3. Can as described above, a RIS/PACS system (or a lab system or >>>>>>>> others) be connected via a SMART app to OpenMRS for the users to view >>>>>>>> those >>>>>>>> systems seamlessly i.e. if in OpenMRS, view images from the RIS/PACS, >>>>>>>> pages >>>>>>>> from the LIS, or other subsystems? >>>>>>>> This should be possible, if you tried out the sample apps i >>>>>>>> attached to a follow up email i sent, the medication app is capable of >>>>>>>> fetching videos and PDF which it displays seamlessy inside OpenMRS, >>>>>>>> you >>>>>>>> might want to visit how to create a smart >>>>>>>> app<http://wiki.chip.org/smart-project/index.php/HOWTO_Build_a_SMART_App> >>>>>>>> >>>>>>>> Hope i've addressed your questions >>>>>>>> >>>>>>>> Wyclif >>>>>>>> >>>>>>>> On Fri, Feb 10, 2012 at 2:08 PM, Joaquín Blaya < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Wyclif, >>>>>>>>> This is great, because just 2 days ago we were talking down here >>>>>>>>> that we needed to see how to imbed other programs within OpenMRS. >>>>>>>>> >>>>>>>>> A couple of questions. >>>>>>>>> 1. Would this allow all of the permissions for all of the SMART >>>>>>>>> apps to be handled through OpenMRS? i.e. if I insert a RIS/PACS >>>>>>>>> viewer as >>>>>>>>> a SMART app, would OpenMRS be the one that has the user's permissions >>>>>>>>> as to >>>>>>>>> what they can and can not see inside the RIS/PACS? >>>>>>>>> 2. Does this use the OpenMRS REST API or the SMART one? >>>>>>>>> 3. Can as described above, a RIS/PACS system (or a lab system or >>>>>>>>> others) be connected via a SMART app to OpenMRS for the users to view >>>>>>>>> those >>>>>>>>> systems seamlessly i.e. if in OpenMRS, view images from the RIS/PACS, >>>>>>>>> pages >>>>>>>>> from the LIS, or other subsystems? >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> Joaquín >>>>>>>>> ___________________________________________________________________ >>>>>>>>> Gerente de Desarrollo, eHealth Systems <http://www.ehs.cl/> >>>>>>>>> Research Fellow, Escuela de Medicina de >>>>>>>>> Harvard<http://hms.harvard.edu/> >>>>>>>>> Moderador, GHDOnline.org <http://www.ghdonline.org/> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Feb 9, 2012 at 4:12 AM, Wyclif Luyima >>>>>>>>> <[email protected]>wrote: >>>>>>>>> >>>>>>>>>> Apparently i forgot to attach the sample apps zip file, pleased >>>>>>>>>> find the attachment to this email. >>>>>>>>>> >>>>>>>>>> Sorry about that. >>>>>>>>>> >>>>>>>>>> Wyclif >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thu, Feb 9, 2012 at 2:06 AM, Wyclif Luyima <[email protected] >>>>>>>>>> > wrote: >>>>>>>>>> >>>>>>>>>>> Hello everyone, >>>>>>>>>>> >>>>>>>>>>> We are proud to announce that SMART container 1.0.0 is >>>>>>>>>>> available, this is the first major release of the module. It can be >>>>>>>>>>> downloaded from the modules download<https://modules.openmrs.org> >>>>>>>>>>> page >>>>>>>>>>> and its documentation is located at >>>>>>>>>>> documentation<https://wiki.openmrs.org/display/docs/Smart+Container+Module>. >>>>>>>>>>> In >>>>>>>>>>> summary, it adds the necessary features required to transform an >>>>>>>>>>> OpenMRS >>>>>>>>>>> instance into a SMART app container, meaning that you can download >>>>>>>>>>> a SMART >>>>>>>>>>> app manifest file, install it in OpenMRS and start using it right >>>>>>>>>>> away, see >>>>>>>>>>> SMART<http://wiki.chip.org/smart-project/index.php/Main_Page#What_is_SMART.3F> >>>>>>>>>>> for >>>>>>>>>>> more details about SMART. >>>>>>>>>>> >>>>>>>>>>> Attached to the email is a zip file with some sample apps you >>>>>>>>>>> can try out, other sample apps can be downloaded from the SMART >>>>>>>>>>> website at >>>>>>>>>>> http://sample-apps.smartplatforms.org/framework/ >>>>>>>>>>> >>>>>>>>>>> A big thanks to Balachandiran Ajanthan who spent last summer >>>>>>>>>>> working on most aspects of the module under the GSoC programme, >>>>>>>>>>> Josh Mandel >>>>>>>>>>> and the SMART team for all their input. Thanks also to the >>>>>>>>>>> developers and >>>>>>>>>>> everyone else in the community that has contributed in various ways. >>>>>>>>>>> >>>>>>>>>>> We are looking forward to any form of feedback from you about >>>>>>>>>>> the module, in case you happen to discover any obscure bugs, please >>>>>>>>>>> you can >>>>>>>>>>> create tickets through our issue tracking system jira at project >>>>>>>>>>> page <https://tickets.openmrs.org/browse/SMART> >>>>>>>>>>> >>>>>>>>>>> Kind regards, >>>>>>>>>>> >>>>>>>>>>> Wyclif >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> ------------------------------ >>>>>>>>>> Click here to >>>>>>>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>>>>>>> OpenMRS Developers' mailing list >>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------ >>>>>>>>> Click here to >>>>>>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>>>>>> OpenMRS Developers' mailing list >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------ >>>>>>>> Click here to >>>>>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>>>>> OpenMRS Developers' mailing list >>>>>>>> >>>>>>> >>>>>>> ------------------------------ >>>>>>> Click here to >>>>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>>>> OpenMRS Developers' mailing list >>>>>>> >>>>>> >>>>>> ------------------------------ >>>>>> Click here to >>>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>>> OpenMRS Developers' mailing list >>>>>> >>>>> >>>>> ------------------------------ >>>>> Click here to >>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>> OpenMRS Developers' mailing list >>>>> >>>> >>>> ------------------------------ >>>> Click here to >>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>> OpenMRS Developers' mailing list >>>> >>> >>> ------------------------------ >>> Click here to >>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>> OpenMRS Developers' mailing list >>> >> >> ------------------------------ >> Click here to >> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >> OpenMRS Developers' mailing list >> > > ------------------------------ > Click here to > unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from > OpenMRS Developers' mailing list > _________________________________________ To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to [email protected] with "SIGNOFF openmrs-devel-l" in the body (not the subject) of your e-mail. [mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]

