GithubHelp home page GithubHelp logo

gitouss / dpanc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from blockternship/dpanc

0.0 1.0 1.0 1.22 MB

Self Health Management dApp for Diabetes

License: GNU General Public License v3.0

JavaScript 97.28% Shell 1.13% HTML 1.11% CSS 0.47%

dpanc's Introduction

dPanc

Self Health Management dApp for Diabetes

Overview

We wanted to tackle the initial challenge of being able to put medical data on the blockchain, and specifically data regarding type one diabetes. We are looking to give the average diabetic tools to better manage their health using a decentralized platform that stood objectively for their health, rather than the interests of the healthcare industry.

The existing medical prescription leaves a lot to be desired. Endocrinologists simply give their diabetic patients a linear equation that was interpolated from the patient’s recent medical data. But this linear equation ignores the fact that modern humans live very dynamic lives, and thus many diabetics self-prescribe their own tools and methods for dealing with the non-linear nature of the human experience.

We can bring engineers, diabetics, and health experts together to create an open sourced and decentralized diabetes management system. Through the analysis of medical data stored on an immutable ledger, we can provide the data to build these tools and iterate on them. We are confident that we can create dynamic models that can easily outperform the existing linear prescription, thus giving diabetics around the world more control over their health.

We would also like to explore an abstraction of this idea. The notion of individual people voluntarily providing their own data in order to help create a decentralized solution to a major world problem.

Philosophy

We believe that the burden of type one diabetes can be significantly reduced if patients were given the appropriate tools to manage their health. But the tools being prescribed by doctors are inadequate, and the centralization of these tools make changes slow and ineffective. If individual patients shared their medical data to support the creation of these decentralized tools, we can bring the ability to enact change to the people whom it will affect the most.

Web Application

  • Full statistics in a dashboard on time weighted glucose averages
  • The dashboard also includes max velocity of the user's blood glucose, user's Hemoglobin A1c, and other statistics around the user's blood glucose values
  • Manage gas fees and any transaction with full MetaMask and uPort integration to allow the user to create an entry of data, retrieve analysis around their data, and eventually earn tokens for their data!)
  • Research pages to comparison metrics to benchmark your averages as well as description regarding what what the purpose of our work is as well as what the methodology is behind each of our analysis pieces.
  • Upload page which consists of a form which has integrated with MetaMask initiating our smart contract to put the user's data onto the blockchain

Backend Services & Processes

  • Parsing the CSV file containing the blood glucose values
  • Utilizing OrbitDB to create a db for each entry of data
  • We are able to generate an entry and retrieve that entry which is on the blockchain

Contracts

  • Utilized Solidity and Truffle to develop the smart contract where the user is uploading data to the blockchain
  • Ropsten Test Network is the test network where the smart contract is being substantiated

Features

  • MetaMask and uPort integration for registering users
  • Calculate metrics and statistics for blood glucose levels:
    • min, max, and avg
    • velocity
  • Anomaly detection through highlighting target ranges

Tech Stack

  • Node.js & Express.js backend server
  • React.js frontend
  • OrbitDB (IPFS) for data storage
  • Solidity & Truffle for contract development and deployment

Data Flow

Data Flow

Next Steps

As this was only a hackathon, there are still many improvements that can be made to dPanc (decentralized Pancreas)

Here is a list of major improvements that we wish we had time to implement:

  • Better UI/UX design (we focused on building functionality as opposed to designing UI/UX)
  • Tokenization of dPanc and generating reward structure for users
  • Incorporating advanced calculations around blood glucose and Hemoglobin A1c
  • Strategizing our future of dPanc as an application programming interface.

What We Learned

As this was our second project that incorporated blockchain, specifically Ethereum, as well as our first time utilizing OrbitDB, and we wanted to share the major accomplishments and learnings from this hackathon:

  • How the Ethereum network works when utilizing an IPFS database
  • Acquiring data from a blood glucose monitor is easier than expected
  • Hemoglobin A1c is not an easily attainable metric for diabetics

Local Development

  1. nvm use
  2. yarn
  3. yarn start:dev

You'll need to make sure you have nvm installed and the proper version of node (9.X)

Installing nvm and the required version of node

  1. npm install -g nvm
  2. nvm install 9

Contracts

  1. cd contracts && yarn
  2. yarn test:contracts

dpanc's People

Contributors

aasimsayani avatar kevinlilu avatar jakobsandberg avatar yalormewn avatar geleeroyale avatar

Watchers

James Cloos avatar

Forkers

manjushanair

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.