CamaraDosDeputados / dados-abertos

Repositório do serviço de Dados Abertos da Câmara. Consulte as "Issues" para atendimento a dúvidas e sugestões.
http://dadosabertos.camara.leg.br
195 stars 13 forks source link

Documentação confusa para /proposicoes #307

Closed luism6n closed 3 years ago

luism6n commented 3 years ago

Se eu chamo /proposicoes, a documentação me informa que serão retornadas as proposições com mudança de situação nos últimos 30 dias. Vejo que o primeiro item da lista tem ID 15990. Chamo /proposicoes/15990/tramitacoes e, como esperado, a data do último "retrato" (como chamam na documentação) condiz com o retorno da chamada anterior para /proposicoes. Porém, comparado ao retrato anterior, a situação não mudou (ambas são null). O que mudou foi o codTipoTramitacao. Isso significa que a mudança do tipo de tramitação de uma proposição adiciona um novo item na lista retornada por /proposicoes?

De forma mais abrangente, quais as regras para que uma proposição ganhe uma nova entrada na lista retornada por /proposicoes?

Obrigado!

Nota: O exemplo específico pode mudar desde o momento que postei essa issue, de qualquer forma o questionamento se mantém.

EquipeDadosAbertosCD commented 3 years ago

Olá, Luís! Obrigado pelo interesse no Dados Abertos e pela boa pergunta. E, ainda em tempo, um excelente 2021!

Talvez os termos da descrição do endpoint /proposicoes precisem ser mais trabalhados, mas "mudança de situação", neste contexto, não se refere somente aos campos descricaoSituacao e codSituacao do retorno do endpoint /proposicoes/{id}/tramitacoes.

As "situações" neste contexto mais específico são as retornadas pelo endpoint referencias/proposicoes/codSituacao. A forma com que as mudanças de situação são registradas é meio problemática -- por um tempo, só conseguíamos extrair a situação mais recente. Em algum momento precisaremos voltar a esta query e esses dados para certificar que a situação registrada em uma certa data permanece inalterada até que haja uma outra mudança de situação posterior, mesmo que entre elas haja registros como NULL.

E sim, o endpoint /proposicoes/{id}/tramitacoes traz um registro para cada mudança que tenha ocorrido em qualquer das informações que compõem o "status" de uma proposição em um determinado momento no tempo. Pode ser a situação, pode ser a tramitação (no sentido estritamente regimental do termo), o que inclui designação de um novo relator, apensamentos e apresentação de proposições relacionadas, deslocamento de um órgão para o outro, publicação... Tudo o que conseguimos tirar da base de dados que possa representar uma mudança de status gera um novo registro nessa listagem.

Devo ressalvar que alterações do regime de tramitação também ocorrem com frequência durante a vida de uma proposição, mas há problemas com os dados dessas alterações de regime e até o momento, se não me falha a memória, nós só conseguimos informar o último que tenha sido cadastrado.

Espero que isso responda, mas qualquer dúvida é só perguntar de novo. Abraço e obrigado mais uma vez!

Fabricio Rocha Equipe Dados Abertos - Câmara

luism6n commented 3 years ago

Obrigado pela resposta!

E sim, o endpoint /proposicoes/{id}/tramitacoes traz um registro para cada mudança que tenha ocorrido em qualquer das informações que compõem o "status" de uma proposição em um determinado momento no tempo.

Legal, ficou mais claro. 😄 Mas ainda estou confuso sobre esse ponto:

não se refere somente aos campos descricaoSituacao e codSituacao ... "situações" neste contexto mais específico são as retornadas pelo endpoint referencias/proposicoes/codSituacao

A lista retornada por /proposicoes ganha um item novo em algum outro caso que não a alteração do codSituacao? Ou qualquer atualização do campo statusProposicao faz com que ela apareça em /proposicoes? Em outras palavras, assim que /proposicoes/x/tramitacoes é atualizada, /proposicoes ganha um novo item na lista com ID igual a x?

Desculpe a insistência, estou tentando entender a relação dos dois endpoints. 😅

Obrigado!

EquipeDadosAbertosCD commented 3 years ago

Olá de novo, Luis!

Desculpe a demora em responder. As coisas estão realmente complicadas por aqui.

Sim, é isso aí: apareceu alguma coisa nova em /proposicoes/X/tramitacoes, isso faz com que o retorno padrão (isto é, sem parâmetros na query string) de /proposicoes passe a listar a proposição X. Mesmo que a ocorrência não tenha alterado a situação regimental da proposição.

Obrigado mais uma vez e abraço!

Fabricio Rocha Equipe Dados Abertos - Câmara