Features

Information on application features, license, and plans for future work.

License

This software is currently offered with restricted West Coast Informatics license that requires an agreement in place to use the software locally. At some point in the future, we plan to begin releasing a version under the standard Apache 2 license [1].

Features

  • Provides your organization with a “single source of truth” for all terminology questions

  • Lightweight and easy to build, configure, and deploy.

  • Web-based and mobile-friendly user interface (e.g. responsive design)

  • Data model built around the NLM Unified Medical Language System (UMLS) data model

    • Natively handles RRF, RF2, ClaML, OwL, OMOP and some other standard terminology formats

    • Natively handles a simple code list with parent/child relationships file format

  • Fully authenticated REST APIs with configurable authentication approaches (including no auth).

  • Supports multiple terminologies and versions. 

    • Capable of handling terminologies of varying levels of complexity (e.g. MeSH, SNOMEDCT_US, ICD10CM, etc.)

    • Simple code lists

    • Taxonomies

    • Thesauri

    • Ontologies with DL features (supports EL++) and classification (via OwlAPI)

  • Supports transitive closure computation and maintenance. 

    • Ancestor/descendant (and parent/child) computations are simple lookups and do not require computationally expensive graph walking.

    • Also supports individual tree-position representation of hierarchy (for terminologies that assign codes to individual tree positions).

  • Supports SNOMED-ECL-style querying language (across all hierarchical terminologies)

    • searching within subsets

    • searching based on mapping

    • searching ancestor/descendants

  • Supports both lexical and semantic querying

    • Handles complex field-based Lucene queries

    • Handles queries like "find all concepts with associated_morphology relationships to Kidney or any of its descendants" via a syntax like the SNOMED expression constraint language (ECL)

    • Handles generalized Lucene+SQL queries against the underlying persistence model

  • Supports paging, filtering, and sorting at the API level. 

    • For example, a “find concepts” call can be combined with sorting and filtering and can also page results one page at a time with flexible page sizes.

  • Includes administrative, technical, and user documentation, and a REST API documented online with sample parameters.

  • Supports description logic constructs within the metadata model to allow interoperation with Owl and integration with classifiers.

  • Fairly comprehensive unit, functional, and integration testing across all layers of tech stack.

  • Flexible back-end data store.

    • Default support for MySQL and uses Hibernate to facilitate connections to a variety of other database environments, including document-based and graph databases.

  • Basic editing features (add concept, add synonym, change preferred name, edit subset membership, edit mappings)

  • Import/Export/Reindex admin features to extract changes made in an environment.

  • Bulk “lookup” feature to help map “lists of terms”

Extensibility

  • Supports customizable "loaders" to support additional terminology formats (as needed).

  • Supports customizable “synonym generation” algorithms to support more fruitful searching

  • Supports customizable preferred name computation to support different algorithms for different terminologies.

    • Can be used to allow different users to work with different preferred name algorithms for the same terminologies as well (useful for when editing a particular terminology within a Metathesaurus that is not highly ranked).

  • Supports a customizable authentication/authorization mechanism

  • Supports a customizable “graph resolver” mechanism to define the depth into the graph that various read and write calls should support. 

  • Supports custom labelling of elements within the user interface (so when showing “descriptions”, you can use that label instead of “atoms”).

  • Supports a customizable identifier management solution for concept editing

    • Allows various approaches to ID maintenance, including application managed identifiers, content hash-based UUID assignment, and SNOMED CT® identifier assignment based on sequences. 

    • Ability to assign UUID identifiers during development to core components followed by SNOMED CT® identifier assignment at release time.

Upcoming Features

  • Ability to search across all terminologies.

  • Better “history” mechanism within the UI to allow for use of back/forward buttons for navigation across searches

  • Enhanced “saving” of user preferences across sessions.

  • Customizable validation framework for content changes.

  • Reporting/messaging capabilities for environments that make use of basic editing features.

  • Additional “bulk” searching features to allow for multiple lookups, better parameterization of searching

  • Word-embedding based searching capabilities

  • Integration of NLP/entity extraction based on terminologies loaded.