OHDSI Home | Forums | Wiki | Github

Is it mandatory to have Achilles installed to use any feature of Atlas

(Sarath Manikonda) #1

We have setup WebAPI and tested the it with the sources url and it is working fine.
After Atlas is installed and try to access the url:, we are not getting anything other than the logo. Please see the attached screenshot with console error.
My Q is:

  1. Do we need to have Achilles already installed before using Atlas.
  2. Where should or can Achilles be installed. (The server which has the CDM, results tables, The Webserver or the Server that has the database for WebAPI).

(Chris Knoll) #2

As of version 2.6, NPM is required to fetch all dependencies. The setup documentation is out of date but:

  1. Install npm https://nodejs.org/en/
  2. navigate to your atlas root folder (there is a package.json file in the root), and type npm install

This will download all dependencies required to run the app. You should be able to refresh your browser after that is done.

No, not required, but the ‘DataSources’ section of the application will read Achilles results. So if you want to view the reports in DataSources, you will need to run achilles. But you can do other things in atlas without Achilles.

The results of Achilles should be written to the results schema of your CDM source, same place you created the results schema via the /WebAPI/ddl/results endpoint.

(Sarath Manikonda) #3

Thanks a lot the update. I will follow the instructions you mentioned for Atlas.

I have few queries (after I read the documentation and also the forum for Achilles installation): (please refer to the server layout diagram attached)

  1. In the CDM database (which is Oracle in our case), I created two schema.
    a) CDM - for the CDM tables and Vocab tables
    b) RESULTS - Empty schema for the Results tables, whenever they are created

  2. Created the OHDSI DB in the PostgreSQL DB

After the .War file was deployed, I saw that 86 tables were created in the webapi schema of the OHDSI database and some these are Results tables (which are present in the ddl under Webapi).

Mw my questions are:

  1. Which results tables does Achilles use or which results tables should I tell Achilles to use. (the Webapi tables or the tables that are yet to be created in Results schema on CDM DB server)
  2. Theoretically, if the Results tables and the corresponding data is on CDM database, I am assuming that would be better, as the CDM data can be analyzed and the results data stored in results tables in the same server. But there are not tables in my RESULTS schema as of now. When and how will they be created.

If there is any ambiguity in my Queries, please let me know.

I really appreciate all the help.

(Chris Knoll) #4

And I regret this confusion, those are legacy tables, and you should ignore those tables in WebAPI that resemble the results schema tables. The only thing you should be concerned with the results schema is the DDL from /WebAPI/results/ddl.

Achilles will read the tables from the CDM schema, and write results to the specified schema (in your case ‘Results’). You should tell Achilles to write the results to the same schema that you created your /WebAPI/ddl/results schema.

The CDM schema and Results schema must exist on the same server, because the way the analysis queries works is: insert into results.{result_table}…select x,y,z from cdm.{cdmTable}. You can’t put the two schemas on different databases (nor should you, the latency of reads/writes over a network would be bad).

Simply put: you can ignore the tables under WebAPI database: they are automatically managed through automated migration scripts. Just install the WAR, and the WebAPI database should maintain itself.

The CDM schema and the Results schema, on the other hand, must be manually maintained. You will ETL your data into tables in the CDM schema, and you will create the results tables using the /WebAPI/ddl/results endpoint. Achilles will also create an additional table (or two) during execution, which should live in your results schema if you want Atlas/WebAPI to find it.

(Sarath Manikonda) #5


I could Atlas to work finally. Here is a minor fix I had to do to make it work though. Putting it down here so that it can help anyone facing the same issue:

The console was showing an error that file: /atlas/node_modules/datatables.net-buttons/js/buttons.colVis.min.js is missing.

It was not fixed after following the troubleshooting steps. But I could locate the same file under:

So I copied it manually to the desired location and Atlas UI is working now.