In this section, we illustrate how history supplements can be applied to an expression constraint to supplement the results with relevant inactive concepts. History supplements are specified inside double curly braces and begin with a plus sign (i.e. "+") followed by the word "HISTORY".


When capturing new clinical data in an electronic health record (EHR), it is good practice to only allow active SNOMED CT concept identifiers to be recorded. However, SNOMED CT is a dynamic and evolving terminology that must remain consistent with current clinical practice and our evolving understanding of disease processes and treatments. As a result, content may change, become outdated, or need remodelling. As SNOMED CT evolves, concepts that were previously recorded in the EHR may subsequently be inactivated. For legal reasons, it is important that the concepts used at the time the data was recorded should persist in the health records. For this reason, the number of inactive SNOMED CT identifiers in an EHR may increase over time.

As most ECL queries typically return only active SNOMED CT concept identifiers, it may not be possible to retrieve health records containing inactive identifiers using a standard expression constraint. One solution to this challenge, is to execute the expression constraint over an old SNOMED CT edition, in which all required concepts were active. However, given that the logical definitions in SNOMED CT typically improve over time, it is generally accepted that the best ECL results can be obtained using the most recent edition. Therefore, a query approach utilising the most recent edition of SNOMED CT is preferred in many cases.

When a SNOMED CT concept is inactivated, the author first allocates an appropriate reason for the inactivation, and then links the inactivated concept to one or more replacements using historical association reference sets. These historical associations provide a clear understanding of the level of semantic equivalence between the inactivated concept and its replacements where they exist. Vendors can use these historical associations to supplement the active concepts in their query results, with inactive concepts which are linked via appropriate historical associations to the active query results.

On this page, we describe how 'history supplements' can be added to an ECL query, to augment the query results with relevant inactive concepts, and how the resulting queries can be used to retrieve a more complete set of matching health records. 

History Supplements


The member filter syntax, described in 6.10 Member Filters, can be used to augment the results of an expression constraint with a set of inactive concepts that are related via an historical association reference set. For example, the following expression constraint can be used to find all the active descendants (and self) of the concept  195967001 | Asthma| , plus any inactive concept that is linked to an active descendant (or self) of  195967001 | Asthma|  via a historical | SAME AS association reference set| member.

The ECL history supplement syntax can be used to simplify queries with this structure. For example, the above query can be expressed in a a shorter form as:


The general template 1 for history supplements is shown below.

    [[+ecl @ecl_query]] {{ + HISTORY ( [[+ecl @history_refset_query]] ) }}
This general template for history supplements is equivalent to the expanded version shown below. Please note that the first and last slot in this template have the same name, which indicates that they must be populated with the same value (which in this case is the ECL query being performed).
[[+ecl @ecl_query]] OR 
^ [[+ecl @history_refset_query]] {{ M targetComponentId = [[+ecl @ecl_query]] }}
Please note that this history template does not support the  900000000000525002 | MOVED FROM association reference set| , as the referencedComponentId refers to the active concept, while the targetComponentId refers to the inactive concept (which is the opposite of typical historical associations). If supporting  | MOVED FROM|  historical associations, it is recommended that these be added to the  900000000000527005 | SAME AS association reference set| , to ensure that the template pattern above can be consistently applied.

Also note that the  900000000000524003 | MOVED TO association reference set|  can be ignored for the purposes of executing historical ECL queries.


To help implementers of clinical systems write suitable ECL queries that include an appropriate set of inactive concepts, three history supplement profiles are provided. These profiles are designed to support a range of use cases, depending on the level of precision and recall required for inactive content. The three history supplement profiles are described in the table below.

History ProfilePurposeHistorical Association Reference Sets

Minimum: To support use cases requiring a high level of precision, only historical associations that have a one-to-one equivalence with their replacement are used.

Example use case: Clinical decision support


Moderate: To support use cases that must balance precision with recall, only historical associations that

  • Have a one-to-one equivalence with their replacement
  • Have a one-to-many equivalence with their replacement,  or
  • Are replaced by a concept that represents the intended original meaning closely enough to be clinically useful

