• Dev
  • Novo SGA v3.0

A alguns meses comecei a trabalhar na próxima versão do Novo SGA, que seria a v2.1, porém surgiram várias ideias novas, code refactory, melhorias e funcionalidades que não fez mais sentido seguir como v2.

Quero aproveitar o espaço aqui para relatar tais alterações e também para ter um retorno da comunidade sobre isso, e sobre coisas que não pensei.

Funcionalidades

Abaixo as novas funcionalidades previstas:

Desentralização

Permitir ter instalações fisicamente separadas e interligadas. Dessa forma poderemos ter um mini-servidor nas unidades sincronizando dados com um servidor principal.

Um grande complicador para a migração de versões anteriores será a conversão das chaves primárias das tabelas para o padrão UUID.

API

Aprimorar API (api-platform) para que seja possível executar todas as ações direto por ela. Isso facilitará desenvolvimento de novas aplicações para serem integradas ao Novo SGA.

Ainda na API, remover o controle de acesso via OAuth2, e criar Access Token por usuário. Cada usuário poderá gerar o seu access_token e o acesso à API será validado de acordo com o acesso do usuário que gerou o token.

Mensagens internas

Sistema de mensagens internas enviadas entre os usuários para facilitar a comunicação e avisos. Também permitir enviar mensagem para o painel.

Módulos

Alterações nos módulos:

Configurações

  • Remoçao da definição de local de atendimento
  • Permitir definir o máximo de senhas que podem ser geradas

Atendimento

  • O usuário informar qual o seu tipo de local (mesa, sala, etc)
  • Permitir chamar o próximo geral ou o próximo de um determinado serviço

Monitor

  • Exibir fila geral, além das filas por serviço

Refactoring

Refatoramento do código-fonte:

Websocket

Remoção do servidor websocket e em seu lugar será adotado o Mercure. O motivo é maior segurança a evitar o problema/complexidade de rodar o websocket sob SSL ou Proxy Reverso.

Core

