Primeiro Checkpoint 2019

Na quinta-feira dia 18/07 ocorreu o primeiro Checkpoint do Desafio UniSoma 2019! Abaixo segue o vídeo da Live do Youtube:

 



Seguem todas as perguntas e as respectivas respostas de todos os grupos da última semana:

 

1) Todos os atendimentos tem duração de apenas 30min ou há alguma diferença para cada especialidade?

Todos atendimentos considerados para o desafio serão de 30 minutos, onde está incluso o tempo de deslocamento para outra sala em caso de atendimentos seguidos. Existem modalidades de atendimento médico fornecido pela ONG que não estão dentro do escopo de desenvolvimento que podem durar 1 hora.

 

2) Durante um tratamento é necessário manter o paciente com o mesmo especialista (no caso de haver mais de um funcionário na mesma área)?

Sim, é necessário manter um paciente com o mesmo profissional como preferência. Caso o paciente seja realocado, o interessante é mostrar essa alteração

 

3) Apresentando uma justificativa plausível podemos retirar ou acrescentar variáveis das tabelas enviadas?
Todo o modelo de dados disponibilizado na Descrição Completa teve um motivo. A equipe Técnica do Desafio estudou o problema da ONG, gerou o modelo de dados e modelou 100% das restrições requisitadas aos
grupos. Acreditamos que não há nada a ser retirado ou adicionado, mas, caso tenham algum ponto, por favor reportem por e-mail para que possamos avaliar o caso.

 

4) O que quer dizer que a criança “não” pode ser reagendada?
Um dos dados de entrada é a agenda do profissional, que terão os nomes das crianças já cadastradas. E no cadastro da criança temos uma coluna de “reagendado”, ou seja, ela é fixa na agenda daquele profissional daquela especialidade.

 

5) Os funcionários terão permissão para alterar suas agendas ou apenas as secretárias irão acessar ao sistema?
Os funcionários irão alterar as agendas no Excel que será utilizado como entrada do sistema. O sistema será utilizado pela Coordenadora Técnica, responsável pela agenda de todas as crianças, durante as reuniões semanais de planejamento.

 

6) Devem existir diferentes opções de login no sistema para criar distintas opções de visualização e edição dos dados com maior privacidade?
Não será necessário diferentes opções de login pois, para o escopo do desafio, a aplicação terá apenas um usuário. A edição de dados na aplicação não é obrigatória, embora seja considerada um diferencial.

 

7) O que significa “0” na coluna quantidade de atendimento semanal na aba atendimento regular?
Significa que 0 atendimentos dessa determinada especialidade deve ser alocada no calendário da criança. Essa é uma alternativa rápida para habilitar e desabilitar a demanda por atendimento de uma criança específica.

 

8) Posso usar Phyton para desenvolver a aplicação completa?
Não. Este ano explicitamos nas regras qual seria a linguagem a ser usada. A decisão se baseia em alguns pontos: aprendizado do ano passado, necessidade de interface, entre outros motivos. Logo, realmente não abriremos esta exceção. Esta decisão também foi refletida no cronograma indicado que liberamos, as semanas de desenvolvimento incluem um tempo para aprendizado. Note que não estaremos limitando bibliotecas a serem usadas além do Shiny.

 

9) Posso usar qualquer biblioteca dentro do R?
Sim. Não seria produtivo para ninguém limitar as bibliotecas que podem ser usadas. O R como linguagem moderna e bem mantida pela comunidade, tem API para muitas linguagens de programação.

Alguém poderia implementar o motor de otimização em C++ e chamar através da biblioteca Rcpp (http://www.rcpp.org/), tratar os dados usando Python através da biblioteca reticulate (https://rstudio.github.io/reticulate/) e fazer a configuração visual do aplicativo Shiny usando JavaScript (https://shiny.rstudio.com/articles/packaging-javascript.html#inlined-javascript-file).

 

10) Também devem ser mantidos os horários do último atendimento para crianças de atendimento regular com frequência quinzenal?
Sim. Se elas não podem ser reagendadas, ambas as semanas do atendimento quinzenal devem ser mantidas, caso elas possam ser reagendadas, está liberado o modelo escolher outros horários para esta criança, mas é preferível ser mantido.

 

