You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The server currently inadvertently supports non-FHIR-standard use of the :contains search modifier with token search parameters (i.e. those used for coded values), allowing users to search on just part of the code. However, this query is very expensive: it generally causes a full table scan and performs wildcard matching on each row (i.e. value LIKE 'code%'). On large lookup tables, especially those for common resource types like Observation_Token, this query is prohibitively slow.
Since :contains is not specified to work with token search parameters, which by nature should generally be matched exactly, I believe that this code path should be removed.
As part of this work, we should also verify that the lookup table is handling all four cases of the token syntax correctly:
[parameter]=[code]: the value of [code] matches a Coding.code or Identifier.value irrespective of the value of the system property
[parameter]=[system]|[code]: the value of [code] matches a Coding.code or Identifier.value, and the value of [system] matches the system property of the Identifier or Coding
[parameter]=|[code]: the value of [code] matches a Coding.code or Identifier.value, and the Coding/Identifier has no system property
[parameter]=[system]|: any element where the value of [system] matches the system property of the Identifier or Coding
The text was updated successfully, but these errors were encountered:
The server currently inadvertently supports non-FHIR-standard use of the
:contains
search modifier withtoken
search parameters (i.e. those used for coded values), allowing users to search on just part of the code. However, this query is very expensive: it generally causes a full table scan and performs wildcard matching on each row (i.e.value LIKE 'code%'
). On large lookup tables, especially those for common resource types likeObservation_Token
, this query is prohibitively slow.Since
:contains
is not specified to work withtoken
search parameters, which by nature should generally be matched exactly, I believe that this code path should be removed.As part of this work, we should also verify that the lookup table is handling all four cases of the token syntax correctly:
The text was updated successfully, but these errors were encountered: