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):
cd <- createConnectionDetails( dbms = "postgresql", server = "localhost/omop_cdm", user = "ohdsi_admin_user", password = "admin1", port = 5433, pathToDriver = "~/JDBCDrivers" # typically 5432 for Postgres )
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!