Integração de dados para sistema em nuvem utilizando Python e TSQL (SIMTEC – Simpósio dos Profissionais da UNICAMP, 2023)
Introdução/Objetivo: O desenvolvimento tecnológico no âmbito do ecossistema de saúde remete a necessidade de comunicação entre Sistemas de Informação e a consequente automatização de processos através de produtos que agilizam as tarefas do profissional de TI. O objetivo deste trabalho é compartilhar a experiência na implantação de uma interface, realizar a comunicação unilateral entre dois ambientes: o servidor local e a API do Sistema de Resultados do Pezinho na Web (e-TesteDoPezinho), hospedado no ambiente de nuvem computacional da Unicamp, provendo as informações dos Testes do Pezinho processados pelo Serviço de Referência em Triagem Neonatal - SRTN/Unicamp. O procedimento automatizado consiste na sincronização, com o ambiente em nuvem, de resultados liberados pelo Laboratório de Triagem Neonatal. Metodologia: O processo automatizado faz a combinação de códigos escritos em T-SQL [1], Python [2], Powershell [3] e SSIS, emitindo alertas de Sucesso/Erro aos profissionais de TI responsáveis pelo monitoramento desta rotina. O mapeamento do processo é representado através da metodologia BPMN [4] (figura 1), que ilustra o mecanismo que envolve os atores: Servidor local, profissional de TI e Servidor em nuvem API e-TesteDoPezinho. Resultados: Os tópicos a seguir descrevem os processos desenvolvidos: 1) Exportação dos resultados liberados: exporta um arquivo csv, com dados de amostras, para o mesmo repositório onde são armazenados os resultados de exames liberados no sistema do laboratório de Triagem Neonatal. 2) Requisição de upload de arquivos para nuvem: a partir do arquivo csv gerado, solicita à API o envio de dados e analisa a resposta da requisição com disparo de emails de alerta à equipe de TI. Em seguida, solicita o envio de arquivos pdf que correspondem aos dados do csv consumido anteriormente, emitindo email com o resultado da operação. 3) Processamento dos arquivos: o sistema em nuvem, desenvolvido em FastAPI [5], recebe a solicitação de gravação dos dados. Uma função que converte linhas do csv em objetos do schema Pydantic [7], percorre o arquivo a partir da análise e validação dos campos e adiciona os registros no banco PostgreSQL [6]. Após o processamento do arquivo csv realiza a importação dos arquivos de resultados de exames no repositório. A finalização da requisição e eventuais falhas ou inconsistências de dados encontradas são registradas em log para posterior correção. Conclusão: A adoção de rotinas em background beneficia a produtividade do profissional de TI. A combinação de diferentes ferramentas facilitou a conexão com a API e despertou insigths para futuras integrações de sistemas, aplicadas no contexto de informações da Triagem Neonatal. Propomos de uma nova versão dessa interface, que contemplará melhorias para correção de inconsistências de dados encontradas durante o processamento do csv, além do aperfeiçoamento de mensagens de resposta à equipe de TI.