GithubHelp home page GithubHelp logo

cerebello's People

Contributors

andrerpena avatar masbicudo avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

cerebello's Issues

Criar uma forma de dar para definir a data/hora do compromisso ao abrir o popup de novo compromisso

Cara.. nós não conversamos sobre isso e você pode recusar ou argumentar sobre essa issue, mas eu estive pensando:

No botão de nova consulta que vai ter no layout do médico do lado da pesquisa global, seria extremamente interessante se ele já fosse para o próximo horário disponível, porque eu acho que 80% das consultas agendadas pela secretária (não retornos) são para o próximo horário disponível.

Isso também resolveria o problema da consulta depois de 30 dias.

O que você acha? (eu usei a tag Proposal porque isso está em aberto)

Doctor e Secretary estão sem PK com Identity no banco

@masbicudo, quando a gente fez aquele refactoring que agora é o User que aponta para o Doctor e para o Secretary nós esquecemos de re-incluir o Identity (auto-increment) no PK desses tipos... Pq antes não precisava pq ele fazia referencia FK para outro PK que esse sim era Identity. Eu estou mudando isso no banco e fazendo pull

Problemas ao marcar uma consulta

Eu detectei os seguintes problemas na agenda:

  • Quando vc clica num "slot" da agenda, dentro do horário de almoço, ele muda seu horário. As vezes ele muda o horário para depois, as vezes muda para antes. Como nós já conversamos, ele não pode mudar o seu horário, você deve ter esquecido de arrumar isso. Ele deveria acusar um "warning".
  • Quando você clica num "slot" no passado, ele diz que "não é possível marcar uma consulta no passado" mas isso não é verdade. Tem que mudar essa mensagem.
  • O botão excluir consulta dentro do popup de compromissos aparece escrito consulta mesmo quando é um compromisso genérico. Por mim, pode renomear simplesmente para "excluir", mas qualquer coisa que vc fizer nesse caso eu concordo.

Proposta para a divisão dos nossos esforços

@masbicudo , na minha experiência com programação, eu acho que dividir a responsabilidade sobre o trabalho é útil no sentido de que nós somos capazes de "culpar" alguém quando algo dá errado. Tipo.. se nenhum de nós é explicitamente responsável por alguma coisa, é difícil determinar de quem é a culpa quando algo dá errado. Além disso, dividir a responsabilidade permite que um de nós se foque melhor em alguma coisa.. ficar dando "switches" entre uma coisa e outra causa que vc tenha que saber muitas coisas e diminui sua proficiência.

Eu não estou propondo uma divisão engessada de tarefas, isto é, não é porque eu sou responsável por alguma coisa que eu não me importo com a sua opinião e vice-versa. Nós somos um time, o que um de nós faz é interesse do outro e tudo deve ser discutido e acordado, definitivamente. E da mesma forma, nós podemos sim ajudar o outro a fazer o que é responsabilidade do outro quando for necessário. Não é tipo: "Isso é responsabilidade sua e eu vou não vou por a mão". Não é para ser engessado.

Sendo assim eu sugiro a seguinte divisão de responsabilidades: (é óbviu que vc pode argumentar e nós podemos discutir sobre isso)

Responsabilidades do André Pena:

  • Especificação (Junto com Miguel Angelo): Isso é uma coisa crítica e nós devemos fazer isso juntos.
  • Site Institucional: Eu já comecei a fazer e já tenho proficiência com o Twitter Bootstrap. Pra mim é mais fácil manter a responsabilidade sobre isso
  • Estilos CSS: Eu tenho bastante experiência com isso e gosto desse trabalho. Isso já tá quase 100%.
  • Estabelecimento do framework e padrões: Eu já fiz 80% de todo o framework que vai ser necessário para a versão 1. Eu fico responsável por estabelecer este framework e garantir que ele funciona. Obviamente você (@masbicudo), tem a liberdade de corrigir bugs e principalmente implementar novas funcionalidades quando essas forem necessárias.
  • Documentação do framework e documentação para o usuário final: Eu já comecei a fazer a documentação do framework e já comecei a fazer a documentação do usuário utilizando o Twitter Bootstrap. Isso pode ficar comigo.
  • Implementação do CallStack: O CallStack é fundamental para criar uma base de conhecimento forte e completa online para suporte ao usuário. Isso também é ótimo para o Google trazer novos visitantes devido ao grande número de páginas indexadas.
  • Revisão: Eu quero manter o conhecimento sobre todo o código fonte e garantir que ele está nos padrões
  • Tradução: - Eu acho que eu posso ir traduzindo o código para arquivos de recurso e escrevendo em inglês e português enquanto você desenvolve o software.

Responsabilidades do Miguel Angelo:

  • Especificação (Junto com o André Pena): Isso é uma coisa crítica e nós devemos fazer isso juntos.
  • Aprimoramento do framework: Você fica com a responsabilidade de aprimorar o framework conforme nós julgarmos que isso é necessário.
  • Implementação das regras de negócio: Você fica responsável pela implementação de toda a regra de negócio do software, é claro, passando pela nossa especificação e a minha revisão
  • Implementação dos testes unitários: Você fica responsável pela implementação e manutenção dos testes unitários das regras de negócio

