Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bayesianinstitute/ehr-using-blockchain

EHR Management Using Blockchain
https://github.com/bayesianinstitute/ehr-using-blockchain

blockchain ehr heathcare ipfs smart-contracts

Last synced: about 2 months ago
JSON representation

EHR Management Using Blockchain

Awesome Lists containing this project

README

        

# Blockchain-For-EHR-Management-Medishield
A decentralized system for managing electronic health records using blockchain and IPFS.

## Introduction

The aim of this framework is firstly to implement blockchain technology for EHR and secondly to provide secure storage of electronic records by defining granular access rules for the users of the proposed framework. Moreover, this framework also discusses the scalability problem faced by the blockchain technology in general via use of off-chain storage of the records. This framework provides the EHR system with the benefits of having a scalable, secure and integral blockchain-based solution.

## Installation

The projects requires NodeJS and npm to work. Instructions to install all other dependencies are given below.

### Node modules

1. Move to the project directory and open it in your terminal.
2. Run `npm install` to install project dependenccties.

### Ganache

1. Go to [Ganache homepage](https://truffleframework.com/ganache) and download.
2. If you are on Linux, you must have received an _.appimage_ file. Follow installation instructions available [here.](https://itsfoss.com/use-appimage-linux/)

### IPFS

- Download and install ipfs in your system link on this to follow this step :

https://docs.ipfs.tech/install/command-line/#install-official-binary-distributions

### Local server

1. Install Node lite-server by running the following command on your terminal `npm install -g lite-server`

### Metamask

1. Metamask is a browser extension available for Google Chrome, Mozilla Firefox and Brave Browser.
2. Go to the this [link](http://metamask.io/) and add Metamask to your browser.

## Getting the dApp running

### Configuration

#### 1. Ganache

- Open Ganache and click on settings in the top right corner.
- Under **Server** tab:
- Set Hostname to 127.0.0.1 -lo
- Set Port Number to 7545
- Enable Automine
- Under **Accounts & Keys** tab:
- Enable Autogenerate HD Mnemonic

#### 2. IPFS

- Fire up your terminal and run `ipfs init`
- Then run

```
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "[\"*\"]"

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials "[\"true\"]"

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods "[\"PUT\", \"POST\", \"GET\"]"

```
- Run `ipfs daemon` in terimal.

> Note: If you face any issues with the above command on windows, try using command prompt and escape sequences or git bash.

#### 3. Metamask

- After installing Metamask, click on the metamask icon on your browser.
- Click on **TRY IT NOW**, if there is an announcement saying a new version of Metamask is available.
- Click on continue and accept all the terms and conditions after reading them.
- Stop when Metamask asks you to create a new password. We will come back to this after deploying the contract in the next section.

### Smart Contract

1. Install Truffle using `npm install truffle -g`
2. Compile Contracts using `truffle compile`

#### 1. Starting your local development blockchain

- Open Ganache.
- Make sure to configure it the way mentioned above.

1. Open new Terminal and deploy contracts using `truffle migrate`
2. If you change contents of any contract , replace existing deployment using `truffle migrate --reset`

### Running the dApp

#### 1. Connecting Metamask to our local blockchain

- Connect metamask to localhost:7485
- Click on import account
![alt text](https://raw.githubusercontent.com/game-of-codes/HealthCare-Blockchain/master/images/meta-1.png)
- Select any account from ganache and copy the private key to import account into metaMask
![alt text](https://raw.githubusercontent.com/game-of-codes/HealthCare-Blockchain/master/images/con-g1.png)

#### 2. Start a local server

- Open a new terminal window and navigate to `/YOUR_PROJECT_DIRECTORY/app/`.
- Run `npm start`.
- Open `localhost:3000` on your browser.
- That's it! The dApp is up and running locally.