Skip to content

Godhanded/MedicalArchive_fullstack

Repository files navigation

Medical Records Archive

FiCave

Table of Contents

Project Description

Ficave is a decentralised medical documentation system,built on Fantom network.

Ficave is the first medical ledger on the blockchain,which makes it easy to upload,send,receive,and acess medical data’s on chain . Files stored on Ficave are immutable and can’t be accessed without user permission or password,confidential medical data can also be stored in private folders.

FiCave Dapp is free and easy to use,conveniently upload,encrypt and share your medical files with your doctor or consultant. Files uploaded on Ficave can also be made open-source to serve as research material in the medical dataset,enabling on chain peer-to-peer medical database.

Important/Live Hosted Project Links

Problem Statement

Ficave seeks a usecase that eliminates traditional file system in health organisation’s,Hospitals and clinics and makes data sharing more secure, through encryption, accessible and safe .

Files stored on Ficave must be immutable and can’t be accessed without user/hospital's permission or password,confidential medical datas must be confidential and also be stored in private folders.

Our mission is to make medical records and data more accessible and safe using the blockchain technology,we envision to build Ficave to stand out as the biggest medical archive for research and documentations,and to eliminate the problem of medical data loss due to physical disasters or tamper.

see solution here

How it works

Note: All patients and their records are tied to each hospitals account or wallet address.

hospitals create or adds a patient using their name and that patient is issued a patient Id with which records can be added.

When uploading a Medical record the details are provided and a picture of the record uploaded, before clicking the upload button the hospital provides their password, after this the details are uploaded to Ipfs and a hash is returned, This Hash is then sent to our server where it is encrypted with the hospitals' password using fernet encryption, after encrypting, the result or fernet hash is returned and this is stored on the Fi-Cave smart contract and mapped to the hospitals' address.This makes it secure and impossible for one to see private patient records by querying the contracts storage slots as what is returned are incomprehensible.

To view or get patients records, the Id of the patient and the hospitals password is provided, this gets all the records for that patient from the contract and then sends a list or array of all the fernet hashes stored on the contract to our server, our sever then uses the password to decrypt all the members of the list. the server then returns a list or aray of the decrypted hashes which are the actual Ipfs hash or CID , this is collected and rendered on our frontend for the user or Hospital to see and interact with.

Contributors

Technologies Used

Stack UsageSummary
Solidity Smart contract
React Frontend
NFT.Storage/IPFS file upload/retrieval
Wagmi Kit contract calls
Filecoin Hyperspace chain Main contract deployed/Tracks all records
Python Flask Encrypt/Decrypt uploaded Records for contract to store
  • Solidity smart contracts

    ficavee makes use of a smart contracts see contract

    • MedArchive The main or home contract through which tracks all hospitals and their respective patients.
    • It also records in encrypted format using the hospitals passwordthe medical data of all patints
  • Backend Server/Api_Python Flask

    • The Api or server, we created performs two functions, encrypt the ipfs cid returned after a file is uploaded and return the encryption which makes use of Fernet Encryption Methods and User defined password to store in our smart contract. code here and here

    • Decrypt a list of Fernet hashes and return the Cids of the decrypted hashes to render on our frontend see here

    • See Backend Documentation here

  • NFT.Storage/IPFS

    • We used the nft.storage npm packed to interact and upload files to ipfssee here
  • Filecoin Hyperspace Chain

    • The contract was deployed onthis chain
  • Wagmi Kit

Solution

FiCave has built as system where Hospitals Private and public can upload and store medical records unique to each hospital and most expecially private as all records are encrypted or hashed using Fernet encryption and a password provided by each user and this is stored in the smart contrct permanently. Ficave also also fosters research monetixation by allowing users or hospitals to publish medical write ups or research papers for sale at a price specified by said entity.

In the nearest of time,doctors or researchers can co-work and share resource data on-chain while working remote using Ficave dapp,and also users can earn incentives from their open source records/data using the Ficave archive by encrypting medical data and setting acess price for people to be able to have acess or ownership to such data.

Through Ficave - In the nearest of time,doctors or researchers can co-work and share resource data securely on-chain while working remote using Ficave dapp,and also users can earn incentives from their open source records/data using the Ficave archive by encrypting medical data and setting access price for people to be able to have acess or ownership to such data.

Why FiCave -

Ficave usecaseFicave usecase eliminates traditional file system in health organisation’s,Hospitals and clinics and makes data sharing more accessible and safe . Files stored on Ficave are immutable and can’t be accessed without user permission or password,confidential medical datas can also be stored in private folders. Ficave Dapp is free and easy to use,conveniently upload and share your medical files with your doctor or consultant. Files uploaded on Ficave can also be made open-source to serve as research material in the medical dataset,enabling on chain peer-to-peer medical database.

Project features

  • Registration of patients
  • uploading Medical records or data
  • encrypting Records or data with user provided password
  • storing the encryption on chain
  • retrieving and decrypting medical records withh user provided password
  • Archive for sale of Medical research papers

Features we couldn't complete

  • we could not finish archive for selling research papers

    we wanted to immediately build an avenue or sorce through which any medical practitioner can make money of their medical research or findings and selling it directly to other practitioners around the world, unfortunately we coulnt complete it,we lacked time and resources to biuld and thoroughly test it Thankfully we are still on our toes building it

Future Project Plans

We plan to push this project further after the hackathon, and integrate some features we weren’t able to complete.

  • Firstly Our mission is to make medical records and data more accessible and safe using the blockchain technology,we envision to build Ficave to stand out as the biggest medical archive for research and documentations,and to eliminate the problem of medical data loss due to physical disasters or tamper. .
  • Improved Analytics to track and provide easily data concerning all records, patients and Hospitals