In the post COVID-19 world there will be an urgent need to verify the medical records of the patient before he or she is allowed to travel around. The authorities will need a way to verify patient records for travelers. WellPass enables easy access of medical data to authorities like hotels/airports. The end users don’t need to carry their offline copies of their medical reports. The authorities just need a simple app or the web interface to check the validity of the claims by the users.
## What it does WellPass is a web based application for securely storing and verifying patient data. We use Ethereum blockchain & IPFS (InterPlanetary File System) for secure and decentralized storage of medical records. The user requests his data from his dashboard. The approved hospital receives the patient’s request and adds the encrypted data to blockchain. After that a QRCode is generated for the user which stores the patient data. When the user arrives at the airport/hotel, he/she simply displays his/her code to the authorities, they in turn scan the code via the web application or the mobile application. If the data is valid they are allowed to work. This prevents any sort of forgery of data by anybody. We have also created an admin panel for authorizing the right hospitals.
How I built it
We have developed a full stack application using Nodejs,MongoDB & Express which uses JWT based authentication. The patient records are encrypted with Eth-crypto and then stored on ethereum blockchain via smart contracts & the reports are stored on the InterPlanetary File System(IPFS) network. QR scanner is implemented using JsQR library. The Android App uses Vision API from Google to scan the QR Code.
Challenges I ran into
- Some challenges that we faced were creating an ethereum wallet for the users and the hospitals, using JWT authentication and implementing QR code scanner in our web app.
- Using JWT authentication in NodeJs
- Implementing Model-View-Controller pattern in backend
- Setting MongoDB Atlas
- Defining Complex Schema's in MongoDb
- How to setup a full stack application using the MEN stack
- How to Deploy a web app
- Setting up express and using middleware for custom error handling
Accomplishments that I'm proud of
We successfully implemented an ethereum wallet that is stored in the user's browser. We also created a QR code from the blockchain data. Also making a production grade application which has a real world use case ## What I learned While working in this project, we learned how to implement ethereum blockchain in a web app. We learned how to use IPFS and store image data on it. The storage of patient data records required encryption so we used Eth-crypto to encrypt and decrypt the data. We also learned how to use Mongodb, along with Express, and Nodejs.
What's next for
Wellpass We plan to shift to some other blockchain with a different mining system so that the time a transaction takes to confirm can be reduced.