Aprimorar uso de interfaces. Deixar no core apenas a definição das interfaces, e toda a implementação ser feita na aplicação.

    Quem já usou ou está usando o Novo SGA v2 fique a vontade para contribuir com ideias para essa nova versão.

    Lembrando que as funcionalidades do painel, exibição de vídeos, deixei de fora da versão comunitária, já que pretendo continuar fornecendo essa funcionalidade comercialmente (a minha forma de rentabilizar o meu trabalho).

    Mas caso tenha uma mobilização da comunidade, podemos criar um crowdfounding com metas de arrecadação para liberação de funcionalidades.

    Isso tudo vai depende de vocês que fazem parte da comunidade.

      Poderia adicionar uma aplicativo para que os usuários que estão na fila, possam acompanhar qual a posição deles, que nisso em ocasiões que vai demorar ele pode estimar que pode sair para resolver algumas coisas e voltar antes de sua vez.

        Oi Rogério (@rogeriolino) tudo bem! Primeiramente parabéns pelo projeto, só temos a agradecer a você. Fico ansioso pelas novidades, em especial pelo "mini-servidor", que facilitaria o uso em grandes organizações como universidades.

        O ideal seria ter versão estável com versão de teste, mas como você programa sozinho, sei que é difícil. Não sou programador, senão me voluntariaria a ajudar.

        Vejo muitos usuários com dificuldade na instalação do programa. Não seria melhorar a instalação da mesma forma que é feito, por exemplo, no wordpress?

        Uma sugestão que eu faço é permitir o chamamento específico de uma senha, o que permitiria ser usada em estabelecimentos comerciais como lanchonetes e pizzarias que trabalham com senhas (talvez até você possa rentabilizar uma versão empresarial para uma rede de fastfood).

          GilsonCouto Vejo muitos usuários com dificuldade na instalação do programa. Não seria melhorar a instalação da mesma forma que é feito, por exemplo, no wordpress?

          Seria bom mesmo, facilitar a instalação, existem várias formas de se fazer um sistema de gerenciamento de filas, o Rogerio utilizou tecnologias web para desenvolver o novo sga, dentre elas como linguagem back-end, ele usou o PHP com um framework chamado Symfony (dei uma olhada no código) que já está na sua versão 4, pois é amigo, quer mexer no código? Vai ter que ler a documentação do Symfony 4.

          Uns são totalmente contra a utilização de frameworks, outros são totalmente a favor, pois padroniza o código, você segue aquele caminho e começa a entender o que foi feito sem muita dor de cabeça, o problema é que muitos frameworks simplesmente somem do mercado (o que não é o caso do Symfony, que já é consolidado).

          Além disso, quando os frameworks atualizam suas versões, e nessa nova versão, ocorre grandes mudanças, algumas funcionalidades da versão anterior podem ser depreciadas e param de funcionar e isso também tem a ver com a versão do php, com isso, a chance de dar erro numa instalação é grande, para usuários leigos é mais complicado, necessitando d ajuda de alguém da área de TI, o rogerio tá fazendo o que ele pode, e programando do jeito certo, seguindo os padrões do PHP e de outras tecnologias envolvidas como o electron-vue por exemplo, a codificação dele é excelente, provavelmente já trabalha a anos com programação, sou iniciante, mais percebo isso.

            4 dias depois

            rogeriolino, estou testando a versão que acredito ser comunitária, a versão 1.5.0 como faço para participar do crowdfounding? pois acredito que será mais vantajoso para mim que comprar sozinho o modulo vetor. Tentei implementar sozinho, contudo não conseguir colocar para funcionar.

            GilsonCouto marcelosb

            A questão da instalação é complicado. Como o Marcelo, tem peculiaridades do sistema, da estrutura, que é para requerer um certo conhecimento mesmo (para instalação). Muitos problemas de segurança e performance ocorrem quando alguém totalmente leigo faz a instalação sem ao menos entender o que está fazendo.

            Poderia ter sim um instalador bem amigável e fácil, mas cai no que você citou, estou sozinho e meu foco é melhorar a ferramenta, otimizar e trazer funcionalidades úteis. Quanto mais tempo me dedicar a desenvolver um instalador fácil para leigos, menos tempo terei aprimorar o sistema.

            @betalinux

            Então, apenas levantei a ideia de um crowdfounding, que seria uma forma de trazer funcionalidades e facilidades interessantes à comunidade de forma colaborativa. Hoje, como forma de renda, tenho além do meu trabalho fixo, trabalhos paralelos que surgem com certa frequência. E no tempo livre (quando sobra) que contribuo para o projeto.

            Havendo uma campanha de arrecadação, poderia deixar de pegar novos trabalhos, para me dedicar esse tempo ao Novo SGA.

            Mas enfim, teria que ser uma campanha vantajosa para todos.

              @rogeriolino Primeira queria agradecer e parabenizar pelo projeto, eu utilizo o NOVOSGA no Hospital aonde trabalho a mais ou menos 04 anos e tive que fazer algumas modificações na versão 1.5 para atender algumas necessidades da instituição, ainda não utilizo a versão 2.0 em produção pois não queria perder todo o histórico de atendimento, iria começar um piloto com a versão 2.0 em um outro hospital que assumimos a gestão aonde não tem nada implementado ainda.

              A respeito da funcionalidades algumas coisas que acho que seriam interessantes a ser implementadas:

              • Usuários com múltiplos serviço pudessem escolher no momento do atendimento em qual serviço vai atender ou que as filas das senha ficassem dividas por serviço na tela de atendimento ai o usuário decide de qual serviço vai chamar a senha.

              • Limitar os tipos de serviços que os usuários tem disponível para encaminhamento um exemplo aqui no ambulatório do hospital o cargo medico foi limitado o encaminhamento apenas para o RAIOX e RECEPÇÃO, pois em instituições aonde tem muitos serviços que é o meu caso fica complicado para o usuário ficar correndo a lista para fazer o encaminhamento.

              • Pegar automático da senha o serviço que foi executado sem que o usuário precise ficar indicando qual serviço foi realizado.

              • Como a @Leslie comentou um aplicativo ou outro painel para que o usuário possa acompanhar quanto falta para seu atendimento

              • Habilitar a opção no painel para mostrar o serviço que esta chamando a senha e o nome da pessoa quando disponível na senha.

              • Permitir reativar a senha mesmo quando ela for encerrada e não apenas quando colocada como não compareceu.

              • Permitir a inserção do nome e documento depois da senha emitida, exemplo o usuário retira a senha em um totem utilizando a triagem touch, quando ele for chamado no guichê que o atendente tivesse a opção de complementar com o nome e documento, pois só é possivel incluir o nome e o documento quando a senha é emitida usado o modulo triagem por dentro do sistema.

              • O modulo agendamento que você começou a implementar na versão 2.0 seria muito interessante também.

              A ideia do crowdfunding sou totalmente a favor, assim todos nos podemos contribuir de alguma forma para melhor o sistema e ajudar você.

              Assim com o @GilsonCouto o meu forte não é programação, nem gosto para falar a verdade mas o que eu puder contribuir para o sistema estou a disposição.

                rarandrade

                Pegar automático da senha o serviço que foi executado sem que o usuário precise ficar indicando qual serviço foi realizado.

                Essa opção é boa, próxima semana vou ver se implemento ela, pra pegar automático, no momento estou resolvendo alguns problemas de notificação (quando houver um novo atendimento, o usuário ser notificado via áudio e aparecer a mensagem de notificação no sistema operacional, a versão 2.0 que eu tenho, não estava funcionando 💯%)

                Como a @Leslie comentou um aplicativo ou outro painel para que o usuário possa acompanhar quanto falta para seu atendimento

                A ideia do aplicativo é boa, mas nem todos usam celulares, nem todos levam celulares pra esses lugares, nem todos possuem celulares modernos, muitos idosos nem sabem mexer, o brasil ainda é um país com uma taxa muito alta de analfabetismo. Se é pra fazer algo, na minha opinião, tem que ser algo que beneficie a todos, não apenas a um grupo privilegiado que possui smartphones.
                O painel poderia ser útil, onde mostrava a fila com ícones de pessoas e suas respectivas senhas junto com um desenho de uma fila na vertical ou horizontal (parecido com aquelas sistemas de passagens de ônibus online, onde você escolhe o assento, tem os ícones dos assentos e tudo), mas seria um novo gasto, tem que fazer um planejamento e ver se realmente vale a pena, o ideal é fazer uma levantamento de opiniões com os próprios clientes, sentar com eles e perguntar a eles, o que eles acham dessa ideia, pega uma taxa de amostragem alta, se a maioria dos clientes gostar da ideia, você vai lá e faz ou então implanta e faz a pesquisa de opinião.

                Habilitar a opção no painel para mostrar o serviço que esta chamando a senha e o nome da pessoa quando disponível na senha.

                O nome é mais fácil de habilitar no painel, pois faz parte da mesma tabela que mostra os dados lá no painel, já o serviço ele possui uma referência de id, você poderia pegar essa referência e por meio dela chamar o nome do serviço, ainda não testei isso, outra forma é você indo lá na tabela painel_senha (v2.0) e incluir esse campo, mas também vai ter que modificar lá no PainelSenha.orm.yml.

                Permitir reativar a senha mesmo quando ela for encerrada e não apenas quando colocada como não compareceu.

                Na hora de pesquisar as senhas, poderia por um botão pra editar o status de cancelado/encerrado para em_espera. mas não sei se isso vale a pena, depende da unidade.

                Permitir a inserção do nome e documento depois da senha emitida, exemplo o usuário retira a senha em um totem utilizando a triagem touch, quando ele for chamado no guichê que o atendente tivesse a opção de complementar com o nome e documento, pois só é possível incluir o nome e o documento quando a senha é emitida usado o modulo triagem por dentro do sistema.

                Ainda não utilizei a triagem-touch, mas fiz algumas modificações na triagem interna, por exemplo, no campo para digitar o nome, ele aceita qualquer caractere e pode digitar maiúsculas e minúsculas, eu restringi o campo apenas para letras maiúsculas sem acentuação, para padronizar.

                O modulo agendamento que você começou a implementar na versão 2.0 seria muito interessante também.

                Verdade, essa funcionalidade aumenta o leque de lugares onde o novo SGA pode ser usado, pois em muitos lugares, os atendimentos só acontecem via agendamento.

                Agente pode tentar desenvolver, estudar um pouco de lógica de programação e depois passar para o PHP não é um bicho de 7 cabeças, o código ta aí no gitHub, não podemos depender 100% do Rogério para tudo, pois uma hora se alguma funcionalidade parar de funcionar, ou se quisermos adicionar algo novo, específico daquele local, é nós que temos que desenvolver tal funcionalidade, como também resolver os problemas, a pior coisa que existe é você ficar dependente de uma ou um grupo de pessoas, e a pessoa não está ali prontamente para te atender.

                No mais, você tocou em bons pontos. ☺ ☺ ☺ 👍 ✌

                  marcelosb A questão do aplicativo também acho que seria meio complicado para o meu publico, aqui como é um hospital publico tem bastante gente carente e idosa, eu estava tentando bolar alguma coisa com o próprio monitor do sistema para que ele ficasse como um painel assim as pessoas podem ver aonde esta a sua senha na fila acho que se bolarmos um painel no estilo monitor ajudaria muito.

                  A questão de ativar novamente a senha quando é encerrada e justamente por causa de pessoas idosas que atendemos aqui no hospital, muitas delas não prestam atenção e as vezes acabam perdendo o atendimento, claro tem um erro também de utilização do sistema mas na correria do dia dia as vezes o atendente acaba iniciando a senha e encerrando.

                  A questão do serviço no painel ainda não estudei bem afundo as tabelas da versão 2.0 para ver como fazer na versão 1.5 o meu painel já aparece o serviço e não foi complicado para implementar essa opção, creio que não 2.0 também não seja muito difícil.

                  A triagem touch aqui no hospital eu utilizo para atendimento no RaioX então não tem a necessidade de colocar o nome. Mas quando o paciente vem para a consulta ambulatorial ai sim preciso inserir o nome no momento de emitir a senha, hoje tenho duas pessoas fazendo esse serviço aqui e se fosse possivel inserir o nome posteriormente essa duas pessoas iriam realizar o serviço de atendimento também assim agilizando o processo.

                  marcelosb Agente pode tentar desenvolver, estudar um pouco de lógica de programação e depois passar para o PHP não é um bicho de 7 cabeças,

                  Com certeza Marcelo como comentei anteriormente meu forte não é programação mas tento me virar, entao podemos fazer uma força tarefa e melhor as coisas.

                  Abraço

                    rarandrade

                    A questão do aplicativo também acho que seria meio complicado para o meu publico

                    É complicado mesmo, isso vai depender muito da unidade, que tipo de perfil de cliente essa unidade atende em específico.

                    A questão de ativar novamente a senha quando é encerrada e justamente por causa de pessoas idosas que atendemos aqui no hospital

                    Nesse caso, seria uma boa ideia ter essa funcionalidade, mas também você poderia criar um tipo de atendimento super prioritário, onde caso a pessoa perca a vez, gera uma senha de super prioridade, onde a mesma fica no inicio da fila

                    Abraço, valeu 👍 ☺

                    10 dias depois

                    Ola! Estou tendo um problema para compilar a versão 3, apresenta o seguinte erro: [InvalidArgumentException]
                    Could not find package novosga/novosga with version 2.1.
                    O pacote não existe no endereço, se alguém tiver a solução e puder compartilhar a solução eu ficaria agradecido. Eu tenho varias ideias para o projeto mas é pequena que seja voltado para atendimento de saúde.

                      Algo que creo podría agregarse es la posibilidad de mostrar los turnos prioritarios en otro color (la versión 1.5 lo hacia).

                      Por otro lado me ofrezco para colaborar en la traducción al Español.

                        13 dias depois
                        um mês depois
                        8 dias depois

                        Opa, bom dia!
                        Também utilizo o sistema aqui no hospital e gostaria de saber se você utiliza o Tasy ai como sistema?
                        Se sim, você conseguiu integrar o SGA com ele?
                        @rarandrade

                          14 dias depois