Blockchain Platform for

Health Information Management and Medical Records Request

Project Type

Blockchain Platform

Business Domain

Healthcare

Technologies

Hyperledger Fabric, Golang

Business Overview

The NIX team had a challenging task to create, and confidentially maintain, health information about a patient when there are several independent participants, in the process. In our project, there are 3 key participants: Hospital (Pediatrician) — Parents — Elementary School.

Challenge

The NIX team had to isolate multiple organizations from each other through channels thus organizations without access to the channel cannot see the information in it.

Solution

How it Works?

Using Hyperledger Fabric we created a network, distributing rights between different organizations in it.

For writing smart contracts, we chose the Go programming language because of two reasons:

Go allows developers to write a chain code conveniently and quickly.

IBM used Go developing Fabric itself.

Here is our network structure:

Membership Service

Certificate Authority

Parents – Hospital channel

Medical Smart Contract

World State DB (Medical Cards, Agreements)

Ledger

Parent node

Hospital node

Parents

Hospital (Doctor)

Elementary school

Report channel

Report Smart Contract

World State DB (Reports)

Ledger

Parent node

Hospital node

Elementary school node

To restrict access to confidential information about children’s medical records, a different channel was created, accessible only to parents and the hospital. Thus, the elementary school will be not able to store any child’s medical records information on its node. Here is a parents’ advantage — confidential transactions only. Also, our team created one more channel for reports on a child’s health state with access to all peers.

The process contains the following 5 steps:

Parents sign an agreement with the hospital, where their child is examined.

Create admission request to elementary school

Accept admission request

A pediatrician gains access to their child’s medical records and the ability to update information on a child’s health state.

Parents apply for a place in an elementary school for a child.

Create report request

Create report

If a child is appealed, an elementary school sends a request to the pediatrician for a report on a child’s health state.

A doctor creates a report, then the parents have to give permission to a particular elementary school/s to check the report.

Give permission to view report

Dive into the technical details

To get the medical record information from another channel, one needs to make several requests to the network: to get medical information and record it into another channel. Since we implemented the cards’ access control with the help of smart contracts, it is not possible for third parties - if it's neither parents nor a pediatrician - to obtain medical records.

A channel for a health report

This channel is for the applying process to an elementary school. First, the report goes to the blockchain when a doctor made it. The report has a “ready” status and contains information from the medical record. An elementary school will be able to receive the report only after the status will be changed to “approved” by a parent.

A two-party channel for both a hospital and parents

A pediatrician and parents sign an agreement with each other. This information is stored in the world state of the channel. The pediatrician updates the information in the medical records if required.

Identity determination

Hyperledger Fabric uses an X509 certificate that allows you to record any information about the owner. We record the user's UID there.

Confidentiality and security

Storage of medical cards is carried out in the world state of the channel of parents and the hospital. We chose such a storage because, in case of storing information in private storage, we will not be able to see information about changes in medical records in the ledger.

Outcome

Overcome the challenge, now we are able to drive the solution where everyone is working together while ensuring confidentiality, scalability, and security. Not only healthcare but various industries needed the same pattern — anywhere you need to manage confidential obligations without passing everything through a central authority.

Team

Project Manager, Business Analyst, QA Engineer, 2 Backend Developers, Frontend Developer, Designer, Markup Developer

Tech Stack

Hyperledger Fabric, Vue.js, Node.js, Golang