djonathanb/unipar-2021-trabalho-plano
O presente projeto implementa uma API para a gestão operational de de uma operadora de planos de saúde.
- Operadora: Empresa que gerencia o Plano de Saúde.
- Agente: Funcionário da Operadora responsável pelos cadastros operacionais do sistema.
- Prestador: Médico/Clínica/Hospital credenciado para prestar serviços a Operadora.
- Contrato: Descreve os usuários do plano e detalhes como Tipo de Acomodação e Área de Abrangência.
- Usuário: Pessoa Física atrelada a um contrato.
- Titular: Contratante responsável pelo contrato.
- Dependente: Qualquer usuário do plano atrelado ao contrato (não titular).
- Especialidade: Especialidade de atuação dos Médicos de acordo com https://sistemas.cfm.org.br/normas/visualizar/resolucoes/BR/2018/2221
- Serviços: Serviços prestados pelas Clínicas/Hospitais de acordo com as Areas de Atuação médicas descritas em https://sistemas.cfm.org.br/normas/visualizar/resolucoes/BR/2018/2221, acrescidos: Pronto Atendimento, Cirurgia Geral e Exame Laboratorial.
O sistema segue uma arquitetura em camadas com componentes de negócio isolados da infraestrutura, uma adaptação do Modelo Onion. A comunicação entre as camadas é feita através de interfaces que favorecem o baixo acomplamento e a testabilidade.
Aqui há uma breve descrição dos componentes da arquitetura:
Como um Agente, preciso credenciar novos prestadores para disponibilizar os seus serviços para os nossos usuários.
- O prestador do tipo Médico deve ter um CRM válido (somente o formato seguindo o seguinte padrão 99999/UF.
- O sistema deve válidar CRMs duplicados e retornar uma mensagem "Prestador com CRM já cadastrado".
- O prestador do tipo Clínica/Hospital deve ter um responsável técnico.
- Prestadores do tipo Médico são atrelados a pelo menos uma especialidades.
- Prestadores do tipo Clínica/Hospital devem estar atrelados a pelo menos um serviço.
Como um Agente, preciso descrecendiar prestadores para que seus serviços não sejam mais disponibilizados aos nossos usuários.
- O prestador deve estar Ativo.
Como um Agente, preciso cadastrar novos planos para informar os parâmetros de serviço prestados para os usuários.
- Um plano descreve pode ter Abrangência Nacional ou Estadual.
- Os Tipo de Acomodação permitidos são (Compartilhado e Individual).
- O plano pode ter ou não Obstetrícia.
- O plano pode ter ou não Transporte Aéreo.
- Todo plano tem um valor base de mensalidade que não deve ser menor que R$100.00.
Como um Agente, preciso deletar planos para que os mesmos não sejam mais utilizados.
- O plano não pode estar sendo utilizado em nenhum contrato.
Como um Agente, preciso cadastrar contratos para registrar nossos usuários.
- O contrato deve ter pelo menos um Titular com CPF válido.
- O Titular não deve ter outro contrato em Aberto com o seu CPF.
- Os tipos de dependentes permitidos são: CONJUGE, FILHO, PAIS.
- Somente upgrades de planos são permitidos em caso de alteração contratual.
Como um Agente, preciso cancelar contratos para bloquear o acesso aos nossos serviços.
- O contrato deve estar Ativo a pelo menos 90 dias.
- O contrato não deve ter pagamentos em aberto.
Como um Agente, preciso lançar cobranças para cobrar os serviços de um contrato.
- É cobrado para cada usuário do contrato "valor base do plano + idade_do_usuario".
- É cobrado um adicional de "10 reais por consulta/procedimento realizado no mês + 1000 reais por cirurgia realizada no mês".
- O vencimento da cobrança é para o Décimo dia subsequente a data de lançamento.
- Não podem ser geradas duas cobranças para o mesmo mês (permitido caso as outras cobranças do mesmo mês estejam Canceladas).
- Podem ser lançadas cobranças para qualquer mês anterior ao da data de lançamento.
Como um Agente, preciso cancelar cobranças para desfazer possíveis erros de lançamento.
- Somente é permitido cancelar cobranças em Aberto.
Como um Agente, preciso solicitar a emissão de carteirinhas para que os usuário possam acessar os nossos serviços.
- O número da carteirinha segue o seguinte padrão "UF9999999-99"
- É permitido a emissão de uma carteirinha Válida para cada usuário do contrato.
- O prazo de validade da carteirinha é de 3 anos a partir da data de emissão.
Como um Agente, preciso registrar a entrega de carteirinhas para registrar quando a mesma foi entregue ao usuário e liberar a sua utilização.
- A data de liberação deve ser maior que a de emissão.
Como um Agente, preciso registrar o extravio de carteirinhas para registrar quando a mesma foi extraviada pelo usuário.
- A data de extravio deve ser maior que a de liberação.
- Deve ser registrado o motivo do registro.
Como um Prestador, preciso registrar a realização de um procedimento para registrar informar quanto algum serviço foi efetivamente prestado.
- Consultas do tipo Clinica Médica podem ser lançadas a qualquer momento.
- Demais tipos de procedimento devem ter uma liberação atrelada ao mesmo.
- O procedimento deve estar atrelado a uma Carteirinha Válida.
- O procedimento deve realizado somente de acordo com a Área de Abrangência do Contrato, do contrário uma exceção deve ser retornada.
Como um Prestador, preciso cancelar a realização de um procedimento para corrigir lançamentos indevidos.
- O procedimento prestado não pode ter sido previamente cancelado.
Como um Prestador, preciso emitir o Extrato de Serviços Prestados para controlar os meus rendimentos com o plano.
- O extrato deve conter a data de emissão.
- O extrato deve ser emitido por Ano/Mês.
- O extrato deve relacionar todos os serviços efetivamente prestados.
- O extrato deve ter a sumarização do valor total dos serviços prestados.
Como um Usuário, preciso solicitar a liberação de um procedimento para ter acesso aos serviços restritos.
- A liberação deve ser solicitada para uma carteirinha válida.
- Deve ser solicitada uma liberação por procedimento restrito (todos os procedimentos exceto Consulta Clinica Médica).
- A solicitação deve conter o Médico solicitante.
Como um Agente, preciso liberar procedimentos para ter os usuário tenham acesso aos serviços restritos.
- A liberação deve ser solicitada ter sido solicidata previamente pelo Usuário.
- É permitido no máximo duas solicitações para o mesmo procedimento no mês.
Como um Agente, preciso rejeitar procedimentos caso eu perceba excessos.
- Somente podem ser rejeitadas liberações em Aberto.
- A rejeição deve ter uma descrição com o motivo.
Como um Usuário, preciso solicitar o reembolso caso eu tenha sido atendido em uma emergência fora de minha área de abrangência.
- A solicitação deve ser solicitada para uma carteirinha válida.
- A solicitação deve ser feita para um estado fora da Área de Abrangência do plano.
- É permitido no máximo quatro solicitações de reembolso ano no valor total de R$5000.00.
Como um Agente, preciso autorizar reembolsos para que o usuário possa receber seu dinheiro.
- O reembolso deve ter sido solicitado previamente pelo Usuário.
Como um Agente, preciso rejeitar reembolsos caso não esteja em conformidade.
- O reembolso deve ter sido solicitado previamente pelo Usuário.
- A rejeição deve ter uma descrição com o motivo.
Como um Usuário, preciso solicitar o pré-natal para liberar o pacote de exames para acompanhamento de grávidez.
- A solicitação deve ser solicitada para uma carteirinha válida.
- O plano contratado deve incluir Obstetrícia.
- É permitido no máximo uma solicitação por ano.
Como um Usuário, preciso cancelar uma solicitar de pré-natal caso tenha sido lançada indevidamente.
- A solicitação não pode ter sido autorizada.
Como um Agente, preciso autorizar o pré-natal para que o pacote de exames básico seja criado.
- O pré-natal deve ter sido solicitado previamente pelo Usuário.
- Ao autorizar o pré-natal uma cirurgia será autorizada bem como 9 consultas gineológicas.
Como um Usuário, preciso solicitar transporte para encaminhar passageiros entre diferentes cidades.
- A solicitação deve ser solicitada para uma carteirinha válida.
- A soliciação deve conter a cidade de origem e destino.
- Os tipos de transporte são Ambulância, UTI Móvel ou Aereo.
- O transporte aéreo só é permitido se contratado no plano.
Como um Usuário, preciso cancelar uma solicitar de transporte caso tenha sido lançada indevidamente.
- A solicitação não pode ter sido autorizada.
Como um Agente, preciso cancelar uma solicitação transporte caso detecte qualquer irregularidade.
- O transporte deve ter sido solicitado previamente pelo Usuário.
Equipe | Estórias | Integrantes |
---|---|---|
1 |
E1.1 - Credenciamento de Prestador E1.2 - Descredenciamento de Prestador |
William Schanoski (schanoski) Stéfano (marianistefanoj) |
2 |
E2.1 - Cadastro de Plano E2.2 - Exclusão de Plano |
Sergio Schulz(sergioschu) Lucas Martins (Lucas-Martins-de-Oliveira) |
3 |
E3.1 - Cadastro de Contrato E3.2 - Cancelamento de Contrato |
Matheus Gobo (MatheusGobo) Everton Busse (evertonab) |
4 |
E4.1 - Lançamento de Cobrança E4.2 - Cancelamento de Cobrança |
Bruno Henrique Pereira Szczuk (brunoszczuk) Jader Hericks Anschau (jaderhe) |
5 |
E5.1 - Emissão de Carteirinha E5.2 - Registrar Entrega de Carteirinha E5.3 - Registra Extravio de Carteirinha |
Kevin Santos (kevin120) Adriel Schneider (AdrielSchneider) |
6 |
E6.1 - Registrar Procedimento E6.2 - Cancelar Procedimento E6.3 - Extrato de Prestação de Serviços |
Simon(SimonLRS) Henrique (hmaltaurodev) |
7 |
E7.1 - Solicitar Liberação de Procedimento E7.2 - Liberar Procedimento E7.3 - Rejeitar Procedimento |
Thiago Crestani(Thiagohcrestani) Riquelmy (rofontin) |
8 |
E8.1 - Solicitar Reembolso E8.2 - Autorizar Reembolso E8.3 - Rejeitar Reembolso |
Bruno Reolon Gabriel Sementino |
9 |
E9.1 - Solicitar Pré-Natal E9.2 - Cancelar solicitação de Pré-Natal E9.3 - Autorizar Pré-Natal |
Victor Paro (Terrible-Developer) Matheus Ferreira (wyvern800) |
10 |
E10.1 - Solicitar Transporte E10.2 - Cancelar solicitação de Transporte E10.3 - Autorizar Transporte |
Lucas Baccan (lucasbaccan) João Kirst (joaoalexandre2) Luiz Fernando Brogliatto Ferreira(luiz0067) |
Planilha de Equipes: link