Overview

Documents how to customize the index viewer for terminologies other than ICD10.

General Info

The index viewer implementation is specifically designed to work with ICD10 and also can easily be customzied for ICD10CM.  A review of the Index Viewer Tools page is recommended to learn how the various tools work.

The map tool dynamically checks to see whether index data for a desired target terminology is available so building and packaging the data is all that is needed.

Index viewer data could only be built for terminologies that have an index that is released in addition to the terminology itself - otherwise, there would be no starting point.  This functionality was specifically built for ICD10 and ICD10CM, so terminologies beyond these may not be appropriate, even if they have indexes.

In the event that index viewer data is not needed at all, there is a default, empty, index viewer data artifact that comes with the project (in config/empty).  It has essentially the top-level directory and then no contents.  This artifact can be used in any installation where index viewer data is not needed.

Process

The basic process for customizing index viewer is this:

Once HTML and Lucene indexes have been generated, all of the data should be packaged into a maven artifact with a structure like this:

NOTE, in the example above "asc" is specifically for ICD10 and other terminologies would not require this directory.  Another important point is that while "asc" and "xml" are not technically  needed to deploy the index viewer data, it is recommended that all of the files related to indexes  and index viewer data be kept together so that a single maven artifact can contain everything that is needed.

Configuring the Build

When building a server for deployment, a configuration project is included by virtue of the use of these three paramaters (which have defaults in the webapp/pom.xml file)

To include your custom index viewer data, simply follow the dev-windows example (described in Index Viewer page) and point your configuration project to your custom index viewer data.  Then build the server with the three parameters above specified to point to refer to your config project.

Combining Indexes From Multiple Terminologies

The build only supports configuration of a single index viewer data artifact.  Thus, if a custom installation needs index viewer data from multiple terminologies, this requires creating a project/maven artifact having all of the data from the multiple repositories.  It is recommended that you architect this to keep individual index viewer data artifacts separate from each other and then have a secondary project that combines the data from multiple terminologies as needed.  Then, that secondary artifact is the one used to configure the final build.

ICD10CM Example

A good example of an alternative index viewer data artifact would be one for ICD10CM.  here, the index files come in the natural format used by the index viewer.  The 2015 distribution contains 4 index files

As there are four indexes, the final artifact would have four sub-directories for "html" and "lucene", one for each index.  The artifact built by a custom index viewer data project for ICD10CM 2015 would have the following structure:

Here, the contents of "html" and "lucene" would be created by multiple invocations of the IndexXmlToHtmlMojo and IndexXmlToLuceneMojo admin tools.

References/Links