• Nenhum resultado encontrado

Cliquemed: busca por unidades de saúde, baseada em especialidades médicas

N/A
N/A
Protected

Academic year: 2021

Share "Cliquemed: busca por unidades de saúde, baseada em especialidades médicas"

Copied!
60
0
0

Texto

(1)

DEPARTAMENTO ACADÊMICO DE INFORMÁTICA

BACHARELADO EM SISTEMAS DE INFORMAÇÃO

JULIANA LIMA SANDIS DE BARROS CAVALCANTE

MOZART SINDEAUX NETO

CLIQUEMED - BUSCA POR UNIDADES DE SAÚDE, BASEADA EM

ESPECIALIDADES MÉDICAS

TRABALHO DE CONCLUSÃO DE CURSO

CURITIBA

2018

(2)

CLIQUEMED - BUSCA POR UNIDADES DE SAÚDE, BASEADA EM

ESPECIALIDADES MÉDICAS

Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do título de Bacharel em Sistemas de Informação.

Orientadora: Nádia Puchalski Kozievitch

CURITIBA

2018

(3)

Diretoria de Graduação e Educação Profissional

Departamento Acadêmico de Informática

Coordenação do Curso de Bacharelado em Sistemas de Informação

TERMO DE APROVAÇÃO

“CLIQUEMED - BUSCA POR UNIDADES DE SAÚDE, BASEADA EM

ESPECIALIDADES MÉDICAS”

por

Juliana Lima Sandis de Barros Cavalcante

Mozart Pereira Sindeaux Neto

Este Trabalho de Conclusão de Curso foi apresentado como requisito parcial à obtenção do grau de Bacharel em Sistemas de Informação na Universidade Tecnológica Federal do Paraná - UTFPR - Câmpus Curitiba. O(a)(s) aluno(a)(s) foi(ram) arguido(a)(s) pelos membros da Banca de Avaliação abaixo assinados. Após deliberação a Banca de Avaliação considerou o trabalho ________________________________________.

________________________________ Profa. Nádia Puchalski Kozievitch

(Presidente - UTFPR/Curitiba)

________________________________ Profa. Rita Cristina Galarraga Berardi

(Avaliadora 1 - UTFPR/Curitiba)

________________________________ Profa. Deborah Ribeiro Carvalho

(Avaliadora 2 - PUCPR/Curitiba)

________________________________ <Profa. Leyza Baldo Dorini>

(Professora Responsável pelo TCC – UTFPR/Curitiba)

_____________________________ <Prof. Leonelo Dell Anhol Almeida> (Coordenador do curso de Bacharelado em Sistemas de Informação – UTFPR/Curitiba)

(4)

Esta pesquisa descreve o desenvolvimento de um protótipo de aplicação para dispositivos mó-veis dedicado a área da saúde. Tendo conhecimento sobre o estado da arte desta temática, esta aplicação visa atingir os pontos que ainda não foram contemplados por outros trabalho, como a centralização de dados sobre unidades de saúde tanto da rede pública quanto privada, com enfo-que na busca por especialidades médicas. Neste trabalho foram utilizados os conhecimentos de banco de dados e geoprocessamento, algoritmos, interação humano-computador e programação para dispositivos móveis. Para atingir os objetivos propostos, primeiramente buscou-se compre-ender melhor o público envolvido, realizando a aplicação e análise de um questionário com a comunidade curitibana. Posterior a isto, tem-se o processo de modelagem e desenvolvimento do protótipo e finalizando com a avaliação do artefato desenvolvido.

Palavras-chaves: saúde, aplicativo móvel, mobile health, unidades de saúde, especialidades

(5)

This research describes a prototype application for mobile devices dedicated to healthcare. Con-sidering the state of the art of this subject, this proposal focuses at points not yet contemplated in existing applications, such as the centralization of data on health units, both public and pri-vate, focusing on the search for medical specialties. In this work were used, among other things, knowledge of database and geoprocessing, algorithms, human-computer interaction and devel-opment for mobile devices. To reach the proposed objectives, we sought to better understand the public involved, applying a questionnaire with the community from Curitiba. After this, we have the process of modeling and development the prototype, considering all computational and human challenges, and ending with the evaluation of the developed artifact.

(6)

Figura 1 – Áreas de estudo abordadas no projeto. ... 9

Figura 2 – Diagrama do projeto... 11

Figura 3 – Tela inicial das aplicações: (a) Hospital Nossa Senhora das Graças; (b) Doctoralia; (c) ZocDoc. ... 12

Figura 4 – (d) Exemplo de pesquisa na Google Play pelo termo UNIMED. Tela de busca por unidades das aplicações: (e) UNIMED Curitiba e (f) AMIL. Tela inicial da aplicações: (g) digiSUS e (h) Saúde Já - Curitiba. ... 12

Figura 5 – Componentes de um Sistema de Informações Geográficas... 17

Figura 6 – Casos de dengue em Santos observados pelo aplicativo Integra-GIS. ... 18

Figura 7 – Categorias de estabelecimentos de saúde de Curitiba e de Assunção/Paraguai. 22 Figura 8 – Fluxograma da metodologia. ... 24

Figura 9 – Distribuição de frequência dos entrevistados, por grupo etário. ... 27

Figura 10 – Gráfico referente ao modo de acesso à rede de saúde dos entrevistados. ... 27

Figura 11 – Distribuição dos entrevistados, de acordo com os sistemas dos smartphones. 27 Figura 12 – Arquitetura do sistema CliqueMed. ... 30

Figura 13 – Rota com endereços X Rota com coordenadas. ... 33

Figura 14 – Fluxo de processamento do servidor. ... 34

Figura 15 – Diagrama de Caso de Uso. ... 35

Figura 16 – Diagrama Entidade e Relacionamento. ... 37

Figura 17 – Imagens geradas de acordo com a localização das unidades de saúde ca-dastradas em (a) base da Prefeitura e IPPUC e (b) base de dados dos autores com dados fornecidos pelo CRM-PR com relação à cidade de Curitiba e re-gião metropolitana. ... 39

Figura 18 – Imagens geradas de acordo com a localização das unidades de saúde ca-dastradas em (a) base da Prefeitura e IPPUC e (b) base de dados dos autores com dados fornecidos pelo CRM-PR com relação ao estado do Paraná. ... 39

Figura 19 – Tabelas comparativas a respeito da quantidade de dados encontrados na base da Prefeitura de Curitiba e na base do CRM-PR. ... 40

Figura 20 – Aplicativo CliqueMed: Tela de carregamento; tela inicial; tela de busca por unidade de saúde mais próxima. ... 40

Figura 21 – Aplicativo CliqueMed: tela de mensagem para carregamento de uma busca; tela de resultado da busca; tela de detalhamento de uma unidade de saúde. ... 41

Figura 22 – Aplicativo CliqueMed: tela inicial e tela resultante da opção "Buscar es-pecialidades". ... 42

Figura 23 – Aplicativo CliqueMed: Tela de exemplo de busca por unidade de saúde; tela de mais detalhes sobre o estabelecimento escolhido; tela resultante da opção "Avalie o estabelecimento". ... 42

Figura 24 – Gráficos referentes às respostas de avaliação do aplicativo CliqueMed. .... 43

Figura 25 – Gráficos referentes às respostas de avaliação do aplicativo CliqueMed. .... 44

Figura 26 – Gráficos referentes às respostas de avaliação do aplicativo CliqueMed. .... 44

Figura 27 – Gráficos referentes às respostas de avaliação do aplicativo CliqueMed. .... 45

Figura 28 – Gráficos referentes às respostas de avaliação do aplicativo CliqueMed. .... 45

(7)

CFM Conselho Federal de Medicina

TICs Tecnologias da Informação e Comunicação

GIS Geographic Information System

CAPS Centro de Atenção Psicossocial

KDD Knowledge Discovery in Databases

IHC Interação Humano-Computador

HTML HyperText Markup Language

API Application Programming Interface

IP Internet Protocol

(8)

1 INTRODUÇÃO... 7 1.1 OBJETIVO GERAL... 9 1.1.1 Objetivos específicos ... 9 1.2 JUSTIFICATIVA ... 10 1.3 ORGANIZAÇÃO DO DOCUMENTO ... 13 2 FUNDAMENTAÇÃO TEÓRICA... 14

2.1 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ... 14

2.2 BANCO DE DADOS E GIS ... 16

2.3 INTERAÇÃO HUMANO COMPUTADOR ... 18

2.4 ALGORITMOS ... 20

2.5 LEVANTAMENTO BIBLIOGRÁFICO E ESTADO DA ARTE ... 21

3 METODOLOGIA... 24

4 DESENVOLVIMENTO ... 25

4.1 RECURSOS DE HARDWARE E SOFTWARE ... 25

4.1.1 Recursos de Hardware... 25

4.1.2 Recursos de Software... 25

4.2 ANÁLISE E MODELAGEM ... 26

4.2.1 Análise do questionário ... 26

4.3 ARQUITETURA E DESCRIÇÃO DO SISTEMA ... 29

