Árvore de páginas

 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.

  • Status (atendido, pendente ou cancelado)
  • 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 informative definido pela secretária)

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

  • Fazer checkin do Beneficiário
  • Selecionar opção para inserir beneficiário na agenda de atendimento
  • Registrar Consulta

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

  • Acessar Menu “Agenda Médica”

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

  • Acessar Menu “Agenda Médica”
  • Alterar prioridade
  • Clicar em Salvar

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

  • Acessar Menu “Agenda Médica
  • Realizar uma pesquisa com cada Status

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

  • Acessar Menu “Agenda Médica"
  • Alterar prioridade de atendimento Clicar em Salvar

Ao salvar, o campo devera ser atualizado no banco


 

Caso de Testes

CT007

Pré-condições

 

Procedimentos

Resultados Esperados

  • Acessar menu Cancelar Atendimento
  • Cancelar registro de consulta

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

  • Realizar checkin do beneficiário
  • Clicar na opção “Adicionar Beneficiário na agenda”

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
dafault = false

Indica  ao sistema se o módulo perfil médico esta habilitado

com.totvs.saude.wac.disableQueue.clinicPropriedadeIndica quais clinicas não poderão utilizar o perfil medico
com.totvs.saude.wac.disableQueue.clinic.providersPropriedadeIndica 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.

 

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.