OHDSI Home | Forums | Wiki | Github

Ponos: Install an Instance of CDM/WebAPI/Atlas on Windows in 5 Easy, Standardized, Repeatable Steps

Hi Everybody,

We’ve just completed updates to our automation of the installation process for Atlas/WebAPI/CDM/webapi database etc. This process can be completed in 5 easy, standardized, repeatable steps:

  • Step 1: Provision a machine to host Atlas/WebAPI/CDM/etc.
  • Step 2: Download and run the _YES Installer to intall basic Java development tools
  • Step 3: Run Installers that have not been automated (there’s only 3: NPM, RTools, and PostgreSQL)
  • Step 4: Run the installer for Atlas/WebAPI/fhir-to-omop to clone, build, and deploy the fhir-to-omop tool suite, WebAPI, and Atlas
  • Step 5: Run the fhir-to-omop atlas tool to run all of the manual processes described below to create the CDM, webapi databases and all other dependencies required for Atlas/WebAPI/etc.

Running these steps results in a complete instance of Atlas including a full terminology complement (that is downloaded as part of the process by default if one is not provided), as well as a complete install of a 1k patient test data set using ETL-Synthea, as well as a run of Achilles that generates all of the Achilles data. Running these steps takes about an hour and twenty minutes (including the time it takes to create the AWS instance to host everything and installing all of the dependencies).

I believe this will be a nice complement to Broadsea (an amazing piece of work!) as Broadsea contains only a bare minimum instance of CDM/webapi databases (for example there are only a few hundred concepts in the concept table).

Most users will want to use their own instance of the CDM with Broadsea. It looks like the current methodology for creating an instance of the CDM is to use the process that is documented in the links given below in the section marked Definition of Manual Process to Install CDM/WebAPI/Atlas. This process is a complex manual process that involves documentation from several projects.

For this reason, and because developers will still need a local instance to develop against, I think the automated process (We’re calling it Ponos, in honor of the god of hard labor and toil) will be a very valuable contribution to the community and be complimentary to Broadsea and other tools.

There’s some more info on Broadsea and using a different CDM with Broadsea in these two OHDSI forum threads:

More documentation on what each of the steps of Ponos do is here:

More documentation on how someone could do their own build using Ponos is here:

Definition of Manual Process to Install CDM/WebAPI/Atlas

WebAPI Deployment: The following are the high-level steps for deploying WebAPI

Pre-requite software is listed here:
Install and configure a PostreSQL server, database and users for use when deploying WebAPI:
PostgreSQL Installation Guide · OHDSI/WebAPI Wiki · GitHub.
Verify the database connectivity:
WebAPI Installation Guide · OHDSI/WebAPI Wiki · GitHub
Install WebAPI:
WebAPI Installation Guide · OHDSI/WebAPI Wiki · GitHub
Deploy WebAPI to Tomcat:
WebAPI Installation Guide · OHDSI/WebAPI Wiki · GitHub
Verify deployment:
WebAPI Installation Guide · OHDSI/WebAPI Wiki · GitHub
Troubleshooting FAQ:
WebAPI Installation Guide · OHDSI/WebAPI Wiki · GitHub
Configure the CDM for use with WebAPI:
CDM Configuration · OHDSI/WebAPI Wiki · GitHub

Atlas deployment
The ATLAS setup guide is found here:
https://github.com/OHDSI/Atlas/wiki/Atlas-Setup-Guide. The high level steps include:
Troubleshooting guide:

I look forward to hearing everyone’s feedback.

Thanks again for all of your help and support,