Inspiration
Clinical trials have the potential to significantly boost (or even save) the quality of life of their participants and are and instrumental step in the clinical research process. However, it is incredibly difficult to assemble a group of diverse participants. Therefore, during this hackharvard our group set out to help remedy this issue through the creation of a crypto powered web application.
We wanted our app to be beneficial to both the patients and researchers. The participants will be compensated with some cryptocurrency for their involvement in a clinical trial, as well as a greater exposure to clinical trials. The researchers on the other hand would have a hash of the participants healthcare record (with a copy of the full record being stored on our MongoDB server) stored in the Pi-chain. This would allow them to track the status of the files and ensure that they were not tampered with outside of data collection.
What it does
The app does 3 main things. It provides individuals with a simpler way to browse and enroll in clinical trials and while also getting rewarded for their contribution. For the researchers, on top of a potential increase in clinical trial enrollment they are also getting an immutable, time stamped record record of the clinical trials results. Lastly, it incentivizes participants to share their EHR record with clinicians early, which would decrease the time spent waiting.
How we built it
This project had a lot of moving parts and involved the use of a lot of different technologies. The frontend was created using reactJS, and we made a mongoDB database to store the a collection of ongoing clinical trials, the pre-screening surveys associated with said trials, and user accounts. We chose to use MongoDB because it is HIPPA compliant.
We got the EHR data by following the SMART on FHIR protocol for a quick javascript webapp.
We used the pi-network to store a hash of the participants electronic health record in the metadata of a payment process. We used reactJS for the frontend and expressJS for the back end functionality.
Challenges we ran into
Almost every single step of the process was met with a new challenge. Setting up the pi network took a significant chunk of our development time, and we ended up spending close to two hours working with the pi mentors late into the night trying to get our pi environment set up. Figuring out how to properly interface the users with the EHR database was also incredibly challenging.
We spent close to 5 hours trying to host our app on google cloud, however no matter what we did we were not able to interface our cloud with the MongoDB database.
One of our team members made the mistake of not bringing a laptop with a UNIX operating system, which forced him to have to install a linux VM halfway through the competition. As we later found out, the VM greatly throttled the performance, which made the first couple hours of development excruciatingly slow.
Merging all of our code on github somehow broke the entire app, so we had to prune a lot of features for the final presentable build.
Lastly, the internet speeds sometimes left us with nothing to do for intervals of 20-30 minutes as we waited for our dependencies to download.
Accomplishments that we're proud of
After about 20 nonstop hours of trying, we were finally able to store a hash of the patients JSON object on the pi blockchain!
What we learned
- How to develop SMART on FHIR applications
- How to work with the pi network/web3 network
- Developed a novel way to store health records data on the Pi blockchain
What's next for Clincentive
Clincentive still has a lot of work to go! We have the app made in 3 pieces, the react/mongo webapp for storing/accessing clinical trials, the pi-network transaction implementation, and the SMART on FHIR EHR downloading app, so first and foremost the plan would be to stitch all 3 pieces together. We would also need to figure out a way to host our application on the cloud and interface it with mongoDB database to store patient records as well as clinical trials.
Additionally, adding a small reward for just sending in an application might motivate users to apply more, although steps would need to be taken to prevent spam applications.
Log in or sign up for Devpost to join the conversation.