Originally written for 2018 Georgetown Hackathon, which we placed 2nd at, here:
Tokenizing prescriptions on the blockchain*
**Project Heisenberg **is a decentralized identity management and pharmaceutical ERP system built atop a permissioned Ethereum consortium network.
This project implements a non-fungible token standard to completely eliminate the risk and *imlicit *cost associated with pharmaceutical script fraud.
By creating a decentralized smart-contract standard that defines the method for ownership and transferability of a pharmaceutical script we:
1. Remove the possibility of counterfeit/forged prescription tablets
2. Enable regulatory insight into the quantity, concentration, movement, etc. of drugs
3. Create an *immutable *record of the movement, quantity, and RX type of pharmacy scripts
Project Heisenberg accomplishes this goal through the tokenization of pharmaceutical prescriptions into an ERC-721 solidity contract standard. This non-fungible token carries metadata describing the doctor ID, the patient’s public key, the drug RX Id, and the unit quantity to be dispensed.
The defined roles for this project scenario are as follows:
Regulatory bodies with read-only access to the ledger may be considerded to be a “fourth role”. To ensure this, these agents would not host mining nodes or contract-addresses.
Project Heisenberg is hosted on an Ethereum Consortium Network and is permissioned by a custom JSON genesis file.
For this implementation, we configured five consortium members hosting nodes, with one hosted mining node per member. We prefunded the addresses with ether to remove the bottleneck associated with gas scarcity
In full production, the nodes would be maintained by entities pre-authorized by an accredited regulatory body — i.e. public hospitals, government agencies, etc.
The physical location of these nodes would be irrelevant (i.e. they could be hosted in a cloud environment or on-premise)
Consortium Network Architecure Example (Azure)
The rationale for choosing a Consortium Network architecture over the Public Mainnet are as follows:
To better understand the current prescription paradigm, we consulted with an actual Pharmacist (name withheld) to learn more about security holes, pain-points, and inefficiencies associated with the current system.
1.There is no authoritative source of truth when it comes to the data layer for pharma prescriptions.
2. The differences in databases amongst public/private entities creates a systemic risk —
2. There exists a quantifiable, implicit cost associated with asymmetric moral hazard
“Based on how I am personally feeling, my relationship with the doctor, and how truthful I believe the patient is being, I may decide to call the prescribing doctor and verify the prescription.”
This illustrates the deficiency in trust, verifiability, and **finality, **associated with the current system.
3. Script verification is a process that can take upwards of 30 minutes to complete.
Verifying the authenticity of the script is a manual process which the pharmacist has to do themselves. For example, the pharmacist must pass the log into a database, run an inventory update, wait for manager confirmation, and then fill the prescription.
1.* Our solution creates a decentralized, append-only data log where no single keyholder has root-access to the database.*
2. By leveraging the innate properties of the blockchain, we are able to create an auditable system of script ownership with verifiable ledger history.
3. On the blockchain, transaction verification is instant.
In June 2015 Medicare Strike Force led charges against 243 doctors, nurses, licensed medical professionals, health care company owners and others for allegedly submitting a total of $712 million in fraudulent billings, which was the result of a nationwide sweep — the largest health care fraud takedown in history.
More than 40 of the defendants were charged with fraud related to the prescription drug benefit program Medicare Part D. This a classic example of asymmetric risk resulting from moral hazard.
In economics,* moral hazard *occurs when one person takes more risks because someone else bears the cost of those risks.
By eliminating moral hazard, or the risk that a party has not entered into the contract in good faith our smart-contract has the potential to eliminate the aforementioned costs associated with fraudulent billing, as well as eliminate explicit costs associated with legal proceedings, supply loss, etc.
The PrescriptionNFT.sol file is a solidity smart-contract which formalizes the tokenization of the pharmaceutical script. The token takes an input from a doctor, which gets formalized as metadata. These inputs are:
The code for the non-fungible ERC-721 token, PerscriptionNFT.sol is hosted here [link.](https://github.com/tylerdiaz/Heisenberg/blob/master/contract/token/PrescriptionNFT.sol)
We are excited to announce that after 24 hours of deep focus and dedication, we are happy to announce that Project Heisenberg is successfully up and running — and available for use for Doctors, Patients, and Pharmacists.
Three separate portals (one for each predefined role) have been developed as a web app for doctors, patients, and pharmacists. The interface leverages the ReactJS framework and pulls methods from the Web3.JS library to interact with the blockchain through the ABI.
To access the application, download the Metamask extension, create an account, and visit the following addresses: