Git Product home page Git Product logo

saudemental's People

Contributors

bcbernardo avatar cubalivre avatar dlopes14 avatar fernandesbruna avatar gabriellearruda avatar jvns2010 avatar tainnaps avatar vinnidias avatar

Stargazers

 avatar  avatar

saudemental's Issues

Melhorar forma de obter e usar dados de nomes de estabelecimentos e períodos dos filtros

Contexto

Com a adição dos query params de estabelecimento e período nos endpoints de dados de saúde mental, não é mais possível obter os nomes de todos os estabelecimentos e períodos do município, para gerar as opções dos componentes de filtro dos gráficos e tabelas, através desses endpoints porque eles só entregam dados do estabelecimento e período selecionados nos componentes de filtro.

Diante dessa circunstância, foram criados 2 endpoints destinados a obter os nomes de estabelecimentos e períodos de um município a partir de uma entidade específica, ex: é possível obter os estabelecimentos do município X para alimentar os gráficos de perfil dos novos usuários assando os query param municipio_id_sus=X e entidade=usuarios_novos_perfil para o endpoint /saúde-mental/estabelecimentos. Ao fazer uma requisição como a exemplificada, os nomes dos estabelecimentos são obtidos de uma das tabelas de perfil de novos usuários do banco, como a tabela de condição dos novos usuários por exemplo. Como as tabelas de perfil, bem como a maioria das outras tabelas (exceto as da página de produção) são originadas de uma mesma tabela mãe e/ou usam uma mesma tabela como fonte dos estabelecimentos, é possível usar os nomes de estabelecimentos obtidos numa requisição para os gráficos da página de procedimentos por usuário, por exemplo, sem ter que fazer uma requisição para cada filtro de estabelecimento.

Essa abordagem funciona e evita o aumento de requisições à API para popular os filtros de estabelecimento e período, mas, ao mesmo tempo, torna seu bom funcionamento muito acoplado à forma como os dados são gerados, o que pode causar problemas no futuro caso o processo de geração dos dados seja alterado.

Objetivos

  • Melhorar a forma de obtenção e uso dos nomes de estabelecimentos e períodos de maneira que a ficar mais independente da forma com que os dados são gerados. Ex: Talvez adicionar no schema de produção uma tabela só com nomes de estabelecimentos dos municípios e outra tabela com os detalhes dos períodos disponíveis para exibição na plataforma para serem usados nos endpoints de estabelecimentos e períodos, o que permitiria usar os dados desses endpoints em todas as páginas do painel e diminuiria a quantidade de requisições feitas à API por página

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.