As part of an implementation process it is relevant to consider any optimization that could be done to meet requirements for implementation or result in a more effective and/or efficient use at runtime. Because, even though reference sets are distributed in separate files and represented according to the reference set file format, it may be useful to transform these reference sets files into another structure that is more appropriate for the specific use case.
Prior to implementation a reference set may be transformed into one or more formats, which are optimized for the particular use of the reference set
Optimizations that could be considered include:
Controlled redundancy. For some matters it may be useful to introduce some level of redundancy, e.g. by joining reference sets or release files together so that the data is more efficient to access at runtime
e.g. combining a simple reference set of concepts with the description file, so that the term preferred for display can be retrieved directly from the subset file.
e.g. combining the description file with a language refset, so that the term is in the same row as the acceptability of the description, and the concept id that it describes.
Terminology reduction (constrain). For the purpose of supporting effective use and ensuring that only relevant components are accessed during runtime it may be useful to filter the components down to only those that are relevant for a specific use case.
One way of doing this is by creating simple reference sets of the components that are relevant in a given situation, for example:
A subset of relevant concepts.
A subset of descriptions acceptable or preferred for the set of concepts.
A subset of relationships that are important to know about for that specific subset of concepts and for the given use case. What relationships to include will be very dependent on the use case. In some situations, the relationship subset may be irrelevant, and in other situations it may be important to include all defining relationships and all transitive 'is a' relationships of the subset members.
Filtering to a snapshot view of the subset. As for any other SNOMED CT component changes to reference set members are likely to occur, and as for SNOMED CT components, reference set members can be updated or inactivated. Therefore, it may be useful to create a snapshot view of the reference set to be used for implementation, so that only the latest version of all reference set members can be accessed during runtime. Alternatively, it may be useful to create a view which only includes the most recent version of all active reference set members. This will depend on whether the inactive members should be accessible for viewing or not.