The current incentive model of a healthcare insurance company is to maximize profits:

Patient Premiums - Operating expenses - Claims paid = Profits

This creates maligned incentives. Open/permissionless finance is a promising use-case for a public blockchain. In the case of insurance, it is possible to realign incentives through a decentralized co-operative. Our goal is to redistribute the profits of an insurance company back to patients and physicians and undercut the centralized healthcare insurance company business model.

What it does

Patients create a policy by depositing ETH into a "pool contract". When a physician treats a patient, they request reimbursement from the "pool contract". Because the patient's policy exists on-chain, we can programmatically determine if the patient has coverage for the treatment rendered by the physician.

There exists the possibility of collusion between a patient and a physician to siphon funds out of the "pool contract". For this reason, we introduce the concept of "treatment points" which are earned in a 1:1 ratio alongside reimbursement for treating patients (Total existing treatment tokens = Total Reimbursements Issued). Treatment points give physicians fractional ownership of any balance remaining in the "pool contract" at the end of a billing cycle. This symmetrically rewards physicians who treat patients and gives every physician holding "treatment points" the incentive to act as a gatekeeper against fraudulent withdrawal of funds from the "pool contract". When a physician requests reimbursement, this request must be signed-off by an auditing doctor who holds "treatment points".

On top of this, we have layered a staking/slashing incentive game that provides short-term rewards for both the treating physician and an auditing doctor to behave honestly within the system.

How I built it

Solidity, Truffle, Redux, React

Challenges I ran into

  • Time constraints implementing viable lock/reveal voting functionality that slashes voters for not revealing
  • Generating trustless randomness on-chain to minimize possibility of collusion

Accomplishments that I'm proud of

  • Using redux to create a functional state-based UI
  • Deducing the treatment point incentive model

What I learned

  • Upgradeable contracts
  • Creating our own Solidity Libraries
  • Game Theory/Mechanism Design for P2P arbitration

What's next for OpenCoverage

  • Distribute a percent of profits as refunds to patients based on policy size.
  • Build time features around billing cycles such that doctors have a defined window to claim their fractional ownership of the co-operative's profits.
  • Build out more expansive policies that map to industry billing standards (ICD-10 codes & CPT codes). Starting point would be disaster coverage (critical illness, level I trauma, surgical emergencies).
  • Fully implement and formalize the incentives behind the arbitration system.
  • Support uploading and encrypting of standardized claims forms (CMS-1490S). All US hospitals submit these independent of the insurance carrier.
  • Random selection of auditing doctors (based on % ownership of "treatment points") to minimize collusion.
  • Pilot model with an initially centrally managed pool of doctors and patients.

Built With

Share this project: