Vingadores - Integração com o SGA (Serviços e unidades) para o atendimento presencial
OBJETIVO
Avaliar como será feita a integração dos serviços e unidades do Alpha com o SGA, quais serão as histórias para essa implementação, quais as mudanças necessárias e possíveis impedimentos.
JUSTIFICATIVA
Atualmente existem serviços e unidades no SGA que precisam ser sincronizados com o Alpha.
RESULTADOS DA PESQUISA
Identificar a Solução, as Histórias de Usuários, Débitos Técnicos e quais possíveis impedimentos podem dificultar a integração com o SGA.
ENVOLVIDOS:
Gustavo Felix Gomes (DEV Team)
Rafael Passos dos Santos (DEV Team)
Emanuel Rufino Alcantara de Lima (DEV Team)
Lucas de Souza e Sousa (DEV Team)
André Honório (DEV Team)
Euriane Nogueira Frota (Product Owner)
Edson Masami Hiraçaka (Scrum Master)
Lucas Tavares Viana de Souza (Estagiário Scrum Master)
1. CENÁRIO ATUAL
No Alpha, existe a funcionalidade agendamento, onde o cidadão irá selecionar um serviço e em qual unidade será atendido. Ao gerar a senha, é necessário identificar para qual unidade e serviço será gerada a senha.
UNIDADES
As unidades cadastradas no Alpha provém de uma integração com a API de Organograma.
As unidades cadastradas no SGA são de estabelecimentos, ex: Tudo Aqui Porto Velho Centro, Tudo Aqui Porto Velho Shopping, O SGA deve ter as unidades cadastradas com o código do departamento do organograma.
SERVIÇOS
Os serviços do SGA são cadastrados manualmente.
RELACIONAMENTO
Tanto no SGA, quanto no Alpha, o relacionamento entre serviços e unidades é NxN, ou seja, cada serviço pode se relacionar com 0..N unidades e cada unidade pode ser relacionada com 0..N serviços.
FLUXO DE CADASTRO DE SERVIÇO NO ALPHA
DADOS BÁSICOS -> FORMA DE ATENDIMENTO -> ETAPAS
2. SOLUÇÃO
2.1 - ADICIONAR/EDITAR O SERVIÇO NO SGA
Novos campos da tabela serviço.
integracaoComOSGA do tipo boolean.
codigoDoServicoNoSGA do tipo integer.
2.1.a - ADICIONAR SERVIÇO
Ao adicionar a forma de atendimento e houver atendimento presencial, será utilizada a rota de adição de serviço no SGA.
Parâmetros:
- Nome do serviço
- Descrição do serviço
- Ids das unidades do serviço
Retorno:
- O retorno deverá ser o código do serviço criado. Esse Id será salvado no campo codigoDoServicoNoSGA. Salvar o campo integracaoComOSGA como true.
2.1.b - EDITAR SERVIÇO
Ao editar a forma de atendimento, será verificado se o serviço possui integracaoComOSGA e se a Forma de atendimento possui atendimento presencial.
2.2 - VINCULAR UNIDADES AO SERVIÇO
No criar do serviço no SGA, as unidades serão enviadas junto com o POST.
Ao editar as unidades, deve-se verificar se o serviço já possui integração com o SGA, caso sim, deve-se enviar as unidades atuais para o SGA
nome da rota: Atualizar Unidades do Serviço do SGA
Parâmetros:
- Código do serviço no SGA
- Ids das unidades do serviço
Retorno:
- O retorno deverá ser true ou false, se conseguiu criar os relacionamentos
2.3 ALTERAR A ESTRUTURA DO SGA PARA SE ADAPTAR AO ORGANOGRAMA
Atualmente, a estrutura do SGA não é compatível com o organograma.
- Criar uma entidade local específica pra representar os locais de atendimento.
- Remover o CRUD de serviços.
- Alterar a Api para funcionar conforme o item 2.4
2.4 Funcionalidade distribuir senha
Parâmetros:
- Id do departamento
- Nome e documento do Cidadão
- Id e nome do serviço
- Id da Prioridade do atendimento
3. HISTÓRIAS DE USUÁRIO
As Histórias de usuário e débitos técnicos abaixo são referentes a segunda solução apresentada.
História |
Pontuação |
Criar serviço no SGA ao salvar a forma de atendimento no Alpha | 8 |
4. POSSÍVEIS IMPEDIMENTOS
A equipe vingadores não possui expertise na tecnologia em que o SGA foi construído. Necessária ajuda de um membro fora do time para criar as rotas na api do SGA.
CONCLUSÃO
Foi levantada a necessidade de integração dos serviços e unidades para o atendimento e que histórias serão necessárias para realizá-la.