Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | Datasul | Módulo | Gestão de Planos de Saúde |
Segmento Executor | Saúde | ||
Chamado | TSRLS0 | ||
Release de Entrega Planejada | 12_1_11 | Réplica | Não se aplica |
País | (X) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. |
Objetivo
Esta Especificação contempla apenas as alterações no sistema Autorizador WEB.
Requisitos | |
Código | Descrição |
REQ001 | Criar menu de “Agenda” para listar os beneficiários e possibilitar trocar a prioridade de atendimento. Deverá possuir filtro por status, prioridade (Alta, Média, Baixa) e período. Por padrão a tela utiliza a data atual como filtro e insere os novos elementos no final da lista. Deve ser possível ordenar a lista de beneficiários conforme o interesse do usuário. A ordenação se dará por um seq + prioridade + data, ou seja, somente será possível fazer a ordenação manual (sequencia) quando a listagem estiver exibindo o mesmo dia. |
REQ002 | Na tela de registro de consulta, disponibilizar opção para adicionar o beneficiário na Agenda do Perfil Médico e definir sua prioridade (Alta, Média, Baixa) Porém este será inserido no final da agenda independente da prioridade. Exato: sera inserido com o ultima sequencia + 1 |
REQ003 | Ao cancelar o atendimento o beneficiário deverá ser removido da agenda. O sistema deverá buscar na agenda, o numero do documento que foi realizado o registo. Caso encontre, cancela da agenda. |
REQ004 | Ao realizar checkin do beneficiário, disponibilizar opção para incluir beneficiário na agenda sem registrar uma consulta (nos casos de retorno por exemplo) Esta ação é feita pela tela de manutenção da Agenda REQ001. |
REQ005 | Criar opção para enviar uma mensagem para o médico no momento de adicionar o beneficiário / paciente da clinica Isto é uma observação que será digitada no momento em que for adicionado/editado o beneficiário na Agenda. |
| Itens para formar um elemento da Agenda.
|
Definição da Regra de Negócio
Escopo do projeto
- Criar opção para Adicionar um paciente da clinica na agenda do médico, não sendo necessário realizar o checkin.
- Criar opção para remover um paciente da agenda do médico. No caso de consulta, cancelar o documento.
- Disponibilizar opção para adicionar o beneficiário na agenda do médico e definir os campos cadastrais necessários. sua prioridade (Alta, Média, Baixa).
- Criar o menu de Agenda Medica para listar os beneficiários/pacientes e possibilitar trocar a prioridade de atendimento. Deverá possuir filtro por status, prioridade (Alta, Média, Baixa) e período.
- Ao cancelar o atendimento o beneficiário deverá ser alterado o status para Cancelado na Agenda.
- Criar opção para registrar uma observação para o médico no momento de adicionar o beneficiário / paciente da clinica
- Itens para formar um elemento da Agenda.
- Sequencial
- Status (Aguardando, Em Atendimento, Cancelada, Finalizada)
- Nome
- Idade
- Checkin (hora da entrada na agenda
- Tipo de convênio (Operadora conveniada ou campo livre para paciente da clinica)
- Prioridade (alta,media, baixa)
- Mensagem (texto informativo definido pela secretária)
- A agenda deve servir como fila para o Médico chamar os pacientes para o atendimento. Desta forma ao receber um novo paciente, a secretária o adicionará no final da agenda, fazendo manualmente os ajustes de ordem caso ocorram atrasos ou adiantamentos nos horários. A prioridade não determina a ordem da agenda, ela deve servir para orientar o médico a escolher o próximo paciente. No final do dia a agenda deve representar a agenda de papel com os horários/pacientes atendidos no dia.
- Os valores padrões de campos de tela:
- Filtro de Data – dia atual
- Tipo de convênio (Operadora conveniada ou campo livre para paciente da clinica)
- Prioridade = Média
<REQ001> | Manutenção de Agenda |
“Criar menu de Manutenção de Agenda no Autorizador para listar os trocar a ordem da agenda. Deverá possuir filtro por status,prioridade e período”
Criar nova opção no menu com nome “Manutenção de Agenda” abaixo do menu de Consulta
Ao entrar nesse menu deverá carregar a agenda dos beneficiários de acordo com sua ordem de chegada (apenas para o dia corrente). Segue abaixo os campos para exibição:
- Carteira do beneficiário *não obrigatório
- Nome do Beneficiário
- Prioridade de Atendimento
- Horário de Chegada
- Tipo de Convênio
- Status do Atendimento (Aguardando, Em Atendimento, Cancelada, Finalizada)
- Prestador do atendimento
- Criar filtro de pesquisa por período, prioridade e status (Aguardando, Em Atendimento, Cancelada, Finalizada)
- Disponibilizar opção para alterar dados da agenda de espera
- Ordenar a agenda manualmente. Para esta ordenação manual, sera criado um campo sequencia. Esta sequencia sera reindexada a cada mudança manual de ordem.
- Criar opção para incluir um beneficiário da operadora na agenda sem realizar checkin ou um paciente da clínica. A secretaria deverá informar o prestador, e preencher as informações: Beneficiário (utilizar zoom de pesquisa), prioridade (Alta, Média, Baixa) e observações para o médico.
- Opção no menu de Agenda no autorizador para inserir um paciente não conveniado a operadora. Será um cadastro onde serão preenchidas as seguintes informações: Nome do Paciente, Prioridade (Alta, Média, baixa), Convênio e Observações para o médico.
- Criar campo de observação para o médico no registro de consulta no Autorizador.
- Criar novos campos na tabela da Agenda para armazenar o convenio do paciente, observações e um campo lógico para identificar se é um beneficiário da operadora
- Criar opção para remover um registro da Agenda
Possibilitar adicionar ou alterar as observações para o médico para os beneficiários/pacientes que estão aguardando atendimento
<REQ002> | Adicionar beneficiário na Agenda |
“Na tela de registro de consulta, disponibilizar opção para adicionar o beneficiário na Agenda e definir sua prioridade de atendimento(Alta, Média, Baixa)”
- Criar parâmetro "com.totvs.saude.wac.perfilmedico" com valor false como default, indicando se a operadora vai utilizar o perfil médico.
- Criar parâmetro "com.totvs.saude.wac.disableQueue.clinic" para indicar se a clinica não está dentro das autorizadas a utilizar agenda. Caso a clinica esteja dentro desta lista, indica que não poderá utilizar a agenda.
- Criar parâmetro "com.totvs.saude.wac.disableQueue.clinic.providers" para indicar os prestadores da clinica que não utilizarão o perfil Médico
- Ao entrar na tela de registro de consulta o sistema deverá verificar se a clinica utiliza agenda, se disponível deverá ser exibido um check box “Adicionar beneficiário a agenda”, com a opção para alterar a prioridade de atendimento (Alta, Média , Baixa), sendo a prioridade média o valor default e informar uma mensagem que ficara disponível para visualização no perfil médico.
<REQ003> | Remover beneficiário da Agenda |
“Ao cancelar o atendimento, o beneficiário deverá ter seu status alterado para "Cancelado" na Agenda.
- Caso houver necessidade do atendimento de um beneficiário da operadora ser cancelado, o sistema deverá buscar o beneficiário na Agenda e alterar o status para cancelado.
Dicionário de Dados
Nome | Tipo | Descrição |
attendanceQueueUID | Int | Chave primária da tabela |
registrationId | String | Carteira inteira do beneficiário |
insuranceUserName | String | Nome completo do beneficiário |
registrationDate | DateTime | Data e hora em que o registro de consulta foi realizado (paciente entrou na agenda). |
status | Int | Status do atendimento (Aguardando, Em Atendimento, Cancelada, Finalizada) |
providerCode | Int | Código do Prestador |
providerName | String | Nome do prestador |
documentNumber | String | Número do documento gerado no RC (utilizado caso o atendimento for cancelado, então o benefiario é removido da agenda) |
priority | Int | Prioridade do paciente na agenda (1 – Alta, 2 Média, 3 - Baixa) |
checkin_id | Int | Id do checkin do beneficiario |
message | String | Mensagem criada pela secretaria |
agreementName | String | Convenio do Beneficiario (Unimed, Outros...) |
isBeneficiary | Boolean | Indica se é um beneficiário da Operadora ou Não |
attendanceSequence | Int | Sequencia da agenda para o mesmo dia. Para cada dia, reinicia em 1. |
Caso de Testes
Caso de Testes | CT001 |
Pré-condições |
|
Procedimentos | Resultados Esperados |
| Após registrar a consulta, sistema deverá retornar o resultado do registro (número do documento no RC) e incluir o beneficiário na agenda
|
|
|
Caso de Testes | CT002 |
Pré-condições |
|
Procedimentos | Resultados Esperados |
| Ao abrir a tela,a lista de beneficiários que estão aguardando atendimento deverá ser exibido |
Caso de Testes | CT003 |
Pré-condições | CT004 |
Procedimentos | Resultados Esperados |
| Ao salvar, a agenda deverá ser atualizada de acordo com a ordem definida pelo usuário |
Caso de Testes | CT005 |
Pré-condições |
|
Procedimentos | Resultados Esperados |
| Aguardando – todos os registros que estão com status Aguardando deverão ser listados. Deve possível atualizar as informações do registro como ordem na agenda.
Em atendimento –Todos os registros que estão em atendimento devem ser listados. Não deve possível atualizar as informações do registro Cancelado – todos os registros que estão com status cancelado deverão ser listados. Não deve possível atualizar as informações do registro Finalizado - todos os registros que estão com status cancelado deverão ser listados. Não deve possível atualizar as informações do registro |
Caso de Testes | CT006 |
Pré-condições |
|
Procedimentos | Resultados Esperados |
| Ao salvar, o campo devera ser atualizado no banco |
Caso de Testes | CT007 |
Pré-condições |
|
Procedimentos | Resultados Esperados |
| Ao cancelar o registo de consulta o beneficiário deverá desaparecer da agenda, ficando com status cancelado |
Caso de Testes | CT008 |
Pré-condições |
|
Procedimentos | Resultados Esperados |
| Ao clicar devera abrir uma opção para selecionar a prioridade de atendimento, após salvar o beneficiário deverá ser adicionado na agenda de atendimento. |
Especificação Técnica
- Artefatos envolvidos
- Criar as seguintes classes abaixo:
Artefato | Projeto | Descrição |
Consultation.xhtml | WAC2Web | Tela de Registro de Consulta |
ConsultationAction.java | WAC2Web | Action com o método de registro de consulta |
Attendancequeue.xhtml | WAC2Web | Tela responsável pela manutenção da agenda |
AttendanceQueueAction.java | WAC2Web | Action de tela responsável por implementar os métodos utilizados pela tela |
AttendanceQueueBean.java | WAC2Web | Bean responsável por armazenar os dados dos objetos utilizados em tela |
AttendanceQueueResource.java | WAC2Web | Resource da agenda(REST) |
AttendanceQueueServiceLocal.java | WAC2EJB | Interface responsável por definir os métodos utilizados pela agenda |
AttendanceQueueServiceBean.java | WAC2EJB | EJB responsável por implementar os métodos utilizados pela agenda |
CancellationAction.java | WAC2Web | Action com os métodos da tela de cancelamento de atendimento |
Checkin.xhtml | WAC2Web | Tela de Checkin do Beneficiário |
CheckinAction.java | WAC2Web | Action com os métodos da tela de Checkin |
com.totvs.saude.wac.perfilmedico | Propriedade | Indica ao sistema se o módulo perfil médico esta habilitado |
com.totvs.saude.wac.disableQueue.clinic | Propriedade | Indica quais clinicas não poderão utilizar o perfil medico |
com.totvs.saude.wac.disableQueue.clinic.providers | Propriedade | Indica quais prestadores não poderão utilizar o perfil medico |
<REQ001> | Manutenção da agenda |
- Criar novo arquivo xhtml com nome attendancequeue.xhtml na pasta ...WebContent/pages/attendancequeue no projeto WAC2Web
- Criar classes:
- AttendanceQueueAction.java no pacote com.totvs.saude.wac.action.attendancequeue no projeto WAC2Web
- AttendanceQueueBean.java no pacote com.totvs.saude.wac.bean.attendancequeue no projeto WAC2Web
- AttendanceQueueServiceLocal.java no pacote com.totvs.saude.business. attendancequeue.service no projeto WAC2EJB
- AttendanceQueueServiceBean.java no pacote com.totvs.saude.business. attendancequeue.service no projeto WAC2EJB
Camada de negócio:
- Criar nova entidade AttendanceQueueData no pacote com.totvs.saude.business.entity no projeto WAC2Commons. Esta entidade representará a tabela AttendanceQueue com os beneficiários que registrados na agenda. Criar os atributos conforme a mesma definição que esta na tabela:
Nome | Tipo | Descrição |
AttendanceQueueUID | Int | Chave primária da tabela |
registrationId | String | Carteira inteira do beneficiário |
insuranceUserName | String | Nome completo do beneficiário |
registrationDate | Date | Data e hora em que o registro de consulta foi realizado |
allowsHistory | Boolean | Indica se o paciente autorizou exibição do historico |
status | Int | Status do atendimento |
providerCode | Int | Código do Prestador |
providerName | String | Nome do prestador |
documentNumber | String | Número do documento gerado no RC (utilizado caso o atendimento for cancelado, então o benefiario é removido da agenda) |
Priority | Int | Prioridade do paciente na agenda (1 – Alta, 2 Média, 3 - Baixa) |
Checkin_id | Int | ID do checkin do beneficiario |
- Criar enum com.totvs.saude.business.common.enum. AttendanceQueueStatusEnum :
- 1 – Aguardando
- 2 – Em Atendimento
- 3 – Cancelada
- 4 – Finalizada
- Criar os seguintes métodos na interface AttendanceQueueServiceLocal:
- findAttendanceQueueByFilter : receber como parametro status, período inicial, período final, código do prestador , prioridade e retornar uma lista de AttendanceQueueData.
- Se o status estiver com valor zerado, trazer registro de todos os status
- Se o status for Aguardando atendimento, ordenar pelo campo prioridade e ordem de chegada(data de entrada na agenda)
- findAttendanceQueueByID: receber como parâmetro um inteiro e retornar um AttendanceQueueData
- alterQueue: Receber como parâmetro a agenda.
- removeAttendancesQueue: Receber como parâmetro uma lista de AttendanceQueueData com o campo documentNumber preenchido realizar a busca dos registros utilizando esse campo e remover da agenda caso encontrar.
- findAttendanceQueueByFilter : receber como parametro status, período inicial, período final, código do prestador , prioridade e retornar uma lista de AttendanceQueueData.
Camada WEb
- Na tela attendancequeue.xhtml criar filtro de buscas por período e status da agenda
- A lista da agenda deverá ser exibido os seguintes campos:
- Carteira do beneficiario
- Nome do Beneficiario
- Horário de Chegada
- Status do Atendimento (Aguardando, Em Atendimento, Cancelada, Finalizada)
- Prestador do atendimento (Será atualizado quando o prestador iniciar o atendimento)
- Para os registros que estiver Aguardando atendimento, disponibilizar opção para alterar o campo indicador de permissão e posição dos beneficiários na agenda
- Criar Classe de serviço rest AttendanceQueueResource no pacote “com.totvs.html.framework.perfilmodules.resource. attendancequeueresource” e implementar as chamadas para a camada EJB
<REQ002> | Adicionar Beneficiário na agenda |
- Na tela de registro de consulta, verificar na propriedade “com.totvs.saude.wac.perfilmedico” se a operadora vai disponibilizar o Perfil Médico. Caso o perfil médico estiver ativo verificar se a clinica e prestador estão habilitados pra utilizar essa opção. Verificar as propriedades "com.totvs.saude.wac.disableQueue.clinic". e "com.totvs.saude.wac.disableQueue.clinic.providers" Caso a clinica e prestador não estiverem nesta lista, alterar a tela consultation.xhtml
- Adicionar um check Box para adicionar o beneficiário na agenda. Por default devera estar selecionado.
- Caso selecionado, habilitar um combobox para alterar a prioridade do beneficiário na agenda(Alta, Normal, Baixa)
- Na classe ConsultationAction, criar novo método para adicionar o beneficiário na agenda com todos os dados preenchidos na classe AttendanceQueueData. Este método deverá ser chamado após o retorno do registro, caso tenha ocorrido sucesso.
<REQ003> | Remover beneficiário da agenda |
O beneficiário será removido da agenda somente se o registro da consulta for cancelado, para evitar que o prestador cobre o atendimento sem atender o beneficiário.
- Na classe CancellationAction alterar o método cancellationDocuments(), após o cancelamento dos documentos chamar método removeAttendancesQueue do EJB AttendancesQueueService para remover o beneficiário da agenda.
Diagrama de Caso de Uso
Diagrama de Classes
Manutenção da agenda (REQ001)
Cadastro do Beneficiário na agenda (REQ002)
Remover Beneficiário da agenda (REQ003)
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|