FeelGood

*Update- FeelGood project became the winner for Ethdenver hackathon.

(Built with love by @Team Phoenix at EthDenver hackathon 2018)

🔺 A blood donation system which provides end to end traceability through web and mobile 🔺

🏥

Synopsis:

Blockchain-based blood donation system: A unique way to trace blood and add accountability to the ecosystem by:

  • Enabling digital signing of donated blood bottles by an authorised donation center
  • Tracing and signing a pint of blood by the testing center

(unique feature- The testing center can digitally sign by using a basic QR code readable camera phone and verify the quality of blood received)

  • Empowering the health center (and therefore, the consumer of the blood) to track the history of blood and utilize it

Motivation:

Human blood is invaluable. It can not be manufactured like electronic devices and there is no substitute to it.

Every 2 seconds, someone in the US needs blood. Even though, we DONATE blood, the industry in itself holds a market of a massive $ 4.5 billion USD annually in the US. [Forbes]

❗ Unfortunately, there have been cases of innocuous and malicious blood donation, which has led to diseases like HIV AIDS and Syphilis to patients accepting blood from donors. ❗

-In the early 1990s, America's industry leader in blood supply, Red Cross closed its center in Washington DC after it was discovered that 235 people who had received blood from their donors tested positive for HIV AIDS virus. [ NYTimes ]

-In 2008, the Center for Disease Control (CDC) uncovered 3 cases in Colorado where patients received contaminated blood which caused AIDS. [ CDC report ]

-This number is miniscule compared to such cases happening in developing countries like India. [ Science Alert:2000 cases in India ]

Most importantly, we are developing a new diverse industry by facilitating blood donation in an accountable and transparent way from developing countries in rare medical conditions such as [ Haiti gets blood from Italy, South Africa and USA: RedCross ] [ Blood test/supply internationally between Geneva and Paris ] [ Cross european blood transfer ]

Technologies:

Solidity (Ethereum platform), React-JS, uPort API, Ant.design, react-scripts, qrcode.react, uport-connect, open-zeppelin

USP of our project/novelty:

🌟 🌟 🌟

  • We are providing transparency and tracebility in an inexpensive way. The Donation Center, Testing Center and Health Center need a uPort application in their smart phones to digitally sign a contract/attest quality of blood.

  • Moreover, we have generated QR code labels for bottles/pints of blood which can be just read by a simple camera and taken directly to authentication page. Note: No web-app will be required if the testing and health center go with this route. This kind of a mechanism hasn't been implemented before.

Implemention:

  1. A donation center authorized by the government (Like Red Cross, Denver) takes donors information and signs it using uPort (calling a smart contract) which logs the information and stores it using events.

  1. A testing center will have laboratory assistant verifying about the quality of blood after coducting tests like -- Rho, Alpha, HIV and Syphilis. The assistant will scan the QR code attached on bottle and confirm the transaction.

  1. A health center will be able to view all transaction history (ie. Information was verified by the donation center, and blood was tested in the lab) and then gets to filter the blood group they need for a patient. The doctor will only be able to view blood pints which are verified and unexpired. After utilising the blood resource, the doctor will sign a transaction confirming the consumption.

How to use

  1. Clone repo and cd into it
  2. Register your own uPort app from here
  3. Create src/Key.json and put your uPort signer into it like {"uPortSigner": "YOUR_KEY"}
  4. yarn
  5. yarn start
  6. cd src && truffle console
  7. Inside truffle console, migrate, note if you deploy this app to the mainnet, it will cost you real money.
  8. Modify address in init_contract.js
  9. Inside truffle console, exec init_contract.js

Authors

  1. Parth Gargava
  2. Zhongjie(Eric) He

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments:

We thank EthDenver hackers and organizing committee for giving us the opportunity to build FEELGOOD. ❤️