OHDSI Home | Forums | Wiki | Github

Is "mixed-databases" supported by OHDSI?


We would like to use OHDSI with a mixed database systems. More specifically, the database system for WebAPI is using Postgres, whilst the backend CDM tables (clinical data, vocab, results, etc) are in SQL Server. Is this kind of mixed database mode allowed/supported?

Thank you for your help!

Yes, that’s supported and specifically designed for. When you register sources in your WebAPI database (your PG instance), you can specify what dialect the target CDM is:

  • Oracle
  • Mssql
  • Postgres
  • Redshift
  • Microsoft PDW
  • Impala
  • Netezza
  • Bigquery
  • SqlLite

Your WebAPI configuration can define any number of sources, and those sources can have any target dialect.

Thank you @Chris_Knoll for the quick response!

By any chance, do you know if this is also supported by BroadSea? We finally created a running Docker instance by using BroadSea docker-compose.yml, and in that file, there is only one JDBC driver specified. We are not sure how to specify multiple drivers, one driver for our WebAPI database (PG instance) itself, one for the backend target CDM?

Let me also add Lee, hope to hear from him as well. @lee_evans.

Thanks again!

Yes, you’ll have to check with @lee_evans, but ideally the BroadSea docker container would contain all the necessary JDBC drivers pre-installed and configured such that making a DB connection to any of those DBMS types would find the necessary driver available. If that is not the case, it should probably be updated to support that.

Otherwise, you’d have to figure out how to install JDBC drivers that you need post-launch of the container.

thanks @Chris_Knoll! what you have said was very helpful! wish you a great weekend ahead, and will wait for @lee_evans to advice us. thanks again!

Yes, the BroadSea docker container supports it.

"If you are using a proprietary database server (e.g. Oracle or Microsoft SQL Server) download your own copy of the database jdbc driver jar file and copy it to the same host directory where the docker-compose.yml file is located.

When the OHDSI Web Tools container runs it will automatically load the jdbc database driver, if it exists in the host directory."