Because of a lapse in government funding, the information on this website may not be up to date, transactions submitted via the website may not be processed, and the agency may not be able to respond to inquiries until appropriations are enacted. The NIH Clinical Center (the research hospital of NIH) is open. For more details about its operating status, please visit cc.nih.gov. Updates regarding government operating status and resumption of normal operations can be found at OPM.gov.

Sub-Term Mapping Tools

UMLS-Core: Corpus Tree

  • Descriptions:
    • Load all normalized synonyms (key in normTerm-synonyms table) into a trie tree

  • Examples - Test Cases:

    • Terms:

      Terms
      dog
      dog and cat
      dog and poppy
      canine
      cat
      feline
      k9
      bull dog
      pets

    • Trie Tree (from Synonym Terms):

  • Algorithm:
    • Trie Node:
      • Trie nodes are used to compose the Trie tree.
      • Each node has a key, which is a (single) word
      • Each node has a level, the top (root) level is 0
      • Each node has a child, which is a Vector<TrieNode>

      • Use "$_ROOT" for the word of root node
      • Use "$_END" for the word of end node

    • Trie Tree:
      • Each branch (path) starts from root node to the end node is a term
      • All terms are stored in the branch of the Trie tree

      • Tokenize input term into words
      • Go through each word:
        • curNode starts from the top (root) node
        • Init curWordNode by curWord
        • Check if Childs contains curWordNode
          • if yes, update curNode to the matched node in Childs
          • If no, add curWordNode to Childs and update curNode to curWordNode