Apresentacao CBIS 2010
-
Upload
emersonmoretto -
Category
Technology
-
view
179 -
download
0
Transcript of Apresentacao CBIS 2010
![Page 1: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/1.jpg)
Projeto de Identificação de Pacientes do Cartão SUS do estado de São Paulo
Secretaria Estadual de Saúde de São Paulo - SESSP
Laboratório de Sistemas Integráveis e Tecnológico - LSITEC
Organização Pan-Americana da Saúde - OPAS
Laboratório de Sistemas Integráveis – LSI EP/USP
Emerson Moretto
![Page 2: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/2.jpg)
Contexto
Estatísticas erradas Consultas incertas Registros homônimos ou são a mesma pessoa? Informações não confiáveis!
Os problemas
Banco de dados com pacientes replicados• Paciente cria um novo Cartão SUS a cada atendimento...• Mais de uma fonte de dados• Erros de digitação
![Page 3: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/3.jpg)
O desafio
Identificar e remover pacientes duplicados em uma base com
~30 milhões de pacientes
![Page 4: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/4.jpg)
Como resolver?
Mas...
Nenhum campo é 100% significativo
Comparação de nomes não é tão simples
Erros de digitação
Erros de fonética
Maior parte dos registros não possuem documentos
preenchidos
Comparando os registros entre si!
![Page 5: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/5.jpg)
Comparar todos com todos?
30 mi comparando todos com todos:
449.999.985.000.000 comparações!
Computacionalmente falando*:
~ 2 anos* considerando que cada comparação de pacientes leva 1 ms
![Page 6: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/6.jpg)
A solução
Criar conjuntos! (divisão e conquista)
ou seja,
Agrupar os possíveis pacientes duplicados
e depois,
Comparar todos com todos, porém somente
dentro do conjunto
![Page 7: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/7.jpg)
Agrupamento
Cintia F Souza = CTASZ
Cintia Ferreira Sousa = CTASZCinthia F Souza = CTASZ
Sintia Sousa = CTASZ
Basta criarmos um Hash significativo para cada pacienteusando fonética e considerações sobre erros de digitação
Juliano Moraes = JLNMREGiuliano Moraes = JLNMREGiuliano Morais = JLNMRE
CTASZJLNMRE
Cintia Ferreira SousaMãe: Maria Sousa
Primeiro nome fonético + último nome fonético+ Primeiro nome da mãe fonético + último nome da mãe fonético
Hash significativo = CTASZMRSZ
Ex:
![Page 8: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/8.jpg)
Comparando
Com os grupos de candidatos formados...
Realizamos as comparações entre os candidatos do mesmo grupo apenas
1 x 21 x 31 x 42 x 32 x 43 x 4
1. Cintia F Souza = CTASZ
3. Cintia Ferreira Sousa = CTASZ
2. Cinthia F Souza = CTASZ
4. Sintia Sousa = CTASZ
Grupo CTASZ
Progressãoaritmética
![Page 9: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/9.jpg)
A comparação
É feita uma comparação estatística que gera um percentual de similaridade entre 2 pacientes
Para os nomes, usamos algoritmos de distância de caracteres considerando fonemas e erros de digitação Algoritmo Levenshtein (bastante modificado) Ex: Cinthya F Souza x Cintia Ferreira Sousa ~= 92,3%
Para as datas, algoritmos de consideração de erros de digitação baseados em erros comuns e na disposição do teclado Ex: 21/09/1982 e 12/09/1982 ~= 89% de similaridade
![Page 10: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/10.jpg)
A comparação
nome Cinthya Fereira Souza x Cintia Ferreira Sousa
92,3% * peso (0.29)
nome da mãe Maria Souza x Maria Sousa
98,1% * peso (0.26)
nome do pai Paulo Oliveira Souza x Paulo Oliveira Souza
100% * peso (0.20)
data de nascimento 20/09/1982 x 21/09/1982
86% * peso (0.25)
Percentual de similaridade: 93,76 %
![Page 11: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/11.jpg)
A comparação
if percentual de similaridade >= 68% {
Comparação é considerada candidata e vai para uma base de dados de comparação
O usuário analisa as comparações candidatas através de uma interface que acessa esta base
}
![Page 12: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/12.jpg)
Demonstração
![Page 13: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/13.jpg)
Tela de listagem
![Page 14: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/14.jpg)
Tela de comparação
![Page 15: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/15.jpg)
ArquiteturaBase de dados
Cartão SUSOracle 10g
Banco de dadosem árvore
desenvolvido pelo LSI
Thread de comparação Thread de
comparação
Thread de comparação
Distribuidor
ETL
Escalável sobreTCP/IP
Banco de comparaçõesPostgreSQL 8.4
Comparação>= 68%Interface do
usuárioFlex 3.4
Decisão dousuário
![Page 16: Apresentacao CBIS 2010](https://reader035.fdocument.pub/reader035/viewer/2022081422/55b2bfc4bb61ebb2448b46ba/html5/thumbnails/16.jpg)
Algumas informações técnicas
Feito em Java 6 Multi-thread assíncrono sobre TCP/IP Interface do usuário em Adobe Flex 3.4 Desenvolvido e executando em Linux (CentOS) “Magic numbers” foram encontrados por análise
estatística Para processar os 30 milhões ~= 3 dias Atualização diária de novos registros
(~5.000 pacientes) leva 40s Tempo médio de cada comparação: 0,12 ms