A presente especificação visa detalhar as regras e mudanças sobre o desmembramento da tela de Corpo Clínico, que hoje fica no cadastro da RDA (PLSA360), na ação do botão Outras Ações / Complemento.
Essa separação visa melhorar a usabilidade das telas de cadastro de Prestadores, que hoje contêm vários itens agrupados em diversas abas e caminho, que atrapalha no uso pelos usuários, bem como utilizar as novas tecnologias da Totvs - no caso, o MVC - para utilizar as tecnologias fomentadas pelo frame, para garantir estabilidade, escalabilidade e ganho de performance, pois a tela atual, quando carregada com muito registros, demora para exibir os resultados ao usuário e torna a navegação lenta.
Com o desmembramento Corpo clínico de dentro da rotina de Complemento da RDA, o processo se tornará mais prático, pois não será necessário acessar a rotina, que está carregada de abas e informações que não são pertinentes ao cadastro, além de utilizar o MVC, garantindo velocidade ao processo.
Para acessar o cadastro de Corpo Clínico do Prestador, é necessário acessar o seguinte caminho: Atualizações / Rede de Atendimento / Rede de Atendimento - RDA. O sistema irá abrir todos os cadastro de prestadores no sistema (tabela BAU). Selecionar o prestador desejado no browse a na sequência, clicar no botão Outras Ações / Complemento.
O sistema irá abrir o cadastro completo da RDA, com várias abas e informações. No nosso caso, será necessário acessar a aba Especialidades. O sistema irá exibir as especialidades cadastradas para o prestador e na parte inferior, temos diversas abas, sendo que a aba que será desmembrada desse cadastro será a de Corpo Clínico. Ao clicar nessa aba, temos mais abas pertinentes a esse cadastro, que é de RDA e Procedimentos.
Figura 1
Note que ao mudar a especialidade no grid acima, os itens exibidos no Corpo Clínico mudam, pois o Corpo Clínico e suas sub-abas são associadas a especialidade.
Contudo, note a quantidade de abas e informações que não são necessárias para atualizar o cadastro de Corpo Clínico, que são exibidas na tela. Além disso, essa tela utiliza a classe TPLSBrw (fonte PLSBRW.PRW)para todos os grids, que é uma classe criada pelo time do PLS, não possuindo suporte oficial pelo setor de tecnologia da empresa, além de carregar todos os dados em memória, ocasionando extrema lentidão na abertura e navegação na telas, caso esses grids contenham vários registros.
Por isso, para utilizar as tecnologias oficiais da empresa e melhorar a usabilidade e velocidade, essa tela de Corpo Clínico será desmembrada e refeita em MVC, conforme detalhes nos próximos itens dessa especificação.
Conforme visto nos outros tópicos, o acesso ao cadastro de Corpo Clínico passa por vários menus e submenus, além de apresentar lentidão na tela, devido ao uso da classe própria. Desta forma, no desmembramento da aba de Corpo Clínico, será necessário observar as seguintes premissas abaixo, para o desenvolvimento da nova rotina:
É de suma importância que a tela seja feita em MVC, garantindo o suporte oficial pelo time de tecnologia, além de garantir que todas as validações existentes sejam revistas e feitas na nova tela, para garantir a gravação correta e funcionamento das demais rotinas envolvidas, que utilizam desses cadastros, visando garantir uma melhor usabilidade e maior performance no uso da rotina.
No tópico de alterações, será descrito o que deve ser feito, bem como demais observações importantes no processo.
Mesmo se tratando de especificação, no decorrer do desenvolvimento, poderá ser encontrado outros pontos não mencionados aqui, visto que se trata de um rotina antiga, que pode possuir diversas implicações em várias partes do sistema. |
Abaixo, iremos definir os passos básicos, que devem ser seguidos para realizar as alterações e a criação da nova tela:
Abaixo, uma tabela com os relacionamentos entre tabelas:
Relacionamentos | Chave |
---|---|
Prestador (BAU) para Locais de Atendimento (BB8) | { "BB8_FILIAL", "BAU_FILIAL" } , { "BB8_CODIGO", "BAU_CODIGO" }, { "BB8_CODINT", PlsIntPad() } Utilizar na chave de relacionamento o campo BB8_CODINT, que pode ser obtido via função PlsIntPad() |
Locais de Atendimento (BB8) para Especialidades (BAX) | { "BAX_FILIAL", "BB8_FILIAL" }, { "BAX_CODIGO", "BB8_CODIGO" }, { "BAX_CODINT", "BB8_CODINT" },{ "BAX_CODLOC", "BB8_CODLOC" } |
Especialidades (BAX) para Corpo Clínico (BC1) | { "BC1_FILIAL", "BAX_FILIAL" }, { "BC1_CODIGO", "BAX_CODIGO" }, { "BC1_CODINT", "BAX_CODINT" },{ "BC1_CODLOC", "BAX_CODLOC" }, { "BC1_CODESP", "BAX_CODESP" }, { "BC1_CODSUB", "BAX_CODSUB" } |
Corpo Clínico (BC1) para Corpo Clínico Valor Especial (BE6) | { "BE6_FILIAL", "BC1_FILIAL" }, { "BE6_CODIGO", "BC1_CODIGO" }, { "BE6_CODINT", "BC1_CODINT" },{ "BE6_CODLOC", "BC1_CODLOC" }, { "BE6_CODESP", "BC1_CODESP" }, { "BE6_CODSUB", "BC1_CODSUB"}, { "BE6_CODPRF", "BC1_CODPRF" } |
Abaixo, um tabela que exemplifica como deve ficar a tela, componentes MVC e tamanho sugestionados para o desenvolvimento:
Dados Tela | Características MVC | |
---|---|---|
Dados Básico da RDA - ALIAS: BAU | Form MVC ( AddField )
| |
Locais de Atendimento - ALIAS: BB8 (relacionado a BAU selecionada) | Especialidades - ALIAS: BAX (relacionado ao local selecionado) | Dois grids MVC ( AddGrid )
|
Folder Corpo Clínico
| Folders ( CreateFolder e AddSheet)
|
Importante colocar em cada grid MVC o título do grid e os componentes GRIDFILTER e GRIDSEEK, para facilitar a busca dos dados nos grids para o usuário. Abaixo, os componentes citados:
Título do Grid - EnableTitleView | Filtro de pesquisa padrão e personalizado do grid - GRIDFILTER e GRIDSEEK |
Note que no exemplo da figura 3, nos grids de local e especialidade, temos o uso desses componentes. Deverá ser replicado para os grids das tabelas BC1 e BE6, conforme exemplo abaixo:
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |