PyMedTermino

PyMedTermino (Terminologies Médicales en Python) est un module Python permettant d’accéder facilement aux principales terminologies médicales. Il facilite l’accès aux terminologies, mais n’inclut pas les données des terminologies (sauf pour VCM) ; ces données doivent être obtenues séparément (par exemple téléchargées sur le site de l’ULMS). Les terminologies suivantes sont supportées :

  • La SNOMED CT
  • La CIM10
  • MedDRA
  • CDF (le thésaurus de la banque de données Thériaque sur le médicament)
  • L’UMLS
  • Les icônes VCM (une terminologie à base d’icônes développée à l’université Paris 13)

Les principales fonctionnalités de PyMedTermino sont les suivantes :

  • Une API unique permettant d’accéder à toutes les terminologies
  • Recherche textuelle optimisée
  • Accès aux libellés, synonymes et traductions
  • Gestion des concepts et des relations entre concepts
  • Correspondance entre terminologies, via l’UMLS ou via des fichiers de correspondances manuelles

PyMedTermino a été conçu pour permettre un accès « en batch » aux terminologies ; ce n’est pas un navigateur/browser de terminologies (bien qu’il pourrait être utiliser pour écrire un tel navigateur en Python).

Pour la SNOMED CT, la CIM10 et MedDRA, les données ne sont pas incluses (car elles ne sont pas librement redistribuables) mais peuvent être téléchargées au format XML. PyMedTermino contient des scripts pour exporter ces données dans des bases de données SQLite3.

Pour l’UMLS et Thériaque, les données ne sont pas incluses (pour les mêmes raisons, et car elles sont très volumineuses). PyMedTermino peut en revanche se connecter à un serveur MySQL contenant les bases UMLS telles que fournies par la NLM, ou un serveur PostgesQL contenant les données de Thériaque.

Pour les icônes VCM, l’ensemble des terminologies est fourni sous forme d’ontologie OWL et de bases de données SQLite3. En revanche, les images des icônes ne sont pas incluses et doivent être téléchargées séparément (ou bien vous pouvez utiliser le serveur iconique pour générer les icônes) : PyMedTermino ne comprend que la partie “ terminologique ” de VCM.

PyMedTermino a été réalisé par Jean-Baptiste Lamy :

<email sur la gauche>

LIMICS, Université Paris 13, Sorbonne Paris Cité, INSERM UMRS 1142, Université Paris 6
74 rue Marcel Cachin
93017 Bobigny
France

PyMedTermino est disponible sous licence GNU LGPL; il supporte à la fois Python 2.7 et 3 (testé en 3.3 et 3.4) et est multi-plateforme (testé sous Linux et Windows). Il est décrit dans l’article scientifique suivant (merci de le citer si vous utilisz 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

Exemple

Voici un exemple des possibilités de 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
])

Liens

PyMedTermino sur BitBucket (dépôt de développement) : https://bitbucket.org/jibalamy/pymedtermino

PyMedTermino sur PyPI (Python Package Index, version stable) : https://pypi.python.org/pypi/PyMedTermino

Documentation : http://pythonhosted.org/PyMedTermino

Commentaires

PyMedTermino à la conférence européenne d’informatique médicale MIE 2015

PyMedTermino a fait l’objet d’un article et d’une présentation à la conférence européenne d’informatique médicale (MIE 2015). L’article est disponible en ligne et la présentation ici même. N’hésitez pas à le citer si vous utilisez 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 (Terminologies Médicales en Python) est un module Python permettant d’accéder facilement aux principales terminologies médicales.

PyMedTermino 0.3.2 est disponible !

PyMedTermino (Terminologies Médicales en Python) est un module Python permettant d’accéder facilement aux principales terminologies médicales.

PyMedTermino 0.3.2 est disponible ; cette version est une mise à jour qui corrige plusieurs bogues sur le module CIM10 ainsi qu’une (très légère) fuite de mémoire.

À télécharger sur PyPI (Python Package Index) : https://pypi.python.org/pypi/PyMedTermino

PyMedTermino 0.3.1 est disponible !

PyMedTermino (Terminologies Médicales en Python) est un module Python permettant d’accéder facilement aux principales terminologies médicales.

PyMedTermino 0.3.1 est disponible ; cette version est une mise à jour qui supporte la dernière version de la SNOMED CT (2015) ainsi que de la CIM10 (les traductions et extensions françaises de l’ATIH sont désormais utilisées). Cette version étend aussi le support de la base Thériaque aux classes chimiques et pharmacologiques, aux substances actives et auxiliaires, ainsi qu’aux correspondances entre ces éléments. Enfin, un système d’ordre entre icône VCM est défini. Elle corrige aussi plusieurs bogues.

À télécharger sur PyPI (Python Package Index) : https://pypi.python.org/pypi/PyMedTermino

PyMedTermino 0.3 est disponible !

PyMedTermino (Terminologies Médicales en Python) est un module Python permettant d’accéder facilement aux principales terminologies médicales.

PyMedTermino 0.3 est disponible ; cette version ajoute deux nouvelles terminologies : MedDRA et CDF (le thésaurus de la banque de données Thériaque sur le médicament). Elle corrige aussi plusieurs bogues.

Il peut être télécharger sur PyPI (Python Package Index) : https://pypi.python.org/pypi/PyMedTermino

PyMedTermino 0.2 est disponible !

PyMedTermino (Terminologies Médicales en Python) est un module Python permettant d’accéder facilement aux principales terminologies médicales.

PyMedTermino 0.2 est disponible ; cette version est mise à jour avec la dernière version de la SNOMED CT et corrige un bogue dans le calcul des plus petits parents communs à un concept.

Il peut être télécharger sur PyPI (Python Package Index) : https://pypi.python.org/pypi/PyMedTermino

PyMedTermino 0.1 est disponible !

PyMedTermino (Terminologies Médicales en Python) est un module Python permettant d’accéder facilement aux principales terminologies médicales.

PyMedTermino 0.1 est disponible et peut être télécharger sur PyPI (Python Package Index) : https://pypi.python.org/pypi/PyMedTermino