OHDSI Home | Forums | Wiki | Github

WebAPI `source` table `source_connection` value declaration

Which version of Atlas allows New Source configuration in the GUI? I am using the latest Broadsea 2.0 dockers and that feature is not enabled.



I have correctly configured connection to our MS SQL db, and tested that the connection string works.
However, I am not seeing any data in the dashboard. The connection string has ohdsi_user as the login. Does the app need another user? ohdsi_app_user and what permissions does that user need in the MS SQL db?

The new source GUI is given to admins. Are you going to be using security in this Atlas instance?

Regarding Data Sources, it looks like your IRSFonOMOP source isn’t accessible with the current db account. You can see the “Vocabulary Version” is blank for it in the Config screenshot. Please ensure that your db account can select from the cdm schema and results schema.

When those are verified, make sure you also have run Achilles, as that is what Data Sources will pull from, the achilles tables in the results schema for this source.

Thank you for this guidance! I’ll try those steps and report back on progress.
This is our dev instance. We intend to move to production around mid March.

I successfully connected to our MS SQL through RStudio (I am very new to this, so apologies for my naive questions)…

However when I use this:

connectionDetails ← createConnectionDetails(dbms = “sql server”,
server = “external-prod-hive-sql-server.database.windows.net”,
user = “ohdsi_user”,
password = “****************”)

achilles(connectionDetails = connectionDetails,
cdmDatabaseSchema = “OMOP”,
resultsDatabaseSchema = “RESULTS”,
outputFolder = “output”)

