Skip to content

HowTo Build LexEVS Loaders

Linda Hardie edited this page May 15, 2013 · 4 revisions

Table of Contents

Font Color Key

  • blue - indicates files to be created
  • firebrick - indicates where MedDRA Loader code is called
  • gray - indicates loader code provided (inherited) that you don't change
  • red - indicates code you need to create or refactor appropriately

LexEVS Projects Involved

lbAdmin

  • Package: org.LexGrid.LexBIG.admin
    • Class: ActiveScheme
    • Class: LoadMedDRA --PRIMARY ENTRY POINT---
      • org.LexGrid.LexBIG.Impl.loaders.MedDRALoaderImpl
        • validate()
        • BaseLoader.setCodingSchemeManifestURI()
        • load() ---START THE PROCESS---
        • If specified, sets associated tag on new schemes
          • BaseLoader.getCodingSchemeReferences()
        • if specified, activates new schemes
          • BaseLoader.getCodingSchemeReferences()
      • java.net.URI(used by MedDRA_Loader)
      • org.apache.commons.cli.Options (Used by URI)
  • scripts:
    • LoadMedDRA.bat
    • LoadMedDRA.sh

lbImpl

  • Package: org.LexGrid.LexBIG.Impl
    • Class: LexBIGServiceImpl
      • Method: registerExtensions()
        • Add line to register loader
        • new MedDRALoaderImpl().register();
    • Package:loaders
    • Class: MedDRALoaderImpl (extends BaseLoader implements MedDRA_Loader)
      • Code needs to be edited appropriately
      • Public method: finalize
      • Public method: getMedDRAVersion
      • Public method: getOntologyFormat
        • Requires OntologyFormat.MEDDRA to be defined in lbInterfaces
      • Public method: load
        • Calls BaseLoader.load
        • Nested within BaseLoader.load calls BaseLoader.baseLoad
          • Creates DoConversion
            • Calls run()
              • Calls doLoad!!!
              • register(loadedCodingSchemes)
              • doPostProcessing
              • doTransitiveAndIndex
              • doApplyManifest
              • register(loadedCodingSchemes)
              • Something with options
      • Public method: validate
      • Protected method: buildExtensionDescription
      • Protected method: declareAllowedOptions
      • Public method: doLoad
        • Called from BaseLoader.load
        • Creates instance of MedDRA2LGMain
          • Calls map() which returns a codingScheme object
          • Calls BaseLoader.persistCodingSchemeToDatabase()

lbGUI

  • IGNORE

lbInterfaces

  • Package: org.LexGrid.LexBIG.Extensions.Load
    • Interface: MedDRA_Loader(extends Loader)
    • Enum: OntologyFormat (Update with new loader name , i.e. MEDDRA)

lbModel

  • Castor/src (files are created/deleted by Castor!!)
    • Package: org.LexGrid.LexBIG.Preferences.loader.MedDRALoadPreferences
      • Package: descriptors

lgConverter

  • Package: edu.mayo.informatics.lexgrid.convert.directConversions
    • Package: medDRA
      • translation engine
      • Class: MedDRA2LGMain.java
      • Class: MedDRAFormatValidator
    • Package: TextCommon
      • Simple example to start learning how to build converter.
  • Package: edu.mayo.informatics.lexgrid.convert.formats
    • Package: baseFormats
      • Class: CommonBase
      • Class: FileBase (useful for MedDRA??)
      • Class: URIBase (useful for MedDRA??)
    • Package: inputFormats
      • Class: MedDRA.java (need to define???)
  • Package: edu.mayo.informatics.lexgrid.convert
    • Package: inserter
      • Class: CodingSchemeInserter (call??)
    • Package: options(??)
    • Package: utility
      • Package: loaderPreferences
        • Package: loaders
          • Class: MedDRAPreferenceLoader (not needed yet)

lbTest

  • Package: edu.mayo.informatics.lexgrid.convert.directConversions.medDRA
  • Package: org.LexGrid.LexBIG.Impl.testUtility
    • Class: LoadTestDataTest
      • public method: testLoadMedDRA