Giter Club home page Giter Club logo

ohdsi-in-a-box's Introduction

OHDSI-in-a-Box

Quickly deploy a single instance implementation of OHDSI tools and sample data for personal learning and training enviroments. If you are looking to deploy a enterprise, scalable OHDSI architecture then check out the OHDSIonAWS project. A Linux and Windows version of this environment are offered. Both versions have the same set of OHDSI tools. The Windows version uses 'pgAdmin 4' to allow access to the Postgres database while the Linux version uses 'SQL Workbench'. The Linux version is ~40% less expensive to run, depending on the exact AWS instance type you choose. You can also easily add multiple users to a single instance of the Linux version if you like.

Deployment Walk Through Video

OHDSI-in-a-Box Deployment Walk Through

Linux Version

AWS Region Code Name Launch
cn-northwest-1 China (Ningxia) cloudformation-launch-stack
eu-west-1 EU (Ireland) cloudformation-launch-stack
ap-northeast-1 AP (Tokyo) cloudformation-launch-stack
us-east-1 US East (N. Virginia) cloudformation-launch-stack
OHDSI Component Version
OMOP Common Data Model v5.3.1
Atlas v2.7.6
WebAPI v2.7.6
Usagi v1.2.8
WhiteRabbit v0.9.0
RabbitInAHat v0.9.0
Achilles v1.6.3
PatientLevelPrediction v3.0.6
DatabaseConnector v2.4.1
DatabaseConnectorJars v1.0.0
SqlRender v1.6.2
OhdsiRTools v1.7.0
FeatureExtraction v2.2.2
Cyclops v2.0.2
OhdsiSharing v0.1.3
Sample Data Source Size
CMS DeSynPUF 100k persons
CMS DeSynPUF 1k persons
Synthea 1k persons

RDP username: ohdsi
RDP password: this is specified as a parameter during deployment
Postgres username: ohdsi
Postgres password: this is specified as a parameter during deployment

If you want to add users to the OHDSI-in-a-Box Linux version, you can do this by using the adduser command and then copying the ohdsi user home directory, as shown in the screenshot below:

alt-text

Windows Version

AWS Region Code Name Launch
cn-northwest-1 China (Ningxia) cloudformation-launch-stack
ap-northeast-1 AP (Tokyo) cloudformation-launch-stack
eu-west-1 EU (Ireland) cloudformation-launch-stack
us-east-1 US East (N. Virginia) cloudformation-launch-stack
OHDSI Component Version
OMOP Common Data Model v5.3.1
Atlas v2.7.0
WebAPI v2.7.0
Usagi v1.1.6
WhiteRabbit v0.7.8
RabbitInAHat v0.7.8
Achilles v1.6.5
PatientLevelPrediction v3.0.5
DatabaseConnector v2.3.0
DatabaseConnectorJars v1.0.0
SqlRender v1.6.0
OhdsiRTools v1.7.0
FeatureExtraction v2.2.2
Cyclops v2.0.2
OhdsiSharing v0.1.3
Sample Data Source Size
CMS DeSynPUF 100k persons
Synthea 1k persons

RDP username: ohdsi
RDP password: this is specified as a parameter during deployment
Postgres username: postgres
Postgres password: ohdsi

OHDSI-in-a-Box Architecture

OHDSI-in-a-Box is specifically created as a learning environment, and is used in most of the tutorials provided by the OHDSI community. It includes many OHDSI tools, sample data sets, RStudio and other supporting software in a single, low cost Windows virtual machine. A PostgreSQL database is used to store the CDM and also to store the intermediary results from ATLAS. The OMOP CDM data mapping and ETL tools are also included in OHDSI-in-a-Box. A high-level diagram showing how the different components of OHDSI map to AWS Services is shown below.
alt-text

