home *** CD-ROM | disk | FTP | other *** search
/ nlmpubs.nlm.nih.gov / 2014.05.nlmpubs.nlm.nih.gov.tar / nlmpubs.nlm.nih.gov / umls / metadoc.txt < prev    next >
Text File  |  1994-07-19  |  137KB  |  3,099 lines

  1.  
  2. [ NOTE:
  3.   This file is a partial copy of the printed release documention.
  4.   The printed documentation which you receive with your CD-ROMs
  5.   has additional information and  may have revisions, indicated
  6.   by a later date.
  7. ]
  8.  
  9.  
  10.                                                                                                        
  11.  
  12.                                                                                                               
  13.                                                                                      4/15/93
  14.                                            UMLS(R)  KNOWLEDGE SOURCES
  15.                                      4th EXPERIMENTAL Edition - April 1993
  16.                                                  DOCUMENTATION
  17.  
  18. 1.  Using the CD-ROMs                                                                                    3
  19.  
  20.     1.1    Content of the CD-ROMs                                                                        3
  21.     1.2    Hardware/Software Requirements                                                                4
  22.     1.3    Overview of the Documentation                                                                 5
  23.  
  24. 2.  General Introduction to the UMLS Knowledge Sources                                                   6
  25.  
  26.     2.1    Overview                                                                                      6
  27.     2.2    Summary of Differences between the 2nd and 3rd Experimental Editions                          6
  28.     
  29. 3.  Metathesaurus                                                                                        8
  30.  
  31.     3.1    General Description                                                                           8
  32.      3.2    Strings with Multiple Entries                                                                9
  33.      3.3    Metathesaurus Data Elements                                                                 10
  34.      3.4    Metathesaurus ASCII Relational Format                                                       29
  35.             3.4.1  Introduction                                                                         29
  36.             3.4.2  General Description of Relational Format                                             29
  37.             3.4.3  Summary of Contents of Each File                                                     29
  38.      3.5    Metathesaurus ASCII Unit Record Format                                                      36
  39.             3.5.1  Introduction                                                                         36
  40.             3.5.2  General Description of Unit Record Format                                            36
  41.             3.5.3  Summary of Contents of Each File                                                     37
  42.      3.6    MetaCardTM Browser                                                                          44
  43.      3.7    Coach Metathesaurus Browser                                                                 58     
  44.      3.8    Format of Files Identifying Differences between the Current and Previous                    68     
  45.             Editions  of the Metathesaurus
  46.  
  47. 4.  Semantic Network                                                                                    70
  48.  
  49.      4.1    Introduction                                                                                70
  50.      4.2    Semantic Network Diagram                                                                    72
  51.      4.3    Semantic Network ASCII Relational Format                                                    76
  52.      4.4    Semantic Network ASCII Unit Record Format                                                   77
  53.      4.5    Semantic Network Browser                                                                    77     
  54.      4.6    List of Semantic Types and Definitions for Types and Relations                              81
  55.      4.7    Sample Records                                                                             100     
  56.  
  57. 5.  Information Sources Map                                                                            104
  58.  
  59.      5.1    Introduction                                                                               104
  60.      5.2    Information Sources Map ASCII Relational Format                                            104
  61.      5.3    Descriptions of ISM Tables                                                                 104
  62.      5.4    List of Current Contents of the ISM                                                        106
  63.      5.5    Changes from the Last Release                                                              108
  64.      5.6    Field Description for ISM Main Records                                                     109
  65.      5.7    Example Record                                                                             125
  66.      
  67.  
  68. APPENDIX A BIBLIOGRAPHY OF UMLS-RELATED PAPERS                                                         129
  69.  
  70. APPENDIX B METATHESAURUS SOURCE INFORMATION                                                            137
  71.  
  72.   I. Source Abbreviations and Producer information                                                     137
  73.  II. Entity Type Abbreviations                                                                         139
  74. III. Order of Precedence in the Metathesaurus                                                          140
  75.                       
  76.  
  77. APPENDIX C WORD INDEX PROGRAM                                                                          141
  78.  
  79. APPENDIX D SEMANTIC TYPE GROUPINGS FOR CO-OCCURRENCE INFORMATION                                       155                    
  80.  
  81.  
  82. 1.    USING THE CD-ROMS
  83.  
  84. 1.1  Contents of the CD-ROMS
  85.  
  86.   The April  1993 experimental edition of the UMLS Knowledge Sources comprises four CD-ROMS which together
  87.   contain:  two ASCII versions and two browser applications of Meta-1.3, the current version of the UMLS
  88.   Metathesaurus, and files that summarize the significant differences between Meta-1.3 and its predecessor Meta-1.2;
  89.   two different physical formats of the Semantic Network and a browser application that uses one of these physical
  90.   formats, and a single format of the Information Sources Map.  The contents of each disc are as follows:
  91.  
  92.   Disc 1:  ISO 9660 (Disc Name = UMLS_REL.93)
  93.  
  94.   Contents by Directory
  95.  
  96.        DOC:        ASCII version of UMLS Knowledge Sources Documentation
  97.        METAR:      Meta-1.3 in ASCII relational format, and Files identifying significant differences from previous     
  98.                    edition in CHANGE subdirectory
  99.        NETR:       Semantic Network in ASCII Relational Format
  100.        ISMR:       Information Sources Map in ASCII relational format    
  101.  
  102.      Disc 2:  ISO 9660 (Disc Name = UMLS_UNT.93)
  103.  
  104.      Contents by Directory
  105.   
  106.     DOS:           ASCII version of UMLS Knowledge Sources Documentation
  107.  
  108.        METAU:      Meta-1.3 in ASCII unit record format (excluding co-occurrence relationships, qualifiers used          
  109.                    information, and the word index)
  110.        NETU:       Semantic Network in ASCII Unit Record Format
  111.  
  112.      Disc 3:  Macintosh HFS (Disc Name = UMLS_MAC.93)
  113.  
  114.      Contents by Directory:
  115.  
  116.     DOC:           ASCII version of UMLS Knowledge Sources Documentation
  117.     META:          MetaCardTM (Meta-1.3 as a HyperCard application)
  118.     NET:           Semantic Network Browser (application)
  119.  
  120.                    MetaCard and the Semantic Network Browser permit browsing and display of the contents of the
  121.                    two UMLS Knowledge Sources in the Macintosh environment.  No similar browsable versions are
  122.                    included for other environments (e.g., DOS, UNIX), although either of the ASCII versions can be
  123.                    loaded into database management software in these environments.  Other than MetaCard and the
  124.                    Semantic Network Browser, there are no applications programs on the CD-ROMs.
  125.  
  126.      Disc 4:  ISO 9660 (Disc Name = UMLS_DOS.93)
  127.  
  128.      Contents by Directory
  129.  
  130.     DOC:           ASCII version of UMLS Knowledge Sources Documentation
  131.        META:       Coach MetathesaurusR Browser (Meta-1.3 in a DOS Browser)                   
  132.  
  133.  
  134. 1.3  Hardware/Software Requirements
  135.  
  136.   ISO 9660 Data Discs (UMLS_REL. 93, UMLS_UNT. 93)
  137.   
  138.   Disc 1 contains ASCII documentation files;  relational files summarizing significant differences between Meta-1.2
  139.   and Meta-1.3; all Meta-1.3 data in relational ASCII files;  all Semantic Network data in relational format ASCII
  140.   files; and all Information Sources Map data in relational format ASCII files.  There are no executable files on this
  141.   disc.
  142.  
  143.   Disc 2  contains ASCII documetation files; Meta-1.3 data (except co-occurrence relationships and the word index)
  144.   in unit record ASCII files; and all Semantic Network data in unit record format ASCII files.
  145.  
  146.   Any machine equipped to read ISO 9660 CD-ROM discs will be able to access these Discs.  CD-ROM hardware
  147.   and software to read ISO 9660 discs is available for the IBM PC, Apple Macintosh, Unix, and many other
  148.   environments.  To use the ISO 9660 CD-ROM data disc in the Macintosh environment, an Apple Startup document
  149.   named "Foreign File Access" and an Apple document named "ISO 9660 File Access" are required.
  150.  
  151.   All ASCII Relational and Unit Record files have lines terminated by <CR><LF> (0D 0A hexadecimal, 13 10
  152.   decimal).  This is the MSDOS standard, and includes both the Unix and Macintosh standard line terminators.  If
  153.   your software cannot use the data with these line terminators or convert or eliminate unneeded characters, then a
  154.   filter program may be required.
  155.  
  156.   The ASCII files containing Meta-1.3 data elements are large.  (The relational files total more 
  157.   than 450 megabytes.)  These files are distribution formats for the knowledge source.  We expect that developers
  158.   will select data elements and choose data representations to meet their own needs.  Hardware and software
  159.   requirements are determined by the number and types of elements chosen, by data representation chosen, and by
  160.   performance requirements.  It is possible to extract a useful subset of data from Meta-1.3 to create an application in
  161.   a modest hardware and software environment.  Some approaches to organizing Meta-1.3 information may be
  162.   difficult for even a large system to accommodate.
  163.  
  164.   The most direct method of accessing Meta-1.3 information in the ASCII files is to read the CD-ROM files into the
  165.   database management system of your choice, where you may select data elements and create the desired data
  166.   representation.  In many cases, this will need to be done in steps constrained by disk space and software limitations. 
  167.   To assist in this process, all CD-ROM files have been made smaller than the MSDOS 32 megabyte size limit; 
  168.   some large files are therefore split into several segments.
  169.  
  170.   Each version of the Semantic Network files totals approximately 82 kilobytes.  The Information Sources Map files
  171.   total about 800 kilobytes.
  172.  
  173.   DOS Browser Disc (UMLS_DOS.93)
  174.  
  175.   Disc 4 contains ASCII documentation files and the DOS-based Coach Metathesaurus(R) Browser.
  176.   
  177.   This CD-ROM is a distribution medium only, because performance is unlikely to be satisfactory directly from the
  178.   CD-ROM.  The files must be copied to a directory on your hard disk.  The Coach Metathesaurus Browser requires:
  179.   A PC AT-compatible (80286, 80386 or 80486 CPU) with MS-DOS (4.0 or higher), 640K main memory, and 
  180.   125 Mbytes free disk space.  The browser is both CPU - and disk-intensive, so more capacity in both those areas
  181.   will pay off in reduced retrieval and display times.
  182.  
  183.  
  184.  
  185.   MACINTOSH HFS Browser Disk (UMLS_MAC.93)
  186.  
  187.   The Apple Macintosh HFS disc contains an interactive Metathesaurus HyperCard browser, MetaCardTM developed
  188.   by Lexical Technology, Inc.  MetaCard requires HyperCard 1.2.2 or later, and the assignment of at least 1.750Kb of
  189.   memory to HyperCard.
  190.  
  191.   MetaCard runs under HyperCard 2.x and System 6.0.x, if the above guidelines are followed.  MetaCard will also
  192.   run under System 7.x, with or without Virtual Memory or 32-Bit Addressing.  MetaCard will also run properly with
  193.   the HyperCard Player, and is distributed with the HyperCard Player Home Stack.
  194.  
  195.   MetaCard has been run successfully on the Mac Plus, the Mac SE, the Mac II, the Mac IIcx, the Mac SE/30, the
  196.   Mac IIci, the Mac IIfx, the Mac Portable, the Mac Quadra, and the Mac Powerbook.  
  197.  
  198.   You will need a word processor or text editor capable of handling large files to read and print the documentation; 
  199.   unfortunately Apple's Teachtext cannot handle the largest files.
  200.  
  201.   The Semantic Net Browser application has no additional hardware or software requirements.
  202.        
  203. 1.3  Overview of the Documentation
  204.  
  205.   Section 2 provides a general overview of the Unified Medical Language System (UMLS) project and the
  206.   relationship of the fourth experimental edition of the UMLS Knowledge Sources to the overall effort.  A summary
  207.   of the significant changes between the 3rd and 4th experimental editions of the UMLS Knowledge Sources appears
  208.   in subsection 2.2.
  209.   
  210.   Section 3 covers Meta-1.3, the current version of the Metathesaurus, the central vocabulary component of the
  211.   UMLS.  Subsections 3.1-3.3 describe the content of Meta-1.3.  Subsections 3.4-3.7 describe the two different ASCII
  212.   formats of Meta-1.3. and the two browser applications.  The detailed descriptions of the contents of Meta-1.3 data
  213.   elements appear in Subsection 3.3 and are not repeated in the explanations of  the two ASCII formats. the
  214.   Macintosh Hypercard application, and the DOS-based browser.  A description of the files that identify the principal
  215.   differences between Meta-1.3 and its predecessor Meta-1.2, appear in Subsection 3.8.
  216.  
  217.   Section 4 covers the Semantic Network.  Material in Subsection 4.1 provides an overview of the content of the
  218.   Network.  Subsections 4.2-4.4 describe the two physical formats and the browser application.  
  219.  
  220.   Section 5 covers the Information Sources Map.  Material in Subsection 5.1 provides an overview of the content of
  221.   the Information Sources Map.  Subsection 5.2 describes the physical format. 
  222.  
  223.  
  224. 2.1   GENERAL INTRODUCTION
  225.  
  226.   The Metathesaurus(R), the Semantic Network and the Information Sources Map are experimental products of the U.S.
  227.   National Library of Medicine.  They are the current versions of the three knowledge sources that form part of the
  228.   Unified Medical Language System(R) (UMLS)(R).  These Knowledge Sources are designed primarily for use by
  229.   system developers.  They are meant to be consulted and used by search interface programs to interpret and refine
  230.   user queries, to map the user's terms to appropriate controlled vocabularies and classification schemes, and to select
  231.   relevant information sources.  They are also useful as reference tools for database builders, librarians and other
  232.   information professionals. 
  233.  
  234.   The UMLS project is a long-term NLM research and development effort designed to facilitate the retrieval and
  235.   integration of information from multiple machine-readable biomedical information sources.  The sources of interest
  236.   include:  descriptions of the biomedical literature, clinical records, factual databanks, knowledge-based systems, and
  237.   directories of people and organizations.  The variety of vocabularies and classifications used in different sources is a
  238.   significant barrier to the use of machine-readable sources by health professionals and biomedical researchers and to
  239.   the development of effective search interfaces that might assist these users.  The UMLS approach assumes
  240.   continued diversity in the terminology employed in different systems and by users themselves.  The project has
  241.   focused on the development of products that can facilitate the establishment of a conceptual link between the user's
  242.   question and relevant information in machine-readable form.  The Metathesaurus contains information about
  243.   biomedical concepts, their various names, and the relationships among them.  The Semantic Network is a network
  244.   of the general categories or semantic types to which all concepts in Metathesaurus have been assigned.  The
  245.   Information Sources Map contains both human-readable and machine-processable information about available
  246.   sources of machine-readable biomedical information.
  247.  
  248.   Participants in the UMLS project include an internal NLM research and development team and several contractors. 
  249.   The current UMLS contractors are:  Lexical Technology, Inc., Massachusetts General Hospital,  Brigham and
  250.   Women's Hospital, the University of Pittsburgh and its subcontractor the University of Utah,  Yale School of
  251.   Medicine, and Columbia University.   More than 300 institutions and individuals throughout the world are currently
  252.   experimenting with the UMLS Knowledge Sources.
  253.  
  254.   The strategy for the development of all UMLS components is to build successive approximations of the capabilities
  255.   ultimately desired.  The 4th experimental edition of the UMLS Knowledge Sources supersedes the 3rd edition and
  256.   includes a number of additions in content.
  257.  
  258.   Appendix A includes a bibliography of UMLS-related papers.
  259.  
  260.  2.2.SUMMARY OF DIFFERENCES BETWEEN THE 3RD AND 4TH EXPERIMENTAL EDITIONS
  261.  
  262.      2.2.1 Metathesaurus
  263.  
  264.   The 1993 edition of the Metathesaurus (Meta-1.3) includes about 22,000 additional concepts and a number of
  265.   relationships between concepts that were not present in the previous edition.  Meta-1.3 contains all ICD-9-CM
  266.   preferred terms for diagnoses and also incorporates NeuroNames, a neuroanatomy vocabulary developed at the
  267.   University of Washington.  The NANDA and NIC nursing vocabularies now have more connections to other
  268.   concepts in the Metathesaurus. 
  269.  
  270.   The Metathesaurus now contains French synonyms as well as French translations of MeSH main headings.  The TS
  271.   (Term status) for non-English terms has been changed to reflect this and the order of elements in MRCON has been
  272.   changed to preserve the grouping of strings by language.
  273.  
  274.  
  275.   Information on allowable MeSH qualifiers is now treated as a relationship between the qualifier and the main
  276.   heading in both ASCII formats of the Metathesaurus.  Information on used qualifiers is now treated as a co-
  277.   occurrence by the qualifier and the main heading in the ASCII relational format.  (Co-occurrences are not
  278.   distributed in the ASCII Unit record format.)
  279.  
  280.   For the first time, the UMLS Knowledge Sources include a DOS-based Metathesaurus browser, in addition to the
  281.   Macintosh Hypercard application distributed with previous editions.  The DOS-based browser, which is a part of
  282.   Grateful Med's Coach expert search assistant program, is described in Section 3.7 of the documentation.
  283.  
  284.   Some concepts present in Meta-1.2 have been deleted from Meta-1.3, generally because they were discovered to be
  285.   invalid.  In some cases, the preferred name of a Metathesaurus concept has changed, with the former preferred form
  286.   retained as a synonym or lexical variant.  Some lexical variants have been added; others have been deleted.  Some
  287.   semantic type assignments have been changed.  A separate set of maintenance tables has been provided in the
  288.   CHANGE subdirectory of the METAR directory on the ISO 9960 CD-ROM to identify some of these changes
  289.   explicitly.  The format and content of these maintenance tables are described in Subsection 3.8 of this
  290.   documentation
  291.  
  292. 2.2.2.Semantic Network
  293.  
  294.   The 1993 edition of the Semantic Network contains two minor modifications:  the type "Gene Product" has been
  295.   deleted; the type "Sign" and the type "Symptom" have been merged into a single type "Sign or Symptom".    
  296.  
  297. 2.2.3.Information Sources Map
  298.  
  299.   The 1993 edition of the Information Sources Map includes several additional valid values for the CT element. 
  300.   Minor updates and changes have been made to most records.  There have been no format changes.
  301.  
  302.   Although subsequent versions of the Information Sources Map will contain script information to support automatic
  303.   connection to and retrieval from information sources, the current version is limited to data elements that support
  304.   source selection by human beings and by computer programs.  Future versions of the Information Sources Map will
  305.   include more databases available from additional sources.
  306.  
  307. NOTE:  UMLS users should be aware that future editions may include Abstract Syntax Notation 1 (ASN.1)
  308. versions of each of the UMLS Knowledge Sources
  309.  
  310.      
  311.  
  312.     3.1 GENERAL DESCRIPTION OF THE METATHESAURUS
  313.        
  314.   The Metathesaurus is the central vocabulary component of the UMLS.  The term Metathesaurus draws on Webster's
  315.   third definition for the prefix "Meta," i.e., "more comprehensive, transcending."  In a sense, the Metathesaurus
  316.   transcends the specific vocabularies and classifications it encompasses.  
  317.  
  318.   Meta-1.3, the current version of the Metathesaurus, is a database of information on concepts that appear in one or
  319.   more of a number of different controlled vocabularies and classifications used in the field of biomedicine.  In
  320.   general, the scope of the Metathesaurus is determined by the combined scope of its source vocabularies.  The
  321.   Metathesaurus preserves the meanings, hierarchical connections, and other relationships between terms
  322.   present in its source vocabularies, while adding certain basic information about each of its concepts and
  323.   establishing new relationships between concepts and terms from different source vocabularies.  (A list of the
  324.   current Metathesaurus source vocabularies and the number of concepts and strings from each present in Meta-1.3
  325.   appears in Appendix B.)
  326.  
  327.   The Metathesaurus is organized by concept or meaning.  In essence, its purpose is to link alternative names
  328.   and views of the same concept together and to identify useful relationships between different concepts.  Each
  329.   unique name or string in the Metathesaurus (ignoring upper/lower case) has a unique string identifier and is
  330.   linked to all of its lexical variants or minor variations by means of a common term identifier.  (In the
  331.   Metathesaurus, therefore, a "term" is the group of all strings with the same meaning that are lexical variants
  332.   of each other.)  Each term identifier is in turn linked to a concept identifier.  Different terms with the same
  333.   meaning are linked to the same concept identifier.  
  334.  
  335.   
  336. Concept =                                   C0000015
  337.                                       Atrial Fibrillation  (preferred)
  338.                                       Atrial Fibrillations
  339.                                       Auricular Fibrillation
  340.                                       Auricular Fibrillations
  341.  
  342.  
  343. Terms =      L0000032                      L0000150
  344.              (preferred)                   (synonym)
  345.              Atrial Fibrillation           Auricular Fibrillation
  346.              Atrial Fibrillations          Auricular Fibrillations
  347.  
  348.  
  349. Strings =
  350.  
  351.     S0000042                 S0000043                 S0000151                  S0000152
  352.     (preferred)              (plural variant)         (preferred)               (plural variant)
  353.  
  354.     Atrial Fibrillation      Atrial Fibrillations     Auricular Fibrillation    Auricular Fibrillationa
  355.  
  356.                                FIGURE 1
  357.  
  358.  
  359.  
  360.   For example, in Figure 1, the string "Atrial Fibrillation" and its plural "Atrial Fibrillations" have different string
  361.   identifiers, but are linked to the same term identifier.  "Auricular Fibrillation" and its plural "Auricular Fibrillations"
  362.   are linked to a different term identifier.  Since "Atrial Fibrillation" and "Auricular Fibrillation" have been judged to
  363.   have the same meaning, their different term identifiers are linked to the same concept identifier.  For each term, one
  364.   string is designated as the preferred form.  "Atrial Fibrillation" is labelled as the preferred form of its term; "Atrial
  365.   Fibrillations" is labelled as a plural variant of this preferred form.  "Auricular Fibrillation" is labelled as the preferred
  366.   form of its term; "Auricular Fibrillations" is labelled as a plural variant of this preferred form.  One of the terms is
  367.   designated as the preferred name of the concept.  In this case, the "Atrial Fibrillation" term is designated as the
  368.   preferred term and therefore its preferred form, "Atrial Fibrillation", is the preferred name of the concept in the
  369.   Metathesaurus.  To avoid laborious selection among alternative terms and forms of terms, selection of the preferred
  370.   term for any Metathesaurus concept and the preferred form of any Metathesaurus term is based on an order of
  371.   precedence of Metathesaurus source vocabularies that takes into consideration the various types of strings in each
  372.   vocabulary, e.g., preferred names, cross references, abbreviations.  (The order of precedence used appears in
  373.   Appendix B.)
  374.     
  375.     Thus in the Metathesaurus, strings are linked to terms and terms are linked to concepts.  The Metathesaurus
  376.     also represents several types of relationships between different concepts.  Many relationships are derived directly
  377.     from the source vocabularies.  For example, the fact that there is a relationship between "Atrial Fibrillation" and
  378.     "Arrhythmia" is derived from the hierarchical tree structures in the Medical Subject Headings (MeSH).  The exact
  379.     nature of the relationship, i.e., "Atrial Fibrillation" is a  "Arrhythmia", is not present in MeSH, but was added during
  380.     the construction of the Metathesaurus.  Relationships between concepts from different source vocabularies were also
  381.     created during Metathesaurus construction.  For example, the COSTAR concept "Paroxysmal Atrial Fibrillation" is
  382.     identified in the Metathesaurus as having a narrower-than relationship to "Atrial Fibrillation", a concept that is
  383.     present in MeSH, ICD-9-CM, SNOMED, and COSTAR.
  384.  
  385.     All other pieces of information in the Metathesaurus are either attributes of a concept, attributes of a term, or
  386.     attributes of a string.  For example, the semantic type "Disease or Syndrome" and the definition "Disorder of
  387.     cardiac rhythm characterized by rapid, irregular atrial impulses and ineffective atrial contractions." are attributes of
  388.     the concept with the preferred name "Atrial Fibrillation".  The eponym label attached to the term "Sturge-Weber
  389.     Syndrome" is a term attribute.  The various sources of the string "Atrial Fibrillation" e.g., SNM77|PT|F-73570,
  390.     ICD91|PT|427.31, are string attributes.
  391.  
  392.     The structure of the Metathesaurus distribution files facilitates access to concept relationships and to string, term, and
  393.     concept attributes, irrespective of the string used as a point of entry.
  394.  
  395. 3.2 STRINGS WITH MULTIPLE ENTRIES
  396.  
  397.     In a relatively small number of cases, the same string may name different concepts, usually in different
  398.     Metathesaurus source vocabularies.  For example, in MeSH, the string "Cold" is a name for the temperature. In
  399.     SNOMED II, "Cold" is an alternate name for the "Common cold".  As a result the string "Cold" has two different
  400.     string identifiers, each linked to a different concept in the Metathesaurus and each with an "ambiguous string"
  401.     indicator.  As illustrated in Figure 2, two distinct "Cold" strings, "Cold <1>" and "Cold <2>", have been created for
  402.     the Metathesaurus to allow a clear machine-readable representation of the multiple meanings of "Cold".  The plain
  403.     string "Cold" is linked to both of the qualified strings.  In future editions of the Metathesaurus, a different approach
  404.     to distinguishing the strings is  likely to be adopted, e.g., "Cold (temperature)", " Cold (Disease)".
  405.  
  406. Concepts       = C0001500                                       = C0003500
  407.                  Cold <1>                                         Common Cold
  408.                  Cold                                             Cold <2>
  409.                   |                                               Cold
  410.                   |                                             /           \
  411.                   |                                            /             \
  412.                   |                                           /               \
  413. Terms          = L0004500                            Term =  L0006611         Term =  L0007782
  414.                 (preferred)                            (preferred)                    (synonym)
  415.                 Cold <1>                               Common Cold                    Cold <2>
  416.                 Cold                                   /                              Cold
  417.           /                \                          /                           /             \
  418.          /                  \                        /                           /               \
  419. S0005611                    S0007811              S0008611                 S0009988            S0009900
  420. (preferred)                 (variant)             Common Cold              (preferred)         (variant)
  421. Cold <1>                    Cold                                           Cold <2>            Cold
  422.  
  423.  
  424.  
  425.                                                                   FIGURE 2       
  426.  
  427.  
  428.  
  429.     Strings in different languages are treated as separate entities even if they are identical and share the same meaning;
  430.     they therefore have separate string identifiers.  Similarly, strings in different languages are not identified as lexical
  431.     variants of each other and are therefore not linked to the same term identifier.
  432.  
  433. 3.3 METATHESAURUS DATA ELEMENTS
  434.  
  435.     Meta-1.3 is issued in four formats:  an ASCII relational format, an ASCII unit record format, a HyperCard 
  436.     application and a DOS-based browser.  The details of each of these physical formats appear elsewhere in the
  437.     documentation. What follows is a conceptual or logical overview of the contents of the Meta-1.3 data elements.  Of
  438.     the four physical formats, the relational format most closely approximates this logical view.  In Meta-1.3, there are
  439.     four logical groups of data elements:
  440.  
  441.     (1)      Metathesaurus Concept Names
  442.          
  443.              These data elements establish the synonymous relationships among all Metathesaurus strings and terms that
  444.              have the same meaning.  In other words, these elements connect all the different names for the same concept
  445.              that are known to the Metathesaurus.
  446.  
  447.     (2)      Relationships between different Metathesaurus concepts
  448.  
  449.              These data elements describe relationships between different Metathesaurus concepts or meanings.
  450.              By definition, these are non-synonymous relationships
  451.  
  452.     (3)      Concept, Term, or String attributes
  453.  
  454.              These data elements provide additional information that helps to define the meaning of a concept and explain
  455.              how it has been used in various information sources, identifies special kinds of terms, e.g., eponym, acronym,
  456.              tradename, laboratory number, that may require special handling in information retrieval and natural language
  457.              processing applications, or that  provide information about the source(s) of the unique strings in the
  458.              Metathesaurus.  
  459.  
  460.     (4)      Word index
  461.  
  462.              This is an index to all Metathesaurus concept names.  It connects each individual word in any Metathesaurus
  463.              string to all its related string, term, and concept identifiers.
  464.  
  465.     Mandatory data elements are marked with an asterisk (*); all others are optional.
  466.  
  467.     The designation "Repeating Element" indicates that the data element may have multiple values for a single concept,
  468.     term, or string.
  469.  
  470. 3.3.1  Metathesaurus Concept Names
  471.  
  472.     These data elements connect all the different names for a concept that are known to the Metathesaurus, i.e, they
  473.     define the synonymous relationships in the Metathesaurus.  (See Figures 1 and 2)
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480. 3.3.1.1 CUI  Unique Identifier for Concept *
  481.  
  482.     The letter C followed by 7 digits.
  483.  
  484.     Description:  The unique identifier for the Metathesaurus concept to which a term and string are linked.  The number
  485.     remains the same across versions of the Metathesaurus irrespective of the term designated as the preferred name of
  486.     the concept.  This facilitates file maintenance and management.  
  487.  
  488. 3.3.1.2 LUI Unique Identifier for Term *
  489.  
  490.     The letter L followed by 7 digits.
  491.  
  492.     Description:  The unique identifier for the term of which a string is one form.  The number remains the same across
  493.     versions of the Metathesaurus irrespective of the selection of the preferred form of the term or of the concept to
  494.     which the term is linked.  
  495.  
  496. 3.3.1.3 TS Term Status *
  497.  
  498.     One alpha character
  499.  
  500.     Valid values:
  501.  
  502.     P-Preferred Name
  503.     S-Synonym 
  504.  
  505.     Description:  An indication of whether the term is the preferred name of the concept to which it is linked, or a
  506.     synonym of the preferred name.  There is a separate preferred name for each language (e.g., French, English).
  507.  
  508. 3.3.1.4 LAT Language of Term*
  509.  
  510.     Three alpha characters
  511.  
  512.     Valid values
  513.  
  514.     ENG - English
  515.     FRE - French
  516.  
  517.     Description:  The US MARC (Machine-Readable Cataloging) Format abbreviation for the language of the term.  In
  518.     Meta-1.3 only English and French terms are present.
  519.  
  520. 3.3.1.5 SUI Unique Identifier for String*
  521.  
  522.     The letter S followed by 7 digits
  523.  
  524.     Description:  The unique identifier for the string.  This number may not remain the same in the next version of the
  525.     Metathesaurus.
  526.  
  527.  
  528.  
  529.  
  530. 3.3.1.6 STT String Type*
  531.  
  532.     Three characters, that may include one or two trailing blanks, as required.
  533.  
  534.     Valid values
  535.  
  536.     PF-Preferred form of term
  537.     OR
  538.     V    followed by one or more of the following, in this order: 
  539.     A -      abbreviation of the preferred form
  540.     W -      word order variation of the preferred form
  541.     D -      Derivational variation of the preferred form
  542.     S -      Singular of the preferred form
  543.     P -      Plural of the preferred form
  544.          OR one of the following:
  545.     U -      unspecified variant of the preferred form
  546.     O -      other variant of the preferred form
  547.  
  548.     Description:  An indication of whether the string is the preferred form of the term or a variant of that form.  Variant
  549.     tags (e.g., A,W,D) were assigned by computer algorithm.
  550.  
  551.     NOTE:  The Metathesaurus does not necessarily include all possible variants of each of its terms, e.g., not every
  552.     term has the associated singular form.  It includes only those variants that are actually present in the Metathesaurus
  553.     source vocabularies.  MeSH includes a more complete set of lexical variants for its terms than the other
  554.     Metathesaurus source vocabularies do.  Future versions of the Metathesaurus are likely to include a more complete
  555.     set of variants.  Beginning in 1994, NLM will issue the code used to detect lexical variants with the UMLS
  556.     Knowledge Sources.
  557.  
  558. 3.3.1.7 STR String *
  559.  
  560.     Variable length string that includes alpha characters and may also include numerics, punctuation, or any character in
  561.     the Metathesaurus character set.  
  562.  
  563.     Description:  A unique string (disregarding upper-lower case variation) that appears in one or more of the
  564.     Metathesaurus source vocabularies.  The particular upper-lower case form in the string is selected based on the order
  565.     of precedence shown in Appendix C.  All French language strings (the only non-English strings in Meta-1.3) are in
  566.     upper-case and do not include diacritics.
  567.                                                                                                                                            
  568. 3.3.2 Relationships Between Different Concepts
  569.  
  570.     These data elements record detected relationships between different individual Metathesaurus concepts, i.e., non-
  571.     synonymous relationships.  Detected relationships between a combination of concepts from one source vocabulary
  572.     and a single concept in another source vocabulary are recorded in the Associated Expression (ATX - 3.3.3.7) concept
  573.     attribute.
  574.  
  575. 3.3.2.1 REL - Related Concepts
  576.  
  577.     Repeating element; with eight subelements:
  578.  
  579.     CUI of first concept|
  580.       Relation of second concept to first concept|
  581.            CUI of second concept|
  582.                Relationship attribute|
  583.                  Source of relationship|
  584.  
  585.     Valid Values for Relation:
  586.  
  587.     PAR      -    has parent relationship in a Metathesaurus source vocabulary
  588.     CHD      -    has child relationship in a Metathesaurus source vocabulary
  589.     SIB      -    has sibling relationship in a Metathesaurus source vocabulary
  590.     AQ       -    is an allowed qualifier for the first concept in a Metathesaurus source vocabulary
  591.     QB       -    can be qualified by the first concept in a Methesaurus source vocabulary
  592.     RR       -    has a non-synonymous relationship (other than one of the above), either derived from at least one
  593.                   Metathesaurus source vocabulary or identified during Metathesaurus construction , that was reviewed and
  594.                   labelled by the subject experts during Metathesaurus construction
  595.     UR       -    has an unreviewed relationship derived from at least one a Metathesaurus source vocabulary i.e.,  The
  596.                   relationship was not reviewed during Metathesaurus construction.  Its relationship attribute was therefore
  597.                   assigned automatically based on information available in its source vocabulary.
  598.  
  599.     Valid Values for Relationship attribute
  600.          For RR and UR Relations
  601.              B - Broader
  602.              N - Narrower
  603.              O - Other
  604.          For UR Relation only
  605.              L - specific nature of relationship is unknown, but the two concepts are similar, or "alike", i.e., they belong
  606.              to the same general category.  All relationships with this attribute link MeSH supplementary chemicals.  A
  607.              number of the concepts linked by this relationship are probably synonymous and may be linked to a single
  608.              concept identifier in future editions of the Metathesaurus.
  609.          For CHD, PAR, and SIB Relations
  610.              one of the relationships defined in the UMLS Semantic Network.  Examples include, "is a", "part of",
  611.              "manifestation of" or no value for unspecified relationships. 
  612.  
  613.     Valid Values for Source of Relationship
  614.  
  615.     Any source vocabulary abbreviation (see Appendix B)
  616.  
  617.     Examples (in the relational format):
  618.     
  619.  
  620.     C0006500|CHD|C0007689|Part of|MSH93
  621.     C1510822|RR|C2228511|B|MTH
  622.  
  623.     Description:  Relationships between different concepts, derived from a source vocabulary's explicit hierarchy (see
  624.     also section 3.3.5.3), from the cross-reference structure of a source vocabulary, from information about allowed
  625.     qualifiers in a source vocabulary, or from the lexical matching techniques used to build the Metathesaurus. 
  626.     Relationships from a source vocabulary's hierarchy will have the hierarchical code sub-element.  With the exception
  627.     of the qualifier relationships, the concepts linked in this data element are usually similar or closely related, e.g., two
  628.     body parts, two diseases, a manifestation and a disease, an organism and the disease it causes a chemical and its salt. 
  629.       There are separate entries for each direction of the relationship, i.e., one entry for "Atrial Fibrillation" as a child of
  630.     "Arrhythmia" and another entry for "Arrhythmia" as a parent of "Atrial Fibrillation".  Some concepts linked by the
  631.     UR (unreviewed) relation may be determined to be synonyms in future editions of the Metathesaurus.
  632.     
  633. 3.3.2.2 COC Co-occurring concepts
  634.  
  635.     Repeating element; with  a variable number of subelements
  636.     
  637.     CUI of first concept|
  638.       CUI of second concept or null value |
  639.         Source of co-occurrence information|
  640.           Type of co-occurrence|
  641.             Frequency of co-occurrence|
  642.               Attributes of co-occurrence relationship (optional)|
  643.  
  644. Valid Values for Source of Co-occurrence:
  645.  
  646.     MED - MEDLINE for the period 1990 - January 1993
  647.     M38 - MEDLINE for the period 1985 - 1989
  648.     AIR  - AI/RHEUM
  649.  
  650.     Valid Values for Type of Co-occurrence:
  651.  
  652.     L- co-occurrence of primary or main subject headings in citations to the published literature
  653.     LQ - second concept occurs as a qualifier of the first in citations to the published literature
  654.     LQB - second concept is qualified by the first in citations to the published literatu
  655.     KP  -    positive association in Knowledge Base
  656.     KN  -    negative association in Knowledge Base, e.g., a finding that is inconsistent with a disease.                            
  657.     
  658.     Attributes of co-occurrence relationship 
  659.  
  660.     MED - and M38 sources only
  661.  
  662.          Subheading data for co-occurring concept.  Multiple values separated by commas.
  663.  
  664.          Abbreviation of MeSH subheading applied to       =      Frequency of application of this subheading to first
  665.          first concept when it co-occurs with the                concept when it co-occurs with the second 
  666.                                                                  concept or <> (indicating no subheading)
  667.  
  668.     Example (in the Relational format):
  669.  
  670.          C0004238|C0003811|MED|L|7|CO=1,DT=4,EP=1,ET=2,PP=2,TH=1|
  671.          C0015967|C0026691|AIR|KP|||
  672.  
  673.     Description:  Concepts that occur together in the same "entries" in some information source.  The relationships
  674.     represented here are obtained from machine-manipulation of the information source.  Co-occurrence relationships
  675.     may exist between similar concepts (e.g., "Atrial Fibrillation" and "Arrhythmia") or between very different concepts
  676.     that nevertheless have some important connection in the field of biomedicine (e.g., "Atrial Fibrillation" and
  677.     "Digoxin"), or between a primary concept and a qualifier e.g., "Lithrotripsy" and "instrumentation".  A co-occurrence
  678.     relationship can exist between two concepts that have no other apparent relationship, although the frequency of such
  679.     co-occurrences will be small.
  680.  
  681.     In Meta-1.3, there are two sources of co-occurrence data:  MEDLINE and AI-RHEUM.  From MEDLINE, co-
  682.     occurrence data were computed for concepts that were designated as principal or main points in the same journal
  683.     article i.e., the co-occurrence counts do not include articles in which either or both of the concepts were present and
  684.     indexed in MEDLINE but not designated as main points.  (A concept is considered to be a main point if the * is
  685.     attached to the main heading or any of its subheadings.)  Two overall frequencies of MEDLINE co-occurrence are
  686.     provided:  one for MEDLINE data from 1990 - Jan. 1993 and one for MEDLINE data from 1985 to 1989.  Separate
  687.     counts are provided for the frequencies with which the first concept was qualified by different MeSH qualifiers or by
  688.     no qualifier at all when it co-occurred with second concept.  There are separate entries for each direction of the co-
  689.     occurrence relationship.  The related subheading occurrence information in each entry belongs to the first concept in
  690.     the entry and is therefore different for each direction of the relationship.  (See also Section 3.3.3.13).
  691.  
  692.     In addition to the specific qualifier information associated with two co-occurring concepts, this element also includes
  693.     (in entries with LQ and LQB values for type of co-occurrence) totals for the number of times each main concept was
  694.     qualified by a specific subheading or by no subheading.  (In Meta-1.2 this information appeared in a different format
  695.     in a different data element (QU)).
  696.  
  697.     The AI/RHEUM co-occurrence data represent the co-occurrence of diseases and findings in the AI/RHEUM
  698.     knowledge base, i.e., the diseases that co-occur with a particular finding and the findings that co-occur with a
  699.     particular disease.  Each disease/finding pair can co-occur only once in the AI/RHEUM knowledge base.
  700.  
  701.     Because of the large amount of MEDLINE co-occurrence data, the co-occurrences are not distributed in the 
  702.     ASCII unit record format.  The ASCII relational files of co-occurrence data can be converted to a unit record
  703.     format as needed.
  704.  
  705. 3.3.3 Concept Attributes 
  706.  
  707.     Characteristics of the concept that help to define its meaning and usage.  Those concept attributes created especially
  708.     for the Metathesaurus, e.g., Semantic Types, are linked to the concept by means of the concept identifier only.   The
  709.     names of attributes created during Metathesaurus construction are followed by (M).   Attributes derived from the
  710.     Metathesaurus source vocabularies or from information sources that include the concept are also linked to the string
  711.     identifier of the name of the concept used in that source.
  712.  
  713. 3.3.3.1 ST Concept Attributes Status *  (M)
  714.  
  715.     One alpha character
  716.  
  717.     Valid Values
  718.  
  719.     R-Reviewed
  720.     U-Unreviewed
  721.  
  722.     Description:  The review status of the concept attributes.  If human review of the concept attributes has been
  723.     completed, the status is R.  If human review has not been completed, the status is U.  In Meta-1.3, the majority of
  724.     entries for concepts derived solely from the MeSH supplementary chemical file have a status of U.
  725.     Note:  Interconcept relationships in the Metathesaurus also carry a status of reviewed or unreviewed.                 
  726.     (See Section 3.3.2.1)
  727.  
  728. 3.3.3.2  SCT  Syntactic Category or Part of Speech *  (M)
  729.  
  730.     Repeating element - Alpha string that may include a slash (/).
  731.  
  732.     Valid Values:
  733.  
  734.                  noun/noun phrase - virtually all Metathesaurus concepts carry this value
  735.                  verb/verb phrase
  736.                  adjective/adjective phrase
  737.                  adverb/adverb phrase
  738.  
  739.     Description:  The name of the syntactic category to which the concept belongs.  Metathesaurus entries with a status
  740.     of U carry a default value of "noun/noun phrase".  This element may be useful for natural language processing
  741.     applications.
  742.  
  743. 3.3.3.3  NH  Non-Human Flag   (M)
  744.  
  745.     A single character:  Y.
  746.  
  747.     Description:  An indication that the concept does not apply to human beings, used only when the concept's Semantic
  748.     type(s) could imply the contrary.  For example, the concept BEAK and CLAW are assigned the Semantic type"Body
  749.     Part, Organ, or Organ Component", but do not apply to human beings.  Concepts do not carry the non- human flag if
  750.     their semantic types are obviously non-human (e.g., "Medical Device", "Hazardous or Poisonous Substance").  This
  751.     element can indicate when special search restrictions are appropriate or that a concept may be inappropriate to the
  752.     user's search.
  753.  
  754. 3.3.3.4 DA  Date of entry * (M)
  755.  
  756.     YYMMDD, e.g., 920830
  757.  
  758.     Description:  The date of entry of the concept into the Metathesaurus. 
  759.  
  760. 3.3.3.5  MR  Major revision date  (M) 
  761.  
  762.     YYMMDD
  763.  
  764.     Description:  The date the Metathesaurus entry for the concept underwent any revision in content.  
  765.  
  766. 3.3.3.6  STY  Semantic Type *  (M)
  767.  
  768.     Repeating Element with the two sub-elements.  
  769.  
  770.     Unique identifier                              |                   Semantic type
  771.     for Semantic Type                              
  772.  
  773.     Valid Values for Unique identifiers
  774.  
  775.     The identifiers in the UMLS Semantic Network, described in Part 4 of this documentation
  776.  
  777.     Valid Values for Semantic Types:  The semantic types in the UMLS Semantic Network, described in Part 4 of this
  778.     documentation.  The few Meta-1.3 concept names that are adjectives have "untyped" in this field.
  779.  
  780.     Description:  The basic category or categories to which the concept belongs, (e.g., Acquired Immunodeficiency
  781.     Syndrome is a "Disease or Syndrome".)  Unreviewed concepts from the MeSH supplementary chemical files inherit
  782.     the structural chemical types of the MeSH headings to which they are mapped.  They usually do not carry functional
  783.     chemical types as other chemical concepts in Meta-1.3 do.  The Semantic type(s) are the link between the
  784.     Metathesaurus and the UMLS Semantic Network.  They are also one of the links between the Metathesaurus and the
  785.     UMLS Information Sources Map.  Application programs may be able to use the Semantic type information to
  786.     determine the general topics of interest in a particular user query. Semantic types can also be employed to pick up
  787.     related information from the Semantic Network and the Information Sources Map for use in interacting with the user
  788.     to refine the query and to select appropriate information Sources to search.
  789.  
  790. 3.3.3.7  ATX  Associated Expression   (M)
  791.  
  792.     Repeating element with three sub-elements.
  793.  
  794.     Abbreviation (as in Appendix B) for the source of the vocabulary used in the expression|
  795.        Type of Relationship  |
  796.          Vocabulary expression|
  797.  
  798.     Valid Values for Type of Relationship:
  799.  
  800.                          B - Broader                         N - Narrower
  801.                          O - Other                           S - Synonymous
  802.                          U - Unspecified
  803.  
  804.     Several different formats of the expression are possible.
  805.  
  806.     a.) <Main Heading>/<Subheading>
  807.                           or
  808.     b.)  Individual Main Headings and/or Main Heading and subheading combinations coordinated by the Boolean
  809.          operators, (i.e., AND, OR, AND NOT).  The vocabulary terms in the expression are included in less than
  810.          and greater than signs <> to distinguish them from Boolean operators.  Parentheses are used as necessary
  811.          to clarify the meaning of boolean OR expressions.
  812.  
  813.     Examples:
  814.  
  815.     MSH92|S|<Pupil>/<Abnormalities>
  816.     MSH92|S|<Polyps> AND <Rectal Neoplasms>
  817.     MSH92|S|(<Rectum> OR <Rectal Diseases>) AND <Pain>
  818.  
  819.     Description:  Coordinated expressions of multiple terms from a Metathesaurus source vocabulary that are related to
  820.     the concept.  In Meta-1.3, these expressions are all constructed of MeSH or Library of Congress Subject Headings. 
  821.     Information in this element can be used to construct a MeSH or LCSH search related to the concept represented in
  822.     the Metathesaurus entry.  Note that parentheses are used in these expressions to clarify the Boolean expression and
  823.     punctuation is  used to distinguish the vocabulary terms from the Boolean operators.  The  punctuation will probably
  824.     have to be removed before the expressions can be used in a search.  Depending on the system being searched, the
  825.     expression may have to be divided into multiple search statements to achieve the desired search result.  In the case
  826.     of MeSH expressions, it may be necessary to EXPLODE one or more terms  in the expression to get the desired
  827.     search result.  In the case of LCSH expressions, some of the subheadings are followed by "etc." indicating that other
  828.     similar subheadings may be used.  Note that the LCSH expressions  represent combinations actually used by the
  829.     Library of Congress in cataloging books.  They have been mapped to their closest MeSH equivalents.  
  830.     NOTE:  Concept attributes 3.3.3.8 to 3.3.3.13 are also linked to the SUI of the name of the concept used in their
  831.     sources.
  832.  
  833. 3.3.3.8  RN  Registry Number 
  834.  
  835.     A series of numbers and hyphens.  Any leading zeros in an RN are dropped.
  836.  
  837.     Description:  The Chemical Abstracts Service Registry number for the concept.  (Applies to chemicals only.)  This
  838.     number is an alias for the concept name and can be used to retrieve information about the concept from a number of
  839.     chemical and toxicological databases.  In future editions of the Metathesaurus, the Registry number is likely to be
  840.     treated as a synonym of the preferred concept name.
  841.  
  842. 3.3.3.9  RR  Related Registry Number 
  843.  
  844.     Repeating element;  with two sub-elements.
  845.     Registry number (Relationship to MC in parentheses).  Up to 103 characters;  average is 28 characters.
  846.  
  847.     e.g., 80551-64-0 (sulfate)
  848.  
  849.     Description:  The Chemical Abstracts Registry numbers for salts, optical isomers, or isotope-labelled versions of
  850.     the concept followed by the relationship of this RR to the RN (in parentheses.)  (Applies to chemicals only.)             
  851.   These numbers also can be used as links to information in a number of chemical and toxicological databases.
  852.  
  853. 3.3.3.10  DEF  Definition 
  854.  
  855.       Two sub-elements
  856.  
  857.     Abbreviation of the source of the definition |
  858.        Variable length string with alpha characters, punctuation, and in some cases numerics |
  859.  
  860.     Description:  A narrative description of the meaning of the concept.  For some of the unreviewed entries for MeSH
  861.     supplementary chemicals, the definition value contains a brief note rather than an informative definition.  In Meta-1.3
  862.     the source of the majority of the definitions is MeSH (MSH92) or Dorland's Illustrated Medical Dictionary, 27th
  863.     edition (DOR27).  The definitions created specifically for the Metathesaurus have a source value of MTH. 
  864.     Definitions were created specifically for the Metathesaurus only when needed to distinguish among different
  865.     meanings of the same string.  In future editions of the Metathesaurus, there will probably be multiple definitions
  866.     (from different sources) for some concepts.  See also Section 3.3.3.23.
  867.  
  868. 3.3.3.11 CXT Context
  869.  
  870.     Repeating element.  The specific format varies considerably depending on the physical format.  See individual
  871.     descriptions of the physical formats.
  872.  
  873.     Description:  Hierarchical contexts for the concept from various Metathesaurus source vocabularies, including
  874.     ancestors (in order from most remote to closest), siblings, and children.  The hierarchical contexts are available for
  875.     display to users as an aid to understanding the scope of concepts and to refining search strategies.
  876.  
  877. 3.3.3.12  LO  Locator   (M)
  878.  
  879.     Repeating element with 4 sub-elements:
  880.  
  881.     Name of information source or database in which concept appears |
  882.       Frequency of appearance in the source (optional) |
  883.         Meaning of Frequency Data (optional)| 
  884.           Metathesaurus SUI of string used in the source or the actual string used in that source 
  885.           (if not otherwise present in the Metathesaurus) (optional)|
  886.               SOUI unique identifier of record in which concept appears in source (optional) |
  887.  
  888.     Valid Values for Name of information source
  889.  
  890.     MEDLINE- (National Library of Medicine) - will be followed by an indication of the applicable range of years
  891.                of MEDLINE data.
  892.     DXPLAIN - a Diagnostic prompting system (Massachusetts General Hospital) (July 1992)
  893.     OMIM      - Online Mendelian Inheritance in Man (Victor McKusick, Johns Hopkins University) (July 1992)
  894.     PDQ       - Physician Data Query System (National Cancer Institute) (July 1992)
  895.     QMR       - Quick Medical Reference (University of Pittsburgh) (July 1992)
  896.     AI/RHEUM - AI/RHEUM (National Library of Medicine)  ( July 1992)
  897.  
  898.     Valid Value for Meaning of Frequency Data
  899.  
  900.     *CITATIONS - indexed citations in which this concept was designated a primary point.                       
  901.  
  902.     Examples:
  903.  
  904.     MEDLINE (1989-Apr. 1992)|12|*CITATIONS|
  905.     QMR|||
  906.     DXPLAIN|||
  907.  
  908.     Description:  Selected sources in which the Metathesaurus concept was detected.  In some cases the source name is
  909.     followed by:  the frequency of occurrence in that source, the precise meaning of the frequency data, (e.g., whether it
  910.     refers to a number of citations, etc.).  Information in this element can be used to determine which of a limited
  911.     repertoire of sources contain detected information closely related to the concept.  System developers are encouraged
  912.     to add data for local information sources to this element to support local applications.  Data for additional nationally
  913.     available sources may be included in subsequent versions of the Metathesaurus.
  914.  
  915.     For MEDLINE segments only, if the frequency sub-element is blank, the term did not appear as a principal point in
  916.     any MEDLINE citations for that segment.  
  917.  
  918.     Except for MEDLINE and AI/RHEUM, the data for the information sources listed in the LO element is
  919.     incomplete.  Meta-l.2 does not contain all concepts appearing in these information sources, and some Meta-1.3
  920.     concepts present in these sources may not be flagged as such if the concept is represented in the information source
  921.     by a term not present in Meta-1.3.
  922.  
  923. Note:  All of the following concept attributes are derived from MeSH and are linked to the internal MeSH unique
  924. identifier as well as the relevant Metathesaurus string, term, and concept identifiers. 
  925.  
  926. [3.3.3.13 is intentionally omitted]
  927.  
  928.  
  929. 3.3.3.14   AN  Annotation
  930.  
  931.     Variable length alphanumeric string that may contain punctuation.
  932.  
  933.     Description:  An informative MeSH note written primarily for indexers or catalogers that may also be useful in
  934.     explaining the use of a MeSH term to online searchers.  
  935.  
  936. 3.3.3.15 HN  History Note
  937.  
  938.     Variable length alpha-numeric string with punctuation.  
  939.  
  940.     Description:  In general, the year when the current form of the MeSH term was established as a major and/or minor
  941.     descriptor.  The minor descriptor entry data appears in parentheses.  Other brief information about  history of the
  942.     MeSH heading and its cross-references may follow the year data.  MeSH terms that have been  used continuously as
  943.     major descriptors since 1963 do not have dates in this element.  
  944.  
  945.             72 (68)
  946.             83
  947.             76 (75)
  948.             89;  was /occurrence 1966-88
  949.  
  950.     The information in this field can be used to determine whether a MeSH term will appear in early MEDLINE
  951.     backfiles and to find out how to search a concept in MEDLINE before its current term was introduced into MeSH. 
  952.     See also the PI element.
  953.  
  954. 3.3.3.17  II  Indexing Information
  955.  
  956.     One or more MeSH main headings or Main heading/subheading combinations.  
  957.  
  958.  
  959.     Description:  For MeSH chemical terms (Term Type=NM), MeSH headings that may be relevant to articles that are
  960.     also assigned the NM term.  The information in this field helps to define the NM and suggests other related search
  961.     terms.
  962.  
  963. 3.3.3.18  M## (M66, M72, M77, M80, M83, M86, MED) - MEDLINE Backfile Postings
  964.  
  965.     Numeric value followed by another numeric value preceded by an asterisk (*); one of the two values may be absent,
  966.     indicating no occurrences.
  967.  
  968.     Description:  Seven data elements which give the number of times a MeSH term has been used in MEDLINE and
  969.     each of its backfiles on the NLM system as of January 1992.  (The date ranges for each file may be found in their
  970.     records in the UMLS Information Sources Map.)  For MeSH main headings, each element has two values:  the total
  971.     occurrences and the occurrences in which the term was designated a principal concept, preceded by an asterisk.  For
  972.     subheadings, only the total postings are given.
  973.  
  974.     This is the only source of information in the Metathesaurus on the frequency of use of MeSH headings in MEDLINE
  975.     prior to 1983 and on the total frequency of use of MeSH headings in MEDLINE from 1966 to January 1992.  See
  976.     also 3.3.3.12 LO for information on occurrences in which the term was designated a principal concept for the period
  977.     from 1983 to April 1992.
  978.  
  979.  
  980. 3.3.3.19  OL  Online Note
  981.  
  982.     Variable length alphanumeric string with punctuation.  
  983.  
  984.     Description:  Information helpful to online searchers of MEDLINE, especially when the history of a term or
  985.     cross-reference has implications for online searching.  This is a potential source of useful information or rules for
  986.     search interface programs.
  987.  
  988. 3.3.3.20  PA  Pharmacologic Action
  989.  
  990.     One or more valid MeSH headings.  
  991.  
  992.     Description:  Current MeSH terms that describe the observed biological activity (e.g., ANALGESICS) of a MeSH
  993.     supplementary chemical term (term type = NM).  This element helps to define its corresponding MC and may be
  994.     useful in expanding a search.
  995.  
  996. 3.3.3.21  PI  Previous Indexing
  997.  
  998.     Repeating element;  MeSH heading or heading/subheading combination(s) followed by a date range in parentheses
  999.     (YY-YY).  
  1000.  
  1001.     Description:  The MeSH headings or main heading/subheading combination that may be used to search for
  1002.     MEDLINE citations indexed before the concept was introduced into MeSH.  Each entry is followed by a year or
  1003.     range of years as a guide to the period when the term in the PI field should be searched.  The appropriate boolean
  1004.     logic for the PI terms is not provided.  The searcher must make the decision whether to AND or OR the terms
  1005.     supplied when multiple terms are present.
  1006.  
  1007. 3.3.3.22  PM  Public MeSH note
  1008.  
  1009.     Variable length alphanumeric.  
  1010.  
  1011.     Description:  Combines key information from the HN and PI elements in a format that is printed in the MeSH
  1012.     publications.
  1013.  
  1014. 3.3.3.23 SOS Scope Statement
  1015.  
  1016.     Two sub-elements
  1017.  
  1018.     Abbreviation of the source of the statement |
  1019.       Variable length string with alpha character, punctuation, and in some cases diacritics
  1020.  
  1021.     Description:  Details about the scope of a concept in a particular source vocabulary.  In Meta-1.3, all scope
  1022.     statements are from the American College of Radiology's Index for Radiological Diagnoses.  There are likely to be
  1023.     scope notes from additional sources in future editions of the Metathesaurus.
  1024.  
  1025. 3.3.3.24 FR Frequency
  1026.  
  1027.     Numeric value
  1028.  
  1029.     Description:  For MeSH supplementary chemicals only, the number of times the chemical has been identified in 
  1030.     articles indexed in MEDLINE as of December 1991.
  1031.  
  1032. 3.3.4 Term attribute - linked to the term by its unique identifier and to the corresponding concept by its unique    
  1033.                              identifier.  This attribute is created during Metathesaurus construction.
  1034.  
  1035.  
  1036. 3.3.4.1 LT Lexical Tag  (M)
  1037.  
  1038.     Repeating element.  A three-character alpha code.  The majority of terms with lexical tag data have only one tag
  1039.     value.
  1040.  
  1041.     Valid Values:
  1042.  
  1043.     ABX - Imbedded abbreviation          LAB - Lab number
  1044.     ACR - Acronym                        NON - NO special tag is appropriate
  1045.     ACX - Embedded acronym               TRD - Trade name                        
  1046.     EPO - Eponym
  1047.  
  1048.     Description:  A tag indicating whether a term falls into any of several special types.  Terms linked to concepts with a
  1049.     status attribute of U(unreviewed) generally do not carry lexical tag data.  Although the purpose of this tag is to
  1050.     indicate terms that are not generally appropriate for stemming and other natural language techniques.
  1051.     
  1052. 3.3.5 String attributes - linked to the string by its unique identifier and to the corresponding concept by its 
  1053.                                unique identifier.  Attributes created during the Metathesaurus construction are followed 
  1054.                                by (M).
  1055.  
  1056. 3.3.5.1 SO Source of String *  (M)
  1057.  
  1058.     Repeating element, with three subsections separated by vertical bars (|).  
  1059.  
  1060.     Abbreviation for source vocabulary|
  1061.       abbreviation for entity type in source|
  1062.         unique identifier in source OR unique identifier generated for Metathesaurus|
  1063.  
  1064.     e.g., MSH92|MH|D000735
  1065.  
  1066.     Valid source abbreviations:  included in Appendix B.
  1067.  
  1068.     Valid entity type abbreviations:  included in Appendix B.
  1069.  
  1070.     Description:  The vocabulary source(s) for the string.  The information in the SO can be used to determine whether a
  1071.     particular concept is present in a particular source (and in what form, disregarding upper-lower case) and to extract
  1072.     from the Metathesaurus the terms appropriate for searching information sources that have been indexed by specific
  1073.     vocabularies or classifications.  In the case of the COSTART vocabulary, the third sub-element is actually an
  1074.     abbreviation composed of alphabetic characters.
  1075.  
  1076. 3.3.5.2 AM Ambiguous string indicator  (M)
  1077.  
  1078.     A single character:  A
  1079.  
  1080.     Description:  An indicator that the string is ambiguous, i.e., has more than one meaning in the Metathesaurus.  (See
  1081.     Section 3.2 and Figure 2 in this documentation.)  An ambiguous string has multiple entries in the STR element and
  1082.     has a separate string identifier for each of its entries.
  1083.  
  1084. NOTE:  The following string attributes are derived from MeSH and are linked to the internal MeSH unique identifier as
  1085. well as the relevant Metathesaurus string and concept identifiers.
  1086.  
  1087. 3.3.5.3  DC  Descriptor class
  1088.  
  1089.     A single numeric character.
  1090.  
  1091.     Valid Values:
  1092.  
  1093.     l = an Index Medicus descriptor
  1094.     2 = a citation type descriptor (English Abstract)
  1095.     3 = a check tag descriptor, e.g., HUMAN
  1096.     4 = a geographic descriptor
  1097.     5 = a non-MeSH descriptor, e.g., PATIENT CARE MANAGEMENT (NON-MeSH).  In Meta-1.1 such
  1098.           MeSH terms have a type of HT
  1099.  
  1100.     Description:  The type of MeSH term the main concept name represents.  
  1101.  
  1102.  
  1103. 3.3.5.4  DQ  Date Qualifier Established
  1104.  
  1105.     YYMMDD
  1106.  
  1107.     Description:  The date the qualifier became available for indexing MEDLARS citations.
  1108.  
  1109. 3.3.5.5  DS  Descriptor Sort Version
  1110.  
  1111.     Variable length alphanumeric string.  
  1112.  
  1113.     Description:  The form needed for proper sequencing of the concept name, if the name could not be sequenced
  1114.     properly by the sort algorithms used in the MeSH publications, E.g.,
  1115.  
  1116.             MC - Antithrombin III
  1117.             DS  - Antithrombin 03
  1118.  
  1119.  
  1120. 3.3.5.6 DX  Date major descriptor established.
  1121.  
  1122.     YYMMDD
  1123.  
  1124.     Description:  The first day of the Index Medicus publication month in which the descriptor (in any form) was
  1125.     available for searching as a major descriptor.
  1126.  
  1127. 3.3.5.7  DY  Date minor descriptor established
  1128.  
  1129.     YYMMDD
  1130.  
  1131.     Description:  The first day of the Index Medicus publication month in which the descriptor (in any form) was
  1132.     available for searching as a minor descriptor.
  1133.  
  1134.  
  1135. 3.3.5.8  GC  Geographic Area Code
  1136.  
  1137.     A code containing letters and a hyphen.
  1138.  
  1139.     Valid Values:  MARC (Machine-Readable Cataloging) geographic area codes.
  1140.  
  1141.     Description:  The corresponding MARC geographic area code for a MeSH heading that is the name of a country or
  1142.     geographic area. E.g.,
  1143.  
  1144.             MC - Cameroon
  1145.             GC  - F-CX
  1146.  
  1147.     This information can be used to retrieve all Metathesaurus concept names for countries in a particular region.
  1148.  
  1149. 3.3.5.9  LA  Language Code
  1150.  
  1151.     Three alphabetic characters
  1152.  
  1153.     Valid Values:  The MARC language codes.
  1154.  
  1155.     Description:  The MARC language code for a MeSH heading that is the name of a language.  E.G.,
  1156.  
  1157.              MC - ICELANDIC
  1158.              LA - ICE
  1159.  
  1160. 3.3.5.10  LU Language Usage
  1161.  
  1162.     The letter C.
  1163.  
  1164.     Description:  For MeSH language qualifiers only, an indication that the language is used in cataloging records only
  1165.     and will not appear in MEDLINE or other indexing records.  For example, the language qualifier GREEK,
  1166.     CLASSICAL is used in cataloging only and therefore has the value C in this element.
  1167.  
  1168. 3.3.5.11  MDA  MeSH date of entry
  1169.  
  1170.       YYMMDD
  1171.  
  1172.     Description:  The date the term was added to the MeSH file, which is prior to the date the term became available for
  1173.     indexing and searching MEDLARS citations.  Terms that have been part of MeSH for many years may have no
  1174.     value in this element.
  1175.  
  1176. 3.3.5.12  MMR  MeSH revision date
  1177.  
  1178.     YYMMDD
  1179.  
  1180.     Description:  The date of the last major revision to the term's MeSH record.
  1181.  
  1182. 3.3.5.13  NO Note
  1183.  
  1184.     Variable length alpha-numeric string with punctuation.
  1185.  
  1186.     Description:  For some MeSH subheadings (term type = SH, includes a definition or indexing instructions.
  1187.  
  1188. 3.3.5.14  PX  Pre-Explosion
  1189.  
  1190.     Three sub-elements.
  1191.  
  1192.     PX/Name of pre-explode/MeSH hierarchical number.
  1193.  
  1194.     Description:  An indication of whether there is a pre-stored MEDLINE search on the NLM system for the MeSH
  1195.     Main heading or subheading and all of its children in the MeSH hierarchical structure.  Pre-explodes have been
  1196.     created to allow more rapid and efficient combined searches of specific terms and all their descendants.  In most
  1197.     cases the name of the pre-explode is the same as the MC;  in a few cases it is different.  When used in actual
  1198.     searches pre-explodes must be entered as follows:
  1199.  
  1200.     Name of pre-explode (PX)
  1201.  
  1202.     On NLM's online system, use of a pre-explode is faster and cheaper than using the EXPLODE command.
  1203.  
  1204. 3.3.5.15  QA  Topical Qualifier Abbreviation
  1205.  
  1206.     Two alphabetic characters.
  1207.  
  1208.     Description:  For MeSH subheadings (Term Type=SH, an abbreviation that may be used in place of the full text of
  1209.     the abbreviation in searching on NLM's system and possibly on other systems offering NLM data. 
  1210.  
  1211. 3.3.5.16  QG  Qualifier Usage
  1212.  
  1213.     The letter C.
  1214.  
  1215.     Description:  An indication that a MeSH subheading is used only in cataloging.  The absence of this element for a
  1216.     string with a source of MSH|SH means that the subheading is used in both indexing and cataloging.  This element
  1217.     indicates whether a particular subheading will appear in MEDLINE or not. 
  1218.  
  1219. 3.3.5.17  QS  Qualifier Sort Version
  1220.  
  1221.     Alphabetic string.
  1222.  
  1223.     Description:  The form of the subheading needed for proper alphabetic sequencing when the subheading cannot be
  1224.     sequenced properly by the sort algorithms used in the MeSH publications.
  1225.  
  1226. 3.3.5.18  QT  Qualifier Type
  1227.  
  1228.     A single numeric character.
  1229.  
  1230. Valid Values:
  1231.  
  1232.     l    =   a topical qualifier, e.g., DRUG THERAPY
  1233.     2    =   a form qualifier, e.g., POPULAR WORKS
  1234.     3    =   a time qualifier, e.g., 19 CENT.
  1235.     4    =   a geographic qualifier, e.g., FRANCE
  1236.     5    =   a language qualifier, e.g., GERMAN
  1237.  
  1238.     Description:  The type of MeSH subheading that appears in the MC element.  Only topical subheadings (QT=1) will
  1239.     appear in MEDLINE or other NLM article citation files.  Any type of subheading may appear in CATLINE and
  1240.     AVLINE, NLM's catalog files.
  1241.  
  1242. 3.3.5.19  SRC Literature source of chemical name
  1243.  
  1244.     Variable length alphanumeric string.
  1245.  
  1246.     Description:  A citation to an article in a journal indexed for MEDLINE in which the chemical has been identified.
  1247.  
  1248. 3.3.5.20  TH  Thesaurus ID
  1249.  
  1250.     Repeating element.  Alphabetic string.  
  1251.  
  1252.     Valid Values:  POPLINE, BIOETHICS, GENBANK, NLM, USAN, MERCK INDEX, NEGWER.
  1253.  
  1254.     Description:  Identifies thesauri other than MeSH in which the MeSH heading or cross-reference is included.
  1255.     Provides additional, less specific SO information.
  1256.  
  1257. 3.3.5.21 DE Descriptor Entry Version
  1258.  
  1259.     Variable length alphabetic string.
  1260.  
  1261.     Description:  A short form for a MeSH term used primarily in MEDLINE record creation and maintenance.
  1262.  
  1263. 3.3.5.22 EC Entry combination
  1264.          
  1265.          MeSH main heading                  |                MeSH subheading
  1266.  
  1267.     Description:  An invalid MeSH main heading/subheading combination that is a cross reference to a single MeSH
  1268.     main heading that should be used in its place.
  1269.  
  1270. 3.3.5.23 EV Entry term abbreviation 
  1271.  
  1272.     Variable length alphanumeric string.
  1273.  
  1274.     Description:  A short form for a MeSH entry term or cross reference used primarily MEDLINE record creation and
  1275.     maintenance.
  1276.  
  1277. 3.3.5.24 CX Consider Also Note
  1278.  
  1279.     Variable length alphabetic string.
  1280.  
  1281.     Description:  Other word roots or prefixes that should be consulted for other concepts related to this MeSH concept,
  1282.     e.g., the value for "Heart" is "consider also terms at cardi-and myocardi-".
  1283.  
  1284. 3.3.5.25 GM Grateful Med Note
  1285.  
  1286.     Variable length alphanumeric string.
  1287.  
  1288.  
  1289.     Description:  A note designed to help Grateful Med users avoid a common misuse of the MeSH heading to which it
  1290.     is attached.
  1291.  
  1292. 3.3.5.26 QE Qualifier Entry Version
  1293.  
  1294.     Variable length alphabetic string
  1295.  
  1296.     Description:  A short form for a MeSH qualifier.
  1297.  
  1298. 3.3.5.27 QX Qualifier Cross reference
  1299.  
  1300.     Variable length alphabetic string
  1301.  
  1302.     Description:  An alternate name or synonym for a MeSH qualifier.  In future versions of the Metathesaurus, this
  1303.     information will appear in the concept name elements.
  1304.  
  1305. 3.3.5.28 MN MeSH Tree Number
  1306.  
  1307.     Repeating element.  Variable length alphanumeric string with imbedded periods.
  1308.  
  1309.     Description:  The hierarchical number for the concept in the MeSH tree structures.  This number also appears in the
  1310.     HCD sub-element of the REL and CXT elements.
  1311.  
  1312. 3.3.6  Word index
  1313.  
  1314.     One entry for each unique string (STR) that contains a particular word.  Each entry has five sub-elements.
  1315.  
  1316.     abbreviation of language of word  |   lowercase word  |      CUI         |     LUI       |     SUI      
  1317.  
  1318.     Description:  An index to all words that appear in strings (STR) in the Metathesaurus.  For the purpose of creating
  1319.     the index a word is defined as follows:
  1320.  
  1321.     -    All runs of alphanumeric characters constitute a word.
  1322.  
  1323.     -    In general, whitespace and punctuation constitute word delimiters and are deleted.  The few exceptions together
  1324.          with pertinent examples are listed in the word index program (wi.c) in Appendix C.
  1325.  
  1326.     -    All uppercase letters are converted to lowercase on output.
  1327.  
  1328.     -    No stopwords are used.
  1329.  
  1330.     The wi.c program (Appendix C) is written in C and was developed to run under Unix.  It may be of use to system
  1331.     developers who are developing their own interfaces to the UMLS data.
  1332.  
  1333.     The index can be used to identify all concepts, term, and/or strings that contain a particular word.
  1334.  
  1335.     NOTE:  The word index is distributed in the ASCII relational format only.
  1336.  
  1337.  
  1338.  
  1339.  
  1340.                                                 3.4  METATHESAURUS ASCII RELATIONAL FORMAT
  1341.  
  1342.  
  1343. 3.4.1  INTRODUCTION
  1344.  
  1345.     In this format the data in each Metathesaurus entry is represented in up to 12 different "relations" or files.  The first
  1346.     file describes the other 9 files.  The remaining nine files relate to the 4 logical groups of data elements described in
  1347.     Section 3.3 of the documentation as follows:
  1348.                   (1) Metathesaurus Concept Names = MRCON
  1349.                   (2) Relationships between Different Concept Names = MRREL, MRCOC
  1350.                   (3) Attributes = MRSAT, MRSTY, MRCXT, MRATX, MRLO, MRSO
  1351.                   (4) Word Index
  1352.     
  1353.     The Metathesaurus relational format is not fully normalized.  By design, there is duplication of data among different
  1354.     relations and within certain relations.  In particular, links between different Metathesaurus concepts appear twice
  1355.     (e.g., from entry A to entry B and from entry B to entry A).  Developers will need to make their own decisions
  1356.     about the extent to which this redundancy should be retained, reduced, or increased for their specific applications.
  1357.  
  1358.     Each of the relations or files contains the information from all Metathesaurus entries for a given subset of the data
  1359.     elements described in Section 3.4.
  1360.  
  1361. 3.4.2  GENERAL DESCRIPTION OF THE RELATIONAL FORMAT
  1362.     
  1363.     Each relation or named table of data values has by definition a fixed number of columns; the number of rows
  1364.     depends on the content of a particular version of the Metathesaurus.  A column is a sequence of all the values in a
  1365.     given data element or logical sub-element.  In general, columns for longer variable length data elements will appear
  1366.     to the right of columns for shorter and/or fixed length data elements.  A row contains the values for one or more
  1367.     data elements or logical sub-elements for one Metathesaurus entry.  Depending on the nature of the data elements
  1368.     involved, each Metathesaurus entry may have one or more rows in a given file.  The values for the different data
  1369.     elements or logical sub-elements represented in the row are separated by vertical bars (|).  If an optional element is
  1370.     blank, the vertical bars are still used to maintain the correct positioning of the subsequent elements.  Each row is
  1371.     terminated by a vertical bar and a carriage return followed by a line feed. (|<CR><LF>).
  1372.  
  1373. 3.4.3  SUMMARY OF THE CONTENTS OF EACH OF THE RELATIONAL FILES
  1374.  
  1375.     In the following descriptions, the numbers of parentheses beside or beneath each element refer to the section of the
  1376.     conceptual overview of Metathesaurus that describes the element's contents.  Note that many data items described as
  1377.     logical sub-elements in the conceptual overview are stored in separate columns in the relational format. 
  1378.  
  1379. 3.4.3.1  Relation Relation (File = MRFILES)
  1380.  
  1381.     There is exactly one row in this file for each physical segment of the files in the relational format.  The columns or
  1382.     data elements in the file are:
  1383.  
  1384.  
  1385.     Cols.
  1386.  
  1387.     Physical FILENAME            |       Descriptive File Name              |        # of ROWS    |       Size of bytes      |
  1388.  
  1389.  
  1390.  
  1391.     All file names in the relational format begin with the letters MR.  If a single file would exceed 32 megabytes it is
  1392.     divided into 32 megabyte segments of up to 32 megabytes and consecutive numbers are appended to the file names
  1393.     for the segments, e.g., MRCOC01, MRCOC02.
  1394.  
  1395.     All files are sorted from left to right in ascending order.
  1396.  
  1397. 3.4.3.2 Concept Names (File = MRCON)
  1398.  
  1399.     There is exactly one row in this file for each unique string (ignoring upper/lower case) in the Metathesaurus.  
  1400.  
  1401.     Cols.
  1402.  
  1403.     CUI |LAT |TS |LUI |STT  |SUI |STR |
  1404.     CUI - Unique identifier for concept (3.3.1.1)
  1405.     LAT - Language of Term (3.3.1.4)
  1406.     TS  - Term status (3.3.1.3)
  1407.     LUI - Unique identifier for term (3.3.1.2)
  1408.     STT - String type (3.3.1.6)
  1409.     SUI - Unique identifier for string (3.3.1.5)
  1410.     STR - String (3.3.1.7)
  1411.  
  1412. 3.4.3.3 Related Concepts (File = MRREL)
  1413.  
  1414.     There are two rows in this table for each relationship between Metathesaurus concepts that is known to the
  1415.     Metathesaurus--one row for each direction of the relationship.  
  1416.  
  1417.     Cols.
  1418.  
  1419.     CUI1 |REL |CUI2 |RELA |SAB |
  1420.  
  1421. CUI1-Unique identifier of first concept (3.3.1.1) 
  1422.     REL      -    Relationship of second to first concept (3.3.2.1)
  1423.     CUI2     -    Unique identifier of second concept (3.3.1.1)
  1424.     RELA   -      Relationship attribute (3.3.2.1)
  1425.     SAB     -     Abbreviation of the source of relationship (3.3.2.1)
  1426.  
  1427. 3.4.3.4  Co-occurring Concepts (File = MRCOC)
  1428.  
  1429.     There are two rows in this table for each pair of concepts that co-occur in each information source represented -- one
  1430.     for each direction of the relationship.  (Note that the COA data may be different for each direction of the
  1431.     relationship.)  Many Metathesaurus concepts have no entries in this file.  
  1432.  
  1433.     CUI1 |CUI2  |SAB |COT |COF |COA |
  1434.  
  1435.     CUI1     -    Unique identifier of first concept (3.3.1.1)
  1436.     CUI2     -    Unique identifier of second concept (3.3.1.1)
  1437.     SAB      -    Abbreviation of the Source of co-occurrence information (3.3.2.2) if applicable
  1438.     COT      -    Type of co-occurrence (3.3.2.2)
  1439.     COF      -    Frequency of co-occurrence (3.3.2.2), if applicable
  1440.     COA      -    Attributes of co-occurrence (3.3.2.2), if applicable
  1441.  
  1442. 3.4.3.5 Simple Concept, Term and string attributes (File = MRSAT)
  1443.  
  1444.     There is exactly one row in this table for each concept, term and each string attribute that does not have a sub-
  1445.     element structure.  All Metathesaurus concepts have entries in this file.  
  1446.     
  1447.     CUI |LUI         | SUI      |DUI       |ATN       |SAB       |ATV       |
  1448.          (optional)   (optional) (optional) 
  1449.          (There are 3 null ATVs in Meta 1.3)
  1450.  
  1451.     CUI      -    Unique identifier for concept (3.3.1.1) or for term (3.3.1.2)
  1452.     LUI      -    Unique identifier for term (3.3.1.2)
  1453.     SUI      -    Unique identifier for String (3.3.1.4)
  1454.     DUI      -    MeSH unique identifier - for attributes derived from MeSH only
  1455.     ATN      -    Attribute name.  Possible values are:  
  1456.          
  1457.              ST(3.3.3.1), SCT(3.3.3.1), NH(3.3.3.3), DA (3.3.3.4), MR(3.3.3.5), RN(3.3.3.8), RR(3.3.3.9), AN(3.3.3.14),
  1458.              HN(3.3.3.15), FR (3.3.3.24), II(3.3.3.17), M66, M72, M77, M80, M83, M86, MED(3.3.3.18) OL(3.3.3.19),
  1459.              PA(3.3.3.20), PI(3.3.3.21), PM(3.3.3.22), SOS (3.3.3.23), LT (3.3.4), AM(3.3.5.2),  
  1460.              CX (3.3.5.24), DC(3.3.5.3), DE (3.3.5.21), DQ(3.3.5.4), DS(3.3.5.5), DX(3.3.5.6), DY(3.3.5.7), 
  1461.              EC (3.3.5.22), EV (3.3.5.23), GC(3.3.5.8), GM (3.3.5.25), LA(3.3.5.9), LU(3.3.5.10), MDA(3.3.5.11),
  1462.              MMR(3.3.5.12), MN (3.3.5.28), NO (3.3.5.13), PX(3.3.5.14), QA(3.3.5.15.), QE (3.3.5.26), QG(3.3.5.16),
  1463.              QS(3.3.5.17), QT(3.3.5.18), QX (3.3.5.27), SRC (3.3.5.19), TH(3.3.5.20) 
  1464.  
  1465.     SAB - Abbreviation of the source of the attribute (Appendix B includes a list of sources and their abbreviations)
  1466.     ATV - Attribute value - described in the specific section of the documentation listed after the attribute name      
  1467.                   above.  A few AN values exceed 1,000 characters.
  1468.  
  1469. 3.4.3.6 Definitions (MRDEF)
  1470.  
  1471.     There is exactly one row in this file for each definition in the Metathesaurus.  A few definitions approach 3000
  1472.     characters in length.
  1473.  
  1474.          CUI |     SAB    |     DEF |
  1475.  
  1476.     CUI -    Unique identifier for concept (3.3.1.1)
  1477.     SAB -    Source abbreviation (Appendix B includes a list of valid values) (3.3.5.1)
  1478.     DEF -    Definition (3.3.3.10)
  1479.  
  1480. 3.4.3.7 Sources (MRSO)
  1481.  
  1482.     There is exactly one row in this file for each source of each string in the Metathesaurus.  All Metathesaurus concepts
  1483.     have entries in this file.
  1484.  
  1485.     CUI    |LUI   |      SUI     |      SAB    |      TTY     |      SCD    |
  1486.  
  1487.     CUI - Unique Identifier for concept (3.3.1.1)
  1488.     LUI - Unique identifier for term (3.3.1.2)
  1489.     SUI - Unique identifier for string (3.3.1.5)
  1490.     SAB - Source abbreviation (Appendix B includes a list of valid values) (3.3.5.1)
  1491.     TTY - Term type in that source (Appendix B includes a list of valid values) (3.3.5.1)
  1492.     SCD - Unique Identifier or code for string in that source (3.3.5.1)
  1493.  
  1494. 3.4.3.8 Semantic Types (MRSTY)
  1495.  
  1496.     There is exactly one two on this file for each semantic type assigned to each concept.  All Metathesaurus concepts
  1497.     have one entry in this file.  Many have more than one entry.
  1498.  
  1499.     CUI | TUI     | STY  |
  1500.  
  1501.     CUI - Unique identifier of concept (3.3.1.1)
  1502.     TUI - Unique identifier of Semantic type (3.3.3.6)
  1503.     STY - Semantic type (3.3.3.6)
  1504.  
  1505. 3.4.3.9 Concept contexts (MRCXT)
  1506.  
  1507.     There are rows in this file for each hierarchical context in which a concept appears in any of the UMLS source
  1508.     vocabularies.  Many Metathesaurus concepts have multiple contexts; many have none.  The number of rows per
  1509.     context differs depending on the number of ancestor, sibling, or child terms the concept has in that context.  Because
  1510.     some concepts have multiple contexts in the same source (e.g., MeSH), a context number (e.g., 1,2,3) is used for all
  1511.     members of the same context.  The majority of the relationships represented in this file are also present in the
  1512.     MRREL file (3.4.3.3).
  1513.  
  1514.     CUI |SUI  |SAB  |SCD  |CXN  |CXL  |RNK  |CXS  |HCD  |REL  |XC  |
  1515.  
  1516.  
  1517.     CUI      -    Unique identifier of concept (3.3.1.1)
  1518.     SUI      -    Unique identifier for string used in this context (3.3.1.5)
  1519.     SAB      -    Source abbreviation (Appendix B contains a list of source abbreviations).
  1520.     SCD      -    Unique identifier or code for string in that source
  1521.     CXN      -    Context number (some concepts have multiple contexts in the same source)
  1522.     CXL      -    Context member label, i.e., ANC for ancestor of this concept, CCP for concept, SIB for sibling of this
  1523.                   concept, CHD for child of this concept.
  1524.     RNK      -    For rows with a CXL value of ANC, the rank of the ancestors (e.g., a value of 1 denotes the most
  1525.                   remote ancestor in the hierarchy)
  1526.     CXS      -    String for context member
  1527.     HCD      -    Hierarchical number or code of context member in this source.  In Meta-1.3, ANC concepts 
  1528.                    have an HCD value only if they belong to a MeSH context.
  1529.     REL      -    Relationship of concept to parent, if applicable and known.  The valid values are the relationships
  1530.                   defined in the Semantic Network.
  1531.     XC       -    For rows with a CXL of CON, SIB or CHD and an SAB of MSH92, plus(+) sign indicating that the
  1532.                   concept has children in this context, if applicable  
  1533.  
  1534. 3.4.3.10 Associated Expressions = MRATX)
  1535.  
  1536.     There is one row in this table for each vocabulary expression (i.e., combination of terms from a specific
  1537.     Metathesaurus source vocabulary) identified as having a identified relationship to a concept in the Metathesaurus. 
  1538.     Relatively few Meta-1.3 entries have Associated Expressions.                             
  1539.  
  1540.  
  1541.  
  1542.     CUI   | SAB     |      REL     |     ATX  |
  1543.  
  1544.     CUI  - Unique identifier of concept to which the expression is related (3.3.1.1)
  1545.     SAB  - Abbreviation of source of terms in expression (Appendix B contains a list of source abbreviations)
  1546.     REL  - Relationship of meaning of expression to main concept (3.3.3.7)
  1547.     ATX  - Associated expression (has a complex internal syntax which is described in 3.3.3.7)
  1548.  
  1549. 3.4.3.11 Locators (File = MRLO)
  1550.  
  1551.     There is one row in this table for each Metathesaurus concept identified as appearing in each of a selected set of a
  1552.     machine-readable information sources.  If the same concept is identified as appearing in more than one of these
  1553.     information sources (e.g., MEDLINE, DXPLAIN, QMR), it will have multiple rows in this table.  Some
  1554.     Metathesaurus entries have no entries in this file.                                                
  1555.     
  1556.        CUI |
  1557.          ISN  |  
  1558.            FR (optional)|
  1559.              UN (optional)|
  1560.                SUI (optional)|
  1561.                  SNA  (optional)|
  1562.                    SOUI (optional)|
  1563.  
  1564.     CUI  -        Unique identifier of concept (3.3.1.1)
  1565.     ISN  -        Name of information source or database in which concept appears (3.3.3.12)
  1566.     FR   -        Frequency count of number of occurrences of concept in the information source, if applicable (3.3.3.12)
  1567.     UN   -        Meaning of frequency (3.3.3.12)
  1568.     SUI  -        Unique identifier of STRing (3.3.1.5) if name used in information source appears in MRCON.  
  1569.     SNA  -   Actual name that occurs in the information source if not otherwise present in the Metathesaurus
  1570.     SOUI -   Unique identifier of record in which the concept appears in source (optional)
  1571.  
  1572. 3.4.3.12 Word index (MRWD)
  1573.  
  1574.     There is one row in this table for each unique string (ignoring upper-lower case) in each language in which each
  1575.     unique word appears.  All Metathesaurus entries have entries in the word index.  
  1576.  
  1577.     LA|   WD     |         CUI  |     LUI |         SUI    |
  1578.  
  1579.  
  1580.     LA  - Language of string in which word appears
  1581.     WD  - Word in lower-case (3.3.6)
  1582.     CUI - Unique identifier for concept (3.3.1.1)
  1583.     LUI - Unique identifier for term (3.3.1.2)
  1584.     SUI - Unique identifier for string (3.3.1.5)
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.                                                                       
  1591.  
  1592.                                                     3.5 Meta-1.3 ASCII UNIT RECORD FORMAT
  1593.  
  1594.  
  1595.  
  1596.   3.5.1  INTRODUCTION
  1597.  
  1598.          In this format, each logical Metathesaurus entry is divided into up to six different ASCII unit records, each
  1599.          comprising a related group of data elements.  The purpose of dividing the logical entries in this fashion is to
  1600.          provide a format that can be loaded relatively easily into non-relational database management systems such as
  1601.          INQUIRE or Model 204.  The unit record format has therefore been structured to avoid:  (1) multiply occurring
  1602.          sub-elements in variable length data elements and (2) multiply occurring data elements with extremely large
  1603.          numbers of occurrences.  In the unit record format, information from up to six related, but different, unit records
  1604.          must be linked to effect a display of a complete logical entry.  The co-occurrence relationships, the used
  1605.          qualifiers and the word index are not represented in the unit record format and must be obtained from the
  1606.          relational format. (See Sections 3.4.3.4, 3.4.3.9, and 3.4.3.10.)
  1607.  
  1608.          There are separate files for each of the different types of unit records.
  1609.  
  1610. 3.5.2  GENERAL DESCRIPTION OF THE UNIT RECORD FORMAT
  1611.  
  1612.          The data for each of the unit records comprising a Metathesaurus entry is stored in the form of a series of
  1613.          contiguous 80-byte segments or card images, the first image being a new record card and the rest being data
  1614.          cards.
  1615.  
  1616.          The format for the new record card is:
  1617.  
  1618.             COLUMNS                  CONTENTS
  1619.  
  1620.             1 - 2                        NR
  1621.                                          <CR><LF>
  1622.  
  1623.          The formats for data cards are:
  1624.  
  1625.             FOR MUCON ONLY       
  1626.          
  1627.             COLUMNS              CONTENTS
  1628.  
  1629.             1 - 3                Element Mnemonic
  1630.             4 - 7                Occurrence No.*
  1631.             8 - 10               Continuation No.
  1632.             11 up to 80          Data
  1633.                                  <CR><LF>                                           
  1634.  
  1635.                                      
  1636.             FOR ALL OTHER FILES
  1637.  
  1638.             COLUMNS             CONTENTS
  1639.  
  1640.             1 - 3               Element Mnemonic
  1641.             4 - 6               Occurrence No.*
  1642.             7 - 9               Continuation No.
  1643.            10 up to 80          Data 
  1644.                                 <CR><LF>
  1645.  
  1646. NOTE:  MUCON has a small number of records with more than 999 occurrences in a single data element.
  1647.  
  1648.          Definitions:
  1649.  
  1650.          NR
  1651.             New Record.  Signals the beginning of data for a unique unit record.  Notice the letters are capital letters.
  1652.  
  1653.          ELEMENT MNEMONIC
  1654.  
  1655.             This stands for a discrete piece of information in the unit record.  For example, DEF indicates a definition.
  1656.  
  1657.          OCCURRENCE NO.
  1658.  
  1659.             Occurrence Number.  The information or data in an element is considered to be a "value."  For example, a
  1660.             single source would be one value occurrence in the unit record.  Three sources would each appear on separate
  1661.             lines with the first six positions SO 001, SO 002, SO 003, respectively.  (The actual values would be given in
  1662.             positions 10 through 80).
  1663.  
  1664.          CONTINUATION NO.
  1665.  
  1666.             Continuation Number.  If a single value requires more than one card, i.e., requires more than 71 characters,
  1667.             additional cards may be used.  
  1668.  
  1669.             The first is labeled 001 in columns 7, 8, and 9, the second 002, etc.
  1670.  
  1671.             DATA
  1672.  
  1673.             Alphanumeric data and special symbols.  The actual value of the data element.  Note that there are no trailing
  1674.             blanks in the data.  Data values less than 71 characters in length are followed immediately by the <CR><LF>
  1675.             (Carriage return;  line feed) indicating the end of the line data.
  1676.  
  1677.     The series of card images or record segments that make up the unit record is introduced by a segment bearing the
  1678.     letters NR in the first two columns.  The next segment is the first data segment, and contains in columns 1 through 3
  1679.     the mnemonic of the unit record element in that segment.  For example, if in a unit record there were data for
  1680.     element SO, then the first segment bearing that data would be punched SOb001001 in the first 9 columns, signifying
  1681.     that it is the first segment (columns 7, 8, and 9) of the first data value (columns 4, 5, and 6) of unit record element
  1682.     SOb (columns 1, 2, and 3).  Columns 1, 2, and 3 would contain SOb for as many segments as are required to
  1683.     complete all the data for that element of the unit record (each segment can carry up to 71 characters of information). 
  1684.     Columns 4, 5, and 6 remain 001 for as many segments as required to complete the first occurrence in the first
  1685.     element.  Columns 7, 8, and 9 change, from 001 to 002, 003, etc., for as many segments as are required to complete
  1686.     the first occurrence in the first element.  Then columns 7, 8, and 9 are reset to 001 for the next occurrence.  There is
  1687.     always a value in columns 7, 8, and 9.  
  1688.  
  1689.     Sub-elements are separated by vertical bars.  If an optional sub-element contains no value, the vertical bars are still
  1690.     used to maintain the correct positioning of the subsequent sub-elements.  The data values have no trailing blanks. 
  1691.     They are followed immediately by <CR><LF>.
  1692.  
  1693.     There are separate files for each of the 6 different types of unit records.  If a single file would exceed 32 megabytes,
  1694.     it is divided into 32 megabyte segments and consecutive numbers are appended to the file names of the segments. 
  1695.   
  1696.  
  1697. 3.5.3  SUMMARY OF THE CONTENTS OF EACH OF THE UNIT RECORD FILES
  1698.  
  1699.     In the following descriptions, a pound sign (#) preceding a data element mnemonic means that the element is
  1700.     mandatory in all records appearing in that file.  An asterisk (*) preceding a data element mnemonic means that the
  1701.     element may have multiple values in a single record.  The numbers in parentheses following each element refer to the
  1702.     section of this documentation that describes the element's contents.  Note that some data items described as logical
  1703.     sub-elements in the conceptual overview are stored as separate elements in the unit record format.
  1704.  
  1705. 3.5.3.l Concept Name File (File=MUCON)
  1706.  
  1707.     There is exactly one of these records for each concept.  The records are sorted by CUI.  A small number of records
  1708.     have more than 999 occurrences in the URC element
  1709.  
  1710.       NR
  1711.     #CUI  Unique identifier for concept (3.3.1.1)
  1712.     #LUI  Unique identifier for term to which the preferred name of the concept belongs (3.3.1.2)
  1713.     #SUI  Unique identifier for string that is the preferred name of the concept (3.3.1.4)
  1714.     #ST   Entry status (3.3.3.1)
  1715.     #STR  String that is the preferred name of the concept (3.3.1.6)
  1716.     #*SO  Vocabulary Source(s) of this string (3.3.5.1)
  1717.     * LT  Lexical tags of the term to which the preferred name belongs (3.3.4.1)
  1718.     *LAT  Language of the term to which the preferred name belongs (3.3.1.4)
  1719.     * SCT Syntactic category/part of speech (3.3.2.2)
  1720.       RN  Chemical Abstracts Registry Number (3.3.3.8)
  1721.     * RR  Chemical Abstracts Registry Number(s) for related chemicals (3.3.3.9)
  1722.       NH  Non-Human Flag (3.3.3.3)
  1723.     * STY Semantic Type (3.3.3.6)
  1724.       
  1725.               TUI of the Semantic Type  |     STY 
  1726.  
  1727.       DEF Definition (3.3.3.10)
  1728.     
  1729.               Abbreviation of Source of text of definition | definition  
  1730.  
  1731.       SOS Scope Statement (3.3.3.23)
  1732.               Abbreviation of source of text of statement | scope statement
  1733.  
  1734.      *SY  Preferred name of synonym of preferred name of concept (3.3.1)
  1735.  
  1736.               LUI of synonym   | LAT of synonym  | SUI of preferred name of synonym | STR of preferred name of synonym
  1737.  
  1738. * REL Related concepts (3.3.2.1)
  1739.  
  1740.     Relationship of related concept to this concept |
  1741.       CUI of related concept| 
  1742.         Relationship attribute|
  1743.           SUI of preferred name of related concept|
  1744.             STR of preferred me of related concept|
  1745.               Abbreviation of source of relationship
  1746.  
  1747.  
  1748.     **CXT Hierarchical context(s) (3.4.2.3)
  1749.  
  1750.         Context number|
  1751.           Source abbreviation|
  1752.             hierarchical code (optional)|
  1753.               relationship to parent in hierarchy (optional)|
  1754.                 string used for concept in source vocabulary 
  1755.  
  1756.     *LO Locations(s) or information sources in which the concept appears (3.4.3.1)
  1757.         Name of information source|
  1758.           Frequency of occurrence (optional)|
  1759.             Meaning of frequency data (optional)|
  1760.               SUI of string used for concept in information source (optional)|
  1761.                 string used for concept in information source (optional)|
  1762.  
  1763.  
  1764.       FR Frequency (3.3.3.24)
  1765.     # DA Date of entry (3.3.3.4)
  1766.     # MR Revision date (3.4.4.5)
  1767.  
  1768. 3.5.3.2  Synonym File (File=MUSY)
  1769.  
  1770.     There is one record for each preferred name of a synonym for a preferred concept name in a reviewed entry.  The
  1771.     records are sorted, in order, by CUI and LUI.  Lexical variants of the preferred name of a synonym appear in the
  1772.     Lexical Variant File, described in 3.5.3.3.
  1773.  
  1774.         NR
  1775.       #CUI Unique identifier of Metathesaurus concept of which this synonym is one name (3.3.1.1)
  1776.       #LUI Unique identifier for synonym term group (3.3.1.2)
  1777.       #SUI Unique identifier of string that is the preferred name of the synonym (3.3.1.5)
  1778.       #STR Preferred name of synonym (3.3.1.7)
  1779.       #*SO Source(s) of the preferred name of synonym (3.3.5.1)
  1780.         LT  Lexical tag(s) (3.3.4.1)
  1781.       #LAT Language of synonym term                   
  1782.  
  1783.  
  1784. 3.5.3.3  Lexical Variant File (File=MULV)
  1785.  
  1786.    There is one record for each unique lexical variant of a preferred name or a preferred synonym name.  The records
  1787.    are sorted, in order, by LUI and SUI.
  1788.  
  1789.         NR
  1790.         #LUI   Unique identifier of the Term to which this string belongs (3.3.1.2)
  1791.         #SUI   Unique identifier of the lexical variant string (3.3.1.5)                       
  1792.         #STR   String (3.3.1.7)
  1793.         #STT   String Type (3.3.1.6)                               
  1794.         AM     Ambiguous string indicator (3.3.5.2)                
  1795.         #*SO   Source(s) of this lexical variant string (3.3.5.1)
  1796.  
  1797. 3.5.3.4  Expanded Context File (3.3.3.11) (File=MUCXE)
  1798.  
  1799.    There is one record for each hierarchical context for the concept.  The records are sorted, in order, by CUI, SAB,
  1800.    CXN, and HCD.
  1801.  
  1802.        NR
  1803.    #CUI       Unique identifier of concept (3.4.1.1)
  1804.    #SUI       Unique identifier of preferred name of the concept in the source of this context
  1805.    #SCD       Unique identifier or code for string in that source
  1806.    #SAB       Abbreviation of source of context
  1807.    #CXN       Context number
  1808.     HCD       Hierarchical number
  1809.    *ANC       Ancestor terms in this hierarchy, in order from most remote to nearest 
  1810.                                   
  1811.          Ancestor TERM|
  1812.            Relationship to parent (optional)|
  1813.              hierarchical code for ancestor (if present)
  1814.  
  1815.    #STR  String that names the concept in source of context
  1816.  
  1817.            Term|Relationship to parent (optional)
  1818.  
  1819.   * CHD Children in this hierarchy
  1820.            Child TERM|Relationship to parent (optional)|
  1821.              hierarchical code for child (if present)|
  1822.                indication that term has children (optional)
  1823.  
  1824.    * SIB   Sibling terms in this hierarchy
  1825.  
  1826.            Sibling TERM|
  1827.              Relationship to parent (optional)|
  1828.                hierarchical code for sibling (if present)|
  1829.                  indication that term has children (optional)
  1830.      
  1831. 3.5.3.5  Associated Expression File (3.3.3.7) (File=MUATX)
  1832.  
  1833.    There is one record for each MeSH or LC(TQ, GQ, LQ, FQ) expression that has been designated as having a
  1834.    relationship to the concept.  Note:  these expressions identify combinations of MeSH or LC(TQ, GQ, LQ, FQ) terms
  1835.    that are related to the concept.  In some cases, the syntax of the expression in the Metathesaurus contains punctuation
  1836.    that must be removed before the expression can be used as a search statement.  In some cases, the parentheses must
  1837.    be removed and the expression divided into multiple search statements.  Often, the terms in the expression must be
  1838.    "exploded" to achieve the desired search result.  See Section 3.3.3.7 for an explanation of the internal syntax of ATX. 
  1839.    The records are sorted by CUI.
  1840.  
  1841.      NR
  1842.    #CUI       Unique identifier of concept
  1843.    #ATX       Vocabulary expression
  1844.    #SAB       Abbreviation of source vocabulary in expression.
  1845.    #REL       Relationship to term
  1846.  
  1847.  3.5.3.6  MeSH Data Elements File (File=MUME)
  1848.  
  1849.    There is one record for each MeSH concept.  The data elements present in each record depend on the type of MeSH
  1850.    term, i.e., descriptor (MH), qualifier (TQ, GQ, LQ, FQ,), or chemical term (NM).  In the listing below, the term type
  1851.    abbreviations following the element mnemonic and documentation reference indicate which elements will be present
  1852.    for each type of MeSH heading.  The records are sorted by CUI.
  1853.  
  1854.      NR
  1855.    #CUI       Unique identifier for concept in the Metathesaurus
  1856.    #DUI         MeSH descriptor, subheading, or chemical term UI (3.4.4.1) - MH, TQ, GQ, LQ, FQ, NM
  1857.      AN                 (3.3.3.14) - MH, TQ, GQ, LQ, FQ
  1858.     *AQ                 (3.3.3.16) - MH
  1859.      CX                 (3.3.5.24) - MH
  1860.      DC                 (3.3.5.3)  - MH
  1861.      DE                 (3.3.5.21) - MH
  1862.      DQ                 (3.3.5.4)  - TQ, GQ, LQ, FQ
  1863.      DS                 (3.3.5.5)  - MH, TQ, GQ, LQ, FQ
  1864.      DX                 (3.3.5.6)  - MH
  1865.      DY                 (3.3.5.7)  - MH
  1866.      EC                 (3.3.5.22) - MH
  1867.      EV                 (3.3.5.23) - MH
  1868.      GC                 (3.3.5.8)  - MH
  1869.      GM                 (3.3.5.25) - MH, TQ
  1870.      HN                 (3.3.3.15) - MH
  1871.      II                 (3.3.3.17) - MH
  1872.      LA                 (3.3.5.9)  - MH
  1873.      LU                 (3.3.5.10) - TQ, GQ, LQ, FQ
  1874.     M66                 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
  1875.     M72                 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
  1876.     M77                 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
  1877.     M80                 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
  1878.     M83                 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
  1879.     M86                 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
  1880.     MDA                 (3.3.5.11) - MH, TQ, GQ, LQ, FQ, NM
  1881.     MED                 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
  1882.     MMR                 (3.3.5.12) - MH, TQ, GQ, LQ, FQ, NM
  1883.     MN                  (3.3.5.28) - MH
  1884.     OL                  (3.3.3.19) - MH, TQ, GQ, LQ, FQ
  1885.     *PA                 (3.3.9.20) - NM
  1886.     *PI                 (3.3.3.21) - MH, TQ, GQ, LQ, FQ, NM
  1887.     PM                  (3.3.3.22) - MH
  1888.     PX                  (3.3.5.14) - MH, TQ
  1889.     QA                  (3.3.5.15) - TQ, GQ, LQ, FQ
  1890.     QE                  (3.3.5.26) - TQ, GQ, LQ, FQ
  1891.     QG                  (3.3.5.16) - TQ, GQ, LQ, FQ
  1892.     QS                  (3.3.5.17) - TQ, GQ, LQ, FQ
  1893.     QT                  (3.3.5.18) - TQ, GQ, LQ, FQ
  1894.     QX                  (3.3.5.27) - TQ, GQ, LQ, FQ
  1895.     SRC                 (3.3.5.19) - NM
  1896.     *TH                 (3.3.5.20) - MH, NM
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.                                                                       
  1903.                                             3.8 FILES IDENTIFYING DIFFERENCES BETWEEN THE CURRENT
  1904.                                                  AND PREVIOUS EDITIONS OF THE METATHESAURUS
  1905.  
  1906.  
  1907. 3.8.1 INTRODUCTION
  1908.  
  1909. There are four files or relations that identify the key differences between reviewe entries in Meta-1.2 and Meta-1.1. 
  1910. Since they are relational format, they are in the subdirectory called CHANGE in METAR directory on the ISO 9660
  1911. disc.  These files identify concepts and terms that appeared, disappeared, or changed their basic status between the
  1912. current and previous editions of the Metathesaurus data into their applications can use these special files to determine
  1913. whether there have been changes that affect their applications.
  1914.  
  1915. It is unlikely that any single developer will need to use all of these files.  The usefulness of individual files will depend
  1916. on how data from the Metathesaurus have been linked or incorporated in a particular application.  The files described in
  1917. subsections 3.7.3.1 , and 3.7.3.2, identify deletions in the concepts included in the Metathesaurus.  The files described in
  1918. Subsections 3.7.3.3, and 3.7.3.4, identify deletions of terms in the Metathesaurus.  (A preferred name and all of its
  1919. lexical variants form a term.)
  1920.  
  1921. 3.8.2 GENERAL DESCRIPTION OF THE FILES
  1922.  
  1923. Each relation or named table of data has a fixed number of columns and variable number of rows.  A column is a
  1924. sequence of all the values in a given data element.  A row contains the values for two or more data elements for one
  1925. entry.  The values for the different data elements in the row are separated by vertical bars (|).  Each row is terminated by
  1926. a vertical bar and a carriage return followed by a line feed.
  1927. |<CR><LF>.
  1928.  
  1929. 3.8.3. SUMMARY OF CONTENT OF EACH FILE
  1930.  
  1931. In the following descriptions, the numbers in parentheses beneath an element refer to the section of the conceptual
  1932. overview of the Metathesaurus that describes the element's contents.
  1933.  
  1934. 3.8.3.1. DELETED CONCEPTS (Files=DELETED.CON
  1935.  
  1936. There is exactly one row in this table for each reviewed concept that was present in Meta-1.1 and is not present in Meta-
  1937. 1.2.  Most entries in this file represent terms that should not have appeared as separate concepts in Meta-1.1.
  1938.  
  1939. Cols.
  1940.  
  1941. UI in Meta-1.1 |     Preferred name in Meta-1.1
  1942. in format
  1943. MC#######
  1944.  
  1945. 3.8.3.2 MERGED CONCEPTS (File=MERGED.CON
  1946.  
  1947. There is exactly one row in this table for each reviewed concept from Meta-1.1 that was merged with a different concept
  1948. in Meta-1.2.  Entries in this file represent concepts that were considered distinct in Meta-1.1, but are now identified as
  1949. synonyms of other concepts.
  1950.  
  1951. Cols.
  1952.  
  1953. UI in Meta-1.1 |     CUI in Meta-1.2     |
  1954. in format
  1955. MC#######
  1956.  
  1957. 3.8.3.3 DELETED TERMS (File=DELETED.TG)
  1958.  
  1959. There is exactly one row in this table for each term that appeared in a reviewed entry in Meta-1.1, but does not appear in
  1960. a reviewed entry in Meta-1.2.  An entry in this file signifies that a term (in any of its lexical variations) that appeared in
  1961. Meta-1 has been deleted, and the unique identifier for the term has also been deleted.  Again this does not necessarily
  1962. imply the deletion of a concept from the Metathesaurus.
  1963.  
  1964. Cols.
  1965.  
  1966. Meta-1.1  |     Preferred Name         |
  1967. LUI            of Term in Meta-1.1
  1968.  
  1969. 3.8.3.4 MERGED TERMS (File=MERGED.TG)
  1970.  
  1971. There is exactly one row in this file for each case in which two terms that were identified as distinct in Meta-1.1 are
  1972. designated in Meta-1.2 as lexical variants of each other.  One of the LUIs present in Meta-1.1 is therefore absent from
  1973. Meta-1.2.  These entries represent lexical variants that were not identified as such in Meta-1.1 and have been fixed for
  1974. Meta-1.2.
  1975.  
  1976. Cols.
  1977.  
  1978. LUI in Meta-1.1 that             |     LUI in Meta-1.2 into     |
  1979. is not present in Meta-1.2             which it was merged
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  APPENDIX B
  1986.  
  1987.  I. SOURCE ABBREVIATIONS     
  1988.  
  1989.  
  1990.  
  1991.  
  1992. ACR92 -       Index for radiological diagnoses:  including diagnostic ultrasound.  Rev. 3rd ed.  Reston (VA):  American
  1993.               College of Radiology; 1986.  
  1994.  
  1995. AIR92 -       AI/RHEUM. Bethesda, (MD):  National Library of Medicine, 1992.
  1996.  
  1997. COS92 -       COSTAR (Computer-Stored Ambulatory Records) of General Hospital, 1992. - (List of terms that occur
  1998.               frequently at 3 COSTAR sites, supplied by Massachusetts General Hospital)
  1999.  
  2000. CPT89 -       Physicians' current procedural  terminology:  CPT.  4th ed.  Chicago (IL):  American Medical Association;
  2001.               1989.  
  2002.  
  2003. CST89 -       COSTART:  coding symbols for thesaurus of adverse reaction terms.  Rockville (MD):  Food and Drug
  2004.               Administration, Center for Drug Evaluation and Research; 1989.
  2005.  
  2006. CSP91 -       CRISP thesaurus.  Bethesda (MD):  National Institutes of Health, Division of Research Grants, Research
  2007.               Documentation Section; 1991.  
  2008.  
  2009. DSM3R -       Diagnostic and statistical manual of mental disorders:  DSM-III-R.  3rd ed. rev.  Washington (DC):
  2010.               American Psychiatric Association; 1987.  
  2011.  
  2012. DXP92 -       DXplain, an expert diagnosis program, developed by Massachusetts General Hospital.
  2013.  
  2014. ICD89 -       The international Classification of Diseases:  9th revision, Clinical Modification:  ICD-9-CM.  3rd ed.
  2015.               Washington (DC):  Health Care Financing Administration; 1989.
  2016.  
  2017. ICD91 -       The International Classification of Diseases:  9th revision, Clinical Modification:  ICD-9-CM.  4th ed. 
  2018.               Washington (DC):  Health Care Financing Administration; 1991.  
  2019.  
  2020. INS93 -       Thesaurus Biomedical Francais/Anglais.  [French translation of MeSH].  Paris: Institut National de la Sante
  2021.               et Recherche Medicale, 1993.
  2022.  
  2023. LCH90 -       Library of Congress subject headings.  12th ed.  Washington (DC):  Library of Congress; 1989.  
  2024.  
  2025. MCM92 -       List of epidemiology terms submitted by McMaster University
  2026.  
  2027. MSH93 -       Medical subject headings.  Bethesda (MD):  National Library of Medicine; 1993.
  2028.  
  2029. MTH   -       UMLS Metathesaurus            
  2030.  
  2031. NAN90 -       Carroll-Johnson, Rose Mary, editor.  Classification of nursing diagnoses: proceedings of the 9th conference;
  2032.               1990 Mar; Orlando, FL.  Philadelphia:  Lippincott; 1991.  
  2033.  
  2034. NIC92 -       McCloskey, Joanne C.; Bulechek, Gloria M., editors.  Nursing interventions classification (NIC):  Iowa
  2035.               intervention project.  St. Louis (MO):  Mosby-Year Book; 1992.  
  2036.  
  2037. SNM2 -        Cote, Roger A., editor.  Systematized nomenclature of medicine.  2nd ed.  Skokie (IL):  College of
  2038.               American Pathologists; 1979. 
  2039.               SNOMED update, 1982.  Skokie (IL):  College of American Pathologists; 1982.  
  2040.  
  2041.               [NOTE:  SNOMED III (1993) will begin to appear in the Metathesaurus in 1994.]
  2042.  
  2043. UMD91 -       Universal medical device nomenclature system:  product category thesaurus.  Plymouth Meeting (PA): ECRI;
  2044.               1991.  
  2045.  
  2046. UWA92 -       Bowden Douglas M., Martin Richard F., Dubach Joev G.  Neuronames, 1991.  Seattle; University of
  2047.               Washington, Primate Information Center.  [Additional relationships supplied by Brigham and Women's
  2048.               Hospital in 1992.]
  2049.  
  2050.  
  2051.  
  2052.  APPENDIX B
  2053.  
  2054.  II.  ENTITY TYPE ABBREVIATIONS
  2055.  
  2056. NOTE:  In the following list "term" is used in the sense that it is used in the relevant source vocabulary.  By the
  2057. Metathesaurus definition, all the entity types are strings. 
  2058.  
  2059.  
  2060. AB          -           Abbreviation in any source vocabulary
  2061. CE          -           Entry "term" to MeSH Supplementary Chemical "Term"
  2062. DI          -           AI/RHEUM Disease Name
  2063. DT          -           Definitional term, present in the Metathesaurus because of its connection to a Dorland's definition
  2064.                         or to a definition created especially for the Metathesaurus.
  2065. EA          -           Expanded CPT abbreviation - these exact terms do not appear in CPT;  the expansion was done to
  2066.                         assist in lexical matching used to construct Meta-1
  2067. EN          -           MeSH Non-Print entry "term"
  2068. EP          -           MeSH Print entry "term"
  2069. ET          -           MeSH entry "term"
  2070. FI          -           AI/RHEUM Finding Name
  2071. FQ          -           MeSH Form Qualifier
  2072. GQ          -           MeSH Geographic Qualifier
  2073. GT          -           COSTART Glossary "term"
  2074. IT          -           Index "term", i.e., derived from the index to any non-MeSH source vocabulary
  2075. LQ          -           MeSH language qualifier
  2076. LV          -           Lexical variant created to assist in Metathesaurus construction
  2077. MH          -           MeSH Main Heading
  2078. MM          -           Metathesaurus string created to distinguish different meanings of the same lexical string.
  2079. NM          -           MeSH Supplementary Chemical "Term", a name of a substance
  2080. N1          -           Chemical Abstracts Service Type 1 name of a chemical
  2081. PM          -           Machine permutation of a MeSH "term"
  2082. HT          -           Hierarchical term; in MeSH a "(Non MeSH)" term established to allow an accurate hierarchy, but
  2083.                         not assigned in indexing.  A MTH/HT is a string created to facilitate Metathesaurus mapping by
  2084.                         dropping the "(Non MeSH)" from a MSH/HT.
  2085. PT          -           Designated Preferred name in any non-MeSH source vocabulary
  2086. RT          -           Designated Related "Term" in any source vocabulary
  2087. RX          -           Alternate name of preferred name in SNOMED
  2088. TQ          -           MeSH topical qualifier
  2089. TT          -           ICD-9-CM Table Term
  2090. SY          -           Designated Synonym in any non-Mesh source vocabulary
  2091.  
  2092.  
  2093.  APPENDIX B
  2094.  
  2095.  III. ORDER OF PRECEDENCE
  2096.  
  2097.  
  2098.  
  2099. NOTE:  The precedence of an MTH|MM (e.g., Cold <1>) varies.  It immediately precedes in order the highest ranking
  2100. Source|Entity of the ambigous string that caused it to be created.
  2101.  
  2102.    
  2103. MTH|HT
  2104. MSH93|MH  
  2105. MSH93|HT  
  2106. MSH93|TQ  
  2107. MSH93|FQ  
  2108. MSH93|GQ  
  2109. MSH93|LQ  
  2110. MSH93|EP  
  2111. MSH93|EN  
  2112. MSH93|NM  
  2113. MSH93|N1  
  2114. MSH93|CE  
  2115. DSM3R|PT  
  2116. SNM2|PT   
  2117. SNM2|RT
  2118. SNM2|SY 
  2119. SNM2|RX 
  2120. UWA/PT
  2121. CST89|PT  
  2122. CST89|GT  
  2123. AIR92|HT  
  2124. AIR92|FI  
  2125. AIR92|DI  
  2126. AIR92|SY  
  2127. ICD91|PT  
  2128. ICD89|PT
  2129. CPT89|PT  
  2130. DSM3R|HT  
  2131. SNM2|HT   
  2132. ICD91|HT  
  2133. CPT89|HT 
  2134. NIC92|PT
  2135. NIC92|SY  
  2136. NIC92|RT  
  2137. NAN90|PT  
  2138. NAN90|SY  
  2139. COS92|PT  
  2140. COS89|PT  
  2141. DXP92|PT  
  2142. MCM92|PT    
  2143. MCM92|RT    
  2144. MTH|PT    
  2145. DSM3R|SY  
  2146. DSM3R|RT  
  2147. ICD91|IT  
  2148. ICD89|IT  
  2149. ICD91|TT  
  2150. LCH90|PT  
  2151. ACR92|PT  
  2152. ICD89|AB  
  2153. CPT89|AB  
  2154. CPT89|EA  
  2155. MSH93|PM  
  2156. CSP92|PT  
  2157. CSP92|SY  
  2158. CSP92|RT  
  2159. UMD91|PT  
  2160. MTH|DT
  2161. DOR27|DT
  2162. INS93|MH
  2163. INS93|SY
  2164. /*  wi.c - program for generating the word index for the
  2165.     UMLS Metathesaurus.
  2166.  
  2167.     To create an executable that can be run from the
  2168.     command line, use the following command:
  2169.  
  2170.     cc -o wi -DWI_MAIN wi.c
  2171.  
  2172.     This creates the program "wi" that supports the
  2173.     following options:
  2174.  
  2175.     -t  Specifies the field number of the term
  2176.         Default is 1.
  2177.     -o  Specifies which fields are to be output
  2178.         in addition to the words.  Note that the
  2179.         word generated is always the last field.
  2180.         The -o option can be multiply specified.
  2181.         The output will contain these fields in
  2182.         the order specified.  Default is no
  2183.         additional fields.
  2184.     -f  Specifies an alternate field separator.
  2185.         Default is '|'.
  2186.     -h  Produces a brief usage message.
  2187.  
  2188.     Example:
  2189.  
  2190.     wi -t7 -o2 -o7 -o1
  2191.  
  2192.     Splits the 7th field into words and includes in
  2193.     the output, the fields 2, 7, and 1 followed by
  2194.     a word, in that order.
  2195.  
  2196.     If the -DWI_MAIN is not specified and this file is
  2197.     compiled with -c, the function char **generate_words()
  2198.     is available for linking.
  2199.  
  2200.     cc -c wi.c
  2201.  
  2202.     This function is passed two arguments: the first
  2203.     pointing to the term (char *) and the second
  2204.     (int *) in which is returned the number of words
  2205.     generated.  The function returns a pointer to the
  2206.     words.
  2207. */
  2208.  
  2209. /*
  2210.  
  2211. RULES:
  2212.  
  2213. For the word index, the following rules define what
  2214. is a word.
  2215.  
  2216. -   All runs of alphanumeric characters constitute a word.
  2217.  
  2218. -   In general, whitespace and punctuation constitute word
  2219.     delimiters and are deleted with the following exceptions:
  2220.  
  2221.     1.    Terms ending in "<D>" where D is any digit
  2222.     (multi-meaning symbol) will have the '<' and '>'
  2223.     characters retained as part of the word.
  2224.  
  2225.     For example:
  2226.  
  2227.         Baseball <1> -> baseball|<1>|
  2228.  
  2229.     2.    Embedded commas are part of the word if they are
  2230.     surrounded by digits, or have a single letter or one
  2231.     or more primes before the digit to its left.  In other
  2232.     words, they satisfy one of these regular expressions:
  2233.  
  2234.         [0-9]'*,[0-9]
  2235.         [0-9][A-Za-z],[0-9]
  2236.  
  2237.     In such a case, the entire word as well as subwords
  2238.     resulting from splitting on the commas are output.
  2239.     For example:
  2240.  
  2241.         1,3-diazol -> 1,3|1|3|diazol|
  2242.         12a,12b-dodecahedro -> 12a,12b|12a|12b|dodecahedro|
  2243.         2,2',2''-trichlorotriethylamine ->
  2244.         2,2',2''|2|2'|2''|trichlorotriethylamine|
  2245.  
  2246.     3.    Primes (quotes) are kept as part of the word.  When they
  2247.     mark the possessive an additional word with the possessive
  2248.     marker stripped is also generated.  Words with leading and
  2249.     final quotes have these removed.
  2250.     Examples:
  2251.  
  2252.         2,2'-Dipyridyl -> 2,2'|2|2'|dipyridyl|
  2253.         6'''-deamino-6'''-hydroxyneomycin B ->
  2254.         6'''|deamino|hydroxyneomycin|b|
  2255.         Guanidine, N-cyano-N',N''-dimethyl- ->
  2256.         guanidine|n|cyano|n'|n''|dimethyl
  2257.         American Nurses' Association ->
  2258.         american|nurses'|nurses|association|
  2259.         Fanconi's Anemia -> fanconi's|fanconi|anemia|
  2260.         scorpion toxin I'' -> scorpion|toxin|i''|
  2261.         Spasmex ''Maestretti'' -> spasmex|maestretti|
  2262.  
  2263.     4.    Periods are considered part of the word if they are not in
  2264.     the first character position.  If any period in a word is
  2265.     surrounded by digits, then the output contains the word with
  2266.     the period(s), and all (non-null) subwords resulting from
  2267.     breaking on the periods.  For example:
  2268.  
  2269.         BM 15.075 -> bm|15.075|15|075|
  2270.  
  2271.     If all periods in the word do not have digits on either side,
  2272.     the output consists of the word with the period as well as
  2273.     the word with the periods removed.  For example:
  2274.  
  2275.         Washington, D.C. -> washington|d.c.|dc|
  2276.         Support, Non-U.S. Gov't -> support|non|u.s.|us|gov't|
  2277.  
  2278.     5.    Asterisks will be part of the word, for example,
  2279.  
  2280.         2,3-Octadecanediol, (R*,S*)-(+-)- ->
  2281.         2,3|2|3|octadecanediol|r*|s*|
  2282.  
  2283. -   All uppercase letters are converted to lowercase on output.
  2284.  
  2285. -   No stopwords are used.
  2286.  
  2287. The resulting list of words for a given term contains no duplicates in
  2288. the word index.
  2289.  
  2290. */
  2291.  
  2292. #include <stdio.h>
  2293. #include <string.h>
  2294. #include <malloc.h>
  2295.  
  2296. static char sccs_id[] = "%W%    %G%";
  2297.  
  2298. #define UMLS_WI_DEFAULT_ALLOCATION 256
  2299. #define UMLS_WI_FS '|'
  2300. #define NEWLINE '\n'
  2301. #define EOS '\0'
  2302. #define ASTERISK '*'
  2303. #define OPEN_ANGLE '<'
  2304. #define CLOSE_ANGLE '>'
  2305. #define COMMA ','
  2306. #define PERIOD '.'
  2307. #define APOSTROPHE '\''
  2308. #define PRIME '\''
  2309. #define QUOTE '\''
  2310.  
  2311. extern int getopt();
  2312.  
  2313. /* function prototypes */
  2314. char **generate_words();
  2315. static int break_out_quotes();
  2316. static int break_out_commas();
  2317. static int break_out_periods();
  2318. static int is_in_table();
  2319. static int put_in_table();
  2320. static int tokenize();
  2321. static void *realloc_buf();
  2322. static void strip_char();
  2323. static void llip();
  2324.  
  2325. /* statics */
  2326. static int n_charBuf = 0;
  2327. static int a_charBuf = 0;
  2328. static char *charBuf = (char *)NULL;    /* buffer for all strings. */
  2329.  
  2330. static int n_tokenBuf = 0;
  2331. static int a_tokenBuf = 0;
  2332. static int *tokenBuf = (int *)NULL;    /* contains all tokens */
  2333.  
  2334. static int n_outBuf = 0;
  2335. static int a_outBuf = 0;
  2336. static int *outBuf = (int *)NULL;
  2337.  
  2338. static char **ptrBuf = (char **)NULL;
  2339. static int n_ptrBuf = 0;
  2340. static int a_ptrBuf = 0;
  2341.  
  2342. /* used if compiling the program wi */
  2343.  
  2344. #ifdef WI_MAIN
  2345. static void wi_usage();
  2346. static int *get_fields();
  2347.  
  2348. /* MAIN */
  2349. main(argc, argv)
  2350. int    argc;
  2351. char    *argv[];
  2352. {
  2353.     static char *lineBuf = (char *)NULL;
  2354.     static int n_lineBuf = 0;
  2355.     static int a_lineBuf = 0;
  2356.     static int *oBuf = (int *)NULL;
  2357.     static int n_oBuf = 0;
  2358.     static int a_oBuf = 0;
  2359.  
  2360.     int tf = 0;
  2361.     char fs = UMLS_WI_FS;
  2362.     int c;
  2363.     int numF, numW, i, j;
  2364.     int *fields;
  2365.     char **wp;            /* words */
  2366.  
  2367.     extern int optind;
  2368.     extern char *optarg;
  2369.  
  2370. /* get user options */
  2371.     while ((c = getopt(argc, argv, "o:f:t:h")) != (-1))
  2372.     {
  2373.     switch (c)
  2374.     {
  2375.         case 'o':        /* output option */
  2376.         if (n_oBuf >= a_oBuf)
  2377.             if ((oBuf = (int *) realloc_buf((void *)oBuf, sizeof(int),
  2378.                 n_oBuf, &a_oBuf, (int)1,
  2379.                 UMLS_WI_DEFAULT_ALLOCATION)) ==
  2380.                 (int *)NULL)
  2381.             return(2);
  2382.         *(oBuf+n_oBuf++) = atoi(optarg)-1;
  2383.         break;
  2384.         case 'f':        /* field separator */
  2385.         fs = *optarg;
  2386.         break;
  2387.         case 't':        /* term field */
  2388.         tf = atoi(optarg)-1;    /* change to 0-indexed */
  2389.         break;
  2390.         default:
  2391.         wi_usage(argv[0]);
  2392.         return(2);
  2393.     }
  2394.     }
  2395.     while ((c = getchar()) != EOF)
  2396.     {
  2397.     if (n_lineBuf >= a_lineBuf)
  2398.         if ((lineBuf = (char *) realloc_buf((void *) lineBuf,
  2399.             sizeof(char), n_lineBuf, &a_lineBuf, (int)1,
  2400.             UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
  2401.         return(2);
  2402.     if (c == NEWLINE)
  2403.     {
  2404.         lineBuf[n_lineBuf] = EOS;
  2405.         if ((fields = get_fields(lineBuf, fs, &numF)) == (int *)NULL)
  2406.         continue;
  2407.         for (i=0; i<numF; i++)
  2408.         *(lineBuf + *(fields+2*i) + *(fields+(2*i+1))) = EOS;
  2409.  
  2410. /* generate words for term */
  2411.         if ((wp = generate_words(lineBuf + *(fields+2*tf), &numW)) ==
  2412.             (char **)NULL)
  2413.         continue;
  2414.  
  2415. /* output words */
  2416.         for (i=0; i<numW; i++)
  2417.         {
  2418.         for (j=0; j<n_oBuf; j++)
  2419.             printf("%s%c", lineBuf + *(fields+2*(*(oBuf+j))),
  2420.                 UMLS_WI_FS);
  2421.         printf("%s\n", *(wp+i));
  2422.         }
  2423.         n_lineBuf = 0;
  2424.     }
  2425.     else
  2426.         lineBuf[n_lineBuf++] = (char)c;
  2427.     }
  2428.     return(0);
  2429. }
  2430.  
  2431. /*  breaks a line into fields and returns an integer array
  2432.     such that a[2*n]=start offset and a[2*n+1] = length of
  2433.     the n'th field.
  2434. */
  2435. static int
  2436. *get_fields(line, sep, numF)
  2437.     char *line;            /* line to be broken up */
  2438.     char sep;            /* separator char */
  2439.     int *numF;            /* number of fields */
  2440. {
  2441.     static int n_fieldBuf = 0;
  2442.     static int a_fieldBuf = 0;
  2443.     static int *fieldBuf = (int *)NULL;
  2444.  
  2445.     int start;
  2446.     int length;
  2447.     char *lp;
  2448.  
  2449.     for (start=0, n_fieldBuf=0, length=0, lp=line, *numF = 0; *lp != EOS; lp++)
  2450.     {
  2451.     if (*lp == sep)
  2452.     {
  2453.         if (n_fieldBuf >= a_fieldBuf)
  2454.         if ((fieldBuf = (int *) realloc_buf((void *)fieldBuf,
  2455.             sizeof(int), n_fieldBuf,
  2456.             &a_fieldBuf, (int)1, UMLS_WI_DEFAULT_ALLOCATION)) ==
  2457.             (int *)NULL)
  2458.             return((int *)NULL);
  2459.  
  2460.         *(fieldBuf + 2*n_fieldBuf) = start;
  2461.         *(fieldBuf + 2*n_fieldBuf + 1) = length;
  2462.         start = lp-line+1;
  2463.         length = 0;
  2464.         n_fieldBuf++;
  2465.     }
  2466.     else
  2467.         length++;
  2468.     }
  2469.     
  2470.     if (n_fieldBuf >= a_fieldBuf)
  2471.     if ((fieldBuf = (int *) realloc_buf((void *)fieldBuf, sizeof(int),
  2472.             n_fieldBuf, &a_fieldBuf, (int)1,
  2473.             UMLS_WI_DEFAULT_ALLOCATION)) == (int *)NULL)
  2474.             return((int *)NULL);
  2475.  
  2476.         *(fieldBuf + 2*n_fieldBuf) = start;
  2477.         *(fieldBuf + 2*n_fieldBuf + 1) = length;
  2478.     n_fieldBuf++;
  2479.     *numF = n_fieldBuf;
  2480.     return(fieldBuf);
  2481. }
  2482.  
  2483. static void
  2484. wi_usage(prog)
  2485.     char *prog;
  2486. {
  2487.     fprintf(stderr, "Usage: %s [-o field]... [-f sep] [-t field] [-h]\n\n",
  2488.         prog);
  2489.     fprintf(stderr, "The \"words\" are output one per line.\n\n");
  2490.     fprintf(stderr, "  -o field to be copied to output in order.\n");
  2491.     fprintf(stderr, "     Can be multiply specified. Default is none.\n");
  2492.     fprintf(stderr, "  -f field separator (default is '%c').\n", UMLS_WI_FS);
  2493.     fprintf(stderr, "  -t field containing the term to be split.\n");
  2494.     fprintf(stderr, "     The default is 1.\n\n");
  2495.     fprintf(stderr, "For example:\n\n");
  2496.     fprintf(stderr, "  wi -o2 -o1 -t2\n\n");
  2497.     fprintf(stderr, "outputs the second field, the first field followed by\n");
  2498.     fprintf(stderr, "the word resulting from breaking up the second field.\n");
  2499.     return;
  2500. }
  2501. #endif /* WI_MAIN */
  2502.  
  2503. /* given a term, generates all words from it */
  2504. char **
  2505. generate_words(term, n_words)
  2506.     char *term;
  2507.     int *n_words;
  2508. {
  2509.     int i;
  2510.  
  2511.     n_charBuf = n_tokenBuf = n_outBuf = n_ptrBuf = 0;
  2512.     if ((charBuf = (char *)realloc_buf((void *)charBuf, sizeof(char),
  2513.         n_charBuf, &a_charBuf, strlen(term)+1,
  2514.         UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
  2515.     return((char **)NULL);
  2516.     strcpy(charBuf, term);
  2517.     n_charBuf += strlen(term)+1;
  2518.  
  2519. /* insert NULs at token breaks and set pointers to the start of tokens */
  2520.     if (!tokenize(charBuf))
  2521.     return((char **)NULL);
  2522.  
  2523. /* initialize table containing words already output */
  2524.     if ((outBuf = (int *) realloc_buf((void *)outBuf, sizeof(int),
  2525.         n_outBuf, &a_outBuf, n_tokenBuf,
  2526.         UMLS_WI_DEFAULT_ALLOCATION)) == (int *)NULL)
  2527.     return((char **)NULL);
  2528.  
  2529.     for (i=0; i<n_tokenBuf; i++)
  2530.     {
  2531.     if (!is_in_table(*(tokenBuf+i)))
  2532.     {
  2533.         if (n_outBuf >= a_outBuf)
  2534.         if ((outBuf = (int *) realloc_buf((void *)outBuf, sizeof(int),
  2535.             n_outBuf, &a_outBuf, (int)1,
  2536.             UMLS_WI_DEFAULT_ALLOCATION)) == (int *)NULL)
  2537.             return((char **)NULL);
  2538.         if (!put_in_table(*(tokenBuf+i)))
  2539.         return((char **)NULL);
  2540.  
  2541.         if (!break_out_quotes(*(tokenBuf+i)))
  2542.         return((char **)NULL);
  2543.         if (!break_out_commas(*(tokenBuf+i)))
  2544.         return((char **)NULL);
  2545.         if (!break_out_periods(*(tokenBuf+i)))
  2546.         return((char **)NULL);
  2547.     }
  2548.     }
  2549.     *n_words = n_outBuf;
  2550.  
  2551. /* load ptrBuf and lowercase words */
  2552.     for (i=0; i<n_outBuf; i++)
  2553.     {
  2554.     if (n_ptrBuf >= a_ptrBuf)
  2555.         if ((ptrBuf = (char **)realloc_buf((void *)ptrBuf, sizeof(char *),
  2556.             n_ptrBuf, &a_ptrBuf, (int)1,
  2557.             UMLS_WI_DEFAULT_ALLOCATION)) == (char **)NULL)
  2558.         return((char **)NULL);
  2559.     *(ptrBuf+n_ptrBuf) = charBuf + *(outBuf+i);
  2560.     llip(*(ptrBuf+n_ptrBuf));
  2561.     n_ptrBuf++;
  2562.     }
  2563.     return(ptrBuf);
  2564. }
  2565.  
  2566. /* Inserts NULs where tokens break and sets the tokens array.
  2567. */
  2568. static int
  2569. tokenize(term)
  2570.     char *term;
  2571. {
  2572.     register int current = 0;
  2573.     int start = 0;
  2574.     int inToken = 0;        /* started building token */
  2575.  
  2576.     while (*(term+current) != EOS)
  2577.     {
  2578.     if (isalnum(*(term+current)) || *(term+current) == QUOTE)
  2579.     {
  2580.         if (!inToken)
  2581.         {
  2582.         inToken = 1;
  2583.         start = current;
  2584.         if (n_tokenBuf >= a_tokenBuf)
  2585.         {
  2586.             if ((tokenBuf = (int *) realloc_buf((void *)tokenBuf,
  2587.                 sizeof(int), n_tokenBuf, &a_tokenBuf, (int)1,
  2588.                 UMLS_WI_DEFAULT_ALLOCATION)) == (int *)NULL)
  2589.             return(0);
  2590.         }
  2591.         *(tokenBuf + n_tokenBuf) = start;
  2592.         }
  2593.         current++;
  2594.         continue;
  2595.     }
  2596.  
  2597. /* asterisks, e.g., R*, S* */
  2598.     if (inToken && *(term+current) == ASTERISK)
  2599.     {
  2600.         current++;
  2601.         continue;
  2602.     }
  2603.  
  2604. /* periods, e.g., 15.435, U.S. */
  2605.     if (inToken && *(term+current) == PERIOD)
  2606.     {
  2607.         current++;
  2608.         continue;
  2609.     }
  2610.  
  2611. /* multi-meaning markers, e.g., baseball <1> */
  2612.     if (    !inToken &&
  2613.         *(term+current) == OPEN_ANGLE &&
  2614.         isdigit(*(term+current+1)) &&
  2615.         *(term+current+2) == CLOSE_ANGLE &&
  2616.         *(term+current+3) == EOS)
  2617.     {
  2618.         if (n_tokenBuf >= a_tokenBuf)
  2619.         {
  2620.         if ((tokenBuf = (int *) realloc_buf((void *)tokenBuf,
  2621.             sizeof(int), n_tokenBuf, &a_tokenBuf, (int)1,
  2622.             UMLS_WI_DEFAULT_ALLOCATION)) == (int *)NULL)
  2623.             return(0);
  2624.         }
  2625.         *(tokenBuf + n_tokenBuf) = current;
  2626.         n_tokenBuf++;
  2627.         current += 3;
  2628.         continue;
  2629.     }
  2630.  
  2631. /* commas, e.g., 2,3 or 4b,5, 3',4 */
  2632.     if (    inToken &&
  2633.         *(term+current) == COMMA &&
  2634.         isdigit(*(term+current+1)))
  2635.     {
  2636.         if (isdigit(*(term+current-1)))
  2637.         {
  2638.         current++;
  2639.         continue;
  2640.         }
  2641.         if (    (current-start)>1 &&
  2642.             isalpha(*(term+current-1)) &&
  2643.             isdigit(*(term+current-2)))
  2644.         {
  2645.         current++;
  2646.         continue;
  2647.         }
  2648.         else
  2649.         {
  2650.         if ((current-start)>1 && *(term+current-1) == PRIME)
  2651.         {
  2652.             int i;
  2653.  
  2654.             for (i=current-1; i>=start; i--)
  2655.             {
  2656.             if (*(term+i) != PRIME)
  2657.                 break;
  2658.             }
  2659.             if (    i < current-1 &&
  2660.                 i >= start &&
  2661.                 isdigit(*(term+i)))
  2662.             {
  2663.             current++;
  2664.             continue;
  2665.             }
  2666.         }
  2667.         }
  2668.     }
  2669.  
  2670. /* break on all other punctuation */
  2671.     *(term+current) = EOS;
  2672.     current++;
  2673.     if (inToken)
  2674.     {
  2675.         n_tokenBuf++;
  2676.         inToken = 0;
  2677.     }
  2678.     }
  2679.     if (inToken)
  2680.     n_tokenBuf++;
  2681.     return(1);
  2682. }
  2683.  
  2684. /* handles possessives and quoted words */
  2685. static int
  2686. break_out_quotes(ofs)
  2687.     int ofs;
  2688. {
  2689.     int len;
  2690.  
  2691.     len = strlen(charBuf+ofs);
  2692.  
  2693. /* singular possessives */
  2694.     if (len>2 &&
  2695.     (   strcmp(charBuf+ofs+len-2, "'s") == 0 ||
  2696.         strcmp(charBuf+ofs+len-2, "'S") == 0))
  2697.     {
  2698.     if ((charBuf = (char *) realloc_buf((void *)charBuf, sizeof(char),
  2699.         n_charBuf, &a_charBuf, (int)(len-1),
  2700.         UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
  2701.         return(0);
  2702.     strncpy(charBuf+n_charBuf, charBuf+ofs, len-2);
  2703.     *(charBuf+n_charBuf+(len-2)) = EOS;
  2704.     if (!is_in_table(n_charBuf))
  2705.         if (!put_in_table(n_charBuf))
  2706.         return(0);
  2707.     n_charBuf += (len-1);
  2708.     return(1);
  2709.     }
  2710.  
  2711. /* plural possessives */
  2712.     if (len>2 &&
  2713.     (   strcmp(charBuf+ofs+len-2, "s'") == 0 ||
  2714.         strcmp(charBuf+ofs+len-2, "S'") == 0))
  2715.     {
  2716.     if ((charBuf = (char *) realloc_buf((void *)charBuf, sizeof(char),
  2717.         n_charBuf, &a_charBuf, (int)(len),
  2718.         UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
  2719.         return(0);
  2720.     strncpy(charBuf+n_charBuf, charBuf+ofs, len-1);
  2721.     *(charBuf+n_charBuf+(len-1)) = EOS;
  2722.     if (!is_in_table(n_charBuf))
  2723.         if (!put_in_table(n_charBuf))
  2724.         return(0);
  2725.     n_charBuf += (len);
  2726.     return(1);
  2727.     }
  2728.  
  2729. /* quoted terms */
  2730.     if (len>2 &&
  2731.     *(charBuf+ofs) == QUOTE && *(charBuf+ofs+len-1) == QUOTE)
  2732.     {
  2733.     int source;
  2734.     int dest;
  2735.  
  2736.     source = dest = ofs;
  2737.     while (*(charBuf+source) == QUOTE)
  2738.         source++;
  2739.     while ((*(charBuf + dest++) = *(charBuf + source++)) != EOS)
  2740.         ;
  2741.     for (source = strlen(charBuf+ofs)-1; *(charBuf+ofs+source) == QUOTE;
  2742.         source--)
  2743.         *(charBuf + ofs + source) = EOS;
  2744.     return(1);
  2745.     }
  2746.     return(1);
  2747. }
  2748.  
  2749. /* For tokens with embedded commas break out subtokens */
  2750. static int
  2751. break_out_commas(ofs)
  2752.     int ofs;
  2753. {
  2754.     int startP = ofs;
  2755.     int endP;
  2756.     char *cp;
  2757.  
  2758.     while ((cp = strchr(charBuf+startP, COMMA)) != (char *)NULL)
  2759.     {
  2760.     endP = cp - charBuf;
  2761.     if (endP <= startP)
  2762.     {
  2763.         startP = endP + 1;
  2764.         continue;
  2765.     }
  2766.     if ((charBuf = (char *) realloc_buf((void *)charBuf, sizeof(char),
  2767.         n_charBuf, &a_charBuf, (int)(endP-startP+1),
  2768.         UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
  2769.         return(0);
  2770.     strncpy(charBuf+n_charBuf, charBuf+startP, endP-startP);
  2771.     *(charBuf+n_charBuf+(endP-startP)) = EOS;
  2772.     if (!is_in_table(n_charBuf))
  2773.         if (!put_in_table(n_charBuf))
  2774.         return(0);
  2775.     n_charBuf += (endP-startP+1);
  2776.     startP = endP+1;
  2777.     }
  2778.     if (*(charBuf+startP) != EOS && startP > ofs && !is_in_table(startP))
  2779.     if (!put_in_table(startP))
  2780.         return(0);
  2781.     return(1);
  2782. }
  2783.  
  2784. /* breaks out subtokens if word contains embedded periods */
  2785. static int
  2786. break_out_periods(ofs)
  2787.     int ofs;
  2788. {
  2789.     int startP = ofs;
  2790.     int endP;
  2791.     char *cp;
  2792.     int digitFlag = 0;
  2793.  
  2794.     while ((cp = strchr(charBuf+startP, PERIOD)) != (char *)NULL)
  2795.     {
  2796.     endP = cp - charBuf;
  2797.     if (endP>startP && (isdigit(*(charBuf+endP+1)) &&
  2798.         isdigit(*(charBuf+endP-1))))
  2799.     {
  2800.         digitFlag = 1;
  2801.         startP = endP+1;
  2802.         break;
  2803.     }
  2804.     startP = endP+1;
  2805.     }
  2806.     if (startP == ofs)
  2807.     return(1);
  2808.  
  2809.     startP = ofs;
  2810.     if (digitFlag == 0)        /* copy ignoring periods */
  2811.     {
  2812.     if ((charBuf = (char *)realloc_buf((void *) charBuf, sizeof(char),
  2813.         n_charBuf, &a_charBuf, strlen(charBuf+startP)+1,
  2814.         UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
  2815.         return(0);
  2816.  
  2817.     strcpy(charBuf+n_charBuf, charBuf+startP);
  2818.     strip_char(charBuf+n_charBuf, PERIOD);
  2819.     if (!is_in_table(n_charBuf))
  2820.     {
  2821.         if (!put_in_table(n_charBuf))
  2822.         return(0);
  2823.         n_charBuf += strlen(charBuf+n_charBuf)+1;
  2824.     }
  2825.     }
  2826.     else            /* break out separate subtokens */
  2827.     {
  2828.     while ((cp = strchr(charBuf+startP, PERIOD)) != (char *)NULL)
  2829.     {
  2830.         endP = cp-charBuf;
  2831.         if (endP <= startP)
  2832.         {
  2833.         startP = endP + 1;
  2834.         continue;
  2835.         }
  2836.         if ((charBuf = (char *) realloc_buf((void *)charBuf, sizeof(char),
  2837.             n_charBuf, &a_charBuf, (int)(endP-startP+1),
  2838.             UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
  2839.         return(0);
  2840.         strncpy(charBuf+n_charBuf, charBuf+startP, endP-startP);
  2841.         *(charBuf+n_charBuf+(endP-startP)) = EOS;
  2842.         if (!is_in_table(n_charBuf))
  2843.         {
  2844.         if (!put_in_table(n_charBuf))
  2845.             return(0);
  2846.         n_charBuf += (endP-startP+1);
  2847.         }
  2848.         startP = endP+1;
  2849.     }
  2850.     if (*(charBuf+startP) != EOS && startP > ofs &&    !is_in_table(startP))
  2851.         if (!put_in_table(startP))
  2852.         return(0);
  2853.     }
  2854.     return(1);
  2855. }
  2856.  
  2857. /* checks to see if a word is already in output table. */
  2858. static int
  2859. is_in_table(ofs)
  2860.     int ofs;
  2861. {
  2862.     register int i;
  2863.  
  2864.     for (i=0; i<n_outBuf; i++)
  2865.     {
  2866.     if (strcasecmp(charBuf+ofs, charBuf + *(outBuf+i)) == 0)
  2867.         return(1);
  2868.     }
  2869.     return(0);
  2870. }
  2871.  
  2872. /* inserts a word in the output table */
  2873. static int
  2874. put_in_table(ofs)
  2875.     int ofs;
  2876. {
  2877.  
  2878. /* reject single character punctuation strings */
  2879.     if (strlen(charBuf+ofs) == 1 && ispunct(*(charBuf+ofs)))
  2880.     return(1);
  2881.  
  2882.     if (n_outBuf >= a_outBuf)
  2883.     if ((outBuf = (int *) realloc_buf((void *) outBuf, sizeof(int),
  2884.         n_outBuf, &a_outBuf, (int)1,
  2885.         UMLS_WI_DEFAULT_ALLOCATION)) == (int *)NULL)
  2886.         return(0);
  2887.     *(outBuf + n_outBuf) = ofs;
  2888.     n_outBuf++;
  2889.     return(1);
  2890. }
  2891.  
  2892. /*  Increases the allocation of a buffer, buf using malloc/realloc.
  2893.     buf has alloc bytes currently allocated and size bytes are in use.
  2894.     n additional bytes are needed.  Allocation jumps in steps of incr.
  2895. */
  2896. static void *
  2897. realloc_buf(buf, unit, size, alloc, n, incr)
  2898.     void *buf;        /* pointer to buffer */
  2899.     int unit;        /* size of one of what buf points to in bytes */
  2900.     int size;        /* current size of buffer in units */
  2901.     int *alloc;        /* current allocation of buffer in units */
  2902.     int n;        /* units needed */
  2903.     int incr;        /* increment size in units */
  2904. {
  2905.     if ((size + n) > *alloc)
  2906.     {
  2907.     while ((size+n) > *alloc)
  2908.         *alloc += incr;
  2909.     if (size == 0)
  2910.     {
  2911.         if ((buf = (void *) malloc((unsigned)(unit*(*alloc)))) ==
  2912.             (void *)NULL)
  2913.         return((void *)NULL);
  2914.     }
  2915.     else
  2916.     {
  2917.         if ((buf = (void *) realloc((char *)buf,
  2918.             (unsigned)(unit*(*alloc)))) == (void *)NULL)
  2919.         return((void *)NULL);
  2920.     }
  2921.     }
  2922.     return(buf);
  2923. }
  2924.  
  2925. /* strips all occurrences of character 'c' from string 's' */
  2926. static void
  2927. strip_char(s, c)
  2928.     char *s;
  2929.     char c;
  2930. {
  2931.     register char *source;
  2932.     register char *dest;
  2933.  
  2934.     for (source = dest = s; *source != EOS; )
  2935.     {
  2936.     if (*source == c)
  2937.     {
  2938.         source++;
  2939.     }
  2940.     else
  2941.     {
  2942.         *dest++ = *source++;
  2943.     }
  2944.     }
  2945.     *dest = EOS;
  2946. }
  2947.     
  2948. /* lowercases characters in s in place. */
  2949. static void
  2950. llip(s)
  2951.     register char *s;
  2952. {
  2953.     for (; *s != EOS; s++)
  2954.     *s = (isupper(*s) ? tolower(*s) : *s);
  2955.     return;
  2956. }
  2957.  
  2958.  
  2959. Groupings of semantic types have been established for the purpose of displaying
  2960. MEDLINE co-occurrence information.  These 14 high-level groupings appear in
  2961. the MetaCard application on the "occurs" screen.
  2962.  
  2963. The first field of the co-occur file is the name of the co-occurrence
  2964. category for MetaCard.  The second field is the name of the semantic type
  2965. that should be assigned to the category.
  2966.  
  2967. Organisms|Organism
  2968. Organisms|Plant
  2969. Organisms|Alga
  2970. Organisms|Fungus
  2971. Organisms|Virus
  2972. Organisms|Rickettsia or Chlamydia
  2973. Organisms|Bacterium
  2974. Organisms|Animal
  2975. Organisms|Invertebrate
  2976. Organisms|Vertebrate
  2977. Organisms|Amphibian
  2978. Organisms|Bird
  2979. Organisms|Fish
  2980. Organisms|Reptile
  2981. Organisms|Mammal
  2982. Organisms|Human
  2983. Anatomy|Anatomical Structure
  2984. Anatomy|Embryonic Structure
  2985. Anatomy|Congenital Abnormality
  2986. Anatomy|Acquired Abnormality
  2987. Anatomy|Fully Formed Anatomical Structure
  2988. Anatomy|Body System
  2989. Anatomy|Body Part, Organ, or Organ Component
  2990. Anatomy|Tissue
  2991. Anatomy|Cell
  2992. Anatomy|Cell Component
  2993. Anatomy|Body Location or Region
  2994. Anatomy|Body Space or Junction
  2995. Anatomy|Body Substance
  2996. Molecular Biology|Macromolecular Structure
  2997. Molecular Biology|Gene or Genome
  2998. Molecular Biology|Molecular Function
  2999. Molecular Biology|Genetic Function
  3000. Molecular Biology|Cell or Molecular Dysfunction
  3001. Molecular Biology|Molecular Biology Research Technique
  3002. Molecular Biology|Molecular Sequence
  3003. Molecular Biology|Nucleotide Sequence
  3004. Molecular Biology|Amino Acid Sequence
  3005. Molecular Biology|Carbohydrate Sequence
  3006. Molecular Biology|Nucleic Acid, Nucleoside, or Nucleotide
  3007. Molecular Biology|Amino Acid, Peptide, or Protein
  3008. Physiology|Biologic Function
  3009. Physiology|Physiologic Function
  3010. Physiology|Organism Function
  3011. Physiology|Mental Process
  3012. Physiology|Organ or Tissue Function
  3013. Physiology|Cell Function
  3014. Physiology|Organism Attribute
  3015. Behaviors|Behavior
  3016. Behaviors|Social Behavior
  3017. Behaviors|Individual Behavior
  3018. Diseases & Pathologic Processes|Pathologic Function
  3019. Diseases & Pathologic Processes|Disease or Syndrome
  3020. Diseases & Pathologic Processes|Mental or Behavioral Dysfunction
  3021. Diseases & Pathologic Processes|Experimental Model of Disease
  3022. Diseases & Pathologic Processes|Finding
  3023. Diseases & Pathologic Processes|Laboratory or Test Result
  3024. Diseases & Pathologic Processes|Sign or Symptom
  3025. Diseases & Pathologic Processes|Injury or Poisoning
  3026. Chemicals & Drugs|Chemical
  3027. Chemicals & Drugs|Chemical Viewed Structurally
  3028. Chemicals & Drugs|Inorganic Chemical
  3029. Chemicals & Drugs|Element or Ion
  3030. Chemicals & Drugs|Isotope
  3031. Chemicals & Drugs|Inorganic Compound
  3032. Chemicals & Drugs|Organic Chemical
  3033. Chemicals & Drugs|Steroid
  3034. Chemicals & Drugs|Eicosanoid
  3035. Chemicals & Drugs|Lactam
  3036. Chemicals & Drugs|Alkaloid
  3037. Chemicals & Drugs|Organophosphorus Compound
  3038. Chemicals & Drugs|Carbohydrate
  3039. Chemicals & Drugs|Lipid
  3040. Chemicals & Drugs|Chemical Viewed Functionally
  3041. Chemicals & Drugs|Pharmacologic Substance
  3042. Chemicals & Drugs|Biomedical or Dental Material
  3043. Chemicals & Drugs|Biologically Active Substance
  3044. Chemicals & Drugs|Neuroreactive Substance or Biogenic Amine
  3045. Chemicals & Drugs|Hormone
  3046. Chemicals & Drugs|Enzyme
  3047. Chemicals & Drugs|Vitamin
  3048. Chemicals & Drugs|Prostaglandin
  3049. Chemicals & Drugs|Immunologic Factor
  3050. Chemicals & Drugs|Indicator or Reagent
  3051. Chemicals & Drugs|Hazardous or Poisonous Substance
  3052. Procedures|Laboratory Procedure
  3053. Procedures|Diagnostic Procedure
  3054. Procedures|Therapeutic or Preventive Procedure
  3055. Concepts & Ideas|Conceptual Entity
  3056. Concepts & Ideas|Idea or Concept
  3057. Concepts & Ideas|Temporal Concept
  3058. Concepts & Ideas|Qualitative Concept
  3059. Concepts & Ideas|Quantitative Concept
  3060. Concepts & Ideas|Functional Concept
  3061. Concepts & Ideas|Spatial Concept
  3062. Concepts & Ideas|Intellectual Product
  3063. Concepts & Ideas|Language
  3064. Concepts & Ideas|Regulation or Law
  3065. Concepts & Ideas|Group Attribute
  3066. Organizations & Occupations|Occupation or Discipline
  3067. Organizations & Occupations|Biomedical Occupation or Discipline
  3068. Organizations & Occupations|Organization
  3069. Organizations & Occupations|Health Care Related Organization
  3070. Organizations & Occupations|Professional Society
  3071. Organizations & Occupations|Self-help or Relief Organization
  3072. Groups|Group
  3073. Groups|Professional or Occupational Group
  3074. Groups|Population Group
  3075. Groups|Family Group
  3076. Groups|Age Group
  3077. Groups|Patient or Disabled Group
  3078. Geographic Areas|Geographic Area
  3079. Physical Objects|Entity
  3080. Physical Objects|Physical Object
  3081. Physical Objects|Manufactured Object
  3082. Physical Objects|Medical Device
  3083. Physical Objects|Research Device
  3084. Physical Objects|Substance
  3085. Physical Objects|Food
  3086. Activities|Event
  3087. Activities|Activity
  3088. Activities|Daily or Recreational Activity
  3089. Activities|Occupational Activity
  3090. Activities|Health Care Activity
  3091. Activities|Research Activity
  3092. Activities|Governmental or Regulatory Activity
  3093. Activities|Educational Activity
  3094. Activities|Machine Activity
  3095. Activities|Phenomenon or Process
  3096. Activities|Human-caused Phenomenon or Process
  3097. Activities|Environmental Effect of Humans
  3098. Activities|Natural Phenomenon or Process
  3099.