Versions Compared

Key

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

...

  • load.bat, load.csh 
    • Used to create database, clear indexes, and load terminology data.
  • loadDelta.bat, loadDelta.csh
    • Used to run the delta loader.
  • truncate_all.sql
    • MySQL script for removing all tables.
    • The alternative is to drop and recreate the schema

Update DB

Used to create or update the schema to accommodate new builds/installations or updating of schema.

  • For this mojo to run, the database must already be created (e.g. Create database tsdb; )
  • Connection parameters for the database must be set in the config.properties file.
  • When running, pass a run.config parameter whose value is the path to the config.properties file.

  • Note, the default behavior is to run with the hibernate.hbm2ddl.auto setting set to "update".  
    • This can be overridden by running with a -Dhibernate.hbm2ddl.auto=create setting.

 

Code Block
% cd admin/updatedb
% mvn [-Dhibernate.hbm2ddl.auto=create] -Drun.config=/home/user/data/config.properties clean install

Loader

Used to load terminologies.

  • For this mojo to run, the database must already be created (e.g. Create database tsdb; )
  • Connection parameters for the database must be set in the config.properties file.
  • When running, pass a run.config parameter whose value is the path to the config.properties file.

  • When running, the name of the profile to be run must be indicated (see admin/loader/pom.xml for current options), e.g.  -P SNOMEDCT, -P ICD9CM
  • The location of the RF2 formatted files must be supplied as an input parameter in config.properties, e.g. loader.SNOMEDCT.input.data=C:/data/snomedct-20140131-mini  and loader.ICD9CM.input.data=C:/data/icd9cm_2013.xml
  • The parameters used to determine the defaultPreferredName for Concepts must be provided in the config.properties file. Current values are:
    • loader.defaultPreferredNames.typeId=900000000000013009

    • loader.defaultPreferredNames.refSetId=900000000000509007

    • loader.defaultPreferredNames.acceptabilityId=900000000000548007

Code Block
% cd admin/loader
% mvn -Drun.config=/home/user/data/config.properties -PICD9CM clean install

Remover

Used to remove terminologies.

  • For this mojo to run, the database must already be created (e.g. Create database tsdb; )
  • Connection parameters for the database must be set in a the config.;properties file.
  • When running, pass a run.config parameter whose value is the path to the config.;properties file.

  • When running, the name of the profile to be run must be indicated (see admin/loader/pom.xml for current options), e.g. -P SNOMEDCT, -P ICD9CM.
Code Block
% cd admin/remover
% mvn -Drun.config=/home/user/data/config.properties -PICD9CM clean install

Reindex

Used to create lucene indexes to facilitate searching.  Indexes are created based on the hibernate-search annotations such as @Indexed, @IndexedEmbedded, @Field, @ContainedInetc.

  • Indexes are written into the directory specified by the hibernate.search.default.indexBase property
  • When running, pass a run.config parameter whose value is the path to the config.properties file.

 

% cd parent/admin/lucene

...

Admin Tools

The following admin tools are used to administer a term server.

The "server" Parameter

Most admin tools take an optional "server" parameter that can be set to true/false and has a default value of false.

This is a mechanism to support running admin tools through REST calls, rather than in a standalone fashion.  The reason for this is that tomcat deployments involve running the server as a different user than the typical admin user on the machine.  As many admin tools can affect indexes, this creates weird problems with respect to managing ownership and permissions on Lucene index files.  

By supporting a mode where all admin tools can be run through a server, there is no need to have the the user account on a production machine for running admin tools match the user account of the server.  In fact, the "load" scripts supplied with the distribution could be easily modified to use "server=true" and the entire load could be managed through a running server.  This, of course, would require the server to be deployed and running first.

  • n/a