# Piloto HC - Rev. 04
## Objetivo: Mapeamento de endpoint usado para plotagem do mapa
> endpoint: *Get /api/localizacoes/ativas/hc/mapa*
#### Informações relavantes:
```
- Alocação válida + interação ativa:
- [Correto] Paciente com interação em local válido
- Alocação válida + interação inativa:
- [Errado] Paciente sem interação em local válido
- Alocação inválida + interação ativa:
- [Errado] Paciente com interação em local inválido
- Alocação inválida + interação inativa:
- [Correto] Paciente sem interação em local inválido
```
#### Para todas as alternativas será necessário retornar:
- endereço da localizacao fisica
- id e nome do paciente
- Boolean representando alocacao valida
- Boolean representando interacao ativa
*Obs: desvio = (alocacaoValida && interacaoAtiva) || (!alocacaoValida && !interacaoAtiva)*
- Sugestão de mapeamento do endpoint:
```json
[
{
"localizacaoFisica": {
"id": Integer,
"nome": String,
"endereco": {
"latitude": String,
"longitude": String
},
"dispositivo": {
"id": Integer,
"EstadoAtualDispositivo": {
"vistoEm": Date
},
"desvio": {
"bateria": Boolean,
"temperatura": Boolean,
"emergencia": Boolean
}
},
"pessoaFisica": [
{
"id": Integer,
"nome": String,
"genero": String,
"ehPaciente": Boolean,
"ehColaborador": Boolean,
"paciente": {
"complexidade": String
},
"colaborador": {
"experiência": String,
"profissao": String,
},
"dispositivo": {
"id": Integer,
"EstadoAtualDispositivo": {
"vistoEm": Date
},
"desvio":{
"alocacao": Boolean,
"presenca": Boolean,
"dispositivo": Boolean,
"bateria": Boolean,
"temperatura": Boolean,
"parado": Boolean,
"emergencia": Boolean
}
}
}
]
}
}
]
```
### Definições:
- Localização Fisica Ativa: Associação ativa com dispositivo do tipo LPGW.
- Alocação Pessoa Válida: Quando o tempo corrente está no intervalo entre turno de inicio e fim da alocação.