UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO Utilização da Web Semântica para a extração e indexação do conhecimento em laudos médicos. Autor: Cloves Langendorf Barcellos Junior Relatório das atividades realizadas na disciplina de Projeto em Ciência da Computação I, ministrada pelo Prof. Renato Cislaghi, do curso de Ciências da Computação da Universidade Federal de Santa Catarina. Orientador: Prof. Dr. rer.nat. Aldo von Wangenheim Florianópolis, fevereiro de 2007. 1 – Introdução Esse documento é um resumo das atividades efetuadas durante a disciplina de Projeto em Ciência da Computação I, dando continuidade ao Trabalho de Conclusão do Curso de Ciências da Computação, com o intuito de desenvolver uma ferramenta para a visualização e busca, confortáveis e inteligentes de informações em um prontuário eletrônico de Paciente, para documentos estruturados diretamente através da web utilizando as ontologias SNOMED, DeCS e MeSH. 2 – Objetivos 2.1 – Objetivo Geral Desenvolver uma ferramenta para a visualização e busca, confortáveis e inteligentes de informações em um prontuário eletrônico de Paciente, diretamente através da web utilizando as ontologias SNOMED, DeCS e MeSH. 2.2 – Objetivo alcançado durante a disciplina Durante a disciplina foram estudadas mais detalhadamente as ontologias SNOMED, DeCS e MeSH com o objetivo de adquirir o máximo de conhecimento sobre as suas estruturas, para que posteriormente fosse inicializado o desenvolvimento do “Parser” responsável por ler os arquivos texto (.txt) que contém todos os dados das duas ontologias, classificá-los e imediatamente cadastrá-los em uma base de dados predefinida. 3 – Descrição do Problema Existem diversas bases de dados médicas, com diferentes nomenclaturas e estruturas para referenciar sintomas, diagnósticos e procedimentos. Logo, um usuário médico deve pesquisar por sintomas de um determinado paciente em todas as bases de dados médicas, isso resultará em respostas diferenciadas para o mesmo sintoma ou doença dificultando a escolha por um determinado procedimento. 4 - Justificativa A possibilidade de o médico ter acesso às informações de seus pacientes em qualquer setor do hospital permite a ele uma maior mobilidade e facilidade na execução de suas tarefas. Um usuário médico, quando da necessidade de informações para diagnóstico ou atendimento ao paciente poderá, através de seu navegador de Internet, acessar bases de dados médicas, onde estão armazenadas informações sobre sinais, sintomas, diagnósticos e procedimentos. 5 – Recursos e estrutura utilizada 5.1 – Ambiente físico e material teórico Sendo um bolsista do Projeto Cyclops, e tendo o Laboratório de Telemedicina do Hospital Universitário como local de trabalho e pesquisa, obtive acesso à infraestrutura física como também ao material teórico necessário para o andamento do projeto. As bases de dados das ontologias utilizadas nesse projeto foram adquiridas e fornecidas pelo Projeto Cyclops. 5.2 – Ambiente de execução O ambiente de execução utilizado consiste no seguinte workstation: Sistema operacional Linux Servidor Apache HTTPD versão 2.2 Bibliotecas PHP 5 Banco de dados PostgreSQL versão 8 5.3 – Linguagem e banco de dados escolhidos A escolha pela linguagem PHP se deu pela larga gama de recursos atualmente disponíveis para a manipulação de dados, pela sua flexibilidade em lidar com diferentes bancos de dados, por a versão 5 já disponibilizar um excelente suporte a programação orientada a objetos e pela possibilidade de integração futura com outros sistemas web desenvolvidos pelo Projeto Cyclops. Já a escolha pelo banco de dados PostgreSQL se deve ao excelente suporte a inter-relacionamento entre tabelas, perfeita integração com a linguagem PHP e para assegurar a compatibilidade futura com outros sistemas web desenvolvidos pelo Projeto Cyclops. 6 – Objetos do estudo 6.1 – SNOMED 6.1.1 – Estrutura A ontologia SNOMED é baseada em “concepts” (conceitos), cada conceito representa a unidade de um significado onde é atribuído um único identificador. As frases que descrevem os conceitos são chamadas de “descriptions” (descrições), cada conceito pode ter uma ou mais descrições atribuídas a si. O SNOMED possui onze eixos: T (Topography) - Anatomic terms: Termos da anatomia. Ex: T-28000 referente ao órgão pulmão. M (Morphology) - Changes found in cells, tissues and organs: Mudanças encontradas em células, tecidos e órgãos. Ex: M-40000 inflamação. L (Living organisms) - Bacteria and viruses: Bactérias e viroses. Ex: L-8C306 Capra hircus. C (Chemical) – Drugs: Medicamentos. Ex: C-21012 Amyl alcohol. F (Function) - Signs and symptoms: Sinais e sintomas. Ex: F-31760 Pulso Irregular. J (Occupation) - Terms that describe the occupation: Termos que descrevem a ocupação. Ex: J-14126 Imam. D (Diagnosis) - Diagnostic terms: Termos de diagnósticos. Ex: D-14800 Tuberculose. P (Procedure) - Administrative, diagnostic and therapeutic procedures: Procedimentos administrativos, de diagnóstico e terapêutico. Ex: P0-00081 Procedimento de Massagem. A (Physical agents, forces, activities) - Devices and activities associated with the disease: Dispositivos e atividades associados com uma doença. Ex: A-81050 Raio X. S (Social context) - Social conditions and important relationships in medicine: Condições sociais e relacionamentos importantes na medicina. Ex: S-10120 Mãe. G (General) - Syntactic linkages and qualifiers: Conectores sintáticos e qualificadores. Ex: G-0385 Mitral valve A-wave duration. O SNOMED oferece um rico conjunto de inter-relacionamentos entre os conceitos. As relações hierárquicas definem conceitos específicos como “filhos” de um ou mais conceitos. O design do SNOMED é baseado na premissa, que uma nomenclatura detalhada e específica é fundamental para facilitar a leitura dos complexos e diversos prontuários de paciente pelos algoritmos computacionais. Esse modelo de design foi escolhido, com o intuito de garantir a clareza do significado e a consistência na agregação, o que resulta em uma estrutura adequada à pesquisa. 6.1.2 – Estrutura de um arquivo de dados do SNOMED Os dados contidos nos arquivos do SNOMED estão listados cada um em uma linha, e seus detalhes são separados em cada coluna como na imagem abaixo: A imagem exibe claramente três colunas, que nesse exemplo de arquivo representam: Concept Id: é o identificador do conceito. SNOMED Id: é o código principal de identificação do SNOMED. Description: descrição detalhada do que está sendo referenciado pelo SNOMED Id. O Concept Id é um exemplo do conceito de inter-relacionamentos proposto pelo design dessa ontologia, esse identificador também é referenciado em outros arquivos, o que demonstra a conectividade entre os “concepts” (conceitos), o que torna esse identificador uma variável essencial na pesquisa realizada pelo sistema. 6.2 – DeCS – Descritores em Ciências da Saúde e MeSH - Medical Subject Headings 6.2.1 – Estrutura hierárquica do DeCS e do MeSH O DeCS foi criado a partir do MeSH com o objetivo de permitir o uso de terminologia comum para pesquisa em três idiomas, proporcionando um meio consistente e único para a recuperação da informação independentemente do idioma. Utiliza um vocabulário estruturado permite a recuperação da informação com o termo exato utilizado para descrever o conteúdo daquele documento científico. O DeCS é um vocabulário dinâmico totalizando 28.691 descritores, sendo destes 23.963 do MeSH, 218 de Ciência e Saúde, 1.951 de Homeopatia, 3.486 de Saúde Pública e 828 de Vigilância Sanitária. O número é maior que o total, pois um descritor pode ocorrer mais de uma vez na hierarquia. Por ser dinâmico, registra processo constante de crescimento e mutação registrando a cada ano um mínimo de 1000 interações na base de dados dentre alterações, substituições e criações de novos termos ou áreas. Hierarquia de relacionamentos do MeSH: O MeSH possui 15 categorias e 11 níveis hierárquicos: A - Termos Anatômicos B - Organismos C - Doenças D - Medicamentos E - Técnicas e equipamentos Analíticos, Diagnósticos ou Terapêuticos F - Psiquiatria e Psicologia G - Ciências Biológicas H - Ciências Físicas I - Antropologia, Educação, Sociologia, e Fenômenos Sociais J - Tecnologia, Indústria, Agricultura e Alimentos K - Humanidades L - Ciência da Informação e Comunicação M - Grupos de Pessoas N - Saúde Z - Geografia e dados Geográficos A maior parte de aprendizado da ontologia DeCS e MeSH se deu através do web site http://decs.bvs.br, onde existem documentos e manuais disponibilizados pela Biblioteca Virtual em Saúde. Nesse mesmo web site existe a possibilidade de navegação pela hierarquia do DeCS e pela hierarquia dos qualificadores. 6.2.2 – Estrutura identificadora do DeCS e do MeSH Foi observando o funcionamento da consulta à base de dados presente no web site http://decs.bvs.br, a qual em quase que na sua totalidade é processada em arquivos XML, que foi possível extrair os dados da hierarquia DeCS e armazená-los em uma base SQL utilizando um “Parser”. Com isso, foi possível identificar a estrutura utilizada para indexar os dados contidos na hierarquia. Por exemplo, se o usuário efetua uma busca por “Cavidade Abdominal” o sistema efetuará a busca pelos dados do código “A01.047.025”, onde “A” é referente a ANATOMIA, “01” a REGIÕES DO CORPO, “047” a ABDOME e “025” a CAVIDADE ABDOMINAL. 7 – Continuidade do projeto 7.1 – Foco Agora com o conhecimento adquirido no estudo das estruturas das ontologias, o foco para a próxima etapa está em aprimorar o algoritmo do “parser” utilizado na obtenção dos dados, melhorar a modelagem do banco de dados e desenvolver os algoritmos que utilizarão técnicas de semântica para manipular esses dados, como também o desenvolvimento da interface para a iteração do usuário com o sistema. 7.2 – Cronograma Tendo a primeira (Estudos das ontologias e tecnologias empregadas) e a segunda (definição do modelo de desenvolvimento) etapas concluídas, o cronograma abaixo especifica as tarefas que serão executadas na continuidade do projeto. # Atividade 3 Desenvolvimento Testes e resolução de 4 problemas 5 Implantação 6 Documentação mar/07 abr/07 mai/07 jun/07 jul/07 ago/07 set/07 out/07 nov/07 dez/07 jan/08 fev/08 8 – Referências FILETO, Renato. A abordagem POESIA para a integração de dados e serviços na Web Semântica. 2003. 150p. Tese (Doutorado em Ciências da Computação). Universidade Estadual de Campinas. ANTONIOU, Grigoris ; VAN HARMELEN, Frank. A Semantic Web Primer (Cooperative Information Systems). The MIT Press, 2004. GRUBER, T.R., “Towards principles for the design of ontologies used for knowledge sharing”, Int. J. Human-Computer Studies, v. 43, n. 5/6, 1995. GUARINO, N. Some Ontological Principles for Designing Uper Level Lexical Resources. First International Conference on Language Resouces and Evolution. Granada, Spain, 28-30 May 1998. W3C RECOMMENDATION. Architecture of the World Wide Web, First Edition. 2003. Disponível em: Disponível em: <http://www.w3.org/TR/2003/WDwebarch-20031209> Acesso em: Agosto de 2006. W3C RECOMMENDATION. Semantic Web - XML2000. 2000. Disponível em: Disponível em: < http://www.w3.org/2000/Talks/1206-xml2k-tbl/Overview.html > Acesso em: Agosto de 2006.