Uma aplicação de Data Warehouse para análise do processo de coleta de sangue e de medula óssea Rogério de Torres Pelito, Gleise Celeste Gonzaga Pereira, Diana Maria da Silva de Souza, André Luiz Alves de Oliveira, Tatiana Escovedo, Rubens N. Melo [email protected], [email protected], [email protected], [email protected], {tatiana,rubens}@inf.puc-rio.br Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) Rua Marquês de São Vicente, 225, Rio de Janeiro, RJ, 22453-900, Brasil Resumo Este artigo tem como objetivo apresentar a solução de Business Intelligence para processamento de dados inerentes à coleta de sangue e doação de medula óssea coordenado pelo Hemorio, importante centro de Hematologia e Hemoterapia do Estado do Rio de Janeiro. Neste trabalho propomos a criação de um Data Mart para auxiliar a análise dos processos de coleta de sangue e de medula óssea desempenhados pelo órgão. 1. INTRODUÇÃO Com o advento da globalização, a busca pelo conhecimento e a necessidade de informação vem aumentando intensamente nos últimos anos. As empresas e órgãos contemporâneos, cientes da necessidade de adaptação a este cenário, têm investido na captação, no armazenamento, no tratamento e na aplicação da informação como diferencial estratégico e competitivo na condução de suas atividades. Nesse contexto, em meio à necessidade de desenvolver sistemas para auxiliar as decisões gerenciais, vem sendo utilizado o conceito de Data Warehouse (DW), que pode ser entendido como um banco de dados destinado a sistemas de apoio à decisão em que os dados são armazenados em estruturas lógicas dimensionais, possibilitando o seu processamento analítico por ferramentas especiais. A ideia do Data Warehouse é reunir em um único local os dados provenientes dos sistemas transacionais de uma organização com objetivo de oferecer informações úteis e confiáveis que apoiem o processo decisório sobretudo nos níveis tático e estratégico das empresas. Um Data Warehouse possui as seguintes características: orientação por assunto, integração, variação no tempo e não volatilidade [3]. A utilização do conceito de DW ganha importância tendo em vista que grande parte dos sistemas de informação opera sobre bancos de dados transacionais que, por sua característica de volatilidade, impedem o armazenamento de dados que forneçam análises completas acerca do negócio ou mesmo de um segmento de uma organização. Em contrapartida, os sistemas de informação proveem recursos que possibilitam a coleta e o armazenamento de enormes quantidades de dados, favorecendo uma gestão mais eficiente das informações armazenadas e, consequentemente, a melhoria do processo decisório. Nesse sentido, Data Warehouse é considerado um alicerce do processamento para os SADs (Sistemas de Apoio à Decisão), uma vez que oferece recursos e fundamentos necessários por meio de informações técnicas e táticas da organização que permitem aos gestores responder a questões que não podem ser atendidas através de seus sistemas OLTP (On-Line Transaction Processing) , que podem ser definidos como sistemas que se caracterizam por sua alta taxa de utilização, grandes volumes de dados e acessos pontuais, ou seja, pesquisas cujo resultado seja de pequeno volume [6]. Frente a tudo isso, assim como qualquer outro segmento de uma organização, o segmento de Saúde Pública busca constantemente prestar serviços de qualidade e eficiência à população. Diante dessa necessidade, o Hemorio, notadamente reconhecido por sua contribuição nas áreas de Hematologia e Hemoterapia, percebeu a importância de otimizar os processos de coleta de sangue e de medula óssea. Isso porque apesar de grande parte da gestão dos dados pertinentes ao "ciclo do sangue" ser automatizada, ainda há pontos a serem discutidos. O conhecimento desses pontos ganha relevância já que pode favorecer o fornecimento de serviços à sociedade com excelência e, sobretudo, auxiliar a manutenção do atendimento das demandas de sangue e de medula óssea. Disso decorre a motivação da pesquisa: aplicar os conhecimentos do conceito de Data Warehouse no contexto do atendimento promovido por esse órgão. Como consequência, pretende-se auxiliar a prestação desse serviço público, através do melhor aproveitamento das informações obtidas com o uso da aplicação de Data Warehouse. Além disso, a ausência de trabalhos anteriores relacionados ao tema constitui um fator de motivação para a realização dessa pesquisa. Sendo assim, esse artigo tem por objetivo apresentar a solução de DW criada para o estudo dos processos de coleta de sangue e de medula óssea, visando apoiar as decisões do referido órgão no que tange a qualidade dos serviços prestados à sociedade. O estudo consiste na construção de um Data Warehouse Departamental, isto é, um Data Mart sob o qual foram aplicadas tecnologias OLAP (On-Line Analytical Processing), isto é, tecnologias projetadas para apoiar análises e consultas, além de auxiliar seus usuários a sintetizar informações através de comparações, visões personalizadas e análises históricas que propiciaram a elaboração das análises solicitadas pelo órgão [7] . Esse artigo está organizado em 5 seções, sendo a primeira a introdução. A seção 2 apresenta a visão geral da solução proposta para o estudo de caso. Nela será mencionada a solução e seu objetivo. A seção 3 apresenta de forma detalhada a solução proposta para construção do ambiente de DW do Hemorio. Esta seção descreve as ferramentas de banco de dados e tecnologias utilizadas na construção do sistema de apoio à decisão, ressaltando suas principais funções, vantagens e áreas de aplicação. A seção 4 apresenta os mecanismos de implementação considerados na criação do ambiente de DW utilizado, fornecendo alguns resultados obtidos na pesquisa. A seção 5 destina-se à apresentação das conclusões do estudo e à descrição das contribuições relevantes do sistema desenvolvido para a área de coleta de sangue e doação de medula óssea. Além disso, essa seção também fornece sugestões para estudos futuros que possam sobrevir essa pesquisa. Assim sendo, esse estudo tem por objetivo suportar os sistemas legados já existentes, visando: • Permitir o monitoramento dos totais, a periodicidade e o consumo médio de sangue e a determinação de uma análise comparativa entre esse consumo e o volume de doação ao longo dos ciclos anuais identificados; • Emitir relatórios estatísticos que permitam conhecer os grupos emergenciais, doadores eventuais e os grupos de coletas externos de forma a contabilizar o percentual de aptidão e a eficiência de cada grupo; • Mapear os hospitais e as doações direcionadas de modo a classificá-los quanto à qualidade da captação e ao aproveitamento das bolsas coletadas; • Identificar as principais causas de inaptidão de doadores, os grupos de doadores reversíveis e as chances de recuperação de doadores considerados inaptos em coletas anteriores, propiciando, com isso, o monitoramento desses grupos e de suas doações; • Elaborar relatórios que permitam classificar a qualidade das campanhas veiculadas pelo órgão, cruzando a quantidade de doadores aptos e as respectivas quantidades de bolsas utilizadas de forma a reconhecer a qualidade do sangue ao estabelecer a relação entre o risco residual e o período de janela imunológica. • Emitir relatórios que estabeleçam a relação entre as doações e os períodos de vacinação do Governo Federal a fim de conhecer o percentual de doadores inaptos por período. • Conhecer o perfil dos doadores, estabelecendo a relação entre os doadores inaptos e reversíveis e, consequentemente, identificar o total de doadores perdidos. • Emitir relatórios com os totais de doenças sorológicas e os tipos de testes empregados para a detecção dessas, elaborando indicadores que mostrem o percentual de ausência de doenças nos grupos já mapeados. 2. PROPOSTA DA SOLUÇÃO A proposta desse trabalho é identificar, analisar e definir necessidades e características do Hemorio com base em informações e solicitações inicialmente levantadas e, a partir delas, propor a construção de um ambiente de Data Warehouse que auxilie a análise do processo de coleta e doação de sangue e medula. Destaca-se como foco deste trabalho a geração de análises estatísticas e comparativas que identifiquem, antecipadamente, em quais ciclos críticos a demanda por sangue pode comprometer os estoques existentes. A ideia é fomentar, através da sustentação de análises estatísticas, iniciativas e campanhas a partir do mapeamento das fases inerentes ao processo de coleta de sangue. Além disso, essas análises estatísticas também fundamentam o gerenciamento dos estoques mínimos ao longo do ano. • Monitorar os totais de bolsas, seus estoques e volumes médios por grupos sanguíneos. • Totalizar o número de cadastros no REDOME (Registro Nacional de Doadores de Medula Óssea) por região do estado buscando cruzar o total de cadastros contra o total de doadores. • Previsibilidade do número de doadores necessários para atender as demandas dos ciclos futuros tendo por base os números já conhecidos e monitorados nos ciclos passados. • Monitoramento e análise do volume de doações nos períodos de e entre campanhas; monitoramento das campanhas para permitir que o órgão defina quais são as campanhas que realmente atingiram seu público alvo auxiliando o órgão a direcionar campanhas vindouras. 3. DETALHAMENTO DA SOLUÇÃO 3.2. Modelagem dimensional do DW Inicialmente foi criado um banco de dados a partir dos dados extraídos do Hemorio no período mencionado. Esses dados foram armazenados em três tabelas utilizadas como repositório de dados, quais sejam: REP_SOFIS_ARQUIVO, REP_REDOME_ARQUIVO e REP_ORIGEM_BOLSA_ARQUIVO. A partir das tabelas de repositório supracitadas foi construído um ambiente de DW baseado na modelagem constelação de fatos. A utilização desse tipo de esquema se justifica pela existência de mais de uma tabela de fatos no modelo de dados. Além disso, esse esquema favorece a otimização das consultas na ferramenta OLAP. A figura 1 ilustra o modelo constelação de fatos considerado na pesquisa. A modelagem dimensional ilustrada nessa figura apresenta duas tabelas de fatos (FT_CONSUMO e FT_COMPONENTE_DOACAO) e 8 tabelas de dimensões: DIM_EVENTO, DIM_TIPO_COMPONENTE,DIM_INSTITUICAO, DIM_LOCALIDADE, DIM_CAMPANHA, DIM_TRIAGEM, DIM_DOADOR e DIM_REDOME. Esta seção descreve a solução adotada no projeto de DW proposto para o Hemorio. 3.1. Obtenção das fontes de dados Durante as entrevistas realizadas com os usuários envolvidos com o processo de análise e coleta de sangue e de medula óssea foram identificados os requisitos de negócio. Para o desenvolvimento do DW do Hemorio foram utilizadas informações de coleta de sangue e de medula óssea realizadas no período de 18/11/2010 a 18/11/2011. Tais informações foram segmentadas em três arquivos distintos, quais sejam: 1) Arquivo contendo as informações acerca do doador e do processo de triagem e consumo das bolsas de sangue, tais como: matrícula do doador, data de nascimento, fator RH, origem da doação, consumo e etc denominado Sofis.txt. 2) Arquivo de Redome.csv que contém as informações relativas à doação de medula óssea. 3) Arquivo contendo as informações sobre as doações de sangue captadas em outras instituições cuja denominação é Bolsa_Doada.csv. Como esses arquivos continham apenas as fontes de dados, tornou-se necessária a geração de tabelas com o propósito de armazenar as informações oriundas das fontes de dados e que serviram de base para o desenvolvimento do DW. Figura 1. Modelo de constelação de fatos do DW. Esse esquema é comumente usado para Data Warehouse, pois permite a modelagem de assuntos múltiplos e interrelacionados. Por outro lado, os Data Marts normalmente utilizam o esquema floco de neve, visto que são orientados à modelagem de um único assunto [5]. A ferramenta usada no desenvolvimento do DW do Hemorio foi o Microsoft SQL Server Analysis Services 2005. A escolha dessa ferramenta se justifica por ser esta uma ferramenta compatível com o SGBD utilizado pelo órgão. Além disso, outras ferramentas foram empregadas na construção desse ambiente de DW, as quais são listadas na tabela 1: Software Uso Fornecedor EditPad Lite 7 Editor de texto Just Great Software Uma vez criado o projeto no Analisys Services, é necessária a criação de alguns objetos antes de começar a manipulação dos dados no ambiente de DW, os quais são apresentados a seguir. SQL Server Integration Services 2005 Atividades de ETL Microsoft 4.2.1. Data Source DB Designer Modelagem de dados Fabforce.net Sql Server Manager Studio 2005 Administração de banco de dados e execução de queries Microsoft Microsoft SQL Server Analysis Services 2005 Geração do cubo Ferramenta OLAP Microsoft Microsoft Office Excel Ferramenta de análise Microsoft Tabela 1: Aplicativos usados na construção do DW 4 – IMPLEMETAÇÕES E RESULTADOS 4.1. Extração e Transformação de dados Uma das fases mais demoradas na construção do DW é a fase de transformação, que pode requerer a limpeza ou o tratamento dos dados antes de se efetuar a carga para o DW. Para isso foi utilizada a ferramenta Integration Services. Integration Services fornece solução e integração de dados para extrair e transformar dados de varias fontes e movê-los para uma ou mais fontes de destino, permitindo mesclar dados de fontes heterogênias, carregar dados em Data Warehouse e Data Marts [1]. O Integration Services é uma plataforma para construir soluções para integração de dados de alto desempenho, inclui pacotes que fornecem processamento de extração, transformação, e carregamento (ETL) para armazenamento de dados [2]. 4.2. Ferramentas de análise Para execução das operações OLAP realizadas nesse trabalho foi utilizada a ferramenta Microsoft SQL Server Analysis Services 2005. A partir da carga dos arquivos mencionados na seção 3, foi criado um projeto por meio da ferramenta Analisys Services Multidimensional para realizar o desenvolvimento e gerenciamento dos dados. O Analysis Services suporta OLAP, permitindo ao usuário projetar, criar e gerenciar estruturas multidimensionais que contenham dados agregados de outras fontes de dados, como bancos de dados relacionais [2]. Data Source no Microsoft SQL Server Analysis Services é um objeto que fornece ao serviço Analysis Services as informações necessárias para ele se conectar com um banco de dados para a solução de Business Intelligence. A ferramenta Analysis Services pode acessar dados de um ou mais Data Sources, desde que consiga construir as consultas OLAP ou de mineração de dados exigidas pela solução de Business Intelligence [2]. 4.2.2. Data Source View Os projetos de processamento analítico online (OLAP) e de mineração de dados no Microsoft SQL Server são criados com base em um modelo de dados lógico de tabelas, exibições e consultas relacionadas a partir de uma ou mais fontes de dados. Os Datas Sources Views armazenam os metadados dos Data Sources nos quais se baseia [2]. 4.2.3. Dimensões Após a criação dos objetos citados anteriormente, dá-se início à geração das dimensões, usadas para a manipulação das informações que formarão o cubo de dados. As dimensões no Analysis Services contêm atributos que correspondem às colunas nas tabelas de dimensões. Esses atributos aparecem como hierarquias de atributo e podem ser organizados conforme a definição do usuário ou podem ser definidos como hierarquias pai-filho com base em colunas na tabela de dimensões subjacente. As hierarquias são usadas para organizar medidas contidas em um cubo de maneira agrupada. Uma dimensão do banco de dados é uma coleção de objetos relacionados chamados atributos, que podem ser usados para fornecer informações sobre dados de fatos de um ou mais cubos [2]. Em um esquema Snow Flake, um atributo estará diretamente vinculado à chave do atributo se a tabela subjacente estiver diretamente vinculada à tabela de fatos, ou vinculado indiretamente pelos atributos associados à chave na tabela subjacente. No modelo dimensional adotado, um exemplo dessa situação é a tabela de dimensão DIM_LOCALIDADE, que não está ligada diretamente à tabela de fatos, mas a outra tabela de dimensão. 4.2.4. Cubo Um cubo é uma estrutura multidimensional que contém dimensões e medidas [2]. O cubo pode ser entendido como resultado do cruzamento das informações das tabelas de fatos com as tabelas de dimensões. Para essa pesquisa foi desenvolvido um cubo para realizar análise dos totais de doadores medula óssea, bem como dos doadores de sangue. O cubo Doador Redome visa totalizar o número de cadastros no REDOME por região do estado, buscando cruzar o total de cadastros contra o total de doadores. A elaboração desse relatório está pautada na utilização de algumas operações específicas da ferramenta que foram usadas para configurar o cubo. Para facilitar o entendimento do processo, essas operações são descritas resumidamente: • Tab Cube Structure: permite a visualização dos grupos de medidas criados; • Tab Dimension Usage: por meio desse mecanismo se realizam os relacionamentos entre as tabelas de dimensões e de fatos; • Tab Calculation: é usado para criação dos campos calculados; • Tab Browser: permite ao analista de dados analisar e visualizar os dados. No relatório de Redome foram criadas medidas ou métricas para quantificar informações demandadas por essa consulta. São elas: • DoadorSangue: representa o total de doadores cadastrado somente como doadores de sangue; • DoadorSangue_e_Redome: totaliza as pessoas que doam concomitantemente sangue e medulaóssea; • TotalDoador: representa o universo total de doadores, ou seja, é o somatório de doadores de sangue e de medula óssea • Redome e Redome_De_Doador: essas medidas são utilizadas para se comparar as matrículas existentes nas tabelas de dimensão DIM_DOADOR e DIM_REDOME. Isso porque em se tratando de doador de medula óssea a matrícula atribuída no momento da doação de parte da medula não é a matrícula definitiva no cadastro do REDOME, tendo em vista que o resultado do exame de medula demora mais do que os exames feitos nas bolsas de sangue. Medida é o atributo numérico que representa um fato, a performance de um indicador de negócios relativo às dimensões que participam desse fato [4]. Processado o cubo com suas devidas medidas, podemos começar a explorar os dados na Tab. do browser do Cubo desenvolvido. Essa opção extremamente importante para o analista de dados que desenvolveu o cubo. No browser é possível identificar se ficou faltando anexar alguma informação em relação a atributo de dimensão, visualizar se as hierarquias das dimensões foram criadas de forma correta. Figura 2. Relatório com a exploração dos dados do cubo. De posse do relatório acima é possível realizar diversas análises sobre a situação de doadores de medula óssea e de sangue, entre as quais, citamos: observou-se um volume maior de doadores de sangue em comparação aos doadores de medula óssea. Além disso, foi verificada uma concentração maior de doadores no estado do Rio de Janeiro, justificada pelo fato de que a maioria das coletas consideradas na fonte de dados pertencia ao estado mencionado. A figura 3 apresenta outro relatório contendo o volume de sangue doado, o volume consumido e o volume disponível em estoque. A partir da análise desse relatório é possível verificar períodos em que há um consumo maior das bolsas de sangue, como é o caso do dia 30/11/2010. Figura 3. Análise do volume de sangue Para apresentação das consultas aos usuários procedeu-se à importação do cubo compilado para uma planilha Excel a partir da qual se obteve o mesmo resultado da análise dos dados conseguida na visualização da tab. Browser do cubo do Analisys Services. O Hemorio obterá os seguintes benefícios depois da implantação do projeto: Fomentação de iniciativas e campanhas; Gerenciamento dos estoques mínimos ao longo do ano; Monitoramento do aproveitamento de grupos de doação e instituições; Conhecimento do perfil dos doadores; Previsibilidade do número de doadores necessários para atender às demandas dos ciclos futuros; Totalização do número de cadastros no Redome por região do estado buscando cruzar o total de cadastros contra o total de doadores. 5. CONCLUSÕES E FUTUROS TRABALHOS O uso de Data Marts para análise de dados históricos possibilita um melhor entendimento da evolução destes dados ao longo do tempo. Este tipo de abordagem é bastante adequado, visto que há grandes variações no volume de doações e consumos de bolsas de sangue no Hemorio no aspecto sazonal. Um dos maiores desafios de um projeto de Data Warehouse é a gestão de requisitos, que deve ser muito bem definida no início e bem gerida no decorrer do projeto. Na fase de levantamento de requisitos e análise de dados deve-se ter o acompanhamento e a validação do usuário para que sejam evitados ajustes, retrabalho ou complementos na fase final do projeto. Em um projeto desse porte, com um banco relacional bem robusto, é normal haver a necessidade da realização de ajustes a partir da análise dos resultados dos relatórios. As solicitações de ajustes, normalmente, resultam em um trabalho de revisão e alteração do modelo e do ETL para atender os resultados esperados. O projeto atendeu os objetivos listados na seção 2, sendo gerados os relatórios gerenciais solicitados pelo referido órgão, os quais podem ser acessados por meio dos dados históricos armazenados no Data Mart gerado para a pesquisa. Um dos aspectos positivos da pesquisa reside no fato de que não há dependência direta com o banco de dados relacional, sendo requeridos apenas de 3 arquivos fonte para carga do Data Mart. Essa solução foi escolhida principalmente para não prejudicar as aplicações que utilizam o banco de dados operacional do órgão. Vale ressaltar que todo o aprendizado na ferramenta de Business Intelligence da Microsoft foi totalmente útil na construção do ETL e na geração dos relatórios. O resultado que uma organização alcança é fruto da estratégia que adota. Com o uso do Business Intelligence o Hemorio se posiciona como uma entidade que reconhece a importância do processo de conhecimento das informações como forma de melhoria dos serviços prestados à sociedade. A proposta desse trabalho foi contribuir com as atividades desempenhadas pelo órgão por meio da aplicação desenvolvida. A solução projetada buscou apoiar o processo decisório do órgão no que tange aos procedimentos de coleta e doação de sangue e medula óssea. Essa solução, entretanto, não pretende ser definitiva, sobretudo por se tratar de uma área que requer constantes aperfeiçoamentos. Esse artigo foi organizado em 5 seções: nas seções 1 e 2 foram Apresentados respectivamente a introdução e a proposta de solução. A seção 3 detalhou a solução implementada. Na seção 4 foram descritos os mecanismos de implementação considerados na criação do ambiente de DW. Finalmente, a seção 5 abordou a conclusão e os trabalhos futuros relacionados à pesquisa. 6. REFERÊNCIAS [1] Stanek , William R , “ Guia de Bolso do Administrador - Microsoft SQL Server 2008” , Bookman,2010. [2] Manual OnLine SqlServer 2008 http://msdn.microsoft.com/ptbr/library/ms130214(v=sql.100).aspx, acessado em 19/10/2011. , [3] INMON, William H. Como construir o Data Warehouse. Editora Campus, Rio de Janeiro, 387 págs. [4] MACHADO, Felipe Nery Rodrigues. Tecnologia e Projeto de Data Warehouse. 5ª. Edição. Editora: Érica, 2010. [5] CORDEIRO, Kelli de Faria. Cubo while Mining: Ambiente Analítico para Apoio ao Processo de Exploração de Regras de Associação. Dissertação de Mestrado, Núcleo de Computação Eletrônica, Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2005, 101. [6] http://vivianeribeiro1.wordpress.com/2011/07/12/o-que-e-olap/. Acesso em: 13/03/2012 [7] GOUVEIA, Roberta Macêdo Marques. Mineração de Dados em Data Warehouse para sistema de abastecimento de água. Dissertação de Mestrado, Centro de Ciências Exatas e da Natureza, Universidade Federal da Paraíba, Paraíba, 2009, 147. Disponível em: http://bdtd.biblioteca.ufpb.br/tde_arquivos/16/TDE-2009-1015T111620Z-136/Publico/ . Acesso em: 25/06/2011.