Chaining
Chained parameters allow filtering by the parameter of a resource linked via a reference.
Example:
Syntax
Forward chain element
An element of a forward chain is represented as
Any chain must finish with a terminal. A terminal is just a search parameter name.
Example:
Reverse chain element
An element of a reverse chain is represented as
Any chain must finish with a terminal. A terminal is just a search parameter name.
Example:
Chain
A chain is composed of an arbitrary number of chain elements and finished with a chain terminal.
There are some rules to join chain elements:
Forward chain elements are joined using the
.
symbol;Reverse chain elements are joined using the
:
symbol;Different types of chain elements are joined using the
.
symbol.
If the last chain element is a reverse element, then a terminal is joined using the :
symbol, otherwise the .
symbol.
Examples:
Semantics
You can interpret chain elements as a semijoin. The difference between forward and reverse chains is where a reference is located: in a forward chain, a reference is located on the left side of a semijoin, and in a reverse chain, a reference is located on the right side of a semijoin.
Example 1:
You can read it as (pseudocode)
Semantically, this means: find all organizations that have patients who have an observation with the given code.
Example 2:
You can read it as (pseudocode)
This means: find all observations that belong to some patient managed by some organization with the given name.
Example 3:
You can read it as (pseudocode):
This means "find all patients who visited the given practitioner".
See also:
Last updated
Was this helpful?