450 likes | 531 Views
MedEx : Medical Expert Powered by a Context Targeted Search Engine. Beltran, Lope Sarmiento, Jaybee Torrecampo , Danielle Adviser: De Guzman, Achilles. Abstract.
E N D
MedEx: Medical ExpertPowered by a Context Targeted Search Engine Beltran, Lope Sarmiento, Jaybee Torrecampo, Danielle Adviser: De Guzman, Achilles
Abstract • The system is an XML-based Dynamic Context Targeted Search Engine that can search existing records in a database relevant to the given record. Its dynamic in the sense that it can be deployed in any domain (police records, case records, etc) • MedEx is an application where the system is deployed, which is in the medical record field.
INTRODUCTION And so it begins…
Before, medical records were kept inside folders and file cabinets Thanks to technology, most medical records today are stored in computer databases
Picture this: A typical barrio setting
Consult a medical record database from other hospitals via the internet!
Goal • Develop a system to allow easy cross-referencing with other existing records in the database. • System Format and Domain • Search Engine • Context Filtering/Classification of Data • Summary and Ranking of Results
LITERATURE REVIEW Shed light on the unknown…
Medical Record Format • Most records follow the SOAP format: [1] • Subjective - Story / Symptoms • Objective - Observation • Assessment - Assumption/Diagnosis • Plan of action • More reliable records contain a ‘final pathological diagnosis’ [1] Soap notes. medical assistant net . advanced medical assistant custom web design. http://www.medicalassistant.net/soap note.htm, 2009.
Context Filtering • KWiC algorithm • Synonymy • UMLS • Extracting the most relevant data
KeyWord in Context (KWiC) • Extraction of keywords within the context • attempts to find the segments that maximize the number of medical terms and other keywords (a kind of ‘‘keyword diversity’’, including synonyms). [2] [2] A. Gaudinat et. al, Health search engine with e-document analysis for reliable search results, International Journal of Medical Informatics (2006) 75, 73—85
Synonymy • For each medical term, there are equivalent words or "synonyms". Different people fill up the medical records, making them seem different or unrelated to each other. However, the diagnosis/symptom/etc. that a record has may actually be similar to another record that uses different terminology. • This calls for a scheme to relate keywords and their synonyms.
UMLS Metathesaurus • Unified Medical Language System (UMLS)® [3] • The US National Library of Medicine (NLM), by creating UMLS® Knowledge Sources, made it easier for medical software to be developed. • MetamorphoSys® is the UMLS installation wizard and Metathesaurus customization tool included in each UMLS release. It installs one or more of the UMLS Knowledge Sources and enables one to create customized Metathesaurus subsets. • The Metathesaurus contains more than 100 vocabularies related to medicine. It also has multi-lingual support. [3] http://www.nlm.nih.gov UMLSKS
XML-based Search Engine • More “dynamic” • XML widely used standard for data representation and exchange • Easy to structure data • hierarchical, partly ordered, and pervasively cross-linked • The more the data, the more accurate the results
XQUERY • Shorthand for XML Query Language • Used for querying XML data • Handles XML natively and, thus, is able to process and manipulate HTML webpages [4] • Like PHP and Javascript • Can store query results in a variable where you can query again • Structure query • [4] GhislainFourny, Markus Pilman, Daniela Florescu, Donald Kossmann, Tim Kraska, Darin McBeath: XQuery in the Browser. WWW 2009, Madrid, Spain.
eXist Native XML Database • eXist is an open source, native XML database [5] • Java-based • Core: Xquery • Database of X files • Server • Search engine-like • Apache Lucene included • 99% XQTS (XQuery Testing Score) [5]Meier, Wolfgang. "eXist-db Open Source Native XML Database." eXist-db Open Source Native XML Database. 2009. SourceForge.net, Web. 8 Mar 2010. <http://exist.sourceforge.net>.
AJAX • Shorthand for Asynchronous Javascript and XML. [6] • Uses the following technologies: • XHTML and CSS for presentation. • Document Object Model (DOM) for dynamic display and interaction. • XML and XSLT for data manipulation. • xmlHttpRequest for asynchronous data retrieval. • Javascript for connecting all the above together. [6] Negrino, Tom, and Dori Smith. Javascript and AJAX for the Web, Sixth Edition. 6th ed. Berkeley. Pearson Education Limited, 2007.
AJAX • Allows asynchronous user interaction with the application. [7] [7] Garret, Jesse James. "Ajax: A New Approach to Web Applications". Adaptive Path. 5 Mar. 2010 <http://adaptivepath.com/publications/essays/archives/000385.php>
The YUI Library • YUI stands for Yahoo! User Interface • a set of utilities and controls, written with JavaScript and CSS, for building richly interactive web applications • Uses techniques such as AJAX. • proven, scalable, fast, and robust [8] [8]"YUI Library." Yahoo! Developer Network. 2010. Yahoo! Inc., Web. 3 Mar 2010. <http://developer.yahoo.com/yui/>.
PROBLEM STATEMENT A puzzle waiting to be solved…
Problem Statement • Develop a dynamic search engine system that can deliver an accurate, relevant results. • Apply it in the medical record domain where given an input medical record, the system will deliver relevant medical records. • Relevancy is based on the structure of the content model (eg. Sequence of symptoms) • Summarization the results
Methodology Trial and error, an effort to bring the answer to light…
Methodology • Format Parsing • Content/Data Classification • Search Engine • Delivery
Format Parser • Format file: XML • Output: XHTML tags • Dynamic generation of fields
Content/Data Classification and Filtering • Input from forms are passed as parameters to the controller • The controller passes the processed data to the search engine. • Stopwords – articles like “a”, “the”, “an”
Search Engine • Keywords from the filter are used to generate a query based on the content. (Lucene module query) • Results are records in the form of XML sequences where arrange according to the most relevant record • Stored in HTTP Session. • Ranking • Uses Apache Lucene (inclusive in eXist) • Boost configuration
Delivery • Output: XHTML file stored in XQL • AJAX framework via YUI • Tabbed view • Layout Manager • Yahoo.util.Connect.asyncRequest – xmlhttprequest • Data Table • Animation
Results What comes out of experimentation…
Search Speed Search Speed given an amount of records in the database (One Field Search)
Search Speed Search Speed given an amount of records in the database (All Field Search)
Search Speed Search Speed given an amount of records found in the search
Relevancy • Experiment: • Remove a random record • Use the removed record for searching • See the results if its related • Results: • All the top ranked records are similar to the diagnoses of the input record • Similar plans, operations, complaints are found with little differences
Conclusion And it draws to a close…
The dynamic feature of the system was made successfully with the help of XQuery using a format le to generate input sections and to pass format parameters. • The more relevant keywords and phrases extracted from the input, the results are more accurately relevant as shown in the results. • The more records are stored in the database, the more accurate the results since more data will support the relevancy of the results.
Using the summary reports of each search, we can assume that the highest percentage of the same assessment is said to be the most relevant data to be crossed referenced. • It is indeed helpful by using the system as a supporting structure for search engines across other domains.
Recommendations So much more in store…
Use more algorithms to extract accurate keywords in the input data. • Structure and arrangement of extracted keywords may help in determining its relevancy. Some context models are not based from its keywords but in its structure. • Field Search Constraint • An Installer for those who wish to use the system for developing their own programs • Index creator
UMLS feature of serial coding may help in eliminating synonymity.
End The credit is not all ours…