ui versidade do vale do itajaÍ curso de ciÊc ia da …siaibib01.univali.br/pdf/adolfo zaguini...
TRANSCRIPT
U�IVERSIDADE DO VALE DO ITAJAÍ
CE�TRO DE CIÊ�CIAS TEC�OLÓGICAS DA TERRA E DO MAR
CURSO DE CIÊ�CIA DA COMPUTAÇÃO
APLICA�DO A TÉC�ICA DE RACIOCÍ�IO BASEADO EM CASOS PARA O AUXÍLIO DO PROFISSIO�AL HOMEOPATA �A BUSCA DO MELHOR
TRATAME�TO
Área de Inteligência Artificial
por
Adolfo Zaguini Neto
Anita Maria da Rocha Fernandes, Dra.
Orientadora
Itajaí (SC), novembro de 2007
U�IVERSIDADE DO VALE DO ITAJAÍ
CE�TRO DE CIÊ�CIAS TEC�OLÓGICAS DA TERRA E DO MAR
CURSO DE CIÊ�CIA DA COMPUTAÇÃO
APLICA�DO A TÉC�ICA DE RACIOCÍ�IO BASEADO EM CASOS PARA O AUXÍLIO DO PROFISSIO�AL HOMEOPATA �A BUSCA DO MELHOR
TRATAME�TO
Área de Inteligência Artificial
por
Adolfo Zaguini Neto
Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação.
Orientadora: Anita Maria da Rocha Fernandes, Dra.
Itajaí (SC), novembro de 2007
SUMÁRIO
LISTA DE ABREVIATURAS.................................................................. iv
LISTA DE FIGURAS ................................................................................. v
RESUMO ................................................................................................... vii
ABSTRACT .............................................................................................. viii
1. I�TRODUÇÃO ...................................................................................... 9
1.1 PROBLEMATIZAÇÃO ................................................................................... 11
1.1.1 Formulação do Problema ............................................................................... 11
1.1.2 Solução Proposta ............................................................................................. 12
1.2 OBJETIVOS ...................................................................................................... 12
1.2.1 Objetivo Geral ................................................................................................. 12
1.2.2 Objetivos Específicos ...................................................................................... 12
1.3 METODOLOGIA .............................................................................................. 13
1.4 ESTRUTURA DO TRABALHO ..................................................................... 13
2. FU�DAME�TAÇÃO TEÓRICA ...................................................... 15
2.1 HOMEOPATIA ................................................................................................. 15
2.2 RACIOC�IO BASEADO EM CASOS .......................................................... 24
2.2.1 Representação dos Casos ................................................................................ 26
2.2.2 Métricas de Similaridade ............................................................................... 27
2.2.3 Indexação ......................................................................................................... 29
2.2.4 Recuperação .................................................................................................... 30
2.2.5 Adaptação ........................................................................................................ 30
2.2.6 Aprendizagem .................................................................................................. 31
3. DESE�VOLVIME�TO ...................................................................... 33
3.1 A�ÁLISE DE REQUISITOS ........................................................................... 35
3.1.1 Requisitos Funcionais ..................................................................................... 35
3.1.2 Requisitos �ão Funcionais ............................................................................. 36
3.1.3 Regras de �egócio ........................................................................................... 36
3.2 MODELAGEM DO SISTEMA........................................................................ 37
iii
3.2.1 Diagrama de casos de uso ............................................................................... 37
3.2.2 Diagrama de Atividade ................................................................................... 39
3.3 TELAS DO SISTEMA ...................................................................................... 45
3.4 MODELAGEM DO BA�DO DE DADOS ..................................................... 57
3.5 TESTES .............................................................................................................. 59
4. CO�CLUSÕES .................................................................................... 61
REFERÊ�CIAS BIBLIOGRÁFICAS ................................................... 63
LISTA DE ABREVIATURAS
CBR Case-Based Reasoning EV Energia Vital ER Entidade Relacionamento IA Inteligência Artificial MM Matéria Médica PHP Personal Home Page RBC Raciocínio Baseado em Casos TCC Trabalho de Conclusão de Curso UML Unified Modeling Language UNIVALI Universidade do Vale do Itajaí
LISTA DE FIGURAS
Figura 1. Pesquisa e seleção de sintomas software Homeopro .......................................................... 19
Figura 2. Resultado da repertorização do software Homeopro .......................................................... 20
Figura 3. Visualização da matéria médica software Homeopro ......................................................... 21
Figura 4. Pesquisa e seleção de sintomas software Repertorium Homeopathicum Digital II ........... 22
Figura 5. Resultado da repertorização do software Repertorium Homeopathicum Digital II ........... 23
Figura 6. Consulta a matéria médica no software Repertorium Homeopathicum Digital II ............. 24
Figura 7: Ciclo de vida do RBC. ........................................................................................................ 26
Figura 8. Visão macro do sistema ...................................................................................................... 34
Figura 9. Projeto visão do homeopata ................................................................................................ 35
Figura 10. Diagrama de caso de uso [Acesso do homeopata ao sistema] .......................................... 38
Figura 11. Diagrama de caso de uso [Administração do sistema] ..................................................... 38
Figura 12. Diagrama de atividade do caso de uso UC.01.01 – Manter paciente - Médico ................ 39
Figura 13. Diagrama de atividade dos casos de uso U.C.01.02 e U.C.01.03 – Repertorização ......... 40
Figura 14. Diagrama de atividade do caso de uso U.C.01.04 – Selecionar tratamento ..................... 41
Figura 15. Diagrama de atividade do caso de uso UC.02.01 – Manter usuário ................................. 42
Figura 16. Diagrama de atividade do caso de uso UC.02.03 – Manter medicamentos ...................... 43
Figura 17. Diagrama de atividade do caso de uso UC.02.04 - Manter Pacientes - Administrador .... 44
Figura 18. Diagrama de atividade do caso de uso UC.02.05 - Manter Capítulos .............................. 45
Figura 19. Tela de Acesso ao Sistema ................................................................................................ 46
Figura 20. Menu principal - Modulo médico ..................................................................................... 46
Figura 21. Manter Capítulos - Módulo Médico ................................................................................. 47
Figura 22. Manter Capítulos - Módulo Administrador ...................................................................... 48
Figura 23. Inclusão de novo Capítulo ................................................................................................ 48
Figura 24. Listagem Medicamentos - Módulo Médico ...................................................................... 49
Figura 25. Visualização dos detalhes do Medicamento ..................................................................... 50
Figura 26. Novo Medicamento ........................................................................................................... 50
Figura 27. Manter Paciente ................................................................................................................ 51
Figura 28. Alteração de um paciente .................................................................................................. 52
Figura 29. Listagem de Sintomas ....................................................................................................... 53
Figura 30. Seleção de Pacientes ......................................................................................................... 54
Figura 31. Repertorização seleção de sintomas ................................................................................. 55
Figura 32. Resultado da repertorização .............................................................................................. 56
vi
Figura 33. Confirmação da repertorização ......................................................................................... 57
Figura 34. Modelo ER ........................................................................................................................ 58
RESUMO
ZAGUINI NETO, Adolfo. Aplicando a Técnica de Raciocínio Baseado em Casos para o Auxílio do Profissional Homeopata na busca do melhor Tratamento. Itajaí, 2007. 60 folhas. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação)–Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2007.
O tratamento homeopático agrada cada vez mais os pacientes em geral que buscam a cura de suas patologias por processos menos agressivos. A medicina convencional trata as doenças de maneira agressiva, utilizando medicamentos sintéticos que na maioria dos casos são associados, acarretando aumento de reações adversas, efeitos colaterais e muitas vezes interações medicamentosas. A homeopatia criada por Hahnemann, ao contrário da medicina convencional, trata o paciente através do medicamento único, derivado de uma planta onde não sofre processos químicos na fase de dinamização. Esta área médica acredita que as patologias se desenvolvem no ser vivo quando ocorre um desequilíbrio de sua energia vital, tratando desta forma o paciente como um todo e não baseando-se apenas no órgão doente. Há alguns anos, os médicos homeopatas só prescreviam um tratamento a um paciente na reconsulta já que para tal procedimento havia necessidade de intensos estudos e pesquisas bibliográficas. Atualmente é possível uma prescrição mais rápida graças a software existentes no mercado como, por exemplo, o Homeopro e o Repertorium Homeopathicum Digital II. Estes softwares possuem um vasto banco de dados retirados de livros da área que cruzam informações quando o médico informa os sintomas descritos pelo paciente, organizando os medicamentos do mais eficaz ao menos eficaz na conduta terapêutica. Desta forma, o profissional seleciona a melhor prescrição com o auxílio do software. A área de inteligência artificial vem sendo uma importante ferramenta para desenvolvimento de programas na área da saúde. Um meio de auxiliar o profissional homeopata e que ainda não é encontrado no mercado seria um software baseado em casos (RBC). Esta proposta seria possível desenvolvendo um software com um amplo banco de dados contendo casos anteriores. Desta forma, o tratamento de um paciente antigo poderia ser aplicado a um outro paciente atual se ambos apresentassem os mesmos sintomas, com o objetivo de apontar o melhor medicamento. Esta estratégia possibilitaria um tratamento mais próximo ao ideal, porem durante o desenvolvimento dos estudos constatou-se que a técnica de RBC não é a mais adequada para o problema levantado.
Palavras-chave: Homeopatia, Raciocínio Baseado em Casos, Inteligência Artificial.
ABSTRACT
The homeopathic treatment increasingly pleases the patients in general who seeks the cure of its
pathologies by less aggressive processes. The conventional medicine deals with the illnesses by an
aggressive way, using synthetic medicines which in the majority of cases are associated causing
collateral increase of adverse reactions, effect and many times medicament’s interactions. The
homeopathies created by Hahnemann, in contrast of the conventional medicine, treat the patient
through an only medicine, which is derivative of a plant that does not suffer chemical processes for
its synthesis. This medical area believes that the pathologies develop in the living being when an
unbalanced vital energy occurs treating in such a way the patient as a whole and not being based
only on the sick organ. For some years, the medical homeopaths used only to prescribe a treatment
for each patient in the reschedule once for such procedure had bibliographical necessity of intense
studies and research. Today is already a faster prescription thanks to the existing softwares in the
market like, for example, the Homeopro, Repertorium Digital Homeopathicum II. These softwares
got a vast data base provided by books of the area which cross information when the doctor informs
the described symptoms for the patient, organizing the medicines of the most efficient to the
treatment efficient the least. The area of artificial intelligence is becoming an important tool for the
development of programs in the health area. A way to assist the professional homeopath who is still
not found in the market would be software based on cases (RBC). With this proposal would be
possible to develop a software with an ample data base with cases of patients. In such a way the
treatment of an old patient could be applied one another current patient if both presented the same
symptoms, with the objective to point optimum medicine. This strategy would guarantee the ideal
treatment looking forward the success of the first treatment.
Keywords: Homeopathies, Case-Based Reasoning, Artificial Intelligence.
9
1. I�TRODUÇÃO
No século XVII, o médico alemão Samuel Hahnemann, após traduzir algumas obras
científicas no ramo da medicina, criou a homeopatia que é baseada em quatro princípios
fundamentais: lei dos semelhantes; experimentação no homem são; dose mínima; medicamento
único. Após quatro séculos, a homeopatia ganha cada vez mais espaço na área médica. Inúmeros
pacientes buscam a cura dos seus males através das técnicas homeopáticas desenvolvidas por
Hahnemann (MERCIER, 1987; RIBEIRO, 2007).
Segundo Rosenbaum (2005), a homeopatia visa curar o paciente não somente pelos seus
sintomas físicos mas também os psíquicos. Desta forma, a medicação atuará de maneira tal que cure
a enfermidade do paciente e não a doença em si. Segundo as teorias de Hahnemann, quando a
doença atinge um ser, modifica o corpo como um todo, principalmente no que diz respeito ao
campo magnético.
Até pouco tempo atrás, os médicos homeopatas escolhiam o melhor tratamento aos seus
pacientes após horas de avaliações bibliográficas, sendo liberado um tratamento somente na re-
consulta já que havia a necessidade de exaustivas pesquisas. Após anos de profissão, esses já
conseguem prescrever um tratamento ao final da consulta, porém isto requer um extenso
conhecimento bibliográfico, e mesmo assim preferem estudar o caso do paciente minuciosamente
para evitar possíveis erros (ROSENBAUM, 2005).
Atualmente, existem no mercado alguns softwares que foram desenvolvidos com o intuito
de auxiliar o profissional na escolha do melhor tratamento, de forma mais rápida e precisa, levando
em consideração, principalmente, o princípio do medicamento único e da dose mínima. Desta
forma, evita-se a necessidade de uma reconsulta ao paciente e as longas jornadas de estudos caso a
caso. Porém, tais sistemas são criados para pesquisas e são dotados de um vasto banco de dados
retirados de livros chaves.
Aplicando-se técnicas de Inteligência Artificial em softwares de homeopatia pode-se
melhorar ainda mais o processo de escolha de um medicamento homeopático. Com a existência de
um vasto banco de dados com informações consistentes sobre casos anteriores que obtiveram
sucesso, um software utilizando técnicas como RBC (Raciocínio Baseado em Casos) pode buscar
10
de forma fácil e flexível tratamentos mais semelhantes ao caso atual, para que o profissional escolha
a melhor opção.
RBC, ou originalmente falando CBR (Case-Based Reasoning), é a técnica na qual busca-se
recuperar problemas similares ocorridos no passado, adaptando ou não as soluções anteriores para o
presente problema. O RBC baseia-se em um raciocínio muito usado pelas pessoas diante de novos
problemas no dia a dia buscando experiências anteriores para que o problema atual seja resolvido
(KASTER, MEDEIROS, ROCHA, 2000).
Segundo Kaster, Medeiros e Rocha (2000), RBC é composto por quatro partes
fundamentais. São elas:
1. Recuperação: é a análise do caso corrente em busca de similaridades com experiências
anteriores;
2. Reutilização: é a utilização da solução recuperada, ou a sua adaptação e/ou melhoramento
buscando solucionar o problema da melhor forma possível;
3. Revisão: é a análise da solução final de modo a verificar sua eficácia; e
4. Retenção: é a retenção da informação como uma nova experiência.
Como o RBC, é uma tecnologia extremamente simples, permite facilmente a construção de
sistemas computacionais inteligentes, com baixo custo para resolução de problemas reais, em áreas
como a de comércio eletrônico e diagnóstico médico (VON WANGENHEIN & VON
WANGENHEIN, 2003).
Assim, quando os sintomas ou características de um paciente “X” são idênticos ou muito
próximos aos do paciente “Y”, é possível aplicar um tratamento muito parecido àquele que o
individuo “Y” recebeu, visando aumentar a probabilidade de sucesso com o tratamento. Esta é a
proposta deste TCC (Trabalho de Conclusão de Curso). O sistema de RBC foi desenvolvido em
PHP (Personal Home Page) e utiliza banco de dados PostgreSQL.
11
1.1 PROBLEMATIZAÇÃO
1.1.1 Formulação do Problema
O médico homeopata durante ou após suas consultas enfrenta um processo muito demorado,
minucioso e cansativo, que deve ser aplicado a cada nova consulta, pois é através deste que o
médico obtém o medicamento para o tratamento do paciente. Este procedimento é de fundamental
importância, pois é baseado nele que médico homeopata irá especificar o medicamento a ser
utilizado, não permitindo erros, pois trata-se da escolha de uma conduta terapêutica.
A repertorização é feita através do cruzamento das medicações recomendadas para cada
sintoma ou através da soma de sintomas. Basicamente, o médico homeopata busca todos os
medicamentos do primeiro sintoma e cruza-os com os medicamentos do segundo sintoma, buscando
neste cruzamento os princípios ativos que são recomendados para os dois sintomas. Sabe-se que
somente este processo não exclui o conhecimento e experiência do profissional, pois deste
cruzamento podem retornar mais de um medicamento, assim ficando a cargo do médico homeopata
analisar o que cada medicamento faz para a tomada de decisão final (ROSENBAUM, 2005).
Este procedimento leva o nome de repertorização, onde o médico, possuindo informações
dos sintomas apresentados ou relatados pelo paciente, inicia a análise para obter o tratamento. Cada
sintoma na homeopatia possui uma série de princípios ativos recomendados para seu tratamento.
Assim, ao identificar dois sintomas onde o primeiro possui um número de medicamentos e o
segundo possui outro número de medicamentos recomendados, inicia-se a repertorização
(SCHEMBRI, 1992).
Com um número elevado de sintomas, como por exemplo mais de 4 ou 5 sintomas, e cada
sintoma possuir uma lista com média de 20 medicações recomendadas, a repertorização fica muito
complexa, extensa e cansativa. O software proposto irá auxiliar neste momento o médico
homeopata na execução deste procedimento, buscando reduzir o tempo gasto com essa tarefa e
procurando referências em casos anteriores que obtiveram sucesso.
12
1.1.2 Solução Proposta
Será utilizada a técnica de Inteligência Artificial denominada Raciocínio Baseado em Casos
para representar o conhecimento do especialista. Por se tratar de um sistema para internet possibilita
uma base sempre atualizada, e uma disponibilidade maior do sistema, que pode ser acessado em
qualquer computador conectado a internet, desde que o profissional esteja devidamente cadastrado.
O sistema permite ao mesmo, que consulte à base de conhecimento em qualquer momento. O
profissional homeopata contará com o conhecimento de diversos profissionais à sua disposição
tendo como base, casos reais com tratamentos que obtiveram sucesso.
1.2 OBJETIVOS
1.2.1 Objetivo Geral
Desenvolver um software baseado em RBC que auxilie o profissional da saúde, no caso, o
médico homeopata a buscar a melhor forma de tratamento ao paciente levando em consideração
casos anteriores.
1.2.2 Objetivos Específicos
São objetivos específicos deste trabalho:
• Pesquisar e analisar softwares existentes no mercado;
• Compreender as metodologias utilizadas pelos profissionais consultados;
• Identificar as variáveis necessárias para o sistema;
• Modelar o sistema;
• Pesquisar as técnicas a serem utilizadas no desenvolvimento do sistema;
• Implementar o sistema; e
• Testar e validar o sistema.
13
1.3 Metodologia
A fundamentação teórica se deu através de entrevistas com os profissionais homeopatas e
pesquisas bibliográficas, realizadas por meio de livros, artigos científicos, sites e trabalhos
acadêmicos. Esta pesquisa é fundamental para um amplo e melhor entendimento dos conceitos,
técnicas e metodologias envolvidas no processo de obtenção do tratamento homeopático.
A primeira parte do desenvolvimento do sistema foi através do estudo e análise dos requisitos
que o sistema deverá obedecer. A maior parte dos requisitos foi obtida abstraindo-se o processo
padrão e também através de análise dos softwares de mercado.
Dando seguimento ao desenvolvimento do sistema, a modelagem tenta explicar a estrutura
básica do sistema, os passos básicos para seu funcionamento, suas operações e relacionamentos de
forma simples, objetiva e de fácil compreensão, Para isso foram utilizados diagramas de casos de
uso e de atividades, suportados pela UML (Unified Modeling Language).
Finalizando a fase de desenvolvimento, foi feita a modelagem da base de dados, procurando
identificar tabelas e atributos necessários para o projeto, através do modelo ER (Entidade
Relacionamento).
1.4 Estrutura do trabalho
Este documento está estruturado em quatro capítulos. O Capítulo 1, Introdução, apresenta
uma visão geral do trabalho. No Capítulo 2, Fundamentação Teórica, é apresentada uma revisão
bibliográfica sobre os principais conceitos da homeopatia, seus procedimentos e técnicas. Ainda
neste capítulo é apresentada a técnica de Inteligência Artificial chamada Raciocínio Baseado em
Casos e os softwares similares existentes no mercado.
O Capítulo 3 apresenta o desenvolvimento detalhado do sistema a ser desenvolvido, incluindo
sua especificação e a sua modelagem em UML. O Capítulo também apresenta as telas do sistema
descrevendo suas funções e importância.
14
Concluindo, no Capítulo 4, apresentam-se as conclusões, onde são abordadas as dificuldades
encontradas, os resultados dos testes do sistema e sugestões para futuros melhoramentos.
15
2. FU�DAME�TAÇÃO TEÓRICA
2.1 Homeopatia
A homeopatia é uma terapia natural que se baseia no ponto mais fundamental do tratamento
de doenças em geral. No pensamento homeopático, a doença é provocada por erros nos hábitos de
viver. Desta maneira, não só o médico é responsável pela saúde, mas o próprio paciente que deve
buscar no decorrer da vida meios de estar em equilíbrio com seu corpo e mente (CALLINAN,
1995).
De acordo com Schembri (1992), a medicina homeopática desenvolveu-se na Alemanha
pelo Dr. Cristiano Frederico Samuel Hahnemamm (1755 – 1843), médico ortodoxo e descontente
com as práticas médicas da época que utilizava doses fortíssimas de medicamentos além da técnica
da sangria. Enquanto traduzia o livro “Matéria Médica” do escocês William Cullen, deparou-se com
a observação do escocês que dizia, que o notável sucesso do quinino (um extrato da casca da quina)
no tratamento de febre palustre (malária) devia-se às suas propriedades aromáticas e amargas
capazes de produzir no estômago dos doentes substâncias contrária à febre. Hahnemamm
discordava desta idéia e decidiu tomar o extrato. Para sua surpresa, desenvolveu sintomas
semelhantes aos da febre palustre, para qual o quinino era usado comumente. Todos os sintomas
desapareceram quando parou de tomar o extrato. Administrações posteriores em si e na sua família
provocavam os mesmos sintomas somente variando de intensidade. Observando os precedentes para
esse efeito descobriu que foi Hipócrates (460 – 377 a.C.), considerado pela ortodoxia como o pai da
medicina moderna, em seus escritos, quem primeiro mencionou que os semelhantes curam os
semelhantes. Desta forma o vômito pode ser curado administrando uma substância que o induza, e
qualquer outra doença pode ser tratada com êxito de forma similar. Nascia a primeira lei da
homeopatia que diz que os semelhantes curam os semelhantes.
Segundo Callinan (1995), a segunda lei da homeopatia refere-se a “experiência em homem
são”. Isto significa dizer que para aplicar a lei dos semelhantes é necessário administrar uma
determinada substância em pacientes voluntários e sãos e cuidadosamente observar os sintomas
desenvolvidos. Porém quando uma substância produzir sintomas muito extravagantes e
completamente raros de se observar, como por exemplo secreções azul-esverdeadas, pouco será
16
empregado na prática. Já uma substância que produza coriza e cefaléia (dor de cabeça), será de
grande auxílio no tratamento de pacientes com tais sintomas.
Há de se pensar que administrando uma substância que causa os mesmos sintomas haveria
de agravar o mal ao invés de curá-lo. Para isso, a homeopatia baseia-se na lei do medicamento
único. Os sintomas devem combinar perfeitamente para exercer efeito terapêutico. O tratamento
mais efetivo virá do medicamento mais similar administrado em doses únicas (CALLINAN, 1995;
BAROLLO, 1995).
Segundo Callinan (1995), os homeopatas consideram diluições em graus infinitesimais
como fator necessário ao preparo de seus medicamentos, pois procura-se administrar a menor
dosagem possível conforme a lei da dose mínima. Essa lei estabelece que a dose mais efetiva para
qualquer enfermidade é a quantidade mínima necessária para provocar uma resposta. A substância
deve se dar em doses diluídas e esperar por uma reação favorável. Se ocorrer melhoras, pode-se
então administrar a segunda dose e prosseguir com o tratamento.
O grande obstáculo da homeopatia para aceitação da população em geral é a diluição pelo
qual os medicamentos passam, mais conhecida como dinamização. Na escala decimal uma parte da
substância é diluída em 9 partes de água (1x ou 10-1) e submetida a um processo de sucussões
(agitadas 100 vezes). Do produto formado, será retirada uma parte e diluída em mais 9 partes de
água (2x ou 10-2) e mais 100 sucussões. Tal processo continua consecutivamente até a concentração
desejada, para fornecer a dose mínima de efeito. A dinamização pode ser feita também em escala
centesimal, onde 1 parte é diluída em 100 produzindo desta forma, 1c, 2c, 3c... É comum
tratamentos homeopáticos com graus de diluições altíssimos e que atingem sucesso no tratamento.
Do ponto de vista farmacológico uma substância diluída acima de 12c ou 24x muito provavelmente
não encontra uma molécula da substância original. Desta forma, acredita-se que o paciente esteja
tomando apenas placebo obtendo um efeito psicológico. Mesmo assim, os homeopatas se
defendem, pois já foi possível obter curas com diluições altas em pacientes inconscientes, como em
bebês e animais, que não podem obter uma cura psicológica (CALLINAN, 1995; SCHEMBRI,
1992).
Para explicar o funcionamento de uma medicação até mesmo quando submetida a altos
graus de dinamização, os homeopatas aderem a explicações de biofísica. Eles explicam que o
17
veículo utilizado para dinamizar as substâncias armazena energia da substância primária. Através da
dinamização, consegue-se extrair da substância informações de sua capacidade de agir sobre o
organismo vivo, além de incorporar-se ao meio líquido certa quantidade de energia (dada pela
sucussão). Assim, mesmo após sofrer várias dinamizações, a energia da substância inicial ainda é
preservada armazenada na molécula de veículo. Porém não se pode medir quimicamente a energia
da substância envolvida fato esse que gera discórdia para a medicina ortodoxa (BAROLLO, 1995).
O ser vivo é composto de um campo de energia chamada, energia vital (EV). Qualquer
enfermidade decorre de perturbações no fluxo da EV, acarretando sintomas dos mais variados tipos.
De acordo com a sua constituição genético-hereditária, o ser vivo possui órgãos ou sistemas mais
frágeis que outros e assim, quando a EV desestabiliza, surgem os sintomas e sinais físicos e/ou
mentais que variam de um para outro (BAROLLO, 1995). A medicação homeopática entra, desta
forma, para estabilizar o campo de EV do paciente.
Uma das grandes vantagens da medicina homeopática frente à medicina convencional é
principalmente no que diz respeito à segurança e preço, visto que para ocorrer um envenenamento
com medicamentos homeopáticos seria necessário tomar cerca de 5 litros de uma medicação, e os
veículos usados (água, álcool e lactose) são encontrados no mercado com um baixo custo tornando
o produto final de fácil acesso financeiro ao consumidor (CALLINAN, 1995).
O verdadeiro tratamento homeopático deve ser realizado de maneira tal, que abranja as
quatro leis descritas por Hahnemamm. As leis que dizem respeito à dinamização, experimentação
em homem são e semelhante cura semelhante são enfocadas na etapa farmacêutica, já que estes são
os principais produtores da medicação homeopática. O software aqui proposto visa auxiliar o
médico homeopata na escolha do medicamento ao paciente baseando-se na lei do medicamento
único.
No Brasil, a área de homeopatia cresce a cada dia. Atualmente, encontram-se bons softwares
que auxiliam o médico no tratamento ao paciente. Alguns desses se destacam no mercado e são
mostrados na Tabela 1.
18
Tabela 1: Principais softwares de homeopatia existentes no Brasil.
Programa Coordenador Empresa
HomeoPro Dr. Aldo Farias Dias
GEHSH - Grupo de
Estudos Homeopáticos
Samuel Hahnemann
Repertorium
Homeopathicum Digital II
Dr. Ariovaldo Ribeiro
Filho e Zalman Bronfman Lince expert Systems
Os softwares apresentados funcionam basicamente da mesma forma, porém analisando o
modo como se apresentam, eles possuem diferenças em usabilidade, na maneira com que
apresentam os resultados e o repertório que utilizam como fonte de informação. Contudo todos têm
como objetivo principal realizar a repertorização.
A repertorização consiste no cruzamento ou soma de sintomas a fim de encontrar a
medicação adequada para todos os sintomas constatados. Mais detalhadamente, cada sintoma possui
uma série de medicações indicadas para sua cura, assim quando agrupados mais de um sintoma,
precisamos cruzar os medicamentos indicados para o primeiro sintoma, com os medicamentos
indicados para o segundo sintoma, buscando a(s) medicação(ões) que atenda(m) os dois sintomas
simultaneamente. Com a hipótese de um número muito grande de sintomas, este processo torna-se
muito trabalhoso e exaustivo, é neste ponto que os softwares entram para auxiliar esse processo
(SCHEMBRI, 1992).
O software Homeopro, é um sistema de repertório homeopático com uma interface com
poucos recursos gráficos, porém executa a repertorização de modo ágil e muito simples.
Desenvolvido pelo Dr. Aldo Farias Dias, presidente do grupo de estudos homeopáticos Samuel
Hahnemann. O software possui atualizações semestrais feitas por seu desenvolvedor em conjunto
com membros do grupo (HOMEOPRO, 2007).
HomeoPro apresenta cerca de 1.077 medicamentos com suas sinopses, e em torno de 16.600
sintomas mentais e sonhos na íntegra das MM (Matéria Médica) de Hahnemann, Hering e Allen;
mais as matérias médicas de Clarke, Boericke na íntegra (HOMEOPRO, 2007).
19
Na Figura 1, é demonstrada a tela de pesquisa e seleção de sintomas do software Homeopro,
os sintomas são pesquisados na medida em que cada letra é digitada possibilitando uma procura
mais eficaz. A tela apresenta uma coluna com a quantidade de medicamentos para cada sintoma
correspondente na coluna ao lado. Os comandos são através das telas de função como indicado no
alto da tela.
Figura 1. Pesquisa e seleção de sintomas software Homeopro
Fonte: HomeoPro (2007)
Observa-se na Figura 2 o software Homeopro apresentando o resultado da repertorização,
onde são relacionados os sintomas selecionados, juntamente com a quantidade de medicamentos
que cada um possui. Mais abaixo encontra-se a lista dos medicamentos mais indicados para o
conjunto de sintomas.
20
Figura 2. Resultado da repertorização do software Homeopro
Fonte: HomeoPro (2007)
Ao término da repertorização pode-se visualizar a matéria médica para cada medicamento
sugerido pelo software. A Figura 3 mostra o detalhamento do medicamento que ficou em primeiro
lugar na repertorização demonstrada na Figura 2.
21
Figura 3. Visualização da matéria médica software Homeopro
Fonte: HomeoPro (2007)
O software Repertorium Homeopathicum Digital II é baseado no repertório de Kent e
ampliado por Ariovaldo Ribeiro Filho e Zalman Bronfman. Possui acesso automático a atualizações
via internet. Sua interface é amigável, porém um pouco mais complexa do que o software
Homeopro, mas ainda assim de fácil utilização. Também tem como objetivo principal realizar a
repertorização, com agilidade e rapidez, possuindo fontes de pesquisa para os medicamentos
sugeridos.
O software Repertorium Homeopathicum Digital II em sua tela principal de consulta e
seleção de sintomas, apresenta uma coluna a esquerda da tela onde encontram-se os recipientes de
repertorização. Neles serão adicionados os sintomas. Na coluna da direita são apresentados os
medicamentos sugeridos para o sintoma que está selecionado na parte central da tela, esta parte
central apresenta todos os sintomas do sistema em forma de árvore conforme a Figura 4. No setor
inferior da tela, encontra-se o campo de pesquisa e o espaço destinado para o retorno desta pesquisa.
22
Figura 4. Pesquisa e seleção de sintomas software Repertorium Homeopathicum Digital II
Fonte: Repertorium Homeopathicum Digital II (1999)
Os sintomas são selecionados ao se dar um duplo clique ou no arrasto do mesmo até um
recipiente localizado na coluna à esquerda. Para que a repertorização seja efetuada basta que um
duplo clique seja dado em cima do recipiente que possui os sintomas, o sistema executa a pesquisa e
apresenta a tela com os resultados de acordo com a Figura 5.
Na parte superior encontra-se os sintomas selecionados pelo usuário, no canto inferior
direito esta a repertorização propriamente dita resultado do cruzamento dos sintomas selecionados
já em ordem do mais indicado para o conjunto de sintomas selecionados. No canto lateral esquerdo
localizam-se os medicamentos referentes a qualquer um dos sintomas selecionados acima.
23
Figura 5. Resultado da repertorização do software Repertorium Homeopathicum Digital II
Fonte: Repertorium Homeopathicum Digital II (1999)
O software também permite a consulta do medicamento em diversas matérias médicas,
como mostrado na Figura 6.
24
Figura 6. Consulta a matéria médica no software Repertorium Homeopathicum Digital II
Fonte: Repertorium Homeopathicum Digital II (1999)
2.2 Raciocínio Baseado em Casos
Segundo Von Wangenheim e Von Wangenheim (2003), RBC é um tipo de abordagem que
gera conhecimento ao solucionar problemas atuais se baseando em experiências anteriores.
Simplesmente, RBC resolve um problema recente buscando e se necessário adaptando-se a soluções
de problemas conhecidos resolvidos anteriormente, guardados em uma base de casos.
Para Luger (2004), humanos usam uma estratégia muito poderosa que consiste em raciocinar
através de casos, problemas passados e suas soluções quando muito similar ao problema pelo qual
estão passando.
25
Para Santos (2004), Raciocínio Baseado em Casos é uma técnica de inteligência artificial
para a representação do raciocínio humano, tendo como idéia principal a busca para a solução do
caso atual, efetuando comparações com casos anteriores semelhantes.
Já para Kolodner (1993), a qualidade de um RBC é alcançada através dos seguintes itens:
• A experiência que tenha tido;
• Sua habilidade de compreender novas situações nos termos das experiências
passadas;
• Sua competência de adaptação;
• Sua competência de avaliação e conservação; e
• Sua habilidade para integrar novas experiências na memória apropriadamente.
Os profissionais da área médica, por exemplo, não se baseiam apenas em livros, doenças,
anatomia e fisiologia; eles dependem muito de suas experiências como médicos, adquirida através
de anos com outros pacientes e os tratamentos utilizados. Obtém assim, obtendo um histórico de
conhecimento, utilizando esta informação em cada nova consulta, provando como o ser humano
utiliza o RBC em sua rotina de trabalho (LUGER, 2004).
O RBC possui um ciclo de vida, o demonstrado na Figura 7, onde um novo problema é
comparado com a base de casos, e um ou mais casos são retornados conforme sua similaridade.
Desta forma uma solução pode ser utilizada e adaptada para então ser revisada e retida na base
como um novo caso.
26
O processo de desenvolvimento de um RBC em qualquer domínio é uma tarefa iterativa e
não se encaixa numa metodologia genérica, portanto algumas etapas consideradas mais importantes
serão descritas a seguir, como: Representação dos Casos, Métricas de Similaridade, Indexação,
Recuperação, Adaptação e Aprendizagem.
2.2.1 Representação dos Casos
Segundo Fernandes, Miranda e Santos (2005), um caso é uma abstração de uma experiência,
e deve conter conteúdo e contexto. Essas experiências precisam ser bem organizadas formando a
base de raciocínio.
Para Von Wangenheim e Von Wangenheim (2003), um caso é formado por um problema e
sua devida solução, representando uma experiência que ensina uma lição útil como parte de
Caso
Armazenado
Problema
(Novo Caso)
BASE DE
DADOS
Caso(s) mais
similar(es)
Solução
Confirmada
Solução
Adaptada
RECUPERAÇÃO
REUSO REVISÃO
RETENÇÃO
Figura 7: Ciclo de vida do RBC.
Fonte: Adaptado de Wangenheim e Wangenheim (2003).
27
conhecimento contextualizado. Sendo assim, um caso contém a lição passada, que representa o
conteúdo e o contexto em que a lição pode ser usada.
De acordo com Kolodner (1993), um caso é formado pelas seguintes partes: a descrição do
problema, a solução deste problema e o resultado alcançado, assim alcançando a solução para
problema inicial.
Fernandes, Miranda e Santos (2005) enfatizam que, a busca para se definir o que seja um
caso é muito complexa, sendo mais fácil definir o problema que será utilizado em um Raciocínio
Baseado em Casos. Desta forma compreende-se que a representação de um caso é uma tarefa
importantíssima para o sucesso ou o fracasso do sistema de RBC.
Representação dos casos é a representação do conhecimento. Há momentos em que o
conhecimento do especialista é representado em RBC, no entanto, nos casos está contido o
conhecimento que servirá para sugerir uma solução para o problema (FERNANDES; MIRANDA;
SANTOS, 2005).
O grande problema na representação dos casos segundo Fernandes, Miranda e Santos
(2005), é o que se deve guardar de um caso, a estrutura adequada para conter sua descrição, como
deve ser organizados e indexados para que se possa efetuar satisfatoriamente a recuperação e
reutilização pelo sistema.
Segundo Von Wangenheim e Von Wangenheim (2003), o conhecimento em um sistema de
RBC é principalmente representado em forma de casos, o conteúdo exato que cada caso possuirá irá
depender do domínio específico onde estará inserido e do objetivo do raciocínio. Entretanto, duas
medidas podem ser adotadas como forma geral para determinar o que deve ser representado pelos
casos: a funcionalidade da informação e a facilidade de aquisição da informação.
2.2.2 Métricas de Similaridade
Segundo Balbinoti (2006), cálculo de similaridade é uma das fases mais importantes em um
sistema de RBC, tendo como objetivo medir o quão parecidos são os casos que estão sendo
28
analisados, o atual e o da base.
De acordo com Bittencourt (2003), similaridade é uma função utilizada para medir
numericamente o grau de similaridade entre casos, podendo assim distinguir casos similares, de
casos não similares. A função atua em nível de atributos utilizando uma medida de importância que
é utilizada para estabelecer a relevância de cada atributo na avaliação.
Para Von Wangenheim e Von Wangenheim (2003) entretanto, é preciso que primeiro seja
determinada a utilização do caso, para posteriormente aplicar a solução do problema. A solução
descrita em um caso escolhido pode ser útil para um novo problema caso ela:
• Permita a solução do problema atual de alguma forma;
• Evite que erros sejam repetidos;
• Permita uma solução eficiente do problema, que seja mais rápido do que a utilização de uma
heurística passo a passo para resolver o problema;
• Ofereça uma melhor solução para o problema conforme um critério de otimalidade
qualquer; e
• Ofereça ao usuário uma solução cuja lógica seja de fácil compreensão.
Conforme Balbinotti (2006), existem cinco níveis possíveis de similaridade em RBC:
• Similaridade sintática: é simples, sendo os atributos comparados por sua semelhança
sintática. A avaliação dos atributos pode ser feita de diversas maneiras, dependendo somente
das naturezas das dimensões;
• Similaridade semântica: é o tipo mais simples de similaridade, pois não considera fatores
contextuais, se referindo aos atributos que são sintaticamente idênticos em duas situações;
• Similaridade estrutural: é mais complexa que a anterior. Os casos devem ser ligados por
meios de estruturas isomórficas. O isomorfismo depende da consistência da ligação de
proposições, predicados ou argumentos. Por exemplo: dois casos são similares se as
estruturas de relações e argumentos forem semelhantes;
• Similaridade organizacional: é imposta aos casos armazenados em localizações próximas
na memória de casos; e
29
• Similaridade pragmática: duas partes são pragmaticamente similares se ocuparem papéis
similares em suas respectivas situações.
2.2.3 Indexação
Segundo Bittencourt (2003), a indexação é o elemento que determina o que deve ser
comparado entre o caso de entrada e a biblioteca de casos. Ela é a essência de um sistema de RBC,
pois conduz o sistema na avaliação de similaridade permitindo assim a recuperação do caso mais
útil para a solução do problema inicial.
Atribuir índices, incluindo rótulos nos casos à medida que são inclusos na base de casos,
possibilita que posteriormente haja uma maior facilidade na recuperação, possibilitando também a
escolha do algoritmo mais eficiente de recuperação. Um índice bem selecionado é aquele que
permite reconhecer similaridades úteis entre os casos recuperados, motivo pelo qual é necessário
que exista uma perfeita compreensão do problema (BITTENCOURT, 2003).
Fernandes, Miranda e Santos (2005) citam que índices em um sistema de RBC são tão
importantes quanto os índices de livros em uma biblioteca. A indexação é necessária para que os
casos armazenados na base de casos possam ser recuperados. Funcionando em nível de atributos,
são esses que serão comparados para se avaliar a similaridade do caso de entrada com os casos da
base.
Para Kolodner (1993), uma boa indexação deve seguir determinadas características:
• Antecipação do vocabulário a ser usado na recuperação;
• Através das características mais abstratas, utilizar os conceitos usados normalmente para
descrever os casos;
• Antecipar as circunstâncias nas quais a recuperação será realizada. Ser suficientemente
concreto para facilitar a reorganização em futuras situações; e
• É desejável que a indexação proporcione uma recuperação eficiente dos casos, para que o
desempenho do sistema atenda as expectativas dos usuários.
30
2.2.4 Recuperação
Segundo Thé (2001), o processo de recuperação tem início com a entrada de um novo
problema, passando por todo seu ciclo e tendo fim ao chegar ao melhor resultado com sucesso.
Quando a descrição de um problema de entrada é definida, utiliza-se um algoritmo de
recuperação, que com a ajuda dos índices já valorados, faz uma avaliação de similaridade do caso
de entrada com os existentes na base, finalizando com a recuperação da solução do problema mais
similar (THÉ, 2001).
Para Balbinotti (2006), um ponto fundamental em um sistema de RBC é possuir meios de
identificar casos com o objetivo de recuperá-los e indexá-los, possibilitando a recuperação dos mais
úteis na resolução do problema do usuário.
Recuperação nada mais é que mais um estágio no ciclo de vida de um RBC, porém não
menos importante. É neste estágio que todo o trabalho anterior de definição de casos e de indexação
geram resultados, que poderão ser ou não utilizados para a solução do problema final, resultando
assim em mais conhecimento para o sistema.
Conforme Fernandes, Miranda e Santos (2005), recuperação é a etapa que dá início a uma
função que irá recuperar casos similares. Esta função poderá utilizar uma métrica ou métodos de
classificação. Requer, porém, que seja estabelecido um limiar, recuperando assim os casos que
ultrapassarem este limite ou um limite de casos que possam ser recuperados.
2.2.5 Adaptação
Conforme Thé (2001), a fase de adaptação tem início quando um caso é recuperado. Neste
momento o médico homeopata deve analisar minuciosamente as diferenças entre o caso de entrada
do sistema e o caso que foi recuperado, a fim de verificar a necessidade de uma possível adaptação,
que irá resultar na geração de uma solução mais apropriada para ser aplicada ao problema.
31
Já Wangenheim e Wangenheim (2003) afirmam que uma vez que a solução decorrente do
caso recuperado não puder solucionar completamente o caso de entrada, muitas vezes se faz
necessário adaptar a solução do caso recuperado antes de utilizá-la.
Kolodner (1993) diz que em um sistema de RBC, a fase de adaptação pode ser classificada
em:
• Substituição: substitui determinados valores na nova situação tendo como base a situação
anterior;
• Transformação: modifica ou transforma a situação antiga em uma adequada para a atual; e
• Outros Métodos: usadas para realizar alterações estruturais não cobertas pelos métodos
citados.
Segundo Balbinotti (2006), mesmo a adaptação existindo em diversas formas e podendo
aparecer em várias situações, ela não é obrigatória. Por exemplo, vários sistemas existentes no
mercado simplesmente recuperam o caso apresentando-o ao usuário, deixando este livre para optar
pela adaptação.
2.2.6 Aprendizagem
Segundo Fernandes, Miranda e Santos (2005), a aprendizagem, em um sistema de
Raciocínio Baseado em Casos, acontece principalmente ao acumularem-se novas experiências em
seu banco de casos e na correta indexação dos problemas. Um sistema de RBC somente será
eficiente ao conseguir aprender através de experiências passadas e a correta indexação dos
problemas.
Para que um sistema de RBC tenha a capacidade de aprender, ele deve possuir habilidade de
identificar o que deve conhecer e processar essa informação logo que a mesma esteja disponível
(FERNANDES; MIRANDA; SANTOS, 2005).
Segundo Balbinotti (2006), a aprendizagem de um sistema se dá com o acúmulo de novas
experiências no banco de casos, tornando-o mais eficiente com o tempo.
32
Conforme Wangenheim e Wangenheim (2003), a fase de aprendizado pode ser vista como
um processo de melhora do desempenho do sistema de RBC. Destacam-se basicamente três tipos de
aprendizagem:
• Sem retenção de casos: onde o sistema desconsidera a inclusão automática de novos
conhecimentos a base de casos;
• Retenção de soluções de problemas: forma típica de aprendizado em RBC. Aquela que
integra o processo de solução de novos problemas. Assim um novo problema é resolvido e a
experiência é retida de forma a auxiliar na solução de problemas similares no futuro; e
• Retenção de documentos: é quando o conhecimento é adquirido de forma assíncrona ao
processo de solução problemas. Assim o conhecimento é adquirido de forma independente
da operação do sistema, como, por exemplo, documentos em um sistema de gerência do
conhecimento.
Para Balbinotti (2006), quanto maior o número de casos na memória de um RBC, maior será
a amplitude de cobertura ao problema.
3. DESE�VOLVIME�TO
Este trabalho é uma aplicação que utiliza a técnica de RBC para realizar a avaliação dos
sintomas relatados ou identificados no paciente, facilitando a escolha do tratamento mais adequado
e uma base de conhecimento acessível através da internet.
O sistema foi desenvolvido utilizando a ferramenta PHP com o banco de dados PostgreSQL
e na fase de projeto foram utilizadas as ferramentas JUDE para realização dos diagramas UML e
DBDesigner para o diagrama ER. O motivo pela escolhas dessas duas ferramentas se deu devido a
facilidade de acesso e, principalmente, devido a forma de distribuição que ambas possuem, sendo
elas distribuídas para o uso como softwares livre.
Através da UML (Unified Modeling Language), linguagem utilizada para desenvolver os
diagramas e o software JUDE, foram implementados os diagramas de casos de uso e os diagramas
de atividades.
Um dos momentos mais importantes no desenvolvimento é a determinação das variáveis que
irão compor o sistema, durante as conversas que foram feitas com os profissionais, tentou-se
levantar os principais pontos de uma consulta o que os médicos buscavam durante a conversa com
seus pacientes.
Nessa busca constatou-se que cada médico possui uma forma particular de analisar cada
paciente, e esta é aperfeiçoada constantemente com o passar do tempo buscando uma melhor forma
de entender cada paciente que o profissional consulta.
Alem desta forma pessoal de analise, existem um número muito grande de variáveis que não
possuem uma forma de resposta linear, podendo as respostas nunca se repetir entre pacientes.
Tornando assim muito difícil e complexa a seleção de variáveis para um sistema como o proposto.
Porem um ponto muito importante e o mais decisivo é o fato que o modo com que o RBC
trabalha, fere uma das principais leis da medicina homeopática fazendo com que o sistema não
fosse aceito pelos profissionais e inviabilizando seu uso.
34
Neste ponto foi feita a opção por alterar o foco principal do projeto, deixando de lado a
homeopatia e focando o processo completo do RBC.
Desta forma foi considerado cada sintoma como sendo uma variável do sistema, através da
métrica de similaridade contagem de características os sintomas selecionados são contabilizados e
gerado um valor de similaridade com o caso atualmente em comparação.
Resultando após este processo uma listagem em ordem decrescente dos medicamentos mais
similares em relação ao caso de entrada.
Este sistema disponibilizará uma interface para que o homeopata possa fazer a
repertorização e a devida prescrição do tratamento. O acesso do sistema via internet possibilitará
que o médico tenha acesso às informações de qualquer computador com conexão a internet,
conforme demonstrado na Figura 8.
Paciente
W. W. W.
Administrador
Homeopata Homeopata Homeopata
Paciente Paciente
Servidor
Figura 8. Visão macro do sistema
35
A Figura 9 apresenta a interface via web onde, após a entrada dos sintomas e a
repertorização, o sistema irá apresentar ao homeopata os casos mais similares que foram
recuperados da base de conhecimento, possibilitando que o médico escolha qual será o caso que irá
servir de base para o tratamento do paciente que está sendo estudado no momento.
3.1 Análise de Requisitos
Os requisitos detalhados a seguir atendem ao objetivo do presente trabalho.
3.1.1 Requisitos Funcionais
Requisitos funcionais são declarações de funções de como o sistema deve reagir a entradas
específicas e como deve comportar-se em determinadas situações. É uma interação entre o sistema e
o seu ambiente. Algumas vezes, os requisitos funcionais podem também explicitamente declarar o
que o sistema não deve fazer.
Homeopata
RBC
Base de Casos
Escolha do Tratamento
Entrada de Sintomas
Casos Semelhantes
Interface
Figura 9. Projeto visão do homeopata
36
• RF01. O sistema deve permitir o cadastro de médicos;
• RF02. O sistema deve permitir o cadastro de pacientes;
• RF03. O sistema deve possuir um módulo administrador para cadastro de usuários
autorizados à utilização;
• RF04. O sistema deve permitir a entrada dos sintomas do paciente;
• RF05. O sistema deve realizar a repertorização utilizando a técnica (RBC);
• RF06. O sistema deve permitir a alteração do caso selecionado pelo médico; e
• RF07. O sistema deve permitir que o caso alterado após a repertorização seja salvo como um
novo caso.
3.1.2 Requisitos �ão Funcionais
Requisitos não funcionais definem as propriedades e restrições do sistema, como por
exemplo: confiabilidade, tempo de resposta e requisitos de armazenamento. Requisitos não
funcionais podem ser mais críticos que requisitos funcionais. Se eles não forem satisfeitos, o
sistema pode ser inútil.
• RNF01. O sistema operacional poderá ser qualquer um, dando prioridade para Windows 98,
XP e 2000;
• RNF02. O browser utilizado deve ser o Internet Explorer 5.0 ou superior;
• RNF03. O banco de dados utilizado será o PostgreSQL;
• RNF04. Apache como servidor;
• RNF05. O sistema deve permitir o acesso somente a usuários devidamente cadastrados; e
• RNF06. O sistema deve permitir navegação via browser.
3.1.3 Regras de �egócio
Basicamente, uma regra de negócio é uma sentença compacta a respeito de um aspecto do
negócio. É uma restrição, no sentido de que ela estabelece o que tem de ser o caso ou o que tem de
não ser o caso.
37
• RN01. O médico só pode realizar a repertorização através do sistema se estiver devidamente cadastrado;
• RN02. É necessário realizar uma nova repertorização caso seja alterado ou acrescentado um novo sintoma;
• RN03. Os casos salvos na base não devem possuir informações sobre o médico que cadastrou o caso; e
• RN04. Para que seja feita a repertorização para um paciente, é necessário que o mesmo esteja devidamente cadastrado.
3.2 Modelagem do sistema
A seguir é apresentada a modelagem do sistema, contendo os principais diagramas que
foram utilizados.
3.2.1 Diagrama de casos de uso
O diagrama de Caso de Uso (Use Case) descreve um cenário principal (perfeito) e cenários
alternativos, com o objetivo de demonstrar o comportamento de um sistema (ou parte dele), através
de interações com atores (MELO, 2004).
A Figura 10 apresenta os principais casos de uso do sistema. Onde o UC.01.01 Cadastrar e
Alterar Pacientes permite que o usuário, médico homeopata, possa cadastrar seus pacientes e alterar
informações do mesmo. O UC.01.02 Repertorização, é onde o usuário seleciona os valores para as
variáveis do sistema, informando quais os sintomas que o paciente está relatando ou o médico está
observando. UC.01.03 Buscar Casos Semelhantes, esta busca se dará através da técnica de RBC
(Raciocínio Baseado em Casos) propriamente dita, realizando a recuperação dos casos da base e
comparação de similaridade. UC.01.04 Selecionar Medicamento é o momento em que o médico
deve optar por um tratamento que o sistema oferece sem alterá-lo, ou optar por alterar o tratamento
realizando uma adaptação.
38
Os casos de uso da Figura 11 apresentam os casos para o pacote do administrador do
sistema. UC.02.01 Manter Usuários, permite ao administrador cadastrar, alterar e excluir usuários
que terão acesso ao sistema. UC.02.02 Enviar E-mail, envia um e-mail automaticamente para o
usuário que acaba de ser cadastrado, contendo seus dados e principalmente sua senha de acesso ao
sistema. UC.02.03 Manter Medicamentos, possibilita que o administrador mantenha a base sempre
atualizada em relação aos remédios existentes no mercado e suas descrições. UC.02.04 Manter
Pacientes, permite ao administrador controle os pacientes cadastrados pelos médicos mantendo uma
base limpa e organizada. UC.02.05 Manter Capítulos, permite a inclusão, alteração e exclusão dos
capítulos.
Figura 10. Diagrama de caso de uso [Acesso do homeopata ao sistema]
Figura 11. Diagrama de caso de uso [Administração do sistema]
39
3.2.2 Diagrama de Atividade
Diagramas de atividade capturam ações e seus resultados. Eles focam o trabalho executado
na implementação de uma operação (método), e suas atividades numa instância de um objeto. O
diagrama de atividade é uma variação do diagrama de estado e possui um propósito um pouco
diferente do mesmo, que é o de capturar ações (trabalho e atividades que serão executados) e seus
resultados em termos das mudanças de estados dos objetos (MELO, 2004).
Segundo Melo (2004), um diagrama de atividade é uma maneira alternativa de se mostrar
interações, com a possibilidade de expressar como as ações são executadas, o que elas fazem
(mudanças dos estados dos objetos), quando elas são executadas (seqüência das ações), e onde elas
acontecem (swimlanes).
O diagrama de atividade da Figura 12, representa a interação do caso de uso UC.01.01, onde
o sistema lista todos os pacientes cadastrados pelo médico logado no momento, e o médico opta por
uma simples consulta, uma alteração dos dados cadastrais, ou a inclusão de um novo paciente.
Figura 12. Diagrama de atividade do caso de uso UC.01.01 – Manter paciente - Médico
40
No diagrama da Figura 13, são representados os casos de uso UC.01.02 e UC.01.03 para a
repertorização. Considerando que o médico homeopata tenha selecionado um paciente e os
sintomas desejados, o mesmo solicita que seja realizado a repertorização, o sistema acessa a base de
casos para recuperar os casos similares retornando a quantidade de casos similares definido. Ao
selecionar um caso, resultado da repertorização, o sistema apresenta as informações completas do
tratamento para que este possa ser alterado, caso o profissional homeopata julgar necessário e
conseqüentemente, permitir que o mesmo seja salvo como um novo conhecimento, conforme
detalha a Figura 14.
Figura 13. Diagrama de atividade dos casos de uso U.C.01.02 e U.C.01.03 – Repertorização
41
A Figura 15 apresenta o diagrama de atividade do caso de uso UC.02.01, onde são listados
todos os usuários cadastrados no sistema, o administrador pode excluir, alterar ou cadastrar um
novo usuário. Ao cadastrar um novo usuário, quando o sistema executa a ação de salvar as
informações no banco, um e-mail é enviado para o usuário automaticamente com as informações
que acabam de ser cadastradas e com uma senha de acesso.
Figura 14. Diagrama de atividade do caso de uso U.C.01.04 – Selecionar tratamento
42
O diagrama de atividade apresentado na Figura 16 traz o caso de uso UC.02.03 onde o
sistema lista para o administrador todos os medicamentos cadastrados na base de dados, este poderá
optar por consultar o próprio nome do medicamento ou seus detalhes, a exclusão de um
medicamento ou o cadastro de um novo medicamento.
Figura 15. Diagrama de atividade do caso de uso UC.02.01 – Manter usuário
43
O diagrama de atividade UC.02.04 é muito semelhante ao diagrama do médico, porem o
administrador alem de poder incluir e alterar pacientes, pode excluir um paciente do sistema. Assim
segue o mesmo funcionamento do diagrama UC.01.01, com a opção de exclusão, onde será
necessário uma confirmação para que o paciente seja efetivamente excluído, conforme demonstrado
na Figura 17.
Figura 16. Diagrama de atividade do caso de uso UC.02.03 – Manter medicamentos
44
A Figura 18 apresenta o diagrama de atividade UC.02.05 – Manter capítulos, que apresenta
uma listagem de todos os capítulos cadastrados pelo administrador e este, por sua vez, opta por
consultar, alterar o capítulo, excluir o mesmo ou realizar o cadastramento de um novo capítulo.
Figura 17. Diagrama de atividade do caso de uso UC.02.04 - Manter Pacientes - Administrador
45
3.3 Telas do Sistema
Nesta seção serão apresentadas todas as telas do sistema. Serão apresentas as telas para o
módulo do médico e logo após, a tela equivalente para o módulo do administrador, caso exista
Primeiramente serão apresentadas as telas de consultas e cadastros, prosseguindo para as principais
telas que fazem parte do escopo principal do sistema. Neste momento as telas irão seguir uma
ordem lógica apresentando o objetivo principal do projeto a repertorização.
Figura 18. Diagrama de atividade do caso de uso UC.02.05 - Manter Capítulos
46
A Figura 19 apresenta a tela inicial do sistema, que permite o dos acesso aos usuários. Nesta
tela é feito o login ao sistema pelos usuários devidamente cadastrados pelo administrador.
A Figura 20 mostra a tela principal para o módulo do médico, onde é apresentado um menu
com todas as opções que o médico possui acima. Logo abaixo, um menu é disponibilizado com a
opção de alteração de senha e informações sobre o usuário logado.
Figura 19. Tela de Acesso ao Sistema
Figura 20. Menu principal - Modulo médico
47
A tela que compõe o menu principal do módulo administrador é praticamente idêntica,
sofrendo uma alteração no item repertorização, o qual o administrador não possui acesso. Este é
substituído pela opção usuários na qual é feita a manutenção dos usuários que acessam o sistema.
Através dos capítulos é que se pode manter o controle de que tipos de sintomas o sistema
contempla, assim o médico ao acessar o sistema terá em seu menu a possibilidade de consultar
quais capítulos o sistema está atualmente contemplando, conforme é apresentado na Figura 21.
Já no módulo do administrador são disponibilizadas opções para realizar a manutenção dos
capítulos como alteração, exclusão ou inclusão de um novo capítulo, conforme apresentado na
Figura 22 e Figura 23.
Figura 21. Manter Capítulos - Módulo Médico
48
O médico pode consultar e visualizar seus detalhes ou características, porém não é permitido
que o médico realize qualquer manutenção sobre eles. A Figura 24 e Figura 25 apresentam
respectivamente, uma listagem de medicamentos na visão do médico e a consulta aos detalhes de
um determinado medicamento.
Figura 22. Manter Capítulos - Módulo Administrador
Figura 23. Inclusão de novo Capítulo
49
Para o acesso de um administrador, a coluna excluir é disponibilizada e no final da página é
acrescentada uma opção para inclusão de novo medicamento. No cadastro, o usuário seleciona qual
o capítulo onde o medicamento será utilizado. No caso de ser utilizado, caso seja mais de um
capítulo, será necessário que se faça o cadastro quantas vezes forem necessárias apontando a cada
nova inclusão o capítulo referente. A Figura 26 traz a tela de cadastro do medicamento.
Figura 24. Listagem Medicamentos - Módulo Médico
50
Figura 25. Visualização dos detalhes do Medicamento
Figura 26. Novo Medicamento
51
Para a realização da repertorização, é necessário que o paciente esteja devidamente
cadastrado no sistema, para isso cada homeopata poderá cadastrar e manter seus pacientes, porém
não poderá removê-los do sistema. O único que possui privilégios para exclusão de um paciente é o
administrador. Este tem acesso total para manutenção dos pacientes podendo alterar e excluir
pacientes de qualquer outro usuário.
Na Figura 27 é demonstrada a tela de consulta dos pacientes para o módulo do
administrador. A diferença para o módulo do médico é é o fato de não possuir acesso.
A tela de inclusão e alteração de pacientes é a mesma diferenciando apenas se virá em
branco para inclusão ou com informações do paciente para alteração. Os módulos do administrador
e dos médicos não apresentam alterações sendo exatamente iguais. Na Figura 28 é demonstrada a
tela de alteração de um paciente.
Figura 27. Manter Paciente
52
Todos os sintomas do sistema estão disponíveis para consulta tanto para o administrador
quanto para o médico, o sistema ainda permite que se realizem consultas de sintomas em um
capítulo específico, conforme Figura 29.
Figura 28. Alteração de um paciente
53
A repertorização é o foco principal deste projeto. Ela está disponível apenas para os
médicos, assim o administrador do sistema não poderá realizar este processo. É no processo de
repertorização que o sistema irá utilizar a técnica de RBC para obtenção dos casos mais similares.
Neste momento, o sistema possui uma seqüência que se inicia com a escolha do paciente para o
processo, Figura 30.
Figura 29. Listagem de Sintomas
54
Com o paciente selecionado, inicia-se a seleção dos sintomas. É apresentada uma lista de
sintomas e conforme a seleção ocorre, é gerada uma listagem mais abaixo dos sintomas
selecionados. Nesta mesma tela é inserido no programa o limiar de recuperação, o qual serve como
base para recuperação dos casos similares apresentando como resultado somente os casos que
ficarem acima deste valor, como demonstrado na Figura 31.
Figura 30. Seleção de Pacientes
55
Figura 31. Repertorização seleção de sintomas
56
Após a realização desta seqüência de passos, chega-se ao resultado do sistema, onde será
apresentado o nome do medicamento com a porcentagem de similaridade que ele obteve. O médico
pode optar por uma das sugestões do sistema ou pode selecionar manualmente em uma listagem
completa um medicamento ao seu gosto. A tela de resultado é apresentada na Figura 32.
Também é possível na tela de resultado retornar para a seleção de sintomas para acrescentar
ou remover sintomas e assim realizar novamente a repertorização com uma nova seleção de
sintomas. Quando um medicamento é selecionado, seja através da sugestão do sistema ou pela
seleção manual o sistema apresenta uma confirmação com informações do paciente selecionado, os
sintomas na qual a repertorização foi feita e detalhes sobre o medicamento escolhido.
Após finalizar o processo na tela de confirmação o sistema retorna ao menu principal do
módulo logado, permitindo que o usuário realize uma nova repertorização ou selecione qualquer
outra opção disponível, neste ponto o sistema grava o caso como um novo conhecimento. A tela de
confirmação da repertorização é apresentada na Figura 33.
Figura 32. Resultado da repertorização
57
O algoritmo de RBC implementado se baseia nas variáveis selecionadas pelo médico, no
caso de entrada estabelecendo esta seleção como a maior possibilidade de compatibilidade
existente. Esta implementação se deve ao fato que ao considerar todas as variáveis possíveis
independente da quantidade selecionada pelo médico e cálculo geraria um valor de similaridade
muito baixo, pois o número total de variáveis possíveis é muito alto.
3.4 Modelagem do bando de dados
A modelagem do diagrama ER (Entidade Relacionamento) é apresentada na Figura 34,
foram mapeadas as entidades baseando-se nos atributos que fazem parte do projeto físico do banco
de dados. As principais entidades são Paciente, Usuários, Medicamentos, Sintomas, Casos e
Capítulos, sendo que cada paciente poderá ter varias consultas e que cada uma utilizará o mesmo
cadastro existente, porem gerando sempre ao final da consulta um novo conhecimento.
Figura 33. Confirmação da repertorização
58
Figura 34. Modelo ER
59
3.5 Testes
Para a realização dos testes a idéia inicial era contar com o auxilio de um profissional da
aérea, este utilizaria o sistema e pudesse realizar uma análise crítica sobre a forma que o projeto foi
concebido, suas funcionalidades e seus processos.
Porem com a mudança do foco que este projeto passou a ter, onde a homeopatia passou para
um segundo plano e o RBC entrou como novo objetivo, as tentativas de encontrar algum
profissional disposto a colaborar para a realização dos testes não tiveram sucesso.
Para poder realizar os testes do sistema desenvolvido faz-se necessário que a base de casos
possua certa quantidade de registros ou conhecimento, seguindo a idéia comentada anteriormente
foram realizadas varias conversas buscando a ajuda de um profissional para o auxilio no
preenchimento de casos.
Esta busca também não teve sucesso pois nenhum profissional se dispôs a ceder informações
sobre casos, tão pouco a auxiliar no preenchimento de alguns casos. Assim os testes tiveram de
tomar um novo rumo sendo totalmente criados e executados sobre informações fictícias.
Através de uma ferramenta versão demonstração obtida através da internet, disponível para
qualquer pessoa utilizar muito usada pelos profissionais entrevistados e muito bem recomendada
pelos mesmos, foi realizado a cargo da base de dados da seguinte forma.
O processo de repertorização era executado no software demonstração e as informações
sobre sintomas e resultados eram copiados para o banco, os sintomas eram selecionados de forma
alheatória porem, o resultado era gerado pelo sistema demonstração trazendo o medicamento como
se fosse uma consulta e o paciente estivesse realmente com os sintomas que foram entrados no
sistema.
Desta forma buscou-se manter ao máximo a veracidade dos casos na base para a execução
dos testes.
60
Os testes em si foram feitos de forma inversa, com a seleção dos sintomas aleatoriamente
com a obtenção da(s) sugestão(ões) que o sistema gerada era feita a verificação no sistema
demonstração. Tendo o máximo cuidado para não haver um direcionamento das repertorizações
realizadas.
Através deste procedimento foi possível constatar que o software desenvolvido responde de
forma muito precisa, sugerindo na grande maioria dos testes o medicamento correto entre as 5
primeiras sugestões do sistema. Também constatou-se que quanto maior a quantidade de casos
armazenadas na base de conhecimento maior será a precisão do sistema desenvolvido.
61
4. CO�CLUSÕES
Desenvolver uma ferramenta que proporcione uma melhora nos métodos utilizados
atualmente na medicina homeopática, para obtenção do medicamento a ser prescrito como
tratamento ao paciente, e para isto, utilizando meios de acesso mais convencionais e populares
como a internet. Este meio está disponibilizado atualmente ao alcance de qualquer pessoa nas mais
remotas localidades obtendo um sistema acessível em praticamente qualquer lugar do mundo,
aliado a utilização de uma técnica de Inteligência Artificial denominada RBC. Estes são os
objetivos deste trabalho, que através de uma interface amigável, procura acrescentar um grande
diferencial em relação a outras ferramentas pesquisadas do mercado.
Os testes do sistema foram realizados em cima de uma base de casos em torno de 50
registros, todos eles retirados de uma ferramenta similar existente atualmente no mercado. Os testes
realizados obedeceram aos caminhos lógicos para o acesso do profissional médico homeopata e do
administrador do sistema, desta forma percorrendo todas as funcionalidades oferecidas para cada
tipo de usuário. Constatou-se que a ferramenta encontra-se muito estável sem apresentar erros,
porém persistindo o problema da configuração do servidor de smtp para o envio de e-mails para os
médicos.
Durante os testes realizados constatou-se que a interface disponibilizada permite a realização
da repertorização além da inclusão e manutenção de pacientes e algumas consultas para o módulo
de acesso do médico homeopata. Para o acesso do administrador do sistema, a ferramenta
disponibiliza uma interface que permite a manutenção dos usuários, pacientes, capítulos e
medicamentos, com acesso a consulta de sintomas, porem impossibilitando o administrador de
realizar a repertorização.
Com base nos testes e na interface criada para o acesso à ferramenta, possibilitando que os
usuários do sistema realizem tudo que foi proposto no planejamento do projeto, demonstra que
todos os pré-requisitos do sistema foram alcançados.
No decorrer do desenvolvimento do projeto, uma das maiores dificuldades foi à descoberta
que a técnica escolhida para implementação do sistema não refletia a realidade do processo de
repertorização. Esta descoberta veio após longas conversas com 4 profissionais do ramo onde
62
constatou-se que no processo utilizado pela técnica de RBC para a obtenção do resultado estaria
ferindo uma das leis da homeopatia, e sendo assim tornando-se inaceitável para os profissionais.
Uma das quatro leis da homeopatia fala sobre a lei do medicamento único, onde cada individuo é
único, desta forma tendo um software que trata cada paciente igualmente estaria ferindo esta lei.
Partindo deste ponto o projeto ganhou um novo foco para que todo o trabalho já realizado não se
perdesse. O que antes se buscava uma união entre a medicina e a tecnologia para oferecer uma
forma mais fácil e rápida de obter um tratamento passou a ter um novo foco e agora visa o estudo, a
pesquisa e o aprofundamento dos conhecimentos na técnica proposta fugindo da realidade
homeopática e oferecendo uma ferramenta em que o algoritmo de RBC funcione perfeitamente.
Este trabalho serve de ponto de partida para diversos trabalhos futuros nesta área, desde a
busca da técnica ideal para o objetivo proposto aqui, até a utilização desta técnica nas diversas
ramificações que existem na homeopatia. Outros itens que não fizeram parte do objetivo principal
deste trabalho também podem ser mais bem explorados, como, um melhor suporte ao cadastro e
históricos de pacientes, uma forma mais dinâmica de implementação do banco de dados, um
número maior de opções para a prescrição do tratamento entre muitos outros detalhes.
63
REFERÊ�CIAS BIBLIOGRÁFICAS
BALBINOTI, A. M. Sistema de informações baseado em sistemas especialista e raciocínio baseado em casos para auxiliar na prática desportiva na Univali. 2006, 154 p. Trabalho de conclusão de curso (Graduação) – Curso de Ciências da Computação, Universidade do Vale de Itajaí, Itajaí, 2006.
BAROLLO, C. R. Aos que se tratam pela homeopatia. São Paulo: Typus, 7ª ed., 1995.
BITTENCOURT, E. Sistema de raciocínio baseado em casos para identificação de cetáceos. 2003, 86 p. Trabalho de conclusão de curso (Graduação) – Curso de ciências da Computação, Universidade do Vale de Itajaí, Itajaí, 2003.
CALLINAN, P. Homeopatia para sua família. Rio de Janeiro: Nova era, 1995.
FERNANDES, A. M. R. Inteligência Artificial: noções gerais. 2. ed. Florianópolis: VisualBooks, 2005.
HomeoPro. Rio de Janeiro. Disponível em: <http://www.homeopatiaonline.com/homeopro.htm>. Acesso em: 10 abr. 2007.
KASTER, D. S.; MEDEIROS, C. B.; ROCHA, H. V. Aplicação de Raciocínio Baseado em Casos a Sistemas de Apoio a Decisão Ambiental. Anais publicados em 2000. Disponível em <http://www.tecgraf.puc-rio.br/geoinfo2000/anais/010.pdf>. Acesso em: 11 mar. 2007.
KOLODNER, Janet. Case-Based Reasoning. San Mateo: Morgan Kaufmann, 1993.
LUGER, George F. Inteligência Artificial: estruturas e estratégias para a solução de problemas complexos. 4. ed. Porto Alegre: Bookman, 2004.
MELO, A. C. Desenvolvendo aplicações com UML. 2. ed. Rio de Janeiro: Brasport, 2004.
MERCIER; L. Homeopatia: princípios básicos. São Paulo: Andrei, 1987.
MIOTTO, M. Programação alimentar utilizando RBC. 2006, 116 p. Trabalho de conclusão de curso (Graduação) – Curso de ciências da Computação, Universidade do Vale de Itajaí, Itajaí, 2006.
MIRANDA, E. M.; SANTOS, F. G. Raciocínio Baseado em Casos. In: FERNANDES, A. M. R. Inteligência Artificial: noções gerais. 2. ed. Florianópolis: VisualBooks, 2005. p.27-55.
Repertorium Homeopathicum Digital II. 1999. Disponível em: <http://homeoint.org/digital/portapres.htm>. Acesso em: 10 abr. 2007.
64
RIBEIRO; M. A. C. História da homeopatia no Brasil. Disponível em <www.amhb.org.br/Historia%20da%20Homeopatia%20no%20Brasil.pdf>. Acesso em: 19 fev. 2007.
ROSENBAUM; P. Homeopatia medicina sob medida. São Paulo: Pubfolha, 2005.
SANTOS, F. G. Audio-In. In: FERNANDES, A. M. R. Inteligência Artificial: aplicada à saúde. Florianópolis: Visual Books, 2004. p.65-86.
SCHEMBRI, J. Conheça a homeopatia. Belo Horizante: Zoroastro Augusto Schembri, 3ª ed., 1992.
THÉ, M. A. L. Raciocínio baseado em casos uma abordagem fuzzy para diagnóstico nutricional. 2001, 170p. Tese (doutorado) – Programa de pós-graduação em engenharia de produção, Universidade Federal de Santa Catarina, Florianópolis, 2001.
VON WANGENHEIM, Christiane Gresse; VON WANGENHEIM, Aldo. Raciocínio Baseado em Casos. Barueri: Manole, 2003.