Coder Social home page Coder Social logo

imcu / true-clinical Goto Github PK

View Code? Open in Web Editor NEW

This project forked from timnugent/true-clinical

0.0 1.0 0.0 267 KB

Improving data transparency in clinical trials using blockchain smart contracts [blockchain]

Home Page: https://f1000research.com/articles/5-2541/v1

License: GNU General Public License v3.0

Shell 4.07% JavaScript 95.93%

true-clinical's Introduction

Improving Data Transparency in Clinical Trials Using Blockchain Smart Contracts
===============================================================================

Paper
=====

https://f1000research.com/articles/5-2541/v1

4th October 2016 

Authors: Timothy Nugent, David Upton and Mihai Cimpoesu

Package contents
================

src/Regulator.sol - the solidity smart contract code for the Regulator contract
src/ClinicalTrial.sol - the solidity code smart contract code for the a Clinical Trial contract
src/start-ethereum-node.sh - script to start a local Ethereum node
src/workflow.js - the main nodejs script that interacts with the blockchain
src/run-workflow.sh - script that will execute the workflow steps
src/read-from-blockchain.sh - script that reads trial data from the blockchain
logs/run-workflow.log - output from running src/run-workflow.sh
logs/read-from-blockchain.log - output from running src/read-from-blockchain.sh

Getting started
===============

This code has been tested on OSX 10.11.5 and Ubuntu 14.04. Code is written using Bash and Javascript - you will need to install nodejs:

https://nodejs.org

We use the testrpc npm module in order to reproduce the exact conditions the workflow scripts need to run the tests. It is important that you reset the blockchain every time you run through these steps. In order to reset, just restart the start-ethereum-node.sh script.

Running the scripts
===================

The steps needed are as follows:

1) Run 'npm install' to install all dependencies mentioned in package.json

2) Install 'testrpc' as a global npm module

npm install -g ethereumjs-testrpc

3) Run the script to start a local Ethereum node

./start-ethereum-node.sh

4) In another terminal, run the script that will execute the workflow steps

./run-workflow.sh

This script will:

	-Deploy a Regulator smart contract
	-Add a CRO/pharma to this contract - in this case Roche
	-Upload the trial protocol (data/TrialProtocol.pdf) to IPFS, running locally
	-Deploy a Clinical Trial smart contract - in this case for Tamiflu, including the IPFS hash linking to the protocol
	-Add 500 subjects to the trial
	-Add 5 data points for each subject

5) Run the script to read data from the blockchain contracts
./read-from-blockchain.sh

...............................
blockNumber= 3005
drug name= Tamiflu
ipfs hash= QmTZKpCqqFcUsmXWzffmLkYNCwrYkTvhkAXdquzNWij1z4
number of subjects= 501
patient ident= s0/1985-04-03
patient ident= s1/2006-4-1
	 data=  44/mg/89/NONE added at 2016-10-04T16:14:49+01:00
	 data=  50/mg/68/NAUSEA added at 2016-10-04T16:14:49+01:00
	 data=  27/mg/44/HEARTBURN added at 2016-10-04T16:14:49+01:00
	 data=  42/mg/33/COMA added at 2016-10-04T16:14:49+01:00
	 data=  96/mg/54/HEADACHE added at 2016-10-04T16:14:49+01:00
patient ident= s2/2007-5-13
	 data=  10/mg/29/COMA added at 2016-10-04T16:14:49+01:00
	 data=  79/mg/44/NAUSEA added at 2016-10-04T16:14:49+01:00
	 data=  53/mg/21/HEADACHE added at 2016-10-04T16:14:49+01:00
...............................

6) Log files for these scripts can be found in the logs directory

Problems
========

Please contact us:

Mihai Cimpoesu [email protected]
Timothy Nugent [email protected]
David Upton [email protected]

true-clinical's People

Contributors

timnugent avatar

Watchers

James Cloos avatar

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.