ctakes-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geise, Brandon D." <bdge...@geisinger.edu>
Subject RE: umls graph api
Date Fri, 29 Jan 2016 18:04:34 GMT
Very cool.

I started going through your instructions.  Everything seemed to be working except for the
GraphFunction Junit test fails on the first assertion.  I'm using 2015AA and it doesn't appear
that the isa relationship holds true, unless I messed something up.  What UMLS version did
you test with?

Thanks,
Brandon

-----Original Message-----
From: Miller, Timothy [mailto:Timothy.Miller@childrens.harvard.edu] 
Sent: Tuesday, January 26, 2016 2:59 PM
To: dev@ctakes.apache.org
Subject: umls graph api

I've been working on some code for easy querying of the UMLS relation graph that I think might
be useful in ctakes. The repo is here:
https://github.com/tmills/umls-graph-api

If you point it at your umls download you can build the db in about 5 minutes (45 MB). Then
the API has a class GraphFunctions with the following methods:

  public static List<String> getHypernyms(String cui);
  public static List<String> getHyponyms(String cui);
  public static boolean isa(String cui1, String cui2);

These make use of just the "isa" relation in the MRREL file, and could tell you, for example,
that

isa("C0007102",  "C3662248") is true (colon cancer is a finding) but that isa("C3662248",
"C0007102") is not true.

If people find it useful enough we may wish to add it to ctakes and perhaps we could redistribute
this view of the UMLS subject to the same username checking we do now for the dictionary.
We may wish to include other relations and ontologies as well -- right now just SNOMED. But
this is the skeleton and I think with this starting point adding new capabilities will be
pretty easy.

Tim



IMPORTANT WARNING: The information in this message (and the documents attached to it, if any)
is confidential and may be legally privileged. It is intended solely for the addressee. Access
to this message by anyone else is unauthorized. If you are not the intended recipient, any
disclosure, copying, distribution or any action taken, or omitted to be taken, in reliance
on it is prohibited and may be unlawful. If you have received this message in error, please
delete all electronic copies of this message (and the documents attached to it, if any), destroy
any hard copies you may have created and notify me immediately by replying to this email.
Thank you.

Geisinger Health System utilizes an encryption process to safeguard Protected Health Information
and other confidential data contained in external e-mail messages. If email is encrypted,
the recipient will receive an e-mail instructing them to sign on to the Geisinger Health System
Secure E-mail Message Center to retrieve the encrypted e-mail.

Mime
View raw message