Skip to content
filak edited this page Dec 13, 2023 · 109 revisions

Welcome

Medical Subject Headings (MeSH) is a controlled vocabulary (thesaurus) for biomedical fields produced by the National Library of Medicine (NLM, Bethesda, USA).

MTW stands for Medical Subject Headings Translation Workflow

MTW app

NLM has deprecated its legacy MeSH Translation Maintenance System (MTMS) by the end of 2018 leaving the translating organizations virtually empty-handed. Fortunately NLM provides a linked data representation of the MeSH vocabulary, so the open source application for supporting the MeSH translation has been developed for the National Medical Library (NML, Prague, Czech Republic). The MTW app has been used in production since January 2019.

Advantages of using RDF

  • implementation of MeSH complex structures & relations without tables/schemas mapping
  • SPARQL endpoints for data access
  • ability to extend the official data model (custom namespaces for the translations)
  • efficient handling of the annual data updates
  • possibility to publish the translation as linked data

Design goals

  • web application with no proprietary software or components - open source stack
  • no special hardware - app running even on a PC/laptop
  • cross-platform (though developed on Windows)
  • simple datasets management - updates, backups, migrations
  • clean and intuitive interface - see some screenshots

Features

  • MeSH tree browsing & filtering
  • fulltext searching with *, ? and phrase "" and boolean support
  • statistics & todo lists, clipboard
  • compare & diff descriptor versions
  • custom concepts support
  • complete audit & changes approval
  • approval process/workflow
  • reporting & user management
  • user roles based workflow: viewer, contributor, editor, manager
  • duplicate terms checking & other data consistency checks
  • exports to UMLS TSV, JSON, XML, MARC21 etc.

Stack

Development of MTW has been possible thanks to other open source projects, notably:

  • SPARQL server: Apache Jena Fuseki
  • Web framework - Python: Flask & Jinja2 templates
  • WSGI server - Python: Waitress
  • Frontend: Bootstrap & Bootswatch
  • Database: SQLite

Getting started

  1. Install Apache Jena & Fuseki

  2. Load MeSH datasets into Apache Jena

  3. Run Fuseki server

  4. Install and start MTW

Production deployment

Support

Please use the Issues.

License

MIT