Help with visualizing data in Atlas

Hi there!

I’ve set up WebAPI 2.14.0 and it is running on Tomcat (port 9000). I created a OMOP CDM database schema using the CommonDataModel R package to use a database called omop_cdm (different from the database that the WebAPI uses) and updated the source and source_daimon table in the webapi schema.
This is the record in the webapi.source table:

source_id source_name source_key source_connection source_dialect username password krb_auth_method keytab_name krb_keytab krb_admin_server deleted_date created_by_id created_date modified_by_id modified_date is_cache_enabled
4 omopcdm omopcdm jdbc:postgresql://server:5433/omop_cdm postgresql ohdsi_admin_user admin1 PASSWORD false

These are the records in the webapi.source_daimon table:

source_daimon_id source_id daimon_type table_qualifier priority
2 4 0 cdm 0
4 4 2 results 1
5 4 5 temp 0

This is the result from /WebAPI/source/sources:

[
  {
    "sourceId": 4,
    "sourceName": "omopcdm",
    "sourceDialect": "postgresql",
    "sourceKey": "omopcdm",
    "daimons": [
      {
        "sourceDaimonId": 2,
        "daimonType": "CDM",
        "tableQualifier": "cdm",
        "priority": 0
      },
      {
        "sourceDaimonId": 4,
        "daimonType": "Results",
        "tableQualifier": "results",
        "priority": 1
      },
      {
        "sourceDaimonId": 5,
        "daimonType": "Temp",
        "tableQualifier": "temp",
        "priority": 0
      }
    ]
  }
]

I downloaded the vocabulary from Athena, and loaded the data into the relevant tables with the scripts from here in to the schema cdm in the database omop_cdm. But I think something has gone wrong, I’m not sure what. When I go to the url /WebAPI/vocabulary/vocabularies, I get the error:

{
  "payload": {
    "cause": null,
    "stackTrace": [],
    "message": "An exception occurred: javax.ws.rs.WebApplicationException",
    "localizedMessage": "An exception occurred: javax.ws.rs.WebApplicationException",
    "suppressed": []
  },
  "headers": {
    "id": "5ef45795-78e5-cb5f-7526-06a8c08b72fc",
    "timestamp": 1742479969484
  }
}

I don’t see a vocabulary version for the source on Atlas either:


But running this query on the database shows that it exists:

Atlas is configured to point to http://localhost:9000/WebAPI/. My tomcat is running on the port 9000, so I’ve updated my config-local.js in atlas to reflect that:

define([], function () {
	var configLocal = {};

	configLocal.api = {
		name: 'Local',
		url: 'http://localhost:9000/WebAPI/'
	};

	return configLocal;
});

I realize this may be a stupid question but, should I change the server.port in settings.xml in the WebAPI config too? A bit confused because without changing it http://localhost:9000/WebAPI/info gives me the expected output.

I can access Atlas on http://localhost:9000/atlas/#/home but when I search for a person on Atlas, I don’t see the person. One person exists in the database with person_id=7, but Atlas shows “No matching people found”

person_id gender_concept_id year_of_birth month_of_birth day_of_birth birth_datetime race_concept_id ethnicity_concept_id location_id provider_id care_site_id person_source_value gender_source_value gender_source_concept_id race_source_value race_source_concept_id ethnicity_source_value ethnicity_source_concept_id
7 8532 1969 4 23

But the person
cannot be found.

Since Atlas guidelines recommends characterizing data through Achilles, when I run achilles I only see the table achilles_analysis in the results schema, should I be seeing a achilles_results table too?
These are the commands I ran for achilles (I understand that these users were meant for only webapi, but since I’m just testing out locally I gave the ohdsi_admin_user access to the omop_cdm database as well):

  1. cd <- createConnectionDetails( dbms = "postgresql", server = "localhost/omop_cdm", user = "ohdsi_admin_user", password = "admin1", port = 5433, pathToDriver = "~/JDBCDrivers" # typically 5432 for Postgres )
  2. achilles(cd, cdmDatabaseSchema = "cdm", resultsDatabaseSchema = "results", sourceName = "omopcdm", createTable = TRUE, analysisIds = NULL, cdmVersion = "5.4")

I’m not sure why I’m getting an error with the vocabulary, or what I’m doing wrong.
Would greatly appreciate some help!