• Version: Snow Owl v1.8
  • Start date: 21 May 2012
  • End date: 29 June 2012
  • Code name / adopted animal: Virgil, a tiger cub at the Budapest Zoo

Concept retirement wizard

We have added an action to simplify inactivating concepts. When right-clicking a concept in the navigator view, two new actions appear: Inactivate concept and Inactivate concept and descendants.

After choosing to inactivate a concept, an inactivation plan will show you the changes that will be made. You will also be allowed to specify a reason for inactivating the concept.

Inactivation plan

If you return to the concept in the concept editor, you will see that the status has been changed to inactive and the effective time has been set to unpublished. The inactivity status and retirement target details are also updated.

Inactivated concept


Set effective time upon publication

When a concept or component is changed, its effective time changes to ‘Unpublished’. The export wizard now prompts for a target effective date when exporting concepts and will set the unpublished concepts to this date.

Publication wizard


This release completes the architectural features that try to make searching for concepts as simple as possible. These features include:

  • A pluggable search provider architecture to flexibly support new terminologies and new types of semantic searches.
  • An extensible interface that allows third parties to contribute their own search techniques.
  • A parallel search architecture that takes full advantage of modern multi-core systems.
  • Search provider chaining to allow sequential query expansion for a particular search provider. (E.g. Search for misspellings based on the results returned from a previous search)
  • Optimistic and pessimistic search provider execution to parallelize query expansion on multi-core systems. (E.g. A multi-CPU server may search for misspellings in parallel with normal searches and discard the pessimistic results if sufficient numbers of results are returned from the original search).
  • Search scheduling and prioritization to deliver acceptable performance on older hardware.

We have also made several user interface improvements:

  • Incremental display of search results as they become available, so that longer-running searches do not prevent fast search results from quickly appearing.
  • Match highlighting to visually indicate matches between the search result and the query string.
  • Visual distinction of exact matches from approximate results returned from query expansions.

These features integrate with other Snow Owl components:

  • MRCM integration to automatically restrict searches to those valid according to the concept model.
  • Global history and frequency of use data increases search relevancy.
  • User bookmarks (favorite concepts) are searched.
  • Previously selected concepts (concept browsing history) are separately searched and displayed.

Search profiles now rank search results for the given context:

  • Profiles can be specified at the user level to influence the ranking of search results.
  • Profiles can increase or decrease the relevance of entire groups of concepts (e.g. ‘Clinical finding’ descendants can be marked as more interesting).
  • Groups of concepts inappropriate to the current context can be suppressed (e.g. Members of the ‘Non-human reference set’ can be excluded from search results).
  • Concepts groups can be specified by hierarchy, reference set memberships, subset memberships, inclusion in simple and complex maps, and by both namespace and module.
  • Results for particular specialties or departments can be prioritized.
  • Import and export allows profiles can be saved and shared with others.

A federated search box on the toolbar allows searching through all terminologies from a single location. The search box can be accessed by pressing CTRL-4 (Windows) or CMD-4 (OS X). Search results will appear progressively with each character typed further refining the search.

Global search results for ‘para’

Matching search results

A subset of the total matches will be displayed so that some results from each provider appear. Increasing the size of the search results window (by dragging the corner) will automatically display additional results for each provider. If there are more results than can be displayed on a single screen, initially only a subset of results appear. If you would like to see additional results, each time you press the shortcut (CTRL-4 on Windows ; CMD-4 on OS X) additional results will be displayed.

Global search results for ‘lower back pa’

Automatic query expansion

Some search providers–notably the SNOMED CT search provider–will automatically expand a query to correct potential spelling errors and otherwise identify inexact search matches that the user may have intended. These results will appear as gray in the search results window to indicate that they are approximate matches. Spelling mistakes, different dialects, variant word forms, and more are included in the approximate results.

Global search results for the misspelled term ‘epididimiss’

MRCM Integration

Search widgets make use of the concept model to display only valid relationship targets. This helps to improve the accuracy of approximate matches as well.

Relationship target results for the misspelled term ‘diclofanac’

Intelligent autocompletion

Once you start typing you will see a suggestion to complete your current term appear in light gray. Pressing the tab key accepts this suggestion and updates the matching results.

The suggestion takes into consideration your previous choices, bookmarks, search profile, concept frequency of use data, mappings, and more when making an autocompletion recommendation. In the example below, the search values are further constrained by the concept model, which constrains the valid concepts used in the Has formulated route property.

Search results for ‘endo’

User search profile

Matching search results are ordered according to the Search Profile preference settings. Frequency of use data is also considered when ordering the results.

Default search profile settings

Users can use built-in profiles, or create a new profile based on a built-in one. Additional rules can then be added to bias the search results as desired.

Adding a new search profile rule

Search widget enhancements

Search widgets used throughout Snow Owl have been updated to include the same search features and behavior as the global search.

Search results for ‘tet fa’

Since the global search is now the simplest and recommended way to search through a list of concepts, we have changed the default filter behavior on the terminology navigation views. The navigation views now display their results in a tree mode by default.

Filtering now displays a tree by default

New perspectives added

Snow Owl allows users to rearrange the user interface in a way that helps them perform their current task. In addition to any customized perspectives that you may wish to create, we include three default perspectives. Click on one of the perspective icons located at the top right to active it.

Default perspectives

Authoring perspective

Authoring perspective

Reference set editing perspective

Reference set perspective

Mapping perspective

Mapping perspective

Concept drag and drop

Snow Owl concepts can now be dragged and dropped (or copied and pasted) into other documents, providing the concept ID and preferred term. If the target editor supports rich formatting, the standard ESCG color format will be included.

Dragging a concept to a PowerPoint presentation

Dropping the concept inserts the code and preferred term


For advanced users wishing to exploit the full power of Snow Owl’s API, we have provided scripting support for ad hoc queries, validation, and more. We have integrated a full-featured Groovy editor to simplify creating scripts. Those more comfortable with Java can use Java syntax within their Groovy scripts as well.

Scripting editor showing results of semantic query

Queries can be saved as delimiter separated value files or saved to XML with only a short script:

Script demonstrating creating an XML file