Server (Cells) Architecture Home
Space shortcuts
Space Tools

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following table is a mapping between the elements in the Component & Connector Client-Server view shown in section 3.1.1, and the Modules Decomposition and Uses views shown in sections 3.2.1 and 3.2.2.
The relationship shown is is-implemented-by, i.e. the elements from the C&C view shown at the top of the table are implemented by any selected elements from the Modules views, denoted by an "X" in the corresponding cell.

 

ONT Server

Project Management Server

Metadata Database

ONT Service

X

X

 

Ontology Webservice

X

 

 

Request Handler

X

 

 

Request DAO

X

 

X

Vocabulary Data Object

X

 

 

...

Both the metadata and the patient data are distributed to projects through the existence of independent databases (in SQL Server) or schemas (in Oracle). These will be referred to in the rest of the text as the "persistent storage location" or PSL. These PSL's are organized so that the data from two metadata representations can be merged to a "Super" data set. While a person is working on a specific project, they will be directed to data in a PSL associated with that project.
In order to support the i2b2 project distribution strategy, the user is enrolled in numerous projects recorded within the i2b2 project management cell". The projects available to the user are returned in the web service call to the Project Management cell. The logic of selecting the correct PSL for the project is embodied in the following table:

DB_LOOKUP

 

 

PK

c_domain_id

VARCHAR(255)

PK

c_project_path

VARCHAR(255)

PK

c_owner_id

VARCHAR(255)

 

c_db_fullschema

VARCHAR(255)

 

c_db_datasource

VARCHAR(255)

 

c_db_servertype

VARCHAR(255)

 

c_db_nicename

VARCHAR(255)

 

c_db_tooltip

VARCHAR(255)

 

c_comment

CLOB

 

c_entry_date

DATE

 

c_change_date

DATE

 

c_status_cd

CHAR(1)



The logic for selecting the PSL is as follows:

  1. There are two methods to select the correct PSL, an implicit one, and an explicit one. Both rely only on information available within the i2b2 header.

...

  1. The implicit one relies upon the data within the <domain> tag, the <username> tag, and the <project_id> tag.
  2. The explicit one relies upon the data only within the <project_id> tag. It has the format represented as the following string:


"DOMAIN"

"Project" \"subproject"\"sub-sub Project" | "USER_ID"


  • These may not actually match the domain and username that is actually being used (since it is being built by the client), and must be checked when the PM cell is accessed.

...


Other columns are specified as follows:

  1. The column _c_db_fullschema_ is used to contain the path to a table when the data source is used. Software is written so that the absence of the delimiter (usually a ".") does not need to be explicitly stated.
  2. The column _c_db_datasource_ is used to contain a short string that represents a data source configured in some other location.
  3. The column _c_db_servertype_ can be "ORACLE" or "SQLSERVER".
  4. The column _c_db_nicename_ is a string that can be used in client software to describe a data source.
  5. The column _c_db_tooltip_ contains a longer (hierarchical) representation of the nicename.

...

The Metadata table encapsulates the vocabulary used in the data repository. A term (concept or provider) is a row from the Metadata table. It is the primary object used to pass vocabulary information to the requesting client. Typically a PSL will contain numerous Metadata tables, each with a name that indicates the domain that the vocabulary contained within represents.

METADATA

 

 

PK

c_fullname

VARCHAR(700)

PK

c_name

VARCHAR(2000)

 

c_hlevel

INT

 

c_synonym_cd

CHAR(1)

 

c_visualattributes

CHAR(3)

 

c_tooltip

VARCHAR(900)

 

c_total_num

INT

 

c_basecode

VARCHAR(50)

 

c_comment

CLOB

 

c_metadataxml

CLOB

 

c_facttablecolumn

VARCHAR(50)

 

c_tablename

VARCHAR(50)

 

c_columnname

VARCHAR(50)

 

c_columndatatype

VARCHAR(50)

 

c_operator

VARCHAR(10)

 

c_dimcode

VARCHAR(700)

 

update_date

DATE

 

download_date

DATE

 

import_date

DATE

 

sourcesystem_cd

VARCHAR(50)

 

valuetype_cd
m_applied_path
m_exclusion_cd
c_path
c_symbol

VARCHAR(50)
VARCHAR(700)
VARCHAR(25)
VARCHAR(700)
VARCHAR(50)

...

Release 1.5 introduced the ablility to create new metadata or edit existing metadata within the i2b2 workbench. Once metadata has been created or edited it is necessary to synchronize these changes with the appropriate dimension table. The concept_dimension table would need to be updated with new concept terms; likewise provider_dimension table would need to be updated with new provider terms and the modifier_dimension table could need to be updated with new modifier terms.
The Process Status table provides information about the synchronization between the ontology metadata tables and the dimension tables.

PROCESS STATUS

 

 

PK

process_id

INT

 

process_type_cd

VARCHAR(50)

 

start_date

DATE

 

end_date

DATE

 

process_step_cd

VARCHAR(50)

 

process_status_cd

VARCHAR(50)

 

crc_upload_id

VARCHAR(5)

 

status_cd

VARCHAR(50)

 

message

VARCHAR(2000)

 

entry_date

DATE

 

change_date

DATE

 

changedby_char

CHAR(50)

...


ontology.aarontology-server.jarontology-core.jar<<deployment>><<deployment>><<deployment>>JBoss Application ServerOracleDatabaseServer