Merkle Proof Tooling : Merkle tree is a tree that is created using sum of hash of child's node. We leveraged this technology to verify shared data over network. After sharing values by patient, doctor should be confident that the data is not tampered by any third or by patient itself. For this, Merkle tree is created as soon as data is uploaded and hash root is shared among all parties.(Doctor, Patient) As hash itself doesn't provide any data, it is secure to share. When Patient shares data, it shares it’s hash and proof which helps doctor to establish trust in shared data.
IPFS tooling : IPFS tooling helps us to integrate IPFS distributed file system with our application. Any data sharing is happened through IPFS gateway only. We used py-ipfs library and shared encrypted data over it. Though distributed, as data is secured by nucypher it cannot be accessed by any third party. To share hash, we used Hyperledger Fabric which identifies this as a valid transaction and record it on blockchain, letting others know that data is shared.