~~ODT~~
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 cadastro de escalas do servidor profissional de saúde.
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:
Ao consultar por Cargo ou Especialidade são exibidas na agenda as informações:
Ao consultar por Nome do Profissional são exibidas na agenda as informações:
Após escolher a Escala em que será feito o agendamento é exibido um resumo da mesma:
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
Horário de Atendimento
E solicita:
Dados do Atendimento
Servidor
, Dependente
, Estudante
, Estudante Residente e/ou PECG
, Externo
e Pensionista.
* Paciente*: Tipo - AUTOCOMPLETE. (RN03)
* Telefone*: Tipo - NUMÉRICO. (RN06)
* Deseja atualizar seus dados no SIAPE?: Tipo - LÓGICO. (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.
(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 (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''. Não se aplica.
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 |
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
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.
-- 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;