4.3.1 Trocas de mensagens ... 29

4.3.2 Funcionamento do servidor ... 32

4.4 DIAGRAMAS ... 34

4.4.1 Caso de Uso... 35

4.4.1.1 Descrição de Caso de uso ... 35

4.4.1.1.1 Buscar por especialidade médica ... 35

4.4.1.1.2 Consultar informações da unidade de saúde ... 36

4.4.1.1.3 Avaliar unidade de saúde ... 36

4.4.2 Diagrama Entidade - Relacionamento ... 36

4.4.2.1 Descrição da base de dados ... 37

4.5 ESTRUTURAÇÃO DA BASE DE DADOS ... 38

4.6 PROTÓTIPO DE TELAS ... 40

5 AVALIAÇÃO DO PROTÓTIPO... 43

6 CONCLUSÃO ... 46

A APÊNDICES... 51

A.1 QUESTIONÁRIO COM PÚBLICO ALVO ... 52

(9)

1 INTRODUÇÃO

A área da saúde sempre foi um assunto importante. A Gallup, empresa norte americana que trabalha com análise de dados, publicou uma pesquisa onde cita que 42% dos norte ameri-canos nomeiam custo e acesso a atendimento médico como os maiores problemas relacionados à saúde (GALLUP; RIFFKIN, 2015). No Brasil, segundo a (IPSOS, 2016) a saúde é o tema que mais preocupa a população, sendo citada por 50% dos entrevistados na pesquisa, seguida da preocupação com a Violência e com Política e Corrupção. Outros dados interessantes sobre o assunto:

Globalmente, 29% das pessoas esperam que a qualidade dos serviços de saúde me-lhore nos próximos anos. O Brasil lidera o ranking – 71% torcem para uma melhora; 86% dos entrevistados gostariam de ter uma segunda opinião em caso de dúvida so-bre o diagnóstico fornecido pelo médico. No Brasil, o índice é de 83% (IPSOS, 2017).

Com este panorama, surge o seguinte questionamento:

Empresas que atuam em diversas áreas do mercado vêm adotando o uso de tecnologias da informação, visando não apenas a redução de custos, mas também o aumento da eficácia no desenvolvimento de seus produtos, serviços, ou afins.

A área da saúde é um exemplo que pode-se citar como segmento de mercado que vêm investido em pesquisas e soluções tecnológicas, para melhorar a qualidade dos atendimentos re-alizados (BLUMENTHAL, 2009). O investimento nessas tecnologias se faz necessário devido a diversos motivos, como por exemplo, o aumento da expectativa de vida e o envelhecimento da população mundial (KALACHE, 2008), fatos que talvez possam aumentar demanda dos siste-mas de saúde, que em grande parte dos países do mundo já estão saturados (BITTENCOURT; HORTALE, 2009).

Essa sobrecarga do sistema de saúde afeta diretamente a qualidade dos serviços pres-tados, o que pode aumentar a taxa de insatisfação da população que necessita de atendimento médico. No Brasil, segundo pesquisa realizada pelo Conselho Federal de Medicina (CFM), a taxa de insatisfação da população com o sistema de saúde chega a 92% (CFM; DATAFOLHA, 2014).

Nesse sentido, pesquisas e inovações tecnológicas aplicadas ao contexto da saúde, bus-cam auxiliar no aumento da qualidade do atendimento, da satisfação dos pacientes e a dimi-nuição dos gastos das organizações. Os resultados desses investimentos vêm surgindo dia após dia. Segundo estudo realizado para avaliar resultados de pesquisas de tecnologia aplicada à área da saúde, mais de 90% do que foi avaliado tiveram resultados positivos. Para considerar uma solução positiva, foram avaliadas variáveis como melhoria na eficiência de processos, aumento de taxas de satisfação, dentre outras (BUNTIN et al., 2011).

(10)

Com (BARBOSA; SILVA, 2010) vemos como as Tecnologias da Informação e Co-municação (TICs) já são amplamente utilizadas pela área da saúde. Temos aparelhos médicos controlados por sistemas computacionais, como ressonância magnética, tomografia computado-rizada, etc. Médicos manipulam aparelhos robóticos para realizar cirurgias; há ainda robôs que auxiliam na distribuição de medicamentos e outros que se movem automaticamente dentro do hospital transportando refeições e roupa suja, de modo a ajudar na ala da enfermagem. Além disso, as TICs permitem acesso online ao histórico de saúde dos pacientes, o agendamento de consultas e exames por plataformas virtuais e o acesso ao resultados de exames que acabaram de ficar prontos, mesmo que em um laboratório distante.

Entretanto, segundo (WERNECK, 2013), na área da saúde, há uma preocupação com a análise do grande volume de dados disponibilizado pelas tecnologias. Além da obtenção de dados, é necessário que seja possível extrair informações relevantes e conhecimento com obje-tivo de auxiliar pacientes e outros componentes do setor da saúde, como médicos, hospitais e administradores públicos.

No contexto da cidade de Curitiba, não foram encontradas soluções que realizassem a centralização de dados referenciais para a área da saúde. A falta de base de consulta confiável e de fácil acesso para a população em geral, pode prejudicar pacientes que precisem de atendimento médico e não conheçam unidades de saúde próximas. Outro ponto que pode ser prejudicial aos pacientes é a busca por informações em ferramentas que não garantem veracidade ou dados atualizados. A base de dados sobre saúde disponibilizada pela Prefeitura de Curitiba (MARTY, 2018), apresenta uma grande gama de informações, entretanto não correlaciona dados sobre os médicos ou sobre as especialidades médicas atendidas.

O artefato proposto visa justamente trabalhar com os dados de saúde com um objetivo de melhoria: centralizar informações a respeito das unidades de saúde da cidade de Curitiba e das especialidades médicas disponíveis para atendimento do cidadão, tanto com relação ao atendimento gratuito (via Sistema Único de Saúde) quanto para atendimentos particulares. Além disto, serão utilizadas técnicas computacionais para processar dados de diversas fontes e fornecer informações aos usuários.

Espera-se, que por meio das informações fornecidas, que o usuários possam buscar serviços de saúde de forma mais rápida e eficiente, além de possivelmente terem acesso à outros tipos de informação, como especialidades médicas e atendimentos realizados.

Quanto ao desenvolvimento do projeto, não faz sentido pensar na criação de um artefato sem que haja participação dos sujeitos que serão futuros usuários desse. Por exemplo, entregar uma solução desenvolvida apenas para cidadãos que utilizam redes particulares de saúde, dei-xando de lado toda a rede pública, é uma maneira de impor uma transformação que talvez não seja a necessária naquela população.

Levando em consideração o tema, os conceitos importantes e às técnicas de compu-tação, este trabalho foi dividido em quatro grandes áreas de conhecimento, como ilustrado na Figura 1.

(11)

Figura 1 – Áreas de estudo abordadas no projeto.

A área de Algoritmos, de maneira simplificada, diz respeito às técnicas de programação e resolução de problemas que serão necessárias para o desenvolvimento deste projeto. Progra-mação de dispositivos móveis é um conteúdo de extrema importância, uma vez que o protótipo do projeto será feito para tal ambiente. Banco de dados e GIS (Geographic Information System) se relacionam com o controle dos dados armazenados e a forma como as informações serão utili-zadas. Por último, conhecimentos sobre Interação humano-computador se mostram importantes durante o desenvolvimento de uma interface, promovendo análises de usabilidade, por exemplo. 1.1 OBJETIVO GERAL

Utilizar técnicas computacionais como algoritmos, interação humano-computador, banco de dados e GIS (Geographic Information System), além de programação para dispositivos mó-veis, para centralizar e disponibilizar informações para auxiliar os usuários na escolha de uni-dades de saúde que melhor atendam suas expectativas e necessiuni-dades.

1.1.1 Objetivos específicos

• Elaborar uma revisão bibliográfica para apresentar um panorama do que está sendo pro-duzido na área de computação e saúde, atualmente.

• Criar uma base de dados para disponibilizar e manter as informações de unidades de saúde atualizadas.

• Criar o protótipo de um aplicativo para permitir interação entre os usuários e as informa-ções mapeadas na base de dados.

(12)

• Desenvolver e aplicar um questionário para o público opinar sobre a relevância do aplica-tivo, as funcionalidades propostas e sugerir novas funcionalidades para serem desenvolvi-das posteriormente.

• Disponibilizar por meio do protótipo de aplicativo funcionalidades como: Exibir lista de unidades de saúde mais próximos ao usuário e permitir traçar a rota para chegar no local (o cálculo e a definição das rotas serão feitos por ferramentas já disponíveis no mercado). Indicar possíveis locais que atendam uma especialidade especifica, como cardiologia, por exemplo.

• Apresentar os dados obtidos através da pesquisa com o público. • Realizar testes com o protótipo e escrever a conclusão do trabalho. 1.2 JUSTIFICATIVA

