Uma Arquitetura de Metadados para Descrever e Organizar Informações de um Sistema de Saúde Rafael Port da Rocha, Marcos Cordeiro D Ornellas 1,2 Grupo PIGS, Curso de Ciência da Computação (CCC) Universidade Federal de Santa Maria (UFSM), Brasil Resumo - A comunidade da informática em saúde encontra-se diante de um grande desafio caracterizado pela necessidade em organizar e usar os seus recursos disponíveis em meio digital, como informações armazenadas em bases de dados, funções de sistemas informatizados, home pages de órgãos e pessoas, etc. No sentido de vencer este desafio, os aspectos semânticos da organização da informação apresentam-se como alternativa à solução tradicional de organização de informação através padronização do formato de representação. Este artigo apresenta uma arquitetura em que os recursos digitais de um sistema de saúde são organizadas através de metadados. Esta arquitetura é formada por um repositório de metadados, que contém descrições semânticas dos recursos, vocabulários (que estabelecem os significados das descrições) e estruturas de organização do conhecimento (que expressam as formas com que os recursos do Sistema de Saúde serão organizados). Palavras-chave: Metadados, Dublin Core, Organização do Conhecimento, RDF, Ontologia. Abstract - Health informatics community is facing a great challenge characterized by the necessity in organizing and using its available resources in a digital way, such as information stored in databases, computer systems functions, home pages of agencies and people, etc. In order to accomplish this challenge, the semantic aspects of data organization are presented as an alternative for the traditional solution of data organization through the standardization of the representation format. This article presents an architecture where the digital resources of a health system are organized by means of metadata. This architecture is formed by a metadata repository, which contains semantic descriptions of the resources, vocabularies (that establish the meanings of the descriptions) and structures of knowledge organization (that express the way resources will be organized in the health system). Key-words: Metadata, Dublin Core, Knowledge Organization, RDF, Ontology 1 Introdução Um Sistema de Saúde é constituído por uma grande quantidade e diversidade de recursos, fator que torna o seu funcionamento uma tarefa extremamente complexa. Para gerenciar os seus recursos, um Sistema de Saúde é apoiado por sistemas informatizados. Estes sistemas normalmente estão voltados para atividades gerenciais, como controle financeiro, controle de materiais, gerência de pessoal, agendamentos, etc. Geralmente, estes sistemas tratam superficialmente o prontuário do paciente, muitas vezes restringindo-se ao controle de protocolo do prontuário, que está em papel. Como conseqüência, um Sistema de Saúde é pulverizado por inúmeros pequenos sistemas informatizados e isolados, que gerenciam partes do prontuário do paciente, como um sistema que controla exames de um determinado laboratório, ou um sistema está acoplado a um tomógrafo, que gerencia as imagens geradas, dando suporte a laudos e processamentos digitais destas imagens. Por isso, num Sistema de Saúde existe uma necessidade em integrar os recursos, os quais são compostos de informações presentes em vários sistemas informatizados, independentes e heterogêneos. Devido a falta de integração, fica difícil estabelecer mecanismos que buscam informações nestes sistemas, como, por exemplo, localizar um paciente e seus exames, ou identificar diagnósticos, tratamentos similares, epidemias, etc. Uma solução para esta necessidade foi proposta por (Sheth, A. e Larson, J., 1990), através dos chamados sistemas de bancos de dados federados. Estes sistemas atuam basicamente na uniformização da estrutura de representação da informação, mapeado as informações representadas nos vários bancos de dados da federação para um modelo de dados padrão, denominado modelo
global. Esta solução de uniformização da representação da informação, entretanto, torna-se difícil em cenário caracterizado pela grande diversidade e variedade de fontes de informação, como o de um Sistema de Saúde. Para contornar estas dificuldades, em vez de tentar integrar informações, foram estabelecidos protocolos (ex.: HL7 1 ) e interfaces padrão (ex.: CorbaMed 2 ) para permitir que sistemas informatizados interoperarem entre si, trocando informações. A implementação desta solução, entretanto, enfrenta dificuldades decorrentes da complexidade das ferramentas que dão suporte à interoperabilidade entre sistemas distribuídos. Por exemplo, CorbaMed propõe o gerenciador de objetos distribuídos CORBA como plataforma operacional, uma ferramenta que requer recursos humanos altamente especializados. Um Sistema de Saúde também possui pouco conhecimento sobre seus próprios recursos, isto é, não contém descrições organizadas sobre estes recursos para permitir que estes sejam descobertos, utilizados, comparados, etc. Por isso, um Sistema de Saúde enfrenta enormes dificuldades em ajudar pessoas na localização dos recursos que lhes poderiam ser úteis na solução de seus problemas. Normalmente, o conhecimento sobre os recursos de um Sistema de Saúde é dependente das pessoas que trabalham no Sistema, sendo muito pouco documentado. Repositório f1(){..} Organizac. Conhechec Descrições www.x.org Vocabulários f1(){..} Agentes Busca Ident. Pac. Anotador Extratores Recursos Figura 1 Arquitetura Um Sistema de Saúde também possui informações como relatórios de pesquisa, atas de reuniões, home pages de unidades ou pessoas, etc. Estes recursos são normalmente desconsiderados pelo Sistema, isto é, não são registrados e organizados, para permitir sua busca. Este artigo apresenta uma arquitetura baseada em metadados para organizar os recursos de um Sistema da Saúde. Nesta arquitetura, informações e serviços disponíveis em meio digital 1 www.hl7.org 2 http://www.acl.lanl.gov/omg/corbamed são vistos por um mesmo enfoque, isto é, como recursos. Estes recursos são então organizados através de descrições que indicam seus significados. Dessa forma, em vez de padronizar os mecanismos de representação dos recursos (isto é, padronizar esquemas de dados e interfaces), esta arquitetura usa metadados para descrever e organizar estes recursos de forma independente de suas estruturas. Este artigo está organizado da seguinte forma: a seção 2 mostra a arquitetura de metadados, a seção 3 apresenta um protótipo que está sendo desenvolvido para testar e validar esta arquitetura, e conclusões são destacados na seção 4. 2 Uma Arquitetura para Descrever e Organizar Recursos O cenário apresentado na seção anterior mostra um Sistema de Saúde em que há uma enorme dificuldade em integrar informações e em proporcionar interoperabilidade entre serviços informatizados. Estes Sistemas de Saúde também enfrentam dificuldades em organizar os seus recursos a fim de permitir que estes sejam buscados. Essas dificuldades devem-se aos fatos que estes sistemas usam uma abordagem baseada na padronização de estruturas de representação para integrar informações e permitir a interoperabilidade entre serviços heterogeneos, e que estes Sistemas não descreverem os seus recursos ou, quando os descrevem, não usam vocabulários padronizados para permitir que estas descrições sejam uniformes, bem formadas e, portanto, entendidas por mecanismos de busca. Como o objetivo de superar estas dificuldades, este trabalho apresenta uma arquitetura em que os recursos de um Sistema de Saúde disponíveis em meio digital, como informações armazenadas em bases de dados, serviços disponíveis em sistemas aplicativos, documentos armazenados em sistemas de arquivos, home pages de unidades ou pessoas, são descritos e organizados através de metadados. Nesta arquitetura, os recursos continuam na sua forma original. Em vez de padronizar as formas de representação dos recursos, uma estrutura de metadados (figura 1) é desenvolvida para descrever de forma uniforme o significado destes recursos. Estas descrições permitem que os recursos sejam analisados e conhecidos de forma independente de suas estruturas. A arquitetura é composta por um repositório de metadados, que armazena as descrições, por um anotador e extratores, que geram as descrições do repositório, e por agentes, que usam as descrições para proporcionar a busca e a utilização dos recursos. Os componentes da arquitetura são detalhados a seguir.
2.1 Repositório Nesta arquitetura, recursos são organizados através de descrições que indicam seus significados. Dessa forma, em vez de padronizar os mecanismos de representação dos recursos (isto é, padronizar esquemas de dados e interfaces), esta arquitetura padroniza metadados que descrevem e organizam estes recursos de forma independente de suas estruturas. Nesta arquitetura, as descrições dos recursos têm seus significados estabelecidos através de vocabulários. Isso proporciona uniformidade nas descrições, pois os recursos do Sistema são descritos a partir de uma semântica bem definida e que pode ser entendida por máquinas, isto é, por agentes. Estas descrições e os seus significados (vocabulários) são armazenados em um repositório de metadados. Este repositório viabiliza o desenvolvimento de agentes inteligentes que analisam as descrições armazenadas para promover uma melhor utilização dos recursos por elas descritos. Além de descrições e vocabulários, o repositório também contém estruturas de organização do conhecimento, baseadas nos sistemas de organização do conhecimento propostos por (Hill, L. e Koch, T., 2001). Estas estruturas são listas de termos, classificações e thesauri, que expressam conceitos usados pelo Sistema de Saúde e os relacionamentos entre estes conceitos. Exemplos dessas estruturas são hierarquias de conceitos médicos, classificações de doenças, procedimentos, descrições hierárquicas dos órgãos e funções do Sistema, etc. Estas estruturas são especificadas pelo Sistema de Saúde. Além disso, a área de saúde já possui várias estruturas de organização de conhecimento que podem ser usadas, como o thesauri MeSH, que conceitua e relacionas assuntos médicos, e as classificações para doenças, medicamentos, procedimentos, como demonstrado por (Amaral, B., 1997). Os recursos do Sistema são relacionados a conceitos de estruturas de organização do conhecimento através de descrições. Isso significa que estes recursos são organizados por conceitos que descrevem o Sistema de Saúde. Isso possibilita que agentes de busca utilizem estas estruturas de organização do conhecimento para auxiliar na busca de recursos do Sistema. A figura 2 apresenta uma representação gráfica de recursos (retângulos), descrições de recursos (setas nomeadas) e de uma estrutura de organização do conhecimento (recursos e descrições do retângulo cinza). A estrutura de organização de conhecimento corresponde a Classificação Internacional de Doenças. Nesta estrutura, os recursos correspondem aos termos da classificação (ex.: poliartrose) e as setas nomeadas descrevem os relacionamentos entre estes termos (ex.: a seta KO:broaderConcept que parte de Nódulos de Herbeden indica que Poliartrose é um conceito mais genérico que Nódulos de Herbeden). www.hsm.com\ ~jose Poliartrose DC:Creator KO:broaderConcept Medico#723 Nód. Heberden DC:Creator KO:broaderConcept Diag#126 (Osteo)artrose DC:Subject S: Paciente DC:Subject S: Paciente \\tomo\exame103 Pac#3525 José da Silva S:Name Figura 2 - Descrições Neste exemplo, a seta DC:Creator que parte de Diag#126 é uma descrição do recurso diagnóstico Diag#126, que indica que o recurso Medico#723 é o criador do diagnóstico. A seta DC:Subject que parte de Diag#126 indica que o conceito (Osteo)artrose é o assunto do diagnóstico Diag#126. Como neste modelo as descrições só podem usar propriedades definidas em vocabulários, os nomes das descrições contêm como prefixo o vocabulário usado na descrição. Isso significa que as propriedades Creator e Subject foram definidas pelo vocabulário DC, abreviação de Dublin Core (Weibel, S, 1995), usado para descrever recursos da Web. Os prefixos KO e S indicam, respectivamente, o vocabulário desenvolvido pela comunidade de Ciência da Informação para descrever estruturas de organização do conhecimento e o vocabulário especificado para a arquitetura para descrever pacientes e atividades médicas. Detalhes sobre estes vocabulários serão vistos nas próximas seções. 2.2 Estrutura do Repositório O repositório utiliza RDF (Lassila, O.; Swick, R., 1999) e RDF Schema (Brickley, D.; Guha, R., 2000) como estrutura para representar descrições, vocabulários e estruturas de organização do conhecimento. Uma descrição é uma sentença RDF, formada por uma tripla que contêm a identificação do recurso (sujeito), a propriedade nomeada (predicado) e um valor (objeto). Por exemplo, a sentença (1) a seguir corresponde à seta S:Name da figura 2. Esta sentença descreve o nome do recurso Pac#3525. Esta sentença usa a propriedade S:Name descrita no vocabulário S. Este
vocabulário contém propriedades para descrever pessoas através de seus perfis, como nome, data de nascimento, idade. {Pac#3525, S:Name, José da Silva } (1) {Diag#126, DC:Creator,Med#723} (2) {Diag#126, DC:Subject,(Osteo)artrose} (3) {\\tomo\exame103, DC:Subject, (Osteo)artrose} (4) A sentença (2) descreve que o diagnóstico Diag#126 foi criado pelo médico Med#723. Esta sentença usa a propriedade DC:Creator, do vocabulário Dublin Core. Na arquitetura, esta propriedade indica o recurso responsável por construir o conteúdo do recurso descrito. As sentenças (4) e (3) indicam os assuntos que tratam, respectivamente, um exame (\\tomo\ex103) e um diagnóstico (Diag#126). Estas duas sentenças usam a propriedade DC:Subject, do vocabulário Dublin Core, que indica os tópicos do conteúdo do recurso. Nesta arquitetura, esta propriedade contém como valor um recurso de uma estrutura de organização do conhecimento. As sentenças RDF são armazenadas em um banco de dados relacional de acordo com o esquema proposto por (Melnik, S. 2001). Neste, descrições (triplas RDF) são armazenadas em uma única tabela. 2.3 Vocabulários As comunidades de Ciência da Informação da Web uniram esforços na definição de um vocabulário para busca de recursos da Web, denominado Dublin Core, ou DC. A definição deste vocabulário obedeceu critérios como conter propriedades simples, fáceis de serem criadas, e aplicáveis a vários domínios. Atualmente, observa-se iniciativas em definir perfis de aplicação de DC para descrever recursos área da saúde, como (Sakai, 2001 e Robertson, 2001). O repositório da arquitetura adota o vocabulário DC para descrever os recursos do Sistema de Saúde para fins de busca. O perfil de aplicação de DC para o repositório estabelece que a propriedade DC:Subject, que descreve um assunto relacionado ao recurso, deve ter como valor elementos (conceitos) de estruturas de organização de conhecimento do repositório. Além de descrever recursos para fins de busca, o repositório também descreve recursos para fins de dar suporte ao tratamento de pacientes. Isso significa que o repositório possui descrições de pacientes e de atividades médicas realizadas sobre pacientes (como exames, diagnósticos e tratamentos) que apresentam informações que ajudam médicos no tratamento destes pacientes. Estas descrições estão especificadas um vocabulário próprio da arquitetura, denominado Saúde (S). Neste vocabulário, os pacientes são descritos através de propriedades que permitem sua identificação, como nome, nome da mãe, cidade de nascimento, etc. Estas propriedades formam um perfil de paciente, permitindo a construção de agentes que analisam estes perfis para identificar recursos diferentes que representam mesmos pacientes. Os recursos relacionados às atividades médicas realizadas sobre o paciente são chamados neste vocabulário de atendimentos. Estes recursos são descritos por propriedades que indicam quem realizou o atendimento, qual o paciente atendido e quais os resultados do atendimento. Como existe num Sistema de Saúde uma grande variedade de atendimentos (exames, diagnósticos, tratamentos), as propriedades que indicam os resultados dos atendimentos são definidas utilizando o mesmo princípio adotado pelos especificadores de DC, isto é, devem ser simples e aplicáveis para descrever atendimentos de diversos tipos. Nesse caso, a utilização destas propriedades para tipos específicos de atendimento deve ser determinada por perfis de aplicação. Neste repositório, as estruturas de organização do conhecimento também são descritas através de um vocabulário, que estabelece relacionamentos entre conceitos destas estruturas, como a propriedade KO:broaderConcept, que relaciona um conceito à um conceito mais genérico. Para esse fim, foi adotado o vocabulário definido por (Cross, P.; Brickley, D.; Koch, T., 2001), que define relacionamentos entre conceitos de um sistema de organização de conhecimento. A adoção de um vocabulário para estruturas de organização de conhecimento permite que agentes de busca utilizem o significado dos relacionamentos entre estes conceitos em consultas. Por exemplo, na figura 2, o recurso Diag#126 trata do assunto (Osteo)artrose. Uma consulta buscando os recursos que tratam do assunto Poliartrose irá buscar Diag#126 pois seu assunto, (Osteo)artrose., está descrito como um assunto mais específico que o Poliartrose. 2.4 Extratores e Anotador Os extratores e o anotador são componentes da arquitetura que geram descrições. Um extrator é um componente situado no junto a uma base de dados, que gera descrições dos recursos da base de dados e insere estas descrições no repositório. Em um extrator, a extração dos metadados é realizada através de visões SQL, que geram triplas RDF (tuplas com os campos recurso, propriedade, valor) a partir das tabelas do BD que contém recursos. As técnicas para construção destas visões
são apresentadas por (Agrawal, R.; Somani, A.; Xu, Y. 2001). Por exemplo, a tabela da figura 3a armazena diagnósticos de um sistema. A tabela da figura 3b corresponde a descrições destes diagnósticos, extraídas por uma visão. a) b) CodDiag Responsável CID... 126 723 (Oste)artrose... Recurso Propriedade Valor Diag#126 DC:Subject (Osteo)artrose Diag#126 DC:Creator Med#723 Figura 3 Extraindo Descrições O anotador é uma ferramenta gráfica que permite que usuários do Sistema de Saúde realizem descrições de recursos como home pages de péssoas ou unidades, relatórios, atas de reuniões, instruções de usos de equipamentos, etc. Esta ferramenta disponibiliza ao usuário vocabulários e estruturas de organização para que este descreva os recursos. 2.5 Agentes Nesta arquitetura, a função do repositório é oferecer uma base de meta-informações que descrevem semanticamente os recursos, permitindo que estas descrições sejam usadas para o desenvolvimento de aplicações que promovam uma melhor utilização destes recursos. As aplicações que utilizam estas descrições são desenvolvidas na forma de agentes. Dentre os principais tipos de agentes para esta arquitetura, destaca-se agentes que auxiliam a descoberta de recursos do Sistema, como por exemplo, que auxiliam um paciente a identificar os recursos do Sistema disponíveis para seu tratamento. Estes agentes utilizam estruturas de organização de conhecimento para localizar os recursos e apresentam, como resultado, descrições que permitem a visualização das características do recurso. Se estas características não forem suficientes para resolver o questionamento do usuário, a consulta também apresenta descrições que indicam como este recurso pode ser diretamente procurado pelo usuário. Por exemplo, uma busca pelos atendimentos de um paciente, retorna um atendimento que é um exame de tomografia que contem descrições de seu laudo. Se estas informações não forem suficientes e o usuário necessitar da imagem desta tomografia, a consulta também indicará como este pode ser diretamente acessado, isto é, indicará onde está a imagem e que aplicativo poderá ser usado para visualiza-la. Agentes destes tipos podem ser mecanismos de busca por palavra chave que apresentam as respostas classificadas pelas estruturas de organização do conhecimento. Ta mbém podem ser interfaces que interagem com usuários na identificação quais dos conceitos destas estruturas que ele está se referindo, para então buscar os recursos destes conceitos. Agentes também podem ser desenvolvidos para descrever serviços (como funções de sistemas aplicativos) com o objetivo de proporcionar a interoperabilidade entre estes serviços. Por exemplo, em uma consulta que contém um exame de tomografia como resultado, um agente pode ser construído para, a partir das descrições da localização da imagem e do aplicativo que pode operar esta imagem, acionar a execução deste aplicativo tendo como fonte esta imagem. Um Sistema de Saúde tem uma grande necessidade em identificar recursos que representam um mesmo paciente. Para atender a esta necessidade, agentes podem ser desenvolvidos para analisar e comparar descrições de perfis de recursos que são pacientes, para identificar se estes recursos representam uma mesma pessoa. Ao descobrir recursos que representam um mesmo paciente, este agente pode resolver problemas de inconsistências em descrições, como, por exemplo, em descrições que indicam abreviações diferentes de nomes, códigos diferentes, etc. Os resultados destas análises podem ser registrados no repositório através de novas descrições. 3 Protótipo Um protótipo desta arquitetura está sendo desenvolvido para descrever recursos da área de radiologia do hospital universitário da UFSM. Este protótipo extrai descrições do Sistema de Radiologia e das imagens digitais geradas por equipamentos de RX e tomografia. Nele, exames são recursos do tipo atendimento, e informações de seus laudos são descrições que indicam os resultados destes exames. Este protótipo descreve pacientes não somente do sistema de radiologia, mas também do sistema do hospital, que é independente daquele. Dessa forma, é possível identificar pacientes do sistema do hospital que também participam do sistema de radiologia. Este protótipo é formado por um extratores de pacientes dos sistema do hospital e da radiologia, e por extratores de atendimentos do sistema de radiologia. Estes extratores de atendimentos também identificam onde as imagens estão armazenadas e quais os aplicativos podem ser usados para visualizar as imagens. Dois agentes estão sendo desenvolvidos para este protótipo: um para recuperar informações de
pacientes e outro para identificar recursos que representam mesmos pacientes, pois o repositório contém descrições de pacientes de dois sistemas. Este protótipo tem como objetivo principal investigar e validar a arquitetura, visando uma futura incorporação de recursos de outros sistemas informatizados do sistema de saúde da universidade. O protótipo encontra-se nas fases de especificação do esquema de metadados, projeto dos agentes e implementação do repositório e dos extratores. O protótipo está sendo desenvolvido em Java e SOAP. 4 Conclusões Tradicionalmente, a interoperabilidade de informações heterogêneas e distribuídas de um Sistema de Saúde é obtida através da especificação de estruturas padrões e do mapeamento destas informações para estas estruturas. Esta solução, entretanto, enfrenta dificuldades associadas à complexidade do mapeamento, que está focado nos aspectos estruturais das informações. Essa dependência estrutural também dificulta o desenvolvimento de agentes computacionais para os mais variados propósitos (como agentes de busca), pois estes necessitam de informações que muitas vezes foram mapeadas para estruturas que foram padronizadas para outros objetivos. Este trabalho apresenta uma arquitetura em que os recursos heterogêneos e distribuídos de um Sistema de Saúde têm seus significados descritos em um repositório de metadados. Este repositório serve como infra-estrutura para o desenvolvimento dos mais variados tipos de agentes que usam suas descrições para buscar e operar os recursos do Sistema. Esta abordagem traz facilidades, pois as descrições não levam em consideração os aspectos estruturais dos recursos. Nesta arquitetura, os recursos não são mapeados para estruturas padrões, mas sim descritos através de vocabulários padronizados e bem definidos, que não incorporam aspectos estruturais. Esta arquitetura traz facilidades no desenvolvimento dos extratores, pois estes analisam os recursos para extrair descrições e não para mapear estruturas. Esta arquitetura também traz grandes facilidades para o desenvolvimento de agentes dos mais variados tipos, pois estes não precisam mais se preocupar com estruturas. Esta arquitetura também força o Sistema de Saúde a organizar-se, a medida que requer que este defina estruturas de organização de conhecimento, que serão usadas para organizar os seus recursos e facilitar a busca destes recursos. Agradecimentos Agradecemos pelo apoio e infraestrutura aos cursos de Ciência da Computação e Pósgraduação em Engenharia da Produção da UFSM, ao Centro de Processamento de Dados da UFSM, ao Laboratório de Ciências Espaciais da UFSM e ao Hospital Universitário da UFSM. Referências Agrawal, R.; Somani, A.; Xu, Y. (2001). Sotrage and Querrying E-Commerce Data. Proceedings of the 27 th VLDB Conference, Roma, Italy. Amaral, M. B. (1997) Nomenclatura Médica e o Prontuário de Pacientes. I Seminário sobre prontuário eletrônico do paciente, São Paulo. Brickley, D.; Guha, R. (2000) Resource Description Framework (RDF) Schema Specification 1.0. W3C Consortium. March. Cross, P.; Brickley, D.; Koch, T. RDF Thesaurus. Specification. (2001). Disponível em http://ilrt. org/discovery/2001/01/rdf-thes. Acesso 12/01. Hill, L.; Koch, T. (2001) Networked Knowledge Organization Systems. Journal of Digital Information, v.1, issue 8. Lassila, O.; Swick, R. (1999) Resource Description Framework (RDF) Model and Syntax Specification. W3C Recomendation, WWW Consortium. Fev. Melnik, S. (2001) Storing RDF in a relational database.disponível em http://www-db. stanford. edu/~melnik/rdf/db.html. Acesso em 12/01. Robertson, W. (2001) Design and implementation of the National Institute of Environmental Health Science Dublin Core Metadata Schema. Int. Conf. on Dublin Core and Metadata Applications, Tokyo, Japan, 2001. Sakai, Y. (2001) Metadata for Evidence Based Medicine Resource. Int. Conf. on Dublin Core and Metadata Applications, Tokyo, Japan. Sheth, A.; Larson, J. (1990) Federated database systems for managing distributed, heterogeneous, and autonomous databases. ACM Computing Surveys, v.22, n.3, p. 183-236, set. Weibel, S. (1995) Metadata: The foundations of resource description. D-Lib Magazine, July. Contato Os autores deste artigo são professores do Curso de Informática da Universidade Federal de Santa Maria, cujo endereço é: Centro de Tecnologia, Campos de Camobi, Santa Maria, RS, Brasil. Informações sobre deste trabalho podem ser obtidas via o endereço eletrônico: pigs@inf.ufsm.br.