Madeleine will be speaking at Tech Forum 2018 in a panel session called Blockchain and Building the Future of Information Management and Sharing.
How combining design thinking with a cross-functional team and an Agile process led to winning the Distributed: Health 2017 Hackathon
As a member of the Blockchain Education Network (BEN), I saw an announcement about a hackathon in Nashville called Healthcare Innovation Through Blockchain, and decided to give it a go. I've been working on an open-source blockchain code at OK GROW! for some time, and this seemed like a great opportunity to test my wings. Thanks to BEN’s help in funding the cost of my flight, I was on my way to apply all of my learnings, share ideas, and meet other amazing people interested in blockchain technology!
Design sprint part 1: The idea
It was important for me to understand some of the pain points of the US healthcare system in order to feel equipped for the hackathon. Once I landed in Nashville, I met up with a few of BEN’s members and we spent some time discussing the current state of the US healthcare system. We learned that within the system there exists:
- a complexity of incentives — different parties/participants in the system and process;
- disparity/inequality — health outcomes vary drastically based on socio-economics factors; and,
- operational inefficiency — a by-product of complexity and lack of alignment strategy.
We discussed possible blockchain solutions to address each of the above issues and in the process realized that American healthcare has many issues that are equally important. Reducing down all the potential ideas and choosing one main focus issue proved to be more difficult than we thought.
I pitched one of the better ideas that we came up with the night before, and teamed up with Nicole, the Master of Public Health student hailing from Columbia University, Phil, the student blockchain wizard from BEN, and Alex, a soon-to-be BEN member and front-end expert from Accenture. The team was assembled and we were ready for the challenge of working together on the smartContract!
Design sprint part 2: Learn, build, and launch
We iterated through three main dApp (decentralized application) ideas:
- Peer-to-peer (P2P) healthcare pool: A collective/community-based savings vehicle for healthcare spending. Everyone contributes and when a member makes a claim, it would be verified and then covered by the pool's previous contributions and investment income. This idea was terminated due to the ACA (Affordable Care Act) ban of new P2P healthcare pools. (So we wouldn't be able to start a new one, but all existing ones worked well; they were just grandfathered in.) What we learned: Doctors will give a discount of up to 80% if you pay cash and help them avoid paperwork, and operational inefficiency may account for the majority of the healthcare cost.
- Healthy behaviour lottery: Company employees who want to adopt a healthy lifestyle sign up to a program where they set individualized and medically measurable/supervised goals (e.g., quitting smoking would be measured by a hair nicotine test, reducing cholesterol by a blood test, etc.). The company then randomly selects a winner from a pool of participants each month/quarter/year and the winner gets paid out based on how much progress they made. This idea was interesting and useful but there was little to be gained by implementing this on the blockchain.
- Mercantis: Medical research data would be uploaded to the blockchain by medical professionals and researchers, enabling transparency without identity, real-time access to data, and automated payouts. This was the idea we selected. What we learned: Lots of money is wasted on repeat research data collection. (Up to 85% of research funding is wasted due to redundancy and bad data.)
Agile process approach
Step 1: Map out the architecture
After we finished our UX mockups, we identified key MVP functions:
- add data: how the original/data-submitting researcher can add data to the blockchain (timestamped, authenticated, etc.)
- query data: how a buying user/researcher can look for the data they need for their study
- buy data: after the query is completed and the buying user/researcher has refined the set of data they want to purchase using the query data function, how they initiate a purchase by sending a transaction to the smartContract
- Data-submitting researchers
“data”: (this variable should probably be named better :))
- _id (uint): procedure/measurement ID (standardized for each lab test/measurement)
- _address (Address): participant’s address that ties them to demographic data but not identity
- _meta (bytes32 (string)): key demographic data
- _price (uint256): price of this individual data point
- _data (uint): actual value of the lab/measurement specified by the _id
data storage: (MVP so keep it simple, optimize later)
- id => array of “data” points
Step 2: Break up and prioritize the tasks and start hacking
At this point Phil and I each took pieces of the smartContract, and Alex started to build out a React front-end. Nicole continued with validation and started to build our beautiful slide deck. Here is the implementation smartContract with comments added to guide the walkthrough.
In the final two hours, with our well-scoped MVP put together, we shifted our attention to the presentation. The key part of winning in the final stretch was having a pre-recorded demo because everyone knows that live demos are cursed. Given that we only had three minutes to present, plus a Q&A period, incorporating visuals and getting straight to the point was key.
While there were many other technically challenging and interesting projects at the hackathon, we were ultimately selected as the winner because our already fully-functioning product had immediate value. And it's focused on a big, hairy, important problem that's uniquely suited to be solved on the blockchain.
Here's a link to our final deck: Mercantis: Marketplace for Verified Medical Research and EMR Data.
The outcome of building our Decentralized React Web App was somewhat unexpected. But two interactions really made an impression on me:
- Multiple people with chronic illness approached our team to say they loved what we'd built. All they want, they said, is to contribute to finding a cure and they loved the fact that our project can help them achieve that. One of them said: “Take my data, take my labs, take my scans, just go find a cure!” Currently their medical data is not being fully utilized.
- Researchers loved how we were able to align the intricate and often conflicting incentives at play in the existing system, and they universally expressed excitement at the efficiency that our blockchain solution could bring to medical records.
Currently, Team Mercantis is actively working on productizing the MVP by moving storage of the metadata off chain and offloading query and computations to an oracle. We are also in the process of gearing up for a pilot with medical researchers and regulatory institutions.
This method of design sprint and agile development is what I learned and refined at OK GROW! where each project typically starts with a discovery week where we do an in-depth design sprint to spec out the MVP with the most impact. It's also where our cross-functional team of engineers, designers, data scientists, and product managers work and communicate efficiently to continuously iterate and deliver our clients winning products.
If you'd like to hear more from Madeleine Shang and the blockchain panel, register for Tech Forum, March 23, 2018 in Toronto. You can find more details about the conference here, or sign up for our mailing list to get all of the conference updates.