~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Relatório Quantitativo por Período ====== Esse caso de uso é utilizado pelos gestores de plano de saúde, gestores e administradores do departamento de administração de pessoal com o objetivo listar os quantitativos das solicitações de plano de saúde por período em tela ou em formato de planilha eletrônica (''.xls''). ===== Descrição do Caso de Uso ===== Este caso de uso inicia-se quando a opção //SIGRH → Administração de pessoal → Planos de Saúde → Consultas/Relatórios → Relatório Quantitativo por Período//. O usuário entra com os seguintes dados: * **Período***: Formato - mês/AAAA a mês/AAAA, Tipo - DATA, Para mês são apresentadas opções: ''Janeiro, Fevereiro, ..., Dezembro''. * **Localização Responsável**: Tipo - TEXTO. São apresentadas as opções ''UFRN e Hospitais''. * **Tipo de Solicitação**: Tipo - TEXTO. São apresentadas as opções ''Solicitação de Adesão e Solicitação de Ressarcimento''. * **Titular da Solicitação***: Tipo - TEXTO. São apresentadas as opções ''Servidor e Pensionista''. * **Exibir em Planilha Eletrônica (formato .xls)**: Tipo - LÓGICO. Após selecionar os filtros desejados o relatório será gerado.No relatório(com opção para impressão) serão exibidos os seguintes dados: ([[#principais_regras_de_negócio|RN01]]) * Quantitativo por período: * **__Mês__**: Tipo - NUMÉRICO. * **__Ano__**: Tipo - NUMÉRICO. * **__Titulares__**: Tipo - NUMÉRICO. * **__Dependentes__**: Tipo - NUMÉRICO. * **__Agregados__**: Tipo - NUMÉRICO. No final do relatório, são exibidos os seguintes dados: * **__Total de Solicitações para os titulares__**: Tipo - NUMÉRICO. * **__Total de Solicitações para os dependentes__**: Tipo - NUMÉRICO. * **__Total de Solicitações para os agregados__**: Tipo - NUMÉRICO. * **Modelo do Relatório em formato de impressão**: **Relatório Quantitativo - Plano de Saúde** ^Mês ^ Ano ^ Titulares ^ Dependentes ^ Agregados ^ |...9| AAAA | 99 | 99 | 99 | |...9| AAAA | 99 | 99 | 99 | |...9| AAAA | 99 | 99 | 99 | | **Total:**|| **99** | **99** | **99** | O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01**: Serão exibidos os quantitativos das solicitações dos titulares, dependentes e agregados, autorizadas e confirmadas no período informado. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sigrh.funcional.dominio.PlanoSaude | administrativo.funcional.plano_saude | | br.ufrn.sigrh.funcional.dominio.SolicitacaoPlanoSaude | administrativo.funcional.solicitacao_plano_saude | | br.ufrn.sigrh.funcional.dominio.SolicitacaoPlanoDependente| administrativo.funcional.solicitacao_plano_dependente | | br.ufrn.sigrh.funcional.dominio.SolicitacaoPlanoAgregado| administrativo.funcional.solicitacao_plano_saude | | br.ufrn.sigrh.funcional.dominio.SolicitacaoPlanoAgregado| administrativo.funcional.solicitacao_plano_agregado | ===== Plano de Teste ===== Sistema: SIGRH Módulo: Administração de Pessoal Link(s): Planos de Saúde -> Consultas/Relatórios -> Relatório Quantitativo por Período Usuários: mirian Papel que usuário deve ter: SigrhPapeis.GESTOR_PLANO_SAUDE, SigrhPapeis.GESTOR_DAP, SigrhPapeis.ADMINISTRADOR_DAP ===== Cenários de Teste ===== Os casos de usos [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:plano_de_saude:solicitacoes:solicitacao_de_adesao:cadastrar#plano_de_teste|Cadastrar Solicitação de Adesão a Plano de Saúde]] e [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:plano_de_saude:solicitacoes:solicitacao_de_ressarcimento:cadastrar#plano_de_teste|Solicitação de Ressarcimento de Plano de Saúde]] ser utilizados para realizar modificações que alterem o resultado do relatório, e assim o testador possa verificar se o relatório está refletindo as mudanças. Verificar o quantitativo de solicitações de adesão e/ou ressacimento exibido no relatório para o intervalo de tempo selecionado. ===== Dados para o Teste ===== * A confirmação das solicitações pode ser realizada no seguinte caminho: * [[desenvolvimento:especificacoes:sigrh:portal_do_plano_de_saude:casos_de_uso:solicitacoes_de_planos_saude:confirmacao_de_solicitacoes:solicitacoes_autorizadas| SIGRH → Portal do Plano de Saúde → Solicitações de Planos de Saúde → Confirmação de Solicitações → Solicitações Autorizadas]] * Uma consulta pelas solicitações de planos de saúde com opção para visualização pode ser acessada a partir do seguinte caminho: * [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:plano_de_saude:consultas:consultas_gerais:solicitacoes_de_planos_de_saude|Administração de Pessoal → Planos de Saúde → Consultas → Consultas Gerais → Solicitações de Plano de Saúde]] * O cadastro de solicitação de adesão pode ser feito no seguinte caminho: * [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:plano_de_saude:solicitacoes:solicitacao_de_adesao:cadastrar|Administração de Pessoal → Plano de Saúde → Solicitações → Solicitação de Adesão → Cadastrar]] * A autorização das solicitações de adesão podem ser realizadas a partir do seguinte caminho: * [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:plano_de_saude:autorizacoes:autorizar_solicitacoes_de_adesao|Administração de Pessoal → Planos de Saúde → Autorizações → Autorizar Solicitações de Adesão ]] * A desativação das solicitações de planos de saúde podem realizadas no seguinte caminho: * [[desenvolvimento:especificacoes:sigrh:administracao_de_pessoal:casos_de_uso:plano_de_saude:solicitacoes:desativar_solicitacao_de_plano_de_saude|Administração de Pessoal → Plano de Saúde → Solicitações → Desativar Solicitação de Plano de Saúde]] * Script SQL para quantitativo de solicitações de adesão dos servidor dos Hospitais no mês de julho de 2011: SELECT mes, ano, count(distinct sols.id_solicitacao_plano_saude) as total_titular, count(distinct spd.id_solic_plano_dependente) as total_dependente, count(distinct spa.id_solicitacao_plano_agregado) as total_agregado FROM ( SELECT mes, ano, sps.id_solicitacao_plano_saude FROM plano_saude.solicitacao_plano_saude sps INNER JOIN plano_saude.status_solicitacao_plano status on sps.id_status_solicitacao_plano=statuS.id_status_solicitacao_plano AND (status.id_status_solicitacao_plano in ( 3,9 ) ) and sps.tipo=1 LEFT JOIN rh.servidor s on (s.id_servidor = sps.id_servidor) LEFT JOIN comum.unidade u on (u.id_unidade = s.id_unidade) LEFT JOIN pessoal.pensionista p on (sps.id_pensionista = p.id_pensionista) LEFT JOIN pessoal.pensionista_servidor ps on (ps.id_pensionista = p.id_pensionista) LEFT JOIN rh.servidor servidor on (servidor.id_servidor = ps.id_servidor) LEFT JOIN comum.unidade unidade on (unidade.id_unidade = servidor.id_unidade) LEFT JOIN COMUM.REGISTRO_ENTRADA regAut on sps.id_registro_autorizacao=regAut.ID_ENTRADA LEFT JOIN COMUM.REGISTRO_ENTRADA regDes on sps.id_registro_desativacao=regDes.ID_ENTRADA , ( select 7 as mes, 2011 as ano ) as mf WHERE regAut.data <= cast(mf.ano || '-' || mf.mes || '-01' as date) AND (regDes.ID_ENTRADA is null OR regDes.DATA > cast(mf.ano || '-' || case when mf.mes < 12 then mf.mes+1 else mf.mes end || case when mf.mes < 12 then '-01' else '-31' end as date)) AND s.id_servidor is not null AND ( u.hierarquia_organizacional like '%.446.%' OR unidade.hierarquia_organizacional like '%.446.%' OR u.hierarquia_organizacional like '%.1424.%' OR unidade.hierarquia_organizacional like '%.1424.%' OR u.hierarquia_organizacional like '%.447.%' OR unidade.hierarquia_organizacional like '%.447.%' OR u.hierarquia_organizacional like '%.285.%' OR unidade.hierarquia_organizacional like '%.285.%' ) ) as sols LEFT JOIN plano_saude.solicitacao_plano_dependente spd on ( sols.id_solicitacao_plano_saude = spd.id_solicitacao_plano_saude AND (((spd.data_autorizacao <= cast(sols.ano || '-' || sols.mes || '-01' as date)) OR (spd.data_autorizacao is null and spd.id_status_solicitacao_plano in ( 3,9 ))) AND (spd.data_desativacao > cast(sols.ano || '-' || case when sols.mes < 12 then sols.mes+1 else sols.mes end || case when sols.mes < 12 then '-01' else '-31' end as date) or spd.data_desativacao is null) ) ) LEFT JOIN plano_saude.solicitacao_plano_agregado spa on (sols.id_solicitacao_plano_saude = spa.id_solicitacao_plano_saude) LEFT JOIN comum.registro_entrada autorizacaoAgregado on (autorizacaoAgregado.id_entrada = spa.id_registro_autorizacao) LEFT JOIN comum.registro_entrada desativacaoAgregado on ( desativacaoAgregado.id_entrada = spa.id_registro_desativacao AND (((autorizacaoAgregado.data <= cast(sols.ano || '-' || sols.mes || '-01' as date)) OR (spa.id_registro_autorizacao IS NULL AND spa.id_status_solicitacao_plano in ( 3,9 ))) AND (desativacaoAgregado.data > cast(sols.ano || '-' || case when sols.mes < 12 then sols.mes+1 else sols.mes end || case when sols.mes < 12 then '-01' else '-31' end as date) OR desativacaoAgregado.data is null) ) ) GROUP BY sols.ano, sols.mes ORDER BY sols.ano, sols.mes