Ciente do fato de que existem muitas formas de encontrar uma unidade de saúde, ou um atendimento médico especializado, como por meio de indicação de outras pessoas, pesquisas em ferramentas web (Exemplo: Google (GOOGLE, 2018), Yahoo! (YAHOO!, 2018), Bing (BING,

2018)) ou, pelas plataformas disponibilizadas pelos planos de saúde, o artefato proposto nesse

trabalho se justifica quanto ao quesito da centralização dos dados de unidades de saúde tanto de rede pública quanto privada.

O sistema almeja disponibilizar em um mesmo local, no formato de aplicação para dispositivos móveis, um sistema capaz de fornecer aos usuários informações relevantes sobre o sistema de saúde de Curitiba. Informações como: a localização de todas as unidades de saúde da cidade, sejam hospitais, clínicas, posto de saúde, pronto-socorros e etc, assim como dados de contato da unidade, horário de funcionamento, especialidades médicas disponíveis no local e o tipo de atendimento que se pode contar - público ou privado. Com acesso a todas essas informações, centralizadas em um único sistema, esperamos auxiliar os usuários na tomada de decisão em busca de serviços de saúde.

Além disto, os benefícios da aplicação podem ser expandidos para outras duas verten-tes: para a Prefeitura de Curitiba e para os médicos que prestam atendimento na cidade. Com relação a Prefeitura, os dados aqui compilados podem ser utilizados no âmbito de planejamento de saúde da cidade. Por exemplo, se o sistema identificar uma carência de médicos cardiologistas na região do bairro Pinheirinho, o órgão público pode analisar a situação e as formas de lidar com ela - contratação de mais médicos ou realocação de médicos de outras regiões.

Aos médicos, por sua vez, o artefato pode beneficiar na divulgação dos indivíduos, citando informações como uma ou mais especialidades médicas de atuação, locais onde realiza atendimentos e planos de saúde aceitos. Todos esses elementos podem ser melhores visualizados na Figura 2 que apresenta o diagrama geral do projeto.

(13)

Figura 2 – Diagrama do projeto.

A Figura 2 ilustra as três vertentes que o artefato pretende favorecer: cidadão, médico e Prefeitura, como explicado anteriormente nesta seção. Além disso, temos um um esboço do fluxo de funcionamento do sistema: extração de dados públicos e particulares sobre saúde, dis-ponibilização dos dados em um banco e transformação de dados em informações relevantes e coerentes para os usuários - disponibilizadas pelo aplicativo através de um servidor.

Por se tratar de um tema de ampla importância, podemos encontrar algumas platafor-mas e aplicações direcionadas à saúde e que atendem a cidade de Curitiba. O Hospital Nossa Senhora das Graças (HNSG), por exemplo, possui um aplicativo para dispositivo móvel exclu-sivo para a seus serviços. O aplicativo, visto na Figura 3(a) fornece informações como tempo de espera para atendimento pediátrico, lista de convênios que o hospital aceita e a localização de suas unidades: pronto atendimento, internação e laboratório. Outra plataforma interessante é o Doctoralia (DOCTORALIA, 2018), que possui uma interface web e um aplicativo móvel. Na Figura 3(b) podemos visualizar a interface do aplicativo. Esta plataforma disponibiliza uma gama de dados mais ampla: temos informações sobre diversas unidades de saúde particulares de Curitiba, mostrando sua localização, os médicos cadastrados nessas unidades, os convênios que o local aceita e as avaliações feitas por outros usuários.

Ainda com relação à saúde, alguns aplicativos tem como objetivo indicar a lotação de uma unidade de saúde ou informar ao usuário qual o tempo médio de espera por atendimento. Aga Emergência foi um projeto com esse viés, conforme a fonte, porém, o aplicativo em si não foi encontrado para teste.

Referências externas também foram encontradas, é o caso do ZocDoc (ZOCDOC, 2018), um aplicativo para busca por médicos e agendamento online de consultas, que atende algumas cidades nos Estados Unidos da América. Além disso, o aplicativo também permite que os usuá-rios/pacientes relatem suas avaliações sobre os atendimentos na plataforma. Apesar de não ser possível testar a aplicação (não está disponível na área brasileira), podemos visualizar uma das telas na Figura 3(c).

(14)

Figura 3 – Tela inicial das aplicações: (a) Hospital Nossa Senhora das Graças; (b) Docto-ralia; (c) ZocDoc.

Figura 4 – (d) Exemplo de pesquisa na Google Play pelo termo UNIMED. Tela de busca por unidades das aplicações: (e) UNIMED Curitiba e (f) AMIL. Tela inicial da aplicações: (g) digiSUS e (h) Saúde Já - Curitiba.

4 dois exemplos: (e) UNIMED e (f) AMIL. A característica do plano de saúde UNIMED é que ele apresenta diversos aplicativos, divididos por região ou por uma única cidade, além de tam-bém ter uma aplicação nomeada UNIMED Com Você que aparentemente é de âmbito nacional. A pesquisa na Google Play1pelo termo "UNIMED"e seus resultados podem ser observados na Figura 4 (d). Esse grande número de aplicações existentes para um mesmo prestador de servi-ços pode se mostrar como uma dificuldade para o usuário. Para quem reside em Curitiba, por exemplo, deve ter o aplicativo UNIMED - Curitiba ou o UNIMED Com Você? Ou ainda, será necessário ter os dois aplicativos instalados no smartphone do usuário?

O plano AMIL, por sua vez, apresenta apenas uma aplicação disponível para seus usuá-rios, com dados de toda a rede. Na Figura 4 (f) temos um exemplo das opções de pesquisa por unidades de saúde do aplicativo, que é subdividido em categorias e os resultados são mostrados conforme proximidade. A aplicação é mais completa, se comparada com as opções da UNIMED. Entretanto, é claro, no caso de ambos os planos de saúde, o aplicativo só contempla unidades e médicos da rede conveniada e destinada apenas a seus usuários.

(15)

Sobre aplicações que contemplem a rede publica de saúde foram estudados dois casos: o aplicativo digiSUS, Figura 4 (g) disponibilizado pelo Ministério da Saúde e o aplicativo Saúde Já - Curitiba (h), criado pela Prefeitura de Curitiba. O digiSUS apresenta recursos interessantes como possibilidade de armazenar o histórico médico do usuário e de seus atendimentos, além de também permitir a busca por unidades de saúde públicas mais próximas. O Saúde Já - Curitiba não realiza buscas por unidades, apenas mostra as informações e o endereço da Unidade Básica de Saúde em que o cidadão está registrado. Também é possível agendar algumas consultas na sua unidade através do aplicativo, mas o agendamento de odontologia, por exemplo, ainda não está disponível.

Não foram encontradas soluções que centralizasse os dados de todas as unidades de saúde da cidade, públicas e privadas. Além disto, o teste de algumas dessas aplicações revelou outros problemas, como informações desatualizadas ou faltantes.

1.3 ORGANIZAÇÃO DO DOCUMENTO

A documentação deste trabalho está organizada da seguinte forma: primeiramente é apresentada a fundamentação teórica com o devido levantamento bibliográfico para embasa-mento da pesquisa. A Seção 3 então apresenta a metodologia, ou seja, a exposição de como este trabalho foi realizado. Depois seguimos para a exibição dos modelos e das atividades realizadas, chegando até ao processo de desenvolvimento do protótipo. Temos então a validação do arte-fato desenvolvido e as considerações finais do trabalho. Por fim, são apresentadas as referências bibliográficas e os anexos gerados.

(16)

2 FUNDAMENTAÇÃO TEÓRICA

Conforme previamente ilustrado na Figura1, neste capítulo serão abordados conceitos e técnicas, da ciência da computação, que são utilizados para a fundamentação teórica deste trabalho.

2.1 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

O Android é o sistema operacional móvel desenvolvido pela empresa Google (GOO-GLE, 2018) e o grupo OHA (Open Handset Alliance) e atualmente conta com versões para dispositivos diversos, como smartphones, tablets, TVs, automóveis, relógios, entre outros (LA-CHETA, 2016).

Ainda segundo (LACHETA, 2016), o sistema Android é baseado no kernel do

Li-nux(LINUX, 2018), que faz gerenciamento de processos, memória, segurança de arquivos, th-reads, pastas, redes e drivers. De forma simplificada, o funcionamento dá-se da seguinte forma:

cada aplicação é executada em um único processo e cada processo contém uma thread; para cada aplicação instalada no sistema é criado um usuário com sua estrutura de diretórios corres-pondente, impossibilitando acesso de outros usuários.

Por possuir uma licença flexível o Android permite que cada fabricante de dispositivos móveis possa realizar alterações no código-fonte e crie seus próprios recursos e customizações. Além disso, ter o código aberto possibilita contribuições e aperfeiçoamento de pessoas do mundo todo no sistema (LACHETA, 2016).

As aplicações para o sistema são desenvolvidas utilizando a linguagem de programação

Java. A peculiaridade do Android é que ele não apresenta uma máquina virtual Java, como

