Integração de Informações em Saúde na WEB: Uma Visão

Propaganda
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
Download