A USF (Unidade de Saúde da Família) nada mais é que uma unidade pública de saúde destinada a realizar atenção contínua nas especialidades básicas, com uma equipe multiprofissional habilitada para desenvolver as atividades de promoção, proteção e recuperação, características do nível primário de atenção. Após conversa com funcionários dessas unidades notamos que há uma complexidade na gestão desse ambiente, pois precisam fazer a comunicação com outras USF’s, seja para realizar pedidos de recursos ou para gestão de profissionais, de maneira manual através de pranchetas e documentos por escrito. Fazendo o sistema desses ambientes vitais para o cuidado das comunidades brasileiras ficam propensos a erros e lentidão no atendimento. Objetivando desenvolvimento para esse serviço, desenvolvemos uma API, para automatizar esses processos defasados.
- Solicitation filtra por Status
- Doctor pode ser filtrado por nome
- Solicitation pode suspendar um pedido
- Um doutor pode verificar em qual USF ele está cadastrado
- Solicitation calcula a quantidade de recursos recebidos automaticamente
- Inventory calcular automaticamente a quantidade de recursos disponíveis
- Validar a Solicitation para evitar futos no estoque
- Endereço como Entidade
- Doutor não poder ver as informações de outros doutores
- Administrador
- Operador da USF
- Médico
ID | Descrição |
---|---|
RF001 |
A API permite ao Administrador cadastrar novos médicos ao banco de dados |
RF002 |
A API permite ao Administrador cadastrar novos times ao banco de dados |
RF003 |
A API permite ao Administrador cadastrar novas USF’s ao banco de dados |
RF004 |
A API permite ao Operador de USF cadastrar recursos da sua USF ao banco de dados |
RF005 |
A API permite ao Administrador deletar médicos do banco de dados |
RF006 |
A API permite ao Administrador deletar times do banco de dados |
RF007 |
A API permite ao Administrador deletar USF’s do banco de dados |
RF008 |
A API permite ao Operador de USF deletar recursos da sua USF do banco de dados |
RF009 |
A API permite ao Administrador atualizar as informações de um médico do banco de dados |
RF010 |
A API permite ao Administrador atualizar as informações de um time do banco de dados |
RF011 |
A API permite ao Administrador atualizar as informações de uma USF do banco de dados |
RF012 |
A API permite ao Operador de USF atualizar as informações de um recurso da sua USF do banco de dados |
RF013 |
A API permite ao Administrador listar os médicos com base em filtros pela área de atuação e ordenar por nomes |
RF014 |
A API permite ao Administrador vincular um médico a um time |
RF015 |
A API permite ao Administrador desvincular um médico de um time |
RF016 |
A API permite ao Administrador vincular um time a uma USF |
RF017 |
A API permite ao Administrador desvincular um time de uma USF |
RF018 |
A API permite ao Operador de USF listar os médicos que compõe o time atualmente na sua USF |
RF019 |
A API permite ao Operador de USF listar os recursos de sua USF |
RF020 |
A API permite ao Operador de USF realizar um pedido de recursos |
RF021 |
A API permite ao Operador de USF listar pedidos de recursos de outras USF’s filtrando com base na status do pedido de recurso |
RF022 |
A API permite ao Operador de USF liberar recursos para outra USF |
RF023 |
A API limita ao Operador de USF liberar recursos até alcançar o mínimo recomendado de tais recursos |
RF024 |
A API permite ao Operador de USF atualizar o status do pedido de recursos |
RF025 |
A API permite ao Operador de USF alterar a quantidade em estoque dos recursos |
RF026 |
A API permite ao Médico verificar em qual USF ele está vinculado no momento. |
RF027 |
A API permite ao Administrador logar ao sistema com login e senha |
RF028 |
A API permite ao Administrador trocar o login e a senha |
RF029 |
A API permite ao Médico logar ao sistema com login e senha |
RF030 |
A API permite ao Médico trocar o login e a senha dele |
RF031 |
A API permite ao Operador de USF logar ao sistema com login e senha |
RF032 |
A API permite ao Operador de USF trocar o login e senha dele |
ID | Descrição |
---|---|
RN001 |
Requisições precisam ser retornadas com sucesso ou falha |
RN002 |
Utilizar boas práticas na construção da API |
RN003 |
Implementar tratamento de erro/exceções |
RN004 |
Definição de um arquivo Swagger |
RN005 |
Cobertura de testes com no mínimo 80% |
RN006 |
Autenticação e autorização via Token JWT |
RN007 |
Não pode criar pedidos de recurso sem alcançar a quantidade mínima recomendada |
Os testes estão com uma porcentagem de cobertura de: 94% em Classes, 80% em Métodos e 81% em Linhas
POST /doctor
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
GET /doctor
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
GET /doctor/{idDoctor}
Parâmetro | Tipo | Descrição |
---|---|---|
idDoctor |
long |
Obrigatório. O idDoctor do doutor que você quer |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Doctor Not Found |
PUT /doctor/{idDoctor}
Parâmetro | Tipo | Descrição |
---|---|---|
idDoctor |
long |
Obrigatório. O idDoctor do doutor que você quer atualizar |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Doctor Not Found |
DELETE /doctor/{idDoctor}
Parâmetro | Tipo | Descrição |
---|---|---|
idDoctor |
long |
Obrigatório. O idDoctor do doutor que você quer remover |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Doctor Not Found |
POST /doctor{idDoctor}/team/{idTeam}
Parâmetro | Tipo | Descrição |
---|---|---|
idDoctor |
long |
Obrigatório. O ID do doutor que você quer vincular |
idTeam |
long |
Obrigatório. O ID do time que você quer vincular |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Doctor Not Found |
DELETE /doctor{idDoctor}/team/{idTeam}
Parâmetro | Tipo | Descrição |
---|---|---|
idDoctor |
long |
Obrigatório. O ID do doutor que você quer desvincular |
idTeam |
long |
Obrigatório. O ID do time que você quer desvincular |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Doctor Not Found |
POST /team
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
GET /team
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
GET /team/{idTeam}
Parâmetro | Tipo | Descrição |
---|---|---|
idTeam |
long |
Obrigatório. O idTeam do time que você quer |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Team Not Found |
PUT /team/{idTeam}
Parâmetro | Tipo | Descrição |
---|---|---|
idTeam |
long |
Obrigatório. O idTeam do time que você quer atualizar |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Team Not Found |
DELETE /team/{idTeam}
Parâmetro | Tipo | Descrição |
---|---|---|
idTeam |
long |
Obrigatório. O idTeam do time que você quer remover |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Team Not Found |
GET /team/{idTeam}/doctor
Parâmetro | Tipo | Descrição |
---|---|---|
idTeam |
long |
Obrigatório. O idTeam do time que você quer visualizar |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Team Not Found |
POST /team{idTeam}/usf/{idUsf}
Parâmetro | Tipo | Descrição |
---|---|---|
idTeam |
long |
Obrigatório. O idTeam do time que você quer vincular |
idUSF |
long |
Obrigatório. O idUsf da USF que você quer vincular |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Team Not Found |
DELETE /team{idTeam}/usf/{idUsf}
Parâmetro | Tipo | Descrição |
---|---|---|
idTeam |
long |
Obrigatório. O idTeam do time que você quer desvincular |
idUSF |
long |
Obrigatório. O idUsf da USF que você quer desvincular |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Team Not Found |
POST /usf
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
GET /usf
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
GET /usf/{idUsf}
Parâmetro | Tipo | Descrição |
---|---|---|
idUsf |
long |
Obrigatório. O idUsf do time que você quer |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
USF Not Found |
PUT /usf/{idUsf}
Parâmetro | Tipo | Descrição |
---|---|---|
idUsf |
long |
Obrigatório. O idUsf da usf que você quer atualizar |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
USF Not Found |
DELETE /usf/{idUsf}
Parâmetro | Tipo | Descrição |
---|---|---|
idUsf |
long |
Obrigatório. O idUsf da usf que você quer remover |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
USF Not Found |
POST /solicitation
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
GET /solicitation
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
GET /solicitation/{solicitationId}
Parâmetro | Tipo | Descrição |
---|---|---|
idTeam |
long |
Obrigatório. O solicitationId da solicitação que você quer |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Solicitation Not Found |
PUT /solicitation/{solicitationId}
Parâmetro | Tipo | Descrição |
---|---|---|
solicitationId |
long |
Obrigatório. O solicitationId da solicitação que você quer atualizar |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Solicitation Not Found |
DELETE /solicitation/{solicitationId}
Parâmetro | Tipo | Descrição |
---|---|---|
solicitationId |
long |
Obrigatório. O solicitationId da solicitação que você quer remover |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Solicitation Not Found |
POST /resource
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
GET /resource
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
GET /resource/{resourceId}
Parâmetro | Tipo | Descrição |
---|---|---|
resourceId |
long |
Obrigatório. O resourceId do recurso que você quer |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Resource Not Found |
PUT /resource/{resourceId}
Parâmetro | Tipo | Descrição |
---|---|---|
resourceId |
long |
Obrigatório. O resourceId do recurso que você quer atualizar |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Resource Not Found |
DELETE /resource/{resourceId}
Parâmetro | Tipo | Descrição |
---|---|---|
resourceId |
long |
Obrigatório. O resourceId do recusro que você quer remover |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Resource Not Found |
POST /inventory
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
GET /inventory
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
GET /inventory/{inventoryId}
Parâmetro | Tipo | Descrição |
---|---|---|
inventoryId |
long |
Obrigatório. O inventoryId do inventário que você quer |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Inventory Not Found |
PUT /inventory/{inventoryId}
Parâmetro | Tipo | Descrição |
---|---|---|
resourceId |
long |
Obrigatório. O inventoryId do inventário que você quer atualizar |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Inventory Not Found |
DELETE /inventory/{inventoryId}
Parâmetro | Tipo | Descrição |
---|---|---|
inventoryId |
long |
Obrigatório. O inventoryId do inventário que você quer remover |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
Inventory Not Found |
POST /user/create
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
POST /user/update/{id}
Parâmetro | Tipo | Descrição |
---|---|---|
Id |
long |
Obrigatório. O id do usuário que você quer atualizar |
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
404 |
User Not Found |
POST /user/role
Parâmetro | Tipo | Descrição |
---|---|---|
token |
string |
Obrigatório. Token de Acesso |
Response | Descrição |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Access token is missing or invalid |
403 |
Forbidden |
POST /login
Parâmetro | Tipo | Descrição |
---|---|---|
Id |
long |
Obrigatório. O id do usuário que você irá logar |
Response | Descrição |
---|---|
200 |
OK |
404 |
User Not Found |