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:
- FM2–389 : https://github.com/openmrs/openmrs-module-smartonfhir/pull/17
- FM2–395 : https://github.com/openmrs/openmrs-module-smartonfhir/pull/18
- FM2–403 : https://github.com/openmrs/openmrs-contrib-keycloak-smart-auth/pull/14
- FM2–406 : https://github.com/openmrs/openmrs-contrib-keycloak-smart-auth/pull/15
- FM2–407 : https://github.com/openmrs/openmrs-module-smartonfhir/pull/19
- FM2–202 : https://github.com/openmrs/openmrs-module-smartonfhir/pull/20
- FM2–423 : https://github.com/openmrs/openmrs-module-smartonfhir/pull/21
GitHub Repository I have worked on:
- Created the Demo SMART APP for OpenMRS to test and analyze our result. https://github.com/openmrs/openmrs-contrib-demo-smart-app
- 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:
- Week 1 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-1-cdfac319c217
- Week 2 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-2-699f2f9ea917
- Week 3 : https://ankitanand2909.medium.com/gsog21-openmrs-coding-period-week-3-3a960139eb07
- Week 4 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-4-e62307609442
- Week 5 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-5-dabc2319470a
- Week 6 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-6-ffe73c3019cb
- Week 7 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-7-cdc359028937
- Week 8 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-8-722352b0567e
- Week 9 : https://ankitanand2909.medium.com/gsoc21-openmrs-coding-period-week-9-b50c4c146b1c
- 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:
- SMART App Launch Framework
- SMART App Launch: Conformance
- Keycloak — Documentation
- About this documentation | Node.js v16.7.0 Documentation
- 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.