Workflow triggering both conditions that are set to be opposite

Can someone help me see what I’m doing wrong?

I have a workflow “if this is true:” set to trigger with this formula to check if a patient exists in the table

IF(
ISBLANK(
FILTER(
“Patient Information”,
([PatientID] = [_THISROW].[PatientID])
)
),
FALSE,
TRUE
)

and another workflow to trigger if the above is opposite.

IF(
ISBLANK(
FILTER(
“Patient Information”,
([PatientID] = [_THISROW].[PatientID])
)
),
TRUE,
FALSE
)

THEY ARE BOTH TRIGGERING AND MESSING UP MY ACTIONS.

I have also tried the following which worked yesterday but is triggering both workflows today:

IN([_THISROW].[PatientID], Patient Information[PatientID])

and the opposite

NOT(IN([_THISROW].[PatientID], Patient Information[PatientID]))

Is there anything anyone can see that explains my problem? Should I be using different formulas in the “if this is true” of the workflows?

Thank you

APPARENTLY it was a bug, i deleted one of the workflows and added it back new, now it is working

1 Like

I’m glad you got it working!

I’d like to point something out that might make you expressions simpler…

This:

IF(
  ISBLANK(
    FILTER(
      “Patient Information”,
      ([PatientID] = [_THISROW].[PatientID])
    )
  ),
  FALSE,
  TRUE
)

is equivalent to:

ISNOTBLANK(
  FILTER(
    “Patient Information”,
    ([PatientID] = [_THISROW].[PatientID])
  )
)

Note the use of ISNOTBLANK().

And this:

IF(
  ISBLANK(
    FILTER(
      “Patient Information”,
      ([PatientID] = [_THISROW].[PatientID])
    )
  ),
  TRUE,
  FALSE
)

is equivalent to just:

ISBLANK(
  FILTER(
    “Patient Information”,
    ([PatientID] = [_THISROW].[PatientID])
  )
)

ISBLANK() and ISNOTBLANK() each produce Yes/No values (TRUE or FALSE): you don’t need to compare their results to TRUE or FALSE, nor use IF() to convert their result to TRUE or FALSE.

In this:

IN([_THISROW].[PatientID], Patient Information[PatientID])

[_THISROW]. is only (possibly) needed if this expression is used within a FILTER(), MAXROW(), MINROW(), or SELECT() expression, or in a slice row filter expression; otherwise, it’s entirely unneeded, and can actually cause problems.

See also:



2 Likes