First Blockchain Project - Medical Records System

Hi everyone,

After completing the Ethereum Programming 101 and 202 courses I reached the point where I created a small project to get some hands on experience and wanted to share it with you.

The main idea behind it is that users have the data of their medical records conveniently available independently of a central entity, while keeping their data as private as possible. I didn’t create a front end yet, so if one is developed, some back end functionalities will need to be adjusted.

Here is the link of the project:
https://github.com/cmaximilianoschmid/Blockchain-Medical-Records-Project

In the README file there is a description of the reasoning behind some functionalities and also some identified limitations.

What I found the most interesting and challenging while developing this was the privacy/convenience balance. While some of the features and limitations in that regard are described in the README file, there is one I didn’t directly include there and find is a good point to discuss.

The point is: how private or secure is the data sent to the functions (parameters/arguments) in the blockchain? I mean, even if in the contract I have a mapping to store the user’s data where you have to know the key to access and also have the address owner’s permission to run the getter functions, all the data that goes through the contract functions is still public by tracking the contract transactions, correct?

Looking forward to your inputs!

6 Likes

Hey @maxs

Good job with your project!

Would be amazing if you could use truffle and write tests for it as tests are extremely important to verify that the contract has no flows and that the logic works smoothly.

Regarding the privacy concern that you raised, all transaction in the ethereum blockchain are public, therefore it is possibile to know the parameters sent to the function.

Take this transaction for example: https://etherscan.io/tx/0x1c591de388758ad5ca1394b883558f8a32b441a58c52d28c3cdbdfea128cf9fe

You can see the function at the bottom of the page:

image

By clicking on ‘decode input data’ you will be able to see the parameters sent.

Screenshot 2021-04-21 at 11.13.11

For any question let me know.

Cheers,
Dani

3 Likes

Hi Dani, thanks for your reply!

I’ve updated the project with the Truffle deployment and some tests:
https://github.com/cmaximilianoschmid/Blockchain-Medical-Records-Project

And on the privacy concern, I think that’s not ideal for this case, but at least if users are cautious and don’t upload data like their names or national IDs to the blockchain it should be pretty safe.

Thanks for reviewing this and please let me know if you have further comments,
Max