Search



  

In this section, we illustrate how filters can be applied to a set of reference set members to restrict the matching values.

Overview

Member filters provide the ability to filter the rows of a reference set, based on the value of specific fields in the reference set. These filters are specified inside double curly braces, and begin with the letter "M".

Member Field Filters

To apply a member filter to one or more reference sets, the fields of those reference sets are matched against specified criteria. Only reference set members whose field values match the given criteria will be included in the results.

For example, the following expression constraint will match all referencedComponentIds (i.e. SNOMED CT concept id) from the active  447562003 | ICD-10 complex map reference set|  rows, which map to the ICD-10 code "J45.9" (as a word prefix). When applied to the July 2021 international edition, this will match 59 concepts, including  195967001 | Asthma| 707447008 | Exacerbation of severe persistent asthma (disorder)|  and  401193004 | Asthma confirmed (situation)| .

    ^  447562003 |ICD-10 complex map reference set|  {{ M mapTarget = "J45.9" }}
Please note that by default, a word-prefix-any-order match is performed. Therefore the following expression constraint will match on rows that have a mapTarget of "J45.0", "J45.1",..., "J45.8", "J45.9" etc.
    ^  447562003 |ICD-10 complex map reference set|  {{ M mapTarget = "J45" }}
Alternatively, a wildcard search can be performed, to achieve similar results. For example, the expression constraint below will match on rows that have a mapTarget starting with "J45" followed by zero or more other characters (e.g. "J45.0", "J45.1",...,"J45.8", "J45.9")
    ^  447562003 |ICD-10 complex map reference set|  {{ M mapTarget = wild:"J45*" }}
To achieve an exact string match, a wildcard search (without an '*') can be used. For example, the expression constraint below will match only rows that have a mapTarget of "J45.9".
    ^  447562003 |ICD-10 complex map reference set|  {{ M mapTarget = wild:"J45.9" }}
For more information on wildcard and word-prefix-any-order searching, please refer to 6.8 Description Filters.

Multiple field constraints can be applied within a reference set member filter. For example, the following expression constraint will return the referencedComponentId from the  447562003 | ICD-10 complex map reference set|  rows, which have a mapGroup of "2", a mapPriority of "1" and a mapTarget of "J45.9".

    ^  447562003 |ICD-10 complex map reference set|  {{ M mapGroup = #2, mapPriority = #1, mapTarget = "J45.9" }}
Other comparison operators may also be used, when defining field criteria. The available operators depend on the field's datatype, as shown in the table below.


Data type

Comparison Operators
Brief syntaxLong syntax
SCTID / Expression= , !== , != , NOT = , <>
Integer / Decimal= , != , <= , < , >= , >= , != , NOT = , <> , <= , < , >= , >
String= , !== , != , NOT = , <>
Boolean= , !== , != , NOT = , <>
Time= , != , <= , < , >= , >= , != , NOT = , <> , <= , < , >= , >

In addition, reference set fields of type 'string' may be filtered using the same word-prefix-any-order and wildcard techniques used by the description term filters. For example, the following expression constraint will match all referencedComponentId from the active  447562003 | ICD-10 complex map reference set|  rows that have a mapGroup not equal to 2, a mapPriority less than 2, and a mapTarget that starts with the letter "J".

    ^  447562003 |ICD-10 complex map reference set|  {{ M mapGroup != #2, mapPriority < #2, mapTarget = wild:"J*" }}
Member filters can also be used in combination with the memberOf function to support the selection of other fields of a reference set (see 6.1 Simple Expression Constraints). For example, the following expression constraint returns the active SNOMED CT concept that is considered to be the same as the inactive concept  67415000 | Hay asthma|
    ^ [targetComponentId]  900000000000527005 |SAME AS association reference set|  {{ M referencedComponentId =  67415000 |Hay asthma|  }}
For more information on the use of reference set field names in ECL, please refer to Appendix E - Reference Set Fields.

For additional ways of specifying queries over the historical association reference sets, please refer to 6.11 History Supplements.

Module Filter

Module filters enable an expression constraint to match on only those rows of a reference set that belong to a specified module. Module filters use the keyword "moduleId" with a concept reference that is 900000000000443000 |Module| .

For example, the expression constraint below matches all members of the 900000000000534007 | Module dependency reference set| that belong to an Australian maintained module.

Effective Time Filter

Effective time filters enable an expression constraint to match on only those rows of a reference set with an effectiveTime that matches the specified criteria.

For example, the following expression constraint matches all rows of the  816080008 | International Patient Summary| which have been updated since 31st July 2021 (inclusive). Note that the referencedComponentId is the only field returned.

816080008 |International Patient Summary|  {{ M effectiveTime >= "20210731" }}

Active Filter

Active filters enable an expression constraint to match on only those members of a reference set with a matching active status. Reference set rows are either active (i.e. active = 1 or active = "true") or inactive (i.e. active = 0 or active = "false"). By default, only active members of a reference set are included in the substrate. 

For example, the following expression constraints returns the inactive members of the 816080008 | International Patient Summary| .

816080008 |International Patient Summary|  {{ M active = 0 }}


Feedback
  • No labels