PyMedTermino

PyMedTermino (Medical Terminologies for Python) is a Python module for easy access to the main medical terminologies in Python. It facilitates the access to terminologies, but does not include terminology contents (excepted for VCM); terminology contents should be obtained separately (e.g. downloaded from UMLS). The following terminologies are supported:

  • SNOMED CT
  • ICD10
  • MedDRA
  • CDF (from the French drug databank Thériaque)
  • UMLS
  • VCM icons (an iconic terminology developped at Paris 13 University)

The main features of PyMedTermino are:

  • A single API for accessing all terminologies
  • Optimized full-text search
  • Access to terms, synonyms and translations
  • Manage concepts and relations between concepts
  • Mappings between terminologies, through UMLS or manual mapping files

PyMedTermino has been designed for “batch” access to terminologies; it is not a terminology browser (althought it can be used to write a terminology browser in Python).

For SNOMED CT, ICD10 and MedDRA, the data are not included (because they are not freely redistribuable) but they can be downloaded in XML format (see `Installation`_ for links). PyMedTermino includes scripts for exporting these data into SQLite3 databases.

For UMLS and Thériaque, data are not included (for the same reasons, and because they are voluminous). Thus, PyMedTermino need to be connected to a MySQL server including UMLS data, as provided by the NLM, or a PostgresQL server containing Thériaque data.

For VCM icons, the whole terminologies are provided as OWL ontologies and SQLite3 databases. However, the icons’ image files are not included and must be downloaded separately (or you can use the VCM iconic server to generate icons dynamically): PyMedTermino only include the terminological part of VCM.

PyMedTermino has been created by Jean-Baptiste Lamy (my email is on the left) at the LIMICS reseach lab, University Paris 13, Sorbonne Paris Cité, INSERM UMRS 1142, Paris 6 University. It is available under the GNU LGPL licence v3.

PyMedTermino it supports both Python 2.7 and 3 (tested with 3.3 and 3.4) and it is multiplateform (tested under Linux and Windows). It has been described in the following scientific article (please cite it if you use PyMedTermino !):

Lamy JB, Venot A, Duclos C. PyMedTermino: an open-source generic API for advanced terminology services. Stud Health Technol Inform 2015;210:924-928

Example

Here is an example of what you can do with PyMedTermino:

>>> ICD10.search("tachycardia")
[ ICD10[u"I49.5"]  # Sick sinus syndrome
, ICD10[u"I47.2"]  # Ventricular tachycardia
, ICD10[u"F43.0"]  # Acute stress reaction
, ICD10[u"I47"]  # Paroxysmal tachycardia
, ICD10[u"I47.1"]  # Supraventricular tachycardia
, ICD10[u"I47.9"]  # Paroxysmal tachycardia, unspecified
, ICD10[u"R00.0"]  # Tachycardia, unspecified
, ICD10[u"O68.0"]  # Labour and delivery complicated by fetal heart rate anomaly
]
>>> ICD10[u"I47"].parents
[ICD10[u"I30-I52"]  # Other forms of heart disease
]
>>> ICD10[u"I47"].children
[ ICD10[u"I47.0"]  # Re-entry ventricular arrhythmia
, ICD10[u"I47.2"]  # Ventricular tachycardia
, ICD10[u"I47.1"]  # Supraventricular tachycardia
, ICD10[u"I47.9"]  # Paroxysmal tachycardia, unspecified
]
>>> list(ICD10[u"I47"].ancestors_no_double())
[ ICD10[u"I30-I52"]  # Other forms of heart disease
, ICD10[u"IX"]  # Diseases of the circulatory system
]
>>> ICD10[u"I47"] >> VCM   # Maps the ICD10 concept to VCM icon
Concepts([
  VCM[u"current--hyper--heart_rhythm"]  # tachycardia
])

Comments

PyMedTermino at the european medical informatics conference MIE 2005

PyMedTermino has been presented at the european medical informatics conference (MIE 2015). The article is available online and the presentation here. Please cite it if you use PyMedTermino!

PyMedTermino: an open-source generic API for advanced terminology services.
JB Lamy, A Venot, C Duclos.
Studies in Health Technology and Informatics 2015 ; 210:924-928

PyMedTermino (Medical Terminologies for Python) is a Python module for easy access to the main medical terminologies in Python.

PyMedTermino 0.3.2 has been released!

PyMedTermino (Medical Terminologies for Python) is a Python module for easy access to the main medical terminologies in Python.

PyMedTermino 0.3.2 has been released; this version is a bugfix release that fix several bugs on the ICD10 module, and also a (very tiny) memory leak problem.

It can be downloaded from PyPI (Python Package Index): https://pypi.python.org/pypi/PyMedTermino

PyMedTermino 0.3.1 has been released!

PyMedTermino (Medical Terminologies for Python) is a Python module for easy access to the main medical terminologies in Python.

PyMedTermino 0.3.1 has been released; it now supports the latest 2015 version of SNOMED CT and ICD10 (including French ATIH translations and extensions). This version also extends the Thériaque support to include chemical and pharmacological classes, active and auxiliary substances, and mapping between them. Finally, an ordering system between VCM icons has been defined. It also fixes several bugs.

It can be downloaded from PyPI (Python Package Index): https://pypi.python.org/pypi/PyMedTermino

PyMedTermino 0.3 has been released !

PyMedTermino (Medical Terminologies for Python) is a Python module for easy access to the main medical terminologies in Python.

PyMedTermino 0.3 has been released ; this version supports two new terminologies: MedDRA and CDF (from the French drug databank Thériaque). It also fixes several bugs.

It can be downloaded from PyPI (Python Package Index): https://pypi.python.org/pypi/PyMedTermino

PyMedTermino 0.2 has been released !

PyMedTermino (Medical Terminologies for Python) is a Python module for easy access to the main medical terminologies in Python.

PyMedTermino 0.2 has been released ; this version is updated with the latest SNOMED CT and fix a bug in the computation of the lowest common ancestors of a concept.

It can be downloaded from PyPI (Python Package Index): https://pypi.python.org/pypi/PyMedTermino

PyMedTermino 0.1 has been released !

PyMedTermino (Medical Terminologies for Python) is a Python module for easy access to the main medical terminologies in Python.

PyMedTermino 0.1 has been released and can be downloaded from PyPI (Python Package Index): https://pypi.python.org/pypi/PyMedTermino