Integração de Informações em Saúde na WEB: Uma Visão Tecnológica 1 Rosalie Belian1,2, Ana Carolina Salgado2 Grupo de Tecnologias da Informação em Saúde (TIS), Laboratório de Imunopatologia Keizo Asami (LIKA), Universidade Federal de Pernambuco (UFPE), Brasil. 2 Centro de Informática – Universidade Federal de Pernambuco (UFPE), Brasil. Resumo - Este artigo apresenta uma revisão sobre as tecnologias envolvidas na integração de informações na WEB focando aplicações da área de saúde. A WEB concentra atualmente um número extraordinário de informações das mais diversas áreas, incluindo a área de saúde. A tecnologia da informação vem, nos últimos anos, buscando solucionar o problema de integração destes dados encarando a WEB como um gigantesco banco de dados. Neste sentido, pesquisas têm sido direcionadas para incorporar na WEB mecanismos já amadurecidos dos bancos de dados tradicionais, possibilitando manipular e integrar dados de fontes distribuídas e heterogêneas, utilizar linguagens de consulta e incluir mecanismos como gerenciamento de transações e segurança. Integrar informação na WEB é um desafio: a maior parte da informação da WEB vem de fontes heterogêneas, autônomas e organizadas em formatos semiestruturados. Centrando o foco de integração sobre a informação de saúde, a complexidade da integração é aumentada devido à diversidade de interpretações dos vocabulários utilizados nesta área. Ontologias tornam possível o entendimento do domínio de conhecimento permitindo o compartilhamento de informação entre pessoas e sistemas de informação. Palavras-chave: Informática Médica, WEB, Bancos de dados, Integração de dados semi-estruturados. Abstract - This article presents some technologies involved in the information integration on the WEB focusing health applications. The WEB nowadays concentrates an enormous volume of information from several areas such as Medicine, Financial, Scientific, and so on. The Information Technology is looking for solutions to integrate all this Internet data facing the WEB as a huge Data Base with: query languages, unified schemas, transaction management and security mechanisms. Those are mature features of the traditional Data Base Management Systems. To integrate WEB information is a challenge: most of all the information on the WEB comes from heterogeneous and autonomous sources, generally organized in a semi-structured formats. Considering the integration of health information, the complexity is increased due to the diversity of interpretations of the utilized vocabularies in this area. Ontologies make possible the conception and understanding of a knowledge domain, allowing the sharing of information between people and information systems. Key-words: Medical Informatics, Internet, WEB, Data Base, Data Integration, semi structured data. Introdução Como fruto do desenvolvimento e exploração da Internet na divulgação de informações, a WEB ao longo do tempo se transformou num gigantesco banco de dados. Informações das mais diversas áreas com características e formatos diferentes encontramse distribuídas na WEB. Do ponto de vista de bancos de dados, grande parte dos documentos hoje encontrados na WEB têm alguma similaridade de formato, o que vem possibilitando o desenvolvimento de ferramentas de software para a extração de dados estruturados de Webpages originalmente não-estruturadas [1]. Arquiteturas de bancos de dados baseadas em modelos semi-estruturados de dados vêm sendo desenvolvidas com o intuito de integrá-los aos já amadurecidos modelos estruturados (disponibilizados pelos bancos de dados convencionais). Neste contexto, a utilização da linguagem XML1 como padrão para a representação e intercâmbio de dados na WEB, representa mais um avanço na direção desta integração [1]. Arquiteturas de sistemas de integração como Data Warehouse e Sistemas de Mediação requerem o desenvolvimento de linguagens de consulta e de modelos semiestruturados de dados, bem como de mecanismos de recuperação de informações na Internet, tanto de esquemas como de dados. Ontologias fornecem um vocabulário para representação e comunicação de conhecimento sobre um dado domínio. No cenário da integração de informações na Internet, a utilização de ontologias representa uma garantia do aumento da qualidade e precisão dos esquemas gerados, utilizados tanto na arquitetura de Data Warehouse como na de Mediação. Qualidade esta, que será propagada às consultas dos usuários sobre estes esquemas. 1 XML (eXtensible Markup Language). O cenário das aplicações de saúde na Internet reflete integralmente o exposto anteriormente. A tomada de decisões em saúde, tem como princípio a integração de informações que podem estar armazenadas em bancos de dados tradicionais, como também podem estar disponíveis na WEB através de fontes de dados semi-estruturadas que precisam ser integradas, a despeito de sua natureza heterogênea e de sua falta de estruturação. Além destas, na integração das informações em saúde, a natureza semântica das informações precisa ser considerada, tendo neste caso ontologias de domínios de conhecimento da área de saúde um papel fundamental. Na Figura 1 é exibido um cenário em que a aplicação de tecnologias de integração de informações na WEB se torna imprescindível. Neste cenário, encontramos um sistema cooperativo entre instituições parceiras em que a tomada de decisões clínicas, por exemplo, depende de informações sintetizadas dos dados gerados nas diversas instituições. Algumas delas utilizam bancos de dados convencionais para armazená-los, enquanto em outras, estes dados podem ser obtidos de webpages codificadas em HTML2 e/ou XML. O vocabulário compartilhado no ambiente cooperativo e, por conseguinte de integração, pode ser uniformizado através da ontologia de domínio da área de conhecimento em questão. PEP Hosp1 WEB Clín PEP BD XML HTML BD WEB Clín Figura 1 - Cenário de integração de informações em saúde Integração de Informações na Internet A integração de dados distribuídos e heterogêneos se tornou um requisito essencial para a sociedade da informação desde os primeiros anos de desenvolvimento da ciência da computação. A idéia do compartilhamento de informações entre aplicações diferentes foi perseguida inicialmente buscando integrar dados distribuídos em sistemas de bancos de dados centralizados, proprietários e incompatíveis [2]. Bancos de dados federados buscaram integrar os dados neste contexto. A seguir, cronologicamente, o foco se voltou para os problemas técnicos de integração 2 HTML – HyperText Markup Language relacionados à comunicação de dados em redes heterogêneas e também incompatíveis. A Internet e padrões tecnológicos como CORBA3 e Java surgiram para solucionar os problemas de distribuição de dados e aplicações [3], [4]. A Internet passou então a ser a via geral de disseminação de informação, o que acarretou na proliferação desordenada de fontes de dados independentes e heterogêneas. O problema da heterogeneidade assumiu uma nova face, onde a integração de esquemas não é mais efetiva, uma vez que os dados da Internet não são descritos através de esquemas. Os dados também não são apenas acessíveis através de linguagens de consulta tradicionais. Técnicas para tratamento das fontes de dados não estruturadas presentes na Internet são necessárias prevendo a autonomia e independência de atualização de estrutura e dados destas fontes [2]. Um sistema de integração de informações deve solucionar alguns problemas técnicos como [5], [6]: ¾ Localizar no ambiente distribuído as fontes de informação relevantes para uma consulta determinada (recuperação e filtragem de informação); ¾ Integração cooperativa de todas as fontes de dados relevantes para a consulta solicitada; ¾ Acesso e interpretação dos dados das fontes que estão sendo consultadas pelo sistema remoto. Adicionalmente, a heterogeneidade das fontes integradas deve ser tratada, tanto estrutural quanto semanticamente. A heterogeneidade estrutural ou esquemática consiste nas diferentes estruturas em que os dados das fontes consultadas podem estar armazenados. A heterogeneidade semântica diz respeito ao significado da informação [5], [7]. Dados semi-estruturados Como mencionado anteriormente, a Internet contém dados estruturados, obtidos de bancos de dados tradicionais, dados completamente desestruturados como arquivos de imagem e dados semi-estruturados. Estes mantêm conjuntamente instâncias de dados e informações sobre a sua estrutura [8], [1]. Dados mínimos de identificação de um paciente, por exemplo, podem ser encontrados na WEB num formato semi-estruturado, podendo ser representados através de uma estrutura de registro como: {Nome: “Rodolfo Chaves”, Sexo: “masculino”, Data de nascimento: “01051970”, Mãe: “Maria Chaves” }. 3 CORBA – Common Object Request Broker Architecture Modelos de dados para dados semiestruturados devem ser flexíveis para tratar com informação mutável e incompleta, além de heterogênea. Neste contexto, dados semiestruturados são usualmente representados utilizando estruturas baseadas em grafos com nós, rótulos e arcos, que representam respectivamente objetos, seus atributos e relacionamentos. Isto é exemplificado na figura 2. Mãe Maria Chaves Data de nascimento Nome 01051970 Sexo Rodolfo Chaves masculino Figura 2 – Representação Gráfica de Dados Semi-estruturados XML representando dados semi-estruturados A linguagem XML, proposta pelo W3C (World Wide Web Consortium) [9], vem se firmando como um padrão para troca de dados na WEB. Sendo um sub-conjunto da SGML4 é sintaticamente semelhante à linguagem HTML, com a vantagem de ter sido criada com o propósito de representar e compartilhar dados estruturados. Neste sentido, a XML empresta aos dados da WEB um formato semi-estruturado que possibilita a extração de informações na Internet e a integração das mesmas através da construção de modelos de dados semiestruturados. Além do citado, nos sistemas de integração de informações de múltiplas fontes de dados heterogêneas, XML tem sido utilizada como formato comum de representação para o qual são traduzidos os diferentes formatos das fontes de dados. A linguagem XML apresenta ainda as seguintes vantagens [1]: ¾ É uma linguagem de marcadores extensível, permitindo que sejam definidos novos marcadores para o domínio modelado; ¾ A estrutura dos documentos pode ser aninhada em qualquer nível; ¾ Os documentos podem ainda utilizar opcionalmente uma descrição gramatical para validação de sua estrutura (sintaxe); ¾ Em XML o conteúdo é dissociado do formato, permitindo que o mesmo conteúdo possa ser apresentado em diferentes formatos. A especificação da estrutura de documentos XML pode ser realizada utilizando 4 SGML (Standard Generalized Markup Language) XML DTDs (Document Type Definition). Documentos que obedecem a uma certa DTD preservam a sintaxe desejada e podem manter, de certa forma, algum conteúdo semântico. XML Schema é uma outra linguagem para definição de esquemas (estruturas) de documentos em XML. Linguagem proposta mais recentemente pelo W3C, se apresenta como uma ferramenta mais expressiva que XML DTD, além de utilizar a mesma sintaxe que a linguagem XML [10]. No cenário do Sistema de Saúde Brasileiro, esforços têm sido empregados no sentido de padronizar informações clínicas dos pacientes utilizando XML DTDs [11] com o intuito de promover o compartilhamento de informação no sistema de saúde. Linguagens de consulta na WEB A WEB pode ser encarada como um grande conjunto de documentos que podem estar interligados entre si através dos chamados Hyperlinks. Neste sentido, a WEB pode ser vista como um banco de dados estruturado em grafos, sendo este o modelo inicial utilizado pelos atuais engenhos de busca na Internet. No início a busca era realizada com base em conjuntos de palavras-chave procuradas no interior dos documentos. Os engenhos evoluíram utilizando informações sobre a estrutura de Hyperlinks na busca, o que levou a melhorias na indexação e desempenho. O modelo de busca atual considera então, tanto padrões de conteúdo como a estrutura de interligação dos documentos na WEB [7]. Com a adoção de XML como padrão de representação e troca de informações na Internet, as linguagens de consulta tiveram que evoluir e incorporar habilidades para efetuar consultas sobre documentos XML (XQL, Lorel, XML-QL, XQuery) [12]. Arquiteturas para Integração de Dados na WEB A necessidade de integração de dados deu origem a duas arquiteturas já bastante difundidas no cenário dos bancos de dados convencionais: Mediadores e Data Warehouse [1]. Ambas isolam as fontes de dados distribuídas e heterogêneas dos usuários, criando uma camada intermediária que efetivamente as apresenta de forma integrada. Arquitetura de Data Warehouse Nesta arquitetura, as consultas dos clientes são processadas pela camada intermediária que armazena os dados integrados das diversas fontes. A atualização da camada intermediária é periódica. Esta abordagem não é adequada para aplicações em que a atualização dos dados é crítica e o dinamismo das fontes é muito grande. Por outro lado, as consultas são processadas de forma eficiente e independente do ambiente de produção. A figura 3 ilustra de maneira simplificada o mecanismo de atualização periódica de esquemas e dados em uma arquitetura de integração baseada em Data Warehouse. As consultas dos clientes são respondidas pelo Warehouse com base no seu conteúdo no momento da consulta. Clientes Resposta Clientes Arquitetura de mediação na WEB Na Figura 5 pode ser vista uma arquitetura simplificada de um sistema de mediação sugerido em [7]. Neste sistema, são mantidas informações sobre as fontes de dados que são importantes para os usuários do sistema. Associadas ao esquema global do mediador, estão as descrições das fontes de dados, estas contemplam dados como a identidade das fontes, sua localização, tipo de conteúdo e informações sobre os esquemas (estrutura) das fontes. Clientes Interface com o usuário Consulta Consulta Resposta Warehouse Mediador Dados Atualização de dados Servidor Dados Servidor Dados Servidor Dados Tradutor Tradutor Figura 3 - Arquitetura de Data Warehouse Tradutor Tradutor BDs Relacionais BDs OO Internet Arquitetura de Mediadores Nesta arquitetura não há o armazenamento dos dados das fontes na camada intermediária. Estes se encontram armazenados nas próprias fontes de dados distribuídas e são acessados inloco quando uma consulta do usuário é realizada. Ao contrário da arquitetura de Data Warehouse, sua utilização se justifica para aplicações em que a freqüência de atualização é crítica e onde não é possível armazenar todos os dados das fontes. A figura 4 mostra que a cada consulta do cliente o sistema de integração gera uma consulta que será disparada e executada nas fontes originais e remotas. Clientes Clientes Clientes Resposta Consulta Mediador Consulta Resposta Servidor Dados Servidor Dados Servidor Dados Figura 4 - Arquitetura de mediação Arquivos estruturados WWW Figura 5 - Arquitetura de mediação na WEB O esquema do mediador corresponde ao conjunto de coleções e nomes de atributos utilizados para formular as consultas [7]. Para a realização de uma consulta, o mediador identifica as fontes relevantes e efetua adequações das consultas para cada tipo de fonte identificada através de um plano global de execução. Os tradutores (Wrappers) extraem e traduzem para um formato comum os dados das fontes de forma que eles possam ser manipulados pelo sistema de integração resolvendo a heterogeneidade existente [13]. Devido ao dinamismo das fontes de dados encontradas na WEB, a arquitetura de mediadores é a mais adequada na construção de sistemas de integração de dados na Internet. A utilização de mediadores para integração de dados na WEB deve ainda considerar a característica de semi-estruturação de suas fontes de dados o que torna mais complexo o processo de extrair suas descrições e esquemas [1]. Em se tratando de aplicações de saúde deve ser considerada a necessidade de obter como resultados das consultas a informação estritamente atualizada. Consultas sobre dados de paciente, por exemplo, requerem respostas produzidas acessando as fontes originais com dados mais atuais. Já consultas realizadas para produzir indicadores estatísticos de saúde pública, por exemplo, suportam respostas “aproximadas” com base em dados históricos como os mantidos em sistemas de Data Warehouse. Ontologias e Integração de Informações Ontologias têm um papel fundamental na integração de informações [14]. A utilização de Ontologias fornece um vocabulário comum para um domínio determinado possibilitando a comunicação interpessoal e entre sistemas computacionais que dependem do intercâmbio de informações [15]. Em um sistema de integração de dados, ontologias são ferramentas importantes: ¾ ¾ ¾ Na explicitação de conteúdo das fontes de dados, descrevendo a sua semântica e garantindo um vocabulário comum compartilhado [5]; Na constituição de um modelo de consulta global utilizado em alguns sistemas de integração de dados. Consultas do usuário são formuladas com base na ontologia utilizada e traduzidas em sub-consultas para as fontes relevantes. Neste caso a ontologia propicia ao usuário um vocabulário familiar e mais adequado para a formulação das consultas [5]; No processamento de consultas e extração de dados utilizando a ontologia na formalização de regras de mapeamento, restrições de integridade e regras que especificam padrões de busca voltados para os domínios específicos [16]. Padrões e tecnologias de suporte Muitas tecnologias estão hoje disponíveis para viabilizar o acesso a bancos de dados na WEB. Os primeiros ambientes utilizavam basicamente ferramentas como Web Browsers, HTML e HTTP5, baseando o acesso aos tradicionais bancos de dados em CGI6. Com o surgimento de linguagens como JAVA, foi possível obter uma interatividade mais eficiente com o sistema de banco de dados superando algumas dificuldades do HTTP que é um protocolo stateless. Java é uma linguagem orientada a objetos cuja proposta é permitir a portabilidade necessária para trabalhar em ambientes heterogêneos. O acesso a bancos de dados de sistemas implementados em Java pode ser feito utilizando JDBC (Java Database Connectivity), um padrão aberto para acesso a bancos de dados relacionais que permite independência do banco de dados. O acesso a objetos distribuídos no mundo Java foi inicialmente realizado utilizando RMI7. Este apresentava uma série de limitações além de ter seu uso restrito apenas para programas codificados em Java [17]. Recentemente, a utilização de Middleware Layers permitiu integrar dados de fontes de dados distribuídas na Internet. CORBA é um padrão aberto para sistemas distribuídos do OMG8. CORBA definiu um modelo para manipulação de objetos distribuídos com transparência de localização e independência de linguagem. Serviços de segurança, gerenciamento de transação e endereçamento são especificados nos CORBA services. Atualmente, a utilização de Java com o framework distribuído de CORBA deu origem a arquitetura EJB9, arquitetura para desenvolvimento e instalação de aplicações distribuídas baseadas em componentes [18]. Este ambiente tecnológico preconiza a independência de plataforma favorecendo a atuação dos sistemas integradores em ambientes heterogêneos e distribuídos. A utilização de padrões tecnológicos abertos para integração de sistemas propicia a resolução de muitos dos problemas encontrados em ambientes heterogêneos e distribuídos como a Internet. XML, neste contexto, tem sido utilizada como padrão para a publicação de documentos na WEB, para intercâmbio de dados entre sistemas, bem como na representação de dados estruturados e semi-estruturados [16]. Discussão e Conclusões Este artigo apresentou uma revisão de tecnologias-chave envolvidas na integração de informação na WEB com foco na área de saúde. Embora os tópicos discutidos sejam relativos a problemas gerais encontrados na integração de informações de sistemas de outras áreas de conhecimento, eles são extremamente pertinentes à área de saúde. A informação de saúde encontra-se dispersa na Internet representada em diferentes formatos. Documentos de saúde na WEB estão geralmente codificados através da linguagem HTML. E atualmente, têm sido encontrados em XML, linguagem proposta pelo W3C e que tem se consolidado como um padrão de fato. Neste 7 5 HTTP – Hyper Text Transport Protocol 6 CGI - Common Gateway Interface 8 9 RMI – Remote Method Invocation OMG – Object Management Group EJB – Enterprise Java Beans cenário, trabalhos de pesquisa têm sido conduzidos considerando modelos de dados, linguagens de consulta e ontologias com base em XML. O campo de saúde tem como requisitos essenciais: o intercâmbio de dados, interoperabilidade entre sistemas e integração de informações. Grande parte da informação é geralmente criada durante o tratamento do paciente na rede de saúde. Com a transmissão e tratamento da informação seguindo o fluxo de processos entre atores, órgãos, instituições e sistemas computacionais, a informação é modificada e convertida gerando novas informações sociais, financeiras, administrativas, científicas, governamentais, entre outras. O processo inteiro pode acontecer totalmente “dentro” da WEB segundo a abordagem de Berners-Lee em seu artigo The Semantic WEB [19]. Neste sentido, as tecnologias aqui apresentadas têm sido consideradas totalmente “up-to-date”. Principles of Database Systems (POSD’97), Tucson Arizona, USA. Proceedings. [9] W3C, The World Wide Web Consortium. http://www.w3c.org/. [10] XML Schema Requirements. Req-19990215. http://www.w3.org/TR/NOTE-xml-schema-req [11] Conjunto Essencial de Informações do Prontuário do Paciente para Integração de Informação em Saúde. SOP 001/98, Documento PRC: PRC-1999-11-12. [12] Bonifati, Ângela; Lee, Dongwon.(2001). Technical Survey of XML Schema and Query Languages. SIGMOD: International Symposium on Principles of Database Systems (POSD’97), Tucson Arizona, USA. Proceedings. [13] Melnik, S. (1992), Declarative mediation in distributed systems. Stanford University, Stanford CA/USA. Referências [1] Abiteboul, S., Buneman, P., Suciu, D. (1999), Gerenciando Dados na WEB, Editora Campus. [14] Uschold, M., Gruninger, M, (1996). ONTOLOGIES: Principles, Methods and Applications. Artificial Intelligence Applications Institute (AIAI), The University of Edinburgh. [2] Busse, S., Kutsche, R., Leser, U., Weber, H. (1999), Federated Information Systems: Concepts, Terminology and Architectures. Technische Universität Berlin, April. [15] Goble, C. (2000). Supporting Web based Biology with Ontologies. Information Management Group, Department of Computer Science, University of Manchester, Oxford. [3] Orfali, R.; Harkey, D., Edwards, J. (1996), The Essential Distributed Objects Survival Guide. Wiley&Sons, Inc. [16] Mello, R., Dorneles, C., Kade, A., Braganholo, V., Heuser, C. (2001). Dados Semi-Estruturados. Instituto de Informática da Universidade do Rio Grande do Sul (UFRGS). [17] Simmons, Robert. J2EE Platform Independence: Have We Regressed? TheServerSide, Abril/2002. [4] Slama, D., Garbis, J., Russel, P. (1999), Enterprise Corba. Prentice Hall PTR, Upper Saddle River, NJ. [5] Wache, H., Vögele, T., Visser, U., Stuckenschmidt, H., Schuster, G., Neumann, H., Hübner, S. (2001), Ontology-Based Integration of Information – A survey of Existing Approaches. Intelligent Systems Group, University of Bremen, Germany. [6] Kashyap, V., Sheth, A. (1994), Semanticsbased Information Brokering. CIKM’94 – 11/94 Gaitherburg, MD USA, ACM. [7] Florescu, D., Levy, A., Mendelzon, A. (1999), Database Techniques for the World-Wide Web: A Survey. ACM SIGMOD Record, vol.27, no 3, pp.59-74. [8] Buneman, Peter. Semistructured Data. (1997) SIGMOD: International Symposium on [18] Monson-Haefel, Richard. (2001). Enterprise JavaBeans. Third Edition, O’Reilly,USA. [19] Berners-Lee, T.,Hendler, J., Lassila, O. (2001). The Semantic Web. Scientific American, May. Contato Rosalie Barreto Belian. End: LIKA/UFPE: Av. Prof. Moraes Rego, S/N. Cidade Universitária, CEP 50670-901, Recife-PE. Tel. (81) 3271-8489 e 3271-8484 Fax. (81)3271-8485 e-mail: [email protected] http://www.lika.ufpe.br/tis