GSoC 2021 : SMART-on-FHIR - Final Presentation

Project Summary

Overview

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.

Objectives

  • Support the EHR launch for the 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 request:

  1. FM2–389 : FM2-389: Refactor the code by theanandankit · Pull Request #17 · openmrs/openmrs-module-smartonfhir · GitHub
  2. FM2–395 : FM2-395: Support standalone launch for Encounter context by theanandankit · Pull Request #18 · openmrs/openmrs-module-smartonfhir · GitHub
  3. FM2–403 : FM2-403: Add Launch Type in Redirect URl by theanandankit · Pull Request #14 · openmrs/openmrs-contrib-keycloak-smart-auth · GitHub
  4. FM2–406 : FM2-406: Update Keycloak plugin version to 14.0.0 by theanandankit · Pull Request #15 · openmrs/openmrs-contrib-keycloak-smart-auth · GitHub
  5. FM2–407 : FM2-407: Handle LaunchType present in Token by theanandankit · Pull Request #19 · openmrs/openmrs-module-smartonfhir · GitHub
  6. FM2–202 : FM2-202: Expire the OAuth2 token when the user logs out of OpenMRS by theanandankit · Pull Request #20 · openmrs/openmrs-module-smartonfhir · GitHub
  7. FM2–423 : FM2-423: Fixed ModuleException when SMART-on-FHIR load before Keycloak by theanandankit · Pull Request #21 · openmrs/openmrs-module-smartonfhir · GitHub

GitHub Repository I have worked on:

  1. Created the Demo SMART APP for OpenMRS to test and analyze our results.

2. Dockerized the complete SMART-on-FHIR project.

Week Blog Posts

Here is a list of all the weekly blogs:

Weekly Blogs Progress Link

  1. Week 0: GSoC 2021 at OpenMRS | Community Bonding Period | by Ankit Kumar | Medium
  2. Week 1: GSoC’21 @OpenMRS | Coding Period | Week 1 | by Ankit Kumar | Medium
  3. Week 2: GSoC’21 @OpenMRS | Coding Period | week 2 - Ankit Kumar - Medium
  4. Week 3: GSoG’21@OpenMRS | Coding Period | week 3 - Ankit Kumar - Medium
  5. Week 4: GSoC’21@OpenMRS | Coding Period | Week 4 - Ankit Kumar - Medium
  6. Week 5: GSoC’21@OpenMRS | Coding Period | Week 5 - Ankit Kumar - Medium
  7. Week 6: GSoC’21@OpenMRS | Coding Period | Week 6 - Ankit Kumar - Medium
  8. Week 7: GSOC’21@OpenMRS | Coding Period | Week 7 - Ankit Kumar - Medium
  9. Week 8: GSoC’21@OpenMRS | Coding Period | Week 8 - Ankit Kumar - Medium
  10. Week 9: GSoC’21@OpenMRS | Coding Period | Week 9 - Ankit Kumar - Medium
  11. Week 10: GSoC’21@OpenMRS | Coding Period | Week 10 - Ankit Kumar - Medium

Documentation

I have also worked on writing the Kecyalok setup documentation, Here is the link

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

Resources

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

  1. SMART App Launch Framework
  2. SMART App Launch: Conformance
  3. Keycloak - Documentation
  4. About this documentation | Node.js v16.10.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 @ibacher and @sidvaish97, 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, everyone.

2 Likes