Este projeto foi desenvolvido como Desafio de Backend, proposto pela Cubos Academy.
Esta é uma API que visa agilizar e facilitar os processos de atendimentos de pacientes e foi desenvolvida com o objetivo de implementar à um consultório médico um sistema que seja capaz de realizar algumas tarefas básicas como:
- Mostrar uma listagem de consultas e marcá-las como finalizadas ou não;
- Inserir ou deletar uma consulta ainda não finalizada;
- Editar dados de um paciente cadastrado em uma consulta não-finalizada;
- Consultar laudos cadastrados pelos médicos após finalização de consulta;
- Exibir quais atendimentos foram finalizados por um profissional.
O primeiro passo para ultilizar esta API é fazer um clone deste repositório. Após o mesmo ser clonado na sua máquina, instalar a principal biblioteca ultilizada: Express.
npm install express
Por ser uma API REST, este projeto utiliza o padrão de operações CRUD (Create, Read, Update, Delete). Portanto, é recomendável utilizar algum programa que faça as requisições corretamente. O utilizado nas demonstrações abaixo será o Insomnia. Para fazer o download, clique aqui.
Para listar as consultas já registradas no sistema, ultilize a GET /consultas
e insira o CNES e a senha do consultório, passando os parâmetros de consulta como no exemplo abaixo:
Deverá ser retornado a listagem das consultas registradas. Caso haja algum erro, será impresso na tela. Lembre-se de usar os parâmetros de consulta como no exemplo acima.
Para cadastrar uma nova consulta no sistema, utilize o POST /consulta
e, no body (corpo) da requisição, envie os dados a seguir no formato JSON, contendo todas as informações necessárias, como no exemplo abaixo:
{
"tipoConsulta": "AREA DE ATUACAO SOLICITADA",
"valorConsulta": 10000,
"paciente": {
"nome": "NOME DO PACIENTE",
"cpf": "00000000000",
"dataNascimento": "2000-01-01",
"celular": "987654321",
"email": "PACIENTE@EMAIL.COM",
"senha": "1234"
}
}
Para fazer a atualização dos dados de um paciente, utilize o PUT /consulta/idConsulta/paciente
. Note que o número de identificação passado na URL diz respeito à consulta e não ao paciente. Este, no entanto, precisa já estar cadastrado com alguma consulta ainda não finalizada. Assim como no exemplo anterior, envie em formato JSON no corpo da requisição APENAS os dados do paciente, como no exemplo abaixo:
Para deletar uma consulta, use o DELETE consulta/idConsulta
. Assim como no caso anterior, o número de identificação na URL deve ser referente à consulta. Só será possível deletar uma consulta ainda não-finalizada! Veja o exemplo abaixo:
Para "dar baixa" em uma consulta (fazer a finalização), use o POST /consulta/finalizar
. No corpo da requisição (body), deverá conter um objeto JSON contendo o identificador da consulta e também o laudo gerado pelo profissional. O laudo precisa ter até 200 (duzentos) caracteres. Veja no exemplo abaixo a forma correta de atualizar uma consulta:
Para verificar um laudo postado pelo profissional, será necessário ultilizar o GET /consulta/laudo
e inserir - como parâmetros de consulta - o numero identificador da consulta e a senha do paciente desta mesma consulta. Uma vez que todos os dados informados estejam corretos e a consulta esteja atualizada como "finalizada", será impresso na tela o laudo do profissional, como no exemplo a seguir:
Lembre-se que os parâmetros de consulta devem ser passados com os mesmos nomes usados no exemplo.
Esta última função permite verificar quais as consultas registradas como "finalizadas" de um profissional específico. Para acessar, deve-se utilizar o GET
/consultas/medico
e passar como parâmetro de consulta o número identificador do profissional. Uma outra forma é usar a URL /consultas/medico?identificador_medico=0
onde identificador_medico
é o parâmetro e o "0" representa o número de identificação. Veja mais detalhadamente no exemplo abaixo: