Skip to content

Repository files navigation

**This work was done as part of the Course work by Author: Abdyukov Z.M. **

Content

Brief introduction
Development tools
Architecture
What is the change compared to the previous work
View Prototype

DB/IPFS with smart-contract EHTEREUM:

Interaction Patient with Doctor

Brief introduction

The main goal of the work is to use a smart contract together with a database to ensure confidentiality and security, control data, facilitate and automate the interaction between physicians and patients, and provide better data management in distributed systems.

The scientific novelty of the work lies in the fact that a new approach to the interaction of the patient with doctors is proposed.

Blockchain in healthcare

Blockchain allows you to create a distributed database that is protected from unauthorized access and manipulation.

Smart Contract in healthcare

Ethereum smart contracts can be used in medicine to improve the security and efficiency of medical data processing, manage medical supplies, and automate many of the processes associated with medical services.

Promlem blockchain and accept DB/IPFS

It takes a lot of money to store a huge number of records on the blockchain, and the authorized exchange of medical records is another problem. The proposed system uses the Interplanetary File System (IPFS) and a database to overcome this problem.
The database or IPFS and smart contracts can be used to optimize the process of interaction between the doctor and the patient. Below are some possible ways to use the database and smart contracts:

  • Appointment appointment: The doctor can create an appointment in the database, specifying the date and time of the appointment, as well as information about the patient. A smart contract can automatically send an appointment confirmation to a patient.
  • Storage of medical data: The database can be used to store the medical data of patients, such as test results, diagnoses, previous appointments, etc. A smart contract can ensure the security and confidentiality of these data.
  • Issuing prescriptions: The doctor can create a prescription in the database, specifying the necessary medicines and dosages. A smart contract can automatically send a prescription to a pharmacy for execution
  • Assignment of tests: The doctor can create an appointment for tests in the database, indicating the necessary studies and deadlines. A smart contract can automatically send an assignment to a lab for execution.
  • Doctor-Patient Information Sharing: The system can be used to share information between doctor and patient, such as sending appointment notifications or communicating when questions arise.

Development tools and Programming Language

For Smart Contract, i used Solidity and IDE Remix(Debug contract), also Personal Blockchain Ganache

Inside our server, server-ganache is enabled. And the smart contract is deployed inside server-ganahce

For Web-Site, used HTML/CSS/JS and NodeJS

npm install -S express body-parser browserify dotenv ejs ejs-mate express-fileupload ganache ipfs-core ipfs-http-client node-abort-controller web3 web3-eth ganache 

Node v18.13.0 ,
npm v8.19.3

Prototype architecture

Interaction patient with Db/contract

Interaction Doctor with Db/contract

Schema database

What is the change compared to the previous work

More info about last work
I advise you to watch this, as the current work is related to the last one

Comparing with the previous course work, this prototype provides more opportunities, namely:

  • Smart contract operations are much cheaper, since the smart contract acts as a gatekeeper that controls access to data.
  • The database allows you to store large amounts of files and data about patients and doctors without loading the blockchain.
  • Control remains entirely with the patient
  • Operations are completely transparent

TODO:

In the future, it is planned to add the ability to store large files about patients (fluorography, etc.) in the database and also add it to IPFS. Because IPFS data is mutable and secure, any attempt to change data stored in IPFS can only be done by changing the identifier. Therefore, it provides a cryptographic identity to protect data from manipulation. Each data file stored in IPFS contains a cryptographically generated hash value. It has only one meaning and is used to identify data files stored in IPFS. Since IPFS eliminates duplicate files and it is impossible to change them because the files are protected by a cryptographic key

Cost(gas/$): Contract Creation (Patient) ~ 1639436/7.57$, (addPatient) ~ 1085549/5.12$ , Register - 216485/2.13$ Give access ~ 128597/1.4$

    1. Add files to database
    1. Include IPFS
    1. Add available work with IPFS for big files
    1. Test on large volumes of data
    1. In case of successful solution of the problems above, create an Android App

View Prototype

Preview

Profile Patient

Profile Doctor

Register Form

Register Form for doctor

Exists access (Patient)

Exists access (Doctor)

Author: Abdyukov Z.M.

About

Interaction patients with doctor throught DB MySQL and Smart contract Ethereum. Contract include only get access doc and annul access. DB include all other.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages