{ "info": { "author": "IntMed Software", "author_email": "contato@intmed.com.br", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP" ], "description": "[![PyPi version](https://img.shields.io/pypi/v/interage_python_sdk.svg)](https://pypi.python.org/pypi/interage_python_sdk)\n\n# Interage Python SDK\nSDK oficialmente mantido pela [IntMed Software](http://intmed.com.br/) para auxiliar no desenvolvimento de aplica\u00e7\u00f5es em Python integradas ao servi\u00e7o de intera\u00e7\u00f5es medicamentosas do sistema [Interage](http://intmed.com.br/interage/). Desenvolvido para ser simples e idiom\u00e1tico para Python, o SDK comunica-se com uma API RESTful via protocolo HTTPS. \n\n## Instala\u00e7\u00e3o\n### PIP\nSe voc\u00ea j\u00e1 tem o [Python](https://www.python.org/) em seu sistema, voc\u00ea pode instalar o Interage Python SDK simplesmente baixando a distribui\u00e7\u00e3o, descompact\u00e1-la e instal\u00e1-la da maneira usual:\n```\npip install interage_python_sdk\n```\n\n## Depend\u00eancias\n- [Requests](https://github.com/kennethreitz/requests) - O Interage Python SDK necessita que o pacote esteja instalado\n\n## Quick Start\nPara come\u00e7ar, instale o Interage Python SDK, crie um objeto `InterageAPI` passando o seu token para o argumento `auth` e invoque seus m\u00e9todos:\n\n```python\nfrom interage.api import InterageAPI\n\napi = InterageAPI(auth = 'your-api-token')\nmedicamentos = api.medicamentos.filter(search = 'acido').objects()\n\nfor m in medicamentos:\n print(m.nome)\n```\n\nVoc\u00ea tamb\u00e9m pode criar um objeto `InterageAPI` passando as suas credenciais (`username` e `password`) da API na forma de [dicion\u00e1rio](https://docs.python.org/2/tutorial/datastructures.html#dictionaries) para o argumento `auth`:\n```python\nclient = InterageAPI(auth = { 'username': 'your-username', 'password': 'your-password'})\n```\n\nQualquer credencial inv\u00e1lida passada no construtor de `InterageAPI` lan\u00e7ar\u00e1 uma exce\u00e7\u00e3o e o objeto n\u00e3o ser\u00e1 criado.\n\n### Managers\nUm objeto `InterageAPI` cont\u00e9m refer\u00eancias para tr\u00eas objetos do tipo `APIManager`, que s\u00e3o basicamente gerenciadores de recursos mantidos pela API. S\u00e3o eles:\n- `medicamentos` - Gerenciador dos recursos respons\u00e1veis pelos dados de medicamentos. Recurso `/v1/medicamentos/`\n- `principios_ativos` - Gerenciador dos recursos respons\u00e1veis pelos dados de princ\u00edpios ativos. Recurso `/v1/principios-ativos/`\n- `interacoes` - Gerenciador dos recursos respons\u00e1veis pelos dados de intera\u00e7\u00f5es medicamentosas entre princ\u00edpios ativos. Recurso `/v1/interacoes/`\n\nEstes gerenciadores s\u00e3o capazes de recuperar, listar e filtrar dados espec\u00edficos da API:\n\n```python\napi.medicamentos.get(145) # Retorna o medicamento com o identificador (id) 145\napi.principios_ativos.all() # Lista todos os princ\u00edpios ativos do sistema\napi.interacoes.filter(principios_ativos = [17, 443, 648, 1200], gravidade = 'grave') # Retorna todas as intera\u00e7\u00f5es medicamentosas graves entre os principios ativos com os identificadores 17, 443, 648 e 1200\n```\n\nOs managers `principios_ativos` e `interacoes` cont\u00e9m comportamento extra. O manager `principios_ativos` \u00e9 capaz de recuperar todas as intera\u00e7\u00f5es medicamentosas que um princ\u00edpio ativo espec\u00edfico possua:\n```python\napi.principios_ativos.interacoes(1) # Retorna todas as intera\u00e7\u00f5es encontradas com o princ\u00edpio ativo de identificador (id) igual a 1\n```\nNo manager `interacoes` \u00e9 poss\u00edvel verificar todos os metadados referentes a uma intera\u00e7\u00e3o medicamentosa. O m\u00e9todo retorna um objeto do tipo `InteracaoMetadata`', mas tamb\u00e9m pode retornar o resultado como JSON:\n\n```python\nmetadata = api.interacoes.metadata()\n\nprint(metadata.gravidades) # ['Nada esperado', 'Moderada', 'Leve', 'Grave', 'Gravidade desconhecida']\nprint(metadata.evidencias) # ['Te\u00f3rica', 'Extensa', 'Caso', 'Estudo']\nprint(metadata.acoes) # ['Ajustar', 'Monitorar', 'Informar', 'Nenhuma', 'Evitar']\n```\n\n### Tipos de retorno e pagina\u00e7\u00e3o\nOs m\u00e9todos dos managers que retornam mais de um resultado (`all()` e `filter()`) s\u00e3o encapsulados em um objeto do tipo `APIResult`. Este objeto \u00e9 capaz de retornar os resultados fornecidos pela API como JSON ou como lista de inst\u00e2ncias das classes `PrincipioAtivo`, `Medicamento` ou `Interacao` atrav\u00e9s dos m\u00e9todos, reespectivamente, `json()` e `objects()`:\n\n```python\nresults = api.medicamentos.all()\nmedicamentos = results.objects() # Lista de inst\u00e2ncias da classe Medicamento\nmedicamentos_json = results.json() # JSON com lista de medicamentos\n\nfor m in medicamentos:\n print(m.nome)\n \nfor m in medicamentos_json:\n print(m['nome'])\n```\n\nOs m\u00e9todos de managers que retornam resultado \u00fanico retornam por default uma inst\u00e2ncia do modelo referente ao manager. Caso necessite que o objeto seja retornado como JSON, basta passar o valor `True` para o argumento `as_json`:\n```python\nprincipio_ativo = api.principios_ativos.get(5)\nprincipio_ativo_json = api.principios_ativos.get(5, as_json = True)\n\nprint(principio_ativo.nome)\nprint(principio_ativo_json['nome'])\n```\nOs resultados em um `APIResult` s\u00e3o paginados de acordo com os par\u00e2metros passados aos m\u00e9todos dos managers. Atrav\u00e9s dos m\u00e9todos `next()` e `previous()` s\u00e3o retornados uma nova inst\u00e2ncia de `APIResult` referentes a p\u00e1gina posterior e anterior do resultado corrente, reespectivamente. Os m\u00e9todos `has_next()` e `has_previous()` podem ajudar a saber se as refer\u00eancias para estas p\u00e1ginas existem:\n\n```python\nresult = api.principios_ativos.filter(search = 'ra', page_size = 50)\nwhile(result.has_next()):\n objects = result.objects()\n for i in range(len(objects)):\n print(objects[i].nome)\n result = result.next()\n```\n\n## Configura\u00e7\u00e3o\nTalvez o seu projeto que utilize o Interage Python SDK tenha determinadas particularidades no uso da API do Interage, como uma distribui\u00e7\u00e3o pr\u00f3pria. Neste caso, \u00e9 poss\u00edvel configurar o comportamento do SDK atrav\u00e9s vari\u00e1veis de ambiente. S\u00e3o elas:\n\n| Vari\u00e1vel | Descri\u00e7\u00e3o | Valor padr\u00e3o |\n| ---------------------- | --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |\n| `INTERAGE_API_URL` | URL de conex\u00e3o onde se encontra uma distribui\u00e7\u00e3o da API do Interage que se deseja utilizar | `https://api.interage.intmed.com.br` |\n| `INTERAGE_API_VERSION` | Vers\u00e3o da API do Interage que se esteja utilizando. Este valor \u00e9 anexado a URL de conex\u00e3o durante as requisi\u00e7\u00f5es para a API | `v1` |\n\n\n## Reportando problemas\nSe voc\u00ea tem sugest\u00f5es, bugs ou outros tipos de problemas com este SDK, esteja livre para reportar [aqui](https://github.com/weynelucas/interage_python_sdk/issues). Ou simplesmente envie um pull request.\n\n## API\nPara mais d\u00favidas sobre os par\u00e2metros, endpoints, cria\u00e7\u00e3o de tokens e outras d\u00favidas sobre a API, consulte a documenta\u00e7\u00e3o oficial da API do Interage [aqui]( https://api.interage.intmed.com.br/docs/).\n\n## Vers\u00e3o\n- 0.1.0 - 27/02/2017 - Primeira release\n- 0.1.1 - 27/02/2017 - Corre\u00e7\u00e3o de erro crash do pacote utils e mudan\u00e7a de protocolo para HTTPS\n- 0.2.0 - 01/03/2017 - Suporte para pagina\u00e7\u00e3o e adi\u00e7\u00e3o do campo `principios_ativos_anvisa` em medicamentos\n- 0.2.1 - 02/03/2017 - Corre\u00e7\u00e3o de instancia\u00e7\u00f5es de managers desnecess\u00e1rias em um mesmo client\n- 0.2.2 - 04/03/2017 - Melhorias de c\u00f3digo e mudan\u00e7a de responsabilidade dos managers para `InterageAPI`\n- 0.2.3 - 09/03/2017 - Melhoria no tratamento de erros HTTP\n- 0.3.0 - 24/04/2017 - Melhoria substancial na convers\u00e3o de JSON em objetos\n- 0.3.1 - 21/09/2017 - Adi\u00e7\u00e3o das propriedades `next_url` e `previous_url` nos objetos do tipo `APIResult`\n- 0.3.2 - 07/12/2017 - Disponibiliza\u00e7\u00e3o e corre\u00e7\u00e3o de erros HTTP\n- 0.4.0 - 04/04/2018 - Permitindo configura\u00e7\u00e3o via vari\u00e1veis de ambiente\n- 0.4.1 - 17/04/2018 - Corrigindo visualiza\u00e7\u00e3o da documenta\u00e7\u00e3o da biblioteca", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/IntMed/interage_python_sdk/archive/0.4.1.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/IntMed/interage_python_sdk", "keywords": "interage intmed api python sdk interage-python-sdk health", "license": "", "maintainer": "", "maintainer_email": "", "name": "interage_python_sdk", "package_url": "https://pypi.org/project/interage_python_sdk/", "platform": "", "project_url": "https://pypi.org/project/interage_python_sdk/", "project_urls": { "Download": "https://github.com/IntMed/interage_python_sdk/archive/0.4.1.tar.gz", "Homepage": "https://github.com/IntMed/interage_python_sdk" }, "release_url": "https://pypi.org/project/interage_python_sdk/0.4.1/", "requires_dist": null, "requires_python": "", "summary": "SDK oficialmente mantido pela IntMed Software para auxiliar no desenvolvimento de aplica\u00e7\u00f5es em Python integradas ao servi\u00e7o de intera\u00e7\u00f5es medicamentosas do sistema Interage", "version": "0.4.1" }, "last_serial": 3774101, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4d02681a0db13e21b355a0a07d34a7a6", "sha256": "5ae1a11c8cdd651906889b5b089b01ea23f1e556e6cbc1910628be28f8683dec" }, "downloads": -1, "filename": "interage_python_sdk-0.1.0.tar.gz", "has_sig": false, "md5_digest": "4d02681a0db13e21b355a0a07d34a7a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5311, "upload_time": "2017-02-27T13:51:14", "url": "https://files.pythonhosted.org/packages/30/5c/5dc80a020be4fa92c5bb0697c7997c4524421956e7cb447b6341a5e55ae6/interage_python_sdk-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "868a206df06d06895a3746c0593ff8fe", "sha256": "fa956fee4b9c56b6ea335e364e0b01939709a15175396f8bddf86e4accc3dd4e" }, "downloads": -1, "filename": "interage_python_sdk-0.1.1.tar.gz", "has_sig": false, "md5_digest": "868a206df06d06895a3746c0593ff8fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5420, "upload_time": "2017-02-27T16:30:16", "url": "https://files.pythonhosted.org/packages/bc/8d/7d05b8d9d91ad86c6b19fe09e0df6479e7ee3e2811f4d94916eb9b9d4195/interage_python_sdk-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f8e5a92b22056b80f80e422617dc41d3", "sha256": "0435f5f6808479b035b809ae39267df4cad34dbfe5f319be1c06acc07f353fbe" }, "downloads": -1, "filename": "interage_python_sdk-0.2.0.tar.gz", "has_sig": false, "md5_digest": "f8e5a92b22056b80f80e422617dc41d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5481, "upload_time": "2017-03-01T15:59:05", "url": "https://files.pythonhosted.org/packages/ac/a4/4ee52d5fb0a400cd76720ffd0de047e7429c494aa9bf41acf65502b38f36/interage_python_sdk-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "70730c7875af051425a27a97f12e89c7", "sha256": "8594479c82d5bd6d078aadb560523fd37e4f95bce69f257403a0c41c92b84360" }, "downloads": -1, "filename": "interage_python_sdk-0.2.1.tar.gz", "has_sig": false, "md5_digest": "70730c7875af051425a27a97f12e89c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5515, "upload_time": "2017-03-02T22:32:39", "url": "https://files.pythonhosted.org/packages/bb/57/7893d203af8bd1d43257a079ae4e555dd979aee65a29a6f65ca2adc094c6/interage_python_sdk-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "fe9f342a280854f4e5fc96e8ccbde7a4", "sha256": "1d8932d6ad17ea9d3e031f97af316cd48e279cb510fe0db5c2e711158cb69af7" }, "downloads": -1, "filename": "interage_python_sdk-0.2.2.tar.gz", "has_sig": false, "md5_digest": "fe9f342a280854f4e5fc96e8ccbde7a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5493, "upload_time": "2017-03-04T11:52:50", "url": "https://files.pythonhosted.org/packages/10/0c/8c413ef8afcc6692d056b36c918e77669eca680367b19c34f3e1f13aa366/interage_python_sdk-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "ed1dc6bfa8e9ebb281ae5f176c9d74b0", "sha256": "4e20a2a029bbba375828f2037a340a284d99de856fd8d23d79bf62ba593c16d6" }, "downloads": -1, "filename": "interage_python_sdk-0.2.3.tar.gz", "has_sig": false, "md5_digest": "ed1dc6bfa8e9ebb281ae5f176c9d74b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5904, "upload_time": "2017-03-09T21:17:25", "url": "https://files.pythonhosted.org/packages/9d/0b/7f230f199daf026b6aa31777d8772ebfd6ecef7a717848cc53c12a20c1d3/interage_python_sdk-0.2.3.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "c2fa1422890c13bc81dcccad8dbe45de", "sha256": "46ff2e42e17fca16fbef7516949a9256412fa0ee5b30ff91227a4213d766d2b7" }, "downloads": -1, "filename": "interage_python_sdk-0.3.0.zip", "has_sig": false, "md5_digest": "c2fa1422890c13bc81dcccad8dbe45de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14283, "upload_time": "2017-04-25T11:18:42", "url": "https://files.pythonhosted.org/packages/ec/47/8a635221ccecf1746fae277988da86f280b6d5f3d449267c73316705edfb/interage_python_sdk-0.3.0.zip" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "afc19fcdde45001f7906b882a5217fca", "sha256": "c0c5c7d626f716767513069c054a310cc3e5296a37e76b5ddcd19adcf1d4b96e" }, "downloads": -1, "filename": "interage_python_sdk-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "afc19fcdde45001f7906b882a5217fca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13672, "upload_time": "2017-09-21T19:32:13", "url": "https://files.pythonhosted.org/packages/b9/b0/9a1d5d0e90d391565db5fdb959e63c3dcdbc14c94c418e4e86980d71328e/interage_python_sdk-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ddf052cded0257254fc5c574896fc0a", "sha256": "c5c11b5aacf868d31773dc90f43c6c013382d68a3057edf4cd2fb2c143329791" }, "downloads": -1, "filename": "interage_python_sdk-0.3.1.tar.gz", "has_sig": false, "md5_digest": "0ddf052cded0257254fc5c574896fc0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8609, "upload_time": "2017-09-21T19:32:21", "url": "https://files.pythonhosted.org/packages/47/24/264175222e803917c453fd7b2058dfb7556238bc018d1bc3b541cc1b416e/interage_python_sdk-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "0ed9dcab6fea83d072103679a435fbb9", "sha256": "29fdbbc4ce28057eab1f81732a9a9703536af4900f238ccae28a491fdc2b365f" }, "downloads": -1, "filename": "interage_python_sdk-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0ed9dcab6fea83d072103679a435fbb9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13691, "upload_time": "2017-12-08T00:13:45", "url": "https://files.pythonhosted.org/packages/bf/f9/c6e7ee78231f797bee43acd9e1437d2f465bf9c68a54ec52a2ec7cc9663a/interage_python_sdk-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7712af84d71d999a231fc1f198033646", "sha256": "f1641e2983ee56b6f9c0e477f474e51e57a4e1c08269569a6975633c04ddb49a" }, "downloads": -1, "filename": "interage_python_sdk-0.3.2.tar.gz", "has_sig": false, "md5_digest": "7712af84d71d999a231fc1f198033646", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6209, "upload_time": "2017-12-08T00:13:46", "url": "https://files.pythonhosted.org/packages/fd/1c/c950405ae4a30a9ef521c8e3e8309db18f5240750a2a74d49c1f09c62257/interage_python_sdk-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "7389539a9a1bff6c28881323d362445b", "sha256": "5e53fba05a995a447418a741cbb81801ba775b257041df46b579ad3405f842c5" }, "downloads": -1, "filename": "interage_python_sdk-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7389539a9a1bff6c28881323d362445b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13724, "upload_time": "2018-04-05T01:34:59", "url": "https://files.pythonhosted.org/packages/4e/ab/203ddd808babc107042a988dbcd21244d59c72a8276af4d5e4b0466f73f1/interage_python_sdk-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "264dbef111c3d36d87f1d627ff644f0e", "sha256": "a78b00a1e3c733e4d6b2b47c0a31333530e94388ad65a79214ef87cfc8d590cb" }, "downloads": -1, "filename": "interage_python_sdk-0.4.0.tar.gz", "has_sig": false, "md5_digest": "264dbef111c3d36d87f1d627ff644f0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6224, "upload_time": "2018-04-05T01:35:00", "url": "https://files.pythonhosted.org/packages/52/23/430c411085d4adfd6fecab7f6473793eae80657f3760023feb636da97e9c/interage_python_sdk-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "be5672e531629ca11c766bdb562747ad", "sha256": "b8b11821e56503f691546f9f714438c2a75a3b1c1d733e3692cc87a6cffc4358" }, "downloads": -1, "filename": "interage_python_sdk-0.4.1.tar.gz", "has_sig": false, "md5_digest": "be5672e531629ca11c766bdb562747ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9843, "upload_time": "2018-04-17T17:24:18", "url": "https://files.pythonhosted.org/packages/19/64/e97f7b5ba016a57bc1cbf8a72781448feb3f013b93fc53b604f9d93f3c3f/interage_python_sdk-0.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "be5672e531629ca11c766bdb562747ad", "sha256": "b8b11821e56503f691546f9f714438c2a75a3b1c1d733e3692cc87a6cffc4358" }, "downloads": -1, "filename": "interage_python_sdk-0.4.1.tar.gz", "has_sig": false, "md5_digest": "be5672e531629ca11c766bdb562747ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9843, "upload_time": "2018-04-17T17:24:18", "url": "https://files.pythonhosted.org/packages/19/64/e97f7b5ba016a57bc1cbf8a72781448feb3f013b93fc53b604f9d93f3c3f/interage_python_sdk-0.4.1.tar.gz" } ] }