For each pattern attribute you can define one or more derived pattern attributes. Each derived pattern attribute refers to a list of keywords indicating a useful concept for your Knowledge Base. You can define more than one list of keywords for the same derived pattern attribute.

The example below shows a Pattern Attribute with two Derived Pattern Attributes, called FH_DB and DB. Note that the Derived Pattern Attribute DB has the same name as one of the Keywords. This is not a problem, in fact it is quite normal.

The Derived Pattern Attribute FH_DB represents the concept of ‘family history of diabetes’. There are two patterns of keywords that represent this concept, ‘FH DB’ (“family history … diabetes”) and ‘DB FH’ (“diabetes … family history”)

Each derived pattern attribute has three parts: a name, a formula, and a list of keywords. There are two derived pattern attributes in the example above.

  • The first column is the name of the attribute that will appear in each case, so that it is available to rules.
  • The second column is the formula which determines how the value of the attribute is calculated.
  • The third column is the pattern of keywords that this attribute is looking for.

Looking for patterns

If any of the patterns of keywords is found in a case, then the corresponding derived pattern attribute will have a value for that case.

In the example below, the derived pattern attribute ANAEMIA has value “true” for both episodes of the case, whereas DB AND FH_DB only have the value “true” for the previous episode.

Negating patterns

In the example above, the clinical note “fh diabetes, anaemia” gives ‘true’ values for the derived pattern FH_DB and also for the derived pattern DB. To deal with inconsistencies such as this, we use Negating Derived Attribute Patterns, or ‘Negations’ for short.

The evaluation of matches of Derived Attribute Patterns occurs in two steps. In the first, each Derived Pattern is matched, and those that match are recorded. In the second pass, each Derived Pattern found in the first pass is checked against its group of negations, and if any of these were found to be matches, the overall evaluation does not include the Derived Pattern.

For example, suppose that we add the Derived Pattern FH_DB to the list of negations for DB:

Then the final evaluation of the Pattern Attribute for the clinical note “fh diabetes, anaemia” has a match for FH_DB but not for DB:

Formulas

Derived pattern attributes are used to analyse many different kinds of text, from short clinical notes to long paragraphs found in legal documents. Sometimes, it is necessary to extract a numerical value or a date from a block of text. This is achieved with derived pattern formulas.

However, for most applications, the most commonly used formula is “?”, which tells RippleDown to put the value “true” for a derived pattern attribute when a pattern is found, as in the example above.