Regras de negócio · Entrevistas
RN-ENTREVISTAS-001 · Pessoa cliente fixa
Condição: cadastrar uma entrevista.
Resultado: a pessoa cliente deve existir e estar no alcance de leitura do usuário. Sua identificação permanece fixa após a criação. O nome e a unidade de origem são copiados no cadastro da entrevista.
RN-ENTREVISTAS-002 · Encaminhamento por núcleos
Condição: cadastrar a entrevista ou enviar núcleos na edição.
Resultado: informar ao menos um núcleo existente. As siglas são normalizadas para maiúsculas e deduplicadas. Uma lista que fique vazia após a normalização é recusada. Na edição, a lista enviada substitui integralmente a anterior.
RN-ENTREVISTAS-003 · Classificação pelo assunto
Condição: informar ou alterar o assunto.
Resultado: o assunto deve pertencer ao catálogo. O Hub deriva o nome e a área correspondentes. Enviar subjectSlug: null na edição remove assunto, nome e área. O núcleo sugerido pela área não restringe a escolha de núcleos existentes.
RN-ENTREVISTAS-004 · Data do atendimento e relato
Condição: registrar ou corrigir os dados do atendimento.
Resultado: a data deve ser uma data civil existente em YYYY-MM-DD. Sua ausência na criação usa o dia corrente em America/Recife. O relato admite até 100.000 caracteres e pode ser limpo por string vazia. As marcas de estudo inicial e pesquisa de recurso são independentes e começam falsas quando não informadas.
RN-ENTREVISTAS-005 · Atualização parcial
Condição: editar a entrevista.
Resultado: campos ausentes preservam o valor atual. A edição permite núcleos, assunto, relato, data e marcas; pessoa cliente, autor, dados copiados da pessoa e situação não são alterados por essa operação. Mudanças efetivas registram evento na mesma transação; uma edição sem mudança não acrescenta evento.
RN-ENTREVISTAS-006 · Situações e transições
Condição: criar a entrevista ou solicitar uma mudança de situação.
Resultado: a criação usa ABERTA. Mudanças seguem a tabela abaixo; a transição para o próprio estado e os pares ausentes são recusados.
| Situação atual | Destinos |
|---|---|
ABERTA | EM_ANALISE, ARQUIVADA |
EM_ANALISE | ABERTA, CONCLUIDA_COM_DIREITO, CONCLUIDA_SEM_DIREITO, ARQUIVADA |
CONCLUIDA_COM_DIREITO | EM_ANALISE |
CONCLUIDA_SEM_DIREITO | EM_ANALISE |
ARQUIVADA | ABERTA |
A justificativa é opcional e admite até 500 caracteres. Reaberturas de situações concluídas ou arquivadas exigem autorização adicional. A ficha recebe allowedStatusTransitions já calculado para o usuário.
RN-ENTREVISTAS-007 · Acesso e capacidades
Condição: consultar ou executar uma operação sobre uma entrevista.
Resultado: a API verifica a identidade e o alcance do registro. Entrevista inexistente, excluída ou fora do alcance recebe a mesma resposta de registro não encontrado. A ficha informa canDelete e allowedStatusTransitions; essas capacidades orientam as ações exibidas e não dispensam a validação no servidor.
As operações de criação, edição, situação e exclusão exigem usuário pessoal autenticado. A matriz detalhada de perfis e vínculos permanece pendente de revisão.
RN-ENTREVISTAS-008 · Exclusão lógica
Condição: usuário com capacidade de exclusão solicita a retirada da entrevista.
Resultado: o Hub registra instante e autor da exclusão e o evento correspondente na mesma transação. A linha permanece armazenada, mas sai das listagens e das leituras do registro. Arquivamento é uma mudança de situação e não substitui a exclusão lógica.
RN-ENTREVISTAS-009 · Busca e filtros
Condição: consultar a listagem.
Resultado: os filtros restringem o alcance já autorizado. Filtros de eixos diferentes combinam em E; várias situações combinam em OU entre si. A ordenação usa cadastro decrescente e identificador decrescente como desempate.
A busca ignora caixa e acento, exige todas as palavras consideradas e usa até seis palavras. Termos com menos de dois caracteres não restringem a lista. Nome da pessoa, nome e slug do assunto e siglas dos núcleos participam da busca; o relato não participa. O período filtra createdAt, não consultationDate.
RN-ENTREVISTAS-010 · Leitura documental
Condição: consultar as juntadas relacionadas à entrevista.
Resultado: a entrevista deve ser legível. A leitura da juntada não concede acesso ao documento; o resumo do documento é null quando o arquivo não é legível pelo usuário.
RN-ENTREVISTAS-011 · Resumo da entrevista
Condição: usuário pessoal autenticado solicita um resumo de entrevista legível.
Resultado: o serviço usa o relato e o histórico legível, guarda o texto gerado e o reutiliza até sua invalidação. Escritas que registram eventos da entrevista invalidam o resumo na mesma transação. Em falha de geração, a nova tentativa é manual.
RN-ENTREVISTAS-012 · Acervo externo por pessoa
Condição: consultar entrevistas do espelho Projuris.
Resultado: o acesso parte de uma pessoa local legível e depende da integração disponível. Com a integração habilitada, uma pessoa sem código Projuris recebe uma página vazia. Registros excluídos do espelho não são apresentados. Os dados externos mantêm seus rótulos e identificadores próprios.
RN-ENTREVISTAS-013 · Título e entrevistador opcionais
Condição: o usuário registra ou edita uma entrevista.
Estado: em implementação na API.
Resultado: title e interviewerUserId podem ser informados, mas não são obrigatórios.
RN-ENTREVISTAS-014 · Profissionalização do relato só grava após confirmação
Condição: o usuário pede a profissionalização do relato da entrevista.
Estado: em implementação na API.
Resultado: POST /v1/consultations/{id}/notes/professionalize devolve uma prévia do texto revisado sem salvar. O relato só é gravado depois que o usuário confirma a prévia e a envia por PATCH /v1/consultations/{id}.
RN-ENTREVISTAS-015 · Código da entrevista
Condição: uma entrevista é criada.
Estado: em implementação na API.
Resultado: o servidor atribui code no formato ENT-AAAA-NNN…, em sequência de no mínimo três dígitos dentro do ano da data da entrevista; o código é único e não é informado pelo usuário. As entrevistas existentes recebem código na mesma sequência.