ws-getUMLSInfo
This program authenticates user by asking for valid username and password to connect to UMLSKS. Once the user is authenticated he can enter different terms and CUIs and get back the information about them from the UMLSKS Metathesaurus database. The program queries SNOMED-CT database with the term/CUI user enters and displays information like its source, CUI, definitions, etc.
perl ws-getUMLSInfo.pl --verbose 1 --sources SNOMEDCT,MSH --rels PAR,CHD --config configfilename --login loginfilename
--verbose: Sets verbose to true if you give value 1 and thus displays debug information in log for the user.
--sources : UMLS sources can be specified by providing list of sources seperated by comma. These sources will be used to query and retrieve the information.
--rels : UMLS relations can be specified by providing list of relations seperated by comma. These relations will be used to query and retrieve the information.
--config : Instead of providing sources and relations on command line, they can be specified using a configuration file, which can be provided with this option. It takes complete path and name of the file. The config file is expected in following format:
-login : User can specify login credentials through the file, which should of of form:
Follwing is a sample output of the program
This program uses following packages:
->sub ConnectUMLS::get_pt to get the proxy ticket using a web service.
->sub ConnectUMLS::connect_umls to connect to UMLS by sending username and password and getting back a proxy ticket.
->sub ValidateTerm::validateTerm to accepts input term and validates it for a valid term or a valid CUI.
->sub GetUserData::getUserDetails to get username and password from the user.
->sub Query::runQuery which takes method name, service and other parameters as argument and calls the web service. It also displays the information received from the web service and other error messages.
Other subs which provide the serialization of complex types and UMLSKS specific types.
The authentication process is done by 'authenticate' module and includes four steps:
This programs reads input from the authenticated user and decides whether the input is a valid medical term or valid CUI. A valid CUI starts with 'C' followed by exactly seven digits and all seven digits cannot be zeros. An invalid term is the one that does not exist in UMLSKS database.It gives an error message if user enters invalid term or CUI. Then it queries the respective web service with source as SNOMED-CT, UMLSKS version as 2009AA, language as English and other parameters. If the input is a medical term, then findCUIByExact web service is called which returns a CUI for the entered term. Then getConceptProperties webservice is called with the returned CUI, which returns the information about the concept. If the user enters a CUI, directly getConceptProperties web service is called to get the information.
subroutine for serialization -- non-Perl types / complex types
ValidateTerm.pm GetUserData.pm Query.pm ConnectUMLS.pm
Mugdha Choudhari University of Minnesota Duluth <chou0130 at d.umn.edu>
Ted Pedersen, University of Minnesota Duluth <tpederse at d.umn.edu>
Copyright (C) 2011, Mugdha Choudhari, Ted Pedersen
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to The Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
To install WebService::UMLSKS::Similarity, copy and paste the appropriate command in to your terminal.
cpanm
cpanm WebService::UMLSKS::Similarity
CPAN shell
perl -MCPAN -e shell install WebService::UMLSKS::Similarity
For more information on module installation, please visit the detailed CPAN module installation guide.