/EtherHeal

Ethereum Blockchain, Organ Donation transplant matching

Primary LanguageJavaScript

EtherHeal

Ethereum based Organ Donation & Transplant Matching

Winning Project 1st: SynerGE HACK'E'LTH 2020

Team Members:

Organ Donation and Transplant Matching system using Ethereum blockchain, to provide functionalities like donor-recipient automated transplant matching for organ donation, easy access of medical records, and holistic platform for the whole system; in a highly secure, traceable and automated way, aiming to enhance the whole system and process of organ distribution as well as transplant matching,saving lives and curb illegal activities like trafficking, etc.

topics: ethereum blockchain, smart contracts, organ donation, transplant matching, EMR, decentralized application.

Presentation Link: TrojanX_Presentation

Demo Video: TrojanX_Demo Video

Getting Started

Steps to run:

  • clone the repository
  • cd to the directory with the repository
  • cd to Complete Project folder
  • run npm install
  • Next, navigate to seed folder and run node hospital-seeder.js (only for the first time you setup the app locally)
  • Now, navigate to client folder and run npm install
  • run the backend using npm start in the Complete Project folder.
  • Now, Navigate to client folder and run npm start to start frontend

Software Prerequisites to test the application properly:

  • Ganache: Development tool for creating test development blockchain environment. It should be installed and a workspace shoud be running, with the smart conttract deployed in it on any address, from the remix IDE after compilation.

  • Remix IDE: browser based IDE for creating, compiling and deploying smart contracts. Upload the 'EtherHealFinal.sol' file on the IDE, compile, and deploy on ganache workspace on specific adress.

  • Metamask: Browser extension based interface for the transactions. Will automatically connect to the app upon activation.

  • The below tweaks for setup might require some knowledge of blockchain development.
    (the address of the deployed smart contract should be added to the contract 'address' variable in oc.js in 'client' folder and 'hospitals' folder inside 'client' folder. Metamask should be connected as a custom RPC to the active ganache workspace.)

Views

  • Donor Signup:
    Fill out the form and click on the submit button to register as a new donor.

  • Donor Login:
    Enter the ethereum address (public key) of the donor to view the current application status.

  • If donor has not been matched with any recipient:-
    It doesnt show the hospital and recipeint details as its not matched yet.

  • If donor has been matched with any recipient:-
    It shows the hospital and recipeint details of the matched recipient.

  • Hospital Login:
    Enter the hospital name and password to move to the dashboard.

Hospital Dashboard

The hospital dashboard offers several functionalities each of which can be accessed by choosing the right option from the taskbar and filling out the required details.

Some of the functionalities are:

  • Approve Donor:
    To approve a signed up donor using his public key

  • Register Recipient:
    To register a recipient on the platform

  • Transplant Match:
    Automated Transplant matching based on city, blood tyep, organ, etc.

  • Patient Record:
    Upload and access medical records of the patient and donor.