Blockchain Based Temperature Monitoring for Cold Chains in Medical Drug Distribution (BC4CC)

The main goal of this project is to develop novel methods for supporting the coldchain distribution process (supply chain) of medical drugs using blockchain technology. The commercial goal is to reduce the cost of delivery, while assuring a regulation-compliant temperature tracking using IoT-sensors.

General Information

Reference: Research and Industrial Project
Source of funding: Komission für Technologie und Innovation KTI (Commission for Technology and Innovation)
Project Duration: 01.09.2017 - 01.09.2019

Project Overview

The tasks that contribute to the fulfillment of the goals of this project are described below:

  • Perform an in-depth analysis of existing blockchain technologies and develop a technically detailed portfolio. Respective requirements of those blockchains will be defined for major possible applications in the pharmaceutical supply chain as applicable to the BC4CC use cases to derive a generic scenario description.
  • Create an open API that can be used by newly onboard customers without specific blockchain knowledge or understanding. The API requirements from potential partners will be collected and based on these, a selection of the most promising requirements will be chosen. These requirements need to align with the modum.io infrastructure.
  • Provide a framework that is blockchain agnostic, i.e., implement a framework which is not dependent on a single blockchain (such as Ethereum), but allow a selection between different blockchains. Blockchain agnosticism will also permit modum.io and their customers various commercial options to “cherry-pick” their optimal blockchain, and provide the potential technical capabilities for migration.
  • Implement a BC4CC prototype putting into operation within a pilot, and evaluate, during and after its operation, aspects such as suitability of functionality, performance of transactions and interactions, and operational costs.

Contact

Inquiries may be directed to the local Swiss project management:

 

Prof. Dr. Burkhard Stiller
University of Zürich, IFI
Binzmühlestrasse 14
CH-8050 Zürich
Switzerland

E-Mail

Phone: +41 44 635 67 10
Fax: +41 44 635 68 09

Results

Blockchain-Agnostic Architecture

Blockchain technology is developing at a rapid pace. For consumers that are only interested in simplifying processes and reducing costs by using a blockchain solution a new problem has occurred. It is not only necessary to select the appropriate solution, but also to configure and operate considering blockchain interoperability with different chains. For the industry, there is a need for solutions based on open standards. Thus, it was proposed a Policy-based Blockchain Agnostic Framework (Figure 1) that not only connects different blockchains but also facilitates their configuration and operation. Moreover, a case study (Figure 2) was presented considering the cold-chain supply-chain, where each actor defines its policies based on blockchain requirements. More information about the description of this framework and its components can be found in the peer-reviewed paper accepted for publication in the 2019 IFIP/IEEE International Symposium on Integrated Network Management (IM) [1].

Blockchain Agnostic Framework
Figure 1. Blockchain-agnostic Framework Architecture
Overview of the Case Study Stakeholders
Figure 2. Overview of the Case Study Stakeholders

Interoperability API (OpenAPI)

Based on the user policies defined, the Blockchain-based Agnostic Framework selects the most suitable blockchain implementation to store and retrieve the data. This store/retrieve interaction is performed within the framework using the OpenAPI component. The code for the OpenAPI prototype can be found at the IFI GitLab Repository. The workflow of how the OpenAPI performs the store() function is depicted in Figure 3.

Figure 3. OpenAPI Store Function Workflow
Figure 3. OpenAPI Store Function Workflow

 

The API is the entry point for the OpenAPI, once it receives the store() function, it delegates the request to the corresponding adapter based on the chosen blockchain using the BC_ID value. Thus, each blockchain requires a Blockchain Adapter, which implements specific methods to create, sign, and send transactions (TX). The core of each Blockchain Adapter are the store and retrieve methods. The former, shown in Listing 1, creates a transaction based on the correct blockchain template and encodes the input data. It signs this transaction with the private key (retrieved from the Credentials database) and broadcasts it, as a raw transaction, to multiple nodes in the blockchain. The broadcast is performed using the defined blockchain Remote Procedure Call (RPC) server. Finally, it stores the transaction in the TXs database before returning the transaction hash to the user. The latter, shown in Listing 2, searches the transaction information from the blockchain using the transaction hash as the search parameter. Then, it extracts the data from the transaction information and returns the restored text message to the user. The described workflow is the same for all Blockchain Adapters. However, specific methods, such as to construct a transaction, are implemented accordingly to the design details of each blockchain supported.

Listing 1: Store method of the Blockchain Adapter
Listing 1: Store method of the Blockchain Adapter
Listing 2: Retrieve method of the Blockchain Adapter
Listing 2: Retrieve method of the Blockchain Adapter

Publications

 

  • [1] Eder Scheid, Bruno Rodrigues, Burkhard Stiller. Toward a Policy-based Blockchain Agnostic Framework16th IFIP/IEEE International Symposium on Integrated Network Management (IM 2019). 8-12 April. Washington DC, USA . Link