All WebAPI documentation has moved to GitHub. Please disregard the content below as it is legacy and kept for posterity.
As we work to improve the deployment strategy for the OHDSI stack we will maintain this FAQ to assist with source configuration information.
Q. Can you explain the reason for the SOURCE and SOURCE_DAIMON tables?
A. These tables allow a single WebAPI to access multiple databases within a given network environment. Each SOURCE roughly translates to a unique server. Each SOURCE_DAIMON roughly translates to a set of tables, typically located within a schema or table qualification that are all used for a simliar purpose. This layer of abstraction also allows for a CDM database to be read only while still identifying the proper location to write result information from various analyses.
Q. How do you configure the SOURCE table in the OHDSI application schema?
A. Currently no tool manages the configuration of the SOURCE table and so it must be manually configured. Here is an example of valid settings:
Column Name | Sample Value | Description |
---|---|---|
SOURCE_ID | 1 | (typically auto generated by the database layer) |
SOURCE_NAME | My CDM | the display name of this CDM as you want it to appear across OHDSI web applications |
SOURCE_KEY | CDM1 | a unique key that will be used in calls to the REST API - no spaces allowed |
SOURCE_CONNECTION | jdbc: | a valid jdbc connection string |
SOURCE_DIALECT | sql server | the dialect of your database, used by the SqlTranslate services (sql server : Microsoft SQL Server, oracle : Oracle, pdw : Microsoft Parallel Data Warehouse, postgresql : Amazon Redshift or PostgreSQL) |
Q. How do you configure the SOURCE_DAIMON table in the OHDSI application schema?
A. Currently no tool manages the configuration of the SOURCE_DAIMON table and so it must be manually configured.
Here is an example of valid settings:
Column Name | Sample Value | Description |
---|---|---|
SOURCE_DAIMON_ID | 1 | typically auto generated by the database layer |
SOURCE_ID | 1 | a foreign key reference to an existing record in the SOURCE table |
DAIMON_TYPE | 0 | a type identifying the type of daimon, valid values listed here |
TABLE_QUALIFIER | db1.dbo | the schema or qualifier containing the required tables |
PRIORITY | 0 | a number specifying priority of this daimon, the largest value is highest priority |
At the time of writing the valid DAIMON_TYPE values are as follows:
DAIMON_TYPE | ENUM VALUE | Description |
---|---|---|
0 | CDM | a database / table qualifier combination that contains a valid CDM V5 schema |
1 | VOCABULARY | a database / table qualifier combination that contains the CDM V5 Vocabulary tables |
2 | RESULTS | a database / table qualifier combination that contains result table schemas |
3 | EVIDENCE | a database / table qualifier combination that contains the LAERTES evidence table schema |
Q. Why use the word DAIMON in SOURCE_DAIMON to represent services, aren't those traditionally DAEMONS?
A. DAIMON is actually the Greek version of DAEMON. From wikipedia: For the Minoan (3000-1100 BC) and Mycenaean (1500-1100 BC), “daimons” were seen as attendants or servants to the deities, possessing spiritual power.
As our projects all take on the names of Greek dieties, DAIMON seemed more appropriate.