• Nenhum resultado encontrado

Departamento de Ciˆencia da Computa¸c˜ao Instituto de Matem´atica e Estat´ıstica Universidade de S˜ao Paulo Rodrigo M

N/A
N/A
Protected

Academic year: 2022

Share "Departamento de Ciˆencia da Computa¸c˜ao Instituto de Matem´atica e Estat´ıstica Universidade de S˜ao Paulo Rodrigo M"

Copied!
28
0
0

Texto

(1)

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

(2)

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.

(3)

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

(4)

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

(5)

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

(6)

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.

(7)

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.

(8)

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-

(9)

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)

(10)

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.

(11)

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-

(12)

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.

(13)

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.

(14)

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

(15)

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.

(16)

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

(17)

<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.

(18)

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

(19)

<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

(20)

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.

(21)

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.

(22)

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

(23)

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.

(24)

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.

(25)

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/

(26)

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.

(27)

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.

(28)

[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.

Referências

Documentos relacionados

Os Autores dispõem de 20 dias para submeter a nova versão revista do manuscrito, contemplando as modifica- ções recomendadas pelos peritos e pelo Conselho Editorial. Quando

Com base na análise do grafo, pode-se inferir que dentro do SBI prevalecem as relações com: o “Governo Fomento” representado pelo DESENBAHIA quando se busca

Todas as outras estações registaram valores muito abaixo dos registados no Instituto Geofísico de Coimbra e de Paços de Ferreira e a totalidade dos registos

Taking into account the theoretical framework we have presented as relevant for understanding the organization, expression and social impact of these civic movements, grounded on

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

Posteriormente, em Junho de 1999, ingressei no grupo Efacec, onde fui responsável pela elaboração de projetos e propostas para a construção de Estações de Tratamento

A presente investigação teve como objetivo geral o estudo dos fatores de risco e de proteção internos e externos utilizados perante a violência social, nomeadamente o bullying

A iniciativa parti- cular veiu em auxílio do govêrno e surgiram, no Estado, vá- rios estabelecimentos, alguns por ventura falseados em seus fins pelos defeitos de organização,