• Pronto para análise
  • Cadastro de Fórmulas (Laudos)

    Manual com objetivo de mostrar passo a passo como realizar o cadastramento de fórmulas para execução de cálculos no lançamento de resultados, afim de facilitar o entendimento da configuração dos parâmetros.

    Versão

    Proprietário

    Nota

    Data

    Versão

    Proprietário

    Nota

    Data

    1.0

    @Rafael Carvalho

    Criação de documento

    17/04/2023

    1.1

    @Rafael Carvalho

    Inclusão de Condição para Bloqueio Laudo

    05/05/2023

    1.2

    @Rafael Carvalho

    Ajustes de imagens

    31/05/2023

    1.3

    @Rafael Carvalho

    Inclusão de Exemplos de IF complexos

    09/02/2024

    1.4

    @Rafael Carvalho

    Ajuste de Imagens/Inserção de Função

    11/07/2024

    1.5

    @Rafael Carvalho

    Inclusão de Função Retorno de Resultado

    06/11/2024

    Índice

    Conceito do Cadastro de Fórmulas

    Compreende-se como Cadastro de Fórmulas, a configuração de cálculos que serão utilizados para os campos de resultados no momento da digitação do resultado, para evitar cálculos manuais, ou, fórmulas de bloqueio para o lançamento como forma de segurança para impossibilitar o lançamento de resultados errôneos, tendo parâmetros pré-definidos para que seja feito de acordo com a regra inserida no cadastro.

    É de suma importância a compreensão que todos os itens apontados neste Manual, são dados e orientações sugestivas no que tange à parametrização do sistema. Sendo assim, o laboratório em questão pode desenvolver métricas e apontamentos que julgarem necessários, variando com o nível exigência que desejam atingir.  

    Nas telas, o sistema apresenta botões PADRÕES que serão utilizados para edição e manipulação dentro do sistema:

    Figura 1. Botões Padrões Cadastro de Fórmula.
    Figura 2. Outros Filtros (Menu após clicar na opção2).

    1 - Adicionar: Para incluir um novo registro.

    2 - Outros Filtros (Gravar Ultima Pesquisa): Grava por máquina, os filtros que você faz no item “4”, ou seja, salva o último filtro que você fez e abre aquele filtro como padrão, sempre que entrar na tela específica.

    3 - Limpar Filtros: Limpa todos os filtros que você faz no item “4” da tela.

    4 - Menus para Filtro: Opções de Filtros e Ordenação dos campos clicando em cima das setas das respectivas colunas que deseja.

    5 - Modificar/Alterar: Modifica/Altera informações do registro selecionado.

    6 - Exclusão: Exclui um registro selecionado.

    7 - Paginação: Muda a página para exibição de registros se houver mais de 1 página, podendo avançar/retornar 1 página, ou ir para a última/primeira página, respectivamente.

    8 - Quantidade de Registros: Possibilidade de mudar a quantidade de registros exibido na tela.

    9 - Histórico de Exclusão: Exibe em lista uma rastreabilidade de todos os registros deletados da tela específica.

    Cadastro de Fórmulas

    Para cadastrarmos Layout de exames, é necessário colocar uma descrição e vincular o layout a um exame padrão.

    Para cadastrarmos, deveremos ir no menu “Cadastros” e em seguida expandir a aba “Exames” e clicar em “Fórmulas”, abaixo temos uma imagem mostrando o procedimento.

     

    Feito isso, clicaremos em “ADICIONAR”, irá abrir a tela para preenchermos as informações e realizar as devidas configurações, é obrigatório apenas o NOME e o CÁLCULO/FÓRMULA para concluir o cadastro.

    1 - Nome: Para definir um nome para essa fórmula.

    2 - Quantidade de Parâmetros: Apenas um contador sobre a quantidade de Parâmetros existentes no cálculo.

    3 - Adicionar Parâmetro: Com essa opção você adiciona os parâmetros dinâmicos, p01,p02,p03…, para utilizá-los na fórmula de maneira dinâmica, sendo assim, você pode usar uma mesma fórmula (Caso o calculo seja o mesmo), para vários layouts, pois você consegue definir na linha de resultado, quem é o p01, quem é o p02, e assim por diante.

    4 - Copiar Fórmula Existente: Copia uma fórmula existente de acordo com a seleção para a fórmula nova que está criando.

    5 - Lista dos Parâmetros: Mostra a lista de parâmetros adicionados/utilizados na fórmula, de forma sequencial, p01,p02,p03……p50.

    6 - Fórmula: Aqui é o campo destinado para escrever a sintaxe da fórmula, lembrando que a sintaxe é semelhante a fórmulas de Excel.

    8 - Testar Fórmula: Com essa opção, você consegue fazer testes reais sobre a fórmula escrita, para checar se a fórmula está sendo executada de maneira correta, ao clicar nesse teste, você poderá digitar valores para p01,p02, etc., para testar o cálculo.

    9 - Gravar: Para Salvar a inclusão/alteração realizada na fórmula, é importante sempre clicar aqui, caso contrário qualquer alteração feita não será salva.

    Antes de prosseguirmos, devemos saber que, as sintaxes das fórmulas é semelhante a fórmulas de Excel, sendo assim, tornando mais fácil a sua configuração.

    Além disso as fórmulas são dinâmicas, sendo assim, se já existe algum parâmetro utilizando a fórmula, a edição dessa fórmula terá reflexo para TODOS os campos que utilizam ela, a partir do momento de sua alteração.

    Não é possível realizar a exclusão de fórmula quando se há parâmetro utilizando essa fórmula.

    Para campos strings (tipo texto) devemos utilizar os parâmetros de referência com aspas dupla (““), caso contrário dará erro de sintaxe, exemplo: “p01”+”p02”.

    Campos numéricos não devem ter aspas dupla (““), exemplo p01+p02.

    Também não é possível incluir/remover parâmetro, marcar/desmarcar que é uma condição de bloqueio se a fórmula estiver vinculado a alguma linha/layout, conforme imagem abaixo:

    Pode ser uma linha (No caso de linha de resultado, irá aparecer se está vinculado ao parâmetro ou parâmetro2, e o nome do campo no layout.

    No caso da condição de bloqueio, a lista de parâmetros ficará vazio, pois a condição de bloqueio não tem vínculo com a linha e sim com o layout.

    Abaixo, temos alguns exemplos dos operadores principais de cálculo, e com alguns exemplos de calculo. Onde daremos o valor para p01 de 10 e p02 de 2.

    Operadores Aritméticos

    Realizam as funções de cálculo matemático

    Tipo de Operação

    Operador

    Exemplo

    Resultado

    Tipo de Operação

    Operador

    Exemplo

    Resultado

    Soma

    +

    p01+p02

    10+2 = 12

    Subtração

    -

    p01-p02

    10-2 = 8

    Divisão

    /

    p01/p02

    10/2 = 5

    Multiplicação

    *

    p01*p02

    10*2 = 20

    Exponencial

    ^

    p01^p02

    10^2 = 100

    Operadores Lógicos

    Comparam duas ou mais variáveis. Retornam valores booleanos, 1 para verdadeiro e 0 para falso.

    Tipo de Operação

    Operador

    Exemplo:

    Resultado

    Tipo de Operação

    Operador

    Exemplo:

    Resultado

    E

    AND

    p01=10 AND p02=2

    1 (Verdadeiro)

    Ou

    OR

    p01=10 OR p02=2

    1 (Verdadeiro)

    Igual

    =

    p01=0

    0 (Falso)

    Não Igual (Diferente)

    <>

    p01<>0

    1 (Verdadeiro)

    Menor

    <

    p01<10

    0 (Falso)

    Menor ou Igual

    <=

    p01<=10

    1 (Verdadeiro)

    Maior

    >

    p01>11

    0 (Falso)

    Maior ou Igual

    >=

    p01>=11

    0 (Falso)

    Concatenar

    Concatena os valores desejados

    Operador

    Exemplo:

    Resultado

    Operador

    Exemplo:

    Resultado

    CONCATENATE(““,””) ou

    (“a” & “b”)

    CONCATENANTE(“abc”,”p01”,”p02”) ou

    (“abc” & p01+p02)

    abc102

    abc12 (No caso, p01+p02 sem aspas(““) seria um valor numérico, onde faria a soma dos dois parâmetros para retornar o valor, que no caso seria 10+2 = 12)

    Se (Comparação)

    Operador

    Exemplo:

    Resultado:

    Operador

    Exemplo:

    Resultado:

    IF()

    IF(p01<20,"MENOR QUE 20","MAIOR QUE 20")

    p01 é igual a 10, sendo assim, o resultado dessa fórmula seria "MENOR QUE 20".

    Ou seja, é feito uma checagem da condição se é verdadeiro ou falso.

    Pode-se incluir várias checagens em um mesmo IF utilizando o "IF(AND())" para checar se 1 E Outra condição são verdadeiras, ou usar "IF(OR())" para checar se 1 OU Outra condição são verdadeiras também, ou fazer mais de um IF em uma única fórmula, exemplos abaixo:

    IF(,IF())

    IF(p01<20,"MENOR QUE 20", IF(p01>30,p01*p02,p01/p02))

    Caso primeiro IF for verdadeiro, vai escrever "MENOR QUE 20".
    Caso segundo IF for verdadeiro, vai executar o cálculo, p01*p02.
    Caso nenhum dos IF’s forem verdadeiro, vai executar o ultimo calculo, p01/p02.

    Condição você aplica como for necessário, mensagem ou cálculo.

    IF(AND(),)

    IF(AND(p01 > 30 & p02 > 20),p01*p02,p01/p02)

    Caso o IF for verdadeiro (AMBAS as condições verdadeiras, p01>30 E p02>20, vai executar o cálculo, p01*p02.
    Caso nenhum dos IF’s forem verdadeiro, vai executar o ultimo calculo, p01/p02.

    IF(OR(),,)

    IF(OR(p01=0,p02=0),"0",(p01/p02))

    Caso o IF for verdadeiro (UMA ou OUTRA condição for verdadeiras, p01=0 OU p02=0, vai manter o valor "0".
    Caso nenhum das condições forem verdadeiras, vai executar o ultimo calculo, p01/p02.

    Cálculo Resultado

    Feito a introdução, vamos a criação de uma fórmula para cálculo:

    Acima temos um exemplo simples, onde estamos fazendo uma soma de p01+p02.

    Vamos agora então, executar o teste dessa fórmula simples, clicaremos no botão de “Testar Fórmula”:

    Ao preencher os valores de cada parâmetro, clicamos no “Executar” que será realizado o calculo configurado e será exibido o resultado desse cálculo para avaliarmos se a fórmula está correta.

    Condição de Bloqueio

    Já para a condição de bloqueio, temos que marcar o checkbox “Condição de bloqueio” e colocar a expressão da condição da seguinte forma:

    IF(Condição,(“MENSAGEM DE EXIBIÇÃO”),FALSE())

    Onde na “Condição” será nossa condição de bloqueio, por exemplo, no calculo de proteína total e frações (PROTEINA - ALBUMINA) a ALBUMINA NÃO pode ser MAIOR que a PROTEINA. Sendo assim, segue um exemplo dessa fórmula:

    IF(p01>p02,("Erro ... Albumina não pode ser MAIOR que a Proteína Total, Resultado: "& p01),FALSE())

    Essa fórmula ta checando se p01 é MAIOR que p02, se for, ele irá exibir a mensagem “Erro… Albumina não pode ser……..”& (Concatenador) p01 (Vai exibir junto com a frase entre ““, o valor de p01).

    Exemplo de execução na fórmula:

    Nesse caso, quando for lançar o exame cujo o layout tenha essa condição de bloqueio informada, ao clicar no “SALVAR” do lançamento de resultados, e essa condição for VERDADEIRA, será exibido a mensagem digitada na fórmula e não deixará salvar o lançamento, caso for FALSA, será permitido salvar normalmente.

    Exemplo:

    Exemplo de IF com mais de uma condição de bloqueio:

    IF(OR(p01>p02,(p03<>(p01-p02))),("Erro ... Albumina não pode ser MAIOR que a Proteína Total e Valor GLOB não pode ser diferente PROT-ALB, Resultado GLOB: "& p03),FALSE())

    Ou, pode ser feito de outra maneira também:

    IF(p02 > p01, "Erro... Albumina não pode ser MAIOR que a Proteína Total, Resultados: "& p01 & " e "& p02,
    IF(p03 <> (p01 - p02),"Erro... Valor GLOB não pode ser diferente de PROT-ALB, Resultado BILI: " & p03,FALSE()))

    Fórmula com Função Banco

    Podemos também ter fórmulas que utiliza uma função do banco, para retornar algum valor ou campo, onde passaremos a função em volta do caractere “$” e os parâmetros.

    Exemplo:

    $FATOR_LDL(p01,p02)$

    Nessa fórmula acima, está puxando o FATOR LDL (Fórmula de Martin), passando os parâmetros p01 e p02 que são necessários para a função “FATOR_LDL” retornar um valor.

    Também é possível usar essa fórmula como um agregador da fórmula como um todo, ou seja, usar outros cálculos junto com a função, exemplo abaixo ja calculando o LDL com o fator.

    Exemplo:

    (p01-p02)-(p03/$FATOR_LDL(p03,p04)$)

    O teste de fórmula não possui diferença, pode ser feito normalmente substituindo os valores dos parâmetros (p01, p02, p03, etc.)


    Outro exemplo comum, puxando algum campo da movpac:

    $ret_movpac('p01',movexa)$

    Na fórmula vinculada a linha do layout, você digitará o campo que quer da movpac como valor fixo do p01, exemplo trazendo o campo idade:

    Para testar a fórmula, também pode digitar o valor do campo no p01 e ao invés de usar “movexa” colocar p02 para colocar um id válido para testar a função.

    O “movexa” na fórmula, será substituído no momento do lançamento de resultados de forma automática pelo respectivo ID do lançamento.

    OBS.: O nome do campo deve ser exatamente igual ao nome do campo no banco de dados.


    Outro exemplo comum, puxando o valor do resultado de algum parâmetro de outro exame do mesmo atendimento:

    $ret_resultado_sia('p01',p02,movpac_id)$

    p01= deve ser o nome do parâmetro no layout, exemplo “TRI”, precisa ser exatamente igual.

    p02= deve ser id do exame que quer puxar o resultado, Ex.: 161.

    O “movpac_id” na fórmula, será substituído no momento do lançamento de resultados de forma automática pelo respectivo ID do lançamento.

    Na fórmula vinculada a linha do layout, você digitará o campo que quer do parâmetro de resultado, como valor fixo do p01, e no p02 o id do exame, também como valor fixo.

    Exemplo trazendo o valor do parâmetro “TRI” do exame cujo id é 161 (No caso do exemplo seria o TRIGLICERIDEOS):

    Para testar a fórmula, também pode digitar o valor do campo no p01 e p02, e ao invés de usar “movpac_id” colocar p03 para colocar um movpac_id válido para testar a função.

    OBS.: O nome do parâmetro deve ser exatamente igual ao nome do parâmetro informado do layout do exame desejado.

    Conclusão

    Podemos concluir que, o Cadastro de Fórmulas é de suma importância para digitação de resultados baseando-se em exames/laudos que é necessário realizar cálculos para um determinado resultado ou condições de bloqueio, facilitando assim, a digitação de resultados, evitando erro de digitação e bloqueando lançamentos incorretos. Entretanto, é necessário que o cálculo/fórmula seja criado de maneira adequada para que não ocorra erro de cálculo e liberação de resultado incorreto.