Skip to content

A decentralized web application using ReactJS, Flask, Solidity, IPFS and the Ethereum Blockchain to store and view all medical documents securely.

License

Notifications You must be signed in to change notification settings

sherwyn11/Medi-Care

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Medi-Care

A decentralized web application using ReactJS, Flask, Solidity, IPFS and the Ethereum Blockchain to store and view all medical documents securely.

About the D-App

The app has 2 main users:

  1. Patient
  2. Doctor (in development)

Patients can:

  1. Upload a document to the blockchain. The document is added as a node in IPFS which returns a hash. The hash is then stored on the blockchain
  2. View the uploaded documents.
  3. Analyse the uploaded documents. The text from the document is extracted and NER(Named Entity Recognition) is performed on the text using BERN(Biomedical Entity Recognition and multi-type Normalization tool.)
  4. Analyse their reports to find keywords related to Drugs or Diseases.
  5. Add a trusted doctor to view their medical documents.

Doctors can:

  1. Upload a medical document about a certain patient to the blockchain.
  2. View a certain patient's uploaded document.

System Architecture

System Architecture

Number Description
1 User scans and uploads a medical record.
2 The record is then encrypted from the client side and sent to the Flask Server.
3, 4 The Flask server sends this encrypted file to the IPFS network for storage. Once stored, it returs back a file hash.
5 The file hash is then returned back to the client app.
6 The hash is then stored securely on the Ethereum Blockchain
7 The user can then choose to perform NER(Named-Entity-Recognition) on the data in the medical record. This is the make the user aware about the complex terms and data in the report. The record is sent to the Flask server.
8, 9 The Flask server runs the BERN model on the recieved data after performing OCR on the report to get the text from the scanned medical record PDF. The medical keywords are then passed back to the Flask server.
10 The Flask server sends this data back to the client app and the client can view the keywords and click on it for more information
11 The doctor can view the medical record(s) of ONLY his/her patient.

About the Ethereum Blockchain

Ethereum is an open source, public, blockchain-based distributed computing platform and operating system featuring smart contract functionality.

About the InterPlanetary File System(IPFS)

The InterPlanetary File System is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices.

Dependencies

  • React.js
  • Web3.js
  • Ganache-cli
  • Truffle
  • Solidity
  • Metamask
  • Flask
  • Ipfs
  • Pytesseract

Getting Started

Clone the repository

git clone https://github.com/sherwyn11/Medi-Care.git

To run React development server

cd blockchain
npm install
npm start

To run Flask server

  • First start IPFS daemon
cd server
python app.py

Working Demonstration

(This project is still under development)

References

How Can Blockchain Keep Medical Records Secure?

License

License: MIT

MIT License Link

© 2020 Sherwyn D'souza

About

A decentralized web application using ReactJS, Flask, Solidity, IPFS and the Ethereum Blockchain to store and view all medical documents securely.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published