costume, mas sim uma máquina virtual chamada ART (Android Runtime), que é própria para funcionar em dispositivos móveis e que, segundo os desenvolvedores, permite otimizar o código ao máximo para melhor desempenho dos aplicativos (LACHETA, 2016).

Como análise das vantagens do sistema Android podemos citar, primeiramente o grande alcance de mercado, uma vez que o sistema encontra-se disponível em uma vasta quantidade marcas que produzem smartphones, este fator também corrobora para que a utilização do sistema tenha a possibilidade de custo menor para o comprador quando comparada a outras plataformas e seus dispositivos. Além disso, o sistema Android tem um configuração aberta e possibilita a instalação e uso de aplicativos externos, não sendo restrita apenas às aplicações disponibilizadas pela loja oficial do sistema, a Play Store. Por outro lado, as desvantagens incluem: envio lento de atualizações dos desenvolvedores para o sistema, uma vez que estas tem que passar pela reconfiguração das marcas dos dispositivos, fator que também leva o sistema a não seguir uma padrão estético, uma vez que que cada marca é capaz de realizar diferentes alterações, além de

(17)

ser bastante suscetível à vírus emalwares.

O sistema operacional iOS, por sua vez, foi desenvolvido pela empresa Apple (APPLE, 2018), é um sistema fechado e que roda apenas em aparelhos da mesma companhia, como os

smartphonesda linha iPhone e os tablets iPad. Segundo (SILVA; PIRES; CARVALHO, 2015),

a arquitetura do sistema está dividida em quatro camadas: Cocoa Touch, Media, Core Service

e Core OS. O Core OS é responsável pelo núcleo do sistema e por tanto, é a camada de mais

baixo nível. Core Service trata da oferta de serviços do sistema, como acesso ao banco de dados e acesso a rede. Na camada Media são atribuídos os itens gráficos, além da multimídia. Cocoa

Touch, a ultima camada e de mais alto nível, é responsável pelas interações do usuário com o

sistema. Ainda conforme os autores(SILVA; PIRES; CARVALHO, 2015), os aplicativos desen-volvidos para o sistema iOS raramente se comunicam diretamente com o hardware, mas sim através de um conjunto de interfaces que tem o intuito de proteger o hardware de alterações errôneas.

O desenvolvimento de aplicações para o sistema da Apple é feito utilizando a linguagem de programação Objective-C. As APIs nativas são fornecidas pelo próprio SDK da plataforma, que também traz as ferramentas necessárias para desenvolver, instalar, executar e testar os aplica-tivos desenvolvidos. O ambiente de desenvolvimento para este sistema é Xcode(SILVA; PIRES; CARVALHO, 2015).

Com relação desvantagens do sistema iOS tem-se primeiramente o alto custo dos apa-relhos e o fato de que a plataforma também é fechada, não aceita aplicativos de fora da loja

AppStore. Apesar disso, o sistema de destaca muito pela estética e desempenho, além de receber

atualizações frequentes e estar menos suscetível a ataques de vírus e malwares.

O Windows 10, por sua vez, é um sistema operacional multiplataforma desenvolvido pela empresa Microsoft (MICROSOFT, 2018). O sistema apresenta o conceito de Plataforma Universal Windows, ou seja, uma plataforma em comum para todos os aparelhos que executam o Windows 10, desde a linha móvel até consoles de video game e computadores. Para desenvolver aplicativos para este sistema, há a opção de usar mais de uma linguagem de programação, dentre elas Visual C++, Visual Basic, C# e JavaScript. As aplicações são desenvolvidas através da plataforma de desenvolvimento Visual Studio (WINDOWS, 2017).

Dentre as vantagens do sistema Windows 10 podemos citar: custo menor dos aparelhos que possuem o sistema quando comparado com grande parte dos aparelhos de outras marcas, além disso algumas avaliações técnicas revelam que o sistema apresenta um aproveitamento melhor de seu hardware, mantendo a agilidade do sistema mesmo quando alocado em aparelhos com processadores mais simples. Entretanto, na lista de desvantagens podemos elencar a baixa popularidade no mercado, a uma menor gama de aplicativos disponibilizados e o fato de que a plataforma se apresenta como um sistema fechado, ou seja, não permite que aplicativos não fornecidos pela loja oficial do Windows 10 sejam instalados.

Há, além destes três sistemas descritos, outras plataformas de desenvolvimento para dispositivos móveis. Entretanto, para o andamento deste trabalho foram estudadas apenas as

(18)

plataformas que, atualmente, são mais utilizadas e conhecidas no mercado (ALVES, 2018). O sistema a ser utilizado para o desenvolvimento do protótipo da aplicação é o sistema Android. A escolha, além das vantagens do sistema já citadas neste texto, também justifica-se pelo fato de que o sistema domina o atual mercado e está presente em 85% dos smartphones (CORPORATION, 2016).

O uso de aplicativos móveis na área da saúde não é uma novidade, a tecnologia pode ser utilizada para vários aspectos. Para auxilio à médicos, temos por exemplo o aplicativo Medscape 1 que fornece informações sobre doenças, diagnósticos, tratamentos, exames, etc, além de uma seção com notícias do mundo da medicina. O Medscape também foi aprovado FDA (Food and

Drugs Administration), o órgão estadunidense que controla medicamentos e alimentos.

Para médicos e pacientes, outro aplicativo interessante é o Consulta Remédios 2 que fornece informações sobre medicamentos, princípios ativos e itens de perfumaria em geral, in-dicando preço e local de compra mais próximo do usuário.

O Figure 13por sua vez, é uma rede social para médicos e outras instituições de saúde, o objetivo é a troca de informações sobre casos clínicos, com envio de fotos e exames (desde que dentro de um padrão de sigilo e privacidade estipulada pela rede social) para pedir auxílio de outros profissionais da área em prol de ajudar o paciente.

A Sociedade Beneficente Israelita, responsável pelo Hospital Albert Einstein disponibi-liza alguns aplicativos, dentre eles o Einstein Vacinas4que disponibiliza a seus usuários funções como: gestão da caderneta de vacinação, filtro de vacinas obrigatórias segundo faixa de idade e para gestantes, além de oferecer a geolocalização das unidades Einstein e UBS(Unidade Básica de Saúde) mais próximas para vacinação.

2.2 BANCO DE DADOS E GIS

O conceito de banco de dados relacional, é um dos modelos mais populares para ar-mazenar informações (ELMASRI et al., 2005), foi definido na década de 1970 e mostra uma maneira para organizar diversos tipos de dados (CODD, 1970). Um banco de dados é um local que reúne coleções de dados que possuem um certo nível de relação entre si (ELMASRI et al., 2005). O banco de dados relacional como conhecemos possui 3 conceitos que são utilizados para construção das bases: entidades, atributos e relacionamentos (ELMASRI et al., 2005).

Além disto, trataremos também de GIS - Geographic Information System que, em tra-dução literal significa Sistema de Informações Geográficas. A finalidade do GIS é realizar coleta, armazenamento, análise e visualização de dados geograficamente referenciados (EASTMAN, 1 https://portugues.medscape.com/public/sobre-o-medscape. Acesso em: 20/11/2018

2 https://consultaremedios.com.br/quem-somos Acesso em: 20/11/2018 3 https://figure1.com/pt-br/quem-somos/ Acesso em 20/11/2018

(19)

1997).

Dentre as vantagens da aplicação do GIS, temos: poder de armazenamento, dados geo-gráficos armazenados de forma compacta, integração dos dados espaciais e seus atributos, fácil recuperação das informações e realização de análises complexas com baixo custo para os siste-mas computacionais (HAMADA; GONÇALVES, 2007). Como exemplo de uso de GIS, temos o trabalho de (NEVES et al., 2016) onde foram coletados dados de uma rede social e a geolo-calização dos usuários, para reproduzir uma ferramenta que pode auxiliar na recomendação de bares e restaurantes, de acordo com o comportamento dos estabelecimentos.

Na Figura 5, vemos que, ao redor do banco de dados de um GIS temos vários outros elementos de software, como sistema de processamento de imagens, digitalização de mapas, sistema de análise estatística, entre outros. Esses elementos ajudam a compor as funções neces-sárias para um Sistema de Informações Geográficas (HAMADA; GONÇALVES, 2007).

Figura 5 – Componentes de um Sistema de Informações Geográficas.

(HAMADA; GONÇALVES, 2007)

O trabalho de (NETO et al., 2014) demonstra o uso de um sistema de geoprocessamento. Os autores desenvolveram um aplicativo, denominado de Integra-GIS, que disponibiliza mapas, dados demográficos, recursos de saúde e estrutura urbana voltados para a região da Baixada Santista e da cidade de Ribeirão Preto, no estado de São Paulo. Em um dos exemplos dados pelo trabalho, temos a geolocalização dos casos registrados de dengue na cidade de Santos, conforme mostra o mapa da Figura 6.

