OHDSI Home | Forums | Wiki | Github

Achilles and Atlas integration

Hi Team ,

I have started to explore Atlas .
Currently have setup ATLAS v1.4 and WebAPI v1.5 .
And Achilles web have been setup as standalone .

When we tried to integrate Atlas And Achilles we tried to update the config.js with below properties
config.dataSourcesLocation = ‘/achilles/data/datasources.json’;
config.dataSourcesRoot = ‘/achilles/data’;

But still we are not able to see these Achilles data source in Atlas data source .

So any help in configuration on how to integrate the Atlas with Achilles will be very helpful .

Thanks,
Henry .

We’ll need to see the errors you are getting. Open up the console in chrome before opening the app, and report any errors you see after accessing the Data Sources nav.

Hi Chris ,

Thanks for the response ,please find the details as below .

Once i add the below properties in the config.js the Atlas app itself will not be able load .
If i remove this properties then Atlas will be accessible

Below is the screenshot of the Atlas with Developer tool option .

The contents of the config.js is as below

cat /usr/local/tomcat-8.5.9/webapps/Atlas/js/config.js
define([], function () {
var config = {};

    config.services = [
    {
                    name: 'Local',
                    url: 'https://ohdsi.synapse.celgene.com/WebAPI/'
      }
            ];

    config.webAPIRoot = config.services[0].url;
    config.cohortComparisonResultsEnabled = true;

    #adding below param
    config.dataSourcesLocation = '/var/www/html/Achilles/data/datasources.json';
    config.dataSourcesRoot = '/var/www/html/Achilles/data';

    return config;

});

Below is the path of the Achilles data sources
/var/www/html/Achilles/data

Please let us know if you need additional information from our end .

Thanks,
Henry

Hi - the line “#adding below param” is causing you an issue. If you would like to leave that comment in config.js, change it from “#” to “//” and it should get you past this error. If you encounter others, please post them as @Chris_Knoll described. Thanks!

Also the path in the config file shouldn’t be a physical path from a root drive as it appears your root to your web is /var/www/html’. It should be a path relative to your web root, I believe you should set both stems of your path to /Achilles/data…

-Chris

Henry, do you mind also sharing other aspects of your implementation. Linux or Windows based implementation. Which other framework you used (e.g., IIS vs others (from Apache?)) Our site is slowly trying to make the same deployment. We have AchillesWeb working, CDM data in Postgres database - but for Atlas we need most hand-holding.

Thanks @Chris_Knoll and @anthonysena after modifying the config.js , crossed this error ,but now i am not able to navigate to the Data sources tab .

Below is the error message in the developer tab :
Even though we navigate to the Datasources and it takes us to the Vocabulary tab but still the URL shows it as datasources .

Implementation details are as below :
We have hosted the Atlas on a Linux server .
We have the data loaded in Oracle database and we have exported the data from oracle DB to json files using R packages and copied it to the Linux server where we have hosted Atlas and placed it in the path /Achilles/datasources/

cat /usr/local/tomcat-8.5.9/webapps/Atlas/js/config.js
define([], function () {
var config = {};

    config.services = [
    {
                    name: 'Local',
                    url: 'https://ohdsi.synapse.celgene.com/WebAPI/'
      }
            ];

    config.webAPIRoot = config.services[0].url;
    config.cohortComparisonResultsEnabled = true;

    config.dataSourcesLocation = '/Achilles/data/datasources.json';
    config.dataSourcesRoot = '/Achilles/data';

    return config;

});

Please feel free to let me know if you need any specific details from my end .

Thanks ,
Henry

Hi, Henry,
The screenshot you gave offers a glimpse, but there’s something wrong walking further up the stack. The error message that relates to d3.tip is the donut rendering of the dashboard data. I’m guessing elsewhere in the chrome console you’d be able to find a request for a file (like dashboard.json) that might be returning a 404. So I need to see a bit further back in the trace and also the output of some of the HTTP calls.

Also, just a point of clarification: does navigating to the AchillesWeb app work properly (ie you can naviage your browser to http://{sever[:port]}/Achilles?

-Chris

We are also trying to install Atlas. We had Achilles working at some point. We will also go for the .json files option (as backup)

I have a related question.
Is achillesweb (using .json and not webAPI) fully included in Atlas?

I thought the only way to display person dashbord is via webAPI.

So I can go to two URLs - one that shows the data the old way and one that is using the webAPI?

@Chris_Knoll Really appreciate your quick response .
I am able to navigate to the Achilles from the browser

With respect to the trace this was the first error in the developer part .

this error repeats every instance when i try to access the data source tab .
Is there any log where i can fetch more details on the error .

Thanks ,
Henry

@Chris_Knoll below is the error trace (due to restriction of posting only one image for new user - uploading it in the separate comment )

@Vojtech_Huser as i have mentioned the implementation details in the previous comment, i will be happy to help with any additional specific details required form my end .

Thanks ,
Henry

Hi, @henryrocks,
The second error isn’t quite enough: it’s telling us the same error as the first ’ Cannot read property ‘tagName’ of null. Something is null in the rendering, it’s just not clear what.

Also strange that the AchillesWeb works but Atlas does not; my understanding was that the Atlas achilles was just wrapping the core AchillesWeb code.

To answer your question about a log: there’s no server-side activity for this part of the app. Everything is client invoked and client processed.

I feel like I have seen this error message before, but it’s been over a year since I’ve had to jump into it and without being able to recreate this (i’m assuming you are unable to share your json files) it’s a bit difficult.

However, you can set a breakpoint on jnj.chart.js line 149 to take a look at the object that’s being passed into the call to render. If the object is null, or doesn’t appear to be an array, that might explain somethings.

Also, you could compare the HXR requests in the chrome console from AchillesWeb to those in Atlas…look at the URLs being requested and what the reponse code is (I’m expecting that you’d see some resources come down as HTTP 200 on the achilles web site (the one that works) but with some kind of 404 on the Atlas side. If that’s true, the reason for the errors in donut.render is that there’s an upstream problem that’s cascading into the render call, which may not be a java-script error per-se, but rather a resource failed to download and the processing just went along anyways.

Lastly, are there spaces in your source name (you have it censored out). You don’t need to tell me the value, but can you confirm if the data source name in the URL contains spaces or not?

-Chris

Hi, I am wondering what the current Achilles/Atlas integration configurations are. Can someone give some insight? Are “dataSourcesLocation” and “dataSourcesRoot” required in the config-local.js? And all the Achilles R script run results (bunch of json files) are supposed to be saved under “dataSourcesRoot”?

Hi, @chen_regen, with the latest release of WebAPI and Atlas, you do not need to run the exportToJson() command of the Achilles R package. The data is queried directly from the achilles_results tables, so you do not need to set dataSouresLocation and dataSourcesRoot. Atlas will use WebAPI’s sources to list the available datasources to browse.

Hi Chris @Chris_Knoll, thanks a lot for the response! So we actually only need to run Achilles R packages again different data sources. Then Atlas should be able to show the results, right? I will try that.

That’s correct (with the latest version of WebAPI and Atlas).

t