11) Na planilha de Excel, os funcionários 1 e 6 atendem as mesmas crianças nos mesmos horários – isto viola não especificação no site do desafio: “ (e uma criança só pode receber um atendimento por vez). ”?
Sim, viola. Mas isto pode ser um erro humano de preenchimento. Como podemos fazer isso ser visível ao usuário? Pode ser fornecida a opção de que a aplicação, neste caso, sugira um reagendamento ou apenas ignore a demanda por atendimento dessa criança para essas especialidades.

 

12) Na planilha de Excel, a funcionária ‘’Ana Cecília’’ atende crianças que não estão cadastradas na aba de “Cadastro da Criança”. Como proceder?
Propositalmente foram colocadas inconsistências nos dados para que lembremos que é possível isso ocorrer. Vamos falar mais sobre como tratar inconsistências e como fazemos isso nos projetos no Checkpoint na semana que vem. Mas, pode ser tratado como um aviso ao usuário que este problema está ocorrendo com intuito dele ir ao Excel e fazer a mudança localmente antes de realizar o planejamento novamente.

 

13) Não existem funcionários de “Fisioterapia” nem de “Psicologia”, no entanto, algumas crianças precisam destes tipos de tratamentos segundo a coluna “Tipo de atendimento” na planilha “Atendimento Regular”.
Em caso de falta de área de atendimento, a demanda da criança deve ser ignorada para o planejamento. Uma mensagem de aviso quanto a falta de profissional dessa área seria de grande ajuda para a ONG.

 

14) Na planilha “Atendimento Regular”, muitas crianças não podem ter seus horários reagendados segundo a coluna “Pode ser reagendado”, no entanto, não há informações sobre qual era o horário na semana passada destas crianças. Como proceder?
Se a criança não tem agendamento de horário de atendimento planejado ela deve ser entendida como uma nova criança para o planejamento. O mesmo deve ser seguido caso uma criança tenha diferença entre os atendimentos planejados e os atendimentos já agendados seguidos de “Não pode ser reagendado”.

 

15) Na planilha “Atendimento Regular”, a opção “Não” na coluna “Pode ser reagendado” significa que o horário de atendimento da criança já é definido antes da aplicação da ferramenta e esta não pode alterá-lo nas próximas semanas? Ou, a ferramenta deve definir os horários desta criança na primeira semana e não alterá-los nas semanas seguintes?
Caso a criança não tenha nenhum atendimento programado, a ferramenta deve definir os horários desta criança para a quantidade de atendimentos que ela tem demanda. Caso ela tenha atendimentos programados, estes atendimentos não devem ser reagendados, buscando apenas verificar se a demanda da criança foi suprida com sucesso. Caso faltem atendimentos a serem agendados, eles devem ser considerados no planejamento.

 

16) Na planilha “Atendimento Regular”, na coluna “Quantidade de Atendimento Semanal” o que significa o valor 0? Estas linhas não deveriam deixar de existir? Ex: A criança 04, apresenta um 0 no tratamento “Fisioterapia” (Linha 20).
Semelhante à pergunta 7.

 

17) Como descobrir que a criança é “recém-chegada”? (Para atribuir prioridade) – Trecho do site – “Essas crianças também têm prioridade em relação a crianças recém-chegadas na ONG.”
Crianças recém-chegadas são aquelas que não tem nenhum atendimento já com horário na agenda dos profissionais. Ela seria uma criança com atendimentos regulares que acabou de ser inserida no tratamento da Casa.

 

18) O que significa “Legado” no “Cadastro das crianças”?
A classificação “Legado” foi adicionada visando não perder o histórico da tabela de cadastro quando a criança não estiver mais sendo atendida pela CCP. Crianças com esse tipo de atendimento devem ser desconsideradas no planejamento.

 

