Current Version - Under Revision
When designing or implementing a SNOMED CT enabled application, the first step is to assess the range of services necessary to meet user requirements. The two main categories of services required by applications are terminology services that only interact with the terminology and record services which apply the terminology to instance data. These services are described in separate sections of this guide
Figure 2.4-1: SNOMED CT Enabled Terminology services
Figure 2.4-2: SNOMED CT Enabled Record Services
A SNOMED CT enabled application may be completely self-contained, delivering all the required services as part of a single development. Alternatively, service delivery may be modularized so that separately developed reusable modules are used to meet specific sets of requirements.
A distinction can be made between functions that only require interaction with terminology resources ( terminology services) and functions that involve using the terminology as part of an application such as an electronic health record ( record services ).
Terminology services can be generalized, so that they are independent of the way the terminology is used in a particular clinical record application. Terminology services include support for the following types of function.
- Importing and updating a local terminology repository with a SNOMED CT release ;
- Determining the properties or an identified component ;
- Text or pattern searches for Descriptions that include a matching term;
- Displaying a part of the concept hierarchy;
- Determining whether a SNOMED CT concept or expression is equivalent to or a subtype of another concept or expression ;
- Locating the map from a particular SNOMED CT concept to a code in another scheme or classification.
- Authoring and maintenance functions:
Record services are intimately related to ways in which information is entered, stored and retrieved by a particular application. Therefore, while these services interact with terminology services they are usually specific to a particular application or to a family of applications with a common underlying record design. Record services include support for the following types of function:
User interface functions that:
- Enable entry of information using SNOMED CT expressions where these are relevant;
- Display of previously entered information, with appropriate rendering of SNOMED CT expressions ;
- Enable design of protocols that guide data entry to encourage efficient and consistent use of SNOMED CT ;
- Enable specification of queries that include appropriate use of SNOMED CT to meet requirements for selective retrieval.
- Application server functions that:
- Store SNOMED CT expressions as part of the individual record entries (or in other types of instance data);
- Communicate data including SNOMED CT expressions in ways dictated by standards and local specifications;
- Apply queries to efficiently, accurately and precisely retrieve information taking account of the data structure of the application and the logical Relationships between SNOMED CT expressions .
These two sets of services can be developed and provided separately. This approach allows record service to access required terminology services through an Application Programming Interface ( API). The guide does not specify an API but, by making a clear distinction between terminology services and record services , it identifies the functions that such an interface should support.
Self-contained and modular approaches offer different profiles of advantages, some of which are summarized below.
A modular approach offers the following advantages:
- Rapid development of SNOMED CT related functionality, focused on meeting the requirements of users of a specific software application.
- Opportunities to choose between different terminology servers to deliver a cost-effective solution.
- Simplifies future migration to enhanced or more cost-effective solutions by separately identifying reusable and replaceable modules.
- Allows several applications used by a single organization to use a single
terminology server. This has several advantages:
- Reduction of maintenance and support cost associated with installing each release of SNOMED CT ;
- Guaranteed alignment of SNOMED CT releases between applications that share the server;
- Consistency of the user interface and technical characteristics of different applications with respect to their access to SNOMED CT .
- A fully integrated approach offers the following advantages:
- Independence of third party development;
- Customized access to SNOMED CT tailored to the needs of particular application users.
The approach chosen depends on a careful consideration taking into account the cost and functionality of available components. Commercial and technical concerns about dependence on third-party components may be a valid reason for in-house development of all the required services. However, even where all the development is undertaken within a single organization, separation of terminology and record services into separate components may offer a more robust approach, allowing future extensibility and migration at lower cost.