Blockchain is not only medium of cryptocurrency but also a totally decentralized and immutable database! There's a lot of stuff could be done with it, e.g. build digital archives that we won't worry be shut down for some political party's profit and more likely to record the truth. We picked another topic that is closer to our routines, medical record management.

What it does

MedChain is basically a so-called "smart contract" for medical record management. That means not only the data is stored on a blockchain, it also runs on a blockchain! There are two main qualities that makes it stand out from traditional solutions. The first thing is it makes sharing these records between patients and doctors much easier with in some aspect even higher security level. The second thing is it's immutability could contribute very much on medical research, drug abuse preventing and personal health care management.

How we built it

We basically used the resource provided on ethereum platform. After clarifying our idea and goal, we came down to plan and design the rules of right control to make sure only the owner of record can allow others get to his/her record and only the authenticated doctors are able to write on their patients' record. As for the programming part, we used solidity as our smart contract language and node.js with web3.js APIs to connect off-chain and on-chain components.

Challenges we ran into

Web3.js really SUCKS!!!!! The latest release is lack of documentation especially when it comes to call non constant functions in the smart contract. We used up more than 20 hours to figure out how those APIs works by diving into the source code. We even moved part of our implementation to IPFS and it turns out that might not be a bad idea.

Accomplishments that we're proud of

Found out tons of bugs and potential issues in web3.js.

What we learned

  1. A brand new language solidity.
  2. How blockchain and smart contract works.
  3. IPFS.
  4. Never assume that a framework is handy.

What's next for MedChain

Fix Bugs.

Built With

Share this project: