Á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

TSRSED

Release de Entrega Planejada12_1_11Ré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

  • Acessar Perfil Médico
  • Selecionar Beneficiário na Agenda

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

  • Acessar Perfil Médico
  • Selecionar Beneficiario na agenda

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

  • Acessar Arquivo JBOSS_HOME/server/dafault/conf/benef_use_fields.properties
  • Alterar valor das de todas as propriedades criadas para exibir/omitir as colunas do Usos do beneficiário

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.