Conclusão:

Como você pode perceber, eu estou propondo que o seu trabalho seja mais focado em desenvolvimento da aplicação em si enquanto eu cuido de todo o resto. Apesar de existirem mais ítens para mim, eles são claramente ítens menos complexos. As regras de negócio e testes unitários são extremamente mais complexos. Você também pode perceber que eu deixei os aspectos mais humanos para mim, como aparência, relacionamento com o usuário e etc.

Eu fiz essa proposta baseada em 2 coisas: Nossos perfis (você é mais técnico) e tempo. Como eu vou trabalhar nesse projeto depois de já ter trabalhado 8 horas no meu day-job é melhor que eu fique responsável por coisas que exigem mais tempo do que cérebro. Resolver um bug do software 21:00h depois do trabalho, para mim é bem mais complexo do que passar 2 horas escrevendo documentação, mexendo no estilo ou traduzindo.

Qual é a sua opinião?

A tela de editar usuário dá exceção ao tentar salvar

Porra Miguel.. de duas telas que vc fez que eu cliquei em "salvar" hoje.. as duas deram exceção.

Passos para reproduzir:

  • entre na tela /p/consultoriodrhourse/users/edit/1
  • clique em "salvar"

Exceção:

The ViewData item that has the key 'MedicalSpecialty' is of type 'System.Int32' but must be of type 'IEnumerable<SelectListItem>'.

Existe algo inconsistente com o botão "marcar retorno" na ficha do paciente

Não sei exatamente o que é o problema então vou descrever as circunstâncias:

São 22:55h agora, é obviamente depois do espediente do médico. Quando eu clico em "marcar retorno" na ficha de um paciente, o popup está vindo com o horário entre 17:30h e 18:00h de hoje selecionado. Além disso, o popup vem com um erro dizendo que aquele horário é no passado.

A questão é: O popup não pode sugerir um horário inválido, isso é um bug. Outra coisa a se pensar é qual a melhor data para sugerir um retorno.

Eu não sou médico mas eu diria que a melhor data para sugerir um retorno é 30 dias depois. Existem 2 situações:

  • O médico passa um exame e quer que o paciente retorne assim que o exame estiver pronto (neste caso, em geral, vai ser um prazo menor que 30 dias)
  • O médico prescreve um exame e espera que o paciente volte em 30 dias para uma reavaliação (os planos de saúde somente pagam cada médico uma vez a cada 30 dias então o médico prefere que você volte 30 dias depois)

O que vc acha?

Permitir definir o fuso-horário do consultório no momento de sua criação, e usar a informação de fuso para fazer operações com datas.

A definição de um fuso para o consultório é necessária para que o sistema saiba que horas são no local em que o consultório está.

Um exemplo de como isso pode influenciar no resultado é o uso do código DateTime.Now em vários lugares, como forma de saber a hora atual do usuário, o que está errado.

Portanto, essa issue consta também de localizar, analisar e alterar todos os lugares em que ocorre trafego de datas, seja como input ou output, e fazer as conversões usando o fuso-horário indicado pelo usuário, fazendo com que o valor do DateTime seja marcado como sendo UTC relativo ao servidor, ou Local relativo ao usuário.

Implementar um sistema de notificações básico

Um sistema de notificação é um sistema no qual um usuário do software é informado quando algo relevante acontece.. é equivalente ao sistema de notificações do GitHub e do Facebook. (lista de mensagens.. e mostra visualmente quando tem uma mensagem não lida)

Com relação ao médico, eu acho que ele deve ser notificado quando: (exemplos)
- Uma nova consulta é incluida pela secretária nas próximas 24 horas
- Uma consulta é remarcada/cancelada pela secretária nas próximas 48 horas.
- ... @masbicudo , dá uma dica ai

@masbicudo, o que vc acha? Acho que uma boa forma de atribuir essa tarefa é vc cuidar das actions e testes unitários e eu cuido do JS, CSS, o que vc me diz?

Não está mais sendo possível salvar consultas com horários conflitantes

@masbicudo: Primeiro.. vc fez um bom trabalho na questão dos compromissos.. ficou muito legal! Eu testei várias situações, como criar e depois visualizar.. como vc lidou com a validação e etc. Ficou ótimo! \o/

Mas eu acho que vc mudou um comportamento sem antes falar comigo. Antes existiam 2 tipos de "warning" mostrados no painel embaixo (não o painel de validação). Tinha warnings dizendo que vc não deveria salvar naquele horário mas não reclamava se vc fizesse.. e tinha warnings que, se vc tentasse salvar, ia dar um erro real de validação (dos que aparecem no topo da tela).

Salvar uma consulta fora do horário de trabalho é impossível porque eu teria que redimensionar a semana pra mostrar 1 único compromisso. Isso é complexo. Mas salvar consultas em horários concomitantes não era um problema pra mim. O jQuery Full calendar lida muito bem com isso. Então eu deixava o usuário fazer isso. E isso faz sentido. Liga um paciente passando mal querendo marcar pra hoje. O médico autoriza e a secretária marca o horário dele junto com o de outro. Eles aparecem lado a lado na agenda compartilhando o horário. Isso funcionava antes.

O que você acha?

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.