Departamento de Ciˆ encia da Computa¸ c˜ ao Instituto de Matem´ atica e Estat´ıstica
Universidade de S˜ ao Paulo
Rodrigo M¨ uller de Carvalho
Implementa¸ c˜ ao de um Framework de Banco de Dados para Apoio ao Projeto e Aplica¸ c˜ ao de Question´ arios
Complexos em Entrevistas Dinˆ amicas
Trabalho de Formatura Supervisionado Supervisores: Prof. Dr. Jo˜ ao Eduardo Ferreira
Prof. Dra. Ariane Machado Lima
S˜ao Paulo, 02 de dezembro de 2013
Resumo
Carvalho, R. M.Implementa¸c˜ao de um Framework de Banco de Dados para Apoio ao Projeto e Aplica¸c˜ao de Question´arios Complexos em Entrevistas Dinˆamicas.
Monografia - Instituto de Matem´atica e Estat´ıstica, Universidade de S˜ao Paulo, S˜ao Paulo, 2013.
Uma entrevista diagn´ostica ´e uma se¸c˜ao de perguntas e respostas entre profissionais treinados e pessoas sendo investigadas em rela¸c˜ao `a presen¸ca ou n˜ao de crit´erios de doen-
¸cas. Entrevistas estruturadas e semi-estruturadas s˜ao utilizadas por v´arios motivos, desde processos de sele¸c˜ao de recursos humanos para vagas de emprego at´e estudos cl´ınicos e epi- demiol´ogicos. Na ´area de pesquisa em sa´ude, especialmente na ´area de pesquisa em sa´ude mental, h´a um amplo uso destas entrevistas, apresentando um desafio diferente, j´a que na uti- liza¸c˜ao de um m´etodo aberto ´e dif´ıcil seguir um padr˜ao deixando espa¸co para interpreta¸c˜oes pessoais, baixa confiabilidade e confus˜ao conceitual. A maneira encontrada para contornar esses problemas foi a cria¸c˜ao de crit´erios operacionais que unifiquem termos e conceitos. Em psiquiatria a entrevista Structured Clinical Interview for DSM Disorders – SCID ´e ampla- mente utilizada e ´e caracterizada pela cobertura de um crit´erio operacional e por um grafo complexo de perguntas. A investiga¸c˜ao de uma desordem psiqui´atrica para um indiv´ıduo ´e um dos caminhos poss´ıveis deste grafo, e cada passo deste caminho ´e dinamicamente gerado pelas respostas dadas.
Este trabalho desenvolve um framework de banco de dados chamadoDynamic Interview Database – DIDB, que permite a cria¸c˜ao, manuten¸c˜ao e versionamento de question´arios e a realiza¸c˜ao destas entrevistas de acordo com suas estruturas internas, possivelmente com- plexas, com a utiliza¸c˜ao de modelagem de banco de dados com alto n´ıvel de abstra¸c˜ao e conceitos de transa¸c˜oes longas. Mais concretamente, o DIDB deve apoiar entrevistas que s˜ao caracterizadas pela alta frequˆencia de atualiza¸c˜ao, n´umero grande de perguntas de alguns tipos e muitos caminhos poss´ıveis destas perguntas baseados nas suas respostas.
Sum´ ario
1 Introdu¸c˜ao 1
2 Trabalhos Relacionados 3
2.1 Projeto de meta-question´ario e dinamismo do question´ario . . . 3
2.2 Re´uso de perguntas . . . 4
2.3 Gerenciamento de m´odulos . . . 5
2.4 Disponibilidade . . . 5
2.5 Localiza¸c˜ao da armazenagem dos dados . . . 5
2.6 Controle de acesso . . . 5
3 Conceitos Fundamentais 7 4 Implementa¸c˜ao 9 4.1 Meta-question´ario . . . 9
4.1.1 M´odulos . . . 9
4.1.2 Elementos . . . 9
4.1.3 Controle de fluxo . . . 12
4.1.4 Pergunta alternativa autom´atica . . . 14
4.1.5 Pergunta score autom´atico . . . 14
4.2 Instancia¸c˜ao do question´ario . . . 15
4.3 Ambiente de desenvolvimento do DIDB . . . 15
5 Estudo de Caso 17 5.1 Atividades . . . 19 6 Rela¸c˜ao da Experiˆencia Obtida no Trabalho com o Curso 20
7 Resultados 21
8 Conclus˜ao 22
Lista de Figuras
1 Resumo do modelo conceitual do DIDB mostrando a modelagem do questio- n´ario e seus elementos, s˜ao omitidos algumas entidades para melhor visualiza¸c˜ao. 12 2 Resumo do modelo conceitual do DIDB mostrando a agrega¸c˜ao info-pulo. S˜ao
omitidos atributos e heran¸cas para melhor visualiza¸c˜ao. . . 13 3 Resumo do modelo conceitual do DIDB mostrando a agrega¸c˜ao info-alternativa-
autom´atica. S˜ao omitidos atributos e heran¸cas para melhor visualiza¸c˜ao. . . 14 4 Resumo do modelo conceitual do DIDB mostrando a agrega¸c˜ao info-score-
autom´atico. S˜ao omitidos atributos e heran¸cas para melhor visualiza¸c˜ao. . . 15 5 Resumo dos desvios encontrados no SCID . . . 18
1 Introdu¸ c˜ ao
Na ´area de sa´ude mental s˜ao amplamente utilizadas entrevistas diagn´osticas que s˜ao se¸c˜oes de perguntas e respostas entre profissionais treinados e pessoas sendo investigadas em rela¸c˜ao `a presen¸ca ou n˜ao de crit´erios de doen¸cas. Isso porque as respostas verbais de indiv´ıduos s˜ao medidos por meio de v´arios m´etodos psiquiom´etricos associados com as perguntas realizadas [WA11] apoiados em um crit´erio operacional que unifica termos e conceitos[APA12][WHO92]. Essa cobertura fornece uma padroniza¸c˜ao que diminui as in- terpreta¸c˜oes pessoais, confus˜oes conceituais e aumenta a confiabilidade de um diagn´ostico e a confiabilidade de dados para pesquisas posteriores.
Uma entrevista ent˜ao ´e a aplica¸c˜ao de um question´ario pelo profissional em uma pessoa sendo entrevistada. Esses question´arios variam em rela¸c˜ao `a sua estrutura desde os que devem ser respondidos da primeira `a ´ultima at´e os que s˜ao caracterizados por um grafo complexo de perguntas conectadas por uma ordem pr´e-fixada mas podendo ser alterada por pulos internos em qualquer sentido, para frente ou para tr´as, que dependem das respostas anteriores. Dependendo do objetivo, as entrevistas ainda podem ser realizadas com a mesma pessoa algumas vezes.
O Instituto de Psiquiatria da USP e o grupo de banco de dados do IME – USP assumiram o desafio de criar uma ferramenta automatizada para realizar tais entrevistas com o objetivo de apoiar de forma mais confi´avel diagn´osticos e pesquisa em psiquiatria, facilitar a recupe- ra¸c˜ao de dados para an´alises estat´ısticas, por meio do armazenamento das respostas em um sistema de banco de dados, identifica¸c˜ao de padr˜oes nas pesquisas realizadas e mostrar as perguntas em uma interface gr´afica padronizada em um sistema acess´ıvel pela Internet.
A complexidade da estrutura dos question´arios apresenta um grande desafio para a ´area de modelagem de banco de dados, especialmente quando as entrevistas s˜ao implementadas com o aux´ılio de computadores. O framework Dynamic Interview Database – DIDB desen- volvido neste trabalho de formatura supervisionado ´e umframework de banco de dados que permite a cria¸c˜ao, manuten¸c˜ao e versionamento de question´arios assim como a execu¸c˜ao de tais entrevistas seguindo suas estruturas internas possivelmente complexas. O DIDB possui dois modos importantes: edi¸c˜ao de question´ario e resposta. No modo de edi¸c˜ao, question´a- rios podem ser criados e editados utilizando diferentes tipos de elementos: alertas, pulos, planilhas e perguntas, que dependem do tipo de resposta esperada: num´erica, texto, data, escolha simples/m´ultipla e autom´atica.
O modo de resposta ´e automaticamente gerado pela informa¸c˜ao armazenada no modo de edi¸c˜ao e nesse modo um question´ario escolhido ´e executado e respondido e as respostas s˜ao armazenadas para este entrevistado espec´ıfico. Baseado nas respostas, o framework segue o fluxo de perguntas definido para este question´ario e, al´em disso, o DIDB gerencia a vers˜ao dos question´arios e o hist´orico de entrevistas para cada entrevistado. Finalmente, um controle de acesso gerencia quais usu´arios podem criar, editar question´arios ou realizar entrevistas. Com estas funcionalidades o DIDB ´e capaz de atender as demandas principais de question´arios com estruturas complexas em estudos baseados em entrevistas.
No cap´ıtulo 2, s˜ao caracterizadas e delimitadas as solu¸c˜oes de ferramentas que realizam os mesmos desafios desse trabalho. Os conceitos fundamentais s˜ao apresentados no cap´ıtulo 3. Os detalhes da modelagem, regras de de projeto de question´ario e tecnologias utilizadas s˜ao detalhadas no cap´ıtulo 4. O estudo de caso do projeto de um question´ario complexo e as atividades realizadas pelos participantes do projeto s˜ao descritos no cap´ıtulo 5. Os desafios e frustra¸c˜oes encontrados, lista das disciplinas cursadas no BCC mais relevantes para o trabalho, a rela¸c˜ao da experiˆencia obtida no trabalho com o curso e que passos o aluno tomaria para aprimorar os conhecimentos relevantes para esta atividade, se o aluno
fosse continuar atuando na ´area em que realizou o trabalho s˜ao descritos no cap´ıtulo 6. Os resultados obtidos por esse trabalho s˜ao mostrados no cap´ıtulo 7 e a conclus˜ao no cap´ıtulo 8.
2 Trabalhos Relacionados
Diferentes question´arios eletrˆonicos est˜ao amplamente dispon´ıveis, sendo utilizados para capturar dados e armazen´a-los em banco de dados ou outros formatos eletrˆonicos mais sim- ples [HHS+09, LSFA09, BSB+11]. Entretanto, especialmente quando algum dinamismo ´e necess´ario, a maioria deles s˜ao adaptados para uma entrevista espec´ıfica ou estudo de pes- quisa espec´ıfico. Ent˜ao, nessa abordagem n˜ao ´e poss´ıvel separar a fase de projeto (descri¸c˜ao do question´ario) e a fase de instancia¸c˜ao (aplica¸c˜ao do question´ario para uma pessoa ou pa- ciente espec´ıfico). Um exemplo emblem´atico em pesquisa psiqui´atrica ´e oComputer-Assisted SCID II System (CAS II ES) uma solu¸c˜ao comercial para realizar o dinamismo complexo do question´ario SCID-II [FGW+]. Entretanto, por ser espec´ıfico para esse question´ario, n˜ao
´
e uma solu¸c˜ao geral.
Para permitir a cria¸c˜ao de question´arios gerais, algumas ferramentas permitem o projeto de um meta-question´ario e instancia¸c˜oes posteriores em entrevistas. Algumas dessas ferra- mentas s˜ao para prop´ositos gerais, como LimeSurvey (http://www.limesurvey.org), SurveyMonkey (http://www.surveymonkey.com), Toluna Quicksurveys (https://
www.quicksurveys.com), Google Forms (www.google.com/drive), KwikSurveys (http://kwiksurveys.com), SurveyGizmo (http://www.surveygizmo.com) e Ques- tionPro (http://www.questionpro.com). Outras s˜ao mais adequadas para estudos cl´ınicos, como o Dados-Prospective [NSH+06] e REDCap (Research Electronic Data Cap- ture) [HTT+09]. Todos eles s˜ao ferramentas web. Nessa se¸c˜ao, n´os comparamos essas fer- ramentas com o DIDB levando em considera¸c˜ao algumas caracter´ısticas que consideramos importantes em um sistema para grupos de pesquisa que usam entrevistas cl´ınicas complexas:
projeto de meta-question´ario, dinamismo do question´ario, re´uso de perguntas, gerenciamento de m´odulos, disponibilidade, armazenamento de dados e controle de acesso.
2.1 Projeto de meta-question´ ario e dinamismo do question´ ario
O projeto de meta-question´ario ´e a defini¸c˜ao de perguntas, layout e a ordem de visuali- za¸c˜ao das perguntas de um question´ario espec´ıfico. Uma ferramenta desej´avel de projeto de meta-question´ario deve permitir a especifica¸c˜ao de diferentes tipos de perguntas e a defini¸c˜ao do dinamismo do question´ario. A disponibilidade de alguns tipos de perguntas deve permi- tir ao usu´ario definir o tipo de pergunta dependendo do tipo de resposta (num´erica, texto, sele¸c˜ao ´unica/m´ultipla, etc). A defini¸c˜ao do dinamismo do question´ario permite ao usu´ario especificar os v´arios caminhos (ordens das perguntas) que um question´ario pode apresentar, definindo o comportamento dinˆamico do question´ario. Todas as ferramentas dessa se¸c˜ao permitem a especifica¸c˜ao de alguns tipos de perguntas, a grande diferen¸ca entre elas ´e como implementam o comportamento dinˆamico do question´ario.
A DADOS-Prospective1 ´e uma ferramenta para coleta de dados de ensaios cl´ınicos. En- tretanto, nenhum dinamismo ´e permitido. O question´ario gerado ´e est´atico no sentido que todas as perguntas s˜ao sempre apresentadas na mesma ordem, pois n˜ao h´a uma maneira de criar dependˆencias entre perguntas baseadas nas suas respostas.
As ferramentas LimeSurvey e REDCap incorporam algum dinamismo durante a fase de projeto de question´ario. Ambas permitem definir uma condi¸c˜ao para uma pergunta espec´ıfica ser exibida no question´ario. Por exemplo, a pergunta “Qual a quantidade de bebiba alco´olica que vocˆe ingere?” ser´a mostrada somente se uma pergunta anterior “Vocˆe consome bebidas alco´olicas?” tiver sido respondida como “sim”. Entretanto, a solu¸c˜ao implementada por essas ferramentas ´e limitada a exibi¸c˜ao ou n˜ao de uma ´unica pergunta.
1Quando ferramenta ´e omitido para evitar redundˆancias ´e utilizado: Anome da ferramenta.
J´a as ferramentas SurveyMonkey, Toluna Quicksurveys, Google Forms e KwikSurveys implemetam l´ogica de ramifica¸c˜ao baseada em uma ´unica pergunta, um dinamismo mais poderoso do que um controle simples de visualiza¸c˜ao de perguntas. Esse tipo de l´ogica de ramifica¸c˜ao permite a um question´ario pular para uma pergunta diferente para cada alternativa poss´ıvel de uma pergunta de sele¸c˜ao ´unica. Entretanto, SurveyMonkey eToluna Quicksurveys n˜ao permitem pular para perguntas anteriores.
A l´ogica de ramifica¸c˜ao baseada em uma ´unica pergunta tem duas limita¸c˜oes: primeiro, a condi¸c˜ao de pulo ´e baseada na resposta de uma ´unica pergunta; segundo, o pulo ´e executado no momento que a pergunta ´e respondida. Ent˜ao, esse mecanismo n˜ao ´e adequado para projetar um question´ario que em pontos espec´ıficos, uma decis˜ao de qual caminho deve ser escolhido ´e baseado em mais que uma resposta anterior (n˜ao necessariamente envolvendo a pergunta imediatamente anterior).
Esse cen´ario necessita de uma “ramifica¸c˜ao postergada” baseado em algumas perguntas anteriores, que ´e implementado nas ferramentasSurveyGizmo eQuestionPro, mas com algu- mas ressalvas. NaSurveyGizmo, deve-se tomar algum cuidado para definir essa ramifica¸c˜ao corretamente. O question´ario ´e organizado em p´aginas, cada p´agina tendo uma ou mais perguntas e condi¸c˜oes de ramifica¸c˜ao postergadas. Os alvos dos pulos s˜ao p´aginas. Ent˜ao, deve ser realizada uma divis˜ao cuidadosa de perguntas e defini¸c˜oes das ramifica¸c˜oes entre p´aginas. Al´em disso, para cada ramifica¸c˜ao postergada, somente um alvo para o pulo pode ser definido quando a condi¸c˜ao de ramifica¸c˜ao ´e satisfeita. Se a condi¸c˜ao n˜ao ´e satisfeita, o question´ario segue para a pr´oxima pergunta. Na QuestionPro, a condi¸c˜ao de ramifica¸c˜ao postergada deve ser definida como parte da pergunta imediatamente anterior da pergunta alvo, mesmo que essa pergunta n˜ao esteja envolvida na condi¸c˜ao. Essa implementa¸c˜ao pode introduzir erros quando o meta-question´ario ´e editado, uma vez que uma mudan¸ca na posi-
¸c˜ao dessa pergunta ir´a tamb´em alterar a posi¸c˜ao da avalia¸c˜ao da condi¸c˜ao de ramifica¸c˜ao.
Al´em disso, a QuestionPro n˜ao permite pular para perguntas anteriores. Diferente da Sur- veyGizmo, dois alvos da ramifica¸c˜ao podem ser definidos: quando a condi¸c˜ao ´e satisfeita e quando n˜ao ´e. A implementa¸c˜ao de ramifica¸c˜oes postergadas de SurveyGizmo e Ques- tionPro tem duas limita¸c˜oes adicionais. Primeiro, n˜ao possuem condi¸c˜oes aninhadas onde alguns pares condi¸c˜ao/alvo s˜ao definidos e o fluxo se altera para o alvo da primeira condi¸c˜ao satisfeita. Segundo, condi¸c˜oes de ramifica¸c˜ao s˜ao somente baseadas em conjun¸c˜oes e disjun-
¸c˜oes l´ogicas de respostas dessas perguntas, n˜ao permitindo avalia¸c˜oes mais complexas tais como quantificadores multi-existenciais. Em l´ogica de predicados, o quantificador existen- cial ´e interpretado como “existe pelo menos um”. Aqui, n´os definimos o termo quantificador multi-existencial para significar “existe pelo menos um x”, onde x ´e um inteiro positivo. Em nosso conhecimento, nenhuma ferramenta dispon´ıvel permite essa funcionalidade.
O DIDB supera todas as limita¸c˜oes mencionadas implementando ramifica¸c˜ao postergada com condi¸c˜oes aninhadas, quantificadores multi-existenciais e permitindo pulos para pergun- tas anteriores. O “pulo” do DIDB ´e um elemento do meta-question´ario que tem uma posi¸c˜ao espec´ıfica (que indica o momento que deve ser avaliado) e permite m´ultiplos alvos poss´ıveis.
Cada alvo ´e um outro elemento de question´ario, n˜ao podendo ser um outro pulo.
2.2 Re´ uso de perguntas
O re´uso de perguntas permite ao usu´ario definir uma pergunta uma ´unica vez e reutiliz´a-la em v´arios question´arios diferentes.
Das ferramentas citadas, um mecanismo real de re´uso de perguntas somente ´e poss´ıvel no QuestionPro. LimeSurvey permite algum re´uso de perguntas, mas n˜ao de uma maneira direta. Cada pergunta a ser reutilizada tem que primeiro ser exportada para um arquivo se-
parado e ent˜ao importada desse arquio no novo question´ario. As outras ferramentas somente permitem copiar e colar um question´ario inteiro ou modelo pr´e-existente.
O DIDB permite o re´uso de todos elementos, perguntas, alertas, pulos e planilhas e todas as entidades que n˜ao sejam ´unicas, como respostas alternativas, textos de perguntas e m´odulos.
2.3 Gerenciamento de m´ odulos
Nehuma das ferramentas implementam o conceito de m´odulos de question´arios. Dados- Prospective eREDCap implementam a no¸c˜ao de “projeto” composto por um ou mais formul´a- rios de dados, mas eles s˜ao question´arios independentes conectados somente pela identifica¸c˜ao do entrevistado. A vers˜ao mais completa da ferramenta QuestionPro permite ramifica¸c˜ao postergada para outros question´arios. Entretanto, quando o pulo ´e feito o question´ario atual
´
e considerado finalizado. Al´em disso, se o alvo do pulo ´e um question´ario j´a respondido, uma nova instˆancia do question´ario ´e apresentada. Portanto, essa n˜ao ´e uma solu¸c˜ao para gerenciamento de m´odulos para um question´ario complexo ´unico.
Como descrito na se¸c˜ao 4, o DIDB implementa m´odulos com funcionalidades distintas - screening, obrigat´orios, n˜ao-obrigat´orios e laudo - para poder apoiar projetos de question´arios complexos de diagn´ostico.
2.4 Disponibilidade
Dados-Prospective e Limesurvey s˜ao livres e de c´odigo aberto, mas eles apresentam as limita¸c˜oes descritas anteriormente. REDCap n˜ao ´e de c´odigo aberto, mas ´e gratuito para institui¸c˜oes participantes do REDCap Consortium Partners. Google Forms eToluna Quick- surveys s˜ao gratuitos. Para todas as outras ferramentas, somente a vers˜ao b´asica ´e gra- tuita, que geralmente n˜ao permitem as caracter´ısticas dinˆamicas descritas nessa se¸c˜ao e limitam o n´umero de convites de email, respostas de question´ario, tipos de perguntas e meta-question´arios. Suas licensas das vers˜oes mais completas, que apresentam as caracter´ıs- ticas descritas nesse trabalho, custam de 19 at´e 159 d´olares por mˆes.
2.5 Localiza¸ c˜ ao da armazenagem dos dados
Para alguns tipos de aplica¸c˜ao, por exemplo, estudos cl´ınicos, a confidencialidade dos dados ´e obrigat´oria. Portanto, muitos usu´arios exigem que a armazenagem dos dados estejam em seus servidores para poder controlar o acesso aos dados.
QuestionPro, Toluna Quicksurvey, SurveyMonkey, KwikSurvey, SurveyGizmo e Google Forms mant´em os meta-question´arios e respostas de question´arios em seus pr´opios servido- res, permitindo ao usu´ario baixar os dados. Os dados do REDCap s˜ao armazenados nos servidores da institui¸c˜ao afiliada. LimeSurvey oferece duas op¸c˜oes: armazenagem no ser- vidor do LimeSurvey ou baixar a ferramenta de armazenagem dos dados localmente. J´a o Dados-Prospective e o DIDB permitem ao usu´ario possuir e gerenciar o banco de dados.
2.6 Controle de acesso
No ambiente acadˆemico ou de pesquisa ´e comum a existˆencia de alguns grupos de pes- quisa, cada um desenvolvendo projetos diferentes com membros realizando tarefas diferentes, mas n˜ao mutuamente excludentes: projeto de meta-question´ario, aplica¸c˜ao de question´arios (entrevistas), gera¸c˜ao de relat´orios, an´alise de dados, etc. Al´em disso, l´ıderes de grupos de- vem ser capazes de compartilhar seus projetos (dados de meta-question´ario ou de respostas)
com outros l´ıderes. Portanto, um controle de acesso apropriado com diferentes pap´eis se faz necess´ario.
Toluna Quicksurveys, SurveyMonkey e Google Forms s˜ao sistemas mono-usu´arios. A vers˜ao mais completa das ferramentas QuestionPro, KwikSurvey e SurveyGizmo s˜ao multi- usu´arios oferecendo algum controle de permiss˜oes baseado em tarefas, cobrando proporci- onalmente ao n´umero de usu´arios. KwikSurvey e SurveyGizmo tamb´em oferecem algum apoio ao gerenciamento de grupos e times, mas o compartilhamento de projetos n˜ao ´e di- reto. Dados-Prospective eLimeSurvey s˜ao multi-usu´arios com gerenciamento de permiss˜oes, mas sem oferecer atribui¸c˜ao de question´arios diferentes a times diferentes. REDCap tem um controle de acesso baseado em projetos. Cada projeto tem uma lista de usu´arios atribu´ıdos, cada um com privil´egios espec´ıficos para esse projeto. O projeto pode tamb´em controlar acesso de dados a grupos, onde cada usu´ario pode acessar dados de resposta que foram inseridos por usu´arios que pertencem a seu grupo.
O DIDB fornece al´em do controle do banco de dados, um controle de acesso baseado em pap´eis, por exemplo, projetista de question´ario, entrevistador, etc. Esse controle fornece servi¸cos, nesse caso p´aginas, que cada papel tem acesso. Ainda possui um controle de acesso a dados que relaciona um usu´ario a um ou mais grupos de pesquisa e o usu´ario somente visualiza os dados de question´ario e respostas de seus respectivos grupos.
3 Conceitos Fundamentais
Conjuntos grandes de dados moleculares e cl´ınicos na biologia moderna e intitui¸c˜oes de pesquisa em medicina tˆem introduzido novos requisitos para sistemas de bancos de dados e de processamento de informa¸c˜oes. Por exemplo, em rotinas t´ıpicas de diagn´ostico em medicina ou processos de neg´ocio muitos question´arios s˜ao realizados concorrentemente e respeitando as especificidades de cada paciente ou pessoa. Esses requisitos demandam um gerenciamento preciso de transa¸c˜oes longas e projeto de banco de dados. Al´em disso, novos question´arios s˜ao frequentemente redefinidos. Desta forma os usu´arios tem que ser auxiliados para exe- cutar o question´ario correto no tempo apropriado. Incompatibilidades e dificuldades entre dados novos e j´a existentes dificultam integrar e analisar todo conhecimento descoberto.
Esse problema inclui o processo de descobrimento do conhecimento cient´ıfico, que necessita processar frequentemente atualiza¸c˜oes para o refinamento das hip´oteses cient´ıficas. Como os novos dados s˜ao automaticamente gerados e processados, abordagens manuais rapidamente se tornam muito caras ou at´e mesmo invi´aveis. Consequentemente, uma solu¸c˜ao de longo prazo para o problema de integra¸c˜ao de dados requer ferramentas de processamento de infor- ma¸c˜oes automatizadas formalmente corretas, bancos de dados evolutivos com a abordagem de transa¸c˜oes longas. O framework DIDB foi projetado seguindo essa abordagem de inte- gra¸c˜ao de dados para poder reduzir os problemas nos estudos de entrevistas baseados em question´arios.
Um exemplo concreto ´e o gerenciamento de entrevistas utilizando um sistema de banco de dados para estudar os transtornos bipolar e obsessivo compulsivo que s˜ao caracterizados pela alta frequˆencia de atualiza¸c˜oes, n´umero imenso de perguntas de alguns tipos e muitos fluxos poss´ıveis dessas perguntas guiados por suas respostas. A integra¸c˜ao de novos dados de um question´ario se torna muito lenta quando o processo de cria¸c˜ao e altera¸c˜ao demanda que as ferramentas de software sejam atualizadas continuamente para refletir essas altera¸c˜oes.
Como resultado, atrasos na evolu¸c˜ao da ferramenta, presen¸ca de erros no banco de dados e ausˆencia de gera¸c˜ao de interfaces de resposta podem diminuir o progresso cient´ıfico. Para poder superar esses obst´aculos, um processamento n˜ao tradicional de transa¸c˜oes e uma estrutura sofisticada de banco de dados devem acomodar essas caracter´ısticas desafiadoras e processos dinˆamicos.
Em termos das caracter´ısticas do processamento de transa¸c˜oes, a meta do DIDB ´e o desenvolvimento de fluxos dinˆamicos que capturam as propriedades compostas de perguntas e respostas. Em contraste com abordagens orientadas a processos, n´os adotamos a aborda- gem WED-flow (Work/Event/Data-flow) [FTMP10] [FBTP12] que prop˜oe um mecanismo gen´erico de processamento de eventos para modelagem de transa¸c˜oes longas tal que modelos possam ser facilmente alterados quando necess´ario. Baseado em algoritmos adaptados e ex- tendidos originalmente criados para modelagem de transa¸c˜oes extendidas, WED-flow aplica consultas cont´ınuas [LPT99] em banco de dados relacionais para poder capturar e manipular eventos. Isso tamb´em se aplica no conceito de banco de dados multi-versionados [LBM+05]
para armazenar os resultados de processamentos de eventos e manter o hist´orico dos dados.
Um aspecto importante desta abordagem ´e o controle de fuxo como uma consequˆencia e n˜ao como uma dependˆencia, em oposi¸c˜ao `a modelagem a priori herdadas na maioria das linguagens execut´aveis e abordagens formais. O controle de fluxo ocorre quando condi¸c˜oes s˜ao satisfeitas durante a execu¸c˜ao do processo, o que aumenta a flexibilidade se comparado a mudan¸cas em modelos formais, por exemplo baseados em ´algebras de processo ou redes de Petri, ou especifica¸c˜oes sint´aticas. Esses diferentes impactos das mudan¸cas de modelagens s˜ao mostrados em [FBTP12] e [GBPF12].
Em termos de estrutura de banco de dados, a meta do DIDB ´e armazenar dados de meta-
question´arios para poder permitir abordagens hist´oricas e multi-versionadas. Entretanto, a modelagem conceitual, l´ogica e f´ısica de banco de dados completa e detalhada [EN10]
antes de come¸car o desenvolvimento da aplica¸c˜ao tem se mostrado insuficiente para lidar com dom´ınios de aplica¸c˜oes complexas e a mudan¸cas de requisitos de neg´ocio e pesquisa.
Uma abordagem alternativa para superar os limites impostos por uma modelagem de banco de dados a priori ´e o uso da abordagem de modelo de banco de dados evolucion´ario que ´e iterativo e incremental para realizar a modelagem do banco de dados utilizando a abordagem de naked objects [PM02]. No desenvolvimento do DIDB integramos o modelo de banco de dados evolucion´ario e abordagem de naked objects o que ajuda a fazer os modelos do sistema mais efetivos e modularizados, no sentido que esta abordagem pode acomodar mais facilmente os conceitos principais para modelagem de banco de dados especialmente para altera¸c˜oes futuras de requisitos como mudan¸cas nas especifica¸c˜oes da armazenagem de meta- question´arios, regras internas e regulagens externas de fluxos de perguntas, e novas consultas e medidas requisitadas pelos pesquisadores.
4 Implementa¸ c˜ ao
O DIDB ´e baseado em dois conceitos importantes: meta-question´ario2 e instancia¸c˜ao de question´ario3: um meta-question´ario ´e a representa¸c˜ao de todos os elementos do question´ario como perguntas de alguns tipos diferentes, instru¸c˜oes para o entrevistador e regras l´ogicas para pulos (por exemplo, se uma resposta espec´ıfica relacionada a drogas ´e sim v´a para uma pergunta sobre comportamento alco´olico). Uma instˆancia de question´ario ´e criada quando um entrevistador aplica um question´ario a um entrevistado criando um hist´orico de todas as respostas. Para cada aplica¸c˜ao do par entrevistado-entrevistador uma instˆancia ´e criada.
Os dois conceitos, meta-question´ario e instancia¸c˜ao de question´ario s˜ao armazenados em um sistema de banco de dados relacional.
4.1 Meta-question´ ario
Um meta-question´ario ´e modelado como uma entidade question´ario e ´e composta por um ou mais m´odulos, cada question´ario ´e identificado pelo seu nome e vers˜ao.
4.1.1 M´odulos
Cada m´odulo ´e identificado pelo seu nome e pode ser de quatro tipos: obrigat´orio, n˜ao- obrigat´orio,screening e laudo.
Um question´ario deve ser respondido de acordo com a seguinte ordem: Primeiramente o m´odulo screening, se presente, realiza a sele¸c˜ao dos m´odulos n˜ao-obrigat´orios que de- vem ser respondidos e se n˜ao estiver presente, todos os m´odulos n˜ao-obrigat´orios devem ser respondidos. Depois os m´odulos obrigat´orios s˜ao respondidos seguindo uma ordem pa- dr˜ao armazenada no question´ario. Finalmente os m´odulos n˜ao-obrigat´orios s˜ao respondidos usando uma ordem arbitr´aria que o entrevistador decide. O m´odulo laudo pode ser ativado em qualquer momento da entrevista e ´e composto de perguntas autom´aticas que gera uma vis˜ao resumida do question´ario.
Dentro de cada m´odulo temos uma sequˆencia cadastrada de elementos, um elemento pode ser do tipo pergunta, alerta, planilha ou pulo.
Com a defini¸c˜ao sobre a sequˆencia de quais conjuntos de m´odulos s˜ao respondidos pri- meiro, a ordena¸c˜ao de m´odulos obrigat´orios e a sequˆencia de elementos dentro dos m´odulos, temos o fluxo natural de um question´ario. Isto ´e, sem alterar esse fluxo (com a inser¸c˜ao de pulos) todas as perguntas ser˜ao respondidas em uma mesma ordem, com exce¸c˜ao dos m´odulos n˜ao-obrigat´orios que o entrevistador decide qual quer aplicar.
4.1.2 Elementos
Dentro de um question´ario identificamos quatro elementos fundamentais em sua estru- tura: alerta, pulo, planilha e pergunta.
Um alerta ´e uma instru¸c˜ao ao entrevistador como, por exemplo, “Preste aten¸c˜ao se o entrevistado est´a mentindo ou omitindo algo” ou “Este m´odulo ir´a avaliar o transtorno obssessivo compulsivo”.
Um elemento pulo ´e um ponto de controle de fluxo que ir´a verificar uma ou mais condi¸c˜oes booleanas e caso uma delas seja verdadeira ir´a para o elemento indicado na express˜ao. Se mais de uma express˜ao for verdadeira ir´a para o destino da primeira express˜ao com avalia¸c˜ao verdadeira.
2Um meta-question´ario ´e denominado tamb´em por question´ario.
3A instancia¸c˜ao de question´ario tamb´em ´e denominada de aplicar ou responder um question´ario.
Um elemento do tipo pergunta ´e a vari´avel de interesse do pesquisador, por exemplo no caso de pesquisa em sa´ude mental em que as respostas de indiv´ıduos s˜ao medidas por m´etodos psicom´etricos, ent˜ao a pergunta define o que est´a sendo investigado e o dom´ınio permitido para as respostas. A pergunta ´e classificada de acordo com seu tipo de resposta e intervalos v´alidos, gerando uma restri¸c˜ao para cada tipo com o objetivo de garantir a qualidade das respostas dadas. Os tipos de perguntas do DIDB s˜ao texto, num´erica, likert, alternativa e data. A cada pergunta pode-se associar um texto de pergunta que ´e a maneira do entrevistador realizar a pergunta ao entrevistado, por exemplo a vari´avel de interesse (a pergunta), ´e “Horas de sono” e o texto da pergunta ´e “Quantas horas vocˆe dorme por dia?”.
Caso a pergunta seja igual `a maneira de se fazer ao entrevistado, n˜ao ´e necess´ario incluir nessa pergunta um texto de pergunta. A pergunta ainda possui um c´odigo de pergunta que
´
e um identificador da pergunta no estudo ou question´ario.
Uma pergunta texto recebe um texto como resposta e define o limite de caracteres que deve ser respeitado por essa resposta. Exemplos de perguntas do tipo texto s˜ao: “N´umero do CPF” com limite de 12 caracteres, “Como vocˆe se sente hoje?”, com limite de 255 caracteres para indicar que a resposta n˜ao pode ser muito longa ou ent˜ao com limite de 2000 caracteres para indicar que pode-se dar uma resposta mais longa.
Uma pergunta num´erica que pode ser real ou inteira possui a restri¸c˜ao de dom´ınio que garantem os intervalos dos respectivos valores num´ericos. Esta restri¸c˜ao de dom´ınio tamb´em pode ser expressa usando pergunta descore autom´atico que d´a uma resposta com valor real usando uma express˜ao aritm´etica cadastrada no meta-question´ario que assegura que n˜ao exista erros de contas do entrevistador. Exemplos de perguntas n´umericas: no dom´ınio dos inteiros, “Qual a sua idade?” e o intervalo v´alido de 18 `a 120, indicando uma faixa et´aria v´alida; no dom´ınio dos reais: “Qual seu sal´ario l´ıquido atual?”, com intervalo v´alido de 951.40 at´e 2300.50 indicando uma faixa salarial v´alida; J´a uma pergunta score autom´atica tendo uma express˜ao cadastrada P1/(P2∗P2), ondeP1 e P2 s˜ao perguntasP1 ´e qual o peso eP2 qual a altura, responder´a automaticamente a pergunta “Qual seu ´Indice de Massa Corporal – IMC”, desde queP1 e P2 j´a foram respondidas no question´ario.
Uma pergunta likert ´e uma escala de valores fixos discretos com uma descri¸c˜ao inicial e uma final e o entrevistado escolhe um desses valores. Podemos citar como exemplo a pergunta “Como est´a seu humor hoje?”, com a descri¸c˜ao inicial “´otimo”, tendo 5 poss´ıveis escolhas at´e a descri¸c˜ao final “p´essimo”.
Uma pergunta alternativa possui um conjunto ordenado de valores num´ericos e cada valor possui um r´otulo associado que ´e resposta do entrevistado `a pergunta. Existem trˆes tipos de perguntas alternativas que diferem em rela¸c˜ao `a sele¸c˜ao que permite ser feita: ´unica, na qual somente um valor do conjunto pode ser escolhido, por exemplo, “Vocˆe sente dor nas costas?”
e o conjunto ordenado {1.0,2.0} com r´otulos “sim” e “n˜ao” respectivamente; m´ultipla, na qual pode-se selecionar um ou mais valores do conjunto, por exemplo, “Quantos filhos vocˆe tem?” e o conjunto ordenado {−1.0,1.0,2.0,3.0} com r´otulos “0”, “1”, “2” e “3 ou mais”, respectivamente; e autom´atica, que ´e uma escolha ´unica calculada pelo sistema utilizando uma express˜ao booleana pr´e-cadastrada. No exemplo dado da pergunta alternativa de sele¸c˜ao
´
unica para cada elemento do conjunto de respostas ir´a ter uma express˜ao booleana, que ser´a baseada em respostas dadas anteriormente, cada uma expressando quando uma delas ´e verdadeira, ent˜ao o sistema responde esta pergunta automaticamente na primeira express˜ao verdadeira.
J´a uma pergunta data possui como dom´ınio um intervalo de datas (m´ınimo e m´aximo) que s˜ao aceitas como resposta, por exemplo, “Quando foi a ´ultima vez que vocˆe fez uma doa¸c˜ao de sangue?” e o intervalo permitido de 01/01/2010 at´e 01/01/2013.
Todos os tipos de pergunta podem ainda possuir 5 op¸c˜oes adicionais de respostas do
tipo sele¸c˜ao ´unica, para capturar semˆanticas de respostas que n˜ao s˜ao feitas pelas restri¸c˜oes definidas pelo tipo e valores v´alidos ou comportamentos do entrevistado que podem surgir durante uma entrevista, e que s˜ao: “n˜ao se aplica”, “n˜ao quero responder”, “n˜ao sei”, “sem resposta” e “adiar resposta”. O n˜ao se aplica ´e utilizado quando uma restri¸c˜ao de resposta n˜ao pode ser satisfeita, o n˜ao quero responder ´e utilizado quando o entrevistado n˜ao deseja responder uma pergunta, o n˜ao sei quando o mesmo n˜ao sabe responder uma pergunta, sem resposta ´e utilizado quando n˜ao se conhece a resposta de uma pergunta e o adiar resposta coloca a pergunta para ser respondida posteriormente durante a entrevista.
Um elemento planilha ´e uma combina¸c˜ao de uma ou mais perguntas a um ou mais itens que permite uma visualiza¸c˜ao compacta. Cada item possui um c´odigo para que combinado com o c´odigo da pergunta identifique unicamente cada c´elula de resposta. A planilha pode ser visualizada tanto com as perguntas na horizontal e os itens na vertical quanto o contr´ario.
Um exemplo ´e uma planilha com 2 perguntas e 3 itens: As perguntas s˜ao “Exame realizado?”
e “Data do exame” e os itens correspondem a cada exame “Ultrassonografia”, “Hemograma completo” e “Eletrocardiograma”. Esta planilha ser´a visualizada no formato tabular. Sem a planilha ter´ıamos que ter 3×2 = 6 perguntas: “Vocˆe j´a fez ultrassonografia?”, “Quando?” e outras 4 para os exames restantes. Isso permite rapidez do preenchimento pela redu¸c˜ao da quantidade de elementos do question´ario e uma visualiza¸c˜ao mais agrad´avel desse tipo de agrupamento de perguntas.
Uma parte do modelo conceitual ilustrando a modelagem do question´ario e elementos do question´ario ´e mostrado na figura 1. O modelo conceitual completo pode ser encontrado em http://linux.ime.usp.br/~rmuller/mac499/modelo.html.
Figura 1: Resumo do modelo conceitual do DIDB mostrando a modelagem do question´ario e seus elementos, s˜ao omitidos algumas entidades para melhor visualiza¸c˜ao.
4.1.3 Controle de fluxo
Para realizar o controle de fluxo ´e inserido um pulo na posi¸c˜ao do question´ario em que se deseja que tal controle seja realizado. Para representar a informa¸c˜ao necess´aria utilizamos uma agrega¸c˜ao info-pulo. Essa agrega¸c˜ao possui os seguintes relacionamentos: se refere `a um question´ario e a um m´odulo em que o pulo pertence, possui um destino de pulo com o elemento e o m´odulo em que ser´a realizado o pulo, uma ou mais perguntas nos quais a express˜ao ser´a constru´ıda e uma express˜ao booleana que descreve as condi¸c˜oes necess´arias para durante a instancia¸c˜ao do question´ario a ser verificada com base nas respostas dadas as perguntas.
A express˜ao booleana ´e da forma:
<expressao> ::= <termo> = VALOR | <termo> < VALOR | <termo> <= VALOR
| <termo> > VALOR | <termo> >= VALOR
<termo> ::= <soma> | <termo> E <termo> | <termo> OU <termo> | (<termo> E
<termo>) | (<termo> OU <termo>)
<soma> ::= RESPOSTA | <soma> + RESPOSTA
Na qual VALOR ´e um n´umero real que diz se a express˜ao ´e verdadeira ou falsa utilizando
=, <,≤(<=), >e≥(>=) com o significado usual dos n´umeros reais e RESPOSTA ´e o valor real dado a uma resposta de uma pergunta, se essa tiver valor inteiro ´e traduzido para seu valor real.
Um exemplo de controle de fluxo pode ser dado por duas perguntas P1 e P2 dentro de um m´odulo qualquer e nessa sequˆencia, onde P1 ´e uma pergunta alternativa ´unica “Sexo”
com alternativas {1.0,2.0} com r´otulos “masculino” e “feminino” respectivamente. A per- gunta P2 ´e “Vocˆe j´a engravidou?”, com alternativas “{1.0, e 2.0}” com r´otulos “sim” e “n˜ao”
respectivamente. Ent˜ao coloca-se um ponto de verifica¸c˜ao, um pulo, entre as duas pergun- tas (tornando essa sequˆencia do m´odulo como P1 – Pulo – P2) com a seguinte express˜ao:
P1 = 2.0 e caso seja verdadeira aponte para uma outra pergunta que n˜ao seja exclusiva do sexo feminino. Caso a express˜ao seja falsa (nesse caso a pessoa ´e uma mulher) a pergunta P2 ser´a feita.
Na figura 2 ´e mostrado a modelagem utilizada para descrever as informa¸c˜oes necess´arias para realizar o controle de fluxo: Um pulo cont´em um ou mais info pulo, esse info pulo faz parte de um question´ario e um m´odulo (em que o pulo est´a) e ir´a pular para um elemento de um m´odulo qualquer do question´ario caso a express˜ao, que se refere a uma ou mais perguntas, seja verdadeira.
Figura 2: Resumo do modelo conceitual do DIDB mostrando a agrega¸c˜ao info-pulo. S˜ao omitidos atributos e heran¸cas para melhor visualiza¸c˜ao.
Essa modelagem permite que pulos sejam feitos em qualquer dire¸c˜ao do question´ario, para partes j´a respondidas, pulando partes que n˜ao dizem respeito `a investiga¸c˜ao e reaproveitando m´odulos em algumas situa¸c˜oes.
4.1.4 Pergunta alternativa autom´atica
Para o sistema responder uma pergunta alternativa autom´atica ´e necess´ario para todas as respostas dessa pergunta uma agrega¸c˜ao info alternativa autom´atica, cujo modelo conceitual est´a na figura 3. Essa agrega¸c˜ao representa a qual question´ario e qual m´odulo a pergunta est´a, se refere a um conjunto de perguntas anteriores e com base nessas perguntas a express˜ao
´
e descrita e caso seja verdadeira ter´a como resposta a resposta alternativa selecionada.
A express˜ao ´e da mesma forma que a express˜ao do pulo, descrita anteriormente.
Figura 3: Resumo do modelo conceitual do DIDB mostrando a agrega¸c˜ao info-alternativa- autom´atica. S˜ao omitidos atributos e heran¸cas para melhor visualiza¸c˜ao.
4.1.5 Pergunta score autom´atico
A modelagem da pergunta score autom´atico ´e feita de maneira semelhante `a da pergunta alternativa autom´atica, com exce¸c˜ao da express˜ao, que assume a forma:
<expressao> ::= <expressao> | <expressao> + <termo> | <expressao> - <termo>
| <expressao> + <termo> | <termo> - <termo>
<termo> ::= <soma> | <subtracao>
<soma> ::= RESPOSTA | <soma> + RESPOSTA
<subtracao> ::= RESPOSTA | <subtracao> - RESPOSTA
De acordo com a figura 4, que mostra o modelo conceitual da agrega¸c˜ao info score autom´atico, uma pergunta score autom´atico pode ter um ou mais info score autom´atico. Esse faz parte de um m´odulo de um question´ario, se refere a um conjunto de perguntas anteriores e calcula o valor dado pela express˜ao acima.
Figura 4: Resumo do modelo conceitual do DIDB mostrando a agrega¸c˜ao info-score- autom´atico. S˜ao omitidos atributos e heran¸cas para melhor visualiza¸c˜ao.
4.2 Instancia¸ c˜ ao do question´ ario
A instancia¸c˜ao do question´ario primeiro envolve a caracteriza¸c˜ao do par entrevistador- entrevistado e para cada par ´e criado um caminho espec´ıfico, que depende dos pulos, que armazena todas as respostas. Todos estes caminhos alternativos s˜ao projetados utilizando o conceito de transa¸c˜ao longa [FBTP12] e [FTMP10] na qual cada pergunta ´e um passo.
Essa transa¸c˜ao longa ´e apoiada pelas restri¸c˜oes e condi¸c˜oes que controlam o fluxo de um question´ario. Cada passo gera um dado de resposta que ´e testado pela express˜ao booleana para poder verificar se um pulo ´e poss´ıvel.
Esse conceito de instancia¸c˜ao de question´ario permite o projeto e aplica¸c˜ao de entrevis- tas para qualquer dom´ınio do conhecimento desde que essa flexibilidade ´e garantida pelo conceito de transa¸c˜ao longa oferecida pela modelagemWED-flow. Al´em disso, isso facilita o gerenciamento de diferentes vers˜oes do mesmo question´ario permitindo o uso de elementos, m´odulos e at´e mesmo question´arios completos j´a cadastrados no sistema para projetos de novos question´arios.
4.3 Ambiente de desenvolvimento do DIDB
Para o desenvolvimento do DIDB foi utilizado o banco de dados relacional PostgreSQL, a linguagem de programa¸c˜aoJava utilizando o gerenciador de projetos Maven [Son08] com
uma ferramenta de atualiza¸c˜oes incrementais de banco de dados Carbon5, o que permite os desenvolvedores sempre terem a vers˜ao do banco atualizada automaticamente pelo ambiente de desenvolvimento. O mapeamento objeto-relacional foi realizada utilizando o padr˜aoJava Data Objects – JDO [JR03] com a implementa¸c˜ao fornecida peladatanucleus.
A camada de neg´ocios da aplica¸c˜ao foi constru´ıda utilizando trˆes camadas, para oferecer flexibilidade de altera¸c˜oes futuras e separa¸c˜ao de responsabilidades bem definidas:
Camada entidades: Conjunto de classes que representam as entidades na aplica¸c˜ao e s˜ao mapeadas utilizando a t´ecnica de mapeamento reverso que fazem o mapeamento do modelo de banco de dados para as classes em Java;
Camada DAO: Utilizando o padr˜ao Data Access Object – DAO ´e o conjunto de classes que s˜ao respons´aveis por conter o c´odigo de persistˆencia, recupera¸c˜ao e exclus˜ao de todas as entidades da aplica¸c˜ao por meio da ferramenta de mapeamento objeto-relacional acessando os dados armazenados no banco de dados relacional;
Camada Fa¸cade: Para termos independˆencia do meio de persistˆencia, por exemplo per- sistir os dados para um arquivo xml, esta camada cont´em classes que abstraem os detalhes de implementa¸c˜ao espec´ıficos que est˜ao nas classes pertencentes `a camada DAO.
O DIDB ´e uma aplica¸c˜aoweb e para a constru¸c˜ao dasinterfaces para o usu´ario utilizamos o padr˜aoModel View Controller – MVC [GHJV95] e o modelo e a vis˜ao s˜ao implementados com o aux´ılio dos frameworks Java Server Faces – JSF 1.2 [GH07] que ´e a especifica¸c˜ao padr˜ao para desenvolvimento de aplica¸c˜oes Java Web,Facelets 1.1.4 [AW08] para podermos utilizar p´aginas xhtml e padr˜oes de p´aginas para essa vers˜ao do JSF eRichFaces 3.3.1 [Kat08]
para termos suporte `aAjax, Javascript e componentes j´a prontos deinterface com usu´ario.
5 Estudo de Caso
O Structured Clinical Interview for DSM Disorders – SCID [FSGW02] ´e uma entrevista amplamente utilizada em psiquiatria apoiada pelo crit´erio operacional APA-DSM [APA12].
As desordens psiquiatricas s˜ao classificadas em categorias multiaxiais com uma hierarquia de sintomas. Possui mais de 1000 perguntas, divididas em m´odulos obrigat´orios, n˜ao- obrigat´orios, screening e laudo. Para cada entrevista realizada ´e percorrido um caminho entre v´arios poss´ıveis que ´e determinado pelas respostas dadas cuja verifica¸c˜ao ocorre em pontos pr´e-determinados (pulo) ´e realizada uma verifica¸c˜ao de uma ou mais condi¸c˜oes (ex- press˜oes de pulo) e caso uma condi¸c˜ao seja satisfeita o entrevistador escolhe o caminho indi- cado. Esses pulos no SCID podem ser em qualquer dire¸c˜ao e a complexidade das express˜oes pode ser alta.
O estudo de caso do DIDB foi realizado com o cadastro do meta-question´ario que repre- senta o SCID pois apresenta o desafio de representar corretamente as express˜oes de pulos e de perguntas autom´aticas, de forma a validar o uso do DIDB em entrevistas que s˜ao carac- terizadas pela pela alta frequˆencia de atualiza¸c˜ao, n´umero grande de perguntas de alguns tipos e muitos caminhos poss´ıveis destas perguntas baseados nas suas respostas.
A figura abaixo ilustra os principais tipos de desvios de fluxo encontrados no SCID, esse grafo foi gerado pelo DIDB e o question´ario foi feito para ilustrar os desvios de fluxo encontrados no SCID de uma maneira leg´ıvel, j´a que um grafo parcial relevante do SCID n˜ao seria devido ao n´umero grande de elementos que cont´em.
DIDB.C
DIDB.B
DIDB.D
CONDITION C (DIDB.C) Condition C is not a clinical ps ychiatric condition but can s imulate a ps ychiat...
DIDB.C1 Alternativa automática DISORDER A -- Score = 1.0 DISORDER B -- Score = 2.0
DIDB.C2 Alternativa única Yes -- Score = 1.0 No -- Score = 0.0
Pulo DIDB.C2 to DIDB.D1
DIDB.C3 Alternativa única Yes -- Score = 1.0 No -- Score = 0.0 Alerta
CONDITION D (DIDB.D) Condition D is not a clinical ps ychiatric condition but can s imulate a ...
SE DIDB.C2<1.0
DIDB.C4 Alternativa automática
CONDITION C is a cause of symptoms similar to DISORDER A -- Score = 1.0 CONDITION C is a cause of symptoms similar to DISORDER B -- Score = 2.0 CONDITION C is not a cause of symptoms similar to DISORDER A -- Score = 3.0 CONDITION C is not a cause of symptoms similar to DISORDER B -- Score = 4.0
Pulo
DIDB.C4 to CONDITION D or DISORDER A or DISORDER B SE DIDB.C2+DIDB.C3<2.0
DIDB.A8 Alternativa automática
Yes -- Score = 1.0 No -- Score = 0.0
SE (DIDB.C1=1.0EDIDB.C2+DIDB.C3=2.0)
DIDB.B7 Alternativa automática
Yes -- Score = 1.0 No -- Score = 0.0 SE (DIDB.C1=2.0EDIDB.C2+DIDB.C3=2.0) DIDB.D1
Alternativa única Yes -- Score = 1.0 No -- Score = 0.0
DIDB.B8 Alternativa automática DISORDER B -- Score = 1.0
No -- Score = 0.0 Alerta
DISORDER B (DIDB.B) The diagnos is of the dis order occurs when there are at leas t 3 s ymptoms ...
DIDB.B1 Alternativa única Yes -- Score = 1.0 No -- Score = 0.0
DIDB.B2 Alternativa única Yes -- Score = 1.0 No -- Score = 0.0
DIDB.B3 Alternativa única Yes -- Score = 1.0 No -- Score = 0.0
DIDB.B4 Alternativa única Yes -- Score = 1.0 No -- Score = 0.0
DIDB.B5 Alternativa automática
Yes -- Score = 1.0 No -- Score = 0.0
Pulo DIDB.B5 to End of Module B
DIDB.B6 Alternativa única Yes -- Score = 1.0 No -- Score = 0.0
Alerta END OF MODULE B
SE DIDB.B1+DIDB.B2+DIDB.B3+DIDB.B4<3.0 Pulo
DIDB.B6 to DIDB.C SE DIDB.B6=1.0
SE (DIDB.B5=1.0EDIDB.B6=0.0) DIDB.D2
Alternativa única Yes -- Score = 1.0 No -- Score = 0.0
DIDB.D3 Alternativa automática
CONDITION D is a cause of symptoms similar to DISORDER A -- Score = 1.0 CONDITION D is a cause of symptoms similar to DISORDER B -- Score = 2.0 CONDITION D is not a cause of symptoms similar to DISORDER A -- Score = 3.0 CONDITION D is not a cause of symptoms similar to DISORDER B -- Score = 4.0
Pulo CONDITION D to DISORDER A or B
SE DIDB.D3=1.0OUDIDB.D3=3.0
SE DIDB.D3=2.0OUDIDB.D3=4.0
Figura 5: Resumo dos desvios encontrados no SCID
O grafo ´e composto de trˆes m´odulos: DIDB.B, DIDB.C e DIDB.D. A primeira pergunta a ser respondida ´e a pergunta DIDB.B1 do m´odulo B. E a ordem “natural” de se responder
´
e DIDB.B, DIDB.C e DIDB.D respectivamente. O primeiro pulo no m´odulo DIDB.B1 ´e um pulo simples, para frente, que verifica se o entrevistado respondeu sim a trˆes perguntas entre DIDB.B1 a DIDB.B5, se sim, continua para a pergunta DIDB.B6 sen˜ao ir´a para o final desse m´odulo. A express˜ao correspondente ´e “SE DIDB.B1+DIDB.B2+. . . +DIDB.B5<3.0”
v´a para alerta “fim de m´odulo”. ´E uma situa¸c˜ao que ocorre v´arias vezes ao longo do SCID, em que ´e verificada alguma condi¸c˜ao e se ela n˜ao for satisfeita, pula algumas perguntas que especificam a condi¸c˜ao se for satisfeita.
J´a nos m´odulos DIDB.C e DIDB.D existe um “pulo para tr´as”, que s˜ao o ´ultimo pulo de cada m´odulo (embora o m´odulo DIDB.A seja omitido desse grafo, o elemento DIDB.A8 que pertence a esse m´odulo ´e ilustrado). A pergunta anterior ao pulo ´e uma pergunta alternativa autom´atica que verifica a presen¸ca de alguma condi¸c˜ao (C ou D nos respectivos m´odulos) e de qual m´odulo foi acessado. Por padr˜ao uma pergunta n˜ao respondida possui resposta com valor 0.0. Por exemplo, se o m´odulo DIDB.B est´a sendo respondido e indica a presen¸ca da desordem investigada por esse m´odulo ir´a para o m´odulo DIDB.C que vai investigar uma condi¸c˜ao dessa desordem, a pergunta autom´atica DIDB.C4 ir´a ter como resposta as
alternativas com valor 3.0 ou 4.0, j´a que veio do m´odulo DIDB.B, ent˜ao o pulo de volta ir´a para o m´odulo DIDB.B e continua o m´odulo DIDB.B.
Esse ´ultimo tipo de fluxo, ´e encontrado por exemplo quando o SCID investiga transtornos ansiosos. S˜ao 10 transtornos investigados, um por m´odulo (no exemplo s˜ao dois transtornos e correspondem aos m´odulos DIDB.A e DIDB.B). Se um transtorno ´e presente vai para 2 m´odulos (no exemplo acima DIDB.C e DIDB.D) que investigam se a condi¸c˜ao que ocasionou o transtorno ´e causado pelo uso de substˆancias (M´odulo DIDB.B) ou por uma condi¸c˜ao cl´ınica geral (M´odulo DIDB.C).
Com esses dois tipos de controle de fluxo e suas varia¸c˜oes, express˜oes e elementos descritos anteriormente o DIDB consegue representar o SCID e ent˜ao gerar as telas de respostas baseadas nessa informa¸c˜ao respeitando o fluxo definido pelos pulos cadastrados e respostas dadas `as perguntas.
5.1 Atividades
Esse trabalho de formatura foi supervisionado pelo Prof. Dr. Jo˜ao Eduardo Ferreira do Instituto de Matem´atica e Estat´ıstica da USP e pela Profa. Dra. Ariane Machado Lima da Escola de Artes, Ciˆencias e Humanidades da USP que coordenaram o projeto e forneceram as hip´oteses de pesquisa e abordagens tecnol´ogicas para o DIDB. O aluno Rodrigo M¨uller de Carvalho desenvolveu os todos os m´odulos de banco de dados, o ambiente para especificar e gerenciar as restri¸c˜oes para as transa¸c˜oes longas e as interfaces de cadastro do DIDB. A aluna de mestrado Mina Cintho desenvolveu as interfaces de respostas e de pacientes. O Dr. Rodrigo S. Dias do Instituto de Psiquiatria da USP definiu todas as especifica¸c˜oes e requisitos para question´arios cl´ınicos e ofereceu todo o conhecimento do dom´ınio psiqui´atrico.
6 Rela¸ c˜ ao da Experiˆ encia Obtida no Trabalho com o Curso
As disciplinas mais relevantes para a realiza¸c˜ao do trabalho desenvolvido foram:
• MAC0426 – Sistemas de Banco de Dados e MAC0439 – Laborat´orio de Banco de Dados: As duas foram fundamentais para o desenvolvimento do modelo de banco de dados e das transa¸c˜oes longas, que ´e a base de todo o trabalho.
• MAC0211 – Laborat´orio de Programa¸c˜ao I, MAC0242 – Laborat´orio de Programa-
¸c˜ao II, MAC0332 – Engenharia de Software e MAC0441 – Programa¸c˜ao Orientada a Objetos: Essas disciplinas foram fundamentais por desenvolverem projetos de maior complexidade, boas pr´aticas de programa¸c˜ao e aprendizado de linguagens orientadas a objetos (MAC0242, MAC0332 e MAC0441).
• MAC0329 – ´Algebra Booleana e Aplica¸c˜oes, MAC0239 – M´etodos Formais em Pro- grama¸c˜ao: Para o desenvolvimento das express˜oes de pulos e perguntas autom´aticas, al´em de permitir auxiliar os projetistas de question´arios no cadastro das express˜oes, j´a que alguns projetistas n˜ao conhecem l´ogica boolena.
• Al´em dessas citadas, as outras disciplinas cursadas tamb´em foram fundamentais para a realiza¸c˜ao do trabalho, seja por oferecer base te´orica para as disciplinas citadas acima e na forma¸c˜ao acadˆemica em geral, por ensinar as t´ecnicas de programa¸c˜ao e como abordar e modelar problemas.
Os principais desafios que surgiram durante a execu¸c˜ao do trabalho foram a modelagem do meta-question´ario, desenvolvimento das express˜oes de pulos e perguntas autom´aticas que ao mesmo tempo fossem formalmente corretas e o mais amig´avel poss´ıvel para o projetista de question´ario, que pode n˜ao possuir conhecimento de express˜oes booleanas. A gera¸c˜ao das interfaces, que tinham como requisitos serem intuitivas e funcionais quanto poss´ıvel.
Altera¸c˜oes de modelagem durante o desenvolvimento tamb´em foram desafiantes, quando um novo requisito era descoberto durante o desenvolvimento e envolvia altera¸c˜oes no modelo de banco de dados e no c´odigo.
As frustra¸c˜oes encontradas foram principalmente relacionadas a falta de tempo em al- gumas situa¸c˜oes, tanto em rela¸c˜ao a dedica¸c˜ao no curso e no desenvolvimento do trabalho.
Surgimento de erros na ferramenta, mesmo ap´os a realiza¸c˜ao de testes tamb´em foram frus- tantes. No in´ıcio do trabalho, a falta de experiˆencia em orienta¸c˜ao a objetos e tamb´em em desenvolvimento para Web foram um pouco frustantes, mas o conhecimento adquirido durante esse per´ıodo compensou essa ´ultima frusta¸c˜ao.
Para atuar na ´area de realiza¸c˜ao do trabalho, acredito que os seguintes passos devem ser tomados: aprofundamento na teoria de banco de dados relacionais e transa¸c˜oes lon- gas. Tamb´em melhoria de t´ecnicas e boas pr´aticas de programa¸c˜ao para desenvolvimento web, aprofundamento e adquirir melhor experiˆencia em refatora¸c˜oes, testes (unit´arios e de integra¸c˜ao) mais efetivos e abrangentes tamb´em s˜ao passos interessantes.
7 Resultados
O DIDB est´a em fase final de implementa¸c˜ao no IPq, existem question´arios j´a projetados e em fase de teste antes da aplica¸c˜ao em pacientes e o SCID est´a em fase final de projeto, devido `a complexidade desse question´ario.
Al´em do IPq, o DIDB est´a sendo utilizado pelos projetos Recipient Epidemiology and Donor Evaluation Study-III4 – REDS-III, em algumas entrevistas dos hemocentros partici- pantes desse projeto e pelo projeto ADJ Diabetes Brasil5. Em ambos o DIDB j´a ´e utilizado para realizar entrevistas das respectivas pesquisas e no caso do REDS-III a aplica¸c˜ao ´e re- alizada em v´arios estados do Brasil e ainda existem instala¸c˜oes do DIDB distribu´ıdas em computadores m´oveis onde a aplica¸c˜ao de entrevistas em locais que n˜ao possuem acesso `a Internet. Essas bases locais s˜ao sincronizadas com a base central para extra¸c˜ao posterior dos dados.
O DIDB foi registrado por meio da Agˆencia USP de Inova¸c˜ao e a concess˜ao do registro foi publicado em 08/10/2013 na Revista da Propriedade Industrial - RPI No.2231, p´ag. 177.
O DIDB ´e um software livre. Por´em a disponibiliza¸c˜ao do c´odigo-fonte, por depender da concess˜ao do registro que foi obtido recentemente, est´a em fase de estudo para a cria¸c˜ao de um reposit´orio p´ublico e divulga¸c˜ao do mesmo.
4https://reds-iii.rti.org/
5http://www.adj.org.br/
8 Conclus˜ ao
Nesse trabalho de formatura supervisionado foi desenvolvido o Dynamic Interview Da- tabase – DIDB que permite a cria¸c˜ao, manuten¸c˜ao e versionamento de question´arios e a realiza¸c˜ao destas entrevistas de acordo com suas estruturas internas, possivelmente com- plexas, com a utiliza¸c˜ao de modelagem de banco de dados com alto n´ıvel de abstra¸c˜ao e conceitos de transa¸c˜oes longas. Mais concretamente, o DIDB deve apoiar entrevistas que s˜ao caracterizadas pela alta frequˆencia de atualiza¸c˜ao, n´umero grande de perguntas de alguns tipos e muitos caminhos poss´ıveis destas perguntas baseados nas suas respostas. A integra-
¸c˜ao de novos itens de question´ario (por exemplo, perguntas, tipos de respostas, sequˆencias para responder perguntas) utilizando solu¸c˜oes cl´assicas se torna demorada e dif´ıcil, onde o processo que cria o question´ario imp˜oe atualiza¸c˜oes cont´ınuas nas ferramentas de software para poder atender essas mudan¸cas. Como resultado, atrasos na evolu¸c˜ao da ferramenta, presen¸ca de erros de banco de dados e ausˆencia de gera¸c˜ao autom´atica de interfaces de respostas podem diminuir o progresso cient´ıfico. Solu¸c˜oes atuais para criar e aplicar ques- tion´arios n˜ao atendem as demandas de question´arios complexos. Para poder superar esses obst´aculos, um processamento n˜ao-tradicional de processamento de transa¸c˜oes e uma es- trutura sofisticada de banco de dados oferecidos pelo DIDB atendem essas caracter´ısticas desafiadoras usando processos dinˆamicos para projeto e aplica¸c˜ao de question´arios. Essa abordagem do DIDB apoia v´arios tipos de dom´ınios de question´ario, variando desde estudos cl´ınicos e epidemol´ogicos at´e processos de sele¸c˜ao de vagas por recursos humanos.
Referˆ encias
[APA12] APA.Diagnostic and Statistical Manual of Mental Disorders DSM-IV-TR. Fouth Edition, American Psychiatric Association, 2012.
[AW08] Bruno Aranda and Zubin Wadia. Facelets Essentials: Guide to JavaServer Faces View Definition Framework. Apress, Berkeley, CA New York, NY, 2008.
[BSB+11] Claudia Bausewein, Steffen T. Simon, Hamid Benalia, Julia Downing, Faith N.
Mwangi-Powell, Barbara A. Daveson, Richard Harding, Irene J. Higginson, and On behalf of Prisma. Implementing patient reported outcome measures (proms) in palliative care - users’ cry for help. Health and Quality of Life Outcomes, 9(27), April 2011.
[EN10] Ramez Elmasri and Shamkant B. Navathe. Fundamentals of Database Systems.
Addison-Wesley, Boston, MA, USA, sixth edition, 2010.
[FBTP12] Jo˜ao Eduardo Ferreira, Kelly Rosa Braghetto, Osvaldo Kotaro Takai, and Calton Pu. Transactional recovery support for robust exception handling in business process services. In ICWS, pages 303–310, 2012.
[FGW+] Michael B. First, Miriam Gibbon, Janet B.W. Williams, Robert L. Spitzer, and Lorna Smith Benjamin. Computer-assisted scid ii expert system for windows.
http://www.mhs.com/product.aspx?gr=cli&prod=casiies%20&id=overview.
[FSGW02] Michael B. First, Robert L. Spitzer, Miriam Gibbon, and Janet B.W. Williams.
Structured Clinical Interview for DSM-IV-TR Axis I Disorders, Research Ver- sion, Patient Edition. Biometrics Research, New York State Psychiatric Institute, 2002.
[FTMP10] J. E. Ferreira, O. K. Takai, S. Malkowski, and C. Pu. Reducing exception han- dling complexity in business process modeling and implementation: the wed-flow approach. Proceedings of CoopIS 2010: 18th International Conference on Coo- perative Information Systems, 2010.
[GBPF12] Marcela O. Garcia, Kelly Rosa Braghetto, Calton Pu, and Jo˜ao Eduardo Ferreira.
An implementation of a transaction model for business process systems. JIDM, 3(3):271–286, 2012.
[GH07] David Geary and Cay Horstmann. Core JavaServer Faces. Prentice Hall, Upper Saddle River, NJ, 2nd edition, 2007.
[GHJV95] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Pat- terns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.
[HHS+09] Stephen L. Harlin, Ryan D. Harlin, Thomas I. Sherman, Courtney M. Roz- sas, M. Shuja Shafqat, and William Meyers. Using a structured, computer- administered questionnaire for evaluating health-related quality of life in patients with chronic lower extremity wounds. Ostomy Wound Management, 55(9):30–39, September 2009.
[HTT+09] Paul A. Harris, Robert Taylor, Robert Thielke, Jonathon Payne, Nathaniel Gon- zalez, and Jose G. Conde. Research electronic data capture (redcap) - a metadata- driven methodology and workflow process for providing translational research informatics support. Journal of Biomedical Informatics, 42(2):377–381, April 2009.
[JR03] David Jordan and Craig Russell. Java Data Objects. O’Reilly, Sebastopol, CA, 2003.
[Kat08] Max Katz. Practical RichFaces. Apress, Berkeley, CA New York, NY, 2008.
[LBM+05] D. Lomet, R. Barga, M. Mokbel, G. Shegalov, R. Wang, and Y. Zhu. Immortal db: Transaction time support for sql server. SIGMOD’05: Proceedings of the 2005 ACM SIGMOD international conference on Management of data, pages 939–941, 2005.
[LPT99] L. Liu, C. Pu, and W. Tang. Continual queries for internet scale event-driven information delivery. IEEE Transactions on Knowledge and Data Engineering, 11(4):610–628, 1999.
[LSFA09] A. K. Langenbruch, I. Schufer, N. Franzke, and M. Augustin. Internet-supported gathering of treatment data and patient benefits in psoriasis. Journal of the European Academy of Dermatology and Venereology, 24(5):541–547, May 2009.
[NSH+06] Lam Nguyen, Anand Shah, Matthew Harker, Henrique Martins, Mariana Mc- Cready, Andreia Menezes, Danny O. Jacobs, and Ricardo Pietrobon. Dados- prospective: an open source application for web-based prospective data collec- tion. Source Code for Biology and Medicine, 1(7), November 2006.
[PM02] Richard Pawson and Robert Matthews. Naked Objects. John Wiley & Sons Ltd, 2002.
[Son08] Sonatype. Maven: The Definitive Guide. O’Reilly, Sebastopol, CA, 2008.
[WA11] YP Wang and LHSG Andrade. Sistema de classificac˜ao Diagnostico em Psiqui- atria. 1a edic˜ao, Manole Editores, 2011.
[WHO92] WHO. The ICD-10 Classification of Mental and Behavioural Disorders. Clinical descriptions and diagnostic guidelines. World Health Organization, 1992.