Giter Club home page Giter Club logo

eurekaclinical-ontology's Introduction

Eureka! Clinical Ontology Installation Files

Georgia Clinical and Translational Science Alliance (Georgia CTSA), Emory University, Atlanta, GA

What does it do?

It specifies Eureka! Clinical's extensions to the i2b2 metadata schema. It specifies an electronic health record data model and set of terminologies. It also contains liquibase XML changelog files for creating i2b2 metadata schema tables with those extensions (in src/main/resources/dbmigration).

Latest release: Latest release

Version 2.0.2

Update the parent pom.

Version 2.0.1

Fix missing close Oktousevalues tag in the C_METADATAXML for LOINC 731-0. It was causing a parsing exception in aiw-i2b2-etl.

Version 2.0

Changes the metadata schema to support improved performance of SQL statements to retrieve concepts.

Version 1.2

Initial version, with various bug fixes.

Build requirements

Runtime requirements

Building it

The project uses the maven build tool. Typically, you build it by invoking mvn clean install at the command line. For simple file changes, not additions or deletions, you can usually use mvn install. See https://github.com/eurekaclinical/dev-wiki/wiki/Building-Eureka!-Clinical-projects for more details.

Creating an i2b2 metadata schema with Eureka! Clinical extensions

  1. Create a schema and a user account for accessing that schema.
  2. Get a JDBC driver for your database and put it the liquibase lib directory.
  3. Create the TABLE_ACCESS table by execute the following from the liquibase installation:
./liquibase \
      --driver=JDBC_DRIVER_CLASS_NAME \
      --classpath=/path/to/jdbcdriver.jar:/path/to/eurekaclinical-ontology-<version>.jar \
      --changeLogFile=dbmigration/create-table-access-changelog.xml \
      --url="JDBC_CONNECTION_URL" \
      --username=DB_USER \
      --password=DB_PASS \
      update
  1. Next, add the Eureka! Clinical extra tables to the schema:
./liquibase \
      --driver=JDBC_DRIVER_CLASS_NAME \
      --classpath=/path/to/jdbcdriver.jar:/path/to/eurekaclinical-ontology-<version>.jar \
      --changeLogFile=dbmigration/i2b2-meta-schema-changelog.xml \
      --url="JDBC_CONNECTION_URL" \
      --username=DB_USER \
      --password=DB_PASS \
      update
  1. Install the demographics concepts:
./liquibase \
      --driver=JDBC_DRIVER_CLASS_NAME \
      --classpath=/path/to/jdbcdriver.jar:/path/to/eurekaclinical-ontology-<version>.jar \
      --changeLogFile=dbmigration/eureka-ontology-EK_DEMOG-changelog.xml \
      --url="JDBC_CONNECTION_URL" \
      --username=DB_USER \
      --password=DB_PASS \
      update
  1. Install the ICD-10-CM concepts:
./liquibase \
      --driver=JDBC_DRIVER_CLASS_NAME \
      --classpath=/path/to/jdbcdriver.jar:/path/to/eurekaclinical-ontology-<version>.jar \
      --changeLogFile=dbmigration/eureka-ontology-EK_ICD10CM-changelog.xml \
      --url="JDBC_CONNECTION_URL" \
      --username=DB_USER \
      --password=DB_PASS \
      update
  1. Install the ICD-10-PCS concepts:
./liquibase \
      --driver=JDBC_DRIVER_CLASS_NAME \
      --classpath=/path/to/jdbcdriver.jar:/path/to/eurekaclinical-ontology-<version>.jar \
      --changeLogFile=dbmigration/eureka-ontology-EK_ICD10PCS-changelog.xml \
      --url="JDBC_CONNECTION_URL" \
      --username=DB_USER \
      --password=DB_PASS \
      update
  1. Install the ICD-9-CM concepts:
./liquibase \
      --driver=JDBC_DRIVER_CLASS_NAME \
      --classpath=/path/to/jdbcdriver.jar:/path/to/eurekaclinical-ontology-<version>.jar \
      --changeLogFile=dbmigration/eureka-ontology-EK_ICD9D-changelog.xml \
      --url="JDBC_CONNECTION_URL" \
      --username=DB_USER \
      --password=DB_PASS \
      update
  1. Install the ICD-9 procedure concepts:
./liquibase \
      --driver=JDBC_DRIVER_CLASS_NAME \
      --classpath=/path/to/jdbcdriver.jar:/path/to/eurekaclinical-ontology-<version>.jar \
      --changeLogFile=dbmigration/eureka-ontology-EK_ICD9P-changelog.xml \
      --url="JDBC_CONNECTION_URL" \
      --username=DB_USER \
      --password=DB_PASS \
      update
  1. Install the medication order concepts:
./liquibase \
      --driver=JDBC_DRIVER_CLASS_NAME \
      --classpath=/path/to/jdbcdriver.jar:/path/to/eurekaclinical-ontology-<version>.jar \
      --changeLogFile=dbmigration/eureka-ontology-EK_MED_ORDERS-changelog.xml \
      --url="JDBC_CONNECTION_URL" \
      --username=DB_USER \
      --password=DB_PASS \
      update
  1. Install the lab test concepts:
./liquibase \
      --driver=JDBC_DRIVER_CLASS_NAME \
      --classpath=/path/to/jdbcdriver.jar:/path/to/eurekaclinical-ontology-<version>.jar \
      --changeLogFile=dbmigration/eureka-ontology-EK_LABS-changelog.xml \
      --url="JDBC_CONNECTION_URL" \
      --username=DB_USER \
      --password=DB_PASS \
      update
  1. Install the vital signs concepts:
./liquibase \
      --driver=JDBC_DRIVER_CLASS_NAME \
      --classpath=/path/to/jdbcdriver.jar:/path/to/eurekaclinical-ontology-<version>.jar \
      --changeLogFile=dbmigration/eureka-ontology-EK_VITALS-changelog.xml \
      --url="JDBC_CONNECTION_URL" \
      --username=DB_USER \
      --password=DB_PASS \
      update

Adding breakdown paths to the data schema

Assuming you already have an i2b2 data schema, run the following:

./liquibase \
      --driver=JDBC_DRIVER_CLASS_NAME \
      --classpath=/path/to/jdbcdriver.jar:/path/to/eurekaclinical-ontology-<version>.jar \
      --changeLogFile=dbmigration/eureka-ontology-QT_BREAKDOWN_PATH-changelog.xml \
      --url="JDBC_CONNECTION_URL" \
      --username=DB_USER \
      --password=DB_PASS \
      update

Maven dependency

<dependency>
    <groupId>org.eurekaclinical</groupId>
    <artifactId>eurekaclinical-ontology</artifactId>
    <version>version</version>
</dependency>

Data model

The electronic health record data model is described at https://github.com/eurekaclinical/eurekaclinical-ontology/blob/master/spec/Data%20model.md.

Terminologies provided

Name Version Source
ICD9-CM diagnosis codes Analytic Information Warehouse project, circa 2010
ICD9 procedure codes Analytic Information Warehouse project, circa 2010
ICD10-CM diagnosis codes 2015 UMLS 2015AA release, obtained from the NCBO BioPortal Ontology to i2b2 File Mappings page
ICD10-PCS procedure codes 2015 UMLS 2015AA release, obtained from the NCBO BioPortal Ontology to i2b2 File Mappings page
NCATS ACT lab test hierarchy (LOINC codes) 1.3 https://ncatswiki.dbmi.pitt.edu/acts/wiki/DataHarmonization
NCATS ACT NDF-RT/RxNorm hierarchy 1.3 https://ncatswiki.dbmi.pitt.edu/acts/wiki/DataHarmonization
Demographics 1.0 Locally developed, based on the i2b2 1.5 demo data ontology
Vital signs Locally developed

Extensions to the i2b2 metadata schema

See Metadata extensions spec.md.

Running liquibase with the changelog files

There are two ways to run liquibase on Eureka! Clinical project, both described in the liquibase documentation:

Getting help

Feel free to contact us at [email protected].

eurekaclinical-ontology's People

Contributors

akalsan avatar arpost avatar candyam5522 avatar dgunda1 avatar ndeshpa avatar nityanandareddy avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

eurekaclinical-ontology's Issues

Lab LOINC:16128-1 not appearing in the ontology in Eureka

LOINC:16128-1 is not appearing in Eureka, even though it is in the metadata table. Appears to be because there is no entry for its parent, \ACT\Labs\LP14855-8\LP14400-3\LP38332-0. I see this in EK_LABS, but the same problem likely exists in the ACT metadata table. This is causing labs with this LOINC code not to load.

Missing close tag for Oktousevalues for LOINC 731-0

Need to add a changeset that updates the C_METADATA_XML for EK_UNIQUE_ID='LOINC:731-0' to:
'''
<?xml version="1.0"?><ValueMetadata><Version>3.02</Version><CreationDateTime>11/18/2005 14:53:37</CreationDateTime><TestID>ALYMPHS</TestID><TestName>Abs Lymphs Auto</TestName><DataType>PosFloat</DataType><CodeType>GRP</CodeType><Loinc>731-0</Loinc><Flagstouse>HL</Flagstouse><Oktousevalues></Oktousevalues><MaxStringLength></MaxStringLength><LowofLowValue>1.0</LowofLowValue><HighofLowValue>1.2</HighofLowValue><LowofHighValue>3.2</LowofHighValue><HighofHighValue>3.5</HighofHighValue><LowofToxicValue></LowofToxicValue><HighofToxicValue></HighofToxicValue><EnumValues></EnumValues><CommentsDeterminingExclusion><Com></Com></CommentsDeterminingExclusion><UnitValues><NormalUnits>k/mm3</NormalUnits><EqualUnits>k/cumm</EqualUnits><EqualUnits>k/uL</EqualUnits><EqualUnits>10^9/L</EqualUnits><ExcludingUnits>No Units</ExcludingUnits><ConvertingUnits><Units></Units><MultiplyingFactor></MultiplyingFactor></ConvertingUnits></UnitValues><Analysis><Enums /><Counts /><New /></Analysis></ValueMetadata>
'''

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.