GSoC’21@OpenMRS | SMART-on-FHIR Final Evaluation

Project Title : SMART-on-FHIR

Primary Mentor : Ian Bacher

Backup Mentor : Siddharth Vaish

Student : Ankit Kumar

Project Wiki : Link

Project overview

FHIR is an emerging standard for healthcare interoperability. OpenMRS has been an early adopter of the FHIR standard, but there is still more we could add to the FHIR module. One of the key pieces of FHIR-based technology we want to support is the SMART on FHIR App Launch Framework. This is a standard for connecting custom applications to a FHIR server in a secure manner. Essentially, it allows non-OpenMRS applications to talk to OpenMRS in a secure manner using the OAuth2 authentication framework.

The main objective of this project was to add the support of EHR and standalone launch for the Patient and Encounter context. Also, make sure that all modules work perfectly fine together. Configuring the keycloak was another major task. Finally, a fully working SMART-on-FHIR project was made to launch the SMART APP. We have also created a Demo SMART APP to test and analyze your project.

After the successful setup and configuration, our project result will look like this

Major Objective

  • Support the EHR launch for Patient and Encounter context.
  • Support the Standalone launch for Patient and Encounter context.
  • Support session logout functionality.
  • Dockerize the complete project.
  • Make a new Demo SMART APP.

Contributions

JIRA issues i have worked on and respective pull requests:

  1. FM2–389 : https://github.com/openmrs/openmrs-module-smartonfhir/pull/17
  2. FM2–395 : https://github.com/openmrs/openmrs-module-smartonfhir/pull/18
  3. FM2–403 : https://github.com/openmrs/openmrs-contrib-keycloak-smart-auth/pull/14
  4. FM2–406 : https://github.com/openmrs/openmrs-contrib-keycloak-smart-auth/pull/15
  5. FM2–407 : https://github.com/openmrs/openmrs-module-smartonfhir/pull/19
  6. FM2–202 : https://github.com/openmrs/openmrs-module-smartonfhir/pull/20
  7. FM2–423 : https://github.com/openmrs/openmrs-module-smartonfhir/pull/21

GitHub Repository I have worked on:

  1. Created the Demo SMART APP for OpenMRS to test and analyze our result. https://github.com/openmrs/openmrs-contrib-demo-smart-app
  2. Dockerized the complete SMART-on-FHIR project. https://github.com/theanandankit/openmrs-keycloak-dockerized-setup

Documentation work:

We have also worked on writing the keycloak setup documentation, Here is the link

https://wiki.openmrs.org/display/projects/Using+Keycloak+for+SMART-on-FHIR+Support

Week Blog Posts

List of all the past weekly posts:

  1. Week 1 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-1-cdfac319c217
  2. Week 2 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-2-699f2f9ea917
  3. Week 3 : https://ankitanand2909.medium.com/gsog21-openmrs-coding-period-week-3-3a960139eb07
  4. Week 4 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-4-e62307609442
  5. Week 5 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-5-dabc2319470a
  6. Week 6 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-6-ffe73c3019cb
  7. Week 7 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-7-cdc359028937
  8. Week 8 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-8-722352b0567e
  9. Week 9 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-9-b50c4c146b1c
  10. Week 10 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-10-b22bd93b0cb1

Resources

Here is a list of all the resources that were used in out project:

  1. SMART App Launch Framework
  2. SMART App Launch: Conformance
  3. Keycloak — Documentation
  4. About this documentation | Node.js v16.7.0 Documentation
  5. https://docs.smarthealthit.org/

Future Works

One of our main priorities will be to bring the project into production. We are still working on giving our project a final touch. There is still some need for enhancement in the SMART APP. Also, we are planning to change the UI of the keycloak login screen to be more similar to the OpenMRS UI.

Thoughts on GSoC

This past summer was the most exciting and challenging summer for me. I would like to thanks my mentors Ian Bacher and Siddharth Vaish, who guided me at every point in time. Also, the OpenMRS community helped me throughout my coding period. Every day, we tried something new this summer, which inspired me to do my best and learn new things. GSoC gave me the exposure to work with such a big codebase. Overall, GSoC with OpenMRS gave me confidence and helped in developing technical as well as communicational skills. I would also like to thank Google for giving me such a wonderful opportunity.

Thank you for Reading.

GSoC'21 @OpenMRS | Android Developer | IIIT Gwalior