BLOCKCHAIN SOLUTION FOR DRUG RECALL MANAGEMENT

Size: px
Start display at page:

Download "BLOCKCHAIN SOLUTION FOR DRUG RECALL MANAGEMENT"

Transcription

1 BLOCKCHAIN SOLUTION FOR DRUG RECALL MANAGEMENT

2 Drug recalls affect hundreds of pharmaceutical companies every year impacting sales, customer relationships, and supply chain operations. The existing centralized models do not address issues CLIENT PROFILE surrounding traceability and recall. Products in the pharmaceutical supply chain move through multiple intermediaries before reaching the consumer, making the recall process complex and cumbersome. Emerging technologies such as blockchain offers pharmaceutical companies the opportunity to drive efficiency across the supply chain. In an effort to create a transparent Our client is a US-based multinational pharmaceutical company that manufactures and sells medicinal formulations and active ingredients across 40 countries. environment for information access, a leading pharmaceutical company wanted to implement a blockchain solution to ensure accountability at the distributor level. Our client wanted a system that notifies distributors when a particular product or batch/lot number is slated for recall. With distributors spread across geographies, there was a need to augment the process with an effective recall strategy. Our solution is a fully decoupled, microservicesbased architecture on Ethereum blockchain Solution Components: involving smart contracts. The parties involved Manufacturer Services/APIs (set of in the supply chain log their data into a microservices) common blockchain. The manufacturer logs the production date and time of each batch and unit. Every time a batch of drugs is added, it is Distributor-side Application (frontend and backend) written to the Ethereum blockchain. The Solidity Smart Contract (Ethereum blockchain) blockchain emits events for predefined DevOps, Docker Containers, and TDD (Test scenarios such as potential contamination, Driven Development) Approach mislabeling, or manufacturing defects. This way, any client software on the distributor side, irrespective of technology, can listen to these Private Network using POA (Proof of Authority) Consensus Algorithm events and take appropriate action. The distributor-side web application displays a list of manufacturers with products supplied by them. Every time a batch of products is added or updated, the corresponding supplier/manufacturer is validated via blockchain. Any update with respect to the manufacturing company's line of products is notified in the distributor application along with real-time status change for corresponding batches.

3 The DevOps side uses Docker-Compose to Distributor Node.js backend mainly serves: build and deploy the solution to the target servers. The entire solution is built within Docker API service for distributor frontend Listeners for events triggered by manufacturer blockchain containers. We set up Ethereum nodes by writing bash scripts to launch one boot node, and N number of Ethereum validating nodes as WebSockets communication with distributor frontend Docker containers. The scripts are configured so that the nodes, upon launch, are set up as Proof of Authority. Pharmaceutical Information Flow Before After Regulator Manufacturer Distributor Manufacturer Pharmacy Pharmacy Distributed real-time update of information Distributor The distributor admin can: Login, view list of manufacturers and product batch ID/date View more details upon clicking batch ID link View and edit fields upon selecting the batch ID Filter list of drugs based on active and expired status of batches Search for products based on manufacturer/batch ID Create a new batch listing with required details Verify approval from manufacturing company and regulatory body when adding a new batch Receive notifications if the batch is recalled

4 Distributor Web App Manufacturer API Web App Node.js Internet Http Subscribe to events using web3.js REST API Microservice Log Elasticsearch + Kibana Ethereum Node SC Data Storage SC Proxy JSON/RPC Nethereum shared component Monitor Job Message Queue Microservice Notification Microservice Decentralized and automated solution Targeted dissemination of recall information to concerned distributors and pharmacies Distributors need to only contact pharmacies that received the affected lots Improved drug recall efficiency protecting commercial goodwill of the manufacturer

5 Manufacturer Services.NET Core RabbitMQ Autofac SQL Server on Linux Kibana Ethereum MassTransit Serilog IdentityServer4 Elasticsearch Docker Nethereum Solidity Truffle Distributor Frontend Distributor API React Redux-Saga Node.js MongoDB Sendgrid Redux Snackbar LoopBack Web3.js IPFS Testing NUnit NSubstitute Enzyme Chai Shouldly Jest Mocha USA UK UAE INDIA SINGAPORE AUSTRALIA JAPAN Newbrook Drive, Suite 115, Chantilly, VA