Keyhole Virus Tracker
Open-source reference application deployed to the cloud that tracks viruses across the country using a Hyperledger Fabric Blockchain network.
Reference Example Overview
Each year, Influenza begins in the Southern Hemisphere and migrates around the world mutating along the way. The CDC makes educated guesses as to which strain will be the most virulent for which to create vaccines. When the flu season makes its way to the United States, the CDC and state-level agencies track its progress by medical practitioner reports and monitoring search engines for folks searching for the flu.
Imagine that a blockchain exists and the CDC, State Health and Human Services, medical practitioners, and testing labs are all participating as Peer Nodes in that blockchain.
Completely Open-Source
The Keyhole Virus Tracker has been open-sourced and is now under an Apache 2.0 open source license. All portions of the code implementation can be modified or updated to reflect custom requirements.
The blockchain platform consists of three, Github open-source projects: the Keyhole Virus Tracker Fabric Blockchain, the Keyhole Fabric API Gateway, and a React UI.
Keyhole Virus Tracker Fabric Blockchain
Github Repository
This portion is the Hyperledger Fabric blockchain implementation for tracking virus lab tests. This project also includes chaincode that manages a ledger of Influenza tests and implements functions to create and retrieve Influenza test results.
Keyhole Fabric API Gateway
Github Repository
This portion provides the communication gateway to the Fabric runtime. It provides client access to Hyperledger Fabric blockchain network through RESTful APIs. Recently Accepted Into Hyperledger Labs!
React UI
Github Repository
ReactJS UI client for the Keyhole Virus Tracker Blockchain.
Additionally, Keyhole Software has published a free white paper further detailing the implementation of the Keyhole Virus Tracker. Download for free and read White Paper: Tracking Lab Results Better with Blockchain Technology.
Go Right to the Code
Application
Reference application is a Hyperledger Fabric blockchain network providing accurate, real-time tracking of virus epidemics across the United States.
Highlights
Implements a HyperLedger blockchain network with chaincode that manages a ledger of testing.
The chaincode implements functions to create and retrieve test results.
A web application (deployed to the cloud) integrates with blockchain to provide real-time, secure information.
Blockchain Actors
The web application interacts with the Blockchain Lab results from different perspectives, emulating real word Actors. The benefit of the permissioned blockchain approach to medical records is that various authorized personnel can interact the data in real time.
Actors
Center for Disease Control
Medical Practitioners
Medical Labs
State Health Services
Architecture
Highlights
A Certificate Authority ("CA Server") ensures all actors have the correct authentication to access the data.
Users from the CDC and Lab can interact directly with the blockchain through React/Node/js web application.
Screenshots
Participants
Each participant starts up a Peer Node. Hyperledger provides a Docker-based container to start up a Peer.
The Peer requires cryptographic keys, certificates, and for Hyperledger to provide a utility to generate these.
A Certificate Authority is also required to authorize these certificates in the network. This is provided by the framework.
Chaincode
For our example, the Influenza chaincode function is defined in a Labs.go file. A Fabric stub interface provides an API to put and get data from the blockchain global data store.
Integrating With a Web Application
With the virus blockchain being used by all parties, lab results will be distributed throughout the network applications. Blockchain users can interact and process this real-time data by creating client applications that access a Peer Node.
Example: we use React for the user interface with Node.js as an API layer.