Project: Build LibreHealth Toolkit on top of HAPI FHIR

The FHIR standard has become de-facto way for RESTful communication with EHR systems. We would like to have the next version of lh-toolkit to be based on FHIR RESTful services. However, the rapid changes in the FHIR standard are hard to follow. Thankfully, the HAPI library is a high-quality, robust Java-based library that we can use to be up to date with the FHIR releases.

The GSoC project will build on the HAPI JPA server and have the following main deliverables:

  1. Deploy it over MySQL/PostgreSQL using JPA.
  2. Add authentication using Spring Security with handlers for password and OAuth
  3. Add authorization based on roles and permissions defined in a database table
  4. Add ways to deploy a user-interface that can be uploaded to the tomcat server

Bonus: Allow for uploaded and deploying modules that can add additional web services using Spring MVC or Servlets or another Java Web Services approach.

Mentors: @sunbiz and @namratanehete

The starter task would be to create a docker image that deploys HAPI JPA server on tomcat on MySQL database. Please post the link to the your docker image/compose repository, so that it improves your GSoC application.

Hi Saptarshi, I looked at the HAPI FHIR docs and I have completed the docker setup from the hapi-fhir-starter from their github repo. Anything else that I can work on?

@ashx404 this is what you need to do. Follow directions. We are also seeing how well you follow directions and do basic research.

1 Like

@r0bby I have completed the starter task, got an overview of the project. I should start writing my proposal.

Provide the necessary links here

Provide the link here to your proposal. All mentors should be able to look.

Hi, really sorry for the late response.Caught a very bad flu and couldn’t work on the proposal. I guess I am already running late in the submission process. I had few doubts regarding the deliverables as I have to explain in the proposal how I am going to proceed and develop it .

  1. I was able to understand what HAPI-FHIR is and it provides a smooth REST backend for CRUD operations. The first,second and third case are pretty straight forward but I am not sure what the fourth one demands. Please clear me on this whether it is to develop a frontend like in the current version at as the second part includes creating authentication. or is it something else.

  2. What third party OAuth services are to be added so that I can mention everything in detail in proposal.

  3. Bonus part as in what type of modules (how are they related to the LH-Toolkit) should be allowed.

The 4th is to be able to make it possible to deploy the user-interface that is built using web components, into this HAPI FHIR backend. It is not to build the UI by yourself.

It is not a third-party OAuth. But the Toolkit to be a OAuth service provider, so that apps can use it as OAuth and authenticate into the Toolkit-based EHR.

These are packaged zip files that can be deployed to add new webservices into Toolkit, besides the HAPI FHIR ones.

Oh, so it is something that other apps can use it to fetch details from a unified database. Looks quite interesting.

FHIR allows for EHR systems to interoprate with each other and exchange data – which is one of the amazing things about it.

1 Like

Correct me if I am wrong, So in my knowledge of the project, what according to me the deliverables are:

  1. Connecting the Backend with a database which includes all the data of an EHR system plus the user details to authenticate.
  2. Using Spring Security to build a password based login REST to access the EHR as an user and also able to create an OAuth Structure for LH-Toolkit for other apps to fetch data as a user.
  3. Creating users with different roles (database should contain role and permissions allowed for example for a returning user or a admin).
  4. Create the EHR backend such that a user-interface can be easily implemented separately (built on lh-toolkit componenets). I am not sure if I have to develop an interface in the project itself or not.

@sunbiz @r0bby Can you please respond so that I can complete my draft.

You need to be patient.

1 Like

Okay, but I just need to clear few things before I can draft and the deadline is almost here.

I can’t answer the question. Draft what you can and correct things that need to be corrected later.


@ashx404 finalize your proposal

1 Like

Yea. I did. Got it reviewed by @sunbiz. I was able to make some of the changes he told me to do. Added details etc. But when I exported it, I guess, Google sheets wasn’t on my side today, the diagrams weren’t there. but somehow I got the diagrams, but it messed the formatting of the proposal.So had to submit it like that. Anyways, the proposal period is done. Hoping everything goes fine. :slight_smile:

1 Like

Well good work and good luck. We can’t tell you anything from this point forward.

1 Like

have you even tried and seen that this works?

Yea. It was working fine on my local. The HAPI-FHIR server page loaded when I accessed docker-ip:8080/hapi-fhir-jpaserver