Sobre o desafio
Os arquivos texto localizados no diretório dados apresentam diversas características sobre pacientes terminais internados em um hospital, que são fornecidos por áreas distintas e sempre serão fornecidos separadamente. Os arquivos texto fornecidos por uma mesma área estão nomeados com datas distintas, pois retratam características dos pacientes em diferentes dias. Precisamos que você crie um software que contenha uma base de dados consultável através de uma API REST capaz de:
- Consultar, para cada paciente, cada uma das características individualmente e cada uma delas sendo a mais recente disponível;
- Consultar em uma única chamada, todas as características de um paciente, com os valores mais recentes de cada uma;
- Consultar para uma determinada data (dia, mês e ano), todas as características existentes de todos os pacientes da base de dados;
- Consultar uma característica qualquer de um paciente para um intervalo de datas a ser especificado na chamada da API;
- Consultar o valor mais recente de uma característica de um paciente que esteja entre um intervalo de valores a ser especificado na chamada da API;
- Consultar pacientes que contenham um nome ou parte de um nome a ser especificado na chamada da API.
Além disso, precisamos que algumas informações estejam disponíveis em uma interface web. É importante ressaltar que o diretor do hospital necessita exibir essa interface para todos os investidores da instituição e também para o corpo de médicos. Os requisitos são os seguintes:
- Buscar um paciente por nome e exibir o valor mais recente de cada uma de suas características;
- Ser possível exportar as características de um ou mais pacientes de todas as datas disponíveis para um arquivo CSV;
- Exibir um gráfico temporal para um determinado paciente e uma determinada característica a ser inserida através da interface.
Observações
-
Os arquivos fornecidos representam apenas uma pequena amostra de dezenas de milhares de pacientes que este hospital atendeu nos últimos 50 anos. O software desenvolvido deve ser capaz de lidar com todos esses dados.
-
O gerente de projetos Celso Carrasco de nossa empresa de software precisa de um prazo máximo de entrega de 7 dias corridos. Iremos observar a data de cada commit. Desenvolva os itens mais pertinentes em sua avaliação caso não haja tempo suficiente para concluir todos os itens.
-
Instruções no arquivo README.md de como executar seu projeto são importantes. Conteinerização será muito bem vinda.
-
Faça commits em inglês mostrando a evolução do projeto.
Como o desafio deve ser entregue?
Submeta o código desenvolvido através de um repositório no Github e compartilhe com a Anlix seu desenvolvimento. Se preferir, faça um fork deste projeto no próprio Github.
Posso tirar dúvidas?
Sim, claro! Estaremos disponíveis através do usuário no Telegram @anlixdevduvidas
Em qual linguagem deve ser feito o desenvolvimento? Alguma tecnologia específica? Posso usar um framework? Qual banco de dados devo usar?
Seja livre para voar.