...
The application has a flexible searching architecture in the background that allows additional searching algorithms to be implemented and incorporated into the application. By default, three choices are offered:
ATOM STANDARD - tuned to be the most useful search for general concept browsing. The background algorithm is complex and out-of-scope to fully document here. By default, this is configured to find only “active” concepts.
EXACT - this is does a more-or-less “exact-ish” search (when not normalizing for whitespace, some stop words, and punctuation)
NGRAM - useful for when you’re not sure of the spelling of something, or not sure whether the terminology uses noun-like or adjective-like language to label concepts (e.g. “cervical” vs “cervix”).
...
Lucene Searching “Tricks”
The “ATOM” “STANDARD” search handler also allows for use of “lucene syntax” within the query, where if you understand the underlying data model - you can tune searches to specific aspects of the content. Here are some examples of queries making use of the Lucene syntax:
...
< 71388002 | Procedure | : has_indirect_procedure_site = <<64033007 | Kidney structure |
- Procedures with a direct procedure site of “kidney” or any of it’s descendants.< 71388002 : has_indirect_procedure_site = <<64033007
- Same as the query above, but with the name portions removed.< 71388002 : 405814001 = <<64033007
- Same as the query above, but using the SNOMEDCT_US concept id for the relationship name instead of the metadata label.^723264001 | Lateralizable body structure reference set |
- members of the “Lateralizable body structure reference set”^723264001 | Lateralizable body structure reference set | AND << 362837007 | Entire cell |
- members of that refset that are also descendants (or self) of “Entire Cell”<< I11 | Hypertensive heart disease |
- an ECL expression used with ICD10CM to find I11 and all of it’s descendants.* : MAPPING=B20
- an (enhanced) ECL expression used to find concepts with mappings to a particular code (e.g. in this case SNOMED concepts with B20 as an ICD10 code)Other examples will be provided in the future - as will more documentation on the complete model of what ECL is supported
...