19) A programação dos horários deve ser realizada semanalmente ou quinzenalmente? Na descrição do problema, apenas o tratamento de “Nutrição” tem a opção de ser quinzenal. No entanto, na planilha “Atendimento Regular” vários tipos de tratamento apresentam a frequência quinzenal.
Apenas especialidade de nutrição é quinzenal. As demais especialidades são todas semanais. Caso alguma especialidade que seja semanal esteja cadastrada como quinzenal trata-se de uma inconsistência. Podemos tratar esses caso de diferentes formas: Assumir semanal para todas as especialidade semanais, mostrar uma mensagem em tela, etc. Avisar o usuário desse tipo de inconsistência de dados faz parte do processo de construção de uma aplicação robusta.

 

20) Existe alguma restrição quanto ao Solver (se utilizado)?
Não existe restrição quanto a utilização do Solver.

 

21) Qual o horizonte de planejamento?
Horizonte de planejamento é de 1 semana.

 

22) Estamos modelando o problema porém estamos com algumas dúvidas, principalmente sobre os dados/planilha disponibilizada. Vocês irão entrar neste tipo de dúvidas?
Sim! Podem nos enviar as dúvidas.

 

23) Como saber se os regulares são recém chegados? (Para comparar os novos com os já antigos e manter prioridade).
A criança que está cadastrada como regular, mas não possui atendimento programado é considerada uma criança recém-chegada. Essa criança tem preferência em relação as crianças com atendimento esporádico.

 

24) Existe alguma diferença das crianças que tem nome/informações específica para as que estão genérica, como Criança01?
Não existe diferença.

 

25) No caso das crianças esporádicas, como saber quando (qual semana) ela deve ser alocada?
A criança esporádica deve ser alocada na semana que está sendo planejada – caso seja possível fazer a alocação.

 

26) Sobre o horizonte de planejamento por conta de “A frequência do atendimento regular é semanal, a não ser para a especialidade Nutrição, que pode ter frequência semanal ou quinzenal.”
O horizonte de planejamento é de 1 semana para todas as especialidades médicas. Algumas crianças são atendidas pela especialidade de Nutrição a cada 15 dias, o que torna necessário o conhecimento da última semana planejada. Por exemplo, a “Criança 1” foi atendida na semana passada, como mostra a imagem abaixo. Esta criança possui atendimento quinzenal. Sendo assim, ela não deve ser planejada para a próxima semana. Podem existir crianças com demanda de atendimento semanal pela Nutrição, o que faz com que ela deva ser planejada independente do passado. Além disso, a “Criança 2” é fixa e não deve ser alterada.

 

 

27) É possível tirar dúvidas direto na ONG ou apenas com vocês?
A princípio as dúvidas são tiradas diretamente com nosso time, mas cabe ressaltar que a ONG estará presente em um check-point em que vocês poderão tirar as dúvidas diretamente com eles.

 

28) Posso gerar um excel com restrições de respostas quando possível para evitar errors de digitação e outras inconsistências da planilha? Por exemplo, para a mesma criança não ser cadastrada como João da Silva e aparecer na planilha de disponibilidade como João da ` Slva`.
Sim, é possível desde que o modelo de dados não seja alterado. Quanto ao nome da criança, utilizar sempre o identificador da mesma e não o nome.

 

29) Em alguns casos existem mais de um funcionário com a mesma especialidade, devemos considerar que esta especialidade possui os dois? Ou cada especialidade só tem um funcionário?
Considerar que uma mesma especialidade pode ter mais de um funcionário.

 

30) Quando vocês irão liberar o próximo conjunto de dados para os testes?
Ainda não temos a data exata. Entretanto, cada grupo pode fazer um novo conjunto de dados desde que respeite o formato do Excel enviado.

 

OBS: Todas as premissas que serão adotadas para solução do problema, devem estar descritas no documento de “Descritivo da Solução” que será entregue 08/08.

 

Agradecemos a participação de todos os grupos e das perguntas enviadas ao longo da semana. Não se esqueçam das próximas datas e estamos a disposição para responder as próximas dúvidas.