Acertando a duplicidade cadastro de pessoa via JOB

Acertando a duplicidade cadastro de pessoa via JOB

Alguns anos atrás, a Tecnoage assumiu a T.I. de um novo cliente que estava migrando de um software EHR para um ERP hospitalar.

Esse cliente já tinha mais de 30 anos de história e vários dados dos pacientes tinham que ser migrados.

No contrato com o fornecedor do ERP, foi incluída a migração dos principais registros clínicos e do cadastro dos pacientes.

Após rodar o script de importação de dados na base de homologação do ERP, notamos que foram gerados vários cadastros duplicados de pacientes, então questionamos o fabricante e o mesmo fez alguns ajustes no script. Os ajustes diminuíram os cadastros duplicados, mas continuamos com bastantes, e não tivemos novas tratativas por parte do fabricante.

O próprio ERP possui uma função de acerto de duplicidade, entretanto o processo teria que ser feito manualmente.

Outros clientes que já trabalhamos tinham pessoas específicas para realizar esse processo, mas essa não era a realidade do nosso novo cliente.

A partir daí decidi criar um script de acerto de duplicidade para ser rodado após a importação na base de produção. Para isso precisei “debugar” a aplicação e descobrir o código que era rodado ao realizar o acerto de duplicidade no próprio ERP.

Nessa etapa fiz um trace no banco de dados e descobri a procedure que era chamada.

O próximo passo foi montar a query que busca os cadastros duplicados no banco de dados. Considerei como cadastro duplicado aqueles que tinham o mesmo nome (sem considerar acentos e sem diferenciar letras maiúsculas e minúsculas) e a mesma data de nascimento.

O script criado pode ser representado pelo seguinte pseudocódigo:

para cada registro_duplicado em query_registros_duplicados faça

    acerta_duplicidade(registro_duplicado.cod_pessoa_origem, registro_duplicado.cod_pessoa_destino) 

# procedure utilizada pelo ERP

    insere_log_acerto_duplicidade

 # registra em uma tabela de log o código origem e destino, a data e se houve algum erro fim para

Com a criação do script bastou criar a Job que seria executada fora do período de trabalho, para evitar sobrecarga no banco de dados.

No término da execução do script eu tinha a tabela de log para verificar quais acertos de duplicidade deram problema e por quê.

No início e durante a execução do script setamos os alertas para serem enviados para mim, a fim de saber quantos registros estavam pendentes e se tudo estava funcionando corretamente, mas esse é um assunto para outro dia!

Autor: João Filipe Cavichiolo Storrer

Facebook
Twitter
LinkedIn

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *