NAME
    UMLS::Interface CHANGES

  Changes from version 0.35 to 0.37
1. Revised the way the propagation of counts is handled
    2. Renamed everything spelt propogation to propagation

    3. Updated documentation

  Changes from version 0.33 to 0.35
    1. Added the ability to propogation counts given a propogation file.
    Currently the format of that file is: Frequency|CUI|String

        So for example: 
        
        1|C0018563|hand

        The concept C0018563 has a frequency count of one and is associated 
        with the term hand. The string really isn't necessary but I like 
        to know what a CUI means. This input format may be changed in the 
        future to accept a file but I might also create a program in the 
        util/ directory that given a file it will create this for you. 

        To do this the propogation parameter must be set to the location
        of the propogation file.

    2. Added the getPropogationCount.pl program to the util/ directory. This
    is used to obtain the propogation count of a specified CUI.

    3. Added a getIC() function which takes in a CUI and returns its
    information content based on the propagation file

    4. I also added a getPropogationCount() function which takes in a CUI
    and returns the propogation count of a given concept

    5. Added getCuiList() program to the util directory and its associated
    function in the Interface.pm module. This allows you to get a list of
    CUIs given the sources and relations in a config file.

    6. Added a --debug option to print out function information for debuging
    purposes.

    7. Added a --propogation PROPOGATIONFILE option to findPathToRoot.pl
    which will return the propogation count of the CUIs in the path

    8. Combined the following util programs:

        a. findMaximumCuiDepth and findMinimumCuiDepth => findCuiDepth
        b. queryCui and queryCui-SAB -> getAssociatedTerms

    9. Changed the name of the following util programs a. queryTerm ->
    getAssociatedCuis b. dfs -> findDFS

    10. Added a --propogation option for findPathToRoot to return the
    propogation counts of the CUIs in the path.

  Changes from version 0.31 to 0.33
