Ontologias e Bancos de Dados Dedutivos para Integração de Informações em Saúde Lincoln de Assis Moura Jr.1,2 Fabiane Nardon1,2 1Atech / VIDATIS Sistemas de Informação em Saude 2Escola Politécnica da Universidade de São Paulo Rua do Rocio, 351 - 5º andar - cj 51 04552-000 São Paulo, SP - Fone: 11 3053-3770 - Fax: 11 3053-3760 www.vidatis.com.br Agenda Motivação Compartilhamento de Conhecimento e Integração de Informações em Saúde Web Semântica Ontologias Inferência mai-04 Copyright VIDATIS 2004 2 Motivação A informação em saúde é complexa, pouco estruturada e freqüentemente distribuída em sistemas heterogêneos Integrar informações heterogêneas é importante para: mai-04 Recuperar o histórico do paciente Compartilhar conhecimento Realizar consultas horizontais Copyright VIDATIS 2004 3 Compartilhamento de Conhecimento e Integração de Informações Compartilhamento de Conhecimento utilização de bases de conhecimento, ou partes destas bases, em sistemas diferentes daqueles para os quais elas foram originalmente criadas Integração de Informações possibilidade de se recuperar informação de diferentes fontes que estão distribuídas e possivelmente armazenadas em ambientes heterogêneos mai-04 Copyright VIDATIS 2004 4 Desafios do Compartilhamento de Conhecimento / Integração de Informações Heterogeneidade Computacional Diferentes sistemas operacionais, SGBDs, linguagens de programação, etc Heterogeneidade Semântica Diferentes formas de representação para o mesmo conceito Diferentes conceitos com o mesmo nome Diferentes nomes para o mesmo conceito A probabilidade de duas pessoas usarem o mesmo nome para um mesmo objeto, mesmo sendo especialistas no mesmo domínio, é de apenas 7 a18% (FURNAS, G.W. et al. "The vocabulary problem in human-system communication“, ACM, 1987) mai-04 Copyright VIDATIS 2004 5 Padrões para representação de Conhecimento Representação de Ontologias KIF (Knowledge Interchange Format) Ontolingua OKBC (Open Knowledge Base Connectivity) Protocol SHOE (Simple HMTL Ontology Extension) OIL (Ontology Interchange Language) Conhecimento em Saúde Arden Syntax GLIF (Guidelines Interchange Format) GEHR (Good Electronic Health Record) / OpenEhr mai-04 Copyright VIDATIS 2004 6 Web Semântica Tim Berners-Lee, 2002 http://www.w3.org/DesignIssues/diagrams/sw-stack-2002.png mai-04 Copyright VIDATIS 2004 7 Resource Description Framework (RDF) Criado inicialmente para representar meta- informações sobre recursos na Web Vantagens Simples e flexível URI Asserções RDF <Sujeito> <Predicado> <Objeto> mai-04 Copyright VIDATIS 2004 8 RDF http://hospitalexemplo.org/#nomePaciente http://hospitalexemplo.org/paciente#ID1234 João da Silva http://hospitalexemplo.org/#medicoResponsavel http://hospitalexemplo.org/#diagnostico mailto:[email protected] http://www.vocabulariox.org.br#CancerHepatico mai-04 Copyright VIDATIS 2004 9 Representação de Conhecimento e Ontologias Ontologias Descreve conceitos de um domínio e os relacionamentos semânticos entre estes conceitos Ontologias têm como objetivo criar padrões de modelos, taxonomias, vocabulários e terminologias para um domínio Estes padrões são usados para criar módulos de conhecimento Is a Tomografia Procedimento Is a Has procedure Tomografia por Emissão Atendimento Is a PET mai-04 Copyright VIDATIS 2004 Is a SPECT 10 DAML+OIL and OWL DAML+OIL: DARPA Agent Markup Language (DAML) e Ontology Inference Layer (OIL) Padrão para representar ontologias em RDF Baseado na Lógica de Descrições (define conceitos e papéis) Web Ontology Language (OWL) mai-04 Padrão do W3C para representar ontologias Baseado no DAML+OIL Copyright VIDATIS 2004 11 Semantic Web DAML+OIL OWL mai-04 Tim Berners-Lee, 2002 http://www.w3.org/DesignIssues/diagrams/sw-stack-2002.png Copyright VIDATIS 2004 12 Ontologias para Sistemas de Informação em Saúde Foram criadas duas ontologias DAML+OIL: Para conceitos do UMLS • Conceitos básicos e relacionamentos para o domínio da saúde • Mapeamento de vocabulários ajuda a integrar informação • Relacionamentos entre conceitos permitem inferir novas informações Para o padrão do Cartão Nacional de Saúde • Ontologia para Sistemas de Informação em Saúde • Define conceitos básicos em sistemas de informação em saúde (identificação do paciente, categoria profissional, dados de atendimento, etc). • Usa conceitos definidos na ontologia do UMLS mai-04 Copyright VIDATIS 2004 13 UMLS Ontology http://www.tridedalo.com.br/2003/07/umls/ Neste slide: 67 asserções de 1696 mai-04 Copyright VIDATIS 2004 14 Brazilian National Health Card Ontology http://www.tridedalo.com.br/2003/07/cns/ Neste slide: 25 asserções de 852 mai-04 Copyright VIDATIS 2004 15 Inferência Tendo uma ontologia e uma representação de conhecimento padronizada, é possível inferir novas informações Descobrir informação implícita Obter respostas a perguntas simples para seres humanos, mas difíceis para computadores Inferência é um assunto muito discutido atualmente na Web Semântica mai-04 Copyright VIDATIS 2004 16 Bancos de Dados Dedutivos (BDD) Bancos de Dados que, além de sua parte tradicional, ou seja, as informações contidas nas relações básicas que são explicitamente inseridas, possui um conjunto de regras dedutivas que permite derivar novas informações a partir das relações básicas. Estas novas informações formam as relações derivadas mai-04 Copyright VIDATIS 2004 17 TRI-DEDALO TRI-DEDALO (TRIples, DEdução,DAdos e LÓgica) Sistema de Banco de Dados Dedutivo que permite fazer consultas e inferências a partir de uma ontologia RDF ou DAML+OIL pacienteTemFebre(Nome?N) :Pacientes(Nome?N,Temperatura?T), T > 37. mai-04 pacienteTemFebre(Nome?N):stm(x, rdf:type, cns:Paciente), stm(x, vocabulario:temperatura, y), y > 37. Copyright VIDATIS 2004 18 Semantic Web TRI-DEDALO DAML+OIL mai-04 Tim Berners-Lee, 2002 Copyright VIDATIS 2004 http://www.w3.org/DesignIssues/diagrams/sw-stack-2002.png 19 Tradução RDF / TRI-DEDALO subClassOf stm(x, rdfs:subClassOf, y) :- stm(x, rdfs:subClassOf, z), stm(z, rdfs:subClassOf, y). stm(x, y, z) :- stm(x, y, w), stm(w, rdfs:subClassOf, z). subPropertyOf stm(x, rdfs:subPropertyOf, y) :- stm(x, rdfs:subPropertyOf, z), stm(z, rdfs:subPropertyOf, y). stm(x, y, z) :- stm(x, w, z), stm(w, rdfs:subPropertyOf, y). range (restrição de integridade) rangeViolation(x, y, z) :- stm(x, y, z), stm(y, rds:range, w), not(stm(z, rdf:type, w)). complementOf mai-04 stm(x, rdf:type, ex:PacientesComAlta) :stm(x, rdf:type, ex:Paciente), not(stm(x, rdf:type, ex:PacienteInternado)). Copyright VIDATIS 2004 20 Exemplo “O mesmo paciente não pode realizar mais que uma tomografia em um período de 30 dias” ProcedimentoInvalido(solicitacao?x) :stm(x, rdf:type, ex:SolicitacaoProcedimento), stm(x, ex:procedimentoSolicitado, umls:C0040395), stm(x, ex:paciente, y), stm(y, cns:procedimentoRealizado, w), stm(w, cns:dataHoraAtendimento, d1), stm(w, umls:isa, umls:C0040395), stm(x, ex:dataSolicitacao, d2), (d1 + 30) < d2. ins stm(ex:solicitacao134, rdf:type, ex: SolicitacaoProcedimento). ins stm(ex: solicitacao134, ex:paciente, ex:456). ins stm(ex: solicitacao134, ex: procedimentoSolicitado, umls:C0040399). Sistema 1 Código 456 ID 123 mai-04 RG 123.456 Identidade 123.456 Nome Joao S. Santo NM Joao Silva Procedimento C0032743 Copyright VIDATIS 2004 Proc C0040399 DT 23/07/2004 Data 01/11/2004 Sistema 2 21 Exemplo cns:temDocumentoIdentificacao cns:ProcedimentoRealizado cns:dataHoraAtendimento daml:samePropertyOf daml:samePropertyOf Sistema 1 Código 456 ID 123 mai-04 RG 123.456 Identidade 123.456 Nome Joao S. Santo NM Joao Silva Procedimento C0032743 Copyright VIDATIS 2004 Proc C0040399 DT 23/07/2004 Data 01/11/2004 Sistema 2 22 Exemplo rdf:type cns:Identidade rdf:type cns:numeroDocumentoIdentificacao cns:numeroDocumentoIdentificacao Sistema 1 Código 456 ID 123 mai-04 RG 123.456 Identidade 123.456 Nome Joao S. Santo NM Joao Silva Procedimento C0032743 Copyright VIDATIS 2004 Proc C0040399 DT 23/07/2004 Data 01/11/2004 Sistema 2 23 Exemplo umls:C0040395 umls:child umls:C0040398 umls:child umls:child Sistema 1 Código 456 ID 123 mai-04 RG 123.456 Identidade 123.456 Nome Joao S. Santo NM Joao Silva Procedimento C0032743 Copyright VIDATIS 2004 Proc C0040399 DT 23/07/2004 Data 01/11/2004 Sistema 2 24 Exemplo “O mesmo paciente não pode realizar mais que uma tomografia em um período de 30 dias” Deduções: • Paciente 123 e 456 são o mesmo indivíduo (propriedade temDocumentoIdentificacao é Unambiguous) • Procedimentos C0040399 e C0032743 são Tomografias • Paciente 456 realizou uma tomografia em 01/11/2004 • A restrição de integridade foi violada Sistema 1 Código 456 ID 123 mai-04 RG 123.456 Identidade 123.456 Nome Joao S. Santo NM Joao Silva Procedimento C0032743 Copyright VIDATIS 2004 Proc C0040399 DT 23/07/2004 Data 01/11/2004 Sistema 2 25 Conclusões A Web Semântica propõe padrões para compartilhamento de conhecimento e integração de informações que deveriam ser exploradas em sistemas de informação em saúde A classificação de fontes de dados heterogêneas usando ontologias torna possível estabelecer o relacionamento entre conceitos, atingindo desta forma a interoperabilidade semântica Nem todos os relacionamentos da Rede Semântica do UMLS são expressos na base de conhecimento do UMLS. Neste sentido, os relacionamentos do Metathesaurus, embora não tão completos quanto os da Rede Semântica, são mais úteis para integração de dados e compartilhamento de conhecimento, já que eles estão presentes para quase todos os conceitos da base de conhecimento Existe ainda muito trabalho a ser feito na área de inferência da Web Semântica mai-04 Copyright VIDATIS 2004 26