MetaMap 2008 Release Notes |
Old option name | Flag | New option name |
an_derivational_variants  | -D | all_derivational_variants  |
best_mappings_only | -b | compute_all_mappings |
candidates | -c | hide_candidates |
mappings | -m | hide_mappings |
no_acros_abbrs | -a | allow_acros_abbrs |
plain_syntax | -p | hide_plain_syntax |
semantic_types | -s | hide_semantic_types |
stop_large_n | -l | allow_large_n |
tag_text | -t | no_tagging |
It is important to note that only the names of these options have
changed, and not their behavior. E.g., using -t in MetaMap08
turns off tagging, just as it did in previous versions of MetaMap.
That option is now more mnemonically called no_tagging
instead of tag_text,
to indicate that invoking -t turns off tagging.
Similarly, using -m in MetaMap08 turns off the display of
mappings (but not their computation), just as it did in previous
versions of MetaMap.
That option is now more mnemonically called hide_mappings,
instead of mappings, to indicate that -m
turns off the display of mappings.
To repeat: Only the names of the options, and not their behavior, has changed.
Deleted Short Command-Line Options
The short forms -h for help and -w for warnings have been removed. In order to invoke help or warnings, the long forms --help and --warnings must now be used.
Finally, the short forms
-0,
-1,
-2,
-3,
-4,
-5,
-6,
-7, and
-9, for debug0--debug9 have been removed. In
order to invoke a debugging option, it is now necessary to call --debug
N, where N is one of 0, 1, 2, 3, 4, 5, 6, 7, or 9.
It is also possible to invoke debugging using a comma-separated list
of the numerical debugging options, e.g., --debug 3,4,5
to turn on several debugging options at once.
XML Output
In order to provide MetaMap output in a well known format, MetaMap08
allows users to generate XML output, in addition to the existing MetaMap
Machine Output (MMO).
XML output is generated using the short form -%
or the long form --XML,
both of which require providing either format or noformat
as an argument. The high-level structure of MetaMap XML output corresponds
to that of the MMO, and includes the changes to MMO outlined in
Changes in MMO
below.
The
MMO to XML DTD for the XML is also available.
Note that MetaMap XML output and MMO are two equivalent ways of
representing MetaMap's analysis of text,
even though the XML and MMO output of course look extremely different.
MetaMap XML output can be either formatted or unformatted. Formatted XML output is generated by the command-line argument -% format, and is pretty-printed with indentations, as shown in Formatted XML Output Example. Unformatted XML output is generated by the command-line argument -% noformat, and is not pretty-printed, as shown in Unformatted XML Output Example; almost all formatting whitespace and carriage returns are removed in order to conserve disk space.
Note that XML output (both formatted and unformatted) requires far
more disk space than MMO. The tradeoff between formatted and unformatted
XML output is that formatted XML is human-readable, but requires about
50% more space than unformatted XML output. Conversely, unformatted XML
output is not readily human-readable, but requires only about two-thirds
of the disk space of formatted XML output. Formatted and unformatted XML
output require about six and four times as much space as MMO output,
respectively.
The args Term:
The args term
represents the command-line invocation of MetaMap
and is of the form
args(CommandLine, MetaMapOptions)
For example, suppose MetaMap were invoked as
metamap -qkC neop,gngm -Z 0708 myfile.txt myfile.out
The command-line flags have the following significance:
The MetaMapOptions argument is a comma-separated
list of terms of the form
outfile-'myfile.txt.out'
The aas Term:
MetaMap attempts to identify acronyms and abbreviations (AAs)
in the input text by matching a string S of text with a subsequent parenthesized string
containing initial (or medial) letters of the words in S.
Several examples of AAs discovered by MetaMap are the following:
The aas term
represents all AAs discovered in the text by MetaMap and is of the form
aas(AcronymsAndAbbreviations)
where AcronymsAndAbbreviations is a comma-separated list of 4-tuples of the form
Acronym * Expansion * CountList * CUIList
The ``*'' character was chosen as a separator because of its
extremely low chance of appearing in the acronym or the expansion.
For example, the 4-tuple generated by the input text
["LC" * "lung cancer" * [1,2,3,11] * ['C0242379','C0684249']
The components of 4-tuple above are the following:
Let us now consider a larger example.
Suppose the following AAs were discovered in the text:
In the aas term above,
pituitary adrenotropic hormone is the only string not mapped to
a Metathesaurus concept; its CUIList is therefore the empty list [].
The negex Term:
As of this release, the negex term is simply a placeholder
of the form neg_list([]). Once Negex is fully incorporated
into MetaMap, however, the negex term will be of the form
neg_list(ListOfNegations)
where ListOfNegations is a comma-separated list of terms of the form
For example, the sentence
The patient denied chest pain, and heart attack was ruled out.
would generate the negex term
The positional information (PI) is a comma-separated list of StartPos/Length
terms representing the starting character position of the text string in
question and its length in characters. There can be multiple StartPos/Length
terms in a negation term because triggers and concepts can be
represented in the text by two or more non-contiguous strings. This
point will be explained more fully in the next section.
Changes to Existing MMO Components
Addition of PI in Utterance and Phrase Terms:
Utterance and phrase terms have undergone only one change:
an additional argument at the end of the term representing the PI
of the text contained in the utterance or phrase.
For example, the previous form of the utterance term was
but the new form of the utterance terms is
In the new utterance form, 936/69 is the positional information,
and indicates that this utterance begins at the
936th character position in the input text,
and takes up 69 characters in the text.
The alert reader will have noticed that the utterance as
printed contains only 63 characters.
So why does the PI specify 69 characters?
The relevant section of the original input text looks like the following,
where each ``·'' raised dot represents a blank space:
MetaMap automatically compresses all whitespace into one blank;
therefore the printed representation of text in MMO shows only one blank,
and not the six in the original text.
The positional information, however, is faithful to the original text
in order to allow users to identify the actual text in question.
Phrase terms have a PI term of the same form and in the same place as
do utterance terms.
For example, the previous form of the phrase term was
but the new form of the phrase terms is
As was the case in the in the new form of the utterance term,
345/6 is the positional information,
and indicates that the phrase models begins at the
345th character position in the document, and takes up 6 characters in the document.
Addition of both PI and SI in Candidates and Mappings Terms:
Candidates and mappings terms have undergone two changes,
both in the ev subterms,
which now include Positional Information (PI) and
Source Information (SI) as their last two arguments.
For example, the previous form of the candidates terms was
but the new form of the candidates term is
Similarly, the previous form of the mappings terms was
but the new form of the mappings term is
The SI terms
(in bold in the two boxes above
containing the new candidates and mappings terms)
appear in the ev subterms,
and consist of comma-separated lists of atoms
identifying the Metathesaurus vocabulary/(ies) in which
the concept identified in the ev subterm was found.
The PI terms (in bold italics in the same two boxes above)
also appear in the ev subterms immediately after the SI terms,
and are comma-separated lists of StartPos/Length terms
(just as in the negex term),
rather than a single StartPos/Length term
(as in utterance and phrase terms)
because a concept in be represented in the text
by two or more non-contiguous strings.
For example, in the utterance
Molecular electronegative distance vector related to properties
of alkanes.
MetaMap discovers the concept molecular vector. The ev
term for this concept would be
because molecular begins at the 173rd character in the
citation and spans 9 characters, and vector begins at the 208th
character in the citation, and spans 6 characters.
The XML DTD: MMO to XML DTD (HTML: 8kb). Unformatted XML Output Example
Changes in MMO
MetaMap Machine Output (MMO) has undergone a number of enhancements,
most notably the addition of positional information (PI).
Over the years, we have received numerous requests for the ability
to identify the exact location in the original text from which a
MetaMap concept was identified.
In order to provide this ability,
MMO (and XML) now contain information identifying the exact
character positions in the original text of for utterances,
phrases, candidates, and mappings.
MMO also contains several other additions described below.
The changes to MMO are the following:
Note that all MMO structures displayed in this document are printed with
indentation to make them readable;
in actual MMO output,
each structure is printed entirely on one line,
because MMO output is not intended to be human-readable,
but rather postprocessed by downstream programs.
New Top-Level MMO Components
As noted above, MMO now contains three new top-level components:
args,
aas, and
negex, each of which will be described in turn.
For this invocation of MetaMap, the args term would be
args('/nfsvol/nls/bin/metamap -qkC neop,gngm -Z 0708 myfile.txt myfile.out',
[machine_output-[],
exclude_sts-[neop,gngm],
relaxed_model-[],
mm_data_year-'0708',
infile-'myfile.txt',
outfile-'myfile.out'])
The CommandLine argument of the args/2 term is
simply the command-line call, including the (site-specific) absolute pathname
of the binary runtime executable.
OptionName-OptionValue
OptionValue is simply [] if the option is a binary
switch that requires no value to be specified,
as is the case in the example above with
machine_output and relaxed_model.
The outfile argument need not
be specified, because the output file name defaults to the entire input
filename with .out appended. In such a case, the outfile
argument will still appear in the args term. Had the user not
specified myfile.out on the command-line as the output file,
the final component of the
MetaMapOptions argument of the args term
would have been
lung cancer (LC)
is the following:
The entire aas term would then be
aas([ "LC" * "lung cancer" * [1,2,3,11] * ['C0242379','C0684249'],
"D" * "density" * [1,1,1,7] * ['C0178587'],
"P.T.A." * "plasma thromboplastin antecedent" * [6,6,5,32] * ['C0015522'],
"PATH" * "pituitary adrenotropic hormone" * [1,4,5,30] * [] ]).
negation(<type of negation>,
<negation trigger>, <trigger positional info>,
<negated concept>, <concept positional info>)
neg_list([negation(nega,
'denied', [13/6], 'chest pain', [20/10]),
negation(negb,
'was ruled out', [49/13], 'heart attack', [36/12])])
We now explain the changes to the
internal structure of existing MMO terms, which, as noted in the
introduction, are of two kinds:
The changes to the utterance and phrase terms are simpler (only PI
was added to them), so we isolate them and present them first, and then
explain the changes to candidates and mappings terms, which include both
PI and SI.
utterance('11128092.ab.3',
"All models are created using multiple linear regression (MLR).")
utterance('11128092.ab.3',
"All models are created using multiple linear regression (MLR).",
936/69)
······chain length. All models are created using multiple linear regression
······(MLR). Conventional models are proposed for the remaining nine physical
phrase(models,
[verb([lexmatch([models]),inputmatch([models]),tag(verb),tokens([models])])])
phrase(models,
[verb([lexmatch([models]),inputmatch([models]),tag(verb),tokens([models])])],
345/6)
candidates(
[ev(-1000,'C0026336','Models','Study models',
[models],[inpr,resd],[[[1,1],[1,1],0]],yes,no),
ev(-1000,'C0026339','Models','Biological Models',
[models],[inpr,resd],[[[1,1],[1,1],0]],yes,no),
ev(-966,'C0870071','Modeling','Modeling',
[modeling],[inpr,resa],[[[1,1],[1,1],1]],yes,no)])
candidates(
[ev(-1000,'C0026336','Models','Study models',
[models],[inpr,resd],[[[1,1],[1,1],0]],yes,no,
['MTH','NCI','CSP','LCH','PSY'], [0/6] ),
ev(-1000,'C0026339','Models','Biological Models',
[models],[inpr,resd],[[[1,1],[1,1],0]],yes,no,
['MSH','MTH','NCI','AOD','CSP','AOT'], [0/6] ),
ev(-1000,'C0870071','Modeling','Modeling',
[modeling],[inpr,resa],[[[1,1],[1,1],0]],yes,no,
['LCH','NCI','PSY'], [0/8] )])
mappings(
[map(-1000,
[ev(-1000,'C0026339','Models','Biological Models',
[models],[inpr,resd],[[[1,1],[1,1],0]],yes,no)]),
map(-1000,
[ev(-1000,'C0026336','Models','Study models',
[models],[inpr,resd],[[[1,1],[1,1],0]],yes,no)])])
mappings(
map(-1000,
[ev(-1000,'C0026339','Models','Biological Models',
[models],[inpr,resd],[[[1,1],[1,1],0]],yes,no,
['MSH','MTH','NCI','AOD','CSP','AOT'],[0/6])]),
map(-1000,
[ev(-1000,'C0026336','Models','Study models',
[models],[inpr,resd],[[[1,1],[1,1],0]],yes,no,
['MTH','NCI','CSP','LCH','PSY'],[0/6])])]).
ev(-902,'C0872221','molecular vector','molecular vector',
[molecular,vector],[genf], [[[1,1],[1,1],0],[[4,4],[2,2],0]],yes,no,
['CSP'],[173/9,208/6])
Formatted XML Output Example
The formatted XML output for the input text heart
(generated by metamap08 -% format) is the following:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE MMOlist PUBLIC
"-//NLM//DTD MetaMap Machine Output//EN"
"http://ii-public.nlm.nih.gov/DTD/MMOtoXML.dtd">
<MMOlist>
<MMO>
<Args>
<Command>MetaMap -Z 08 -% format h</Command>
<Options Count="4">
<Option>
<OptName>mm_data_year</OptName>
<OptValue>08</OptValue>
</Option>
<Option>
<OptName>XML</OptName>
<OptValue>format</OptValue>
</Option>
<Option>
<OptName>infile</OptName>
<OptValue>h</OptValue>
</Option>
<Option>
<OptName>outfile</OptName>
<OptValue>h.out</OptValue>
</Option>
</Options>
</Args>
<AAs Count="0" />
<Negations Count="0" />
<Utterances Count="1">
<Utterance>
<PMID>00000000</PMID>
<Location>tx</Location>
<SeqNo>1</SeqNo>
<UText>heart.</UText>
<UStartPos>0</UStartPos>
<USpanLen>7</USpanLen>
<Phrases Count="1">
<Phrase>
<PText>heart.</PText>
<Tags Count="2">
<Tag>
<Type>head</Type>
<LexMatch>heart</LexMatch>
<InputMatch>heart</InputMatch>
<POS>noun</POS>
<Tokens Count="1">
<Token>heart</Token>
</Tokens>
</Tag>
<Tag>
<Type>punc</Type>
<InputMatch>.</InputMatch>
<Tokens Count="0" />
</Tag>
</Tags>
<PStartPos>0</PStartPos>
<PSpanLen>6</PSpanLen>
<Candidates Count="2">
<Candidate>
<NegScore>-1000</NegScore>
<UMLSCUI>C0018787</UMLSCUI>
<UMLSConcept>Heart</UMLSConcept>
<UMLSPreferred>Heart</UMLSPreferred>
<MatchedWords Count="1">
<MatchedWord>heart</MatchedWord>
</MatchedWords>
<STs Count="1">
<ST>bpoc</ST>
</STs>
<MatchMaps Count="1">
<MatchMap>
<TWMatchPosS>1</TWMatchPosS>
<TWMatchPosE>1</TWMatchPosE>
<CWMatchPosS>1</CWMatchPosS>
<CWMatchPosE>1</CWMatchPosE>
<Variation>0</Variation>
</MatchMap>
</MatchMaps>
<IsHead>yes</IsHead>
<IsOverMatch>no</IsOverMatch>
<Sources Count="20">
<Source>AIR</Source>
<Source>HL7V2.5</Source>
<Source>ICNP</Source>
<Source>LCH</Source>
<Source>LNC</Source>
<Source>MSH</Source>
<Source>MTH</Source>
<Source>NCI</Source>
<Source>OMIM</Source>
<Source>PSY</Source>
<Source>RCD</Source>
<Source>SNM</Source>
<Source>SNOMEDCT</Source>
<Source>UWDA</Source>
<Source>CCPSS</Source>
<Source>SNMI</Source>
<Source>AOD</Source>
<Source>CSP</Source>
<Source>BI</Source>
<Source>PNDS</Source>
</Sources>
<Spans Count="1">
<Span>
<StartPos>0</StartPos>
<SpanLen>5</SpanLen>
</Span>
</Spans>
</Candidate>
<Candidate>
<NegScore>-1000</NegScore>
<UMLSCUI>C1281570</UMLSCUI>
<UMLSConcept>Heart</UMLSConcept>
<UMLSPreferred>Entire heart</UMLSPreferred>
<MatchedWords Count="1">
<MatchedWord>heart</MatchedWord>
</MatchedWords>
<STs Count="1">
<ST>bpoc</ST>
</STs>
<MatchMaps Count="1">
<MatchMap>
<TWMatchPosS>1</TWMatchPosS>
<TWMatchPosE>1</TWMatchPosE>
<CWMatchPosS>1</CWMatchPosS>
<CWMatchPosE>1</CWMatchPosE>
<Variation>0</Variation>
</MatchMap>
</MatchMaps>
<IsHead>yes</IsHead>
<IsOverMatch>no</IsOverMatch>
<Sources Count="2">
<Source>MTH</Source>
<Source>SNOMEDCT</Source>
</Sources>
<Spans Count="1">
<Span>
<StartPos>0</StartPos>
<SpanLen>5</SpanLen>
</Span>
</Spans>
</Candidate>
</Candidates>
<Mappings Count="2">
<Mapping>
<MapNegScore>-1000</MapNegScore>
<Candidates Count="1">
<Candidate>
<NegScore>-1000</NegScore>
<UMLSCUI>C1281570</UMLSCUI>
<UMLSConcept>Heart</UMLSConcept>
<UMLSPreferred>Entire heart</UMLSPreferred>
<MatchedWords Count="1">
<MatchedWord>heart</MatchedWord>
</MatchedWords>
<STs Count="1">
<ST>bpoc</ST>
</STs>
<MatchMaps Count="1">
<MatchMap>
<TWMatchPosS>1</TWMatchPosS>
<TWMatchPosE>1</TWMatchPosE>
<CWMatchPosS>1</CWMatchPosS>
<CWMatchPosE>1</CWMatchPosE>
<Variation>0</Variation>
</MatchMap>
</MatchMaps>
<IsHead>yes</IsHead>
<IsOverMatch>no</IsOverMatch>
<Sources Count="2">
<Source>MTH</Source>
<Source>SNOMEDCT</Source>
</Sources>
<Spans Count="1">
<Span>
<StartPos>0</StartPos>
<SpanLen>5</SpanLen>
</Span>
</Spans>
</Candidate>
</Candidates>
</Mapping>
<Mapping>
<MapNegScore>-1000</MapNegScore>
<Candidates Count="1">
<Candidate>
<NegScore>-1000</NegScore>
<UMLSCUI>C0018787</UMLSCUI>
<UMLSConcept>Heart</UMLSConcept>
<UMLSPreferred>Heart</UMLSPreferred>
<MatchedWords Count="1">
<MatchedWord>heart</MatchedWord>
</MatchedWords>
<STs Count="1">
<ST>bpoc</ST>
</STs>
<MatchMaps Count="1">
<MatchMap>
<TWMatchPosS>1</TWMatchPosS>
<TWMatchPosE>1</TWMatchPosE>
<CWMatchPosS>1</CWMatchPosS>
<CWMatchPosE>1</CWMatchPosE>
<Variation>0</Variation>
</MatchMap>
</MatchMaps>
<IsHead>yes</IsHead>
<IsOverMatch>no</IsOverMatch>
<Sources Count="20">
<Source>AIR</Source>
<Source>HL7V2.5</Source>
<Source>ICNP</Source>
<Source>LCH</Source>
<Source>LNC</Source>
<Source>MSH</Source>
<Source>MTH</Source>
<Source>NCI</Source>
<Source>OMIM</Source>
<Source>PSY</Source>
<Source>RCD</Source>
<Source>SNM</Source>
<Source>SNOMEDCT</Source>
<Source>UWDA</Source>
<Source>CCPSS</Source>
<Source>SNMI</Source>
<Source>AOD</Source>
<Source>CSP</Source>
<Source>BI</Source>
<Source>PNDS</Source>
</Sources>
<Spans Count="1">
<Span>
<StartPos>0</StartPos>
<SpanLen>5</SpanLen>
</Span>
</Spans>
</Candidate>
</Candidates>
</Mapping>
</Mappings>
</Phrase>
</Phrases>
</Utterance>
</Utterances>
</MMO>
</MMOlist>
The unformatted XML output for the
input text heart (generated by metamap08 -% noformat)
is shown below. The output below attempts to represent the unformatted
XML as would appear in an 80-character-wide window,
even though the vast bulk of the text is physically all on one line.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE MMOlist PUBLIC "-//NLM//DTD MetaMap Machine Output//EN" "http://ii-pub
lic.nlm.nih.gov/DTD/MMOtoXML.dtd">
<MMOlist><MMO><Args><Command>MetaMap -Z 08 -% noformat h</Command><Options Count
="4"><Option><OptName>mm_data_year</OptName><OptValue>08</OptValue></Option><Opt
ion><OptName>XML</OptName><OptValue>noformat</OptValue></Option><Option><OptName
>infile</OptName><OptValue>h</OptValue></Option><Option><OptName>outfile</OptNam
e><OptValue>h.out</OptValue></Option></Options></Args><AAs Count="0" /><Negation
s Count="0" /><Utterances Count="1"><Utterance><PMID>00000000</PMID><Location>tx
</Location><SeqNo>1</SeqNo><UText>heart.</UText><UStartPos>0</UStartPos><USpanLe
n>7</USpanLen><Phrases Count="1"><Phrase><PText>heart.</PText><Tags Count="2"><T
ag><Type>head</Type><LexMatch>heart</LexMatch><InputMatch>heart</InputMatch><POS
>noun</POS><Tokens Count="1"><Token>heart</Token></Tokens></Tag><Tag><Type>punc<
/Type><InputMatch>.</InputMatch><Tokens Count="0" /></Tag></Tags><PStartPos>0</P
StartPos><PSpanLen>6</PSpanLen><Candidates Count="2"><Candidate><NegScore>-1000<
/NegScore><UMLSCUI>C0018787</UMLSCUI><UMLSConcept>Heart</UMLSConcept><UMLSPrefer
red>Heart</UMLSPreferred><MatchedWords Count="1"><MatchedWord>heart</MatchedWord
></MatchedWords><STs Count="1"><ST>bpoc</ST></STs><MatchMaps Count="1"><MatchMap
><TWMatchPosS>1</TWMatchPosS><TWMatchPosE>1</TWMatchPosE><CWMatchPosS>1</CWMatch
PosS><CWMatchPosE>1</CWMatchPosE><Variation>0</Variation></MatchMap></MatchMaps>
<IsHead>yes</IsHead><IsOverMatch>no</IsOverMatch><Sources Count="20"><Source>AIR
</Source><Source>HL7V2.5</Source><Source>ICNP</Source><Source>LCH</Source><Sourc
e>LNC</Source><Source>MSH</Source><Source>MTH</Source><Source>NCI</Source><Sourc
e>OMIM</Source><Source>PSY</Source><Source>RCD</Source><Source>SNM</Source><Sour
ce>SNOMEDCT</Source><Source>UWDA</Source><Source>CCPSS</Source><Source>SNMI</Sou
rce><Source>AOD</Source><Source>CSP</Source><Source>BI</Source><Source>PNDS</Sou
rce></Sources><Spans Count="1"><Span><StartPos>0</StartPos><SpanLen>5</SpanLen><
/Span></Spans></Candidate><Candidate><NegScore>-1000</NegScore><UMLSCUI>C1281570
</UMLSCUI><UMLSConcept>Heart</UMLSConcept><UMLSPreferred>Entire heart</UMLSPrefe
rred><MatchedWords Count="1"><MatchedWord>heart</MatchedWord></MatchedWords><STs
Count="1"><ST>bpoc</ST></STs><MatchMaps Count="1"><MatchMap><TWMatchPosS>1</TWM
atchPosS><TWMatchPosE>1</TWMatchPosE><CWMatchPosS>1</CWMatchPosS><CWMatchPosE>1<
/CWMatchPosE><Variation>0</Variation></MatchMap></MatchMaps><IsHead>yes</IsHead>
<IsOverMatch>no</IsOverMatch><Sources Count="2"><Source>MTH</Source><Source>SNOM
EDCT</Source></Sources><Spans Count="1"><Span><StartPos>0</StartPos><SpanLen>5</
SpanLen></Span></Spans></Candidate></Candidates><Mappings Count="2"><Mapping><Ma
pNegScore>-1000</MapNegScore><Candidates Count="1"><Candidate><NegScore>-1000</N
egScore><UMLSCUI>C1281570</UMLSCUI><UMLSConcept>Heart</UMLSConcept><UMLSPreferre
d>Entire heart</UMLSPreferred><MatchedWords Count="1"><MatchedWord>heart</Matche
dWord></MatchedWords><STs Count="1"><ST>bpoc</ST></STs><MatchMaps Count="1"><Mat
chMap><TWMatchPosS>1</TWMatchPosS><TWMatchPosE>1</TWMatchPosE><CWMatchPosS>1</CW
MatchPosS><CWMatchPosE>1</CWMatchPosE><Variation>0</Variation></MatchMap></Match
Maps><IsHead>yes</IsHead><IsOverMatch>no</IsOverMatch><Sources Count="2"><Source
>MTH</Source><Source>SNOMEDCT</Source></Sources><Spans Count="1"><Span><StartPos
>0</StartPos><SpanLen>5</SpanLen></Span></Spans></Candidate></Candidates></Mappi
ng><Mapping><MapNegScore>-1000</MapNegScore><Candidates Count="1"><Candidate><Ne
gScore>-1000</NegScore><UMLSCUI>C0018787</UMLSCUI><UMLSConcept>Heart</UMLSConcep
t><UMLSPreferred>Heart</UMLSPreferred><MatchedWords Count="1"><MatchedWord>heart
</MatchedWord></MatchedWords><STs Count="1"><ST>bpoc</ST></STs><MatchMaps Count=
"1"><MatchMap><TWMatchPosS>1</TWMatchPosS><TWMatchPosE>1</TWMatchPosE><CWMatchPo
sS>1</CWMatchPosS><CWMatchPosE>1</CWMatchPosE><Variation>0</Variation></MatchMap
></MatchMaps><IsHead>yes</IsHead><IsOverMatch>no</IsOverMatch><Sources Count="20
"><Source>AIR</Source><Source>HL7V2.5</Source><Source>ICNP</Source><Source>LCH</
Source><Source>LNC</Source><Source>MSH</Source><Source>MTH</Source><Source>NCI</
Source><Source>OMIM</Source><Source>PSY</Source><Source>RCD</Source><Source>SNM<
/Source><Source>SNOMEDCT</Source><Source>UWDA</Source><Source>CCPSS</Source><Sou
rce>SNMI</Source><Source>AOD</Source><Source>CSP</Source><Source>BI</Source><Sou
rce>PNDS</Source></Sources><Spans Count="1"><Span><StartPos>0</StartPos><SpanLen
>5</SpanLen></Span></Spans></Candidate></Candidates></Mapping></Mappings></Phras
e></Phrases></Utterance></Utterances></MMO>
</MMOlist>