Esse repositório foi arquivado e não será mais mantido, permanecendo disponível apenas para referência.
O arquivamento aconteceu pois a API da ANVISA consumida passou a exigir autenticação para acesso, o que inviabiliza a continuidade da proposta original do repositório, que era oferecer acesso aberto e automatizado às informações.
- Projeto pessoal;
- Realiza consultas à API de bulário da ANVISA, retornando informações sobre medicamentos incluindo uma imagem em formato base 64;
- Por se tratar de uma API que retorna imagens há também um visualizador de respostas da API feito em JavaScript Vanilla;
- Esse visualizador pode ser acessado pela rota
/visualizer
.
- Esse visualizador pode ser acessado pela rota
- Tecnologias usadas na API:
🐍 Python 3
,⚡ FastAPI
,✅ Selenium
; - Tecnologias usadas no visualizador:
🟪 Bootstrap
,🟨 JavaScript
.
Important
A extração das imagens é feita utilizando Selenium, capturando o base 64 das imagens retornadas em uma busca no Google Imagens. Por essa razão, podem haver diferenças entre o medicamento consultado e a imagem retornada.
- Para executar a aplicação garanta que o docker-compose esteja instalado na máquina:
$ docker compose up -d
Acessa página com documentação gerada pelo Swagger.
Acessa cliente para consulta das informações e visualização das imagens dos medicamentos.
Retorna página contendo lista de medicamentos simples em ordem alfabética.
Retorna lista de strings contendo o nome dos medicamentos disponíveis para consulta.
Retorna medicamento completo incluindo sua imagem no formato base 64.
Altera a imagem retornada baseando-se na posição da imagem no Google Imagens (por padrão a primeira imagem é retornada).
Tip
O termo buscado no Google Imagens para captura da imagem é: "medicamento" + {nome do medicamento} + {razão social da empresa farmacêutica}
Retorna página contendo lista de medicamentos simples com o mesmo nome porém de diferentes empresas farmacêuticas.
Limita quantidade de medicamentos retornados (por padrão 5 medicamentos são retornados).
Consulta nova página de medicamentos.
{
"idProduto": int
"numeroRegistro": str
"nomeProduto": str
"expediente": str
"razaoSocial": str
"cnpj": str
"numeroTransacao": str
"data": str
"numProcesso": str
"idBulaPacienteProtegido": str
"idBulaProfissionalProtegido": str
"dataAtualizacao": str
}
{
"ordem": int
"imagemMedicamento": str
"idBulaPaciente": str
"idBulaProfissional": str
"medicamento": {
"codigo": int
"nome": str
"numeroRegistro": str
"tipo": {
"codigo": int
"descricao": Optional[str]
}
"categoria": Optional[str]
"situacaoRotulo": Optional[str]
"dataVencimento": Optional[str]
"mesAnoVencimento": str
"dataVencimentoRegistro": str
"principioAtivo": str
"situacaoApresentacao": str
"dataRegistro": str
"categoriaRegulatoria": {
"codigo": int
"descricao": str
}
"medicamentoReferencia": str
"categoriaProduto": Optional[str]
"complemento": Optional[str]
"tipoAutorizacao": str
"tipoPriorizacao": Optional[str]
"descricaoMedicamentoNotificado": Optional[str]
"categoriaMedicamentoNotificado": str
"codigoNotificacao": int
"sinonimos": str
"indicacoes": str
"dataCancelamento": Optional[str]
"numeroRegistroFormatado": str
"mesAnoVencimentoFormatado": str
"acancelar": boolean
}
"empresaFarmaceutica": {
"cnpj": str
"razaoSocial": str
"numeroAutorizacao": str
"cnpjFormatado": str
}
"processo": {
"numero": str
"situacao": int
"numeroProcessoFormatado": str
}
}