Skip to main content

Une interface python avec la base médicamenteuse thesorimed

Project description

===============================
pythonthesorimed
===============================

.. image:: https://travis-ci.org/jgirardet/pythonthesorimed.svg?branch=master
:target: https://travis-ci.org/jgirardet/pythonthesorimed
.. image:: https://readthedocs.org/projects/pythonthesorimed/badge/?version=latest
:target: http://pythonthesorimed.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://coveralls.io/repos/github/jgirardet/pythonthesorimed/badge.svg
:target: https://coveralls.io/github/jgirardet/pythonthesorimed
.. image:: https://badge.fury.io/py/pythonthesorimed.svg
:target: https://pypi.python.org/pypi/pythonthesorimed/
:alt: Pypi package


Interface python pour thesorimed


* License : GNU General Public License v3
* Documentation: https://pythonthesorimed.readthedocs.org/en/latest/
* Source: https://github.com/jgirardet/pythonthesorimed


Simple Interface Python pour utiliser l'api thesorimed compatible postgresql uniquement.


Features
=========

* Génère l'API python depuis le fichier thesormed api.sql
* Fournit la class ThesoItem pour les appels à la base


Installation
==============

.. code-block:: shell

pipenv install pythonthesorimed
ou
pip install pythonthesorimed

Usage
======

Initialisation
----------------

.. code-block:: python

from pythonthesorimed.thesoitem import ThesoItem
session = ThesoItem(host, base, user, password)

Utilisation des API thesorimed
--------------------------------

.. code-block:: python

result = session.proc('api_name', param1, param2, param3)

Le retour est un Record ou un liste de Record. Record est un object possédant comme attribut les colonnes associées à la requète

par exemple :

.. code-block:: python

>>> session.proc('get_the_gen_equiv', 3, 1)
[Record(gsp_nom='RIFADINE 300MG GELULE', sp_code_equiv=4793, lib_virt='Rifampicine 300 mg gelule', sp_param='RIMACTAN 300MG GELULE', sp_code_sq_pk=3),
Record(gsp_nom='RIMACTAN 300MG GELULE', sp_code_equiv=3, lib_virt='Rifampicine 300 mg gelule', sp_param='RIMACTAN 300MG GELULE', sp_code_sq_pk=3)]

>>> result[0].gsp_nom
'RIFADINE 300MG GELULE'

Fuzzy Search
-------------
Recheche par nom de tous les groupes de spécialités (gsp) et spécialités selon le motif proposé.
L'idée est d'épurer un maximum les résutlats afin d'éviter tous les doublons dus notement aux différents laboratoires de génériques. le principe est les suivant :
- Tout d'abord on récupère les gsp correspondant au motif
- Puis on récupère les spécialités qui sont triées la maniière suivante:

+ On retire les spécialités appartenant à des gsp déjà sélectionnés.
+ Pour les spécialités restantes ayant un gsp commun, une seul est conservée
+ Les spécialités sans gsp sont conservées par défault pour ne pas risquer d'avoir un manque.

- Le tout est retournée en une seule liste, d'abord les gsp puis les spécialités restantes. Le contenu de la liste est des dict au format : nom, cip, code, gsp_code.

Les différents éléments de la requète sont séparés par un espace et doivent être l'ordre de l'appelation officiele.
Par exemple : "codéine paracétamol" ne retournera pas "paracétamol + codéine".

La recherche doit s'effectuer en minuscule.

.. code-block:: python

session.fuzzy('chaine')



Parseur
==========

Cloner le dépot puis :

.. code-block:: shell

make dev
pr python build.py path/to/api.sql

api.py est maintenant dans pythonthesorimed

Testing
==========

``make test`` : toutes les fonctionnalitées ne nécessitant pas le base de donnée thesorimed.

``make test-local`` : tests avec des appels à thesorimed.

``make all`` : tout.

Travis utilise la version "make test" d'où le coverage plus faible

Coverage
==========

``make test-coverage``

``make test-coverage-all``



Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pythonthesorimed-0.3.0.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

pythonthesorimed-0.3.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file pythonthesorimed-0.3.0.tar.gz.

File metadata

File hashes

Hashes for pythonthesorimed-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a277bce3d9b586dc4e4629a17722d8307a6419dc63e71315a4766af911fd302a
MD5 ebae397572e6ff8efb30770477f43184
BLAKE2b-256 7d78e9697b0d46c7e2947a63399c5c3c76607557ef0139613e0953e89fcdb850

See more details on using hashes here.

File details

Details for the file pythonthesorimed-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pythonthesorimed-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a79e7e800627e4ac5d25a149f9ef993b94a1fa65a38de7278c130529580f577e
MD5 97dee612b7f340d9ad502d35c39b7e4c
BLAKE2b-256 7387e982209e5bacf8e1ddd6009fecae73672886e9143a63157244a6d9817d3b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page