read.dbc - um pacote para importação dos dados do datasus na linguagem r

13
Copyright © 2016, Daniela Petruzalek <[email protected]> read.dbc Um pacote para importação dos dados do DATASUS na linguagem R Daniela Petruzalek Consultora de Informática em Saúde [email protected] +55 (42) 99116-1104

Upload: daniela-petruzalek

Post on 19-Jan-2017

354 views

Category:

Data & Analytics


9 download

TRANSCRIPT

Page 1: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]>

read.dbcUm pacote para importação dos dados do DATASUS na linguagem R

Daniela PetruzalekConsultora de Informática em Saú[email protected]+55 (42) 99116-1104

Page 2: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]> 2

Introdução• A disponibilização de informações públicas de saúde é fundamental para a

tomada de decisões gerenciais, fomentar o ensino e a pesquisa em saúde, e promover o controle social do Sistema Único de Saúde.• O DATASUS é o agente responsável pela disponibilização e manutenção das

bases de dados do SUS e da ANS. Algumas bases de dados possuem décadas de informação.– Ex.: Sistema de Informação de Mortalidade (SIM) possui dados desde 1979.

• Grande parte destes dados hoje estão disponíveis no formato DBC, uma versão do formato DBF desenvolvido especificamente para a finalidade de publicação de dados de saúde pelo DATASUS.

Page 3: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]> 3

Introdução• O formato DBC, para ser analisado, depende do uso da ferramenta TabWin

para análise ou conversão para outros formatos, o que impõe algumas limitações:–O TabWin está apenas disponível em Windows–O TabWin roda localmente na máquina do usuário–O TabWin requer treinamento específico

• Para superar estas limitações, foi desenvolvido o pacote read.dbc para leitura do formato de arquivo DBC na linguagem R

Page 4: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]> 4

Por Que a Linguagem R?• O R é uma linguagem desenhada para a Estatística– Ambiente (“environment”) no qual técnicas estatísticas são implementadas

• O R dispõe de uma ampla gama de ferramentas estatísticas (modelagem linear e não-linear, testes estatísticos clássicos, classificação, agrupamentos, aprendizado de máquina, ...) e técnicas gráficas– Expansível através de funções e pacotes (“packages”) como uma linguagem de

programação tradicional

• É uma linguagem Open Source e multiplataforma (Windows, Linux, UNIX)– Comunidade forte de desenvolvedores ao redor do mundo– Biblioteca central de pacotes: CRAN (The Comprehensible R Archive Network)

Page 5: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]> 5

Metodologia• Desafios: o TabWin é software livre, mas não é código aberto• Houve um esforço de “engenharia reversa” do formato do arquivo–O arquivo é um DBF compactado, com o header preservado e empregando um

algoritmo de compactação da empresa PKWare– Código fonte em C, baseado em outro projeto open source:

https://github.com/eaglebh/blast-dbf (Pablo Marcondes Fonseca, UFMG)

• Criou-se um wrapper para o código fonte em C para a linguagem R• O produto deste trabalho foi encapsulado na forma de biblioteca e

publicado na CRAN– Extenso processo de validação– Garantia de estabilidade em todos os ambientes suportados pelo R

Page 6: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]> 6

Resultados• Pacote read.dbc, hoje na versão 1.0.5, com 2 funções:– dbc2dbf: converte arquivos DBC em DBF no sistema operacional, mas não abre os

arquivos– read.dbc: lê arquivo DBC para um data.frame, sem necessidade de conversão prévia

(uma conversão implícita cria um arquivo temporário)

• Disponível na CRAN– Instalável pela função install.packages– Funcionamento garantido em todos os ambientes R acima da versão 3.3.0

Page 7: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]> 7

Instalação

Page 8: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]> 8

Exemplo de Uso

Page 9: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]> 9

Conclusões• O pacote read.dbc contribui para a democratização do acesso aos dados do

DATASUS, flexibilizando as tecnologias empregadas na análise de dados.• Ademais, o pacote facilita o processamento em massa de informações, pois

o R é uma linguagem amplamente suportada, inclusive por grandes players do segmento de tecnologia: Microsoft, Oracle, IBM, Tibco, Teradata, etc.• Finalmente, sua natureza open source permite que a própria comunidade

proponha melhorias e auxilie na correção de erros, promovendo a participação social no SUS

Page 10: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]> 10

Agradecimentos• Thiago Augusto Hernandes Rocha• Pablo Marcondes Fonseca

Page 11: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]> 11

Próximos Passos• Projeto pacote ‘datasus’ para R (em

andamento)– https://github.com/danicat/datasus

• Conversão do pacote read.dbc para Python• Automatização do cálculo de

indicadores de saúde baseados em dados vitais.

Page 12: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]> 12

Perguntas

?

Page 13: read.dbc - Um pacote para importação dos dados do DATASUS na linguagem R

Copyright © 2016, Daniela Petruzalek <[email protected]> 13

Obrigada!!!

Daniela PetruzalekConsultora de Informática em Saú[email protected]+55 (42) 99116-1104

http://www.linkedin.com/in/petruzalekhttp://www.github.com/danicathttp://www.twitter.com/danicat83