autocensup/REGRAS_VINCULO.md

1.8 KiB

Regras de importacao de vinculos

Origem

A importacao de vinculos consulta a API Gennera pessoa por pessoa, usando o CPF da pessoa cadastrada localmente e o ano de referencia selecionado.

Endpoint consultado:

GET /vinculo/?ano=<ano>&cpf=<cpf>

Curso

O campo course_code retornado pela API Gennera representa o codigo MEC do curso. Esse valor deve ser usado para localizar Curso.codigo_mec.

Situacao do vinculo

As regras de situacao devem ser aplicadas por pessoa, curso e ano do censo. Registros retornados pela API para outro ano devem ser ignorados na decisao do ano selecionado.

  1. Se carga_horaria_acumulada for maior ou igual a carga_horaria_total do curso, a situacao do vinculo deve ser FORMADO.
  2. Uma vez que um vinculo esteja FORMADO, ele nao pode ser alterado por outra regra de importacao.
  3. Se houver vinculo no ano do censo e no semestre 2, a situacao deve ser CURSANDO.
  4. Se houver vinculo no ano do censo e no semestre 1, mas nao houver no semestre 2, a situacao deve ser DESVINCULADO.
  5. Se nao houver vinculo no ano do censo para uma pessoa que ja possui vinculo local no ano, a situacao local deve ser DESVINCULADO, exceto quando o vinculo local ja estiver FORMADO.

Prioridade

A regra de FORMADO tem prioridade sobre todas as demais. Mesmo quando a situacao FORMADO for preservada, a carga horaria acumulada retornada pela API deve sempre atualizar a carga horaria integralizada do vinculo.

Ordem pratica de decisao:

  1. Manter FORMADO se o vinculo local ja estiver formado.
  2. Definir FORMADO se a carga horaria acumulada atingir a carga horaria total do curso.
  3. Ignorar registros fora do ano do censo selecionado.
  4. Definir CURSANDO se existir registro no semestre 2 do ano do censo.
  5. Definir DESVINCULADO nos demais casos do ano do censo.