No trabalho de (VIANNA et al., 2010) foram utilizados um conjunto de dados de saúde para buscar características maternas, que auxiliem na predição de mortalidade infantil. Neste estudo foram utilizados dados sobre mortalidade infantil, analisados pelos Comitês de Prevenção da Mortalidade Infantil, e a partir desses dados foram coletadas informações a respeito das mães dessas crianças. Os autores então criaram um conjunto de características que definem os tipos de mães que precisariam de uma atenção especial durante o período de gestação, para evitar possíveis problemas com as crianças após o nascimento.

(20)

Figura 6 – Casos de dengue em Santos observados pelo aplicativo Integra-GIS.

(NETO et al., 2014)

Foram estudados também o caso de (LOPES; CARVALHO; LAHM, 2016) que utiliza a mineração de dados e a técnica de KDD Knowledge Discovery in Database para identificar dificuldades enfrentadas por profissionais de enfermagem com relação ao Prontuário Eletrônico do Paciente. Problemas como falta de conhecimento sobre o manuseio do prontuário, bem como sobre os comandos utilizados para realizar determinada tarefa, até a falta de conhecimento da informática propriamente dita e a ausência de treinamento e capacitação que pudessem facilitar o uso do prontuário.

Buscando por projetos que propusessem soluções tecnológicas para problemas urba-nos, foi encontrado também (SOUZA; COELHO; FERNANDES, 2018), que utiliza GIS e Co-laboração Coletiva para o desenvolvimento de um aplicativo voltado a denúncia de problemas urbanos em um município. Com uma proposta bastante similar, também temos o trabalho de (SCHAEFER; KOHLER, 2018) que propõe um sistema de mapeamento de problemas sociais e urbanos, também através de colaboração dos usuários, reunindo informações sobre incidentes, problemas e áreas perigosas em uma determinada localidade.

2.3 INTERAÇÃO HUMANO COMPUTADOR

De acordo com (BARBOSA; SILVA, 2010) a Interação Humano-Computador (IHC) é a área interessada no projeto, implementação e avaliação de sistemas computacionais que intera-gem com os seres humanos. Este estudo permite melhor compreensão desses casos de interação e, por consequência, visam melhorar a concepção, construção e inserção das TICs na vida das pessoas.

(21)

"Usar um sistema interativo significa interagir com sua interface para alcançar ob-jetivos em determinado contexto de uso. A interação e a interface devem ser ade-quadas para que os usuários possam aproveitar ao máximo o apoio computacional oferecido pelo sistema."

No que se refere a esta adequação dos sistemas na perspectiva do IHC, temos quatro critérios de qualidade de uso para considerar: usabilidade, experiência do usuário, acessibilidade e comu-nicabilidade. A usabilidade está diretamente ligada à experiência do usuário; ela diz respeito à facilidade com que os usuários conseguem aprender a utilizar a interface e o uso que fazem dela. Estuda também como foi a satisfação do usuário com o uso e quais o sentimentos e emoções dos mesmos para com o sistema. Quanto à acessibilidade, relacionamos com o cuidado em permitir que o maior número de pessoas possam interagir com o sistema, tenham elas alguma deficiência ou não. A comunicabilidade, por sua vez, nos diz que a interface deve comunicar corretamente ao usuário suas intenções de design e a lógica de funcionamento do sistema (BARBOSA; SILVA, 2010).

Em (GARCIA et al., 2013) vemos uma pesquisa com usuários daltônicos quanto ao es-quema de cores que compõe uma aplicação, relatando quais a dificuldades encontradas e quais as melhores combinações de cores. O trabalho apresenta ainda um guia de recomendações para desenvolvimento de interfaces gráficas que atendam satisfatóriamente tanto ao público com dal-tonismo, quanto para usuário com visão normal. Medidas de simples implementação e que aten-dem aos critérios de acessibilidade da área de IHC.

No que abrange o escopo deste projeto, optou-se por focar os conceitos de IHC para a área de usabilidade e avaliação heurística. O desenvolvimento do protótipo deve procurar aten-der os cinco componentes de condução da usabilidade, conforme definido pela ISO 9241-11 (ISO9241-11, 1998):

- Capacidade de aprendizado: usuário tem facilidade em interagir com a interface e aprender como ela funciona;

- Eficiência: Após compreender como realizar tarefas no sistema, o usuário deve possuir agilidade e praticidade para realizar tais ações com eficiência;

- Facilidade de memorização: O usuário tem facilidade em memorizar as funcionalida-des do sistema;

- Erros: A interface não deve direcionar os usuários ao erro, mas, em caso de erros, o usuário deve ser capaz de resolver o problema com facilidade;

- Satisfação: manter a satisfação do usuário com o sistema;

Avaliação heurística é, de forma sucinta, a realização da avaliação da interface pelo usuário baseada em um conjunto de regras (heurísticas). Existem 10 heurísticas definidas por (NIELSEN, 1994): Visibilidade do sistema, relacionamento entre interface e o mundo real, con-trole e liberdade do usuário, consistências e padrões, prevenção de erros, reconhecimento em vez de lembrança, flexibilidade e eficiência de uso, estética e design minimalista, ajudar os usuários

(22)

a reconhecer, diagnosticar e corrigir erros, ajuda e documentação. Cada heurística é avaliada com valores de 0 a 4, de acordo com o seguinte critério:

- Zero (0): não é um problema; - Um (1): problema cosmético; - Dois(2): problema leve; - Três(3): problema sério; - Quatro(4): problema crítico.

São determinados de 3 a 5 pessoas para realizar os testes e as avaliações são feitas indi-vidualmente, sem troca de informações entre os avaliadores. Ao fim da avaliação pode ser feito o comparativo das experiências e compilação dos resultados encontrados (NIELSEN, 1994).

O trabalho de (REIS et al., 2017) trata de uma aplicação prática de avaliação de usabili-dade de um aplicativo, descrevendo primeiramente as funcionaliusabili-dades deste aplicativo, seguido do passo-a-passo da avaliação a ser realizada, desde o local de realização, o perfil dos usuários, as tarefas de teste, até os dados coletados e as observações feitas pelos avaliadores.

2.4 ALGORITMOS

Entende-se como algoritmo um conjunto de passos bem definidos, não ambíguos, que recebem uma, ou mais, entradas, as processam e retornam saídas (CORMEN, 2009). Ainda segundo (CORMEN, 2009), um algoritmo pode ser considerado uma maneira para resolver pro-blemas computacionais bem definidos.

Para a elaboração do protótipo de aplicação móvel deste estudo, são usados vários al-goritmos computacionais, mas os principais deles, que é parte essencial para o cálculo de rotas feito pelo protótipo, é o algoritmo de caminho mínimo (Shortest Path).

O algoritmo de caminho mínimo recebe, neste caso, 2 pontos geográficos (a localização do usuário e o destino para onde ele deseja ir) e um mapa com os caminhos possíveis e retorna a menor rota para ir da origem até o destino. Para isso o algoritmo monta estrutura de dados, que possuí todos os caminhos possíveis para sair da origem e chegar ao destino, atribui para cada trecho do caminho um determinado peso (que nesse caso é a distância do trecho) e ao fim desse processo realiza uma busca para encontrar o caminho que contém a menor soma de pesos (CORMEN, 2009).

A expansão de estudos na área de engenharia de transportes, apoiada pelo crescimento da quantidade de dados geolocalizados disponíveis, vêm aumentando o interesse nos algorit-mos de caminho mínimo (ATZINGEN et al., 2012). As aplicações do algoritmo de caminho mínimo são diversas, desde o planejamento de rotas de entregas (entrega postal, rotas de ônibus, operações de frete, dentre outros) (LORENA, 2001) até o roteamento de pacotes de redes de computadores (SULTAN; JAMIESON; SIMPSON, 2010).

(23)

O protocolo OSPF (Open Shortest Path First), por exemplo, é uma tecnologia que uti-liza o caminho mínimo para determinar o caminho que os pacotes de rede devem seguir para chegar ao destino. A métrica utilizada para calcular este trajeto, do pacote de rede, no protocolo OSPF é a largura de banda, o algoritmo busca enviar os pacotes pelos links que possuem maior capacidade de transferência, para minimizar o tempo de transmissão origem destino (SULTAN; JAMIESON; SIMPSON, 2010).

Já em (KRIPKA; SELONG, 2009), pode-se notar uma aplicação diferente para o ca-minho mínimo. Nesse caso os autores utilizaram o caca-minho mínimo para determinar o roteiro de entrega com menor distância, para que permitir a distribuição de mercadorias para cidades da região, mais rapidamente e de maneira, possivelmente, mais econômica.

2.5 LEVANTAMENTO BIBLIOGRÁFICO E ESTADO DA ARTE

Existem várias análises teóricas que quando exploradas de maneira detalhada, pode-se notar que a metodologia aplicada e os objetivos são semelhantes ao do presente estudo.

