1 / 30

Metaphrase EVS API

Metaphrase EVS API. Presented to the National Cancer Institute (NCI) Office of Informatics (OI) Noel Ramathal 06/06/2000. EVS Overview. Architecture. Metaphrase Java API. Metaphrase. Java Client. RMI Server. Relational to Object mapping. RMI. NCI EVS. cache. Oracle Database.

sydnee
Télécharger la présentation

Metaphrase EVS API

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Metaphrase EVS API Presented to the National Cancer Institute (NCI) Office of Informatics (OI) Noel Ramathal 06/06/2000

  2. EVS Overview

  3. Architecture Metaphrase Java API Metaphrase Java Client RMI Server Relational to Object mapping RMI NCI EVS cache Oracle Database

  4. Thesaurus Nomenclature • Concept • represents a semantic unit or ‘meaning’ in the thesaurus. • Atom • a word or phrase from a particular source, that names a concept. A concept can contain multiple atoms. • Term Group • an attribute assigned to each atom to classify it. Represented by a 2-letter code, e.g., PT=preferred term, SY=synonym, AB=abbreviation. • Term • a set of atoms from a concept. The preferred form of the term is the preferred atom from this set. A concept can have multiple terms.

  5. Thesaurus Nomenclature • ConceptID (Concept Unique Identifier (CUI)) • Unique ID given to each concept. • Relationship • a link between two concepts. The link can be of type hierarchical (narrower, broader) or associative. • Preferred Name • the preferred atom used to represent the concept. This is the atom from the highest precedence termgroup and source. • Source • an authoritative terminology, e.g, NCI, SNOMED. • Definition • a textual definition from a source, that describes the concept.

  6. PT SY SY AB SY PT PT PT SY Concept Structure Concept = NCI Atom = SNOMED Atom = CTEP Atom = Termgroup = Term = Pref. Form Preferred Name

  7. Sample Concept ConceptID: C0007114 Skin neoplasm malignant NOS (CTEP-DIS) Skin Neoplasms, Malignant (NCI) Malignant Skin Neoplasm (NCIPDQ) PT Preferred name Cancer of the Skin (NCIPDQ) Skin Cancer (NCIPDQ) Malignant Skin Tumor (NCIPDQ) Skin Cancer (NCI) Skin Cancer, Including Melanoma (DBS-CODE) MELANOMA AND NON-MELANOMA SKIN CANCER (DCTD-CD) Skin Cancers (NIH) Malignant Neoplasm of the Skin (NCIPDQ) Malignant Tumor of the Skin (NCIPDQ) SY

  8. Thesaurus Hierarchy Concept Hierarchical Relationship Associative Relationship

  9. Relationship Details - For every relationship, there is an inverse relationship also. - Relationships between two concepts can be specified by multiple sources (e.g. NCI, SNOMED). SNOMED NCI

  10. Source Details - A source can have multiple sub-sources. NCI DBS DCB OCC DBS-KEY DBS-CODE DCB-BC DCB-BC1 DCB-BC2

  11. The API

  12. UML Class Diagram

  13. Metaphrase Class • Enumeration matches(java.lang.String input,int limit) • searches database for the input string returning a list of match objects within the specified limit. • void flush() • flushes the local cache (the cache is part of the API). • Concept getConcept(java.lang.String conceptID) • returns the Concept with the given ID. • Enumeration getSources() • returns a list of Source objects. These are the sources contained in metathesaurus. SubSources are not included in this list. • Enumeration getConcepts(Source source) • returns a list of Concept objects that contain atoms from the specified source. Note: The above list does not describe all the available methods for this class

  14. Concept Class • Atom[] atoms() • all the atoms that are contained in this concept. • Atom[] atoms(Source source) • all the atoms from the specified source that are contained in this concept. • Definition[] definitions() • the definitions for this concept. • String conceptID() • the ID for this concept. • String preferredName() • the preferred name of this concept. • Relationship[] relationships() • the links between this concept and other concepts. • Source[] sources() • the sources that have an atom in this concept. • Term[] synonyms() • the terms that are synonyms for this concept (basically the terms that are not in the PT termgroup). Note: The first element of this list is also the preferred term. Note: The above list does not describe all the available methods for this class

  15. Atom Class • Concept concept() • the concept that the atom belongs to. • String name() • the name of the atom. • String termgp() • the term group to which the atom belongs. • Source source() • the source that specified this atom. Note: The above list does not describe all the available methods for this class

  16. Term Class • Concept concept() • the concept that contains this term. • String preferredForm() • the string representation of this term. Note: The above list does not describe all the available methods for this class

  17. Definition Class • String text() • the text of the definition. • Source source() • the source that specified this definition. Note: The above list does not describe all the available methods for this class

  18. Relationship Class • String rel() • the type of relationship: RN or CHD = narrow, RB or PAR = broader, RO or RL = related. • String rela() • more details pertaining to the relationship: e.g., ‘is part of’. • Concept concept1() • the first concept that is part of the relationship. • Concept concept2() • the second concept that is part of the relationship. • Source source() • the source that specified this relationship. Note: The above list does not describe all the available methods for this class

  19. Source Class • String description() • description of the source • String SAB() • an abbreviation that representes the source, e.g., NCI represents National Cancer Institute. • Subsource[] children() • the subsources of this source. Note: The above list does not describe all the available methods for this class

  20. Match Class • Atom matched() • the atom that matched the search string. • Atom preferred() • the preferred atom for the concept that contains the matched atom. • Concept concept() • the concept that contains the matched atom. • int score() • the match score. The higher the score the better the match. • Term matchedTerm() • the term that matched the search string. • Term preferredTerm() • the preferred term for the concept that contains the matched term. Note: The above list does not describe all the available methods for this class

  21. API Usage

  22. Example • Connect to EVS • Perform Search for “skin cancer” and print matching atoms • Print synonyms for each matching concept • Print relationships for each matching concept

  23. Constructor RMIMetaphrase(String serverURL, String DBName, String userName, String passWord) Example try { Metaphrase metaphrase = new RMIMetaphrase("//"+"204.162.102.69"+"/RemoteMetaphrase", "NCI", ”user", ”pwd"); } catch (MetaphraseException me) { } 1: Connect to EVS - Create an instance of RMIMetaphrase

  24. Methods Enumeration Metaphrase.matches(String input,int limit) Atom Match.matched(); Atom Match.preferred() String Atom.name() Example try { Enumeration match = metaphrase.matches("Skin Cancer",10); while (match.hasMoreElements()) { Atom matchedAtom = ((Match) match.nextElement()).matched(); Atom prefAtom = ((Match) match.nextElement()).preferred(); System.out.println(matchedAtom.name() + “(“ + prefAtom.name() + “)”); } } catch (MetaphraseException me) { } 2: Perform Search - Use the matches function

  25. Methods Term[] Concept.synonyms() String Term.preferredForm() Example while (match.hasMoreElements()) { Concept concept = ((Match) match.nextElement()).concept(); try { Term[] syns = concept.synonyms(); for (int I=0;I<syns.length;I++) System.out.println(syns[I].preferredForm()); } catch (MetaphraseException me) { } } 3: Print Synonyms - Call on Concept.synonyms for each matched concept

  26. Methods Relationship[] Concept.relationships() String Relationship.rel(); Concept Relationship.concept1(); Example while (match.hasMoreElements()) { Concept concept = ((Match) match.nextElement()).concept(); try { Relationship[] rels = concept.relationships(); for (int I=0;I<rels.length;I++) System.out.println(rels[I].concept1().preferredName() + “ “ rels[I].rel() + “ “ + rels[I].concept2().preferredName()); } catch (MetaphraseException me) { } } 4: Print Relationships - Call on Concept.relationships for each matched concept

  27. Data Issues

  28. Potential Cycles CHD A CHD Cycle exists between concept A and B CHD B CHD

  29. Disjointed SubTrees NCI Concept Non NCI Concept NCI Relationships Non NCI Relationship Subtrees that are disjointed from the main NCI sub-tree due to the presence of a non-NCI link or a non-NCI concept

  30. Orphan Concepts Orphan concepts that are not connected to the rest of the tree

More Related