CTS2-LE Building Blocks

Aus CTS2-LE
Version vom 24. August 2016, 22:02 Uhr von Billig (Diskussion | Beiträge) (to be updated ->Ben)
Zur Navigation springen Zur Suche springen

CTS2-LE Layered Architecture

CTS2-LE Layers.png

CTS2-LE Terminology Server utilizes semantic technologies for representing, providing and processing CTS2 artefacts. The main benefits of this approach are

  • the conceptual nearness to the nature of the artefacts to store, namely controlled vocabularies and its derivate artefacts,
  • semantic processing and querying in a direct way, and
  • to be able to manage a huge amount of linked medical data.

Concretely, CTS2-LE store is based on the Jena Framework plus additional components for searching and constraining the RDF base. The system components and its functionality are explained bottom to top with the help of the overall system architecture shown in the figure to the rigth. The persistence layer is split into two storage systems, namely a full text index for performant search (Lucene) and the RDF (quad )store (Jena-TDB) for holding all CTS2 artefacts as RDF graphs. As the system backbone the Jena Framework is used, which offers rich functionality to process and maintain the RDF graphs on a basic level. The Jena Framework is enhanced by some components in order to comfortably handle the (possible huge amount of) artefacts. CTS2-LE

  • explicitly partitions the whole RDF graph by means of the so-called named graphs feature,
  • contains a lightweight SPARQL template mechanism and engine, and
  • introduces a schema language for RDF graphs together with a validation component in order to ensure that all data is valid with respect to the CTS2 information model.


Sparql and rdf.png

The tier above Jena (CTS2-LE-BL) contains all CTS2-specific functionality and mainly uses SPARQL-Templates. At this tier customized vocabulary loaders are located which, for instance, transform ClaML-defined vocabularies such as ICD and OPS to RDF structures. Web-CTS2-LE is the component for handling REST calls aligned to the FHIR specification. CTS2-LE provides an so-called CTS2-Navigator to browse and search vocabularies as well as retrieving similar concepts based on the vector space model of Lucene.

The figure to the right shows some essential components. At the bottom the RDF graph is partitioned such that every vocabulary is represented by a named graph for better handling the exchange of vocabularies as a whole. Above that tier the main work is done by the Jena SPARQL engine for accessing and processing vocabularies and its corresponding artefacts such as value sets and mappings.

So-called RDF signatures are used to define a constraining RDF schema according to the CTS2 information model. Moreover, this F-Logic oriented RDF schema definition for CTS2 is helpful in formulating SPARQL queries, since it directly reflects the RDF graph structure. Validating store content according to these schemata is mainly done by means of the SPARQL engine. Furthermore, lightweight SPARQL templates can be defined to support reuse of queries by parameterization.

Terminology Editing and Processing

As sketched above, CTS2-LE manages all terminology artifacts as CTS2-compliant RDF graphs using a RDF (quad )store. By wrapping these data managing component with a powerful SPARQL engine, a generic and standards-based interface is provided that allows to place enhanced semantic data access and processing services on top of the core data managing engine. A complementary Lucene index is is utilized for gaining outstanding search performance.

This section introduces the set of services already provided as part of the standard CTS2-LE distribution.

CTS2-LE REST API

The API recently consists of terminology access and processing services for:

  • resolve and/or fetch an FHIR origined value set (or terminology) which is identified by it's URI (ResolveValueSet). This API can e.g. be used for populating web forms with value set contents at run time.
  • fetching the details of a concept which is identified through a codesystem and code (RequestConceptDetails). This API can e.g. be used for obtaining the full description of a coded value within a CDA document.
  • create or update a FHIR coded value set or terminology (UpdateValueSet). This API allows for connecting third party terminology editors to CTS2-LE.
  • running a standard SPARQL query on top of the CTS2-LE CTS2-compliant RDF-schema (SPARQLQuery).By providing a raw interface for running SPARQL queries, CTS2-LE users can easily enhance the externally accessible functionality of CTS2-LE. Giving the graph representation of all terminology artifacts, this even allows for complex semantic queries across networked terminologies.

CTS2-LE Navigator

Navigator screenshot 1.jpg

The CTS2-LE Navigator provides a graphical user interface for searching and browsing terminologies. It provides interactive means for:

Terminology Loaders

Besides the FHIR import interface described here, there are specific Loaders that can be used to integrate common terminologies. For further information please visit CTS2-LE Loading Core Terminologies.