Hauptseite: Unterschied zwischen den Versionen
K |
K (→CTS2-LE REST-API) |
||
| Zeile 68: | Zeile 68: | ||
''Note: The CTS2-LE REST API uses the HL7 FHIR ValueSet resource definition for sharing terminology resources. The FHIR specification treats terminologies as value sets with specific constraints. Therefore all services listed below can be applied to both value sets and terminologies.'' | ''Note: The CTS2-LE REST API uses the HL7 FHIR ValueSet resource definition for sharing terminology resources. The FHIR specification treats terminologies as value sets with specific constraints. Therefore all services listed below can be applied to both value sets and terminologies.'' | ||
;[[CTS2-LE REST API: Resolve Value Set|REST API: Resolve Value Set]] | ;[[CTS2-LE REST API: Resolve Value Set|REST API: Resolve Value Set]] | ||
| − | |||
:The ''ResolveValueSet'' REST API provides means to resolve and/or fetch an FHIR origined value set (or terminology) which is identified by it's URI. | :The ''ResolveValueSet'' REST API provides means to resolve and/or fetch an FHIR origined value set (or terminology) which is identified by it's URI. | ||
:Example: [[CTS2-LE REST API Example: Loading a Value Set into a HTML Form DropDown-Box|Loading a Value Set into a HTML Form DropDown-Box]] ''(--> Ben)'' | :Example: [[CTS2-LE REST API Example: Loading a Value Set into a HTML Form DropDown-Box|Loading a Value Set into a HTML Form DropDown-Box]] ''(--> Ben)'' | ||
;[[CTS2-LE REST API: Requesting Concept Details|REST API: Request Concept Details]] | ;[[CTS2-LE REST API: Requesting Concept Details|REST API: Request Concept Details]] | ||
| − | |||
:The ''RequestConceptDetails'' REST API can be used for fetching the details of a concept which is identified through a codesystem and code. | :The ''RequestConceptDetails'' REST API can be used for fetching the details of a concept which is identified through a codesystem and code. | ||
;[[CTS2-LE REST API: Update Value Set|REST API: Update Value Set]] | ;[[CTS2-LE REST API: Update Value Set|REST API: Update Value Set]] | ||
Version vom 15. Juni 2015, 21:03 Uhr
Controlled vocabularies (also known as code systems or terminologies) are common information artefacts in healthcare. They allow for univocally and precisely referencing of concepts and are core foundation of any semantic processing of health data. In particular all electronic communication in healthcare relies on coded concepts for semantic interoperability and automated data processing.
The Object Management Group's Common Terminology Services Version 2 (CTS2) standard defines an accepted industry standard service interface to share, query and maintain value sets and other terminology artifacts. The CTS2 specification is structured within a platform independent model that provides two profiles:
- Structural profiles define how code systems, associations, or value sets are organized;
- Functional profiles define fundamental operations of persistent storage (CRUD) in an information system that change these structures.
One method to achieve compliance with the structural profiles of CTS2 is to use semantic web technologies that are widely used for vocabularies. In this way, CTS2 artifacts such as code systems, code system elements (i.e., codes and their designations), associations and value sets (i.e., sets of code system elements) can be processed with reasoning engines including code member validations.
The CTS2 Linked Data Edition (CTS2-LE) terminology server provided by Fraunhofer FOKUS follows that foundation. It relies on the Resource Description Framework Schema (RDFS) in conjunction with a schema vocabulary oriented towards the Frame Logic. So-called RDF signatures, based on this schema vocabulary, describe structural constraints according to the CTS2 information model. Likewise, arbitrary object graphs can be processed and stored with these RDF signatures.
Inhaltsverzeichnis
CTS2-LE Overview
This section provides an overview about CTS2-LE. It introduces the CTS2-LE building blocks and summarizes the most important functional features provided by CTS2-LE.
- CTS2-LE Fact Sheet (German)
The CTS2-LE Fact Sheet provides an overview of CTS2-LE considering the implemented CTS2 functionalities and additional usability related features.
- CTS2-LE Building Blocks
- The foundation of CTS2-LE features a structural compliance to the OMG CTS2 Information Model, is linked-data ready by the means of W3C RDF, and is accessible through a HL7 FHIR and REST API as well as supporting the definition, composition and import of value sets. The knowledge base functionality is implemented with RDF as the representation language providing linkage capabilities for intra- or cross-domain artifacts such as HL7 CDA and HL7 FHIR. This section describes the architecture and internal design of CTS2-LE.
- CTS2-LE Interoperability
- CTS2-LE is build upon international standards and provides multiple standard interfaces for connecting to external services. This section gives an overview on the standards supported by CTS2-LE and how these can be utilized for integrating CTS2-LE with third party products.
- Further Information Sources for CTS2-LE
- Fraunhofer FOKUS has published various papers and brochures about CTS2-LE in particular and terminology services in general. This section provides links to online resources related to CTS2 and CTS2-LE.
CTS2-LE Installation, Deployment, and Setup
This section covers the installation and initial setup of CTS-LE within an organization.
- Prerequisites for CTS2-LE Installation
- This section describes the hardware, OS and network requirements for installing CTS2-LE as a stand-alone-system on a server.
- CTS2-LE Installation and Deployment
- CTS2-LE is provided as a set of libraries and executables for the various system building blocks. This section describes how to deploy, configure and activate these components for specific usage scenarios.
- CTS2-LE Loadbalancing
- (--> Franziska, Sören)
- For deployments with outstanding requirements on availability and performance, CTS2-LE can be configured to run with multiple instances behind a load balancer. This section describes how a respective deployment can be set up.
- CTS2-LE Security Configuration
- CTS2-LE standard configuration allows unrestricted read access while administrative functionalities (e. g. loading/updating terminologies) is restricted to registered named users. This section describes how to configure these defaut security settings and how enhanced security services (e. g. full access control) may be linked with CTS2-LE.
- Loading Core Terminologies
- (--> Franziska)
- All standard terminologies (ICD-10, LOINC, etc.) require the user to obtain an individual license. Therefore such terminologies are not part of the CTS2-LE distribution but have to be licenced and loaded by the CTS2-LE customer. To ease this process, the CTS2-LE distribution includes a set of "terminology loaders" which allow for an automatic integration of the most common standard terminologies into CTS2-LE. This section describes how these loaders can be activated for loading standard terminologies into CTS2-LE.
- Loading Pre-Defined Value Sets
- (--> Franziska)
- HL7v3 and FHIR make intense use of value sets as defined by various HL7 committees. These value sets refer to standard terminologies and limit these to the sets of concepts required for common use cases. The CTS2-LE distribution includes the most important HL7v3 and FHIR value sets in a standard format. This section describes how these value sets can be loaded into CTS2-LE.
- CTS2-LE Update Procedures
- (--> Franziska, Andreas)
- Fraunhofer FOKUS will provide regular updates to the CTS2-LE software and loaders. These updates will include bug fixes, adaptations to changes on the CTS2 standard, and additional functionality. This section describes how to install an update to an already deployed CTS2-LE.
The CTS2-LE Navigator provides a graphical user interface for online browsing and managing terminologies and value sets. This sections describes the functionalites of the CTS2-LE Navigator and how to use these.
- Managing Terminologies and Value Sets
- (--> Andreas)
- This section describes how CTS2-LE Navigator can be used for manging the lifecycle of code systems and value sets (loading, deleting, updating and versioning)
- Browsing through Terminologies
- (--> Andreas)
- This section describes how CTS2-LE Navigator can be used for browsing through hierarchal and networked termonologies.
- Searching for Concepts and Terms
- (--> Andreas)
- CTS2-LE allows to search for concepts and terms either with a single or within multiple terminologies. This section describes how CTS2-LE Navigator's search features can be used and configured.
- Searching for Similar Concepts
- (--> Andreas)
- Whenever a concept is selected in CTS2-LE, the Navigator can be triggered to perform a full-text search across the full terminology base to discover concepts which are similar to the selected concept. This feature can e.g. used to ease the manual definition of mappings across terminologies. This section describes how such enhanced search features can be used and configured within CTS2-LE Navigator.
- Resolving and Displaying Value Sets
- (--> Andreas)
- CTS2 compliant value sets are defined as sets of references into terminologies. This section describes how such reference sets can be resolved into concept lists and how such lists can be displayed and exported in a standard format.
- Semantic Full Text Classification
- (--> Andreas)
- CTS2-LE allows users to upload full texts into the CTS2-LE Navigator for indexing this text with concepts from one or multiple terminologies. This section describes the resprctive user interface and how the resulting index can be used for semantic text processing.
CTS2-LE REST-API
CTS2-LE provides a simple REST interface for integrating CTS2-LE terminology services with custom and third-party applications. This section provides the technical specification of the CTS2-LE REST Application Programming Interface including sample code snippets for each interface.
Note: The CTS2-LE REST API uses the HL7 FHIR ValueSet resource definition for sharing terminology resources. The FHIR specification treats terminologies as value sets with specific constraints. Therefore all services listed below can be applied to both value sets and terminologies.
- REST API: Resolve Value Set
- The ResolveValueSet REST API provides means to resolve and/or fetch an FHIR origined value set (or terminology) which is identified by it's URI.
- Example: Loading a Value Set into a HTML Form DropDown-Box (--> Ben)
- REST API: Request Concept Details
- The RequestConceptDetails REST API can be used for fetching the details of a concept which is identified through a codesystem and code.
- REST API: Update Value Set
- (--> Andreas)
- The UpdateValueSet REST API allows to create or update a FHIR coded value set (or terminology).
- REST API: Delete Value Set
- (--> Andreas)
- The DeleteValueSet REST API allows to delete a FHIR coded value set (or terminology).
- REST API: SPARQL Query
- (--> Andreas, Raik)
- Due to the full RDF-encoding of all terminology artifacts, CTS2-LE allows for arbitrary queries within and across terminologies, value sets, concepts, and concept relationships. For this means are provided to transmit a standard SPARQL query to CTS2-LE. The query result is provided in standard SPARQL Query Results XML Format.
- REST API: Classify Text
- (--> Andreas)
- The ClassifyText API allows to index full text snippets using one or multiple terminologies. The request results in a set of concepts that best define the content of the provided text.
- Server Administration
- (--> Andreas, Raik)
- tbd
CTS2-LE-Addon for Freeplane
Author value sets and code systems. Publish on CTS2-LE and on FHIR servers.
Features
- Author offline, share later with your working group.
- Author in private and publish only if desired.
- Author code systems hierarchically instead of in flat tables.
- For value set composition, look up codes in CTS2-LE, using it’s cross terminology search.
- Include codes published on CTS2-LE in your value set without error-prone typewriting.
- In the authoring view, navigate to CTS2-LE code definition page.
Installing the CTS2-LE-Addon for Freeplane
The CTS2-LE-Addon uses Freeplane as a framework for modelling value sets and code systems.
To install Freeplane:
- Go to http://sourceforge.net/projects/freeplane/ .
- Download and run the Freeplane installer.
To install the CTS2-LE-Addon:
- Open Freeplane.
- Use the menu item Tools -> Add-ons.
- On the tab Search and install, click the Search button.
- Choose the Addon-file (e. g. FhirValueSetTools-v1.0.addon.mm).
- Close Freeplane and open it again.
Using the CTS2-LE-Addon for Freeplane
The CTS2-LE-Addon for Freeplane applies the concept of mind mapping to the authoring of value sets and code systems.
Creating a value set
To create a value set:
- Use the menu item File -> New map from template…
- In the Open dialog, choose the file Neues-FHIR-ValueSet.mm. A mindmap containing a single root node is created.
- In the root node, click the dots-icon on the left-hand side of the label. The icon changes from dots to bars, representing a list of codes.
- In the root node, adapt label and attribute values. See section Describing a value set or a code system.
Creating a code system
To create a code system:
- Use the menu item File -> New map from template…
- In the Open dialog, choose the file Neues-FHIR-ValueSet.mm. A mindmap containing a single root node is created.
- In the root node, adapt label and attribute values. See section Describing a value set or a code system.
Importing a FHIR ValueSet file
A FHIR ValueSet may define a code system or a value set.
To import a FHIR ValueSet:
- Use the menu item File -> New map from template…
- Use the menu item Tools -> FHIR ValueSet Tools -> Import FHIR ValueSet. Or, use the keyboard shortcut F9.
Note: The imported FHIR ValueSet is not the working file. To update the imported FHIR ValueSet file with changes you made in Freeplane, use the feature Exporting as FHIR ValueSet file.
Constituting a value set or a code system
The root node comprises a label and a set of attributes (name-value pairs). Modify the label and attribute values to set the metadata of the value set or code system:
| Root Node Attribute | Effect on Metadata |
|---|---|
| Label | Sets the name. |
| description | Sets the description. |
| groupName | Selects the group, which contains the value set or code system when published on CTS2-LE. |
| status | Sets the status. The value shall be one of draft, active, and retired. |
| uri | Sets the namespace URI. |
| language | Sets the language code. |
Adding a code to a value set
A code in a value set is a node in the mindmap. To add a code, you add a node to the mindmap. The attributes of the node reference a code of a code system.
To add a code to a value set:
- Open a value set by - creating a value set, or by - importing a FHIR ValueSet file, that defines a value set, or by - opening a Freeplane file, that models a value set.
- Select the root node or any other node.
- Use the menu item Edit -> New node -> New child node. Or, use the keyboard shortcut INSERT.
The new node does not reference a code of a code system so far. The CTS2-LE-Addon allows you to look up codes in CTS2-LE and to include them as in your value set without typewriting code and code system namespace URI.
To look up a code in CTS2-LE:
- Select the new node.
- Type in keyword, that is label the node. The keyword may be part of the code’s display name or it may be a part of the code value.
- Use the menu entry Tools -> FHIR ValueSet Tools -> Suggest Codes… Or, use the keyboard shortcut CTRL+ALT+L. A list of suggested codes appears.
Each suggested code has a link to the code’s description page on CTS2-LE. Click a link to navigate to the description page.
To include a suggested code:
- Click on the tickmark on the left hand side of the label of the suggested code.
Adding a code to a code system
A code in a code system is a node in the mindmap. To add a code, you add a node to the mindmap and set its attributes.
To add a code to a code system:
- Open a code system by - creating a code system, or by - importing a FHIR ValueSet file, that defines a code system, or by - opening a Freeplane file, that models a code system.
- Select the node, that is parent to the new code. Code systems may be flat, in which case you would select the root node of the code system as a parent.
- Use the menu item Edit -> New node -> New child node. Or, use the keyboard shortcut INSERT.
- Set the label and attribute values of the new code-node.
| Node Attribute | Effect on Metadata |
|---|---|
| Label | Sets the display name of the code. |
| code | Sets the code value of the code. The code value is in the namespace URI of the code system as defined on the root node. |
| definition | Sets the definition or description of the code. |
Exporting as FHIR ValueSet file
Code systems and value sets authored with the CTS2-LE-Addon are not connected to any FHIR ValueSet Ressource in the first place. Instead, your working document is a Freeplane mindmap document.
To export the mindmap document as FHIR ValueSet file:
- Open the Freeplane working document that models the code system or value set.
- If working document has unsafed changes, save.
- Use the menu item Tools -> FHIR ValueSet Tools -> Export FHIR ValueSet. Or, use the keyboard shortcut F10.
- In the file chooser dialog, select or name the target file. If the file exists already, it will be overwritten.
Publishing to CTS2-LE
Code systems and value sets authored with the CTS2-LE-Addon are not connected to version published on CTS2-LE.
To publish a value set or code system on CTS2LE:
- Open the Freeplane working document that models the code system or value set.
- Use the menu item Tools -> FHIR ValueSet Tools -> CTS2-Upload. Or, use the keyboard shortcut F11.
CTS2-LE Terminology Loaders
CTS2-LE can be used to manage and provide any kind of flat, hierarchical, poly-hierarchical or even networked terminology. To ease the integration of widely used terminologies into CTS2-LE Fraunhofer FOKUS provides various loaders for standard import formats and dedicated terminologies.
- Loading Terminologies into CTS2-LE
- (--> Franziska)
- This section describes the general procedures for loading a standard terminology into CTS2-LE.
- Example: Mapping and Loading epSOS Terminologies
- CTS2-LE Supported Terminologies
- (--> Franziska)
- CTS2-LE provides standard interfaces for importing terminologies and value sets. While some terminologies are distributed in such standard formats (e.g. ICD-10 is provided by WHO in ClaML format), many widely used terminologies are only available in a proprietary format and therefore need specific loaders that map this proprietary format onto the CTS2 data model. This section lists all terminologies which are recently supported by CTS2-LE together with information on how to obtain and import each terminology.
- CTS2-LE FHIR Loader
- (--> Franziska)
- HL7 FHIR provides a standard format for encoding value sets and terminologies. The CTS2-LE FHIR Loader described in this section allows to upload terminology resources to CTS2-LE using the standard FHIR value set resource definiton.
- CTS2-LE ClaML Loader
- (--> Franziska)
- The ISO 13102 Classification Markup Language (ClaML) standard is a common format for sharing terminologies. It is e.g. used by WHO for their ICD-10 distribution. The CTS2-LE ClaML Loader described in this section allows to upload ClaML encoded terminology resources to CTS2-LE.
- Proprietary CTS2-LE Terminology Loaders
- (--> Franziska)
- Please see the list below for links to descriptions of CTS2-LE loaders for terminologies which are not available in FHIR or ClaML format. The description of each loader includes information on the loader's input and output format together with a description on how to use the loader to import a terminology into CTS2-LE.
- Systematized Nomenclature of Human and Veterinary Medicine - Clinical Terms (SNOMED-CT)
- Logical Observation Identifiers Names and Codes (LOINC)
- Medical Subject Headings (MeSH)
- Alpha-ID
- Anatomical Therapeutic Chemical Classification (ATC) Defined Daily Dose (DDD), Darreichungsformen (DaFo)
- HL7v3 Terminologien
- International Statistical Classification of Diseases and Related Health Problems Revision 10 (ICD-10)
- Operationen- und Prozedurenschlüssel (OPS)
- Unified Code for Units of Measure (UCUM)