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
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 runnode hospital-seeder.js
(only for the first time you setup the app locally) - Now, navigate to
client
folder and runnpm install
- run the backend using
npm start
in theComplete Project
folder. - Now, Navigate to
client
folder and runnpm start
to start frontend
-
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.)
- 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.
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.