Em (NEVES et al., 2016) os autores utilizaram tecnologias como webcrawlers, escri-tos em linguagem Python, e dados públicos para fazer análises e buscar uma maneira para indi-car locais. Eles coletaram os nomes de estabelecimentos da cidade de Curitiba, em um site de anúncios, e com posse desses nomes construíram um webcrawler que coletava dados de séries temporais de popularidade dos estabelecimentos. O intuíto dos autores é encontrar uma maneira de indicar locais de acordo com os padrões de movimento que cada estabelecimento tem, ou seja, se 2 locais possuem séries temporais semelhantes talvez eles possam possuir comporta-mento semelhante, e o segundo local poderia ser indicado para um frequentador do primeiro estabelecimento (NEVES et al., 2016).

Já em (NOULAS et al., 2011), foi proposto em parte do artigo uma maneira de utilizar dados, como categorias de locais e localização dos locais na cidade, coletados da rede social geolocalizada Foursquare para classificar áreas e usuários de uma cidade. Segundo o autor, isso pode ser utilizado para identificar grupos de pessoas que possuem interesses em locais de uma mesma categoria, o que seria útil para comparar áreas urbanas de cidades distintas ou para ser utilizado em um sistema de recomendação de locais.

No escopo da saúde, temos uma imensa gama de trabalhos. Em 2014, (TIBES; DIAS; ZEM-MASCARENHAS, 2014) realizaram uma revisão integrativa da literatura, visando identi-ficar pesquisas envolvendo tecnologias móveis, aplicadas a saúde, em desenvolvimento no Bra-sil. A análise dos resultados desta revisão constatou que a maior parte dos trabalhos desenvol-vidos destinavam-se ao apoio de profissionais de saúde. Apenas 3, das 27 pesquisas analisadas pelos autores eram destinadas o apoio de pacientes.

(24)

sistemática da implementação de sistemas informatizados na área da saúde. Dentre os resultados encontrados pelos autores quanto a implementação desses sistemas, podemos destacar o relato de dificuldade no uso dos dados de saúde por falta de uma terminologia padrão, a inconsistência nos dados disponibilizados, além da falta de identificação entre os indicadores usados num sistema e os profissionais de saúde que o utilizam.

O trabalho de (ROCHA et al., 2017) realizou uma revisão integrativa de produções científicas especificamente com relação à aplicativos móveis voltados para saúde. Os autores encontraram diversas aplicações que tratam da promoção do cuidado da saúde, tanto pelo pa-ciente, quanto pelos profissionais de saúde e instituições médicas. Na conclusão desta revisão também foram identificadas algumas demandas por melhorias no escopo, como: realização de mais pesquisas sobre a preferência e perfil dos usuários-alvo, melhoria na eficácia e na confia-bilidade dos sistemas móveis e criação de ferramentas específicas para tratamentos.

Em (OLIVEIRA et al., 2018) temos um estudo sobre os dados abertos de saúde dis-ponibilizados pelo Paraguai e um comparativo dos mesmos com dados de saúde da cidade de Curitiba.

Figura 7 – Categorias de estabelecimentos de saúde de Curitiba e de Assunção/Paraguai.

(OLIVEIRA et al., 2018)

Na Figura 7 podemos observar algumas informações importantes: Curitiba possui mais unidades de saúde, mais hospitais, além de apresentar uma categoria diferente de Unidade de Saúde, a CAPS (Centro de Atenção Psicossocial), que funciona para atendimento de saúde men-tal e dá atenção ao consumo de álcool e drogas. Compreender o panorama da saúde na cidade estudada é de vital importância para o melhor desenvolvimento deste trabalho.

O aplicativo desenvolvido por (OLIVEIRA; COSTA, 2012) utiliza uma base de da-dos do Programa Nacional de Imunização, do Ministério da Saúde, e é destinado à educação de profissionais de saúde e pacientes com relação a processos de vacinação. O aplicativo disponibi-liza diversas informações sobre cada vacina como: composição; apresentação; indicação; idade de aplicação; via de administração; esquema; eventos adversos; contraindicações;conservação; validade e uso em situações especiais.

No trabalho de (NAKONETCHNEI et al., 2017), com foco no sistema de transporte público de Curitiba, vemos uma análise desta mesma base de dados disponibilizada pela Prefei-tura sendo integrada a base dados do projeto EuBra-BIGSEA5. A pesquisa relata as dificuldades encontradas durante o processo de integração, como a falta de padronização no armazenamento 5 http://www.eubra-bigsea.eu/ Acesso em 09/10/18

(25)

dos dados, além de divergência entre as fontes. Tais problemas também foram encontrados nos dados relacionados a saúde, como vemos em (GUEDES; BIM; KOZIEVITCH, 2017). Neste caso, foram analisados dados referentes a faixa de idade e ao tipo de procedimento do atendi-mento médico registrados na base de dados de saúde da Prefeitura de Curitiba. Este trabalho também é bastante relevante por identificar algumas questões a respeito desses dados como: ocorrência de erro humano durante os registros, necessidade de integração de fontes de dados distintas e uma maior integração temporal.

Os trabalhos citados acima, de forma geral, utilizam fontes de dados públicas e hete-rogêneas, técnicas computacionais, análises variadas e técnicas de apresentação de dados. Bus-cando entender melhor um possível problema, em determinada área da sociedade, os trabalhos propõem ferramentas ou métodos para ajudar a solucionar os problemas de maneira inteligente (SILVA; LOUREIRO, 2015). O presente trabalho também tem este objetivo, visando atender uma demanda por acesso à informações de saúde desenvolvendo um aplicativo móvel que dis-ponibilize para os usuários informações da melhor maneira possível.

(26)

3 METODOLOGIA

Para alcançar os objetivos propostos anteriormente, a metodologia do projeto foi divi-dida em 5 etapas, sendo elas: realização da revisão bibliográfica, período de análise e projeto do sistema, de desenvolvimento, seguida da avaliação do que foi criado, e finalizando com a conclusão do trabalho. Essas etapas estão ilustradas na Figura 8. Cada etapa possui ainda suas subfases, que serão descritas posteriormente à figura.

Figura 8 – Fluxograma da metodologia.

No que se refere a revisão bibliográfica, as pesquisas realizadas foram divididas entre os quatro tópicos principais: programação de dispositivos móveis, banco de dados e GIS, interação humano-computador e por fim, algoritmos.

Visando a melhor compreensão do público que deseja-se alcançar, a etapa de análise e projeto abrange como metodologia o desenvolvimento, aplicação e análise de dados de uma pesquisa, realizada com uma amostra de moradores da cidade de Curitiba, sobre o tema da saúde e a possibilidade de uma solução tecnológica. Com o resultado desta pesquisa, e ainda na etapa de análise e projeto, passaremos pela fase de definição dos requisitos funcionais e não funcionais do protótipo, modelagem do banco de dados, definição da arquitetura a ser utilizada, além do estudo e escolha das tecnologias empregadas.

Finalmente com relação ao desenvolvimento do projeto, serão realizadas as seguintes fases: estruturação da base de dados, construção do servidor e o desenvolvimento da aplicação móvel.

A avaliação do protótipo desenvolvido é o próximo item a ser realizado, e consiste em testes da aplicação diretamente com um grupo de usuário e o relato de suas experiências.

A etapa de conclusão refere-se a correção de erros tanto de documentação quanto da implementação do protótipo e a finalização do documento contendo o relato dos resultados ge-rados com este trabalho.

(27)

4 DESENVOLVIMENTO

Este capítulo retrata as fases de desenvolvimento do projeto. Inicia apresentando os recursos de hardware e software necessários. Em seguida, temos a análise dos resultados do questionário aplicado ao público, passando então para os diagramas de modelagem do projeto e por fim, relata a estruturação da base de dados que foi realizada.

4.1 RECURSOS DE HARDWARE E SOFTWARE

Os recursos utilizados durante o desenvolvimento desse projeto foram segmentados e descritos nas seções de Recursos de Hardware 4.1.1 e Recursos de Software 4.1.2. Estas duas sub-seções irão descrever todas as tecnologias adotadas para desenvolver a metodologia pro-posta. A sessão termina com ilustração da arquitetura do sistema .

4.1.1 Recursos de Hardware

O hardware utilizado para executar todos os processos descritos nesse documento, foi um notebook com processador Intel Core I7, 12Gb de memória RAM DDR3, capacidade de armazenamento de 250Gb SSD e 500Gb de disco rígido, rodando Linux Mint 18.3 Sylvia e com link de internet de 100Mb por segundo. Para teste da aplicação móvel, utilizou-se um smartphone Motorola Moto G4 Plus, com 2Gb de RAM e 32Gb de armazenamento, rodando Android 7.0

Nougat.

O servidor da aplicação está rodando em uma máquina virtual no AWS Amazon.1O ser-vidor possui 1Gb de memória, processador dual core e conta com a mesma gama de aplicações que são descritas na seção 4.1.2

4.1.2 Recursos de Software

Do ponto de vista de software, foi utilizado linguagem de programação Python 3, com bibliotecas BeautifulSoup, Requests e MySQLConnector, para o desenvolvimento dos coletores, manipulação de dados e inserção de dados na base de dados MySQL, que fica no servidor que alimenta a aplicação móvel. Essas tecnologias Python, citadas acima, estão disponíveis tanto no servidor, quanto no sistema operacional do notebook utilizado no desenvolvimento dos coletores e da aplicação móvel. Para o desenvolvimento da aplicação móvel foi utilizado a linguagem de 1 https://aws.amazon.com/ Acessado em: 13/11/2018