1. fixed the error in the make tests - they would not work properly
   unless you had the UMLS-Interface environment variable set 
   for the location of the configuration files even though we weren't 
   using them.
  Changes from version 0.29 to 0.31
    1. Changed all of the table names into hex form!! This is important
    because it now means the versions aren't back compatible. Why did I do
    this - well the table names were getting long the more sources and
    relations that were added. If to many were used an error is thrown
    because there were too many characters in the table name.

       I created two utils/ programs the first is returnTableNames.pl. 
       This returns all of the table names in both hex and human readable 
       form (the original form) that were created for a specified config 
       file. The second is returnAllTableNames.pl which returns all of 
       the table names (in hex and the original form) that have been 
       created by the package. These tables are stored in a database called 
       umlsinterfaceindex. One nice thing is that this will be the only 
       database created now.

    2. The getSab() disappeared - I must have erased it - it is back!

    3. The RELA option in the config file is now up and running. So you can
    now not only specify a set of sources and relations but also RELAs - as
    long as the RELA exists in the source and relation combination. If it
    doesn't I just continue on right now - I could error out though - not
    certain which is the best thing to do right now.

    4. You can use other relations in UMLS-Interface now, like, for example,
    RO. I don't connect these though to the root so if they are not either
    connected to the root itself (like in SNOMEDCT but unlike in FMA) it
    will only connect through additional relations.

    5. The make tests have been expanded

    6. Added a --realtime option. This allows the path information to be
    obtained on the fly rather than prebuilding the umlsinterface index. You
    will notice these in the util/ programs

    7. There is a UMLS_ALL tag that can be used in the configuration file in
    replace of the source names. For example, to use the entire UMLS with
    the PAR/CHD relations, the configuration file would be as follows:

          SAB :: include UMLS_ALL
          REL :: include PAR, CHD

  Changes from version 0.27 to 0.29
    1. Added a dfs.pl program which is located in the utils/ directory. This
    program runs a dfs over a specified set of sources and relations in the
    UMLS and returns:

        1. the maximum depth
        2. paths to root
        3. sources
        4. maximum branching factor
        5. average branching factor
        6. number of leaf nodes
        7. number of nodes
        8. root

    2. Added a function in Interface.pm called getAllTerms() which returns
    all of the possible terms of a given CUI along with their source(s).
    This is for all of the strings associated with the CUI in the MRCONSO
    table so you can't specify a source for this one. If you would like to
    do that use the getTermList function instead.

       There is also a program in the utils/ directory which uses this called 
       queryCui-Sab.pl

    3. Added the functionality to store only the path information of a given
    set of cuis. To do this you need to use the --cuilist option which takes
    in a file containing CUIs. Note that each CUI needs to be on a seperate
    line.

  Changes from version 0.25 to 0.27
    1. Added a --verbose option will print out path information to a file
    rather than having this be done automatically. This will reduce the
    amount of storage space required to hold the path information for a
    given set of sources and relations.

  Changes from version 0.23 to 0.25
    1. Fixed mysql error that was occuring in UMLS-Interface

        DBD::mysql::db do failed: You have an error in your SQL syntax; 
        check the manual that corresponds to your MySQL server version 
        for the right syntax to use near '' at line 1 at 
        /usr/local/share/perl/5.10.0/UMLS/Interface.pm line 1063, <STDIN> 
        line 2.

       This was also happening on line 1066 - both should be fixed now.

    2. Updated INSTALL documentation - nothing major just some clean up

    3. Added a --forcerun option which will bypass any questions about
    whether or not you would like to set up an index on a specified set of
    relations/sources

    4. Updated the documentation of the programs in the util/ directory

  Changes from version 0.21 to 0.23
    1. Added a getRelation function which returns all the possible relations
    in the MRREL file given a specified CUI and source. There is a
    corresponding util program getRelation.pl to show how this is used. 2.
    Modified checking the existance of the UMLS tables. Before it was
    expecting the table names to be all capatalized but now they can be in
    lower case as well.

  Changes from version 0.19 to 0.21
    1. Added check to see if program files exist prior to removing them just
    in case they don't exist an error isn't going to display

    2. Had an error in getCuiDef.pl when the input was a term. This has been
    fixed.

    3. Modified the upper level taxonomy to be written to tables in its
    appropriate database.

    4. Add the program removeConfigData.pl which will remove the database
    and all of the associated files created by the program given a specified
    configuration.

  Changes from version 0.17 to 0.19
    1. Modified the documentation in the utils/ programs. The descriptions
    were just a mess

  Changes from version 0.15 to 0.17
    1. In SNOMED CT there exist concepts that are used to show why a concept
    is retired. Unfortunately, the relationship linking that reason to the
    retired concept is 'is-a'. So you have for example 'stenosis' is-a
    'non-current concept - ambiguous'. This is understandable in a plain
    English sense but doesn't fit into the hierarchical sense of an 'is-a'
    relationship. We now exclude these nodes:

    C1274012|Ambiguous concept (inactive concept) C1276325|Reason not stated
    concept (inactive concept) C1274013|Duplicate concept (inactive concept)
    C1274014|Outdated concept (inactive concept) C1274015|Erroneous concept
    (inactive concept) C1274021|Moved elsewhere (inactive concept)

    If you have a strong reason why they should still be there send us an
    email and we can probably work something else out.

    2. When using the RB/RN and PAR/CHD relations not all of the upper level
    taxonomy was being looked at to obtain the path information. This has
    been fixed.

    3. Moved the dropTemporaryTables.pl program to removeConfigData.pl and
    added the functionality to drop the files associated with the
    configuration data as well.

    4. The UMLS-Interface module was not accepting the a configuration file
    if the first one was printed out incorrectly. We fixed this.

    5. Added configuration file information printed out to STDERR containing
    source, relation and configuration file location information.

    6. Added a file option to the findShortestPath.pl program:

       --inputfile FILE

       A file containing pairs of concepts or terms in the following format:

        term1<>term2 
        
    or 

        cui1<>cui2

        or 

        cui1<>term2 

        or 

        term1<>cui2

  Changes from version 0.13 to 0.15
    1. Added three new functions for semantic types:

          getSt       which returns the semantic type TUI of a given CUI
          getStAbr    which returns the semantic type abbreviation 
                      given the semantic type TUI
          getStString which returns the semantic type string 
                      given the semantic type abbreviation

    2. Added a program to the utils/ directory:

          getSt.pl    which returns the semantic type of a given CUI
                      or TERM in the UMLS. This program uses the three 
                      above functions.

    3. Added the function checkConceptExists which returns true or false
    whether a concept exists in the current view of the UMLS (this is based
    on the sources and relations that are being used). This function was
    hidden but it seemed like it could be useful to others as well - it
    became useful for me anyway :)

    4. Modified the SYNOPSIS section in the Interface.pm module to include
    all or at least most of the different functions available through the
    Interface.pm module.

    5. Fixed the permissions on the configuration file directory when it is
    being created. And chmod the individual files after they were created.
    Hopefully now they will be created with read and write privlidges so you
    can see them if you install using the -MCPAN option.

    6. Modified the findPathToRoot.pl and findShortestPath.pl to include the
    term associated with the CUI in the path

    7. I forgot to add the UMLS Root to the PATH in the pathToRoot function.
    It is now added.

  Changes from version 0.11 to 0.13
    1. Speed up the getTermList() option when all of the sources are being
    used

    2. Modified documentation

    3. Added the function findMinimumDepth and findMaximumDepth which
    returns the minimum and maximum depth of a CUI respectively given the
    view of the UMLS

  Changes from version 0.09 to 0.11
    1. Modified the Changelog directory and tried to remember to add them to
    the release!

    2. Modified documenation - tried to get the misspelling and obvious
    errors removed.

    3. Removed the HTML documentation

  Changes from version 0.03 to 0.09
    1. Allowed the program to create the directory that we prompt the user
    for (the location that the config files should be stored) if it doesn't
    exist rather than requiring it be already created.

    2. Modified the location of where the utils/ programs are installed. All
    of them now get installed and they are all in the same location.

    3. Found a bug in the code that reads the configuration file. Error
    would occur if trying to exclude a source.

  Changes from version 0.01 to 0.03
    1. Removed the need for UMLSINTERFACE environment variable indicating
    the location of the UMLS. Now we prompt the user for the location that
    the config files should be stored and ask them to set a
    UMLSINTERFACE_CONFIGFILE_DIR variable.