Documentation
Common Data Model (CDM)
Convert Database to CDM (ETL)
Tool Specific Documentation
Common Data Model (CDM)
Convert Database to CDM (ETL)
Tool Specific Documentation
This is an old revision of the document!
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:
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 meaningful unique identifier that will be used in calls to the REST API) SOURCE_CONNECTION: - SOURCE_CONNECTION: jdbc:sqlserver:yourServer;databaseName=db1;user=u1;password=pw (a valid jdbc connection string) SOURCE_DIALECT: sql server (the dialect of your database, used by the SqlTranslate services) Valid SOURCE_DIALECT values: 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: SOURCE_DAIMON_ID: 1 (typically auto generated by the database layer) SOURCE_ID : 1 (a reference to an existing record in the SOURCE table) DAIMON_TYPE: 0 (a type identifying the type of daimon, valid values listed below) 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, explained below) DAIMON_TYPE Valid values are translated to the 0 based enum class found here At the time of writing the values are as follows: 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.