Full text
Universidade do Minho Escola de Engenharia Henrique José Leão Costa Santos Ribeiro HealthAdvisor Ecosystem Mobile Solutions Julho, 2021
Universidade do Minho Escola de Engenharia Henrique José Leão Costa Santos Ribeiro HealthAdvisor Ecosystem Mobile Solutions Dissertação de Mestrado Mestrado em Engenharia Informática Trabalho efetuado sob a orientação de Cesar Analide João Ricardo Ramos Julho, 2021
ii DIREITOS DE AUTOR E CONDIÇÕES DE UTILIZAÇÃO DO TRABALHO POR TERCEIROS Este é um trabalho académico que pode ser utilizado por terceiros desde que respeitadas as regras e boas práticas internacionalmente aceites, no que concerne aos direitos de autor e direitos conexos. Assim, o presente trabalho pode ser utilizado nos termos previstos na licença abaixo indicada. Caso o utilizador necessite de permissão para poder fazer um uso do trabalho em condições não previstas no licenciamento indicado, deverá contactar o autor, através do RepositóriUM da Universidade do Minho. Licença concedida aos utilizadores deste trabalho Creative Commons Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional CC BY-NC-SA 4.0 https://creativecommons.org/licenses/by-nc-sa/4.0/deed.pt
DEcLARAçÃo or TNTEGRTDADE Declaro ter atuado com integridade na elaboração do pre:ente trabalho academico e confirmo que não recorri à prática de plágio nem a qualquer forma de utilizacâo indevida ou falsificacáo de informações ou resultados em nenhuma das etapas conducente à :ua elaboracâ0. [4ais declaro que conheço e que respeitei o Codigo de Conduta Etica da Universidade do Minho. \ l^ Ç1,, )q ée jr,lh,., J" )*^al (Locaiizaç ão) (Data) (Henrique José Leão Costa Santos Ribeiro) iii
Agradecimentos Gostaria de agradecer à minha família, aos meus Pais, Irmã e Irmão por todo o apoio, paciência e amor que sempre me deram. iv
Resumo HealthAdvisor Ecosystem Mobile Solutions Apreciando plataformas on-line de partilha de opiniões ou experiências sobre diversos serviços pode-se reparar que existe a necessidade, por parte dos utilizadores, de saber opiniões de outros. Aqui insere-se o sentido de comunidade que é prevalente na Internet. Desde redes sociais a videojogos este conceito faz-se presente onde a criação de uma comunidade pode ser a chave para o sucesso de uma nova ideia. Neste caso a nova ideia trata-se de HealthAdvisor Mobile Solutions (HeAd-MS), integrante de HealthAdvisor Ecosystem (HeAd-ES),HeAd-MS aponta para a criação de uma plataforma móvel onde é possível partilhar opiniões e avaliações sobre serviços de saúde existentes, estas opiniões e avaliações são feitas pela comunidade e para a comunidade, gerando assim valor para os utilizadores numa espécie de simbiose entre utilizador e plataforma. O que surge com a existência do HealthAdvisor Mobile Solutions trata-se de uma solução não só integrante mas ainda parte vital de um ecossistema maior HealthAdvisor Ecosystem que tem como objetivo a criação de uma comunidade como suporte principal e mais valia do sistema, potenciando o seu crescimento e florescimento graças à sua transparência e simplicidade. Com o desenvolvimento desta dissertação o que se alcançou foi a criação de uma aplicação móvel, cross-platform, com foco na comunidade. Aqui um utilizador pode-se informar sobre serviços de saúde, saber opiniões/avaliações de outros utilizadores e ainda partilhar a sua própria opinião sobre esses mesmos serviços. A aplicação foi desenvolvida em React Native servida de dados por uma web REST API. Palavras-chave: saúde, comunidade, avaliação, móvel. v
Abstract HealthAdvisor Ecosystem Mobile Solutions Assessing on-line platforms of opinion or experience sharing on various services it is possible to notice that there is a need, from the users, to know opinions from others. It‘s here where the sense of community emerges. Prevailing on the internet from social networks to video games this concept makes itself present where the creation of a community can be the key to the success of an idea. In this case the new idea is HealthAvisor Mobile Solutions (HeAd-MS), which integrates the HealthAdvisor Ecosystem (HeAd-ES), HeAd-MS aims for the creation of a mobile platform where it is possible to share opinions and ratings on existing health services. These opinions and ratings are made by the community for the community, generating value to the users in a sort of symbiosis between the user and the platform. What emerges with the existence of HealthAdvisor Mobile Solutions is a solution that not only belongs but is also a vital part of a bigger ecosystem, HealthAdvisor Ecosystem, that has as its objective the creation of a community as main support and is an important asset to the system, potentiating its growth and allowing it to thrive thanks to its transparency and simplicity With the development of this dissertation what was achieved was the creation of a cross-platform mobile application with a focus on the community. Here a user can find out about health services, find out about other users’ reviews and ratings and also share their own opinion about these same services. The application was developed in React Native and is served data by a web REST API. Keywords: health, community, rating, mobile. vi
Índice Lista de Figuras ix 1 Introdução 1 1.1 Motivação ..................................... 1 1.1.1 HealthAdvisor Ecosystem .......................... 2 1.1.2 HealthAdvisor Mobile Solutions ....................... 2 1.2 Caracterização do problema ............................. 4 1.3 Objetivos ...................................... 4 1.4 Estrutura ...................................... 5 2 Estado da arte 6 2.1 Plataformas existentes ............................... 6 2.1.1 Doctoralia ................................. 6 2.1.2 Healthgrades ................................ 11 2.1.3 Vitals ................................... 13 2.1.4 Análise ................................... 16 2.2 Sistemas de Recomendação ............................ 17 2.2.1 Interesse na utilização ........................... 18 2.2.2 Funcionamento ............................... 19 2.2.3 Aplicação neste projeto ........................... 22 3 Análise das ferramentas 23 3.1 Ferramentas disponíveis .............................. 23 3.2 Ferramentas testadas ................................ 24 3.3 Ferramentas utilizadas ............................... 26 4 Desenvolvimentos 28 4.1 Objetivos ...................................... 28 4.2 Estrutura ...................................... 29 vii
ÍNDICE 4.3 Mockups ...................................... 30 4.4 Integração com serviços centrais .......................... 32 4.5 Estado final ..................................... 33 5 Conclusão e Trabalho Futuro 37 Bibliografia 39 viii
CAPÍTULO 1. INTRODUÇÃO e opiniões sobre vários tipos de estabelecimentos criando então uma base de informação robusta e minimamente fiável para outros utilizadores encontrarem o que desejam ou necessitam. Reunindo as características do Doctoralia,Vitals,Healthgrades,TripAdvisor,Yelp eFoursquare como o sistema de avaliações com comentários associados, pesquisa por especialidade e localização, filtros que possibilitem a especificação da pesquisa e descrição detalhada de cada serviço listado, será possível construir a comunidade que é desejada e precisa para outros utilizadores encontrarem o serviço de saúde que procuram. Em suma este projeto visa ser uma plataforma móvel onde um utilizador pode: • encontrar e descobrir serviços de saúde; • informar-se sobre um serviço de saúde; • ler sobre experiências de outros utilizadores; • partilhar opinião e avaliar serviços de saúde. 1.4 Estrutura Esta dissertação encontra-se dividida em 5 capítulos: 1. Introdução; 2. Estado da arte; 3. Análise das ferramentas; 4. Desenvolvimentos; 5. Conclusão e trabalho futuro. O primeiro capítulo introduz o tópico explicando a razão e motivação desta dissertação, enquadrando o problema no contexto em que se insere assim como os seus objetivos a preencher. No capítulo seguinte, estado da arte, é feito um estudo de plataformas existentes que se possam comparar ao HealthAdvisor Ecosystem e ainda é abordado o tema de sistemas de recomendação como técnica interessante a aplicar a este projeto. No terceiro capítulo está presente uma análise de ferramentas e tecnologias disponíveis e utilizadas no HealthAdvisor Mobile Solutions, após isto está presente o capítulo número 4 onde se explica o trabalho desenvolvido na aplicação móvel ao longo desta dissertação, mostrando os passos tomados de inicio até ao resultado final. Finalmente chega-se ao quinto capítulo onde é feita uma conclusão que visa fazer um apanhado dos objetivos propostos expondo quais foram atingidos assim como dificuldades encontradas e ideias para trabalho futuro. 5
Capítulo 2 Estado da arte 2.1 Plataformas existentes Atualmente, apesar de se ter referido que, com a existência dos smartphones tem-se acesso a uma quantidade de soluções de software colossal, nem todas estas soluções foram criadas com a utilização móvel em mente, na verdade a maior parte das soluções de software que se podem comparar ao projeto proposto, HealthAdvisor, apenas se podem utilizar através do seu website. Nesta secção estas entidades concorrentes irão ser analisadas com detalhe com o objetivo de perceber o que neste momento as torna atrativas ou não. 2.1.1 Doctoralia Doctoralia [7] trata-se de um website que se poderá considerar o mais semelhante possível ao HealthAdvisor. Integrante do grupo Docplanner [5], Doctoralia é a maior plataforma de saúde estando disponível em 25 países [2]. Este website é dotado de funções como: • Pesquisa filtrada; • Sistema de avaliação e opinião do cliente; • Preçário; • Calendário e marcação de consultas; • Serviço de perguntas e respostas; • Solução móvel. 6
CAPÍTULO 2. ESTADO DA ARTE 2.1.1.1 Pesquisa Nesta plataforma é possível efetuar uma pesquisa por localidade, especialidade médica, condição médica e até pelo nome do profissional de saúde que presta o serviço [6]. Assim que se entra no site do Doctoralia é apresentado um formulário de pesquisa composto de duas barras de texto, uma para especialidade médica e outra para localidade, e um botão para executar, após preencher pelo menos uma destas barras é possível executar a pesquisa. Uma vez executada a pesquisa é apresentada uma nova página de resultados com possibilidade de filtrar melhor a pesquisa efetuada e uma lista de resultados dividida em páginas. Cada resultado é constituído através do nome do profissional de saúde ou da entidade, uma fotografia do profissional (caso disponível), avaliação média das avaliações de outros utilizadores, morada, calendário para efetuar uma marcação (caso disponível) e por vezes preçário. É ainda apresentado um mapa marcando as localizações de cada resultado. Na figura 2encontra-se representado o resultado da pesquisa por um oftalmologista em Braga. Figura 2: Resultados da pesquisa em Doctoralia 2.1.1.2 Sistema de avaliação e opinião A avaliação de um profissional de saúde representa a performance deste perante o cliente e quantas mais avaliações existirem mais confiança se pode ter neste sistema, pois irá representar de maneira mais autêntica a qualidade dos serviços prestados. O sistema consiste na atribuição de uma avaliação geral de uma a cinco estrelas onde uma significa “Péssimo” e cinco significam “Excelente”, posteriormente atribuem-se outras três avaliações aos critérios de pontualidade, atenção e localização. Após a atribuição das classificações avança-se para um formulário que se pode preencher com comentários sobre a experiência, o nome de quem está a avaliar, preencher em que estabelecimento decorreu a consulta e qual o motivo da consulta. Posto este processo é possível enviar a opinião que ficará associada, não a um estabelecimento, mas ao profissional de saúde que 7
CAPÍTULO 2. ESTADO DA ARTE efetuou a consulta. Na figura 3encontram-se representada a secção de avaliações de clientes na página de um serviço de saúde. Figura 3: Avaliações de utilizadores de Doctoralia 2.1.1.3 Preçário Nem sempre presente, vários profissionais registados na plataforma dispõem uma lista de preços sobre os seus serviços. Esta lista tem o propósito de informar os clientes, assim como, facilitar a marcação da consulta uma vez que, estes já têm noção dos preços. Na figura 4encontra-se um exemplo de um preçário disponibilizado por um serviço de saúde no Doctoralia. Figura 4: Exemplo de preçário de um profissional resgistado no Doctoralia 8
CAPÍTULO 2. ESTADO DA ARTE 2.1.1.4 Calendário e marcação de consultas Nos profissionais que disponibilizam calendário para marcação de consultas é possível encontrar esta função na sua página de detalhes. É permitido escolher uma hora e um dia entre vários possíveis e, quando selecionada é-se redirecionado para um formulário onde é necessário preencher detalhes pessoais como, o nome, e-mail, número de telemóvel, tipo de consulta e, caso possível, acordo de saúde. Após fornecer a informação pedida e concordar com acordo de tratamento de dados e termos e condições avança-se para um próximo passo onde é enviado um código para o número de telemóvel fornecido de maneira a confirmar o agendamento. Na figura 5encontra-se um calendário para possível agendamento de uma consulta na plataforma Doctoralia. Figura 5: Calendário para agendamento de uma consulta no Doctoralia 2.1.1.5 Serviço de perguntas e respostas Nesta plataforma é possível aceder a um espaço de perguntas e respostas onde qualquer utilizador pode colocar perguntas, anonimamente, e eventualmente será respondido por um profissional de saúde que é capaz de esclarecer pequenas dúvidas que possam surgir. As perguntas não são endereçadas a nenhum profissional em específico, mas sim a uma categoria de profissionais que melhor consigam responder. 9
CAPÍTULO 2. ESTADO DA ARTE (a) Perguntas (b) Respostas Figura 6: Serviço de perguntas e respostas no Doctoralia 2.1.1.6 Solução móvel ODoctoralia dispõe de uma aplicação móvel que possui todas as características disponíveis no website. De modo geral está bastante direcionado a conectar pacientes a profissionais de saúde, promovendo a marcação de consultas e o diálogo entre cliente e prestador de serviço. Na figura 7encontra-se representada a página principal da solução móvel de Doctoralia Figura 7: Solução móvel Doctoralia 10
CAPÍTULO 2. ESTADO DA ARTE 2.1.2 Healthgrades Healthgrades [14], integrante da lista da revista Time ”50 Websites That Make the Web Great”[19], tratase de uma empresa dos Estados Unidos da América que procura trazer ao consumidor conhecimento sobre procedimentos médicos assim como condições e serviços de saúde. Apesar de possuir um website bastante parecido ao Doctoralia tem a principal falha de apenas estar disponível nos Estados Unidos da América, bloqueando o acesso a visitantes fora dessa região. Apesar deste defeito, Healthgrades é dotado de várias funções em comum com o Doctoralia e ainda outras que este não dispõe. As suas funções irão ser analisadas em comparação com o Doctoralia. Funções em comum: • Pesquisa filtrada; • Sistema de avaliação e opinião do cliente. • Solução móvel Funções não presentes em Doctoralia: • Tempo de espera reportado; • Secção de aprendizagem. 2.1.2.1 Pesquisa Bastante similar ao sistema implementado pelo Doctoralia, é possível encontrar profissionais de saúde ou serviços de saúde por localização, condição médica, nome do profissional ou até nome do serviço. Após efetuar a pesquisa desejada a lista de resultados são apresentados alguns destaques iniciais como “Featured” (destaques), uma forma de monetizar o website através do pagamento por parte dos profissionais ou instituições de saúde para estes serem destacados, estes itens destacados são seguidos de uma lista de resultados. Na figura 8está representado o resultado de uma pesquisa por um pediatra em Nova Iorque. 11
CAPÍTULO 2. ESTADO DA ARTE Figura 8: Resultados da pesquisa em Healthgrades 2.1.2.2 Sistema de avaliação e opinião Nesta plataforma existem dois tipos de avaliações, avaliação entre uma a cinco estrelas. Após esta avaliação é possível escrever comentários sobre a experiência e ainda avaliar vários parâmetros como, a atenção ao paciente, facilidade na marcação de consulta, higiene das instalações, entre outros. Estas avaliações são associadas aos profissionais de saúde. O segundo tipo de avaliação que existe associa-se às instituições, estando presente nas suas páginas de informação, e está contido numa escala de zero a cem por cento, esta avaliação é comparada com a média nacional das instituições no website. Na página da instituição de saúde é possível ainda conhecer vários “prémios” de excelência cedidos pela plataforma à organização Finalizando, é possível verificar numa escala de uma a cinco estrelas a qualidade de vários serviços fornecidos pela entidade. Nas imagens 9a e9b encontra-se representado o sistema de avaliação de Healthgrades. (a) Avaliações de serviço de saúde (b) Prémios de serviço de saúde Figura 9: Sistema de avaliação de Healthgrades 12
CAPÍTULO 2. ESTADO DA ARTE 2.1.2.3 Tempo de espera Algo que pode passar despercebido e ainda ser tomado como irrelevante, esta plataforma dispõe, na secção de opiniões, de uma pequena label indicando o tempo médio de espera reportado pelos clientes. Esta função é importante destacar, especialmente nos dias de hoje em que, os horários ocupados e exigentes criam a necessidade da certificação que estes serão realmente cumpridos. 2.1.2.4 Secção aprendizagem Na plataforma existe uma secção onde é possível aprender sobre condições de saúde, procedimentos médicos, informações sobre os medicamentos possivelmente administrados e ainda com um guia de ajuda à criação de uma lista de perguntas a fazer quando numa consulta. Todos estes aspectos trazem valor à plataforma criando uma sensação de confiança e abertura com o utilizador, o que pode resultar no retorno de utilizadores bem como na vinda de novos utilizadores por parte de anteriores. Na figura 10 encontra-se representada a secção de aprendizagem de Healthgrades. Figura 10: Secção de aprendizagem em Healthgrades 2.1.2.5 Solução móvel Healthgrades à semelhança de Doctoralia também dispõe de aplicação móvel, no entanto esta está apenas disponível nos Estados Unidos da América, bloqueando o acesso a visitantes fora dessa região. 2.1.3 Vitals Esta plataforma faz concorrência direta a Healthgrades pelo que é apenas baseada nos Estados Unidos da América, no entanto, não bloqueia o acesso de fora. A sua estrutura é similar à da Healthgrades, porém, algo que salta à atenção imediatamente é a publicidade de fora, nas páginas dos profissionais de saúde, ou seja, esta plataforma utiliza a publicidade de serviços externos como uma forma de monetização [26]. 13
CAPÍTULO 2. ESTADO DA ARTE Vitals tem bastantes parecenças com Healthgrades, uma vez que têm as mesmas funções apenas com designações e estilos diferentes. Funções em comum com plataformas previamente analisadas: • Pesquisa filtrada; • Sistema de avaliação e opinião do cliente; • Secção de aprendizagem; • Marcação de consultas. 2.1.3.1 Pesquisa O site apresenta uma barra de pesquisa onde se insere um termo e uma localização e exibe uma lista de resultados, alguns destes marcados com “Sponsored” (patrocinado). Em semelhança dos destaques de Healthgrades, é possível filtrar a pesquisa consoante as necessidades. No conjunto de ofertas possíveis é possível visitar os perfis dos profissionais de saúde de maneira a conseguir mais informação sobre os mesmos. Na figura 11 encontra-se o resultado de uma pesquisa por um especialista em dermatologia em Nova Iorque. Figura 11: Resultado de pesquisa em Vitals 2.1.3.2 Sistema de avaliação e opinião Os utilizadores têm a opção de avaliar um profissional de saúde através da escolha na escala entre zero a cinco estrelas, zero indica que a experiência foi “Poor” (pobre) e cinco indica que a experiência foi “Excellent” (excelente), após esta avaliação é permitido preencher um título e um comentário sobre a experiência obtida. Esta plataforma possui o sistema de avaliação e opinião mais simples e rápido de 14
CAPÍTULO 2. ESTADO DA ARTE leu e avaliou com pontuação máxima o livro "The Hobbit". Este livro trata-se de uma história de fantasia e aventura do autor J. R.R. Tolkien. Outros utilizadores que leram esta obra leram também "The Lord of the Rings" que se insere nas mesmas categorias e foi escrita pelo mesmo autor. Um sistema de recomendação que utiliza filtragem colaborativa analisa as categorias das obras, ambas de fantasia, aventura e escritas pelo mesmo autor, e relaciona-as como itens de características bastante semelhantes. O sistema analisa ainda os leitores de ambas obras assumindo que estes utilizadores apreciam este tipo de obra. Quando um utilizador lê e avalia com a pontuação máxima uma delas, o sistema irá recomendar a este utilizador a outra. Analisando com mais detalhe este exemplo, o funcionamento de um sistema de recomendação que faz uso de filtragem colaborativa passa por atribuir às obras mencionadas as suas características de maneira binária, ou seja, estas duas obras têm categoria fantasia e aventura enquanto que nas restantes categorias possíveis para um livro, o valor ficará, por omissão, nulo. Desta maneira são criados os objetos 𝑙1(fantasia,aventura) e 𝑙2(fantasia,aventura) como se observa na figura 16. Figura 16: Características das obras O sistema irá, da mesma maneira, atribuir aos utilizadores características utilizando transações efetuadas. Se utilizadores 𝑢1e𝑢2leram e avaliaram positivamente as obras mencionadas, então são criados os objetos𝑢1(fantasia,aventura)𝑢2(fantasia,aventura), mostrando os seus interesses. Por fim quando um utilizador 𝑢3mostra interesse no item 𝑙1(fantasia,aventura) o sistema cria o objeto 𝑢3(fantasia,aventura) e recomenda o item 𝑙2(fantasia,aventura) uma vez que outros utilizadores com interesses semelhantes gostaram deste item. Na figura 17 encontra-se a comparação entre utilizadores e ainda o livro que se pode recomendar ao utilizador 𝑢3. Figura 17: Comparação entre interesses dos utilizadores Com este exemplo entende-se que este tipo de filtragem atribui categorias aos itens a recomendar e atribui interesses aos utilizadores. Fazendo um cruzamento destas informações e comparando interesses entre utilizadores semelhantes torna-se possível a criação de um modelo capaz de sugestões plausíveis. 21
CAPÍTULO 2. ESTADO DA ARTE 2.2.3 Aplicação neste projeto Como o HealthAdvisor pretende a catalogação de serviços de saúde (item) a criação de uma comunidade (utilizadores) que avalia estes mesmos serviços (transações) faz sentido a aplicação deste tipo de sistema. A catalogação e disposição dos serviços de saúde iria beneficiar do uso desta tecnologia para fornecer a cada utilizador uma lista representativa dos serviços mais relevantes, ajudando o utente na sua escolha e descoberta. De maneira a alimentar este sistema é possível a utilização de várias fontes de dados. As avaliações globais da comunidade, cada avaliação feita por um utilizador individual e ainda métricas de utilização da aplicação são fontes de dados que podem alimentar este sistema. Ao utilizar estes dados para o aperfeiçoamento da plataforma gera-se mais valor para os reais criadores de conteúdo, os utilizadores, de maneira a aumentar a sua satisfação. Isto poderá levar a mais volume de avaliações e ainda de utilizadores. Percebendo o que é, como funciona e como pode ser aplicado neste projeto, é possível concluir que um sistema de recomendação pode beneficiar este projeto tornando-o mais completo. 22
Capítulo 3 Análise das ferramentas 3.1 Ferramentas disponíveis Existem diversas ferramentas disponíveis para desenvolvimento de aplicações mobile. Existem ainda vários tipos de aplicações que se podem desenvolver. Para proceder na escolha das ferramentas que trariam mais vantagens ao desenvolvimento do HealthAdvisor Mobile Solutions foi realizada uma pesquisa e análise de ferramentas disponíveis. No universo mobile existem, essencialmente, dois sistemas operativos em que o mercado está segmentado, Android (de Google) e iOS (de Apple) [23], isto é evidenciado na figura 18. Deste modo, é possível verificar que a esmagadora maioria utiliza Android. Figura 18: Percentagem de mercado de sistemas operativos mobile 23
CAPÍTULO 3. ANÁLISE DAS FERRAMENTAS Na obrigatoriedade de realizar uma escolha seria preferível desenvolver para Android uma vez que possui a maioria de utilizadores, no entanto estar-se-ia a segmentar e perder bastantes (aproximadamente 26%) utentes mobile. Apesar de fazerem parte do mesmo sistema operativo existem várias versões de Android. Por isto é importante ter em conta quantas destas versões suportam a aplicação móvel e desenvolver para o maior número de utilizadores possíveis. De acordo com IBM developer [3] é possível desenvolver aplicações móveis nativas, cross-platform e web apps. Aplicações nativas são escritas numa linguagem suportada nativamente pelo sistema operativo em que o software irá funcionar. Estas aplicações dispõem de melhor performance e acesso imediato a novas features lançadas. No entanto ficam restringidas em termos de disponibilidade ao sistema operativo para o qual foram desenvolvidas. Aplicações cross-platform são desenvolvidas numa linguagem única e é possível a sua execução em diversas plataformas, facilitando e acelerando o desenvolvimento destas mesmas aplicações. Costumam não ser tão eficientes como soluções nativas no entanto a possibilidade de disponibilizar o mesmo software em 2 plataformas simultaneamente, usando o mesmo processo de desenvolvimento considera-se uma vantagem que supera a perda de eficiência. Web apps tratam-se de aplicações que executam em browser criadas para funcionar como uma aplicação realmente instalada no dispositivo, tem a vantagem que executam em virtualmente todos os dispositivos com acesso a um browser. Após esta exposição decidiu-se que o mais benéfico para HealthAdvisor Mobile Solutions seria seguir por um caminho de desenvolvimento cross-platform graças à possibilidade de abranger perto da globalidade do mercado. 3.2 Ferramentas testadas No seguimento do tipo de solução a desenvolver, é necessário decidir que tecnologia utilizar para proceder. Existem diversas soluções de desenvolvimento cross-platform e de acordo com um estudo realizado por JetBrains [16] a figura 19 representa as mais populares entre developers. Visto que são as 3 mais populares entre developers a análise das ferramentas irá centrar-se em React Native,Ionic eFlutter. Uma vez que Ionic [18] utiliza Cordova e fornece ainda mais funcionalidades, nomeadamente elementos de interface, esta será omitida da análise pois, neste caso, encontra-se ultrapassada. De maneira a fazer uma análise mais completa é importante comparar estas tecnologias. Todas elas possuem a capacidade de desenvolvimento cross-platform, enquanto React Native eIonic utilizam linguagens como HTML,CSS,Javascript eReact,Flutter faz uso da linguagem Dart. Apesar de se tratar de uma nova linguagem de programação esta utiliza elementos semelhantes a HTML,CSS eJavascript que são usados nas outras duas tecnologias mencionadas. 24
CAPÍTULO 3. ANÁLISE DAS FERRAMENTAS Figura 19: Popularidade de tecnologias cross-platform Tomando atenção à performance é vital que a solução móvel desenvolvida consiga ser fluída para não causar impacto negativo na experiência do utilizador. Posto isto então é necessário analisar a performance destas ferramentas para tomar uma escolha consciente. Como Ionic utiliza Cordova para conseguir executar as suas funções em plataformas móveis esta tecnologia tem a performance mais fraca das mencionadas, onde React Native se encontra em segundo lugar, atingindo performance próxima a tecnologias nativas devido ao uso de módulos nativos. Finalmente em primeiro lugar encontra-se Flutter graças ao uso da linguagem Dart que lhe permite desfrutar da melhor performance. Outra área onde estas ferramentas diferem trata-se dos elementos de interface de utilizador. React Native utiliza elementos nativos de interface, como por exemplo botões e caixas de texto. Isto reduz a carga de trabalho no desenvolvimento uma vez que não é necessário estar a criá-los de raiz. Ionic utiliza elementos criados com HTML eCSS eFlutter oferece widgets proprietários. A figura 20 sintetiza as semelhanças/diferenças das 3 ferramentas anteriormente descritas. Figura 20: Comparação entre tecnologias Devido à familiaridade com a plataforma Ionic [15] iniciou-se o desenvolvimento da solução utilizando esta tecnologia. 25
CAPÍTULO 3. ANÁLISE DAS FERRAMENTAS Ionic trata-se de uma framework open-source para desenvolver aplicações cross-platform que permite ao utilizador aplicar elementos de React,Angular,Vue.js ou até elementos puramente Ionic.Ionic integra elementos de HTML,CSS eJavaScript [18]. Esta framework utiliza Cordova de maneira a permitir o acesso a funções de hardware que normalmente estariam inacessíveis a tecnologias web. Esta framework foi abandonada devido a problemas durante o processo de debugging e, ocasionalmente, crashes aleatórios. Posto isto Flutter preencheu o lugar devido a uma tendência para com ambiente Google e ainda graças a expectativas de facilidade de desenvolvimento assim como performance semelhante a aplicações nativas. Flutter utiliza a linguagem de programação Dart para desenvolver aplicações cross-platform compiladas em código nativo, trata-se de uma framework focada na interface de utilizador. Com Flutter foi possível evoluir no desenvolvimento, chegando a um protótipo semelhante a um catálogo de instituições, no entanto este protótipo acabou por gerar bastante complexidade no que toca a widgets (componentes básicos do Flutter) atingindo um impasse. Após o teste destas duas tecnologias sem sucesso, a atenção foi posta em React Native. Devido a familiaridade com Javascript, ter já experienciado com React assim como a sua popularidade entre developers tornaram esta framework,React Native, a próxima candidata para teste. 3.3 Ferramentas utilizadas React Native consiste numa framework cross-platform que utiliza componentes nativos como a sua base. Devido a experiência prévia com React [8], a transição para React Native tornou-se relativamente simples. Graças à capacidade cross-platform não foi necessário deixar de lado dispositivos iOS uma vez que React Native permite programação em Javascript traduzindo este mesmo para código nativo de cada sistema operativo. Devido à sua simplicidade assim como a familiaridade com a biblioteca Javascript,React , foi possível o desenvolvimento rápido. Com React Native é possível criar uma aplicação vazia rapidamente, após este passo pode-se modificar e construir sobre esta aplicação adicionando a estrutura e conteúdo desejado. Desta maneira foi produzido um protótipo usável, que assemelha uma aplicação simples de procura de serviços assim como avaliação e a partilha de opinião sobre esses mesmos serviços. Na figura 21a encontra-se representada uma lista de serviços imaginários. Na figura 21b está representado o ecrã de um serviço imaginário. 26
CAPÍTULO 3. ANÁLISE DAS FERRAMENTAS (a) Lista de serviços imaginários (b) Ecrã de um serviço imaginário Figura 21: Protótipo produzido A criação deste protótipo demarca uma etapa importante neste projeto, indicando os primeiros passos para a existência de uma aplicação completamente funcional. 27
Capítulo 4 Desenvolvimentos De maneira a atingir a criação do HealthAdvisor Mobile Solutions é necessário ter em atenção os objetivos deste projeto assim como delinear tarefas a implementar para os cumprir. HealthAdvisor pretende ser uma plataforma onde seja possível tomar conhecimento de instituições de saúde assim como da opinião de utilizadores sobre estas mesmas instituições, para isto é preciso criar uma comunidade que produza conteúdo e valor para si mesma, fomentando mais o desenvolvimento da própria comunidade. 4.1 Objetivos Para que HealthAdvisor seja possível foram traçados os objetivos já mencionados em 1.3.Assim pretendese a criação uma plataforma móvel onde um utilizador pode: 1. encontrar e descobrir serviços de saúde; 2. informar-se sobre um serviço de saúde; 3. ler sobre experiências de outros utilizadores; 4. partilhar opinião e avaliar serviços de saúde, Para um utilizador encontrar e descobrir serviços de saúde é essencial a listagem destes mesmos serviços aos utilizadores. É pretendido ainda que os utilizadores se possam informar sobre estes serviços, então pode-se preencher esta listagem com informações relevantes. Formando um catálogo com informações breves e relevantes aos utilizadores como por exemplo que tipos de especialidades dispõe é 28
CAPÍTULO 4. DESENVOLVIMENTOS possível abordar os 2 primeiros pontos enumerados. No seguimento desta enumeração para se atingir os pontos 3 e 4 será indispensável a existência de uma secção de comentários feitos por outros utilizadores disponível e associada a cada um dos serviços de saúde assim como uma secção onde cada utilizador pode opinar e avaliar a sua própria experiência com qualquer serviço. Com estes objetivos reiterados e analisados podem-se definir tarefas de um ponto de vista de desenvolvimento de software, projetando uma plataforma com os seguintes componentes: 1. Lista de serviços de saúde com resumo das suas informações; 2. Página individual para cada serviço de saúde expondo detalhes; 3. Secção com lista de comentários para cada serviço de saúde; 4. Secção para comentar e avaliar cada serviço de saúde. 4.2 Estrutura Na figura 22 está representado o diagrama entidade-relação idealizado, aqui estão evidenciados potenciais entidades e seus atributos necessários para o funcionamento do sistema Healthadvisor. Este diagrama pode ser explicado da seguinte maneira: os utilizadores usam e avaliam os serviços prestados pelos fornecedores que se encontram instalados em cidades pertencentes a países. Para entidades foram concebidos os seguintes conceitos: 1. Utilizador 2. Fornecedor de serviço 3. Serviços 4. Dono 5. Cidade 6. País Estas entidades, ordenadas por relevância ao sistema, estão interligadas por relações simples de maneira a reduzir a complexidade da estrutura. Utilizador, fornecedor e serviços tratam-se das 3 entidades mais cruciais a este projeto uma vez são o suporte onde o resto da estrutura de informação assenta. 29
CAPÍTULO 4. DESENVOLVIMENTOS Figura 22: Diagrama Entidade-Relação 4.3 Mockups Após o planeamento da estrutura de dados da plataforma, é tornada a atenção para a criação de mockups, imagens que ilustram a disposição dos elementos de interface de utilizador, este processo tem bastante importância uma vez que apoiam o processo de programação pois já existe uma ideia concebida pela qual é possível guiar. Nas figuras 23 e24 podemos ver mocukps representantes da página inicial e da página de seleção de resultado, respetivamente. Na página inicial destaca-se uma lista de fornecedores de serviços de saúde com os seus detalhes dispostos assim como uma imagem representante do serviço em questão. Por cima desta lista está disposta um campo de texto onde será possível pesquisar e obter resultados mais relevantes. No inferior da lista encontram-se 3 ícones com o propósito de ajudar à navegação na aplicação. 30
Capítulo 5 Conclusão e Trabalho Futuro Chegando ao fim desta jornada devemos tornar a atenção para o que foi pensado e planeado, o que foi conseguido e o que não se conseguiu atingir. Reiterando os objetivos mencionados em 4.1, a ideia era a construção de uma plataforma móvel baseada na comunidade onde um utilizador pode: 1. encontrar e descobrir serviços de saúde; 2. informar-se sobre um serviço de saúde; 3. ler sobre experiências de outros utilizadores; 4. partilhar opinião e avaliar serviços de saúde. Graças ao formato de catálogo da aplicação móvel desenvolvida o ponto número 1 foi imediatamente resolvido, um utilizador ao se autenticar na aplicação pode navegar numa lista com breves detalhes sobre serviços de saúde disponíveis, em alternativa à lista destes serviços o utilizador ainda pode descobrir serviços de saúde diretamente no mapa. Em relação ao ponto 2 foi criada uma página detalhada para cada serviço de saúde catalogado, expondo detalhes mais informativos. Nesta mesma página detalhada de cada serviço estão ainda disponíveis duas secções importantes de destacar, estas secções tratam-se dos mecanismos que permitem o utilizador ler sobre experiências de outros utilizadores e ainda partilhar a sua própria opinião sobre um certo serviço de saúde resolvendo assim os pontos 3 e 4 dos objetivos definidos. Apesar de se terem conseguido atingir os objetivos propostos existia uma ideia que esteve sempre presente na duração deste projeto, abordada em 2.2 a criação e implementação de um sistema de recomendação seria o encaixe perfeito uma vez que poderia potenciar a plataforma para se adaptar a cada 37
CAPÍTULO 5. CONCLUSÃO E TRABALHO FUTURO utilizador fornecendo ainda mais valor à comunidade. A ideia deste sistema teria por base no uso da coleção de dados de utilização da aplicação e no fornecimento desses mesmos dados a um sistema de recomendação capaz de sugerir serviços de saúde relevantes aos utilizadores. Esta ideia foi abandonada pela falta de tempo e o aparecimento de um novo obstáculo. Esta nova adversidade deveu-se ao facto de, no momento da execução deste projeto os serviços centrais não se encontram disponíveis, a aplicação móvel necessita destes mesmos serviços centrais para executar as suas funcionalidades desde um simples pedido de dados como o registo de uma nova opinião de um utilizador. Isto gerou a necessidade da criação de um sistema capaz de servir a aplicação móvel de maneira a simular o seu funcionamento normal, este sistema foi abordado em 4.4 onde se expôs a sua estrutura e funcionamento. O seu desenvolvimento, devido à sua natureza essencial, foi concluído resultando assim num serviço capaz de responder aos pedidos enviados pela solução móvel. No seguimento desta dissertação e para a continuação de HealthAdvisor Mobile Solutions seria fundamental a implementação dos serviços centrais, HeatlthAdvisor Central Services. Neste momento a aplicação é servida por uma API desenvolvida para garantir o seu funcionamento mesmo que os serviços centrais se encontrem disponíveis, no entanto seria crucial a sua integração no HealthAdvisor Mobile Solutions para desta forma conseguir um sistema de base de dados e autenticação robusto assim como a garantia de escalabilidade da solução. Além dos serviços centrais seria interessante a implementação de um sistema de recomendação capaz de adaptar a experiência de cada utilizador mostrando resultados possivelmente mais relevantes, melhorando a experiência do utilizador. Este sistema de recomendação faria uso de dados colecionados da utilização da aplicação por parte dos utilizadores para produzir os seus resultados, para isto é necessário implementar mecanismos de telemetria que registassem as acções efetuadas na solução móvel, com isto conseguia-se uma coleção de dados para fornecer a um sistema de recomendação. A ideia seria personalizar e sugerir serviços de saúde que fossem relevantes para os utilizadores ajudando as tomadas de decisão. Seria útil a criação de um sistema que unisse uma funcionalidade de marcação de consultas ao calendário pessoal do utilizador. Apesar de várias instituições já possuírem sistemas internos de marcação de consulta seria um fator de mais valor a criação de um sistema de marcação de consultas interoperável. Isto resultaria em que o HealthAdvisor Mobile Solutions não fosse só algo para descobrir e informar sobre serviços de saúde mas se tornasse assim num espaço unificado que simplificasse a logística de procura e marcação de consultas sem que estas coincidam com outros eventos que o utilizador tenha. Um mecanismo que seria proveitoso implementar seria também algum tipo de moderação das avaliações feitas pelos utilizadores. Uma vez que se trata de uma plataforma aberta à comunidade é importante que não existam comentários prejudiciais à plataforma e comunidade. Não é ideal ter comentários falsos ou fraudulentos, então seria interessante um sistema que prevenisse isto. Uma possível solução poderia ser apresentação de um comprovativo por parte do utente como este fez uso de um serviço de saúde. 38
Bibliografia [1] C. Anderson. “The Long Tail: Why the Future of Business Is Selling Less of More”. Em: J. Prod. Innov. Manag. 24 (3) (2006) 274–276 (2006), p. 238. url: http://dl.motamem.org/long_ tail_chris_anderson_motamem_org.pdf. [2] Biocat. Doctoralia merges with DocPlanner creating the largest online health platform in the world. 2016. url: https : / / www . biocat . cat / en / news / doctoralia - merges - docplanner - creating-largest-online-health-platform-world (acedido em 23/01/2021). [3] A. Chebbi. Choosing the best programming language for mobile app development. 2019. url: https://developer.ibm.com/technologies/mobile/articles/choosing-the-bestprogramming-language-for-mobile-app-development/ (acedido em 21/01/2021). [4] S. R. Department. Mobile internet usage worldwide - statistics and facts. 2021. url: https://www. statista.com/topics/779/mobile-internet/ (acedido em 27/07/2021). [5] Docplanner. About us. 2021. url: https://www.docplanner.com/aboutus (acedido em 23/01/2021). [6] Doctoralia. Como funciona uma pesquisa na Doctoralia ? Quais os fatores que determinam a posição dos médicos e clínicas na lista de resultados ? url: https://www.doctoralia.com.pt/ public/doc/pt/Como_funciona_uma_pesquisa_na_Doctoralia.pdf?v=2. [7] Doctoralia. Doctoralia. url: https://www.doctoralia.com.pt/ (acedido em 19/01/2021). [8] I. Facebook. React. url: https://reactjs.org (acedido em 21/01/2021). [9] K. Falk. Practical Recommender Systems. Manning Publications Co., 2019, p. 432. [10] b. Fork. The Fork. url: https://www.thefork.pt (acedido em 19/01/2021). [11] Foursquare. Foursquare. url: https://foursquare.com (acedido em 19/01/2021). [12] Google. Collaborative Filtering. url: https://developers.google.com/machine-learning/ recommendation/collaborative/basics. [13] R. Hat. What is a REST API? url: https://www.redhat.com/en/topics/api/what-is-arest-api (acedido em 11/05/2021). 39
BIBLIOGRAFIA [14] Healthgrades. Healthgrades. url: http://www.healthgrades.com/ (acedido em 19/01/2021). [15] Ionic framework. url: https://ionicframework.com/docs (acedido em 21/01/2021). [16] JetBrains. The State of Developer Ecosystem 2019. url: https://www.jetbrains.com/lp/ devecosystem-2019/ (acedido em 23/01/2021). [17] A. D. Kalvin Bahia. The State of Mobile Internet Connectivity 2020. 2020. url: https://www. gsma.com/r/wpcontent/uploads/2020/09/GSMAStateofMobileInternetConnectivity-Report-2020.pdf (acedido em 23/01/2021). [18] M. Lynch. Introducing Ionic 4: Ionic for Everyone. 2019. [19] H. McCracken. “50 Websites That Make the Web Great”. Em: (2011). url: http://content. time.com/time/specials/packages/article/0,28804,2087815_2088170_2088163, 00.html. [20] Ontotext. GraphDB. url: https://graphdb.ontotext.com/ (acedido em 12/05/2021). [21] OpenJS Foundation. Node.js. url: https://nodejs.org/en/ (acedido em 12/05/2021). [22] F. Ricci, L. Rokach e B. Shapira. Recommender Systems Handbook. June 2014. 2011, pp. 0–35. isbn: 9780387858203. doi: 10.1007/978-0-387-85820-3. [23] StatCounter. Mobile Operating System Market Share Worldwide. url: https://gs.statcounter. com/os-market-share/mobile/worldwide (acedido em 23/01/2021). [24] Tripadvisor. Tripadvisor. url: https://www.tripadvisor.pt (acedido em 19/01/2021). [25] A. Turner. How Many Smartphones Are In The World? 2021. url: //https://www.bankmycell. com/blog/how-many-phones-are-in-the-world. [26] Vitals. Vitals. 2021. url: https://www.vitals.com/ (acedido em 24/01/2021). [27] Worldometer. Worldometer. url: https://www.worldometers.info/worldpopulation/ #table-historical (acedido em 23/01/2021). [28] Yelp. Yelp. url: https://www.yelp.pt (acedido em 23/01/2021). 40