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 >
Wrap
Text File
|
1994-07-19
|
137KB
|
3,099 lines
[ NOTE:
This file is a partial copy of the printed release documention.
The printed documentation which you receive with your CD-ROMs
has additional information and may have revisions, indicated
by a later date.
]
4/15/93
UMLS(R) KNOWLEDGE SOURCES
4th EXPERIMENTAL Edition - April 1993
DOCUMENTATION
1. Using the CD-ROMs 3
1.1 Content of the CD-ROMs 3
1.2 Hardware/Software Requirements 4
1.3 Overview of the Documentation 5
2. General Introduction to the UMLS Knowledge Sources 6
2.1 Overview 6
2.2 Summary of Differences between the 2nd and 3rd Experimental Editions 6
3. Metathesaurus 8
3.1 General Description 8
3.2 Strings with Multiple Entries 9
3.3 Metathesaurus Data Elements 10
3.4 Metathesaurus ASCII Relational Format 29
3.4.1 Introduction 29
3.4.2 General Description of Relational Format 29
3.4.3 Summary of Contents of Each File 29
3.5 Metathesaurus ASCII Unit Record Format 36
3.5.1 Introduction 36
3.5.2 General Description of Unit Record Format 36
3.5.3 Summary of Contents of Each File 37
3.6 MetaCardTM Browser 44
3.7 Coach Metathesaurus Browser 58
3.8 Format of Files Identifying Differences between the Current and Previous 68
Editions of the Metathesaurus
4. Semantic Network 70
4.1 Introduction 70
4.2 Semantic Network Diagram 72
4.3 Semantic Network ASCII Relational Format 76
4.4 Semantic Network ASCII Unit Record Format 77
4.5 Semantic Network Browser 77
4.6 List of Semantic Types and Definitions for Types and Relations 81
4.7 Sample Records 100
5. Information Sources Map 104
5.1 Introduction 104
5.2 Information Sources Map ASCII Relational Format 104
5.3 Descriptions of ISM Tables 104
5.4 List of Current Contents of the ISM 106
5.5 Changes from the Last Release 108
5.6 Field Description for ISM Main Records 109
5.7 Example Record 125
APPENDIX A BIBLIOGRAPHY OF UMLS-RELATED PAPERS 129
APPENDIX B METATHESAURUS SOURCE INFORMATION 137
I. Source Abbreviations and Producer information 137
II. Entity Type Abbreviations 139
III. Order of Precedence in the Metathesaurus 140
APPENDIX C WORD INDEX PROGRAM 141
APPENDIX D SEMANTIC TYPE GROUPINGS FOR CO-OCCURRENCE INFORMATION 155
1. USING THE CD-ROMS
1.1 Contents of the CD-ROMS
The April 1993 experimental edition of the UMLS Knowledge Sources comprises four CD-ROMS which together
contain: two ASCII versions and two browser applications of Meta-1.3, the current version of the UMLS
Metathesaurus, and files that summarize the significant differences between Meta-1.3 and its predecessor Meta-1.2;
two different physical formats of the Semantic Network and a browser application that uses one of these physical
formats, and a single format of the Information Sources Map. The contents of each disc are as follows:
Disc 1: ISO 9660 (Disc Name = UMLS_REL.93)
Contents by Directory
DOC: ASCII version of UMLS Knowledge Sources Documentation
METAR: Meta-1.3 in ASCII relational format, and Files identifying significant differences from previous
edition in CHANGE subdirectory
NETR: Semantic Network in ASCII Relational Format
ISMR: Information Sources Map in ASCII relational format
Disc 2: ISO 9660 (Disc Name = UMLS_UNT.93)
Contents by Directory
DOS: ASCII version of UMLS Knowledge Sources Documentation
METAU: Meta-1.3 in ASCII unit record format (excluding co-occurrence relationships, qualifiers used
information, and the word index)
NETU: Semantic Network in ASCII Unit Record Format
Disc 3: Macintosh HFS (Disc Name = UMLS_MAC.93)
Contents by Directory:
DOC: ASCII version of UMLS Knowledge Sources Documentation
META: MetaCardTM (Meta-1.3 as a HyperCard application)
NET: Semantic Network Browser (application)
MetaCard and the Semantic Network Browser permit browsing and display of the contents of the
two UMLS Knowledge Sources in the Macintosh environment. No similar browsable versions are
included for other environments (e.g., DOS, UNIX), although either of the ASCII versions can be
loaded into database management software in these environments. Other than MetaCard and the
Semantic Network Browser, there are no applications programs on the CD-ROMs.
Disc 4: ISO 9660 (Disc Name = UMLS_DOS.93)
Contents by Directory
DOC: ASCII version of UMLS Knowledge Sources Documentation
META: Coach MetathesaurusR Browser (Meta-1.3 in a DOS Browser)
1.3 Hardware/Software Requirements
ISO 9660 Data Discs (UMLS_REL. 93, UMLS_UNT. 93)
Disc 1 contains ASCII documentation files; relational files summarizing significant differences between Meta-1.2
and Meta-1.3; all Meta-1.3 data in relational ASCII files; all Semantic Network data in relational format ASCII
files; and all Information Sources Map data in relational format ASCII files. There are no executable files on this
disc.
Disc 2 contains ASCII documetation files; Meta-1.3 data (except co-occurrence relationships and the word index)
in unit record ASCII files; and all Semantic Network data in unit record format ASCII files.
Any machine equipped to read ISO 9660 CD-ROM discs will be able to access these Discs. CD-ROM hardware
and software to read ISO 9660 discs is available for the IBM PC, Apple Macintosh, Unix, and many other
environments. To use the ISO 9660 CD-ROM data disc in the Macintosh environment, an Apple Startup document
named "Foreign File Access" and an Apple document named "ISO 9660 File Access" are required.
All ASCII Relational and Unit Record files have lines terminated by <CR><LF> (0D 0A hexadecimal, 13 10
decimal). This is the MSDOS standard, and includes both the Unix and Macintosh standard line terminators. If
your software cannot use the data with these line terminators or convert or eliminate unneeded characters, then a
filter program may be required.
The ASCII files containing Meta-1.3 data elements are large. (The relational files total more
than 450 megabytes.) These files are distribution formats for the knowledge source. We expect that developers
will select data elements and choose data representations to meet their own needs. Hardware and software
requirements are determined by the number and types of elements chosen, by data representation chosen, and by
performance requirements. It is possible to extract a useful subset of data from Meta-1.3 to create an application in
a modest hardware and software environment. Some approaches to organizing Meta-1.3 information may be
difficult for even a large system to accommodate.
The most direct method of accessing Meta-1.3 information in the ASCII files is to read the CD-ROM files into the
database management system of your choice, where you may select data elements and create the desired data
representation. In many cases, this will need to be done in steps constrained by disk space and software limitations.
To assist in this process, all CD-ROM files have been made smaller than the MSDOS 32 megabyte size limit;
some large files are therefore split into several segments.
Each version of the Semantic Network files totals approximately 82 kilobytes. The Information Sources Map files
total about 800 kilobytes.
DOS Browser Disc (UMLS_DOS.93)
Disc 4 contains ASCII documentation files and the DOS-based Coach Metathesaurus(R) Browser.
This CD-ROM is a distribution medium only, because performance is unlikely to be satisfactory directly from the
CD-ROM. The files must be copied to a directory on your hard disk. The Coach Metathesaurus Browser requires:
A PC AT-compatible (80286, 80386 or 80486 CPU) with MS-DOS (4.0 or higher), 640K main memory, and
125 Mbytes free disk space. The browser is both CPU - and disk-intensive, so more capacity in both those areas
will pay off in reduced retrieval and display times.
MACINTOSH HFS Browser Disk (UMLS_MAC.93)
The Apple Macintosh HFS disc contains an interactive Metathesaurus HyperCard browser, MetaCardTM developed
by Lexical Technology, Inc. MetaCard requires HyperCard 1.2.2 or later, and the assignment of at least 1.750Kb of
memory to HyperCard.
MetaCard runs under HyperCard 2.x and System 6.0.x, if the above guidelines are followed. MetaCard will also
run under System 7.x, with or without Virtual Memory or 32-Bit Addressing. MetaCard will also run properly with
the HyperCard Player, and is distributed with the HyperCard Player Home Stack.
MetaCard has been run successfully on the Mac Plus, the Mac SE, the Mac II, the Mac IIcx, the Mac SE/30, the
Mac IIci, the Mac IIfx, the Mac Portable, the Mac Quadra, and the Mac Powerbook.
You will need a word processor or text editor capable of handling large files to read and print the documentation;
unfortunately Apple's Teachtext cannot handle the largest files.
The Semantic Net Browser application has no additional hardware or software requirements.
1.3 Overview of the Documentation
Section 2 provides a general overview of the Unified Medical Language System (UMLS) project and the
relationship of the fourth experimental edition of the UMLS Knowledge Sources to the overall effort. A summary
of the significant changes between the 3rd and 4th experimental editions of the UMLS Knowledge Sources appears
in subsection 2.2.
Section 3 covers Meta-1.3, the current version of the Metathesaurus, the central vocabulary component of the
UMLS. Subsections 3.1-3.3 describe the content of Meta-1.3. Subsections 3.4-3.7 describe the two different ASCII
formats of Meta-1.3. and the two browser applications. The detailed descriptions of the contents of Meta-1.3 data
elements appear in Subsection 3.3 and are not repeated in the explanations of the two ASCII formats. the
Macintosh Hypercard application, and the DOS-based browser. A description of the files that identify the principal
differences between Meta-1.3 and its predecessor Meta-1.2, appear in Subsection 3.8.
Section 4 covers the Semantic Network. Material in Subsection 4.1 provides an overview of the content of the
Network. Subsections 4.2-4.4 describe the two physical formats and the browser application.
Section 5 covers the Information Sources Map. Material in Subsection 5.1 provides an overview of the content of
the Information Sources Map. Subsection 5.2 describes the physical format.
2.1 GENERAL INTRODUCTION
The Metathesaurus(R), the Semantic Network and the Information Sources Map are experimental products of the U.S.
National Library of Medicine. They are the current versions of the three knowledge sources that form part of the
Unified Medical Language System(R) (UMLS)(R). These Knowledge Sources are designed primarily for use by
system developers. They are meant to be consulted and used by search interface programs to interpret and refine
user queries, to map the user's terms to appropriate controlled vocabularies and classification schemes, and to select
relevant information sources. They are also useful as reference tools for database builders, librarians and other
information professionals.
The UMLS project is a long-term NLM research and development effort designed to facilitate the retrieval and
integration of information from multiple machine-readable biomedical information sources. The sources of interest
include: descriptions of the biomedical literature, clinical records, factual databanks, knowledge-based systems, and
directories of people and organizations. The variety of vocabularies and classifications used in different sources is a
significant barrier to the use of machine-readable sources by health professionals and biomedical researchers and to
the development of effective search interfaces that might assist these users. The UMLS approach assumes
continued diversity in the terminology employed in different systems and by users themselves. The project has
focused on the development of products that can facilitate the establishment of a conceptual link between the user's
question and relevant information in machine-readable form. The Metathesaurus contains information about
biomedical concepts, their various names, and the relationships among them. The Semantic Network is a network
of the general categories or semantic types to which all concepts in Metathesaurus have been assigned. The
Information Sources Map contains both human-readable and machine-processable information about available
sources of machine-readable biomedical information.
Participants in the UMLS project include an internal NLM research and development team and several contractors.
The current UMLS contractors are: Lexical Technology, Inc., Massachusetts General Hospital, Brigham and
Women's Hospital, the University of Pittsburgh and its subcontractor the University of Utah, Yale School of
Medicine, and Columbia University. More than 300 institutions and individuals throughout the world are currently
experimenting with the UMLS Knowledge Sources.
The strategy for the development of all UMLS components is to build successive approximations of the capabilities
ultimately desired. The 4th experimental edition of the UMLS Knowledge Sources supersedes the 3rd edition and
includes a number of additions in content.
Appendix A includes a bibliography of UMLS-related papers.
2.2.SUMMARY OF DIFFERENCES BETWEEN THE 3RD AND 4TH EXPERIMENTAL EDITIONS
2.2.1 Metathesaurus
The 1993 edition of the Metathesaurus (Meta-1.3) includes about 22,000 additional concepts and a number of
relationships between concepts that were not present in the previous edition. Meta-1.3 contains all ICD-9-CM
preferred terms for diagnoses and also incorporates NeuroNames, a neuroanatomy vocabulary developed at the
University of Washington. The NANDA and NIC nursing vocabularies now have more connections to other
concepts in the Metathesaurus.
The Metathesaurus now contains French synonyms as well as French translations of MeSH main headings. The TS
(Term status) for non-English terms has been changed to reflect this and the order of elements in MRCON has been
changed to preserve the grouping of strings by language.
Information on allowable MeSH qualifiers is now treated as a relationship between the qualifier and the main
heading in both ASCII formats of the Metathesaurus. Information on used qualifiers is now treated as a co-
occurrence by the qualifier and the main heading in the ASCII relational format. (Co-occurrences are not
distributed in the ASCII Unit record format.)
For the first time, the UMLS Knowledge Sources include a DOS-based Metathesaurus browser, in addition to the
Macintosh Hypercard application distributed with previous editions. The DOS-based browser, which is a part of
Grateful Med's Coach expert search assistant program, is described in Section 3.7 of the documentation.
Some concepts present in Meta-1.2 have been deleted from Meta-1.3, generally because they were discovered to be
invalid. In some cases, the preferred name of a Metathesaurus concept has changed, with the former preferred form
retained as a synonym or lexical variant. Some lexical variants have been added; others have been deleted. Some
semantic type assignments have been changed. A separate set of maintenance tables has been provided in the
CHANGE subdirectory of the METAR directory on the ISO 9960 CD-ROM to identify some of these changes
explicitly. The format and content of these maintenance tables are described in Subsection 3.8 of this
documentation
2.2.2.Semantic Network
The 1993 edition of the Semantic Network contains two minor modifications: the type "Gene Product" has been
deleted; the type "Sign" and the type "Symptom" have been merged into a single type "Sign or Symptom".
2.2.3.Information Sources Map
The 1993 edition of the Information Sources Map includes several additional valid values for the CT element.
Minor updates and changes have been made to most records. There have been no format changes.
Although subsequent versions of the Information Sources Map will contain script information to support automatic
connection to and retrieval from information sources, the current version is limited to data elements that support
source selection by human beings and by computer programs. Future versions of the Information Sources Map will
include more databases available from additional sources.
NOTE: UMLS users should be aware that future editions may include Abstract Syntax Notation 1 (ASN.1)
versions of each of the UMLS Knowledge Sources
3.1 GENERAL DESCRIPTION OF THE METATHESAURUS
The Metathesaurus is the central vocabulary component of the UMLS. The term Metathesaurus draws on Webster's
third definition for the prefix "Meta," i.e., "more comprehensive, transcending." In a sense, the Metathesaurus
transcends the specific vocabularies and classifications it encompasses.
Meta-1.3, the current version of the Metathesaurus, is a database of information on concepts that appear in one or
more of a number of different controlled vocabularies and classifications used in the field of biomedicine. In
general, the scope of the Metathesaurus is determined by the combined scope of its source vocabularies. The
Metathesaurus preserves the meanings, hierarchical connections, and other relationships between terms
present in its source vocabularies, while adding certain basic information about each of its concepts and
establishing new relationships between concepts and terms from different source vocabularies. (A list of the
current Metathesaurus source vocabularies and the number of concepts and strings from each present in Meta-1.3
appears in Appendix B.)
The Metathesaurus is organized by concept or meaning. In essence, its purpose is to link alternative names
and views of the same concept together and to identify useful relationships between different concepts. Each
unique name or string in the Metathesaurus (ignoring upper/lower case) has a unique string identifier and is
linked to all of its lexical variants or minor variations by means of a common term identifier. (In the
Metathesaurus, therefore, a "term" is the group of all strings with the same meaning that are lexical variants
of each other.) Each term identifier is in turn linked to a concept identifier. Different terms with the same
meaning are linked to the same concept identifier.
Concept = C0000015
Atrial Fibrillation (preferred)
Atrial Fibrillations
Auricular Fibrillation
Auricular Fibrillations
Terms = L0000032 L0000150
(preferred) (synonym)
Atrial Fibrillation Auricular Fibrillation
Atrial Fibrillations Auricular Fibrillations
Strings =
S0000042 S0000043 S0000151 S0000152
(preferred) (plural variant) (preferred) (plural variant)
Atrial Fibrillation Atrial Fibrillations Auricular Fibrillation Auricular Fibrillationa
FIGURE 1
For example, in Figure 1, the string "Atrial Fibrillation" and its plural "Atrial Fibrillations" have different string
identifiers, but are linked to the same term identifier. "Auricular Fibrillation" and its plural "Auricular Fibrillations"
are linked to a different term identifier. Since "Atrial Fibrillation" and "Auricular Fibrillation" have been judged to
have the same meaning, their different term identifiers are linked to the same concept identifier. For each term, one
string is designated as the preferred form. "Atrial Fibrillation" is labelled as the preferred form of its term; "Atrial
Fibrillations" is labelled as a plural variant of this preferred form. "Auricular Fibrillation" is labelled as the preferred
form of its term; "Auricular Fibrillations" is labelled as a plural variant of this preferred form. One of the terms is
designated as the preferred name of the concept. In this case, the "Atrial Fibrillation" term is designated as the
preferred term and therefore its preferred form, "Atrial Fibrillation", is the preferred name of the concept in the
Metathesaurus. To avoid laborious selection among alternative terms and forms of terms, selection of the preferred
term for any Metathesaurus concept and the preferred form of any Metathesaurus term is based on an order of
precedence of Metathesaurus source vocabularies that takes into consideration the various types of strings in each
vocabulary, e.g., preferred names, cross references, abbreviations. (The order of precedence used appears in
Appendix B.)
Thus in the Metathesaurus, strings are linked to terms and terms are linked to concepts. The Metathesaurus
also represents several types of relationships between different concepts. Many relationships are derived directly
from the source vocabularies. For example, the fact that there is a relationship between "Atrial Fibrillation" and
"Arrhythmia" is derived from the hierarchical tree structures in the Medical Subject Headings (MeSH). The exact
nature of the relationship, i.e., "Atrial Fibrillation" is a "Arrhythmia", is not present in MeSH, but was added during
the construction of the Metathesaurus. Relationships between concepts from different source vocabularies were also
created during Metathesaurus construction. For example, the COSTAR concept "Paroxysmal Atrial Fibrillation" is
identified in the Metathesaurus as having a narrower-than relationship to "Atrial Fibrillation", a concept that is
present in MeSH, ICD-9-CM, SNOMED, and COSTAR.
All other pieces of information in the Metathesaurus are either attributes of a concept, attributes of a term, or
attributes of a string. For example, the semantic type "Disease or Syndrome" and the definition "Disorder of
cardiac rhythm characterized by rapid, irregular atrial impulses and ineffective atrial contractions." are attributes of
the concept with the preferred name "Atrial Fibrillation". The eponym label attached to the term "Sturge-Weber
Syndrome" is a term attribute. The various sources of the string "Atrial Fibrillation" e.g., SNM77|PT|F-73570,
ICD91|PT|427.31, are string attributes.
The structure of the Metathesaurus distribution files facilitates access to concept relationships and to string, term, and
concept attributes, irrespective of the string used as a point of entry.
3.2 STRINGS WITH MULTIPLE ENTRIES
In a relatively small number of cases, the same string may name different concepts, usually in different
Metathesaurus source vocabularies. For example, in MeSH, the string "Cold" is a name for the temperature. In
SNOMED II, "Cold" is an alternate name for the "Common cold". As a result the string "Cold" has two different
string identifiers, each linked to a different concept in the Metathesaurus and each with an "ambiguous string"
indicator. As illustrated in Figure 2, two distinct "Cold" strings, "Cold <1>" and "Cold <2>", have been created for
the Metathesaurus to allow a clear machine-readable representation of the multiple meanings of "Cold". The plain
string "Cold" is linked to both of the qualified strings. In future editions of the Metathesaurus, a different approach
to distinguishing the strings is likely to be adopted, e.g., "Cold (temperature)", " Cold (Disease)".
Concepts = C0001500 = C0003500
Cold <1> Common Cold
Cold Cold <2>
| Cold
| / \
| / \
| / \
Terms = L0004500 Term = L0006611 Term = L0007782
(preferred) (preferred) (synonym)
Cold <1> Common Cold Cold <2>
Cold / Cold
/ \ / / \
/ \ / / \
S0005611 S0007811 S0008611 S0009988 S0009900
(preferred) (variant) Common Cold (preferred) (variant)
Cold <1> Cold Cold <2> Cold
FIGURE 2
Strings in different languages are treated as separate entities even if they are identical and share the same meaning;
they therefore have separate string identifiers. Similarly, strings in different languages are not identified as lexical
variants of each other and are therefore not linked to the same term identifier.
3.3 METATHESAURUS DATA ELEMENTS
Meta-1.3 is issued in four formats: an ASCII relational format, an ASCII unit record format, a HyperCard
application and a DOS-based browser. The details of each of these physical formats appear elsewhere in the
documentation. What follows is a conceptual or logical overview of the contents of the Meta-1.3 data elements. Of
the four physical formats, the relational format most closely approximates this logical view. In Meta-1.3, there are
four logical groups of data elements:
(1) Metathesaurus Concept Names
These data elements establish the synonymous relationships among all Metathesaurus strings and terms that
have the same meaning. In other words, these elements connect all the different names for the same concept
that are known to the Metathesaurus.
(2) Relationships between different Metathesaurus concepts
These data elements describe relationships between different Metathesaurus concepts or meanings.
By definition, these are non-synonymous relationships
(3) Concept, Term, or String attributes
These data elements provide additional information that helps to define the meaning of a concept and explain
how it has been used in various information sources, identifies special kinds of terms, e.g., eponym, acronym,
tradename, laboratory number, that may require special handling in information retrieval and natural language
processing applications, or that provide information about the source(s) of the unique strings in the
Metathesaurus.
(4) Word index
This is an index to all Metathesaurus concept names. It connects each individual word in any Metathesaurus
string to all its related string, term, and concept identifiers.
Mandatory data elements are marked with an asterisk (*); all others are optional.
The designation "Repeating Element" indicates that the data element may have multiple values for a single concept,
term, or string.
3.3.1 Metathesaurus Concept Names
These data elements connect all the different names for a concept that are known to the Metathesaurus, i.e, they
define the synonymous relationships in the Metathesaurus. (See Figures 1 and 2)
3.3.1.1 CUI Unique Identifier for Concept *
The letter C followed by 7 digits.
Description: The unique identifier for the Metathesaurus concept to which a term and string are linked. The number
remains the same across versions of the Metathesaurus irrespective of the term designated as the preferred name of
the concept. This facilitates file maintenance and management.
3.3.1.2 LUI Unique Identifier for Term *
The letter L followed by 7 digits.
Description: The unique identifier for the term of which a string is one form. The number remains the same across
versions of the Metathesaurus irrespective of the selection of the preferred form of the term or of the concept to
which the term is linked.
3.3.1.3 TS Term Status *
One alpha character
Valid values:
P-Preferred Name
S-Synonym
Description: An indication of whether the term is the preferred name of the concept to which it is linked, or a
synonym of the preferred name. There is a separate preferred name for each language (e.g., French, English).
3.3.1.4 LAT Language of Term*
Three alpha characters
Valid values
ENG - English
FRE - French
Description: The US MARC (Machine-Readable Cataloging) Format abbreviation for the language of the term. In
Meta-1.3 only English and French terms are present.
3.3.1.5 SUI Unique Identifier for String*
The letter S followed by 7 digits
Description: The unique identifier for the string. This number may not remain the same in the next version of the
Metathesaurus.
3.3.1.6 STT String Type*
Three characters, that may include one or two trailing blanks, as required.
Valid values
PF-Preferred form of term
OR
V followed by one or more of the following, in this order:
A - abbreviation of the preferred form
W - word order variation of the preferred form
D - Derivational variation of the preferred form
S - Singular of the preferred form
P - Plural of the preferred form
OR one of the following:
U - unspecified variant of the preferred form
O - other variant of the preferred form
Description: An indication of whether the string is the preferred form of the term or a variant of that form. Variant
tags (e.g., A,W,D) were assigned by computer algorithm.
NOTE: The Metathesaurus does not necessarily include all possible variants of each of its terms, e.g., not every
term has the associated singular form. It includes only those variants that are actually present in the Metathesaurus
source vocabularies. MeSH includes a more complete set of lexical variants for its terms than the other
Metathesaurus source vocabularies do. Future versions of the Metathesaurus are likely to include a more complete
set of variants. Beginning in 1994, NLM will issue the code used to detect lexical variants with the UMLS
Knowledge Sources.
3.3.1.7 STR String *
Variable length string that includes alpha characters and may also include numerics, punctuation, or any character in
the Metathesaurus character set.
Description: A unique string (disregarding upper-lower case variation) that appears in one or more of the
Metathesaurus source vocabularies. The particular upper-lower case form in the string is selected based on the order
of precedence shown in Appendix C. All French language strings (the only non-English strings in Meta-1.3) are in
upper-case and do not include diacritics.
3.3.2 Relationships Between Different Concepts
These data elements record detected relationships between different individual Metathesaurus concepts, i.e., non-
synonymous relationships. Detected relationships between a combination of concepts from one source vocabulary
and a single concept in another source vocabulary are recorded in the Associated Expression (ATX - 3.3.3.7) concept
attribute.
3.3.2.1 REL - Related Concepts
Repeating element; with eight subelements:
CUI of first concept|
Relation of second concept to first concept|
CUI of second concept|
Relationship attribute|
Source of relationship|
Valid Values for Relation:
PAR - has parent relationship in a Metathesaurus source vocabulary
CHD - has child relationship in a Metathesaurus source vocabulary
SIB - has sibling relationship in a Metathesaurus source vocabulary
AQ - is an allowed qualifier for the first concept in a Metathesaurus source vocabulary
QB - can be qualified by the first concept in a Methesaurus source vocabulary
RR - has a non-synonymous relationship (other than one of the above), either derived from at least one
Metathesaurus source vocabulary or identified during Metathesaurus construction , that was reviewed and
labelled by the subject experts during Metathesaurus construction
UR - has an unreviewed relationship derived from at least one a Metathesaurus source vocabulary i.e., The
relationship was not reviewed during Metathesaurus construction. Its relationship attribute was therefore
assigned automatically based on information available in its source vocabulary.
Valid Values for Relationship attribute
For RR and UR Relations
B - Broader
N - Narrower
O - Other
For UR Relation only
L - specific nature of relationship is unknown, but the two concepts are similar, or "alike", i.e., they belong
to the same general category. All relationships with this attribute link MeSH supplementary chemicals. A
number of the concepts linked by this relationship are probably synonymous and may be linked to a single
concept identifier in future editions of the Metathesaurus.
For CHD, PAR, and SIB Relations
one of the relationships defined in the UMLS Semantic Network. Examples include, "is a", "part of",
"manifestation of" or no value for unspecified relationships.
Valid Values for Source of Relationship
Any source vocabulary abbreviation (see Appendix B)
Examples (in the relational format):
C0006500|CHD|C0007689|Part of|MSH93
C1510822|RR|C2228511|B|MTH
Description: Relationships between different concepts, derived from a source vocabulary's explicit hierarchy (see
also section 3.3.5.3), from the cross-reference structure of a source vocabulary, from information about allowed
qualifiers in a source vocabulary, or from the lexical matching techniques used to build the Metathesaurus.
Relationships from a source vocabulary's hierarchy will have the hierarchical code sub-element. With the exception
of the qualifier relationships, the concepts linked in this data element are usually similar or closely related, e.g., two
body parts, two diseases, a manifestation and a disease, an organism and the disease it causes a chemical and its salt.
There are separate entries for each direction of the relationship, i.e., one entry for "Atrial Fibrillation" as a child of
"Arrhythmia" and another entry for "Arrhythmia" as a parent of "Atrial Fibrillation". Some concepts linked by the
UR (unreviewed) relation may be determined to be synonyms in future editions of the Metathesaurus.
3.3.2.2 COC Co-occurring concepts
Repeating element; with a variable number of subelements
CUI of first concept|
CUI of second concept or null value |
Source of co-occurrence information|
Type of co-occurrence|
Frequency of co-occurrence|
Attributes of co-occurrence relationship (optional)|
Valid Values for Source of Co-occurrence:
MED - MEDLINE for the period 1990 - January 1993
M38 - MEDLINE for the period 1985 - 1989
AIR - AI/RHEUM
Valid Values for Type of Co-occurrence:
L- co-occurrence of primary or main subject headings in citations to the published literature
LQ - second concept occurs as a qualifier of the first in citations to the published literature
LQB - second concept is qualified by the first in citations to the published literatu
KP - positive association in Knowledge Base
KN - negative association in Knowledge Base, e.g., a finding that is inconsistent with a disease.
Attributes of co-occurrence relationship
MED - and M38 sources only
Subheading data for co-occurring concept. Multiple values separated by commas.
Abbreviation of MeSH subheading applied to = Frequency of application of this subheading to first
first concept when it co-occurs with the concept when it co-occurs with the second
concept or <> (indicating no subheading)
Example (in the Relational format):
C0004238|C0003811|MED|L|7|CO=1,DT=4,EP=1,ET=2,PP=2,TH=1|
C0015967|C0026691|AIR|KP|||
Description: Concepts that occur together in the same "entries" in some information source. The relationships
represented here are obtained from machine-manipulation of the information source. Co-occurrence relationships
may exist between similar concepts (e.g., "Atrial Fibrillation" and "Arrhythmia") or between very different concepts
that nevertheless have some important connection in the field of biomedicine (e.g., "Atrial Fibrillation" and
"Digoxin"), or between a primary concept and a qualifier e.g., "Lithrotripsy" and "instrumentation". A co-occurrence
relationship can exist between two concepts that have no other apparent relationship, although the frequency of such
co-occurrences will be small.
In Meta-1.3, there are two sources of co-occurrence data: MEDLINE and AI-RHEUM. From MEDLINE, co-
occurrence data were computed for concepts that were designated as principal or main points in the same journal
article i.e., the co-occurrence counts do not include articles in which either or both of the concepts were present and
indexed in MEDLINE but not designated as main points. (A concept is considered to be a main point if the * is
attached to the main heading or any of its subheadings.) Two overall frequencies of MEDLINE co-occurrence are
provided: one for MEDLINE data from 1990 - Jan. 1993 and one for MEDLINE data from 1985 to 1989. Separate
counts are provided for the frequencies with which the first concept was qualified by different MeSH qualifiers or by
no qualifier at all when it co-occurred with second concept. There are separate entries for each direction of the co-
occurrence relationship. The related subheading occurrence information in each entry belongs to the first concept in
the entry and is therefore different for each direction of the relationship. (See also Section 3.3.3.13).
In addition to the specific qualifier information associated with two co-occurring concepts, this element also includes
(in entries with LQ and LQB values for type of co-occurrence) totals for the number of times each main concept was
qualified by a specific subheading or by no subheading. (In Meta-1.2 this information appeared in a different format
in a different data element (QU)).
The AI/RHEUM co-occurrence data represent the co-occurrence of diseases and findings in the AI/RHEUM
knowledge base, i.e., the diseases that co-occur with a particular finding and the findings that co-occur with a
particular disease. Each disease/finding pair can co-occur only once in the AI/RHEUM knowledge base.
Because of the large amount of MEDLINE co-occurrence data, the co-occurrences are not distributed in the
ASCII unit record format. The ASCII relational files of co-occurrence data can be converted to a unit record
format as needed.
3.3.3 Concept Attributes
Characteristics of the concept that help to define its meaning and usage. Those concept attributes created especially
for the Metathesaurus, e.g., Semantic Types, are linked to the concept by means of the concept identifier only. The
names of attributes created during Metathesaurus construction are followed by (M). Attributes derived from the
Metathesaurus source vocabularies or from information sources that include the concept are also linked to the string
identifier of the name of the concept used in that source.
3.3.3.1 ST Concept Attributes Status * (M)
One alpha character
Valid Values
R-Reviewed
U-Unreviewed
Description: The review status of the concept attributes. If human review of the concept attributes has been
completed, the status is R. If human review has not been completed, the status is U. In Meta-1.3, the majority of
entries for concepts derived solely from the MeSH supplementary chemical file have a status of U.
Note: Interconcept relationships in the Metathesaurus also carry a status of reviewed or unreviewed.
(See Section 3.3.2.1)
3.3.3.2 SCT Syntactic Category or Part of Speech * (M)
Repeating element - Alpha string that may include a slash (/).
Valid Values:
noun/noun phrase - virtually all Metathesaurus concepts carry this value
verb/verb phrase
adjective/adjective phrase
adverb/adverb phrase
Description: The name of the syntactic category to which the concept belongs. Metathesaurus entries with a status
of U carry a default value of "noun/noun phrase". This element may be useful for natural language processing
applications.
3.3.3.3 NH Non-Human Flag (M)
A single character: Y.
Description: An indication that the concept does not apply to human beings, used only when the concept's Semantic
type(s) could imply the contrary. For example, the concept BEAK and CLAW are assigned the Semantic type"Body
Part, Organ, or Organ Component", but do not apply to human beings. Concepts do not carry the non- human flag if
their semantic types are obviously non-human (e.g., "Medical Device", "Hazardous or Poisonous Substance"). This
element can indicate when special search restrictions are appropriate or that a concept may be inappropriate to the
user's search.
3.3.3.4 DA Date of entry * (M)
YYMMDD, e.g., 920830
Description: The date of entry of the concept into the Metathesaurus.
3.3.3.5 MR Major revision date (M)
YYMMDD
Description: The date the Metathesaurus entry for the concept underwent any revision in content.
3.3.3.6 STY Semantic Type * (M)
Repeating Element with the two sub-elements.
Unique identifier | Semantic type
for Semantic Type
Valid Values for Unique identifiers
The identifiers in the UMLS Semantic Network, described in Part 4 of this documentation
Valid Values for Semantic Types: The semantic types in the UMLS Semantic Network, described in Part 4 of this
documentation. The few Meta-1.3 concept names that are adjectives have "untyped" in this field.
Description: The basic category or categories to which the concept belongs, (e.g., Acquired Immunodeficiency
Syndrome is a "Disease or Syndrome".) Unreviewed concepts from the MeSH supplementary chemical files inherit
the structural chemical types of the MeSH headings to which they are mapped. They usually do not carry functional
chemical types as other chemical concepts in Meta-1.3 do. The Semantic type(s) are the link between the
Metathesaurus and the UMLS Semantic Network. They are also one of the links between the Metathesaurus and the
UMLS Information Sources Map. Application programs may be able to use the Semantic type information to
determine the general topics of interest in a particular user query. Semantic types can also be employed to pick up
related information from the Semantic Network and the Information Sources Map for use in interacting with the user
to refine the query and to select appropriate information Sources to search.
3.3.3.7 ATX Associated Expression (M)
Repeating element with three sub-elements.
Abbreviation (as in Appendix B) for the source of the vocabulary used in the expression|
Type of Relationship |
Vocabulary expression|
Valid Values for Type of Relationship:
B - Broader N - Narrower
O - Other S - Synonymous
U - Unspecified
Several different formats of the expression are possible.
a.) <Main Heading>/<Subheading>
or
b.) Individual Main Headings and/or Main Heading and subheading combinations coordinated by the Boolean
operators, (i.e., AND, OR, AND NOT). The vocabulary terms in the expression are included in less than
and greater than signs <> to distinguish them from Boolean operators. Parentheses are used as necessary
to clarify the meaning of boolean OR expressions.
Examples:
MSH92|S|<Pupil>/<Abnormalities>
MSH92|S|<Polyps> AND <Rectal Neoplasms>
MSH92|S|(<Rectum> OR <Rectal Diseases>) AND <Pain>
Description: Coordinated expressions of multiple terms from a Metathesaurus source vocabulary that are related to
the concept. In Meta-1.3, these expressions are all constructed of MeSH or Library of Congress Subject Headings.
Information in this element can be used to construct a MeSH or LCSH search related to the concept represented in
the Metathesaurus entry. Note that parentheses are used in these expressions to clarify the Boolean expression and
punctuation is used to distinguish the vocabulary terms from the Boolean operators. The punctuation will probably
have to be removed before the expressions can be used in a search. Depending on the system being searched, the
expression may have to be divided into multiple search statements to achieve the desired search result. In the case
of MeSH expressions, it may be necessary to EXPLODE one or more terms in the expression to get the desired
search result. In the case of LCSH expressions, some of the subheadings are followed by "etc." indicating that other
similar subheadings may be used. Note that the LCSH expressions represent combinations actually used by the
Library of Congress in cataloging books. They have been mapped to their closest MeSH equivalents.
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
sources.
3.3.3.8 RN Registry Number
A series of numbers and hyphens. Any leading zeros in an RN are dropped.
Description: The Chemical Abstracts Service Registry number for the concept. (Applies to chemicals only.) This
number is an alias for the concept name and can be used to retrieve information about the concept from a number of
chemical and toxicological databases. In future editions of the Metathesaurus, the Registry number is likely to be
treated as a synonym of the preferred concept name.
3.3.3.9 RR Related Registry Number
Repeating element; with two sub-elements.
Registry number (Relationship to MC in parentheses). Up to 103 characters; average is 28 characters.
e.g., 80551-64-0 (sulfate)
Description: The Chemical Abstracts Registry numbers for salts, optical isomers, or isotope-labelled versions of
the concept followed by the relationship of this RR to the RN (in parentheses.) (Applies to chemicals only.)
These numbers also can be used as links to information in a number of chemical and toxicological databases.
3.3.3.10 DEF Definition
Two sub-elements
Abbreviation of the source of the definition |
Variable length string with alpha characters, punctuation, and in some cases numerics |
Description: A narrative description of the meaning of the concept. For some of the unreviewed entries for MeSH
supplementary chemicals, the definition value contains a brief note rather than an informative definition. In Meta-1.3
the source of the majority of the definitions is MeSH (MSH92) or Dorland's Illustrated Medical Dictionary, 27th
edition (DOR27). The definitions created specifically for the Metathesaurus have a source value of MTH.
Definitions were created specifically for the Metathesaurus only when needed to distinguish among different
meanings of the same string. In future editions of the Metathesaurus, there will probably be multiple definitions
(from different sources) for some concepts. See also Section 3.3.3.23.
3.3.3.11 CXT Context
Repeating element. The specific format varies considerably depending on the physical format. See individual
descriptions of the physical formats.
Description: Hierarchical contexts for the concept from various Metathesaurus source vocabularies, including
ancestors (in order from most remote to closest), siblings, and children. The hierarchical contexts are available for
display to users as an aid to understanding the scope of concepts and to refining search strategies.
3.3.3.12 LO Locator (M)
Repeating element with 4 sub-elements:
Name of information source or database in which concept appears |
Frequency of appearance in the source (optional) |
Meaning of Frequency Data (optional)|
Metathesaurus SUI of string used in the source or the actual string used in that source
(if not otherwise present in the Metathesaurus) (optional)|
SOUI unique identifier of record in which concept appears in source (optional) |
Valid Values for Name of information source
MEDLINE- (National Library of Medicine) - will be followed by an indication of the applicable range of years
of MEDLINE data.
DXPLAIN - a Diagnostic prompting system (Massachusetts General Hospital) (July 1992)
OMIM - Online Mendelian Inheritance in Man (Victor McKusick, Johns Hopkins University) (July 1992)
PDQ - Physician Data Query System (National Cancer Institute) (July 1992)
QMR - Quick Medical Reference (University of Pittsburgh) (July 1992)
AI/RHEUM - AI/RHEUM (National Library of Medicine) ( July 1992)
Valid Value for Meaning of Frequency Data
*CITATIONS - indexed citations in which this concept was designated a primary point.
Examples:
MEDLINE (1989-Apr. 1992)|12|*CITATIONS|
QMR|||
DXPLAIN|||
Description: Selected sources in which the Metathesaurus concept was detected. In some cases the source name is
followed by: the frequency of occurrence in that source, the precise meaning of the frequency data, (e.g., whether it
refers to a number of citations, etc.). Information in this element can be used to determine which of a limited
repertoire of sources contain detected information closely related to the concept. System developers are encouraged
to add data for local information sources to this element to support local applications. Data for additional nationally
available sources may be included in subsequent versions of the Metathesaurus.
For MEDLINE segments only, if the frequency sub-element is blank, the term did not appear as a principal point in
any MEDLINE citations for that segment.
Except for MEDLINE and AI/RHEUM, the data for the information sources listed in the LO element is
incomplete. Meta-l.2 does not contain all concepts appearing in these information sources, and some Meta-1.3
concepts present in these sources may not be flagged as such if the concept is represented in the information source
by a term not present in Meta-1.3.
Note: All of the following concept attributes are derived from MeSH and are linked to the internal MeSH unique
identifier as well as the relevant Metathesaurus string, term, and concept identifiers.
[3.3.3.13 is intentionally omitted]
3.3.3.14 AN Annotation
Variable length alphanumeric string that may contain punctuation.
Description: An informative MeSH note written primarily for indexers or catalogers that may also be useful in
explaining the use of a MeSH term to online searchers.
3.3.3.15 HN History Note
Variable length alpha-numeric string with punctuation.
Description: In general, the year when the current form of the MeSH term was established as a major and/or minor
descriptor. The minor descriptor entry data appears in parentheses. Other brief information about history of the
MeSH heading and its cross-references may follow the year data. MeSH terms that have been used continuously as
major descriptors since 1963 do not have dates in this element.
72 (68)
83
76 (75)
89; was /occurrence 1966-88
The information in this field can be used to determine whether a MeSH term will appear in early MEDLINE
backfiles and to find out how to search a concept in MEDLINE before its current term was introduced into MeSH.
See also the PI element.
3.3.3.17 II Indexing Information
One or more MeSH main headings or Main heading/subheading combinations.
Description: For MeSH chemical terms (Term Type=NM), MeSH headings that may be relevant to articles that are
also assigned the NM term. The information in this field helps to define the NM and suggests other related search
terms.
3.3.3.18 M## (M66, M72, M77, M80, M83, M86, MED) - MEDLINE Backfile Postings
Numeric value followed by another numeric value preceded by an asterisk (*); one of the two values may be absent,
indicating no occurrences.
Description: Seven data elements which give the number of times a MeSH term has been used in MEDLINE and
each of its backfiles on the NLM system as of January 1992. (The date ranges for each file may be found in their
records in the UMLS Information Sources Map.) For MeSH main headings, each element has two values: the total
occurrences and the occurrences in which the term was designated a principal concept, preceded by an asterisk. For
subheadings, only the total postings are given.
This is the only source of information in the Metathesaurus on the frequency of use of MeSH headings in MEDLINE
prior to 1983 and on the total frequency of use of MeSH headings in MEDLINE from 1966 to January 1992. See
also 3.3.3.12 LO for information on occurrences in which the term was designated a principal concept for the period
from 1983 to April 1992.
3.3.3.19 OL Online Note
Variable length alphanumeric string with punctuation.
Description: Information helpful to online searchers of MEDLINE, especially when the history of a term or
cross-reference has implications for online searching. This is a potential source of useful information or rules for
search interface programs.
3.3.3.20 PA Pharmacologic Action
One or more valid MeSH headings.
Description: Current MeSH terms that describe the observed biological activity (e.g., ANALGESICS) of a MeSH
supplementary chemical term (term type = NM). This element helps to define its corresponding MC and may be
useful in expanding a search.
3.3.3.21 PI Previous Indexing
Repeating element; MeSH heading or heading/subheading combination(s) followed by a date range in parentheses
(YY-YY).
Description: The MeSH headings or main heading/subheading combination that may be used to search for
MEDLINE citations indexed before the concept was introduced into MeSH. Each entry is followed by a year or
range of years as a guide to the period when the term in the PI field should be searched. The appropriate boolean
logic for the PI terms is not provided. The searcher must make the decision whether to AND or OR the terms
supplied when multiple terms are present.
3.3.3.22 PM Public MeSH note
Variable length alphanumeric.
Description: Combines key information from the HN and PI elements in a format that is printed in the MeSH
publications.
3.3.3.23 SOS Scope Statement
Two sub-elements
Abbreviation of the source of the statement |
Variable length string with alpha character, punctuation, and in some cases diacritics
Description: Details about the scope of a concept in a particular source vocabulary. In Meta-1.3, all scope
statements are from the American College of Radiology's Index for Radiological Diagnoses. There are likely to be
scope notes from additional sources in future editions of the Metathesaurus.
3.3.3.24 FR Frequency
Numeric value
Description: For MeSH supplementary chemicals only, the number of times the chemical has been identified in
articles indexed in MEDLINE as of December 1991.
3.3.4 Term attribute - linked to the term by its unique identifier and to the corresponding concept by its unique
identifier. This attribute is created during Metathesaurus construction.
3.3.4.1 LT Lexical Tag (M)
Repeating element. A three-character alpha code. The majority of terms with lexical tag data have only one tag
value.
Valid Values:
ABX - Imbedded abbreviation LAB - Lab number
ACR - Acronym NON - NO special tag is appropriate
ACX - Embedded acronym TRD - Trade name
EPO - Eponym
Description: A tag indicating whether a term falls into any of several special types. Terms linked to concepts with a
status attribute of U(unreviewed) generally do not carry lexical tag data. Although the purpose of this tag is to
indicate terms that are not generally appropriate for stemming and other natural language techniques.
3.3.5 String attributes - linked to the string by its unique identifier and to the corresponding concept by its
unique identifier. Attributes created during the Metathesaurus construction are followed
by (M).
3.3.5.1 SO Source of String * (M)
Repeating element, with three subsections separated by vertical bars (|).
Abbreviation for source vocabulary|
abbreviation for entity type in source|
unique identifier in source OR unique identifier generated for Metathesaurus|
e.g., MSH92|MH|D000735
Valid source abbreviations: included in Appendix B.
Valid entity type abbreviations: included in Appendix B.
Description: The vocabulary source(s) for the string. The information in the SO can be used to determine whether a
particular concept is present in a particular source (and in what form, disregarding upper-lower case) and to extract
from the Metathesaurus the terms appropriate for searching information sources that have been indexed by specific
vocabularies or classifications. In the case of the COSTART vocabulary, the third sub-element is actually an
abbreviation composed of alphabetic characters.
3.3.5.2 AM Ambiguous string indicator (M)
A single character: A
Description: An indicator that the string is ambiguous, i.e., has more than one meaning in the Metathesaurus. (See
Section 3.2 and Figure 2 in this documentation.) An ambiguous string has multiple entries in the STR element and
has a separate string identifier for each of its entries.
NOTE: The following string attributes are derived from MeSH and are linked to the internal MeSH unique identifier as
well as the relevant Metathesaurus string and concept identifiers.
3.3.5.3 DC Descriptor class
A single numeric character.
Valid Values:
l = an Index Medicus descriptor
2 = a citation type descriptor (English Abstract)
3 = a check tag descriptor, e.g., HUMAN
4 = a geographic descriptor
5 = a non-MeSH descriptor, e.g., PATIENT CARE MANAGEMENT (NON-MeSH). In Meta-1.1 such
MeSH terms have a type of HT
Description: The type of MeSH term the main concept name represents.
3.3.5.4 DQ Date Qualifier Established
YYMMDD
Description: The date the qualifier became available for indexing MEDLARS citations.
3.3.5.5 DS Descriptor Sort Version
Variable length alphanumeric string.
Description: The form needed for proper sequencing of the concept name, if the name could not be sequenced
properly by the sort algorithms used in the MeSH publications, E.g.,
MC - Antithrombin III
DS - Antithrombin 03
3.3.5.6 DX Date major descriptor established.
YYMMDD
Description: The first day of the Index Medicus publication month in which the descriptor (in any form) was
available for searching as a major descriptor.
3.3.5.7 DY Date minor descriptor established
YYMMDD
Description: The first day of the Index Medicus publication month in which the descriptor (in any form) was
available for searching as a minor descriptor.
3.3.5.8 GC Geographic Area Code
A code containing letters and a hyphen.
Valid Values: MARC (Machine-Readable Cataloging) geographic area codes.
Description: The corresponding MARC geographic area code for a MeSH heading that is the name of a country or
geographic area. E.g.,
MC - Cameroon
GC - F-CX
This information can be used to retrieve all Metathesaurus concept names for countries in a particular region.
3.3.5.9 LA Language Code
Three alphabetic characters
Valid Values: The MARC language codes.
Description: The MARC language code for a MeSH heading that is the name of a language. E.G.,
MC - ICELANDIC
LA - ICE
3.3.5.10 LU Language Usage
The letter C.
Description: For MeSH language qualifiers only, an indication that the language is used in cataloging records only
and will not appear in MEDLINE or other indexing records. For example, the language qualifier GREEK,
CLASSICAL is used in cataloging only and therefore has the value C in this element.
3.3.5.11 MDA MeSH date of entry
YYMMDD
Description: The date the term was added to the MeSH file, which is prior to the date the term became available for
indexing and searching MEDLARS citations. Terms that have been part of MeSH for many years may have no
value in this element.
3.3.5.12 MMR MeSH revision date
YYMMDD
Description: The date of the last major revision to the term's MeSH record.
3.3.5.13 NO Note
Variable length alpha-numeric string with punctuation.
Description: For some MeSH subheadings (term type = SH, includes a definition or indexing instructions.
3.3.5.14 PX Pre-Explosion
Three sub-elements.
PX/Name of pre-explode/MeSH hierarchical number.
Description: An indication of whether there is a pre-stored MEDLINE search on the NLM system for the MeSH
Main heading or subheading and all of its children in the MeSH hierarchical structure. Pre-explodes have been
created to allow more rapid and efficient combined searches of specific terms and all their descendants. In most
cases the name of the pre-explode is the same as the MC; in a few cases it is different. When used in actual
searches pre-explodes must be entered as follows:
Name of pre-explode (PX)
On NLM's online system, use of a pre-explode is faster and cheaper than using the EXPLODE command.
3.3.5.15 QA Topical Qualifier Abbreviation
Two alphabetic characters.
Description: For MeSH subheadings (Term Type=SH, an abbreviation that may be used in place of the full text of
the abbreviation in searching on NLM's system and possibly on other systems offering NLM data.
3.3.5.16 QG Qualifier Usage
The letter C.
Description: An indication that a MeSH subheading is used only in cataloging. The absence of this element for a
string with a source of MSH|SH means that the subheading is used in both indexing and cataloging. This element
indicates whether a particular subheading will appear in MEDLINE or not.
3.3.5.17 QS Qualifier Sort Version
Alphabetic string.
Description: The form of the subheading needed for proper alphabetic sequencing when the subheading cannot be
sequenced properly by the sort algorithms used in the MeSH publications.
3.3.5.18 QT Qualifier Type
A single numeric character.
Valid Values:
l = a topical qualifier, e.g., DRUG THERAPY
2 = a form qualifier, e.g., POPULAR WORKS
3 = a time qualifier, e.g., 19 CENT.
4 = a geographic qualifier, e.g., FRANCE
5 = a language qualifier, e.g., GERMAN
Description: The type of MeSH subheading that appears in the MC element. Only topical subheadings (QT=1) will
appear in MEDLINE or other NLM article citation files. Any type of subheading may appear in CATLINE and
AVLINE, NLM's catalog files.
3.3.5.19 SRC Literature source of chemical name
Variable length alphanumeric string.
Description: A citation to an article in a journal indexed for MEDLINE in which the chemical has been identified.
3.3.5.20 TH Thesaurus ID
Repeating element. Alphabetic string.
Valid Values: POPLINE, BIOETHICS, GENBANK, NLM, USAN, MERCK INDEX, NEGWER.
Description: Identifies thesauri other than MeSH in which the MeSH heading or cross-reference is included.
Provides additional, less specific SO information.
3.3.5.21 DE Descriptor Entry Version
Variable length alphabetic string.
Description: A short form for a MeSH term used primarily in MEDLINE record creation and maintenance.
3.3.5.22 EC Entry combination
MeSH main heading | MeSH subheading
Description: An invalid MeSH main heading/subheading combination that is a cross reference to a single MeSH
main heading that should be used in its place.
3.3.5.23 EV Entry term abbreviation
Variable length alphanumeric string.
Description: A short form for a MeSH entry term or cross reference used primarily MEDLINE record creation and
maintenance.
3.3.5.24 CX Consider Also Note
Variable length alphabetic string.
Description: Other word roots or prefixes that should be consulted for other concepts related to this MeSH concept,
e.g., the value for "Heart" is "consider also terms at cardi-and myocardi-".
3.3.5.25 GM Grateful Med Note
Variable length alphanumeric string.
Description: A note designed to help Grateful Med users avoid a common misuse of the MeSH heading to which it
is attached.
3.3.5.26 QE Qualifier Entry Version
Variable length alphabetic string
Description: A short form for a MeSH qualifier.
3.3.5.27 QX Qualifier Cross reference
Variable length alphabetic string
Description: An alternate name or synonym for a MeSH qualifier. In future versions of the Metathesaurus, this
information will appear in the concept name elements.
3.3.5.28 MN MeSH Tree Number
Repeating element. Variable length alphanumeric string with imbedded periods.
Description: The hierarchical number for the concept in the MeSH tree structures. This number also appears in the
HCD sub-element of the REL and CXT elements.
3.3.6 Word index
One entry for each unique string (STR) that contains a particular word. Each entry has five sub-elements.
abbreviation of language of word | lowercase word | CUI | LUI | SUI
Description: An index to all words that appear in strings (STR) in the Metathesaurus. For the purpose of creating
the index a word is defined as follows:
- All runs of alphanumeric characters constitute a word.
- In general, whitespace and punctuation constitute word delimiters and are deleted. The few exceptions together
with pertinent examples are listed in the word index program (wi.c) in Appendix C.
- All uppercase letters are converted to lowercase on output.
- No stopwords are used.
The wi.c program (Appendix C) is written in C and was developed to run under Unix. It may be of use to system
developers who are developing their own interfaces to the UMLS data.
The index can be used to identify all concepts, term, and/or strings that contain a particular word.
NOTE: The word index is distributed in the ASCII relational format only.
3.4 METATHESAURUS ASCII RELATIONAL FORMAT
3.4.1 INTRODUCTION
In this format the data in each Metathesaurus entry is represented in up to 12 different "relations" or files. The first
file describes the other 9 files. The remaining nine files relate to the 4 logical groups of data elements described in
Section 3.3 of the documentation as follows:
(1) Metathesaurus Concept Names = MRCON
(2) Relationships between Different Concept Names = MRREL, MRCOC
(3) Attributes = MRSAT, MRSTY, MRCXT, MRATX, MRLO, MRSO
(4) Word Index
The Metathesaurus relational format is not fully normalized. By design, there is duplication of data among different
relations and within certain relations. In particular, links between different Metathesaurus concepts appear twice
(e.g., from entry A to entry B and from entry B to entry A). Developers will need to make their own decisions
about the extent to which this redundancy should be retained, reduced, or increased for their specific applications.
Each of the relations or files contains the information from all Metathesaurus entries for a given subset of the data
elements described in Section 3.4.
3.4.2 GENERAL DESCRIPTION OF THE RELATIONAL FORMAT
Each relation or named table of data values has by definition a fixed number of columns; the number of rows
depends on the content of a particular version of the Metathesaurus. A column is a sequence of all the values in a
given data element or logical sub-element. In general, columns for longer variable length data elements will appear
to the right of columns for shorter and/or fixed length data elements. A row contains the values for one or more
data elements or logical sub-elements for one Metathesaurus entry. Depending on the nature of the data elements
involved, each Metathesaurus entry may have one or more rows in a given file. The values for the different data
elements or logical sub-elements represented in the row are separated by vertical bars (|). If an optional element is
blank, the vertical bars are still used to maintain the correct positioning of the subsequent elements. Each row is
terminated by a vertical bar and a carriage return followed by a line feed. (|<CR><LF>).
3.4.3 SUMMARY OF THE CONTENTS OF EACH OF THE RELATIONAL FILES
In the following descriptions, the numbers of parentheses beside or beneath each element refer to the section of the
conceptual overview of Metathesaurus that describes the element's contents. Note that many data items described as
logical sub-elements in the conceptual overview are stored in separate columns in the relational format.
3.4.3.1 Relation Relation (File = MRFILES)
There is exactly one row in this file for each physical segment of the files in the relational format. The columns or
data elements in the file are:
Cols.
Physical FILENAME | Descriptive File Name | # of ROWS | Size of bytes |
All file names in the relational format begin with the letters MR. If a single file would exceed 32 megabytes it is
divided into 32 megabyte segments of up to 32 megabytes and consecutive numbers are appended to the file names
for the segments, e.g., MRCOC01, MRCOC02.
All files are sorted from left to right in ascending order.
3.4.3.2 Concept Names (File = MRCON)
There is exactly one row in this file for each unique string (ignoring upper/lower case) in the Metathesaurus.
Cols.
CUI |LAT |TS |LUI |STT |SUI |STR |
CUI - Unique identifier for concept (3.3.1.1)
LAT - Language of Term (3.3.1.4)
TS - Term status (3.3.1.3)
LUI - Unique identifier for term (3.3.1.2)
STT - String type (3.3.1.6)
SUI - Unique identifier for string (3.3.1.5)
STR - String (3.3.1.7)
3.4.3.3 Related Concepts (File = MRREL)
There are two rows in this table for each relationship between Metathesaurus concepts that is known to the
Metathesaurus--one row for each direction of the relationship.
Cols.
CUI1 |REL |CUI2 |RELA |SAB |
CUI1-Unique identifier of first concept (3.3.1.1)
REL - Relationship of second to first concept (3.3.2.1)
CUI2 - Unique identifier of second concept (3.3.1.1)
RELA - Relationship attribute (3.3.2.1)
SAB - Abbreviation of the source of relationship (3.3.2.1)
3.4.3.4 Co-occurring Concepts (File = MRCOC)
There are two rows in this table for each pair of concepts that co-occur in each information source represented -- one
for each direction of the relationship. (Note that the COA data may be different for each direction of the
relationship.) Many Metathesaurus concepts have no entries in this file.
CUI1 |CUI2 |SAB |COT |COF |COA |
CUI1 - Unique identifier of first concept (3.3.1.1)
CUI2 - Unique identifier of second concept (3.3.1.1)
SAB - Abbreviation of the Source of co-occurrence information (3.3.2.2) if applicable
COT - Type of co-occurrence (3.3.2.2)
COF - Frequency of co-occurrence (3.3.2.2), if applicable
COA - Attributes of co-occurrence (3.3.2.2), if applicable
3.4.3.5 Simple Concept, Term and string attributes (File = MRSAT)
There is exactly one row in this table for each concept, term and each string attribute that does not have a sub-
element structure. All Metathesaurus concepts have entries in this file.
CUI |LUI | SUI |DUI |ATN |SAB |ATV |
(optional) (optional) (optional)
(There are 3 null ATVs in Meta 1.3)
CUI - Unique identifier for concept (3.3.1.1) or for term (3.3.1.2)
LUI - Unique identifier for term (3.3.1.2)
SUI - Unique identifier for String (3.3.1.4)
DUI - MeSH unique identifier - for attributes derived from MeSH only
ATN - Attribute name. Possible values are:
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),
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),
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),
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),
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),
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),
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)
SAB - Abbreviation of the source of the attribute (Appendix B includes a list of sources and their abbreviations)
ATV - Attribute value - described in the specific section of the documentation listed after the attribute name
above. A few AN values exceed 1,000 characters.
3.4.3.6 Definitions (MRDEF)
There is exactly one row in this file for each definition in the Metathesaurus. A few definitions approach 3000
characters in length.
CUI | SAB | DEF |
CUI - Unique identifier for concept (3.3.1.1)
SAB - Source abbreviation (Appendix B includes a list of valid values) (3.3.5.1)
DEF - Definition (3.3.3.10)
3.4.3.7 Sources (MRSO)
There is exactly one row in this file for each source of each string in the Metathesaurus. All Metathesaurus concepts
have entries in this file.
CUI |LUI | SUI | SAB | TTY | SCD |
CUI - Unique Identifier for concept (3.3.1.1)
LUI - Unique identifier for term (3.3.1.2)
SUI - Unique identifier for string (3.3.1.5)
SAB - Source abbreviation (Appendix B includes a list of valid values) (3.3.5.1)
TTY - Term type in that source (Appendix B includes a list of valid values) (3.3.5.1)
SCD - Unique Identifier or code for string in that source (3.3.5.1)
3.4.3.8 Semantic Types (MRSTY)
There is exactly one two on this file for each semantic type assigned to each concept. All Metathesaurus concepts
have one entry in this file. Many have more than one entry.
CUI | TUI | STY |
CUI - Unique identifier of concept (3.3.1.1)
TUI - Unique identifier of Semantic type (3.3.3.6)
STY - Semantic type (3.3.3.6)
3.4.3.9 Concept contexts (MRCXT)
There are rows in this file for each hierarchical context in which a concept appears in any of the UMLS source
vocabularies. Many Metathesaurus concepts have multiple contexts; many have none. The number of rows per
context differs depending on the number of ancestor, sibling, or child terms the concept has in that context. Because
some concepts have multiple contexts in the same source (e.g., MeSH), a context number (e.g., 1,2,3) is used for all
members of the same context. The majority of the relationships represented in this file are also present in the
MRREL file (3.4.3.3).
CUI |SUI |SAB |SCD |CXN |CXL |RNK |CXS |HCD |REL |XC |
CUI - Unique identifier of concept (3.3.1.1)
SUI - Unique identifier for string used in this context (3.3.1.5)
SAB - Source abbreviation (Appendix B contains a list of source abbreviations).
SCD - Unique identifier or code for string in that source
CXN - Context number (some concepts have multiple contexts in the same source)
CXL - Context member label, i.e., ANC for ancestor of this concept, CCP for concept, SIB for sibling of this
concept, CHD for child of this concept.
RNK - For rows with a CXL value of ANC, the rank of the ancestors (e.g., a value of 1 denotes the most
remote ancestor in the hierarchy)
CXS - String for context member
HCD - Hierarchical number or code of context member in this source. In Meta-1.3, ANC concepts
have an HCD value only if they belong to a MeSH context.
REL - Relationship of concept to parent, if applicable and known. The valid values are the relationships
defined in the Semantic Network.
XC - For rows with a CXL of CON, SIB or CHD and an SAB of MSH92, plus(+) sign indicating that the
concept has children in this context, if applicable
3.4.3.10 Associated Expressions = MRATX)
There is one row in this table for each vocabulary expression (i.e., combination of terms from a specific
Metathesaurus source vocabulary) identified as having a identified relationship to a concept in the Metathesaurus.
Relatively few Meta-1.3 entries have Associated Expressions.
CUI | SAB | REL | ATX |
CUI - Unique identifier of concept to which the expression is related (3.3.1.1)
SAB - Abbreviation of source of terms in expression (Appendix B contains a list of source abbreviations)
REL - Relationship of meaning of expression to main concept (3.3.3.7)
ATX - Associated expression (has a complex internal syntax which is described in 3.3.3.7)
3.4.3.11 Locators (File = MRLO)
There is one row in this table for each Metathesaurus concept identified as appearing in each of a selected set of a
machine-readable information sources. If the same concept is identified as appearing in more than one of these
information sources (e.g., MEDLINE, DXPLAIN, QMR), it will have multiple rows in this table. Some
Metathesaurus entries have no entries in this file.
CUI |
ISN |
FR (optional)|
UN (optional)|
SUI (optional)|
SNA (optional)|
SOUI (optional)|
CUI - Unique identifier of concept (3.3.1.1)
ISN - Name of information source or database in which concept appears (3.3.3.12)
FR - Frequency count of number of occurrences of concept in the information source, if applicable (3.3.3.12)
UN - Meaning of frequency (3.3.3.12)
SUI - Unique identifier of STRing (3.3.1.5) if name used in information source appears in MRCON.
SNA - Actual name that occurs in the information source if not otherwise present in the Metathesaurus
SOUI - Unique identifier of record in which the concept appears in source (optional)
3.4.3.12 Word index (MRWD)
There is one row in this table for each unique string (ignoring upper-lower case) in each language in which each
unique word appears. All Metathesaurus entries have entries in the word index.
LA| WD | CUI | LUI | SUI |
LA - Language of string in which word appears
WD - Word in lower-case (3.3.6)
CUI - Unique identifier for concept (3.3.1.1)
LUI - Unique identifier for term (3.3.1.2)
SUI - Unique identifier for string (3.3.1.5)
3.5 Meta-1.3 ASCII UNIT RECORD FORMAT
3.5.1 INTRODUCTION
In this format, each logical Metathesaurus entry is divided into up to six different ASCII unit records, each
comprising a related group of data elements. The purpose of dividing the logical entries in this fashion is to
provide a format that can be loaded relatively easily into non-relational database management systems such as
INQUIRE or Model 204. The unit record format has therefore been structured to avoid: (1) multiply occurring
sub-elements in variable length data elements and (2) multiply occurring data elements with extremely large
numbers of occurrences. In the unit record format, information from up to six related, but different, unit records
must be linked to effect a display of a complete logical entry. The co-occurrence relationships, the used
qualifiers and the word index are not represented in the unit record format and must be obtained from the
relational format. (See Sections 3.4.3.4, 3.4.3.9, and 3.4.3.10.)
There are separate files for each of the different types of unit records.
3.5.2 GENERAL DESCRIPTION OF THE UNIT RECORD FORMAT
The data for each of the unit records comprising a Metathesaurus entry is stored in the form of a series of
contiguous 80-byte segments or card images, the first image being a new record card and the rest being data
cards.
The format for the new record card is:
COLUMNS CONTENTS
1 - 2 NR
<CR><LF>
The formats for data cards are:
FOR MUCON ONLY
COLUMNS CONTENTS
1 - 3 Element Mnemonic
4 - 7 Occurrence No.*
8 - 10 Continuation No.
11 up to 80 Data
<CR><LF>
FOR ALL OTHER FILES
COLUMNS CONTENTS
1 - 3 Element Mnemonic
4 - 6 Occurrence No.*
7 - 9 Continuation No.
10 up to 80 Data
<CR><LF>
NOTE: MUCON has a small number of records with more than 999 occurrences in a single data element.
Definitions:
NR
New Record. Signals the beginning of data for a unique unit record. Notice the letters are capital letters.
ELEMENT MNEMONIC
This stands for a discrete piece of information in the unit record. For example, DEF indicates a definition.
OCCURRENCE NO.
Occurrence Number. The information or data in an element is considered to be a "value." For example, a
single source would be one value occurrence in the unit record. Three sources would each appear on separate
lines with the first six positions SO 001, SO 002, SO 003, respectively. (The actual values would be given in
positions 10 through 80).
CONTINUATION NO.
Continuation Number. If a single value requires more than one card, i.e., requires more than 71 characters,
additional cards may be used.
The first is labeled 001 in columns 7, 8, and 9, the second 002, etc.
DATA
Alphanumeric data and special symbols. The actual value of the data element. Note that there are no trailing
blanks in the data. Data values less than 71 characters in length are followed immediately by the <CR><LF>
(Carriage return; line feed) indicating the end of the line data.
The series of card images or record segments that make up the unit record is introduced by a segment bearing the
letters NR in the first two columns. The next segment is the first data segment, and contains in columns 1 through 3
the mnemonic of the unit record element in that segment. For example, if in a unit record there were data for
element SO, then the first segment bearing that data would be punched SOb001001 in the first 9 columns, signifying
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
SOb (columns 1, 2, and 3). Columns 1, 2, and 3 would contain SOb for as many segments as are required to
complete all the data for that element of the unit record (each segment can carry up to 71 characters of information).
Columns 4, 5, and 6 remain 001 for as many segments as required to complete the first occurrence in the first
element. Columns 7, 8, and 9 change, from 001 to 002, 003, etc., for as many segments as are required to complete
the first occurrence in the first element. Then columns 7, 8, and 9 are reset to 001 for the next occurrence. There is
always a value in columns 7, 8, and 9.
Sub-elements are separated by vertical bars. If an optional sub-element contains no value, the vertical bars are still
used to maintain the correct positioning of the subsequent sub-elements. The data values have no trailing blanks.
They are followed immediately by <CR><LF>.
There are separate files for each of the 6 different types of unit records. If a single file would exceed 32 megabytes,
it is divided into 32 megabyte segments and consecutive numbers are appended to the file names of the segments.
3.5.3 SUMMARY OF THE CONTENTS OF EACH OF THE UNIT RECORD FILES
In the following descriptions, a pound sign (#) preceding a data element mnemonic means that the element is
mandatory in all records appearing in that file. An asterisk (*) preceding a data element mnemonic means that the
element may have multiple values in a single record. The numbers in parentheses following each element refer to the
section of this documentation that describes the element's contents. Note that some data items described as logical
sub-elements in the conceptual overview are stored as separate elements in the unit record format.
3.5.3.l Concept Name File (File=MUCON)
There is exactly one of these records for each concept. The records are sorted by CUI. A small number of records
have more than 999 occurrences in the URC element
NR
#CUI Unique identifier for concept (3.3.1.1)
#LUI Unique identifier for term to which the preferred name of the concept belongs (3.3.1.2)
#SUI Unique identifier for string that is the preferred name of the concept (3.3.1.4)
#ST Entry status (3.3.3.1)
#STR String that is the preferred name of the concept (3.3.1.6)
#*SO Vocabulary Source(s) of this string (3.3.5.1)
* LT Lexical tags of the term to which the preferred name belongs (3.3.4.1)
*LAT Language of the term to which the preferred name belongs (3.3.1.4)
* SCT Syntactic category/part of speech (3.3.2.2)
RN Chemical Abstracts Registry Number (3.3.3.8)
* RR Chemical Abstracts Registry Number(s) for related chemicals (3.3.3.9)
NH Non-Human Flag (3.3.3.3)
* STY Semantic Type (3.3.3.6)
TUI of the Semantic Type | STY
DEF Definition (3.3.3.10)
Abbreviation of Source of text of definition | definition
SOS Scope Statement (3.3.3.23)
Abbreviation of source of text of statement | scope statement
*SY Preferred name of synonym of preferred name of concept (3.3.1)
LUI of synonym | LAT of synonym | SUI of preferred name of synonym | STR of preferred name of synonym
* REL Related concepts (3.3.2.1)
Relationship of related concept to this concept |
CUI of related concept|
Relationship attribute|
SUI of preferred name of related concept|
STR of preferred me of related concept|
Abbreviation of source of relationship
**CXT Hierarchical context(s) (3.4.2.3)
Context number|
Source abbreviation|
hierarchical code (optional)|
relationship to parent in hierarchy (optional)|
string used for concept in source vocabulary
*LO Locations(s) or information sources in which the concept appears (3.4.3.1)
Name of information source|
Frequency of occurrence (optional)|
Meaning of frequency data (optional)|
SUI of string used for concept in information source (optional)|
string used for concept in information source (optional)|
FR Frequency (3.3.3.24)
# DA Date of entry (3.3.3.4)
# MR Revision date (3.4.4.5)
3.5.3.2 Synonym File (File=MUSY)
There is one record for each preferred name of a synonym for a preferred concept name in a reviewed entry. The
records are sorted, in order, by CUI and LUI. Lexical variants of the preferred name of a synonym appear in the
Lexical Variant File, described in 3.5.3.3.
NR
#CUI Unique identifier of Metathesaurus concept of which this synonym is one name (3.3.1.1)
#LUI Unique identifier for synonym term group (3.3.1.2)
#SUI Unique identifier of string that is the preferred name of the synonym (3.3.1.5)
#STR Preferred name of synonym (3.3.1.7)
#*SO Source(s) of the preferred name of synonym (3.3.5.1)
LT Lexical tag(s) (3.3.4.1)
#LAT Language of synonym term
3.5.3.3 Lexical Variant File (File=MULV)
There is one record for each unique lexical variant of a preferred name or a preferred synonym name. The records
are sorted, in order, by LUI and SUI.
NR
#LUI Unique identifier of the Term to which this string belongs (3.3.1.2)
#SUI Unique identifier of the lexical variant string (3.3.1.5)
#STR String (3.3.1.7)
#STT String Type (3.3.1.6)
AM Ambiguous string indicator (3.3.5.2)
#*SO Source(s) of this lexical variant string (3.3.5.1)
3.5.3.4 Expanded Context File (3.3.3.11) (File=MUCXE)
There is one record for each hierarchical context for the concept. The records are sorted, in order, by CUI, SAB,
CXN, and HCD.
NR
#CUI Unique identifier of concept (3.4.1.1)
#SUI Unique identifier of preferred name of the concept in the source of this context
#SCD Unique identifier or code for string in that source
#SAB Abbreviation of source of context
#CXN Context number
HCD Hierarchical number
*ANC Ancestor terms in this hierarchy, in order from most remote to nearest
Ancestor TERM|
Relationship to parent (optional)|
hierarchical code for ancestor (if present)
#STR String that names the concept in source of context
Term|Relationship to parent (optional)
* CHD Children in this hierarchy
Child TERM|Relationship to parent (optional)|
hierarchical code for child (if present)|
indication that term has children (optional)
* SIB Sibling terms in this hierarchy
Sibling TERM|
Relationship to parent (optional)|
hierarchical code for sibling (if present)|
indication that term has children (optional)
3.5.3.5 Associated Expression File (3.3.3.7) (File=MUATX)
There is one record for each MeSH or LC(TQ, GQ, LQ, FQ) expression that has been designated as having a
relationship to the concept. Note: these expressions identify combinations of MeSH or LC(TQ, GQ, LQ, FQ) terms
that are related to the concept. In some cases, the syntax of the expression in the Metathesaurus contains punctuation
that must be removed before the expression can be used as a search statement. In some cases, the parentheses must
be removed and the expression divided into multiple search statements. Often, the terms in the expression must be
"exploded" to achieve the desired search result. See Section 3.3.3.7 for an explanation of the internal syntax of ATX.
The records are sorted by CUI.
NR
#CUI Unique identifier of concept
#ATX Vocabulary expression
#SAB Abbreviation of source vocabulary in expression.
#REL Relationship to term
3.5.3.6 MeSH Data Elements File (File=MUME)
There is one record for each MeSH concept. The data elements present in each record depend on the type of MeSH
term, i.e., descriptor (MH), qualifier (TQ, GQ, LQ, FQ,), or chemical term (NM). In the listing below, the term type
abbreviations following the element mnemonic and documentation reference indicate which elements will be present
for each type of MeSH heading. The records are sorted by CUI.
NR
#CUI Unique identifier for concept in the Metathesaurus
#DUI MeSH descriptor, subheading, or chemical term UI (3.4.4.1) - MH, TQ, GQ, LQ, FQ, NM
AN (3.3.3.14) - MH, TQ, GQ, LQ, FQ
*AQ (3.3.3.16) - MH
CX (3.3.5.24) - MH
DC (3.3.5.3) - MH
DE (3.3.5.21) - MH
DQ (3.3.5.4) - TQ, GQ, LQ, FQ
DS (3.3.5.5) - MH, TQ, GQ, LQ, FQ
DX (3.3.5.6) - MH
DY (3.3.5.7) - MH
EC (3.3.5.22) - MH
EV (3.3.5.23) - MH
GC (3.3.5.8) - MH
GM (3.3.5.25) - MH, TQ
HN (3.3.3.15) - MH
II (3.3.3.17) - MH
LA (3.3.5.9) - MH
LU (3.3.5.10) - TQ, GQ, LQ, FQ
M66 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
M72 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
M77 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
M80 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
M83 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
M86 (3.3.3.18) - MH, TQ, GQ, LQ, FQ
MDA (3.3.5.11) - MH, TQ, GQ, LQ, FQ, NM
MED (3.3.3.18) - MH, TQ, GQ, LQ, FQ
MMR (3.3.5.12) - MH, TQ, GQ, LQ, FQ, NM
MN (3.3.5.28) - MH
OL (3.3.3.19) - MH, TQ, GQ, LQ, FQ
*PA (3.3.9.20) - NM
*PI (3.3.3.21) - MH, TQ, GQ, LQ, FQ, NM
PM (3.3.3.22) - MH
PX (3.3.5.14) - MH, TQ
QA (3.3.5.15) - TQ, GQ, LQ, FQ
QE (3.3.5.26) - TQ, GQ, LQ, FQ
QG (3.3.5.16) - TQ, GQ, LQ, FQ
QS (3.3.5.17) - TQ, GQ, LQ, FQ
QT (3.3.5.18) - TQ, GQ, LQ, FQ
QX (3.3.5.27) - TQ, GQ, LQ, FQ
SRC (3.3.5.19) - NM
*TH (3.3.5.20) - MH, NM
3.8 FILES IDENTIFYING DIFFERENCES BETWEEN THE CURRENT
AND PREVIOUS EDITIONS OF THE METATHESAURUS
3.8.1 INTRODUCTION
There are four files or relations that identify the key differences between reviewe entries in Meta-1.2 and Meta-1.1.
Since they are relational format, they are in the subdirectory called CHANGE in METAR directory on the ISO 9660
disc. These files identify concepts and terms that appeared, disappeared, or changed their basic status between the
current and previous editions of the Metathesaurus data into their applications can use these special files to determine
whether there have been changes that affect their applications.
It is unlikely that any single developer will need to use all of these files. The usefulness of individual files will depend
on how data from the Metathesaurus have been linked or incorporated in a particular application. The files described in
subsections 3.7.3.1 , and 3.7.3.2, identify deletions in the concepts included in the Metathesaurus. The files described in
Subsections 3.7.3.3, and 3.7.3.4, identify deletions of terms in the Metathesaurus. (A preferred name and all of its
lexical variants form a term.)
3.8.2 GENERAL DESCRIPTION OF THE FILES
Each relation or named table of data has a fixed number of columns and variable number of rows. A column is a
sequence of all the values in a given data element. A row contains the values for two or more data elements for one
entry. The values for the different data elements in the row are separated by vertical bars (|). Each row is terminated by
a vertical bar and a carriage return followed by a line feed.
|<CR><LF>.
3.8.3. SUMMARY OF CONTENT OF EACH FILE
In the following descriptions, the numbers in parentheses beneath an element refer to the section of the conceptual
overview of the Metathesaurus that describes the element's contents.
3.8.3.1. DELETED CONCEPTS (Files=DELETED.CON
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-
1.2. Most entries in this file represent terms that should not have appeared as separate concepts in Meta-1.1.
Cols.
UI in Meta-1.1 | Preferred name in Meta-1.1
in format
MC#######
3.8.3.2 MERGED CONCEPTS (File=MERGED.CON
There is exactly one row in this table for each reviewed concept from Meta-1.1 that was merged with a different concept
in Meta-1.2. Entries in this file represent concepts that were considered distinct in Meta-1.1, but are now identified as
synonyms of other concepts.
Cols.
UI in Meta-1.1 | CUI in Meta-1.2 |
in format
MC#######
3.8.3.3 DELETED TERMS (File=DELETED.TG)
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
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
Meta-1 has been deleted, and the unique identifier for the term has also been deleted. Again this does not necessarily
imply the deletion of a concept from the Metathesaurus.
Cols.
Meta-1.1 | Preferred Name |
LUI of Term in Meta-1.1
3.8.3.4 MERGED TERMS (File=MERGED.TG)
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
designated in Meta-1.2 as lexical variants of each other. One of the LUIs present in Meta-1.1 is therefore absent from
Meta-1.2. These entries represent lexical variants that were not identified as such in Meta-1.1 and have been fixed for
Meta-1.2.
Cols.
LUI in Meta-1.1 that | LUI in Meta-1.2 into |
is not present in Meta-1.2 which it was merged
APPENDIX B
I. SOURCE ABBREVIATIONS
ACR92 - Index for radiological diagnoses: including diagnostic ultrasound. Rev. 3rd ed. Reston (VA): American
College of Radiology; 1986.
AIR92 - AI/RHEUM. Bethesda, (MD): National Library of Medicine, 1992.
COS92 - COSTAR (Computer-Stored Ambulatory Records) of General Hospital, 1992. - (List of terms that occur
frequently at 3 COSTAR sites, supplied by Massachusetts General Hospital)
CPT89 - Physicians' current procedural terminology: CPT. 4th ed. Chicago (IL): American Medical Association;
1989.
CST89 - COSTART: coding symbols for thesaurus of adverse reaction terms. Rockville (MD): Food and Drug
Administration, Center for Drug Evaluation and Research; 1989.
CSP91 - CRISP thesaurus. Bethesda (MD): National Institutes of Health, Division of Research Grants, Research
Documentation Section; 1991.
DSM3R - Diagnostic and statistical manual of mental disorders: DSM-III-R. 3rd ed. rev. Washington (DC):
American Psychiatric Association; 1987.
DXP92 - DXplain, an expert diagnosis program, developed by Massachusetts General Hospital.
ICD89 - The international Classification of Diseases: 9th revision, Clinical Modification: ICD-9-CM. 3rd ed.
Washington (DC): Health Care Financing Administration; 1989.
ICD91 - The International Classification of Diseases: 9th revision, Clinical Modification: ICD-9-CM. 4th ed.
Washington (DC): Health Care Financing Administration; 1991.
INS93 - Thesaurus Biomedical Francais/Anglais. [French translation of MeSH]. Paris: Institut National de la Sante
et Recherche Medicale, 1993.
LCH90 - Library of Congress subject headings. 12th ed. Washington (DC): Library of Congress; 1989.
MCM92 - List of epidemiology terms submitted by McMaster University
MSH93 - Medical subject headings. Bethesda (MD): National Library of Medicine; 1993.
MTH - UMLS Metathesaurus
NAN90 - Carroll-Johnson, Rose Mary, editor. Classification of nursing diagnoses: proceedings of the 9th conference;
1990 Mar; Orlando, FL. Philadelphia: Lippincott; 1991.
NIC92 - McCloskey, Joanne C.; Bulechek, Gloria M., editors. Nursing interventions classification (NIC): Iowa
intervention project. St. Louis (MO): Mosby-Year Book; 1992.
SNM2 - Cote, Roger A., editor. Systematized nomenclature of medicine. 2nd ed. Skokie (IL): College of
American Pathologists; 1979.
SNOMED update, 1982. Skokie (IL): College of American Pathologists; 1982.
[NOTE: SNOMED III (1993) will begin to appear in the Metathesaurus in 1994.]
UMD91 - Universal medical device nomenclature system: product category thesaurus. Plymouth Meeting (PA): ECRI;
1991.
UWA92 - Bowden Douglas M., Martin Richard F., Dubach Joev G. Neuronames, 1991. Seattle; University of
Washington, Primate Information Center. [Additional relationships supplied by Brigham and Women's
Hospital in 1992.]
APPENDIX B
II. ENTITY TYPE ABBREVIATIONS
NOTE: In the following list "term" is used in the sense that it is used in the relevant source vocabulary. By the
Metathesaurus definition, all the entity types are strings.
AB - Abbreviation in any source vocabulary
CE - Entry "term" to MeSH Supplementary Chemical "Term"
DI - AI/RHEUM Disease Name
DT - Definitional term, present in the Metathesaurus because of its connection to a Dorland's definition
or to a definition created especially for the Metathesaurus.
EA - Expanded CPT abbreviation - these exact terms do not appear in CPT; the expansion was done to
assist in lexical matching used to construct Meta-1
EN - MeSH Non-Print entry "term"
EP - MeSH Print entry "term"
ET - MeSH entry "term"
FI - AI/RHEUM Finding Name
FQ - MeSH Form Qualifier
GQ - MeSH Geographic Qualifier
GT - COSTART Glossary "term"
IT - Index "term", i.e., derived from the index to any non-MeSH source vocabulary
LQ - MeSH language qualifier
LV - Lexical variant created to assist in Metathesaurus construction
MH - MeSH Main Heading
MM - Metathesaurus string created to distinguish different meanings of the same lexical string.
NM - MeSH Supplementary Chemical "Term", a name of a substance
N1 - Chemical Abstracts Service Type 1 name of a chemical
PM - Machine permutation of a MeSH "term"
HT - Hierarchical term; in MeSH a "(Non MeSH)" term established to allow an accurate hierarchy, but
not assigned in indexing. A MTH/HT is a string created to facilitate Metathesaurus mapping by
dropping the "(Non MeSH)" from a MSH/HT.
PT - Designated Preferred name in any non-MeSH source vocabulary
RT - Designated Related "Term" in any source vocabulary
RX - Alternate name of preferred name in SNOMED
TQ - MeSH topical qualifier
TT - ICD-9-CM Table Term
SY - Designated Synonym in any non-Mesh source vocabulary
APPENDIX B
III. ORDER OF PRECEDENCE
NOTE: The precedence of an MTH|MM (e.g., Cold <1>) varies. It immediately precedes in order the highest ranking
Source|Entity of the ambigous string that caused it to be created.
MTH|HT
MSH93|MH
MSH93|HT
MSH93|TQ
MSH93|FQ
MSH93|GQ
MSH93|LQ
MSH93|EP
MSH93|EN
MSH93|NM
MSH93|N1
MSH93|CE
DSM3R|PT
SNM2|PT
SNM2|RT
SNM2|SY
SNM2|RX
UWA/PT
CST89|PT
CST89|GT
AIR92|HT
AIR92|FI
AIR92|DI
AIR92|SY
ICD91|PT
ICD89|PT
CPT89|PT
DSM3R|HT
SNM2|HT
ICD91|HT
CPT89|HT
NIC92|PT
NIC92|SY
NIC92|RT
NAN90|PT
NAN90|SY
COS92|PT
COS89|PT
DXP92|PT
MCM92|PT
MCM92|RT
MTH|PT
DSM3R|SY
DSM3R|RT
ICD91|IT
ICD89|IT
ICD91|TT
LCH90|PT
ACR92|PT
ICD89|AB
CPT89|AB
CPT89|EA
MSH93|PM
CSP92|PT
CSP92|SY
CSP92|RT
UMD91|PT
MTH|DT
DOR27|DT
INS93|MH
INS93|SY
/* wi.c - program for generating the word index for the
UMLS Metathesaurus.
To create an executable that can be run from the
command line, use the following command:
cc -o wi -DWI_MAIN wi.c
This creates the program "wi" that supports the
following options:
-t Specifies the field number of the term
Default is 1.
-o Specifies which fields are to be output
in addition to the words. Note that the
word generated is always the last field.
The -o option can be multiply specified.
The output will contain these fields in
the order specified. Default is no
additional fields.
-f Specifies an alternate field separator.
Default is '|'.
-h Produces a brief usage message.
Example:
wi -t7 -o2 -o7 -o1
Splits the 7th field into words and includes in
the output, the fields 2, 7, and 1 followed by
a word, in that order.
If the -DWI_MAIN is not specified and this file is
compiled with -c, the function char **generate_words()
is available for linking.
cc -c wi.c
This function is passed two arguments: the first
pointing to the term (char *) and the second
(int *) in which is returned the number of words
generated. The function returns a pointer to the
words.
*/
/*
RULES:
For the word index, the following rules define what
is a word.
- All runs of alphanumeric characters constitute a word.
- In general, whitespace and punctuation constitute word
delimiters and are deleted with the following exceptions:
1. Terms ending in "<D>" where D is any digit
(multi-meaning symbol) will have the '<' and '>'
characters retained as part of the word.
For example:
Baseball <1> -> baseball|<1>|
2. Embedded commas are part of the word if they are
surrounded by digits, or have a single letter or one
or more primes before the digit to its left. In other
words, they satisfy one of these regular expressions:
[0-9]'*,[0-9]
[0-9][A-Za-z],[0-9]
In such a case, the entire word as well as subwords
resulting from splitting on the commas are output.
For example:
1,3-diazol -> 1,3|1|3|diazol|
12a,12b-dodecahedro -> 12a,12b|12a|12b|dodecahedro|
2,2',2''-trichlorotriethylamine ->
2,2',2''|2|2'|2''|trichlorotriethylamine|
3. Primes (quotes) are kept as part of the word. When they
mark the possessive an additional word with the possessive
marker stripped is also generated. Words with leading and
final quotes have these removed.
Examples:
2,2'-Dipyridyl -> 2,2'|2|2'|dipyridyl|
6'''-deamino-6'''-hydroxyneomycin B ->
6'''|deamino|hydroxyneomycin|b|
Guanidine, N-cyano-N',N''-dimethyl- ->
guanidine|n|cyano|n'|n''|dimethyl
American Nurses' Association ->
american|nurses'|nurses|association|
Fanconi's Anemia -> fanconi's|fanconi|anemia|
scorpion toxin I'' -> scorpion|toxin|i''|
Spasmex ''Maestretti'' -> spasmex|maestretti|
4. Periods are considered part of the word if they are not in
the first character position. If any period in a word is
surrounded by digits, then the output contains the word with
the period(s), and all (non-null) subwords resulting from
breaking on the periods. For example:
BM 15.075 -> bm|15.075|15|075|
If all periods in the word do not have digits on either side,
the output consists of the word with the period as well as
the word with the periods removed. For example:
Washington, D.C. -> washington|d.c.|dc|
Support, Non-U.S. Gov't -> support|non|u.s.|us|gov't|
5. Asterisks will be part of the word, for example,
2,3-Octadecanediol, (R*,S*)-(+-)- ->
2,3|2|3|octadecanediol|r*|s*|
- All uppercase letters are converted to lowercase on output.
- No stopwords are used.
The resulting list of words for a given term contains no duplicates in
the word index.
*/
#include <stdio.h>
#include <string.h>
#include <malloc.h>
static char sccs_id[] = "%W% %G%";
#define UMLS_WI_DEFAULT_ALLOCATION 256
#define UMLS_WI_FS '|'
#define NEWLINE '\n'
#define EOS '\0'
#define ASTERISK '*'
#define OPEN_ANGLE '<'
#define CLOSE_ANGLE '>'
#define COMMA ','
#define PERIOD '.'
#define APOSTROPHE '\''
#define PRIME '\''
#define QUOTE '\''
extern int getopt();
/* function prototypes */
char **generate_words();
static int break_out_quotes();
static int break_out_commas();
static int break_out_periods();
static int is_in_table();
static int put_in_table();
static int tokenize();
static void *realloc_buf();
static void strip_char();
static void llip();
/* statics */
static int n_charBuf = 0;
static int a_charBuf = 0;
static char *charBuf = (char *)NULL; /* buffer for all strings. */
static int n_tokenBuf = 0;
static int a_tokenBuf = 0;
static int *tokenBuf = (int *)NULL; /* contains all tokens */
static int n_outBuf = 0;
static int a_outBuf = 0;
static int *outBuf = (int *)NULL;
static char **ptrBuf = (char **)NULL;
static int n_ptrBuf = 0;
static int a_ptrBuf = 0;
/* used if compiling the program wi */
#ifdef WI_MAIN
static void wi_usage();
static int *get_fields();
/* MAIN */
main(argc, argv)
int argc;
char *argv[];
{
static char *lineBuf = (char *)NULL;
static int n_lineBuf = 0;
static int a_lineBuf = 0;
static int *oBuf = (int *)NULL;
static int n_oBuf = 0;
static int a_oBuf = 0;
int tf = 0;
char fs = UMLS_WI_FS;
int c;
int numF, numW, i, j;
int *fields;
char **wp; /* words */
extern int optind;
extern char *optarg;
/* get user options */
while ((c = getopt(argc, argv, "o:f:t:h")) != (-1))
{
switch (c)
{
case 'o': /* output option */
if (n_oBuf >= a_oBuf)
if ((oBuf = (int *) realloc_buf((void *)oBuf, sizeof(int),
n_oBuf, &a_oBuf, (int)1,
UMLS_WI_DEFAULT_ALLOCATION)) ==
(int *)NULL)
return(2);
*(oBuf+n_oBuf++) = atoi(optarg)-1;
break;
case 'f': /* field separator */
fs = *optarg;
break;
case 't': /* term field */
tf = atoi(optarg)-1; /* change to 0-indexed */
break;
default:
wi_usage(argv[0]);
return(2);
}
}
while ((c = getchar()) != EOF)
{
if (n_lineBuf >= a_lineBuf)
if ((lineBuf = (char *) realloc_buf((void *) lineBuf,
sizeof(char), n_lineBuf, &a_lineBuf, (int)1,
UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
return(2);
if (c == NEWLINE)
{
lineBuf[n_lineBuf] = EOS;
if ((fields = get_fields(lineBuf, fs, &numF)) == (int *)NULL)
continue;
for (i=0; i<numF; i++)
*(lineBuf + *(fields+2*i) + *(fields+(2*i+1))) = EOS;
/* generate words for term */
if ((wp = generate_words(lineBuf + *(fields+2*tf), &numW)) ==
(char **)NULL)
continue;
/* output words */
for (i=0; i<numW; i++)
{
for (j=0; j<n_oBuf; j++)
printf("%s%c", lineBuf + *(fields+2*(*(oBuf+j))),
UMLS_WI_FS);
printf("%s\n", *(wp+i));
}
n_lineBuf = 0;
}
else
lineBuf[n_lineBuf++] = (char)c;
}
return(0);
}
/* breaks a line into fields and returns an integer array
such that a[2*n]=start offset and a[2*n+1] = length of
the n'th field.
*/
static int
*get_fields(line, sep, numF)
char *line; /* line to be broken up */
char sep; /* separator char */
int *numF; /* number of fields */
{
static int n_fieldBuf = 0;
static int a_fieldBuf = 0;
static int *fieldBuf = (int *)NULL;
int start;
int length;
char *lp;
for (start=0, n_fieldBuf=0, length=0, lp=line, *numF = 0; *lp != EOS; lp++)
{
if (*lp == sep)
{
if (n_fieldBuf >= a_fieldBuf)
if ((fieldBuf = (int *) realloc_buf((void *)fieldBuf,
sizeof(int), n_fieldBuf,
&a_fieldBuf, (int)1, UMLS_WI_DEFAULT_ALLOCATION)) ==
(int *)NULL)
return((int *)NULL);
*(fieldBuf + 2*n_fieldBuf) = start;
*(fieldBuf + 2*n_fieldBuf + 1) = length;
start = lp-line+1;
length = 0;
n_fieldBuf++;
}
else
length++;
}
if (n_fieldBuf >= a_fieldBuf)
if ((fieldBuf = (int *) realloc_buf((void *)fieldBuf, sizeof(int),
n_fieldBuf, &a_fieldBuf, (int)1,
UMLS_WI_DEFAULT_ALLOCATION)) == (int *)NULL)
return((int *)NULL);
*(fieldBuf + 2*n_fieldBuf) = start;
*(fieldBuf + 2*n_fieldBuf + 1) = length;
n_fieldBuf++;
*numF = n_fieldBuf;
return(fieldBuf);
}
static void
wi_usage(prog)
char *prog;
{
fprintf(stderr, "Usage: %s [-o field]... [-f sep] [-t field] [-h]\n\n",
prog);
fprintf(stderr, "The \"words\" are output one per line.\n\n");
fprintf(stderr, " -o field to be copied to output in order.\n");
fprintf(stderr, " Can be multiply specified. Default is none.\n");
fprintf(stderr, " -f field separator (default is '%c').\n", UMLS_WI_FS);
fprintf(stderr, " -t field containing the term to be split.\n");
fprintf(stderr, " The default is 1.\n\n");
fprintf(stderr, "For example:\n\n");
fprintf(stderr, " wi -o2 -o1 -t2\n\n");
fprintf(stderr, "outputs the second field, the first field followed by\n");
fprintf(stderr, "the word resulting from breaking up the second field.\n");
return;
}
#endif /* WI_MAIN */
/* given a term, generates all words from it */
char **
generate_words(term, n_words)
char *term;
int *n_words;
{
int i;
n_charBuf = n_tokenBuf = n_outBuf = n_ptrBuf = 0;
if ((charBuf = (char *)realloc_buf((void *)charBuf, sizeof(char),
n_charBuf, &a_charBuf, strlen(term)+1,
UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
return((char **)NULL);
strcpy(charBuf, term);
n_charBuf += strlen(term)+1;
/* insert NULs at token breaks and set pointers to the start of tokens */
if (!tokenize(charBuf))
return((char **)NULL);
/* initialize table containing words already output */
if ((outBuf = (int *) realloc_buf((void *)outBuf, sizeof(int),
n_outBuf, &a_outBuf, n_tokenBuf,
UMLS_WI_DEFAULT_ALLOCATION)) == (int *)NULL)
return((char **)NULL);
for (i=0; i<n_tokenBuf; i++)
{
if (!is_in_table(*(tokenBuf+i)))
{
if (n_outBuf >= a_outBuf)
if ((outBuf = (int *) realloc_buf((void *)outBuf, sizeof(int),
n_outBuf, &a_outBuf, (int)1,
UMLS_WI_DEFAULT_ALLOCATION)) == (int *)NULL)
return((char **)NULL);
if (!put_in_table(*(tokenBuf+i)))
return((char **)NULL);
if (!break_out_quotes(*(tokenBuf+i)))
return((char **)NULL);
if (!break_out_commas(*(tokenBuf+i)))
return((char **)NULL);
if (!break_out_periods(*(tokenBuf+i)))
return((char **)NULL);
}
}
*n_words = n_outBuf;
/* load ptrBuf and lowercase words */
for (i=0; i<n_outBuf; i++)
{
if (n_ptrBuf >= a_ptrBuf)
if ((ptrBuf = (char **)realloc_buf((void *)ptrBuf, sizeof(char *),
n_ptrBuf, &a_ptrBuf, (int)1,
UMLS_WI_DEFAULT_ALLOCATION)) == (char **)NULL)
return((char **)NULL);
*(ptrBuf+n_ptrBuf) = charBuf + *(outBuf+i);
llip(*(ptrBuf+n_ptrBuf));
n_ptrBuf++;
}
return(ptrBuf);
}
/* Inserts NULs where tokens break and sets the tokens array.
*/
static int
tokenize(term)
char *term;
{
register int current = 0;
int start = 0;
int inToken = 0; /* started building token */
while (*(term+current) != EOS)
{
if (isalnum(*(term+current)) || *(term+current) == QUOTE)
{
if (!inToken)
{
inToken = 1;
start = current;
if (n_tokenBuf >= a_tokenBuf)
{
if ((tokenBuf = (int *) realloc_buf((void *)tokenBuf,
sizeof(int), n_tokenBuf, &a_tokenBuf, (int)1,
UMLS_WI_DEFAULT_ALLOCATION)) == (int *)NULL)
return(0);
}
*(tokenBuf + n_tokenBuf) = start;
}
current++;
continue;
}
/* asterisks, e.g., R*, S* */
if (inToken && *(term+current) == ASTERISK)
{
current++;
continue;
}
/* periods, e.g., 15.435, U.S. */
if (inToken && *(term+current) == PERIOD)
{
current++;
continue;
}
/* multi-meaning markers, e.g., baseball <1> */
if ( !inToken &&
*(term+current) == OPEN_ANGLE &&
isdigit(*(term+current+1)) &&
*(term+current+2) == CLOSE_ANGLE &&
*(term+current+3) == EOS)
{
if (n_tokenBuf >= a_tokenBuf)
{
if ((tokenBuf = (int *) realloc_buf((void *)tokenBuf,
sizeof(int), n_tokenBuf, &a_tokenBuf, (int)1,
UMLS_WI_DEFAULT_ALLOCATION)) == (int *)NULL)
return(0);
}
*(tokenBuf + n_tokenBuf) = current;
n_tokenBuf++;
current += 3;
continue;
}
/* commas, e.g., 2,3 or 4b,5, 3',4 */
if ( inToken &&
*(term+current) == COMMA &&
isdigit(*(term+current+1)))
{
if (isdigit(*(term+current-1)))
{
current++;
continue;
}
if ( (current-start)>1 &&
isalpha(*(term+current-1)) &&
isdigit(*(term+current-2)))
{
current++;
continue;
}
else
{
if ((current-start)>1 && *(term+current-1) == PRIME)
{
int i;
for (i=current-1; i>=start; i--)
{
if (*(term+i) != PRIME)
break;
}
if ( i < current-1 &&
i >= start &&
isdigit(*(term+i)))
{
current++;
continue;
}
}
}
}
/* break on all other punctuation */
*(term+current) = EOS;
current++;
if (inToken)
{
n_tokenBuf++;
inToken = 0;
}
}
if (inToken)
n_tokenBuf++;
return(1);
}
/* handles possessives and quoted words */
static int
break_out_quotes(ofs)
int ofs;
{
int len;
len = strlen(charBuf+ofs);
/* singular possessives */
if (len>2 &&
( strcmp(charBuf+ofs+len-2, "'s") == 0 ||
strcmp(charBuf+ofs+len-2, "'S") == 0))
{
if ((charBuf = (char *) realloc_buf((void *)charBuf, sizeof(char),
n_charBuf, &a_charBuf, (int)(len-1),
UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
return(0);
strncpy(charBuf+n_charBuf, charBuf+ofs, len-2);
*(charBuf+n_charBuf+(len-2)) = EOS;
if (!is_in_table(n_charBuf))
if (!put_in_table(n_charBuf))
return(0);
n_charBuf += (len-1);
return(1);
}
/* plural possessives */
if (len>2 &&
( strcmp(charBuf+ofs+len-2, "s'") == 0 ||
strcmp(charBuf+ofs+len-2, "S'") == 0))
{
if ((charBuf = (char *) realloc_buf((void *)charBuf, sizeof(char),
n_charBuf, &a_charBuf, (int)(len),
UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
return(0);
strncpy(charBuf+n_charBuf, charBuf+ofs, len-1);
*(charBuf+n_charBuf+(len-1)) = EOS;
if (!is_in_table(n_charBuf))
if (!put_in_table(n_charBuf))
return(0);
n_charBuf += (len);
return(1);
}
/* quoted terms */
if (len>2 &&
*(charBuf+ofs) == QUOTE && *(charBuf+ofs+len-1) == QUOTE)
{
int source;
int dest;
source = dest = ofs;
while (*(charBuf+source) == QUOTE)
source++;
while ((*(charBuf + dest++) = *(charBuf + source++)) != EOS)
;
for (source = strlen(charBuf+ofs)-1; *(charBuf+ofs+source) == QUOTE;
source--)
*(charBuf + ofs + source) = EOS;
return(1);
}
return(1);
}
/* For tokens with embedded commas break out subtokens */
static int
break_out_commas(ofs)
int ofs;
{
int startP = ofs;
int endP;
char *cp;
while ((cp = strchr(charBuf+startP, COMMA)) != (char *)NULL)
{
endP = cp - charBuf;
if (endP <= startP)
{
startP = endP + 1;
continue;
}
if ((charBuf = (char *) realloc_buf((void *)charBuf, sizeof(char),
n_charBuf, &a_charBuf, (int)(endP-startP+1),
UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
return(0);
strncpy(charBuf+n_charBuf, charBuf+startP, endP-startP);
*(charBuf+n_charBuf+(endP-startP)) = EOS;
if (!is_in_table(n_charBuf))
if (!put_in_table(n_charBuf))
return(0);
n_charBuf += (endP-startP+1);
startP = endP+1;
}
if (*(charBuf+startP) != EOS && startP > ofs && !is_in_table(startP))
if (!put_in_table(startP))
return(0);
return(1);
}
/* breaks out subtokens if word contains embedded periods */
static int
break_out_periods(ofs)
int ofs;
{
int startP = ofs;
int endP;
char *cp;
int digitFlag = 0;
while ((cp = strchr(charBuf+startP, PERIOD)) != (char *)NULL)
{
endP = cp - charBuf;
if (endP>startP && (isdigit(*(charBuf+endP+1)) &&
isdigit(*(charBuf+endP-1))))
{
digitFlag = 1;
startP = endP+1;
break;
}
startP = endP+1;
}
if (startP == ofs)
return(1);
startP = ofs;
if (digitFlag == 0) /* copy ignoring periods */
{
if ((charBuf = (char *)realloc_buf((void *) charBuf, sizeof(char),
n_charBuf, &a_charBuf, strlen(charBuf+startP)+1,
UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
return(0);
strcpy(charBuf+n_charBuf, charBuf+startP);
strip_char(charBuf+n_charBuf, PERIOD);
if (!is_in_table(n_charBuf))
{
if (!put_in_table(n_charBuf))
return(0);
n_charBuf += strlen(charBuf+n_charBuf)+1;
}
}
else /* break out separate subtokens */
{
while ((cp = strchr(charBuf+startP, PERIOD)) != (char *)NULL)
{
endP = cp-charBuf;
if (endP <= startP)
{
startP = endP + 1;
continue;
}
if ((charBuf = (char *) realloc_buf((void *)charBuf, sizeof(char),
n_charBuf, &a_charBuf, (int)(endP-startP+1),
UMLS_WI_DEFAULT_ALLOCATION*4)) == (char *)NULL)
return(0);
strncpy(charBuf+n_charBuf, charBuf+startP, endP-startP);
*(charBuf+n_charBuf+(endP-startP)) = EOS;
if (!is_in_table(n_charBuf))
{
if (!put_in_table(n_charBuf))
return(0);
n_charBuf += (endP-startP+1);
}
startP = endP+1;
}
if (*(charBuf+startP) != EOS && startP > ofs && !is_in_table(startP))
if (!put_in_table(startP))
return(0);
}
return(1);
}
/* checks to see if a word is already in output table. */
static int
is_in_table(ofs)
int ofs;
{
register int i;
for (i=0; i<n_outBuf; i++)
{
if (strcasecmp(charBuf+ofs, charBuf + *(outBuf+i)) == 0)
return(1);
}
return(0);
}
/* inserts a word in the output table */
static int
put_in_table(ofs)
int ofs;
{
/* reject single character punctuation strings */
if (strlen(charBuf+ofs) == 1 && ispunct(*(charBuf+ofs)))
return(1);
if (n_outBuf >= a_outBuf)
if ((outBuf = (int *) realloc_buf((void *) outBuf, sizeof(int),
n_outBuf, &a_outBuf, (int)1,
UMLS_WI_DEFAULT_ALLOCATION)) == (int *)NULL)
return(0);
*(outBuf + n_outBuf) = ofs;
n_outBuf++;
return(1);
}
/* Increases the allocation of a buffer, buf using malloc/realloc.
buf has alloc bytes currently allocated and size bytes are in use.
n additional bytes are needed. Allocation jumps in steps of incr.
*/
static void *
realloc_buf(buf, unit, size, alloc, n, incr)
void *buf; /* pointer to buffer */
int unit; /* size of one of what buf points to in bytes */
int size; /* current size of buffer in units */
int *alloc; /* current allocation of buffer in units */
int n; /* units needed */
int incr; /* increment size in units */
{
if ((size + n) > *alloc)
{
while ((size+n) > *alloc)
*alloc += incr;
if (size == 0)
{
if ((buf = (void *) malloc((unsigned)(unit*(*alloc)))) ==
(void *)NULL)
return((void *)NULL);
}
else
{
if ((buf = (void *) realloc((char *)buf,
(unsigned)(unit*(*alloc)))) == (void *)NULL)
return((void *)NULL);
}
}
return(buf);
}
/* strips all occurrences of character 'c' from string 's' */
static void
strip_char(s, c)
char *s;
char c;
{
register char *source;
register char *dest;
for (source = dest = s; *source != EOS; )
{
if (*source == c)
{
source++;
}
else
{
*dest++ = *source++;
}
}
*dest = EOS;
}
/* lowercases characters in s in place. */
static void
llip(s)
register char *s;
{
for (; *s != EOS; s++)
*s = (isupper(*s) ? tolower(*s) : *s);
return;
}
Groupings of semantic types have been established for the purpose of displaying
MEDLINE co-occurrence information. These 14 high-level groupings appear in
the MetaCard application on the "occurs" screen.
The first field of the co-occur file is the name of the co-occurrence
category for MetaCard. The second field is the name of the semantic type
that should be assigned to the category.
Organisms|Organism
Organisms|Plant
Organisms|Alga
Organisms|Fungus
Organisms|Virus
Organisms|Rickettsia or Chlamydia
Organisms|Bacterium
Organisms|Animal
Organisms|Invertebrate
Organisms|Vertebrate
Organisms|Amphibian
Organisms|Bird
Organisms|Fish
Organisms|Reptile
Organisms|Mammal
Organisms|Human
Anatomy|Anatomical Structure
Anatomy|Embryonic Structure
Anatomy|Congenital Abnormality
Anatomy|Acquired Abnormality
Anatomy|Fully Formed Anatomical Structure
Anatomy|Body System
Anatomy|Body Part, Organ, or Organ Component
Anatomy|Tissue
Anatomy|Cell
Anatomy|Cell Component
Anatomy|Body Location or Region
Anatomy|Body Space or Junction
Anatomy|Body Substance
Molecular Biology|Macromolecular Structure
Molecular Biology|Gene or Genome
Molecular Biology|Molecular Function
Molecular Biology|Genetic Function
Molecular Biology|Cell or Molecular Dysfunction
Molecular Biology|Molecular Biology Research Technique
Molecular Biology|Molecular Sequence
Molecular Biology|Nucleotide Sequence
Molecular Biology|Amino Acid Sequence
Molecular Biology|Carbohydrate Sequence
Molecular Biology|Nucleic Acid, Nucleoside, or Nucleotide
Molecular Biology|Amino Acid, Peptide, or Protein
Physiology|Biologic Function
Physiology|Physiologic Function
Physiology|Organism Function
Physiology|Mental Process
Physiology|Organ or Tissue Function
Physiology|Cell Function
Physiology|Organism Attribute
Behaviors|Behavior
Behaviors|Social Behavior
Behaviors|Individual Behavior
Diseases & Pathologic Processes|Pathologic Function
Diseases & Pathologic Processes|Disease or Syndrome
Diseases & Pathologic Processes|Mental or Behavioral Dysfunction
Diseases & Pathologic Processes|Experimental Model of Disease
Diseases & Pathologic Processes|Finding
Diseases & Pathologic Processes|Laboratory or Test Result
Diseases & Pathologic Processes|Sign or Symptom
Diseases & Pathologic Processes|Injury or Poisoning
Chemicals & Drugs|Chemical
Chemicals & Drugs|Chemical Viewed Structurally
Chemicals & Drugs|Inorganic Chemical
Chemicals & Drugs|Element or Ion
Chemicals & Drugs|Isotope
Chemicals & Drugs|Inorganic Compound
Chemicals & Drugs|Organic Chemical
Chemicals & Drugs|Steroid
Chemicals & Drugs|Eicosanoid
Chemicals & Drugs|Lactam
Chemicals & Drugs|Alkaloid
Chemicals & Drugs|Organophosphorus Compound
Chemicals & Drugs|Carbohydrate
Chemicals & Drugs|Lipid
Chemicals & Drugs|Chemical Viewed Functionally
Chemicals & Drugs|Pharmacologic Substance
Chemicals & Drugs|Biomedical or Dental Material
Chemicals & Drugs|Biologically Active Substance
Chemicals & Drugs|Neuroreactive Substance or Biogenic Amine
Chemicals & Drugs|Hormone
Chemicals & Drugs|Enzyme
Chemicals & Drugs|Vitamin
Chemicals & Drugs|Prostaglandin
Chemicals & Drugs|Immunologic Factor
Chemicals & Drugs|Indicator or Reagent
Chemicals & Drugs|Hazardous or Poisonous Substance
Procedures|Laboratory Procedure
Procedures|Diagnostic Procedure
Procedures|Therapeutic or Preventive Procedure
Concepts & Ideas|Conceptual Entity
Concepts & Ideas|Idea or Concept
Concepts & Ideas|Temporal Concept
Concepts & Ideas|Qualitative Concept
Concepts & Ideas|Quantitative Concept
Concepts & Ideas|Functional Concept
Concepts & Ideas|Spatial Concept
Concepts & Ideas|Intellectual Product
Concepts & Ideas|Language
Concepts & Ideas|Regulation or Law
Concepts & Ideas|Group Attribute
Organizations & Occupations|Occupation or Discipline
Organizations & Occupations|Biomedical Occupation or Discipline
Organizations & Occupations|Organization
Organizations & Occupations|Health Care Related Organization
Organizations & Occupations|Professional Society
Organizations & Occupations|Self-help or Relief Organization
Groups|Group
Groups|Professional or Occupational Group
Groups|Population Group
Groups|Family Group
Groups|Age Group
Groups|Patient or Disabled Group
Geographic Areas|Geographic Area
Physical Objects|Entity
Physical Objects|Physical Object
Physical Objects|Manufactured Object
Physical Objects|Medical Device
Physical Objects|Research Device
Physical Objects|Substance
Physical Objects|Food
Activities|Event
Activities|Activity
Activities|Daily or Recreational Activity
Activities|Occupational Activity
Activities|Health Care Activity
Activities|Research Activity
Activities|Governmental or Regulatory Activity
Activities|Educational Activity
Activities|Machine Activity
Activities|Phenomenon or Process
Activities|Human-caused Phenomenon or Process
Activities|Environmental Effect of Humans
Activities|Natural Phenomenon or Process