Note: There have been bugs with IPFS integration due to changes in Infura. Also, please be mindful that smart contracts have not undergone any audits and not to be used on Mainnet.
Revolutionizing healthcare data management: blockchain-based medical record storage for patients and insurance companies
Untitled.mp4
Table of Contents
The data privacy of patients is essential because it involves sensitive personal information, such as medical records, test results, and health history. If failed to do so it can result in various consequences, such as financial loss, identity theft, damage to reputation, and even physical harm. It can also lead to discrimination, as individuals with certain health conditions may face challenges in obtaining health insurance.
Our project MediChain seeks to address these challenges by leveraging the power of blockchain to create a secure, decentralized platform for storing and sharing healthcare data. By doing so, we hope to empower patients and Insurance providers, to make more informed decisions, improve outcomes, and advance the field of healthcare as a whole.
- We will be implementing insurance policy as ERC-721 Standard (i.e Non-Fungible Tokens), so as to specify the uniqueness and ownership of each insurance policy.
- We will be giving patients the flexibility to buy health insurance policy according to their preference instead of defined policies by the insurance provider.
- We will predict policy annual premium amount using Machine Learning techniques based on factors like patient's age, location, etc.
Following technologies and libraries are used for the development of this project.
To setup the project locally follow the steps below
- Node.js
- Ganache
- Metamask Wallet Extension or a Web3 browser like Brave
To set this up in the local repository:
- Fork and clone the project to your local system
- Copy the commands below to install the dependencies:
npm i -g truffle
npm run client:install
npm run truffle:install
-
Now, start a local Ethereum blockchain network on your system using Ganache. Ganache provides you with 10 testing accounts each with 100 ETH.
-
Obtain Infura API Key and API Secret for IPFS from Infura Dashboard, and create a dedicated gateway for your project. Set the environment variables in
client/.env
file. Or you can renameclient/.env.example
toclient/.env
REACT_APP_INFURA_PROJECT_ID=...
REACT_APP_INFURA_API_KEY_SECRET=...
REACT_APP_INFURA_DEDICATED_GATEWAY=....
- Then, copy the following commands to deploy the smart contracts to the local Ethereum blockchain and start the React app:
npm run truffle:migrate
npm run client:start
-
Set up Metamask to connect to the local blockchain created by Ganache(i.e. http://localhost:8545/)
-
Now, obtain the private keys of some of the accounts from Ganache and import the accounts into Metamask wallet.
-
You're ready to go. Visit http://localhost:3000/ to check out MediChain