Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
“Kidner is a platform that helps people in finding match for kidney exchange. It's a global database, Blockchain-based, and secured with cryptographic tools.”
Alice has kidney problems: she needs a transplant. Luckily, Bob is willing to give her one of his kidneys, but the problem is that Alice and Bob are not a match from a medical perspective. Carol has kidney problems too, she needs a transplant and Dave is willing to give her one of his kidneys. But same problem: they are not a match. However, Carol and Bob are a match and Alice and Dave too! Each pair can help the other, let's swap!
Being on dialysis is terrible and expensive.About 60 billion is spent in the US each year on kidney healthcare. 28% of Medicares budget. Take a look at these striking numbers. 101 thousand Americans are on the transplant list with around 20 dying per day because they do not get a transplant. Transplants are overall much cheaper than ongoing dialysis. That is just the US, but it is a real worldwide problem. And the US is one of the better countries at it.
Dublin hosted the first european Blockchain Hackathon! We decided to form a team around the idea of a Kidney Pair Exchange Pool that was brought by one of us (@DavidCurran). Enough people understood that this was designed to be an altruistic system and the idea got enough support to form a motivated team around it.
The blockchain is a distributed database with no central authority. Past blocks in the chain cannot be modified: when something is stored on the blockchain, it stays there forever. The front end and blockchain smart contracts described below were developed by our team over the course of this weekend.
Filling the Certificate
Donor, Patient and Doctor meet at the Doctor's office. They are connected through the doctor's computer on the hospital VPN with direct access to the hospital database, so it’s secured. They will, each at a time, sign a certificate that states 3 things:
- Donor is willing to give a kidney
- Patient is willing to accept the kidney
- Doctor agreed that Patient health is okay and that it is ok for him to have a transplant & Donor health is okay and it’s ok for him to give a kidney. Public and Private keys are generated as a pair for each of them to sign the certificate (multisig).
The important thing is that during this process, the Doctor fills the form of its patients with the medical information that is needed for matching directly through our interface.
Example : birth_date, bloodtype and antigens.
Success! It's on the Blockchain
At the end of the process, the certificate is issued and can be found at its address on the Ethereum blockchain. Alvin Roth says that private hospitals in the US sometimes keep easy-to-match recipients off the national kidney database to prevent having to share income with another hospital where another kidney pair attend. This is from a patient perspective really absurd because these "easy-to-match" recipients will now have to wait for this match that benefit to hospital.
It is important to prevent those inequities and to aim at more fairness and more efficiency for all. It is what Kidner is about.
Back End & Blockchain
We used Ethereum platform for the blockchain infrastructure because of the smart contracts that can be run on it.
The doctor, recipient and donor information is encrypted on the doctor's desktop computer (in the hospital). All the medical information that enters the Blockchain is heavily encrypted. It makes it impossible for a person to look at the Certificate's data on the blockchain and understand what it means (bloodtype, antigens etc.) while making it possible for our Smart Contract to find matches! No third party has access to the data, there is no jumping the queue or anything. The process is automated and autonomously done by the matching algorithm. This "trick" is allowed by cryptographic encryption techniques.
The Matching Algorithm
Our Smart Contract is able to do the comparison between 2 encrypted certificates to see if they match. At the moment the encryption is naive -given the time constraints of the Hackathon- but we are presently working on integrating homomorphic encryption.
Blockchain technology allows people to see that the matching mechanism is transparent. It gives people a non-repudiable proof that their file was there before another and that they have priority for a transplant. Also they have a real knowledge of what is going on with their file. They can ask their doctor to launch a "search for a match" and if the answer is Yes, there is no way (for the hospital or anyone) to claim the opposit statement, and if it's No, then the patient know that he will have to wait for a real reason (not for the benefit of others). The Blockchain doesn't lie.
Last step -> Disclosure
Once the match is found by the matching algorithm, the news is shared with the Doctor of each pair (let's say Alice&Bob DoctorX on one hand, and Carol&Dave DoctorY on the other hand) and contact details are given. This way the doctors can call or email each other and arrange a swap in a very similar way to how it takes place today.
To Sum Up
In a weekend we learned enough on Ethereum to make a proof of concept on how to add data to a blockchain in a secure way and run a matching algorithm with a Smart Contract.
For the solution to be efficient and show its full potential, a bootstrap stage is mandatory which is why we want to work on the topic with hospitals in a crossborder fashion and include the Doctors and Patients with kidney disease in the thinking process.
In fact, it is a virtuous circle. If we have more hospitals in the network we will have a more decentralized blockchain, also we will build a larger kidney pairs pool and we will be able to find more matches!
There was an article about our project in the Dublin Globe: "Block Party: Europe’s Biggest Blockchain Hackathon" [See Here].
You can also join the group linkedin of the Kidner Project -> here. You will find all the team members here:
[Maurício Ferreira da Silva](https://www.linkedin.com/profile/view?id=AAgAABSdJp0B0IlAEWU772JbHC8NQ4k7L4o1Hh4&authType=name&authToken=dvPw&goback=%2Eanb_8436133_*2_*1_*1_*1_*1_*1)
[Clodagh McCarthy Luddy](https://www.linkedin.com/in/clodaghml?authType=NAME_SEARCH&authToken=k-og&locale=fr_FR&trk=tyah&trkInfo=clickedVertical%3Amynetwork%2CentityType%3AentityHistoryName%2CclickedEntityId%3Amynetwork_161494076%2Cidx%3A0)