~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Agendar Atendimento de Consulta de Saúde ====== O servidor responsável pelo agendamento das consultas no sistema utiliza este caso de uso para agendar a consulta de saúde de um servidor, dependente de servidor, estudante, além de, eventualmente, um paciente externo, em um horário disponível para consulta com as diversas especialidades de saúde. Os horários exibidos na agenda são os horários definidos no [[desenvolvimento:especificacoes:sigrh:portal_do_servidor:casos_de_uso:chefia_de_unidade:escalas_de_trabalho:lancar_escalas|cadastro de escalas]] do servidor profissional de saúde. ===== Descrição do Caso de Uso ===== Este caso de uso inicia quando o usuário acessa a opção: //SIGRH -> Módulo Assistência ao Servidor -> Aba Consultas de Saúde -> Agendamento de Consulta de Saúde -> Agendar Consulta//. O sistema exibe a agenda do mês atual e a possibilidade de consulta, com os seguintes filtros: * **Período**: Tipo - DATA. Formato - Mês/AAAA * **Nome do Profissional**: Tipo - AUTOCOMPLETE. ([[#principais_regras_de_negócio|RN01]]) * **Cargo**: Tipo - TEXTO. Formato - NOME DO CARGO (CÓDIGO) ([[#principais_regras_de_negócio|RN02]]) * **Especialidade**: Tipo - TEXTO. Cadastro de dados realizado em: [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:administracao:cadastros:cadastros:especialidades:cadastrar|Cadastrar Especialidade em Administração de Pessoal]] Ao consultar por **Cargo** ou **Especialidade** são exibidas na agenda as informações: * **__Horário de Início da Escala__**: Tipo - DATA. Formato - HH:MM. * **__Nome do Profissional__**: Tipo - TEXTO. * **__Quantidade de Consultas Agendadas para a Escala__**: Tipo - NUMÉRICO. Ao consultar por **Nome do Profissional** são exibidas na agenda as informações: * **__Horário da Escala do Profissional__**: Tipo - DATA. Formato - HH:MM a HH:MM. * **__Nome do Paciente Agendado__**: Tipo - NOME. Após escolher a Escala em que será feito o agendamento é exibido um resumo da mesma: * **__Data__**: Formato - DD/MM/AAAA. * **__Horário de Início__**: Formato - HH:MM. * **__Horário de Fim__**: Formato - HH:MM. Em seguida, são necessários os seguintes dados para prosseguir com o agendamento: O sistema exibe as informações: **Dados do Profissional de Saúde** * **__Nome Completo__**: Tipo - TEXTO. * **__Matrícula SIAPE__**: Tipo - NUMÉRICO. * **__Cargo__**: Tipo - TEXTO. **Horário de Atendimento** * **__Dia__**: Tipo - DATA. Formato - DD/MM/AAAA - Dia da Semana * **__Horário__**: Tipo - DATA. Formato - HH:MM às HH:MM E solicita: **Dados do Atendimento** * **Tipo de Paciente***: Tipo - TEXTO. São apresentadas as opções: ''Servidor'', ''Dependente'', ''Estudante'', ''Estudante Residente e/ou PECG'' , ''Externo'' e ''Pensionista. * **Paciente***: Tipo - AUTOCOMPLETE. ([[#principais_regras_de_negócio|RN03]]) * **Telefone***: Tipo - NUMÉRICO. ([[#principais_regras_de_negócio|RN06]]) * **Deseja atualizar seus dados no SIAPE?**: Tipo - LÓGICO. ([[#principais_regras_de_negócio|RN08]]) * **Celular**: Tipo - NUMÉRICO. * **Tipo de Atendimento***: Tipo - TEXTO. São apresentadas as opções: ''Consulta'', ''Retorno'', ''Exame Periódico'' e ''Projetos''. * **Horário**: Tipo - DATA. Formato - HH:MM. ([[#principais_regras_de_negócio|RN09]]) **Consultas Agendadas** * **__Quantidade de Consultas Agendadas__**: Tipo - NUMÉRICO. * **__Tipo de Paciente__**: Tipo - TEXTO. * **__Paciente__**: Tipo - TEXTO. * **__Tipo de Atendimento__**: Tipo - TEXTO. * **__Horário__**: Tipo - DATA. Formato - HH:MM. * **__Agendada por__**: Tipo - TEXTO. Formato - Nome do usuário que agendou a consulta. ==Fluxo Alternativo - Paciente Externo== Caso o paciente seja do tipo ''Externo'' e não esteja cadastrado no banco de dados, é disponibilizada uma opção para efetuar um novo cadastro. O caso de uso é finalizado. ===Fluxo Alternativo - Consultas de Mesmo Paciente no Mesmo Horário=== Caso o paciente tenha outras consultas agendadas dentro do mesmo intervalo da escala selecionada ([[#principais_regras_de_negócio|RN07]]), seja para outro médico ou o mesmo, o sistema exibe as informações a seguir, solicitando confirmação do usuário se realmente vai querer marcar para o mesmo intervalo de horário: * **__Profissional de Saúde__**: Tipo - TEXTO. Formato - NOME (SIAPE). * **__Dia e Horário__**: Tipo - DATA. Formato - DD/MM/AAAA - HH:MM * **__Tipo de Atendimento__**: Tipo - TEXTO. * **__Data de Cadastro__**: Tipo - DATA. Formato - DD/MM/AAAA. ==Mensagem de Confirmação== O paciente já possui uma consulta marcada no turno selecionado. Por favor, confira se esse horário é compatível com as consultas já marcadas e confirme. ===== Principais Regras de Negócio ===== * **RN01** - Somente são exibidos os profissionais de saúde que estejam inclusos na consulta dos parâmetros: ''Cargos de Saúde'' e ''Unidades de Profissionais de Saúde''. No caso aqui da UFRN a unidade é o DAS. * **RN02** - São exibidos os cargos definidos no parâmetro: ''Cargos de Saúde''. * **RN03** - Se o paciente for Servidor, o campo de autocompletar será apenas para a base de dados de servidores e aposentados; se for Dependente, será apenas para a base de dados de dependentes; se for estudante residente ou de convênio, será apenas para a base de dados destes estudantes ativos; se for Externo, será utilizada a base de dados de pessoas gerais, no SIGRH, sendo possível cadastrar nova; se for Estudante apenas, a base utilizada será a de estudantes ativos. * **RN04** - O sistema informa ao paciente sobre a consulta agendada por meio de avisos ao acessar os sistemas e por e-mail. * **RN05** - Caso tenha havido um agendamento e não comparecimento (registrado em [[desenvolvimento:especificacoes:sigrh:assistencia_ao_servidor:casos_de_uso:consultas_de_saude:atendimento:inserir_paciente_na_fila_de_espera|Inserir Paciente na Fila de Espera]]), só deve ser possível marcar consulta novamente após 30 dias. No entanto, não bloquear, apenas exibir uma mensagem de alerta informando que o paciente não compareceu e confirmar se mesmo assim deseja marcar antes de 30 dias. * **RN06** - O sistema exibe o telefone do paciente já registrado na base de dados, sendo possível atualizá-lo. * **RN07** - É possível agendar para uma mesma escala de atendimento (interseção de intervalos de horários) mais de uma consulta para profissionais de saúde diferentes para o mesmo paciente. Porém, um aviso de confirmação é emitido. * **RN08** - Caso seja marcado para atualizar os dados no SIAPE, o sistema notifica o usuário sobre a atualização automática destes contatos no SIGRH e que serão atualizados também no SIAPE. Em seguida, é gerada automaticamente uma solicitação de alteração de dados pessoais, de acordo com as regras da solicitação (Ex: alteração de e-mail e telefone, gera duas solicitações) para atualizacao no SIAPE. * **RN09** - Só é permitido agendar consultas para a quantidade de consultas cadastrada em [[desenvolvimento:especificacoes:sigrh:assistencia_ao_servidor:casos_de_uso:consultas_de_saude:quantidade_de_consultas_de_saude_por_profissional:cadastrar|Cadastrar Quantidade de Consultas de Saúde por Profissional]]. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sigrh.assistencia_servidor.dominio.Paciente | administrativo.assistencia_servidor.paciente | | br.ufrn.sigrh.assistencia_servidor.dominio.RequisicaoPaciente | administrativo.assistencia_servidor.requisicao_paciente | ====== Plano de Teste ====== Sistema: SIGRH Módulo: Assistência ao Servidor Link(s): Aba Consultas de Saúde -> Agendamento de Consulta de Saúde -> Agendar Consulta Usuário: natalia24 Papel que usuário deve ter: SigrhPapeis.GESTOR_DAS ===== Cenários de Teste ===== Agendar uma consulta para um médico com paciente X, marcar uma consulta para outro médico no mesmo intervalo de horário com o mesmo paciente X. O sistema deve apresentar uma mensagem alertando da situação. Caso seja para o mesmo médico, não deve permitir marcar a consulta. ===== Dados para o Teste ===== -- Estudates que marcaram consultas e não compareceram para antendimento. É necessário que seja visto se faz menos de 30 dias do ocorrido. select pe.nome as "Paciente", tp.denominacao as "Tipo de Paciente", rc.dia, rc.mes, rc.ano from assistencia_servidor.requisicao_consulta rc inner join assistencia_servidor.paciente p using (id_paciente) inner join comum.pessoa pe using (id_pessoa) inner join assistencia_servidor.tipo_paciente tp using (id_tipo_paciente) left join assistencia_servidor.atendimento_paciente ap using (id_requisicao_consulta) where ap.id_requisicao_consulta is null order by pe.nome, ano desc, mes desc, dia desc;