It errors:
Error: unexpected input in “connectionDetails ← createConnectionDetails(dbms = “”

See my response in the other thread, I see formatted quotes in your createConnectionDetails call. They should be regular quotes.

log_achilles.txt (92.8 KB)
runAchilles-RScriptv3.txt (1017 Bytes)

Hi Ajit!

Thanks for your help. I corrected the quotes issue. Never use MacOS Notes app to copy and paste anything like scripts and such! So finicky.

I am happy to report that I ran Achilles successfully. Attached is the log file. Unfortunately when I logged into Atlas, still no data is showing in the Dashboard report. I checked to see the ohdsi_app user has read/write/execute. Still struggling to get that working even though the Achilles tables are correctly written in the results schema.

-Sanjay

which version of WebAPI are you running? Tehre’s an issue that if you get an exception when pulilng the data, it stores a ‘no data’ result. To address this, you can truncate the webapi table: achilles_cache,

I tried your suggestion but I keep getting this error:

2023-02-26 12:13:47 2023-02-26 17:13:47.959 INFO http-nio-8080-exec-2 com.odysseusinc.logging.LoggingService - [] - Could not get JDBC Connection; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user ‘ohdsi_user’. ClientConnectionId:881291c2-f015-4f4c-aa2d-cc76f0ee45dd

I’m running the latest version of WebAPI. http://127.0.0.1/WebAPI/info

{“version”:“2.12.1”,“buildInfo”:{“artifactVersion”:“WebAPI 2.12.1”,“build”:“NA”,“timestamp”:“Wed Feb 01 18:44:39 UTC 2023”,“branch”:“2.12.1”,“commitId”:“985e8722”,“atlasRepositoryInfo”:{“milestoneId”:45,“releaseTag”:""},“webapiRepositoryInfo”:{“milestoneId”:46,“releaseTag”:""}},“configuration”:{“security”:{“samlActivated”:false,“enabled”:false,“samlEnabled”:false},“vocabulary”:{“solrEnabled”:false},“plugins”:{“atlasgisEnabled”:false},“person”:{“viewDatesPermitted”:false},“heracles”:{“smallCellCount”:“5”}}}

http://127.0.0.1/WebAPI/source/sources

[{“sourceId”:1,“sourceName”:“OHDSI Eunomia Demo Database”,“sourceDialect”:“postgresql”,“sourceKey”:“EUNOMIA”,“daimons”:[{“sourceDaimonId”:1,“daimonType”:“CDM”,“tableQualifier”:“demo_cdm”,“priority”:0},{“sourceDaimonId”:2,“daimonType”:“Vocabulary”,“tableQualifier”:“demo_cdm”,“priority”:10},{“sourceDaimonId”:3,“daimonType”:“Results”,“tableQualifier”:“demo_cdm_results”,“priority”:0}]},{“sourceId”:2,“sourceName”:“IRSFonOMOP”,“sourceDialect”:“sql server”,“sourceKey”:“OMOP”,“daimons”:[{“sourceDaimonId”:4,“daimonType”:“CDM”,“tableQualifier”:“OMOP”,“priority”:0},{“sourceDaimonId”:5,“daimonType”:“Vocabulary”,“tableQualifier”:“OMOP”,“priority”:10},{“sourceDaimonId”:6,“daimonType”:“Results”,“tableQualifier”:“RESULTS”,“priority”:0}]}]

Hi Ajit,

You mentioned “the new source GUI is given to admins”. How do I get/enable that functionality in my Atlas install?

-S

I just realized I missed a critical configuration step. Running it now.

http://127.0.0.1/WebAPI/ddl/results?dialect=sql%20server&schema=RESULTS&vocabSchema=OMOP&tempSchema=TEMP&initConceptHierarchy=true

This DDL has to be run in my MS SQL CDM environment.

This error is pretty clear that you have an authentication error with ohdsi_user. Please check the credentials you are using for connecting tot he server.

Success! Finally. It was the formatting of the JDBC string.
Thank you for the guidance!

Atlas is connected running beautifully.


1 Like

https://www.ohdsi.org/web/wiki/doku.php?id=development:security
To enable Admin GUI

Hi @Sanjay_Udoshi,

I’m having similar issues trying to connect Broadsea to an instance of a database running outside of Broadsea. I’m running PostgreSql on localhost. I am getting a connection refused error when I try to start up Broadsea. My docker-compose.yml and output from the WebAPI launch in docker are attached.
docker-compose.yml.txt (3.6 KB)
web-api-output.txt (280.0 KB)

@Sanjay_Udoshi, @Ajit_Londhe and @lee_evans, is there documentation for:

  • How to connect Broadsea to an existing external database (CDM and webapi)
  • How to roll and existing external database (CDM and webapi) into a new Docker distribution

Thanks again for all of your help with this everybody,
John

Hi @greshje.gmail – I’m almost done with a new Broadsea fork (to be a PR eventually) that handles the following through Docker compose profiles:

  1. Use a separate PG instance for WebAPI
  2. Enable SSL
  3. Enable atlas security
  4. Launch SOLR for fast vocab search
  5. Launch Ares
  6. (Possibly) DQD

In the meantime, you can modify the current docker compose file. You can simply remove the “depends_on: broadsea-atlasdb” piece of the broadsea-webapi service, and remove the actual broadsea-atlasdb service. And then change the credentials / connection details in the broadsea-webapi service to match yours.

And regarding CDMs not on that machine, you can add any CDMs to Atlas as long as they are within your network. There isn’t anything to change in the Broadsea implementation.

Tagging @lee_evans for awareness

2 Likes

This is exciting!

Hi @Ajit_Londhe, @Sanjay_Udoshi, and @lee_evans. Thanks again for all of the help with this. We’ve automated the process for how we are doing our install of CDM/WebAPI/Atlas etc. as described in this post: Ponos: Install an Instance of CDM/WebAPI/Atlas on Windows in 5 Easy, Standardized, Repeatable Steps. For next steps, we still need to point our Broadsea instance to our full CDM/webapi instances and create an instance of the CDM in Databricks.

1 Like

That is great news John! We have our instance running with security finally! Thanks to @McClelland_Legge and @Ajit_Londhe

I am testing that Ponos install in a Windows VM btw.

1 Like

Thanks @Sanjay_Udoshi ! Please let me know if there are any bumps in the road whatsoever. Also, the current install is intended to be as turn key as possible. Under the hood every thing is broken up into much smaller pieces so it is possible to run precise individual steps but we haven’t created a user interface for this functionality. Also, it would probably be nice if we added some documentation around what all of the configuration parameters do. Let me know what you think. Thanks again!

t