CodeTheCurve: A blockchain-based supply chain solution to address PPE shortages
Hackathon submission was designed to support health care workers on the front lines of the global pandemic.
This past April, creative techies from all over the world gathered online for CodeTheCurve, a five-day virtual hackathon organized by the United Nations Educational, Scientific, and Cultural Organization (UNESCO) in partnership with IBM and SAP. Participants all worked toward the goal of creating digital solutions to address the global pandemic.
Our team focused on the goal of improving the efficiency of the personal protective equipment (PPE) supply chain in order to prevent shortages for health care workers. With the rise of the current global pandemic, supplies of medical equipment have become more critical, particularly PPE for medical workers. In many places, PPE shortages have been a serious problem. To address this challenge, we proposed that a blockchain-based supply chain could help make this process faster and more reliable, thereby connecting health ministries, hospitals, producers, and banks, and making it easier to track and report information on supplies.
Figure 1. Our hackathon team
The hackathon was organized around three specific themes:
- Ensure continued learning
- Data management and information
- The present and the future — societal and health issues
We competed under the data management and information theme.
Defining the problem
With the rise of COVID-19, the supply of PPE has become more critical than ever. Health care workers are on the front lines of this war, which puts them at high risk of exposure to the virus. The strain on the supply has been exacerbated by a huge spike in demand for the same items from the general public. This has led to shortages of basic PPE for medical staff — those most at risk. And if we can’t protect health care workers, how will they protect us?
Our proposed solution
We focused specifically on these three aspects of the PPE supply chain:
- Establishing the PPE stocks
- Determining the PPE needs of hospitals
- Shipping the PPE
Our goal was to accelerate each of these processes by creating a more organized and transparent supply chain environment. Our proposed solution was a blockchain-based PPE supply chain network. Blockchain technology enables you to have distributed ledgers, and it creates an environment of trust without requiring input from third-party organizations. A blockchain network that includes hospitals, health ministries, producers, and banks can be built to accelerate information sharing and transparency. Let’s take a look at how this system can be used to support each step in the supply chain.
The first step in the supply chain, discovering the PPE stocks, can be improved through disintermediation and the use of distributed ledgers. All of the producers in the blockchain network are able to share their stocks, which means that ministries and hospitals can display the current stocks of the PPE producers immediately on the system. This can significantly reduce communication time between organizations.
In addition, the PPE needs of hospitals can be easily monitored by the ministry of health, which enables the ministry to organize their PPE purchase operations to be more efficient and effective. Plus, this helps decrease communication time between hospitals and the health ministry.
Moreover, all of the purchase operations and deliveries of stocks can be monitored by the network participants. Accordingly, hospitals and the ministry of health can easily follow the delivery status of the PPE, thereby enabling a transparent supply environment.
To increase the speed of blockchain queries, we created a middleware web back end. While blockchain is the primary source of the data, this middleware also stores some of the data. Besides storing organization and user details, the IDs of the blockchain assets are saved in a relational manner. This way, it is easier to make specific queries such as requests made by a specific hospital: The middleware stores the hospital request blockchain asset IDs in relation to the hospital blockchain asset IDs. This means the blockchain requests are made in the middleware when the client requests them, and data is sent to the user in an aggregated state. Ultimately, the client receives the latest, most trustworthy data from the blockchain database.
The middleware endpoints run on the Django Python framework and a PostgreSQL database. Authentication is also handled by the Django framework.
The client application
The client application is a web app with separate dashboards for each of the organization types. The client accesses the blockchain network through the middleware rather than directly. Users have restricted functionalities depending on the privileges granted to their organizations.
The client app is created with the Vue library using CoreUI components.
Figure 2. Application flow
In order to sustain such a demanding supply chain, we needed to implement a robust, secure, and highly available infrastructure. We determined that IBM LinuxONE would be the best candidate for our solution. Since blockchain technology requires a significant amount of processing power for large volumes of transactions, as well as hefty encryption and hashing algorithms, LinuxONE emerged as the best system to meet these requirements. LinuxONE is an IBM Z system that’s specifically dedicated to running Linux; and because IBM Z has years of hardware innovation and reliability behind it, we felt that LinuxONE would be able to meet our supply chain’s performance and availability demands.
Blockchain is an exceptionally secure technology for storing data, and it provides immutability and confidentiality. However, if you can’t protect your blockchain network from cyber-attacks, the security of your data can be compromised. LinuxONE includes a technology called Pervasive Encryption, which enables the data on LinuxONE to be encrypted both in flight and at rest — thus, securing the blockchain network from cyber-attacks. LinuxONE also includes Crypto Express adapters, which provide hardware-accelerated support for cryptographic operations. In addition, these cards serve as hardware security modules (HSMs) to protect the cryptographic keys of a blockchain network. Protecting these keys is of paramount importance; if they are captured, the blockchain network will most likely be compromised.
Figure 3 illustrates the interaction of the various organizations in an example blockchain network. This diagram includes a PPE producer, a ministry of health, a hospital, and a bank. All of these participants are linked with a Hyperledger Blockchain and interact with the blockchain via a REST API. Although the bank is a participant, money transfers between PPE producers and the ministry of health are made outside of the blockchain network. The bank sends only the receipt of the transaction. All of the interactions in the diagram are recorded in the blockchain network, thus all of the participants are able to display and follow each interaction between organizations.
Figure 3. Interaction of the organizations in a sample blockchain network
- PPE stocks of the producers are updated.
- Hospital PPE needs are updated.
- Ministry announces a tender PPE purchase or gives a direct offer to the producer.
- Producers display the tenders.
- Producers make an offer for tenders.
- Producers accept direct offers.
- Ministry accepts one of the tender offers.
- Deals between producers and ministry are displayed by all participants.
- Bank submits a receipt of the purchase.
- Producers update the delivery status of the PPE.
- Hospital receives PPE delivery.
We are excited to report that our team was a hackathon semi-finalist! We are so grateful to have been a part of this event. We put in a lot of extra time, above and beyond the call of duty, and this truly helped to ensure that we met our benchmarks in a timely fashion. We were very happy to see our hard work resulting in such success!
Figure 4. CodeTheCurve semi-finalists
Events like this are one of the best ways to raise awareness about issues like PPE supply for health laborers. We did just that and built products to support and empower these lifesavers.
Throughout the event, we felt a wide range of emotions — delighted, concerned, overworked, hurried, motivated, passionate, and enlightened. CodeTheCurve was a truly rewarding experience for our entire team. We encourage you to find a hackathon and sign up for it … you won’t be disappointed!
With the entire globe fighting against COVID-19, we are in unprecedented times. We all need to do everything we can to overcome this pandemic. If you want to help out in this fight or build your skills on blockchain, check out these helpful resources:
- CodeTheCurve hackathon home page
- Call For Code Global Challenge
- IBM Developer Blockchain resources
- IBM LinuxONE developer resources
- IBM Z developer resources
We would like to thank UNESCO, SAP, the IBM Z team, UN EQUALS, iHackOnline, AngelHack, Internet Society, as well as the other collaborators, mentors, juries, and the rest of the sponsors!