Versions Compared

Key

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

...

  • Mobile-friendly user interface (e.g. responsive design)
  • Data model built around the UMLS data 
    • Natively handles RRF, some of the unusual and not-very-useful complexity of the UMLS is removed.
    • Capable of simultaneous representation of Metathesaurus data structures (e.g. CUI) and terminology-specific data structures (e.g SNOMEDCT_US concpet or MSH descriptor)
  • Capable of simultaneously supporting multple Metathesaurus views (e.g. UMLS, NCI-META, RXNORM, etc.)
  • Fully authenticated REST APIs with Java client classes included.
  • Supports multiple terminologies and versions. 
    • Capable of handling any UMLS-based terminology , such as (e.g. MeSH, SNOMEDCT_US, ICD10CM, etc. )
  • 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 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"
    • Handles generalized queries against the underlying persistence model (formulated as combination Lucene/JQL queries)
  • 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.
  • 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.

Extensibility

  • Supports customizeable "metadata" handlers to allow for both individual terminology and metathesaurus-specific views into the metadata model.
  • Supports customizeable 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 customizeable lexical normalization handler with default implementations based on NLM's LVG and the Lucene "standard analyzer"
  • Supports a customizable authentication/authorization mechanism
    • Default implementations for UTS (http://uts.nlm.nih.gov), and guest-only security"default" security (for development mode).
  • Supports a customizable “graph resolver” mechanism to define the depth into the graph that various read and write calls should support. 
    • Default implementation of this mechanism supports reading/writing a concept that includes descriptions, language refset members, and relationships.
    • Other data types are read/written through API calls.
  • Supports a customizable validation framework that allows testing of data states prior to persistence. 
    • Default implementation includes a few basic checks to demonstrate use.
  • 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.
  • Supports a customizable “workflow listener” mechanism to interface with an external or third party workflow management system.
    • Workflow can be tracked at the concept, description, or relationship level but is not itself maintained by the system. 
    • Changes to model objects triggers a callback to a custom handler to integrate with an external workflow management system.
  • Includes complete administrative, technical, and user documentation, and a full swagger API with example values that yield legitimate results.
  • 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.

Extensibility

 

Next Features

  • Support a DL classification with default Snorocket implementation (full and incremental).
  • Support for "semantic search".Supports a customizable identifier management solution
    • 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.
  • Supports a customizable validation framework that allows testing of data states prior to persistence. 
    • Default implementation includes a few basic checks to demonstrate use.

Upcoming Features

  • Support multiple, simultaneous editing of the same concepts for dual independent review, conflict identification, and conflict resolution.
  • REST API for batch changes.
  • Default release process for performing identifier assignment and delta RRF generation.
  • Additional loaders
    • SNOMED RF2 loader
    • ClaML loader
    • Generalized OWL loader
  • Export to Owl for "description logic" based terminologies.

Future Development

  • Support branch-and-merge "project" based editing to isolate, modularize, and package sets of work

...

  • .
  • Support

...

Emerging Features

  • for "semantic search" based on an expression grammar.
  • Support for “dynamic” refset definitions and data.
  • Support for classifier concrete domains and other features (like GCIsdescription logic classifier integration (Owl2 EL profile support).
  • Support for sharding and a synchronization service (to support shadowing or distributed editing). Such a mechanism could also be used to synchronize IHTSDO editing changes with an extension-editing environment.
  • Internationalization of error messages and labels. There’s a standard approach to this that will be undertaken once MVP is ready.
  • Javascript client library for wrapping REST API calls and allowing application developers consistent access to the services.
  • Support for post coordinated expression maintenance and resusability.
  • Support for expression-based searching.
  • Support for template-based authoring.