OHDSI-in-a-Box deployment instructions

  1. Install an RDP client to access you OHDSI-in-a-Box instance
    Windows includes an RDP client by default. To verify, in the search box on the taskbar, type Remote Desktop Connection, and then select Remote Desktop Connection. If your computer doesn't show this application, see the Windows home page and search for the download for the Microsoft Remote Desktop app.
    Mac OS X Download the Microsoft Remote Desktop app from the Mac App Store.
    Linux Use rdesktop.

  2. Begin the deployment process by clicking the Launch Stack button at the top of this page the corresponds to the version (Windows or Linux) and the AWS Region you want to us. This will take you to the CloudFormation Manage Console. You will see the CloudFormation template URL is pre-populated. Click Next.

  3. The next screen will take in all of the parameters for your OHDSI environment. A description is provided for each parameter to help explain its function, but following is also a detailed description of how to use each parameter. At the top of this screen, be sure to provide a unique Stack Name.

Security

Parameter Name Description
Instance Password Required This password will be used to allow you to login to the OHDSI-in-a-Box instance. It can contain upper and lowercase letters, numbers, and/or these special characters !@#
Limit access to IP address range? Required This parameter allows you to limit the IP address range that can access your Atlas and RStudio servers. It uses CIDR notation. The default of 0.0.0.0/0 will allow access from any address.

Scaling

Parameter Name Description
Number of OHDSI-in-a-Box instances to deploy This determines the number of OHDSI-in-a-Box instances that will be deployed. This allows you to easily deploy more than 1 instance if you are using it for a virtual training environment.
Instance type to use for each OHDSI-in-a-Box instance This determines the processing power of your OHDSI-in-aBox instance. Typically, t3.medium offers a good balance between cost and performance For more information, see the list of available EC2 instnance types.
Disk space for each OHDSI-in-a-Box instance This defines the disk size of the OHDSI-in-a-Box instance in GBs. The minimum size is 100GB and the maximum size is 16,000GB (or 16TB). You can use this parameter to deploy additional disk space in order to upload your own data into your OHDSI-in-a-Box instance.

Networking

Parameter Name Description
Subnet This is the subnet within an AWS VPC into which all of your instances will be deployed. If you aren't familiar with this setting, you can choose a subnet from within your Default VPC. They typically have a name like subnet-111111a (172.31.0.0/20)
VPC This is the AWS VPC into which all of your instances will be deployed. It must be the VPC that contains the subnet you specified above. If you aren't familiar with this setting, you can choose your Default VPC. It will typically have a name like vpc-111111a (172.31.0.0/16)

When you've provided appropriate values for the Parameters, choose Next.

  1. On the next screen, you can provide some other optional information like tags at your discretion, or just choose Next.

  2. On the next screen, you can review what will be deployed. Be sure to check the box that says I acknowledge that AWS CloudFormation might create IAM resources. as shown in the image below. Then choose Create.

alt-text

  1. You can watch as CloudFormation builds out your OHDSI environment. A CloudFormation deployment is called a stack. The parent stack creates several child stacks depending on the parameters you provided. When all the stacks have reached the green CREATE_COMPLETE status, as shown in the screenshot following, then the OHDSI architecture has been deployed. Select the Outputs tab to find a link to your OHDSI-in-a-Box instances, as shown below.

alt-text

  1. You will now see a list of all of your OHDSI-in-a-Box instances and you can connect to them using your Remote Desktop client, the username ohdsi and the password you provided as a parameter. It will take about 5 minutes after this list appears for each OHDSI-in-a-Box instance to boot up and for the password to be set. If you connect to your instance and it says the password is incorrect, just wait a few more minutes for the password automation to complete.

  2. Once you are finished with your OHDSI-in-a-Box instances, just return to the AWS CloudFormation console and Delete the stack, as shown below. This will terminate all of the instances you launched.

alt-text

If you prefer to create your own customer OHDSI-in-a-Box image, take a look at the steps used to build this one. They are documented in a file called OHDSI-In-a-box-QuickStart-Installation-Guide-v1.02 in this repository.

Adding multiple users in Linux

If you'd like to add another user to your OHDSI-in-a-Box Linux instance, just login as the default 'ohdsi' user, open the Terminal icon on the desktop, and run the below commands replacing 'user2' with the username you'd like to use. You can use this command over and over again to add new users.

sudo adduser user2
sudo cp -a . ../user2
sudo chown -R user2:user2 ../user2/.

License

This library is licensed under the Apache 2.0 License.

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.