Your SlideShare is downloading. ×
0
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Apresentacao CBIS 2010
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Apresentacao CBIS 2010

155

Published on

Apresentação realizada no CBIS 2010 em Porto de Galinhas em 19/out/10

Apresentação realizada no CBIS 2010 em Porto de Galinhas em 19/out/10

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
155
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 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
  • 2. O desafio <ul><li>Identificar e remover pacientes duplicados em uma base com ~30 milhões de pacientes </li></ul><ul><li>Estatísticas erradas </li></ul><ul><li>Consultas incertas </li></ul><ul><li>Registros homônimos ou são a mesma pessoa? </li></ul><ul><li>Informações não confiáveis </li></ul>Os problemas
  • 3. Como resolver? <ul><li>No entanto... </li></ul><ul><li>Nenhum campo é 100% significativo </li></ul><ul><li>Comparação de nomes não é tão simples </li></ul><ul><ul><li>Erros de digitação </li></ul></ul><ul><ul><li>Erros de fonética </li></ul></ul><ul><li>Maior parte dos registros não possuem documentos preenchidos </li></ul>Comparando os registros entre si!
  • 4. Comparar todos com todos? <ul><li>30 mi comparando todos com todos : </li></ul><ul><li>449 .999.985.000.000 comparações! </li></ul><ul><li>Computacionalmente falando*: </li></ul><ul><li>~ 2 anos </li></ul><ul><li>* considerando que cada comparação de pacientes leva 1 ms </li></ul>
  • 5. A solução <ul><li>Criar conjuntos ! (divisão e conquista) </li></ul><ul><li>ou seja, </li></ul><ul><li>Agrupar os possíveis pacientes duplicados </li></ul><ul><li>e depois, </li></ul><ul><li>Comparar todos com todos , porém somente dentro do conjunto </li></ul>
  • 6. Agrupamento Cintia F Souza = CTASZ Cintia Ferreira Sousa = CTASZ Cinthia F Souza = CTASZ Sintia Sousa = CTASZ Basta criarmos um Hash significativo para cada paciente usando fonética e considerações sobre erros de digitação Juliano Moraes = JLNMRE Giuliano Moraes = JLNMRE Giuliano Morais = JLNMRE CTASZ JLNRE Cintia Ferreira Sousa Mã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 = CTA SZ MR SZ Ex:
  • 7. Comparando <ul><li>Com os grupos de candidatos formados... </li></ul><ul><li>Realizamos as comparações entre os candidatos do mesmo grupo apenas </li></ul>1 x 2 1 x 3 1 x 4 2 x 3 2 x 4 3 x 4 Progressão aritmética 1. Cintia F Souza = CTASZ 3. Cintia Ferreira Sousa = CTASZ 2. Cinthia F Souza = CTASZ 4. Sintia Sousa = CTASZ Grupo CTASZ
  • 8. A comparação <ul><li>É feita uma comparação estatística que gera um percentual de similaridade entre 2 pacientes </li></ul><ul><li>Para os nomes , usamos algoritmos de distância de caracteres considerando fonemas e erros de digitação </li></ul><ul><ul><li>Algoritmo Levenshtein (bastante modificado) </li></ul></ul><ul><ul><li>Ex: Cinthya Fereira Souza x Cintia Ferreira Sousa ~= 92,3% </li></ul></ul><ul><li>Para as datas , algoritmos de consideração de erros de digitação baseados em erros comuns e na disposição do teclado </li></ul><ul><ul><li>Ex: 21 /09/1982 e 12 /09/1982 ~= 89% de similaridade </li></ul></ul>
  • 9. A comparação <ul><li>nome Cinthya Fereira Souza x Cintia Ferreira Sousa </li></ul><ul><li>92,3% * peso (0.29) </li></ul><ul><li>nome da mãe Maria Souza x Maria Sousa </li></ul><ul><li>98,1% * peso (0.26) </li></ul><ul><li>nome do pai Paulo Oliveira Souza x Paulo Oliveira Souza </li></ul><ul><li>100% * peso (0.20) </li></ul><ul><li>data de nascimento 20/09/1982 x 21/09/1982 </li></ul><ul><li>86% * peso (0.25) </li></ul><ul><li>Percentual de similaridade: 93,76 % </li></ul>
  • 10. A comparação <ul><li>if percentual de similaridade >= 68% </li></ul><ul><ul><li>Comparação é considerada candidata e vai para uma base de dados de comparação </li></ul></ul><ul><ul><li>O usuário analisa as comparações candidatas através de uma interface que acessa esta base </li></ul></ul>
  • 11. Demonstração
  • 12. Tela de listagem
  • 13. Tela de comparação
  • 14. Arquitetura Thread de comparação Thread de comparação Thread de comparação Distribuidor ETL Escalável sobre TCP/IP Comparação >= 68% Decisão do usuário Java 6 Base de dados Cartão SUS Oracle 10g Banco de dados em árvore desenvolvido pelo LSI Banco de comparações PostgreSQL 8.4 Interface do usuário Flex 3.4
  • 15. Algumas informações técnicas <ul><li>Feito em Java 6 </li></ul><ul><li>Multi-thread assíncrono sobre TCP/IP </li></ul><ul><li>Interface do usuário em Adobe Flex 3.4 </li></ul><ul><li>Desenvolvido e executando em Linux (CentOS) </li></ul><ul><li>“ Magic numbers ” foram encontrados por análise estatística </li></ul><ul><li>Para processar os 30 milhões ~= 3 dias </li></ul><ul><li>Atualização diária de novos registros (~5.000 pacientes) leva 40s </li></ul><ul><li>Tempo médio de cada comparação: 0,12 ms </li></ul>
  • 16. Obrigado! <ul><li>Emerson Moretto </li></ul><ul><li>[email_address] </li></ul>Financiamento Desenvolvimento

×