(28)

programação Java/Android, o desenvolvimento foi realizado na IDE Android Studio 3.1, com emulador de Android 7.0 Nougat e para o versionamento do projeto foi utilizada a plataforma

GitHub.

O servidor na Amazon possui instalado os seguintes softwares: Banco de dados Mysql

8.0, Python versão 3, com as bibliotecas Google Maps Geocoding, Google Maps Directions e Facebook Developers.

4.2 ANÁLISE E MODELAGEM

Este capítulo reune a apresentação e análise do questionário aplicado com a comuni-dade. Espera-se que os resultados decorrentes desta pesquisa sirvam como guia para a modela-gem de soluções mais adequadas às necessidades dos usuários.

4.2.1 Análise do questionário

Um questionário, contendo 8 perguntas, foi aplicado de 06 de Abril à 25 de Maio de 2018, e obteve 85 respostas de pessoas que residem na cidade de Curitiba ou região metropo-litana. Os participantes da pesquisam foram, em sua maioria alunos e professores na UTFPR, câmpus Curitiba. Para os professores da universidade, foram entregues uma versão impressa do questionário, que foi respondida e então coletada. Os demais participantes responderam as mesmas perguntas através de um formulário online disponibilizado pelos autores. Todas as res-postas foram posteriormente reunidas e só então analisadas. O questionário completo pode ser visualizado no Apêndice A deste documento.

Durante a análise primária dos resultados do questionário já podemos obter informa-ções interessantes. No gráfico ilustrado na Figura 9 identificamos a faixa etária dos participantes da pesquisa: cerca de 15% encontra-se em idade inferior ou igual a 20 anos, 60% possui entre 21 e 30 anos, e cerca de 25% das pessoas está na faixa acima dos 31 anos. Tendo representantes em todas as classes da Figura 9, podemos considerar que as idades da população curitibana estão bem representadas na pesquisa.

Com relação ao bairro de residência, a pesquisa abrangeu respondentes alocados em 36, dos 75 bairros existentes na cidade de Curitiba. Além disso, 4% das pessoas registraram morar na região metropolitana.

A Figura 10 refere-se a forma de acesso à saúde de cada participante. Mais de 68% dos entrevistados afirmaram utilizar os recursos de um plano de saúde ou convênio. A rede pública de saúde é utilizada por quase 30% e os demais entrevistados assinalaram que optam por um serviço de atendimento médico privado, sem mensalidade.

(29)

Figura 9 – Distribuição de frequência dos entrevistados, por grupo etário.

Figura 10 – Gráfico referente ao modo de acesso à rede de saúde dos entrevistados.

Ainda a respeito do perfil das pessoas entrevistadas, a Figura 11 mostra o levantamento feito sobre o sistema operacional utilizados pelos usuários em seus smartphones.

Figura 11 – Distribuição dos entrevistados, de acordo com os sistemas dos smartphones.

Os entrevistados também foram questionados a respeito de funcionalidades que eles gostariam de ter acesso em um aplicativo de saúde. Foram dadas cinco opções prévias, sendo possível marcar mais de uma opção. A seguir, temos a descrição das opções, seguida da quanti-dade de votos recebida:

(30)

votos;

2 - Pesquisar por médicos, clinicas e hospitais da rede pública - Recebeu 49 votos; 3 - Pesquisar por atendimento médico mais próximo de mim - Recebeu 60 votos; 4 - Pesquisar por especialidades médicas - Recebeu 65 votos;

5 - Informações sobre os médicos, clinicas e hospitais (como telefone, endereço, horário de funcionamento) - Recebeu 65 votos.

Além disto, os entrevistados puderam sugerir outras funções desejadas mas não listadas anteriormente. A seguir, algumas das respostas registradas no questionário:

R1:"Poderia ter uma classificação de outras pessoas de como foi o atendimento delas

com aquele médico ou naquele hospital. (Mais ou menos como tem no Google)."

R2:"Poderia ter como avaliar os médicos, para sabermos como é o atendimento, por

ex. Se atrasa, se examina de verdade etc."

R3:"Poderia ser relacionado a outro aplicativo (ex instagram, facebook), para você ter

sua rede de amigos, com isso você poderia ver quais médicos e hospitais seus conhecidos já foram e recomendam."

R4:"Avaliação e comentários sobre os médicos seria algo interessante."

R5: "Além de permitir uma avaliação dos profissionais e instituições, acho que seria

interessante ter a opção de, apesar do usuário ter de estar autenticado no sistema para fazer um comentário, poder aparecer anonimamente. As vezes é possível não gostar de um profissional mas ainda depender dele. Então manter o anonimato pode desinibir as pessoas. Ainda assim não é muito interessante poder deixar comentários sem estar autenticado."

R5:"Agendar consultas online." R6:"Opiniões sobre os atendimentos."

R7:"Talvez seja trabalhoso demais. Mas ter uma interface diferente de só uma barra

de texto. Separar as sub-áreas da saúde agrupando áreas parecidas juntas, tipo, um boneco para ortopedia onde você seleciona a área do corpo para buscas (pensando nas pessoas que sentem dor nas costas mas não sabem o que é coluna, num sistema q busca em texto por ortopedista de coluna, ela tem problemas de achar).Algo que simplifique esses montes de termos técnicos para leigos."

R8: "Agendamento de consultas, exames... informações sobre consultas e exames.. e

um mini guia de primeiro socorros."

R9:"Presença de fila e atendimento de emergências."

R10:"Que seja mostrado horários preenchidos e horários livres para evitar espera, já

que a pessoa terá um horário específico de atendimento."

R11:"Comentários de usuários." R12:"Por favor incluir o preço."

(31)

R13:"Armazenamento de exames laboratoriais."

R14:"Acho importante estatísticas (se possível) da avaliação do profissional. "Médicos

de Plano de Saúde"podem não atender as expectativas de atendimento e qualidade."

R15:"Seria muito interessante se o aplicativo pudesse integrar (ou permitisse integrar)

prontuários de diversos hospitais, clinicas, etc de cada usuário."

R16:"Conseguir marcar consulta no aplicativo"

R17:"Talvez mostrar aqueles(as) médicos que tem espaço na agenda mais próximos." R18:"Informações dos usuários sobre os médicos: pontualidade no atendimento, etc..."

Esta pesquisa serve de motivação para o desenvolvimento do projeto, além de instruir a respeito dos requisitos que devem ser considerados.

4.3 ARQUITETURA E DESCRIÇÃO DO SISTEMA

O sistema proposto possuí um protótipo de aplicação móvel, desenvolvido em Android nativo (Java), que será utilizado pelo usuário para interagir com o servidor. Essa aplicação se comunica com o servidor com troca de mensagens TCP (mais informações serão detalhadas adiante, nesta mesma seção).

O papel do servidor no escopo desse trabalho, é receber as mensagens do aplicativo móvel, processá-las e retornar as respostas, para que o cliente Android apenas formate e exiba essas informações para o usuário. Essa estratégia foi definida visando utilizar a menor quantidade de processamento possível da aplicação do usuário.

A arquitetura do sistema e suas tecnologias envolvidas é representada pela Figura 12 4.3.1 Trocas de mensagens

Como mencionado anteriormente, a interação entre cliente e servidor ocorre pode meio de trocas de mensagens, que estão formatadas em JavaScript Object Notation (JSON). Para cada tipo de interação, existe uma mensagem especifica que é trocada entre as duas entidades, con-forme exemplos abaixo:

{ "tipo":"especialidades", "usuario": [lat, lng], "especialidade":["nome_especialidade"], "raio": "distancia_maxima" }

(32)

Figura 12 – Arquitetura do sistema CliqueMed.

Quando o dispositivo envia uma mensagem para o servidor com o "tipo"igual a "espe-cialidades", o servidor irá retornar uma lista de estabelecimentos médicos, que estejam dentro do raio de busca, com base na localização do usuário, e que atendam a especialidade especificada no campo "especialidade". { "tipo":"proximos", "usuario": [lat, lng], "raio": "distancia_maxima" }

No exemplo acima o dispositivo solicita ao servidor os estabelecimentos que estão pró-ximos a sua localização. A descrição dos campos é exatamente igual ao exemplo anterior, exceto por essa busca desconsiderar à especialidade médica, ou seja, serão retornados os locais mais próximos independentemente da especialidade atendida.

