-
Notifications
You must be signed in to change notification settings - Fork 1
Home
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
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 a 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 in NML since January 2019.
- 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
- 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)
- easy datasets management - updates, backups, migrations
- basic approval process/workflow
- clean and intuitive interface - see some screenshots
- 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
- 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.
Development of MTW has been possible thanks to many open source projects, notably:
- SPARQL server: Apache Jena Fuseki
- Web framework - Python: Flask & Jinja2 templates
- WSGI server - Python: Waitress
- Frontend: Bootstrap & Bootswatch
- Database: SQLite
-
Load MeSH datasets into Apache Jena
- Install Fuseki service
- Install MTW services
- Setup a web server with a reverse proxy - see Web server config examples
- The MTW Compare/Diff feature requires server-side connection to https://id.nlm.nih.gov/mesh/sparql
- Annual MeSH updates
- Backups
- for Jena data use Fuseki GUI or command
- for SQLite db use mtw_backup-vacuum.bat
- backup <MTW_HOME_DIR> directory as zip or tar file
- backup regularly and store the backup files safely
- loading dataset from backup
- MTW Upgrades
- download the newest release MTW-X.Y.Z
- check the release notes on breaking changes (if any)
- stop the MTW services
- backup <MTW_HOME_DIR> directory
- rewrite binaries and static, templates, tools dirs in <MTW_HOME_DIR>
- start the MTW services
- Apache Jena/Fuseki upgrades
- do not reuse old data - always use the last backup to restore in the new Jena version instance
Please use the Issues.