Improve Search Speed
The intention of improving search speed is to improve the usability of data entry. This section describes techniques that can help speed up searches.
Enable Real Time Searching
Real time searching offers suggestions to finish the words being typed by the user or displays the results while the user is typing. It can improve the user experience by reducing the number of keystrokes a user has to make and to help reassure them that the system 'understands' their intentions.
Conventional text searches require the user to decide how many words to enter and then explicitly request a search. When a search fails to find any matches or returns a very long list of matches, the user is obliged to repeat the process. The need to undertake this type of user interaction for every coded entry is likely to create a significant disincentive to effective data entry.
While auto-completion may generally be a useful technique, it may not be useful for data entry at or near the point of care as it may be distracting to the user and could potentially slow down the clinical documenting. It also requires the user to pay close attention to ensure that the auto-completed phrase is the one that the user intended to capture.
Show an Indication of Estimated Number of Matches Before Starting a Search
One possible solution to show the number of search results is an interface that performs real-time checking of the number of search results while the user is typing. The interface may indicate this to the user, allowing them to decide when to stop typing and commence the search. A further enhancement is to automatically return the list of matches whenever the user stops typing, or when the number of matches is reduced to an acceptable level.
Allow Slow Searches to be Paused or Cancelled
When a search is slow to find any matches, it may be useful to give the user the option to pause or cancel the search. This technique would benefit applications or scenarios which either require:
Less frequent data entry;
Searching a large SNOMED CT subset;
A lot of processing power, which could potentially impact search performance or the overall system performance, or
Access to a terminology server via an Application Programming Interface (API).
Enable Background Encoding
Techniques that support real-time searches [see Enable real time searching] and qualifier resolution [see Extend search by postcoordinated searching] may also be extended to enable background encoding of complete sentences as they are entered. This method can be applied to text entered by typing or by voice recognition.
As text is entered, the search mechanism attempts to narrow the selection. If there are multiple possible matches, then these are presented to the user for selection. If there is a single match, the encoding is accepted by default; otherwise the user can override the match by selecting an alternative Concept or Description. A single good match is found at the end of the process, thereby encoding the text in the sentence.
There are many possible variants on this technique. For example, as the possible matches are narrowed down, the system could offer an auto-completion option similar to that used in web browsers and word-processors.
Enable Automatic and Semi-Automatic Encoding
Techniques similar to those used for background encoding can be applied to previously entered text or to text entered by voice recognition or optical character recognition. Where such methods are used there is likely to be a need for manual intervention to resolve uncertain encoding. The requirement for manual intervention will depend on the sophistication of the matching techniques and the extent to which accuracy is safety-critical. If encoded data is to be used by clinical decision support protocols, which may influence the treatment of a patient, extreme care is needed when using automatic encoding and tools that allow manual review are essential. A less rigorous approach may be acceptable where the purpose of encoding is for aggregation and analysis of large volumes of population data.
Optimize Indexing
Indexing SNOMED CT content facilitates fast and accurate text searches. Search functionality queries the indexed content (by keyword) to return a list of search candidates matching the query. General purpose index features may be sufficient for enabling rapid SNOMED CT searches. However, developers and users should be aware that search tools may need to be configured for SNOMED CT searches due to different stop word indexes and to ensure effective searches of the types described in this guide.
See Appendix A - Using Search Index Files for further information.
Last updated