are used.

Example use cases: Clinical research, clinical audit



Maximum: To support use cases that require the highest level of recall, where precision is not as important, all possible historical associations are used.

Example use case: Identifying patients for manual review.

For example, if a high level of precision is required, then the HISTORY-MIN profile may be used. The expression constraint below matches descendants or self of  195967001 | Asthma| , plus any inactive concept that is associated with a descendant or self of  195967001 | Asthma|  in the  900000000000527005 | SAME AS association reference set|  or the  900000000000525002 | MOVED FROM association reference set|

    <<  195967001 |Asthma|  {{ + HISTORY-MIN }}
The above expression constraint is equivalent to the one below, with an expanded history supplement. Use cases that must balance the precision of associated inactive concepts with the level of recall, may use the HISTORY-MOD supplement. The following two expression constraint, which use the history supplement profile and the expanded history supplement respectively, are equivalent.
    <<  195967001 |Asthma|  {{ + HISTORY-MOD }}
And finally, use cases that require the highest level of recall, may use the HISTORY-MAX supplement profile. This profile uses all possible historical association reference sets to find any potentially relevant inactive concept. The following four expression constraints, which use (a) the history supplement profile, (b) the expanded history supplement, (c) the ANY wildcard symbol ('*'), and (d) the 'history' keyword on its own, are all equivalent. Please note that the  900000000000524003 | MOVED TO association reference set|  does not need to be included in the execution of this query, because the targetComponentId is assigned a namespace concept
    <<  195967001 |Asthma|  {{ + HISTORY-MAX }}
    <<  195967001 |Asthma|  {{ + HISTORY (*) }}
    <<  195967001 |Asthma|  {{ + HISTORY }}

Use Case Examples

Here are two use cases that illustrate how these history supplements may be used in practice:

Use Case 1

A clinical system is trying to count the number of patients who have had any type of referral to a service. The system attempts to use the following ECL query to find patient records with a matching procedure.

This query is successfully used to finds patient records containing active referral concepts, such as  308461008 | Referral to radiology service (procedure)|

However, it is discovered that there are 738,090 patient records coded with the inactive SNOMED CT concept  183598009 | Refer to Radiology department (procedure)| , which should also be included in the patient count. The clinical system, therefore, adjusts its expression constraint query as shown below, to add a history supplement that includes all inactive concepts with the same meaning as one of the active referral concepts.

    <<  306206005 |Referral to service (procedure)|  {{ + HISTORY-MIN }}
Because the expression constraint " <<  306206005 |Referral to service (procedure)| " matches the active concept  308461008 | Referral to radiology service (procedure)| , and a SAME AS association exists between the inactive concept  183598009 | Refer to Radiology department (procedure)|  and the active concept  308461008 | Referral to radiology service (procedure)| , the above expression constraint will include the inactive concept  183598009 | Refer to Radiology department (procedure)| , and therefore successfully find the additional 738,090 patient records in which this inactive referral procedure is recorded.

Use Case 2

A clinician is trying to find all patients with any type of breast pain. Knowing that she will be reviewing the patient records prior to acting upon the information, she decides to use a maximal approach to searching historical records. She therefore uses the following ECL query:

    <<  53430007 |Pain of breast (finding)|  {{ + HISTORY-MAX }}
She is delighted to see that patient records containing the inactive concept  315251009 | Unilateral mastalgia (situation)|  are retrieved, as these are indeed relevant to her query. Behind the scenes, the clinical system was able to identify that this inactive concept may be relevant, because it is linked to the active concepts  1010235008 | Pain of left breast| and  1010237000 | Pain of right breast| (which are both a type of  | Pain of breast| ) via the | POSSIBLY EQUIVALENT TO association reference set| .

Ref Notes
1 Note that this template uses the template syntax defined in the SNOMED CT Template Syntax specification, with the addition of an 'ECL' replacement type to indicate that the respective slot must be replaced by a valid ECL expression constraint. This extended template slot syntax is then used within an expression constraint to informally illustrate the pattern required when expanding a history supplement.

  • No labels