Este projeto, aprovado pelo Comitê de Ética em Pesquisa envolvendo Seres Humanos da Universidade Tecnológica Federal do Paraná pelo CAAE no 82803718.0.0000.5547 (parecer disponibilizado para visualização nos anexos), teve como objetivo a produção de um aplicativo informativo para usuários das Unidades de Pronto Atendimento 24 Horas de Curitiba. O UPAs Curitiba exibe dados explicativos sobre a classificação de risco e termos técnicos, horários de funcionamento das UPAs e formato de atendimento, quais as unidades próximas e como chegar até elas e dados fictícios sobre a fila de espera em cada unidade. Futuramente espera-se que o programa possa ser disponibilizado pela Prefeitura Municipal de Curitiba para a população, transformando os dados hipotéticos utilizados para gerar os resultados (quantidade de pacientes aguardando em cada UPA, por classificação de risco), por meio de conexão direta com o software já utilizado pelo SUS, em dados de tempo real. Na conclusão do projeto, o aplicativo foi registrado no Instituto Nacional da Propriedade Intelectual pelo processo no BR512018052194-0.
3.1.1 Desenvolvimento do aplicativo no Xamarin.Forms
O app foi elaborado na plataforma de desenvolvimento Microsoft Visual Studio com a extensão Xamarin.Forms. Por meio da linguagem de marcação XAML foram definidas as interfaces/layout e com a linguagem de programação C# foram estruturadas as páginas de classe responsáveis pelos comandos de ação. Sendo assim, o UPAs Curitiba foi habilitado para rodar em celulares e computadores, com essas plataformas, conectados à internet como mostra a Figura 18.
Foram criadas 77 páginas de interface personalizadas (ContentPage), 1 página de interface para menu de abas (TabbedPage) e 78 páginas de classe. Uma única página de classe
é criada automaticamente para cada página de navegação, ficando a critério do desenvolvedor
utilizá-la ou não. No app UPAs Curitiba todas as páginas contem funcionalidade (comando de ação) e por este motivo, as 78 páginas de classe foram usadas.
Para facilitar o manuseio do usuário e tornar o layout mais descomplicado, todas as informações são obtidas por meio de cliques em botões (views) e dispostas diretamente na tela, sem a necessidade de busca por menu.
Figura 18: Pagina de habilitação das plataformas no Xamarin.Forms. Fonte: Autoria própria.
Os botões de ação foram organizados mediante o StackLayout que arranja os controles automaticamente em uma pilha, sem um detalhamento preciso de espaço, independentemente do tamanho e, para permitir a rolagem da informação na tela, seja com o celular na horizontal ou na vertical, aplicando a função ScrollView. A Figura 19 mostra a
ContentPage da tela inicial do aplicativo com as atribuições do StackLayout e do ScrollWiew.
Figura 19: ContentPage da tela inicial do aplicativo. Fonte: Autoria própria.
A Figura 20 apresenta a página de classe, pertencente a essa ContentPage, em linguagem C#, com a definição de ação de cada botão, que neste caso em específico traz a informação em pop-up dos endereços, telefones e horário de funcionamento da unidade selecionada.
Figura 20: Página de classe da tela inicial do aplicativo. Fonte: Autoria própria.
O utilitário Google Maps foi vinculado ao aplicativo para apresentar as unidades mais próximas do local de acesso do usuário. Também é possível acessar os mapas por meio do navegador considerando a disponibilidade desta configuração no dispositivo móvel. Na página de classe utilizada para acionar os mapas do Google foi adicionada uma variável (var) que armazena a URL e direciona o usuário assim que o botão de ação correlacionada ao link é pressionado (Figura 21). O acesso ao formulário de avaliação pelo usuário (teste de usabilidade) foi executado da mesma forma, seguindo o padrão da var que encaminha à página desejada.
Figura 21: Página de classe do link de direcionamento ao Google Maps. Fonte: Autoria própria.
Outro tipo de ferramenta utilizada no programa é o display de alerta (DisplayAlert) que fornece os dados requisitados por meio de “pop-up”. Quando o botão de ação é pressionado, o texto inserido no comando aparece na tela do dispositivo como um quadro de alerta. Essa notificação desaparece assim que qualquer tecla do celular ou região fora do alerta é apertada. Na Figura 22, o DisplayAlert acionado exibe informações adicionais sobre o atendimento na Upa Boqueirão.
Figura 22: Página de classe da ferramenta de “pop-up” / Display Alert. Fonte: Autoria própria.
Alguns pop-ups solicitam ao usuário autorização, por exemplo, na primeira tela do
app que requisita uma concordância com as informações fornecidas para dar início à utilização
do software. Se o indivíduo não seleciona o texto “EU CONCORDO”, as próximas páginas não são exibidas, como mostra a Figura 23.
Figura 23: Página de classe de “pop-up” com comando de autorização para início do app. Fonte: Autoria própria.
Nos textos que apresentam os sintomas para cada Classificação de Risco foram acrescentados fundos coloridos. Cada cor representa uma categoria da classificação de risco. Em termos de linguagem C#, em cada página de classe, as cores foram organizadas por intermédio do StackLayout em caixas de visualizações conhecidas como “BoxWiew”. A Figura 24 exibe a seleção de fundo (BackgroundColor) vermelha para o BoxWiew com informações sobre a categoria de pacientes emergentes.
Figura 24: Página de classe exibindo uma “BoxWiew” com ‘BackgroudColor” vermelho. Fonte: Autoria própria.
É importante ressaltar que o aplicativo não contém um banco de dados integrado. As informações foram embutidas no próprio programa. A Figura 25 apresenta o Código Fonte da segunda interface do aplicativo. Essa tela exibe os botões que deverão ser selecionados, dependendo da informação de interesse. O usuário pode escolher entre: “Procurar UPAs Próximas”, “Classificação de Risco” e “Fila de Espera”. A interface oferece todos os itens visualizáveis pelo indivíduo, discriminados em linguagem XAML.
Já a Figura 26 traz o Código Fonte da página de classe referente à interface da segunda página. Nessa página de classe os botões citados ganham um comando de ação, liberando as próximas páginas informativas. Além disso, ao selecionar “Fila de Espera”, um
DisplayAlert é liberado com dados sobre o tempo de espera permitido em cada categoria da
Classificação de Risco.
Figura 25: Código Fonte da segunda interface do app. Fonte: Autoria própria.
Figura 26: Código Fonte da página de classe da segunda interface do app. Fonte: Autoria própria.
O tamanho original do aplicativo para download ficou em 62 MB (megabytes).