Regras de campos calculados

 

Variáveis

Uma variável é um campo específico em uma ordem ou estudo referenciados. São representados por ID de colunas, COLID. A lista de COLID é exibida nas páginas Personalizar rótulos e no Manual de usuário de campos calculados.

 

Tipos variáveis

Cada variável tem um tipo dependente da informação que o campo transmite. Algumas macros e operadores apenas funcionam se os argumentos forem do tipo exigido. A tabela abaixo lista os tipos de variáveis suportados.

 

Datetime

Todos os campos que contêm uma data, hora ou valor data+hora.

Intervalo

Exprime um intervalo de tempo entre valores datetime. O formato de exibição desta variável tipo está definido na seção Formato da data na página de configurações.

Número

Campos de números binários.

Cadeia

Todas as cadeias alfanuméricas.

 

Constantes

As constantes são valores literais inseridos na regra de campo calculado. Seu formato é definido da seguinte forma:

 

Datetime

Data e hora expressas no formato AAAAMMDD_HHMMSS. Para exprimir apenas a hora, o formato é 00000000_HHMMSS. As constantes apenas com a data têm o formato AAAAMMDD_000000

Intervalo

As constantes de intervalo, expressas em segundos, usando o formato <número>S. Por exemplo, 1200S para 1200 segundos. Usado para adicionar a hora a variáveis datetime.

Número

Constantes inteiras expressas como uma cadeia de números. Os valores negativos devem ser expressos como uma operação. Por exemplo, para -5, usar 0-5.

Estado

Constantes de estado do estudo, expressas como o rótulo do estado, sem quaisquer aspas. Por exemplo, ordenado, não exibido e final.

Cadeia

Constantes de cadeia limitadas por aspas duplas em ambos os lados.

 

Macros e operações

 

Macros e operações aritméticas

add(a,b[,c...])

Adicionar os operandos. Se todos os operandos forem do tipo número ou intervalo, o resultado é uma soma aritmética dos valores. Se todos os operandos forem do tipo cadeia, o resultado é a concatenação das cadeias. Se os operandos forem um datetime e uma ou mais variáveis de intervalo, as variáveis de intervalo são adicionadas às variáveis datetime e o resultado é uma variável datetime. Todas as restantes combinações de tipos de variáveis não são suportadas e devolvem NULL.

div(a,b)

Dividir os operandos. Se todos os operandos forem do tipo número de intervalo, o resultado é o dividendo aritmético a/b. Todas as restantes combinações de tipos de variáveis não são suportadas e devolvem NULL. A divisão por constantes zero é verificada, mas as variáveis de valor zero poderão falhar e produzir resultados indefinidos.

mul(a,b[,c...])

Multiplicar os operandos. Se todos os operandos forem do tipo número ou intervalo, o resultado é o produto aritmético dos valores. Todas as restantes combinações de tipos de variáveis não são suportadas e devolvem NULL.

sub(a,b)

Subtrair os operandos. Se todos os operandos forem do tipo número, intervalo ou datetime, o resultado é a diferença aritmética a-b. Se o operando a for do tipo datetime e o b for do tipo intervalo, o resultado é uma variável datetime a-b. Todas as restantes combinações de tipos de variáveis não são suportadas e devolvem NULL.

+

O mesmo que add() com um limite de dois operandos, no formato a+b.

-

O mesmo que sub() usando o formato a-b.

*

O mesmo que mul() com um limite de dois operandos, no formato a*b.

/

O mesmo que div() usando o formato a/b.

 

Macros e operações booleanas

and (x,y)

O resultado é "sim" se a expressão booleana x e y forem ambas "sim". Se qualquer uma das expressões booleanas for “não", o resultado é “não”.

not(x)

O resultado é "sim" se a expressão booleana x for "não". Senão, o resultado é "sim".

or(x,y)

O resultado é "sim" se a expressão booleana x ou y for "sim". Se nenhuma das expressões booleanas for "sim", o resultado é "não".

xor(x,y)

O resultado é "sim" se qualquer uma das expressões booleanas x ou y for "sim". Se ambas as expressões booleanas forem "não" ou se ambas forem "sim", o resultado é "não".

&

O mesmo que and(), no formato x&y.

|

O mesmo que or(), no formato x|y.

^

O mesmo que xor(), no formato x^y.

 

Macros e operações condicionais

equals(x,y)

O resultado é "sim" se os dois valores forem iguais. Senão, o resultado é "não". X e y têm de ser do mesmo tipo: cadeia, número ou intervalo.

greater(x,y)

O resultado é "sim" se x for maior do que y. Senão, o resultado é "não". X e y têm de ser do mesmo tipo: número ou intervalo.

if(test,x,y)

Devolve x se o resultado do teste da expressão booleana for verdadeiro. Senão, o resultado é y.

less(x,y)

O resultado é "sim" se x for menor do que y. Senão, o resultado é "não". X e y têm de ser do mesmo tipo: número ou intervalo.

=

O mesmo que equals(), no formato x=y.

>

O mesmo que greater(), no formato x>y

<

O mesmo que less(), no formato x<y

 

Macros e operações de data

age(d1,d2)

Devolve a diferença d1-d2 em anos civis.

atleaststatemintime(s)

Devolve a primeira data e hora em que a ordem ou estudo existiu no estado s ou em qualquer estado posterior. O resultado se apresenta no formato datetime. Disponível somente para as tabelas Informação do estudo .

atmoststatemaxtime(s)

Devolve a data e hora mais recente em que a ordem ou estudo esteve no estado s ou em qualquer estado anterior. O resultado se apresenta no formato datetime. Disponível somente para as tabelas Informação do estudo .

curdatetime()

Devolve a data e hora atuais no formato datetime.

minstatetime(s)

Devolve a primeira data e hora em que a ordem ou estudo existiu no estado, s. O resultado se apresenta no formato datetime.

maxstatetime(s)

Devolve a data e hora mais recentes em que a ordem ou estudo entrou no estado, s. O resultado se apresenta no formato datetime.

 

Macros e operações de valores múltiplos

avg(id)

Devolve a média matemática dos valores no campo de valores múltiplos, id, tal como um campo de nível de objeto na tabela de estudo. Apenas variáveis do tipo número e intervalo.

count(id)

Devolve o número de entradas no campo de valores múltiplos, id, tal como um campo de nível de objeto na tabela de estudo.

countif(id,s)

Devolve o número de entradas no campo de valores múltiplos, id, cujo valor é s. Apenas variáveis do tipo número, intervalo e cadeia. O resultado se apresenta no formato de número.

hasvalue(<Colid>)

Verifica se o valor do campo especificado é NULL ou uma cadeia vazia. Devolve "não" se não existir nenhum valor. Senão, devolve "sim".

max(id)

Devolve o maior valor no campo de valores múltiplos, id, tal como um campo de nível de objeto na tabela de estudo. A comparação será numérica para os tipos número e intervalo e será lexicográfica para os tipos cadeia e datetime.

min(id)

Devolve o menor valor no campo de valores múltiplos, id, tal como um campo de nível de objeto na tabela de estudo. A comparação será numérica para os tipos número e intervalo e será lexicográfica para os tipos cadeia e datetime.

sum(id)

Devolve a soma matemática dos valores no campo de valores múltiplos, id, tal como um campo de nível de objeto na tabela de estudo. Apenas variáveis do tipo número e intervalo.