A última mensagem relevante que o cliente envia ao servidor está descrita abaixo: {

"tipo":"detalhes",

"crm":"crm_do_estabelecimento", "usuario":[lat, lng]

(33)

Ao enviar essa mensagem o cliente está solicitando ao servidor mais informações a res-peito de um estabelecimento, especificado pelo usuário através da interação com o aplicativo. São enviados duas informações importantes na mensagem, o "crm"que é usado para identifi-car de maneira única um estabelecimento médico e a latitude e longitude do usuário, que são utilizados para estimar o tempo de deslocamento entre o usuário e o local escolhido.

Existem outras mensagens que o cliente envia para o servidor, mas as três citadas aqui são consideradas, pelos autores, as principais e representam grande parte das funcionalidades propostas pelo app.

O servidor possui um conjunto de respostas que devem ser enviadas à aplicação em caso de sucesso na execução de uma tarefa, ou em caso de erro. As tarefas são especificadas de acordo com o tipo de mensagem que é recebida no servidor. Abaixo segue um exemplo de resposta do servidor para os tipos de mensagens "especialidades"e "proximos":

{

"distancia": 0.321, "cidade": "Curitiba",

"endereco": "PRACA RUI BARBOSA 694", "crm": 110,

"nome": "SANTA CASA DE CURITIBA", "bairro": "CENTRO"

}

Através do conteúdo dessa resposta, é possível exibir, no app, a lista de resultados das buscas que o usuário solicitou.

Ao receber uma mensagem solicitando mais informações sobre um estabelecimento, o servidor faz diversos cálculos para estimar o tempo de deslocamento entre a localização do usuário e o destino escolhido. São estimados os tempos de deslocamento para diversos meios de locomoção, como: andando, de carro e ônibus. Essas informações são calculadas através das bibliotecas Google Maps2

{

"crm": CRM_ESTABELECIMENTO, "nome": "NOME_FANTASIA", "endereco": "RUA, NÚMERO", "bairro": "NOME_BAIRRO",

"lat": "LATITUDE_ESTABELECIMENTO", "lng": "LONGITUDE_ESTABELECIMENTO", "distancia":"DISTÂNCIA EM KM",

"estimativa":["onibus":TOTAL_MINUTOS,"carro":TOTAL_MINUTOS, 2 https://cloud.google.com/maps-platform/?hl=pt-BR Acessado em: 14/11/2018

(34)

"andando":TOTAL_MINUTOS] }

Sempre que ocorrer um erro no processamento da mensagem, no lado do servidor, será enviado ao dispositivo móvel uma mensagem de erro, que deve informar ao usuário o problema ocorrido ao tentar realizar a tarefa.

4.3.2 Funcionamento do servidor

O servidor foi desenvolvido com o intuito de centralizar as informações e todo o pro-cessamento, como os cálculos de distância, estimativas de tempo de deslocamento e as consultas de dados, fora do dispositivo do usuário. Essa abordagem foi escolhida visando economizar re-cursos do usuário.

Do ponto de vista de codificação, foi escolhida a linguagem Python para implementação de todas as funcionalidades, devido a sua versatilidade e simplicidade, que permite fazer várias operações com poucas linhas de código (ROSSUM et al., 2007). Outro ponto forte da linguagem escolhida é a gama de bibliotecas disponíveis para os desenvolvedores (ROSSUM et al., 2007). Valendo-se dessas facilidades proporcionadas pela linguagem escolhida, utilizou-se vá-rias bibliotecas python no decorrer do desenvolvimento, cada uma com seu propósito especifico, conforme descrição abaixo:

• Pymysql: Esta biblioteca é utilizada para conectar o código python no banco de dados

MySQL. São feitas através dessa biblioteca, também, todas as consultas no banco de dados.

Abaixo segue um exemplo de como é conectar no banco e realizar uma consulta através da biblioteca:

import pymysql

#Conectando no banco de dados

conn = pymysql.connect(HOST, USUARIO, SENHA, db='mysql') cur = conn.cursor(pymysql.cursors.DictCursor)

#Executando uma consulta no banco

cur.execute('SELECT * FROM Tabela_Exemplo')

• FacebookAPI: A biblioteca do Facebook é utilizada para validar o usuário que fez login no protótipo, através de suas credencias da rede social. Isso é importante para confirmar a identidade da pessoa que está avaliando o estabelecimento.

import requests

(35)

requests.get("graph.facebook.com/USER_ID/access_token="+token_usuario)

...

//validar retorno do servidor do Facebook,

//para verificar se o usuario eh valido

• Google Maps Geocoding: No escopo dessa aplicação, essa biblioteca é utilizada para con-verter uma coordenada (latitude, longitude) em um endereço.

import googlemaps

gmaps = googlemaps.Client(key=CHAVE DE DESENVOLVEDOR) # converter latitude e longitude em endereço

endereco = gmaps.reverse_geocode((LATITUDE, LONGITUDE))

Essa é uma tarefa necessária, pois quando o Google Maps é chamado para traçar a rota entre o usuário e o destino, são enviados os dois endereços. Caso fossem enviadas as coordenadas da origem e destino, o Google Maps conseguiria retornar a rota, mas isso faria com que o usuário tivesse dificuldades em identificar os endereços, como mostra a Figura 13.

Figura 13 – Rota com endereços X Rota com coordenadas.

• Google Maps Directions: Utilizada para estimar o tempo de deslocamento do usuário ao destino. Essa estimativa é feita para três tipos distintos de meios de locomoção: Carro, ônibus e andando.

import googlemaps

gmaps = googlemaps.Client(key=CHAVE DE DESENVOLVEDOR)

#retorna as rotas e as estimativas de tempo de deslocamento rotas_estimativas = gmaps.directions(ENDERECO_ORIGEM,

ENDERECO_DESTINO, mode=TIPO_LOCOMOCAO,

departure_time=DATA_HORA_ATUAL) Na codificação do servidor foram utilizas outras bibliotecas, como por exemplo para processar JSON, mas elas não são consideradas cruciais para aplicação. Portanto não serão des-critas nesse documento.

(36)

Figura 14 – Fluxo de processamento do servidor.

Conforme citado na seção 4.3.1, o funcionamento do servidor é baseado em receber mensagens e enviar respostas com informações processadas. A Figura 14 mostra o fluxo de processamento das mensagens no servidor.

Ao receber uma mensagem, a primeira operação realizada é a transformação da men-sagem em um objeto do tipo JSON, para facilitar a manipulação das informações recebidas. Em seguida é feita a verificação para identificar o tipo de mensagem que o cliente enviou.

Se o usuário está solicitando os estabelecimentos mais próximos a ele, o servidor busca locais no banco de dados, calcula a distância entre as localizações (coordenada do usuário e do estabelecimento), ordena de maneira ascendente e retorna a lista para o dispositivo móvel. Caso a busca seja por especialidade, o passo que muda no processo descrito acima, é a consulta feita no banco de dados. Para esse tipo de busca é adicionado um filtro que especifica a especialidade que o usuário tem interesse.

Ao solicitar mais informações de um local, o dispositivo móvel identifica o CRM do estabelecimento, que o usuário selecionou em uma lista, e envia para o servidor. Com esse CRM o servidor faz uma busca no banco de dados, para pegar a latitude e longitude do local é utili-zada a biblioteca Google Geocoding e, para converter as latitudes e longitudes em endereços é utilizada a biblioteca Google Directions.

4.4 DIAGRAMAS

Nesta seção serão apresentados os diagramas e modelos gerados para projetar o sis-tema descrito neste trabalho. Inicialmente, será apresentado o Diagrama de Caso de Uso, e suas respectivas descrições seguido então do o Diagrama de Entidade - Relacionamento.

(37)

4.4.1 Caso de Uso

Apresentação, através de descrição e diagrama, expresso na Figura 15, dos principais casos de uso da aplicação prototipada neste projeto.

Figura 15 – Diagrama de Caso de Uso.

4.4.1.1 Descrição de Caso de uso

Esta Seção apresenta detalhes dos principais casos de uso indicados no diagrama con-tendo: descrição de sua ação, pré-condições, fluxo básico e alternativo e pós-condições.

4.4.1.1.1 Buscar por especialidade médica

Descrição: O usuário inicia o processo de busca por especialidade médica. Ele seleciona uma das opções de especialidade fornecidas pelo aplicativo.

Pré-condições: não possui.

Referências

Documentos relacionados

Dois termos têm sido utilizados para descrever a vegetação arbórea de áreas urbanas, arborização urbana e florestas urbanas, o primeiro, segundo MILANO (1992), é o

No âmbito da Década da Educação para o Desenvolvimento Sustentável (2005-2014) ambiciona-se uma escola renovada, capaz de direccionar a humanidade para um caminho

Here, we aim to understand how expression of RA degradation enzymes (Cyp26) can be correlated with RA distribution and functions during amphioxus (B. lanceolatum)

Para analisar as Componentes de Gestão foram utilizadas questões referentes à forma como o visitante considera as condições da ilha no momento da realização do

[r]

O Plano de Manutenção dos Monumentos é uma ferramenta de gestão e de conservação preventiva que tem os seguintes objetivos: melhorar a gestão de recursos (reduzindo custos a

Isto porque acreditamos que este estudo pode servir para a compreensão do papel da LM na aula de língua portuguesa como língua segunda e que pode também

Abstract: We consider the problem of robust model predictive control for linear sampled– data dynamical systems subject to state and control constraints and additive and