We do indeed have this in the Expression Language:
- attached predicate (null checking)
- defined predicate - check if tracked subject variable has any data from retrieval
(Still messing around with the syntax of these, but they are both in the meta-model).
For the syntax, I think it is better to be able to use ‘=’ to mean equality checking as in mathematics - this is more domain friendly. Programmer stuff like ‘==’ and ‘===’, ‘~=’ etc won’t make sense to domain experts. So writing a = b + c
is an assertion, so it really should be something like assert a = b + c
. To actually write the value b+c
into the field a
would require an assignment for which I used the common symbol :=
. Other symbols like <-
(F#, a few other languages) are nicer mathematically, but possibly too obscure for domain experts.
I have not looked at any FHIR profile rules - got a link to an example?