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 | TSRSED | ||
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
Permitir a exibição do histórico de atendimento de um determinado beneficiário com opções de definir um período deste histórico. Também devera ser possível realizar o filtro por serviço e realizar o agrupamento pelo mesmo código de procedimento.
Desenvolver os seguintes requisitos:
Requisitos | |
Código | Descrição |
REQ001 | O sistema deverá permitir exibir o Histórico das ultimas consultas Realizadas pelo Beneficiário dos últimos 3 meses com opções para buscar nos últimos 6 ou 12 |
REQ002 | O sistema deverá permitir exibir o Histórico das ultimas solicitações/execuções de exames do beneficiário nos últimos meses. Trazer como default os últimos 3 meses com opções para buscar nos últimos 6 ou 12 meses |
REQ003 | Criar parâmetros para as colunas para serem exibidas/ocultadas de acordo com a definição da operadora |
REQ004 | O Histórico deverá ter uma opção de filtro por serviço. Neste caso não deverá restringir a data em que foi realizado e exibir todos os registros do serviço que o beneficiário realizou. |
REQ005 | O histórico de atendimento deverá possuir opção para agrupar a lista por serviço (código do procedimento) |
Definição da Regra de Negócio
Desenvolver uma tela de pesquisa do histórico de atendimento do beneficiário. Deverá possuir as opções de buscar nos últimos 3, 6 ou 12 meses. Ao carregar a tela deverá listar por default os exames e consultas do beneficiário nos últimos 3 meses. Os campos que serão exibidos na lista do histórico deverão poder ser parametrizáveis pela operadora para serem exibidos ou não. Os registros deverão ser destacados por cor de acordo com seu status (Pendente, Autorizado, Realizado, Negado, Cancelado), podendo ser agrupados por serviço ou pesquisar por um determinado procedimento.
<REQ001, REQ002, REQ003 e REQ004> | Usos do Beneficiário |
Será desenvolvido uma tela que será utilizada para exibir todo o histórico de atendimento do beneficiário (Registro de Consulta, Solicitação e Realização de Exames). Isto não inclui solicitação de Internação ou outros tipos de guia.
• Ao selecionar um beneficiário na Agenda, deverá ser exibida a tela com o histórico já carregado.
• Ao abrir a tela de histórico deverá trazer o histórico de exames e consultas dos últimos 3 meses, podendo alterar para 6 ou 12 meses. Segue abaixo o detalhamento da regra dos filtros:
Exames: Procedimentos amarrados ao tipo de atendimento 5 da TISS;
Consultas: Procedimentos amarrados ao tipo de atendimento 4 da TISS;
Procedimentos: Tudo que não se enquadrar nas 2 regras anteriores independente de onde foi solicitado ou registrado.
o TODOS: Retorna todos os registros independente do tipo de atendimento.
• A operadora poderá parametrizar os status das guias que serão buscadas no histórico (Realizado, Autorizado, Pendente, Negado, Cancelado)
• Será disponibilizado um campo de pesquisa rápida, para filtrar o os registros de acordo com o código,nome ou apelido do procedimento independente da data de solicitação/execução
• Os campos disponíveis para visualização poderão ser parametrizados para exibir ou não em tela. Esta parametrização será feita em arquivos de propriedade.
A ideia é que para cada caso de uso, exista um arquivo de propriedades.
• Segue abaixo os campos que ficarão visíveis por default
o Nome do serviço
o Apelido
o Data (solicitação caso o procedimento ainda não foi realizado ou data de execução caso o mesmo já tenha sido executado)
o Especialidade do Solicitante
o Quantidade
o Custo = Valor pago pela operadora para o procedimento (Valor total procedimento - coparticipação)
o Participação
o Código prestador
o Solicitante (Nome do prestador solicitante)
< REQ005> | Agrupador por serviço |
Será disponibilizado uma opção para agrupar os serviços através do seu código. As colunas Quantidade, Custo e Diferença deverão ser um totalizador da soma dos valores dos procedimentos agrupados. Segue abaixo layout da tela de como ficará após o agrupamento:
Ao Selecionar um agrupamento, a lista dos serviços que foram agrupados será exibida conforme abaixo:
Protótipo de Tela
Tela inicial
No modo de visualização de Lista, o botão “Agrupar por serviço” deverá ser removido, pois o mesmo perde essa funcionalidade.
Caso de Testes
Caso de Testes | CT001 |
Pré-condições |
|
Procedimentos | Resultados Esperados |
| Ao selecionar o beneficiário agenda, o sistema deverá trazer a lista de histórico de exames carregado, trazendo por default os últimos 3 meses |
Caso de Testes | CT002 |
Pré-condições |
|
Procedimentos | Resultados Esperados |
| Ao selecionar o beneficiário o sistema deverá trazer todas as solicitações/execuções realizadas pelo beneficiário, independente do status de movimentação (realizado, autorizado, pendente, cancelado, negado) |
Obs.: O teste abaixo é genérico. Efetuar a alteração de todas as colunas de exames e consultas e conferir no Perfil Médico
Caso de Testes | CT003 |
Pré-condições |
|
Procedimentos | Resultados Esperados |
| Ao abrir a tela Usos do Beneficiário deverá ser exibidas apenas as colunas habilitadas nas propriedades |
Especificação Técnica
- Artefatos envolvidos
- Criar as seguintes classes abaixo:
Artefato | Projeto | Descrição |
Beneficiaryhistory.js | PerfilMedico | Define as rotas e controllers de tela |
beneficiaryhistory.list.html | PerfilMedico | Tela de histórico do beneficiario |
beneficiaryhistory-services.js | PerfilMedico | Implementa os controllers de tela |
BeneficiaryHistoryResource.java | PerfilMedico |
|
ProcedureSolicitationSql | WAC2ERPConnectEJB | Realiza as validações de acordo com o retorno dos dados |
ProcedureSolicitationSqlSearch | WAC2ERPConnectEJB | Realiza as buscas no banco de dados via JDBC |
ProcedureSolicitationLocal | WAC2EJB | Interface com os metodos de busca |
ProcedureSolicitationService | WAC2EJB | Implementação dos metodos para chamar a camada de conexao com o banco do ERP |
<REQ001, REQ002 e REQ003> | Histórico de Consulta, Exames e desabilitar colunas |
Camada de negócio:
- Criar as classes abaixo no pacote com.totvs.saude.business.proceduresolicitation.sq.implementation do projeto WAC2ERPConnectEJB
- ProcedureSolicitationSql – Responsavel por chamar as buscas no banco e implementar a regra de negócio
- ProcedureSolicitationSqlSearch – Responsavel por implementar os métodos de busca no banco de dados.
- Criar classe BenefHistorySolicitationData no pacote com.totvs.saude.business.entity do projeto WAC2CommonsJava com os campos abaixo:
Nome | Tipo | Descrição | Onde buscar |
date | Date | Data da solicitação da guia | Guiautor.dt-emissao-guia
|
Hour | String | Hora de execução caso o procedimento já tenha sido executado | Guiautor.dt-realizacao |
Document | String | Numero do Documento | moviproc.nr-doc-original |
providerCode | Int | Codigo do prestador | Exame - Código do prestador solicitante Consulta – Codigo do Prestador Executante |
providerName | String | Nome do Prestador | Exame - Nome do prestador solicitante Consulta – Nome do Prestador Executante |
medicalProcedureDescription | String | Descrição do Procedimento | ambproce.ds-procedimento[1] |
Quantity | Int | Quantidade solicitada/executada | Pendente execução -procguia.qt-procedimento
Executada - moviproc.qt-procedimento
|
procedureValue | BigDecimal | Valor do Procedimento | moviproc.vl-principal + moviproc.vl-auxiliar |
Co_participation | BigDecimal | Valor de Coparticipação | moviproc.vl-desconto-prestador |
specialityCode | Int | Código da especialidade do prestador executante | moviproc.cd-esp-prest-executante |
specialityDescription | String | Descrição da especialidade do prestador executante | esp-med.ds-especialid |
guideNumber | String | Número da guia | Guiautor.nr-guia-atendimento |
guideYear |
| Ano da guia | Guiautor.aa-guia-atendimento |
Situation | String | Situação do procedimento(Em analise, Autorizado ou Realizado | Se guiautor estiver pendente auditoria o procedimento estará em Analise. Se Guiautor estiver Aprovado e não foi encontrado registro do procedimento na moviproc estará Aprovado
Se guiautor Aprovado e encontrado registro do procedimento na moviproc estará realizado(validar com a quantidade solicitada e quantidade de registros encontrado) |
- Criar método de busca do histórico de atendimento do beneficiário dentro de um período informado nas classes citadas acima:
- findBenefHistoryByFilter – Deve receber como parâmetro de entrada a carteira do beneficiário, data inicial e data final que será realizada a pesquisa,código da clinica (caso queira trazer apenas os registros realizados na clinca). Trazer apenas os campos que estão criados na classe BenefHistorySolicitationData
- findMoviProc – Receber como parâmetros um objeto do tipo BenefHistorySolicitationData, deverá buscar todos os registros criados na moviproc para este procedimento
- findMoviProcConsultation - Deve receber como parâmetro de entrada a carteira do beneficiário, data inicial e data final que será realizada a pesquisa,código da clinica (caso queira trazer apenas os registros de consulta realizados na clínca). Buscar apenas os registros de consulta
- Todas as querys de busca deverão ser externalizadas para um arquivo de propriedades. Utilizar como exemplo a classe “MedicalProductionSqlSearch”. Implementar para os bancos Oracle e Progress
- Separar as buscas por tabela, para não ocorrer problemas caso elas ficarem em bancos separados
- Utilizar Indices de pesquisa nas querys
Busca de guias de Exame:
Segue abaixo Exemplo da Query para banco Oracle:
select g.cd_unidade unidade,
g.aa_guia_atendimento ano_guia,
g.nr_guia_atendimento nr_guia,
g.dt_emissao_guia dt,
g.cd_prestador_principal cd_prest,
g.in_liberado_guias status,
p.nm_prestador nm_prestador,
pg.cd_esp_amb,
pg.cd_grupo_proc_amb,
pg.cd_procedimento,
pg.dv_procedimento,
ap.ds_procedimento_reduz ds_proced,
pg.qt_procedimento qt_proced,
(pg.vl_principal + pg.vl_auxiliar) vl_principal,
pg.vl_desconto_prestador vl_copart
from procguia pg, guiautor g, ambproce ap, preserv p
where pg.nr_guia_atendimento = g.nr_guia_atendimento
and pg.aa_guia_atendimento = g.aa_guia_atendimento
and pg.cd_unidade = g.cd_unidade
and g.cd_carteira_usuario = '2002501000310'
and g.cd_unidade_carteira = '120'
and g.dt_emissao_guia between to_date('2010-07-15', 'YYYY-MM-DD') and
to_date('2015-05-15', 'YYYY-MM-DD')
and g.in_liberado_guias in (2, 4, 6, 7, 9)
and g.in_classe_nota in (2, 3, 13, 34)
and pg.cd_esp_amb = ap.cd_esp_amb
and pg.cd_grupo_proc_amb = ap.cd_grupo_proc_amb
and pg.cd_procedimento = ap.cd_procedimento
and pg.dv_procedimento = ap.dv_procedimento
and g.cd_prestador_principal = p.cd_prestador
Busca Moviproc
select ep.ds_especialid ds_espec,
ep.cd_especialid cd_espec,
mc.vl_desconto_prestador vl_partic,
(mc.vl_principal + mc.vl_auxiliar) vl_proced,
mc.dt_realizacao,
mc.hr_realizacao
from moviproc mc,
(select dc.cd_unidade,
dc.cd_unidade_prestadora,
dc.cd_transacao,
dc.nr_serie_doc_original,
dc.nr_doc_original,
dc.nr_doc_sistema
from docrecon dc, guiautor g
where dc.nr_guia_atendimento = g.nr_guia_atendimento
and dc.aa_guia_atendimento = g.aa_guia_atendimento
and dc.cd_unidade = '120'
and g.nr_guia_atendimento = '280'
and g.aa_guia_atendimento = '2014'
and g.cd_unidade = 120) dct,
esp_med ep
where mc.in_liberado_contas <> '3'
and mc.cd_esp_amb = '10'
and mc.cd_grupo_proc_amb = '10'
and mc.cd_procedimento = '101'
and mc.dv_procedimento = '2'
and mc.cd_unidade = dct.cd_unidade
and mc.cd_unidade_prestadora = dct.cd_unidade_prestadora
and mc.cd_transacao = dct.cd_transacao
and mc.nr_serie_doc_original = dct.nr_serie_doc_original
and mc.nr_doc_original = dct.nr_doc_original
and mc.nr_doc_sistema = dct.nr_doc_sistema
and mc.cdespprestexecutante = ep.cd_especialid
Busca registros de Consulta
select mc.vl_desconto_prestador vl_copart,
(mc.vl_principal + mc.vl_auxiliar) vl_proced,
mc.dt_realizacao dt,
mc.hr_realizacao hour,
mc.cd_prestador cd_prest,
mc.cdespprestexecutante cd_especialid,
mc.qt_procedimentos qt_proced,
ep.ds_especialid ds_especialid,
p.nm_prestador nm_prestador,
ap.ds_procedimento_reduz ds_proced
from docrecon dc,
moviproc mc,
esp_med ep,
preserv p,
ambproce ap
where dc.cd_carteira_usuario = '2002501000310'
and dc.cd_unidade_carteira = '120'
and mc.cd_unidade = dc.cd_unidade
and mc.cd_unidade_prestadora = dc.cd_unidade_prestadora
and mc.cd_transacao = dc.cd_transacao
and mc.nr_serie_doc_original = dc.nr_serie_doc_original
and mc.nr_doc_original = dc.nr_doc_original
and mc.nr_doc_sistema = dc.nr_doc_sistema
and dc.tp_consulta <> 0
and dc.tp_atend = 0
and mc.dt_realizacao between
to_date('2010-07-15', 'YYYY-MM-DD') and
to_date('2015-05-15', 'YYYY-MM-DD')
and ep.cd_especialid = mc.cdespprestexecutante
and p.cd_prestador = mc.cd_prestador
and p.cd_unidade = mc.cd_unidade_prestadora
and mc.cd_esp_amb = ap.cd_esp_amb
and mc.cd_grupo_proc_amb = ap.cd_grupo_proc_amb
and mc.cd_procedimento = ap.cd_procedimento
and mc.dv_procedimento = ap.dv_procedimento
Camada WEB
- Criar tela de Histórico de Exames e Consultas, a tela deverá estar disponível para visualização após a seleção do beneficiário na Agenda
- Disponibilizar filtro de pesquisa por período padrão de 3, 6 ou 12 meses, e possibilitar a pesquisa período de datas
- Criar parâmetro para restringir o período permitido para busca no banco
- As colunas deverão estar disponíveis para visualização de acordo com as parametrizações realizadas nas propriedades, por default todos os campos deverão estar disponíveis
- Diferenciar os registros por cor de acordo com o status
- Criar filtro por Exames ou Consultas, Procedimentos e Todos
- Criar opção para agrupar os serviços por código
- Criar opção para buscar todo o histórico de um determinado serviço que beneficiário realizou independente da data de realização
Segue abaixo Layout do Histórico de Exames e Consultas
Diagrama de Classes
Abaixo o diagrama com as classes e programas a serem criados, bem como sua arquitetura de comunicação:
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|