ct-match

command module
v0.0.0-...-dbb10ca Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2019 License: ISC Imports: 12 Imported by: 0

README

Clinical Trial Matching

Clinical Trial Matching simulator

Prerequisite
  • Go 1.11+
How to install Go?
Install

For MacOS, using Brew:

$ brew install go

If you have Go installed, you can use this command to update Go to latest version:

$ brew upgrade go

For Linux or MacOS without using Brew: Please referece this guide: https://golang.org/doc/install#install

Set Path for Go

For MacOS, using Brew:

Add PATH to your .bashrc or .zshrc if you are using ohmyzsh :

# .zshrc
# go
export GOROOT=/usr/local/opt/go/libexec
export GOPATH=$HOME/.go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Build

Create directory for ct-match project:

$ mkdir -p $GOPATH/src/github.com/bitmark-inc/ct-match

Change to that directory

$ cd $GOPATH/src/github.com/bitmark-inc

Checkout source code via ssh:

$ git clone git@github.com:bitmark-inc/ct-match.git

Or you can checkout source code via git https:

$ git clone https://github.com/bitmark-inc/ct-match.git

Build the project:

$ cd $GOPATH/src/github.com/bitmark-inc/ct-match
$ go build
Configuration

Please use the testnet config file testnet.conf for your settings.

Sample config file:

network = "testnet" # bitmark network to run

api_token = "" # Bitmark SDK's API token (see https://sdk-docs.bitmark.com)

wait_time = 10 # waiting time for each step (for demo)

matchingService {
    accounts = [
        {
            identity = "Matching Service 1",
            seed = "9J87CqSvmk7doU5XkpwjnaT7NM85Py6pD"
        },
        {
            identity = "Matching Service 2",
            seed = "9J876x77doS1kJZp4dAMHvXP22KwXouct"
        },
         {
             identity = "Matching Service 3",
             seed = "9J874rk23TJGiLv7Kf6uJoBGZt5DwDCBY"
         },
         {
             identity = "Matching Service 4",
             seed = "9J87B7PKvHccJggdvNuMuNDzoBdB4yqpg"
         },
        {
            identity = "Matching Service 5",
            seed = "9J873bK5yFWvAZgoKtWcvR2LbETJDyua8"
        }
    ] # pre-defined accounts for matching services
    select_asset_prob = 0.3 # probability of selecting assets from sponsors to issue more and send to participants 
    match_prob = 0.4 # probability of selecting a participant for a specific trial
    match_data_approval_prob = 0.7 # probability of approving a trial on evaluation (after receiving from participant)
}

sponsors {
    accounts = [
        {
            identity = "Stanford University",
            seed = "9J87E888gSWzSE5bo6Pw62aNH8X52Y799"
        },
        {
            identity = "University of California",
            seed = "9J878GN96ArWWdqjDmqruPMsA8o1VRtht"
        },
        {
            identity = "Noah Merin Los Angeles",
            seed = "9J875vioxDXnZ43ft4qisUS3PebucqjDo"
        },
         {
             identity = "WCCT Cypress",
             seed = "9J878sSgsFW1RMaT18N5bfF2JZ5GzTAwK"
         },
        {
            identity = "Stanford Cancer Institute",
            seed = "9J874S1M2kv5PEwaUX7aQYTor4LXYEk8L"
        },
        {
            identity = "ProSciento Inc.",
            seed = "9J87CNq39EfHFUfRZ8xPvBAYm6YSvVAVw"
        },
        {
            identity = "Cedars Sinai Los Angeles",
            seed = "9J877CfjEp1pJBfL7CrQBzSfbBCHeh1YW"
        },
        {
            identity = "Adam Schickedanz",
            seed = "9J87ESXqsYm4Upr8GvjirckxHJdiGJAEp"
        },{
            identity = "UCSF School of Dentistry",
            seed = "9J876GhEZE5v6FLYLcKwNjhZwGSDkHUWB"
        }
    ] # pre-defined accounts for sponsors
    sponsor_data_approval_prob = 0.7 # probability of approving trials which is sent from matching services after evaluation
    trials_per_sponsor_min = 2 # minimum number of trials to issue for each sponsor
    trials_per_sponsor_max = 3 # maximum number of trials to issue for each sponsor
    studies_pool = [
        "Bisphenol A and Muscle Insulin Sensitivity",
        "Gas Exchange Kinetics and Work Load During Exercise",
        "Improving Islet Transplantation Outcomes With Gastrin",
        "HostDx Sepsis in Patients With Acute Respiratory Infections",
        "Energy Devices for Rejuvenation",
        "High School Start Time and Teen Migraine Frequency",
        "The Natural History of Danon Disease",
        "Restylane Silk Microinjections to Cheeks",
        "iBeat Wristwatch Validation Study",
        "Glucose Control Using 1,5-AG Testing",
        "Cut Your Blood Pressure 3",
        "18F-Fluorocholine for the Detection of Parathyroid Adenomas",
        "Efficacy and Safety of SYN-010 in IBS-C",
        "Postpartum Care Timing: A Randomized Trial",
        "Cardiac Recovery Through Dietary Support",
        "Ford Rumination and Mindfulness Merit",
        "Effects of Playing Pokemon Go on Physical Activity",
        "Mobile Virtual Positive Experiences for Anhedonia",
        "Behavioral Family Therapy and Type One Diabetes",
        "Sun Safety Skills for Elementary School Students"
    ] # Studies that the app will pick randomly to name the trial
}

participants {
    participant_num = 20 # number of participants
    participant_accept_match_prob = 0.8 # probability of accepting a trial when receiving from sponsors (final step)
    participant_submit_data_prob = 0.8 # probability of submiting medical data to matching service after receving trial
    participant_accept_trial_invite_prob = 0.8 # probability of accepting trial invitation from matching service
}
Run
$ ./ct-match -c testnet.conf

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL