The way that we get inspired for an idea, is by thinking about the following question: "How can we help the biggest amount of people with technology?" This leads us to many crazy ideas.
We heard that interoperability is still a giant problem between hospitals. This is a headache for your everyday hospital, because there is no standard way of sending a patient's information. This is problematic because a person could not receive the proper care if the doctor does not have the full medical picture in front of him.
It's been already 20 years that the United States have been trying to implement a standard for offhanding digital medical documents. It is not only not highly adopted, it is barely used by anyone.
This begs the question how, can we facilitate this.
What it does
Coronachain let's a doctor very easily upload a patient's information online. The information is encrypted with SHA-256, and the key is given to the following hospital for the patient. The website offers a great UX for the doctor to enter information and upload files. But it's not a simple CRUD app.
How I built it
Underneath is a complex mechanism that runs the whole process in a decentralized way. This way all participating hospitals are in control. All the information is stored and encrypted in a distributed database. On top of this, the medical files of the patients are also encrypted and stored on IPFS, which is a distributed file storage system, that can host files anywhere, without the holder of the file having direct access to the file.
The frontend has been masterfully crafted to offer an optimal experience to the physician. The backend consists of a state machine implemented in Golang. This state machine is then decentralized and made byzantine fault tolerant through the use of tendermint. https://allquantor.at/blockchainbib/pdf/buchman2016tendermint.pdf
Challenges I ran into
Communicating with the application is more complicated, because we couldn't just host a basic REST api. Tendermint uses RPC, and has some restrictions due to its decentralization.
Accomplishments that I'm proud of
It functions at a great speed, and seems to be very secure.
What I learned
How to spin up a swarm of nodes for IPFS.
What's next for Coronachain
Better encryption and a more comprehensive questionnaire, to facilitate the doctor's job. Also although the blockchain is currently explorable by anyone who has access to the validation node, it is hard to visualize, and crawl. It would be good to easily view previous iterations of documents and entries by going through time on the block commits.