Our web application leverages nucypher's proxy encryption to share data(fully or partially) over IPFS. Application also uses Hyperledger fabric to keep record of IPFS root hash and Merkle root hash.
Patient(Owner) enters the data into application which uses Merkle tooling to convert data into Merkle Tree. The hash value will be shared over Hyperledger blockchain network, providing verification that shared data is correct for later stage. Then Patient selects the fields that they want to share with doctor, to create a policy. After nucypher creates policy and shares encrypted data over IPFS, Doctor(Reciever) downloads the data and decrypt it using nucypher and verifies data using proof provided, value and root hash of merkle tree.