Histórico da Página
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 | Microsiga Protheus | Módulo | Plano de Saúde - SIGAPLS |
Segmento Executor | Saúde | ||
Projeto | M_SAU_PLS003 | IRM | PCREQ-6464 |
Requisito | PCREQ-6468 | Subtarefa | PCSFV-2 |
Release de Entrega Planejada | 12.1.8 | Réplica | Não |
País | ( x ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. |
Objetivo
O requisito tem como finalidade permitir que seja possível solicitar, via portal do beneficiário, inclusão de produto opcional para o grupo famíliar / grupo empresarial.
Além da possibilidade de solicitar a inclusão de opcionais, deverá existir uma tela para aprovação da solicitação, bem como incluir anexo e também opção de imprimir um formulário de inclusão ou exclusão do produto opcional.
Definição da Regra de Negócio
- No portal do beneficiário, deverá ser possível ao beneficiário / empresa solicitar produtos opcionais ao seu plano de saúde.
- Somente o beneficiário titular poderá solicitar produtos opcionais para ele e para sua família.
- A empresa poderá solicitar produtos opcionais para seus funcionários via portal empresa.
- Os produtos do SIGAPLS são cadastrados na tabela BI3, em Atualizações->Produto Saúde->Produto Saúde (PLSA800).
- Nesse cadastro deverá ser criado um campo BI3_CLASSE, para vincular o produto saúde à uma classificação de produto.
- Não será necessário desenvolver esse cadastro de classificação de produto pois já existe um cadastro no SIGAPLS que se chama Classificação de Produtos, tabela (BY4), localizado em:
Atualizações->Produto Saúde->Classificação de Produto (PLSA251).
- Não será necessário desenvolver esse cadastro de classificação de produto pois já existe um cadastro no SIGAPLS que se chama Classificação de Produtos, tabela (BY4), localizado em:
- Nesse cadastro deverá ser criado um campo BI3_CLASSE, para vincular o produto saúde à uma classificação de produto.
- O portal deverá considerar como produto opcional somente os produtos saúde vinculados a um Grupo de produtos do tipo opcional.
- O vínculo entre Produto e Grupo de Produtos é feito pelo campo BI3_GRUPO.
- Por padrão, o grupo do tipo opcional cadastrado na rotina de Grupos de produto tem o código 002 mas podem existir outros grupos com o campo BE5_TIPO = 2 (Opcionais) que devem ser considerados.
- A rotina de Grupos de produtos utiliza a tabela BE5 e está localizada em Atualizações->Produto Saúde->Grupo de Produto (PLSA250).
- Como os produtos poderão ser classificados, para os produtos opcionais somente, deverá existir um menu para solicitação de opcional para cada classificação dos produtos.
- Deverá ser utilizada a mesma Web Function e o mesmo .APH para esses menus, a classificação será passada via parâmetro HttpGet na Url de chamada da página no portal.
- A Web Function terá o nome PPLSOLOP, se não for passada nenhuma classificação na Url, o portal deverá abrir uma página com todos os opcionais cadastrados, do contrário, deverá filtrar os opcionais pela classificação passada por parâmetro.
- Como chamar a Web Function sem parâmetro: W_PPLSOLOP.APW
- Como chamar a Web Function com parâmetro: W_PPLSOLOP.APW?cClass=01 supondo, logicamente que '01' represente uma classe de produto vinculada à um produto opcional.
- Para pegar o valor do parâmetro dentro da Web Function: HttpGet->cClass
- A validação da solicitação de opcional, quando for específica de cada classe de produto será feita por pontos de entrada que não serão contemplados nessa Especificação.
- O título do formulário deverá também ser tratado dentro da Web Function de acordo com a classificação do produto. Por padrão será “Solicitação de Opcional”.
- Exemplo: a classificação de produto tem a descrição "Opcional Odontológico", então o título do formulário será "Opcional Odontológico".
- A Web Function terá o nome PPLSOLOP, se não for passada nenhuma classificação na Url, o portal deverá abrir uma página com todos os opcionais cadastrados, do contrário, deverá filtrar os opcionais pela classificação passada por parâmetro.
- Deverá ser utilizada a mesma Web Function e o mesmo .APH para esses menus, a classificação será passada via parâmetro HttpGet na Url de chamada da página no portal.
- A tela de solicitação de opcionais deverá ser criada usando a classe WCHTML e deverá ser composta por:
- uma consulta F3 "Matrícula" de beneficiário se o usuário logado for uma empresa, pois geralmente há um grande número de beneficiários vinculados a uma empresa, essa consulta deverá retornar Matrícula e Nome do beneficiário em um campo "Nome" texto normal não editável.
- Lembrando que não é uma consulta padrão SXB, é uma consulta de portal, feita em javascript.
No .APH PPLCHACPR tem uma F3 de beneficiários, basta seguir o mesmo exemplo.
oMatUsu:=WCComponent():New("F","Field_MATUSU","Matricula", "26","21")
oMatUsu:setJSKeyPre("return TxtBoxFormat(this, event,'9999.9999.999999.99-9');")
oMatUsu:setJsFF3("return ChamaPoP('W_PPLSXF3.APW?cFunName=PLSF3BA1&F3Nome=Field_MATUSU&F3CmpDes=Field_MATUSU,Field_NOMUSR','jF3','yes');")
oMatUsu:setJSBlur("fCheckMat(this);")
oMatUsu:setObrigat(.T.)
- um combobox "Beneficiário" de beneficiários em que o "value" da option seja a matrícula do beneficiário e o texto da option seja o nome, esse combo será apenas se o usuário logado for um beneficiário, assim sendo, os outros beneficiários a ele vinculados serão apenas seus familiares, portanto um número pequeno de beneficiários.
- um campo data "Data adesão" que será carregado com a data do sistema e não deverá ser editável.
- um campo data "Data Limite" que será obrigatório e corresponde a data em o opcional será bloqueado. (usar o datepicker do Jquery)
- Criar o componente como foi criado no exemplo acima, mas olhar as propriedades existentes no WCComponent para usar somente o necessário.
Para usar o datepicker basta setar a propriedade 'data' do componente utilizando:
oDataLim:setData(.T.)
- Criar o componente como foi criado no exemplo acima, mas olhar as propriedades existentes no WCComponent para usar somente o necessário.
- um grid de opcionais com a primeira coluna sendo checkboxes para ser possível selecionar o opcional.
- deverá ser possível selecionar mais de um opcional para cada beneficiário selecionado e então clicar no botão inserir.
- Para criar uma grid, utilize o .APH PPLCHABOL como exemplo. Ele usar uma Web Function chamada PPLGETDGRI que chama o método Web Service getDadGrid que executa uma User Funcion passada por HttpGet para a Web Function, essa User Function fica deverá ficar localizada no fonte PPLSRDBRW e deverá fazer um Select na tabela BI3, filtrando os produtos vinculados a grupos de produto do tipo Opcional e se houver classificação de produto vinculada, deverá acrescentar como filtro também.
- um grid de beneficiários que será populado cada vez que o usuário do portal clicar em "Inserir".
- Se for selecionado n opcionais, deverão ser adicionadas n linhas.
- Para adicionar 1 ou N linhas de uma vez na grid, vai ser necessário criar uma nova função, que fique genérica de preferência, mas pode-se utilizar como base a função JavaScript fMntIteGen que fica no arquivo jspls.js.
- uma consulta F3 "Matrícula" de beneficiário se o usuário logado for uma empresa, pois geralmente há um grande número de beneficiários vinculados a uma empresa, essa consulta deverá retornar Matrícula e Nome do beneficiário em um campo "Nome" texto normal não editável.
- Cada vez que o usuário clicar em Inserir, para incluir o beneficiário e seus opcionais na grid de beneficiários, o sistema deverá validar:
- Se já existe o produto opcional inserido para o beneficiário na grid. Se já existir, não deve adicionar novamente e notificar o usuário com uma mensagem.
- Se já existir o produto opcional cadastrado e em vigência para o beneficiário. Se já existir, não deve adicionar e deve aparecer uma mensagem.
- Quando o usuário clicar em confirmar a solicitação, se houver algum ponto de entrada para validação de regras específicas de classificação de produto, eles deverão ser executados, caso todas validações retornem .T. , deverá ser gravada uma solicitação de adição de opcionais e também deverá ser gerado um protocolo para acompanhamento da solicitação ao beneficiário.
- Se houver documentos necessários vinculados à adição do Opcional, ao confirmar a solicitação, o usuário será redirecionado para uma tela de anexo de documentos onde serão adicionados os documentos por beneficiário, o usuário não será obrigado a anexar os documentos, mas a solicitação será gravada com status "Pendente de documentação".
- Será uma solicitação para cada Beneficiário x Opcionais .
- VERIFICAR O CADASTRO DE DOCUMENTOS PARA OPCIONAIS
- Se não houver documento vinculado a adição do opcional ou o usuário adicionar todos os documentos necessários, gravar a solicitação com status "Em análise".
- A solicitação deverá ser gravada na tabela B7L e a análise da solicitação será feita de maneira semelhante a análise de solicitação de alteração de dados cadastrais da Rede de Atendimento, rotina PLSA814.
- VERIFICAR COM O OSCAR QUAIS SÃO AS TABELAS E CAMPOS QUE PRECISO GRAVAR PARA FAZER UMA SOLICITAÇÃO E EXPLICAR AQUI.
- Se a solicitação de cada opcional for aprovada, os dados do beneficiário e do opcional devem ser gravados na tabela BF4 - Opcionais dos usuários e deve mudar o status para Deferido.
- Se a solicitação não for aprovada, deverá apenas mudar o status da solicitação para Indeferido.
- O usuário poderá consultar o status de cada solicitação feita para cada beneficiário e opcional via protocolo recebido quando a solicitação foi confirmada no portal.
- Nessa tela o usuário poderá anexar os possíveis documentos faltantes.
- Somente deverá ser possível anexar documentos nas solicitações com status "Pendente de documentação"
- VERIFICAR COMO SERÁ FEITO, AO MEU VER, DEVE SER INCLUIDA UMA DESCRIÇÃO SOBRE O QUE É O DOCUMENTO
- Deverá ser criado um campo na tabela BF4 chamado BF4_DATSOL que vai gravar a data em que foi solicitado o opcional, mas só será gravado se a análise da solicitação for aprovada.
- No campo já existente BF4_DATBAS deverá ser gravada a data em que a solicitação foi aprovada.
- No campo já existente BF4_DATBLO deverá ser gravada a data em que o opcional será bloqueado, esta data poderá ser alterada na análise da solicitação.
- Deverá ser criado um parâmetro MV_MOTOPC que deverá gravar o código de motivo de bloqueio de opcional padrão para quando a atingir a data limite do opcional, ser gravado este código na tabela BF4 (Opcionais de usuários).
<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
[ACAA040 – Parâmetros] | [Alteração] | [Atualizações -> Acadêmico-> Tesouraria] | - |
[ACAA050 – Negociação Financeira] | [Envolvida] | [Atualizações -> Acadêmico-> Tesouraria] | - |
[ACAA060 – Cadastro de Pedidos] | [Criação] | [Atualizações -> Acadêmico-> Cadastros] | - |
Exemplo de Aplicação:
- Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
- Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades como a referência mínima para calcular o débito total do aluno.
- Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
- O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.
Tabelas Utilizadas
- SE2 – Cadastro de Contas a Pagar
- FI9 – Controle de Emissão de DARF>.
Opcional
Protótipo de Tela
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
Opcional
Fluxo do Processo
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Opcional
Dicionário de Dados
Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/
Índice | Chave |
01 | <FI9_FILIAL+FI9_IDDARF+FI9_STATUS> |
02 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF> |
03 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO> |
Campo | <AAA_PERESP> |
Tipo | <N> |
Tamanho | <6> |
Valor Inicial | <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. |
Mandatório | Sim ( ) Não ( ) |
Descrição | <Referência Mínima para Cálculo> |
Título | <Ref.Calc.> |
Picture | <@E999.99> |
Help de Campo | <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação> |
(Opcional)
Grupo de Perguntas
<Informações utilizadas na linha Protheus>.
Nome: FINSRF2
X1_ORDEM | 01 |
X1_PERGUNT | Emissão De |
X1_TIPO | D |
X1_TAMANHO | 8 |
X1_GSC | G |
X1_VAR01 | MV_PAR01 |
X1_DEF01 | Comum |
X1_CNT01 | '01/01/08' |
X1_HELP | Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório |
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
Consulta: AMB
Descrição | Configurações de Planejamento |
Tipo | Consulta Padrão |
Tabela | “AMB” |
Índice | “Código” |
Campo | “Código”; ”Descrição” |
Retorno | AMB->AMB_CODIGO |
(Opcional)
Estrutura de Menu
<Informações utilizadas na linha Datasul>.
Procedimentos
Procedimento |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Módulo |
|
|
|
Programa base |
|
|
|
Nome Menu | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Registro padrão | Sim | Sim | Sim |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Release de Liberação |
|
|
|
Programas
Programa |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Nome Externo |
|
|
|
Nome Menu/Programa | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Nome Verbalizado[1] | (Max 254 posições) | (Max 254 posições) | (Max 254 posições) |
Procedimento |
|
|
|
Template | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) |
Tipo[2] | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Categoria[3] |
|
|
|
Executa via RPC | Sim/Não | Sim/Não | Sim/Não |
Registro padrão | Sim | Sim | Sim |
Outro Produto | Não | Não | Não |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Query on-line | Sim/Não | Sim/Não | Sim/Não |
Log Exec. | Sim/Não | Sim/Não | Sim/Não |
Rotina (EMS) |
|
|
|
Sub-Rotina (EMS) |
|
|
|
Localização dentro da Sub Rotina (EMS) |
|
|
|
Compact[4] | Sim/Não | Sim/Não | Sim/Não |
Home[5] | Sim/Não | Sim/Não | Sim/Não |
Posição do Portlet[6] | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right |
Informar os papeis com os quais o programa deve ser vinculado |
|
|
|
Cadastro de Papéis
<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.
<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.
Código Papel | (máx 3 posições) |
Descrição em Português* |
|
Descrição em Inglês* |
|
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
[6] Obrigatório quando o projeto for FLEX
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
...