Overview
In this section, we discuss a range of topics that were considered in the design of the SNOMED CT MRCM, including:
- How the MRCM will be authored and quality checked;,
- How the MRCM will be used to support the use cases described in Chapter 2;. Use Cases,
- How the MRCM will be versioned when corrections or enhancements are made; , and
- How the MRCM can be extended and adapted for use with SNOMED CT extensions;
...
Authoring and Quality Checks
The MRCM has been designed to include minimal redundancy, to make the authoring and maintenance of these rules less error-prone. For example, by using separate reference sets to represent the attribute domains and ranges, each range does not need to be repeated for each of the attribute's domains.However, some controlled redundancy has been introduced to help support efficient implementation of the MRCM. The following attributes, in particular, include redundant information, and should be automatically populated rather than directly authored:
To support implementers who prefer to process string-based representations of the rules, three MRCM attributes have been provided that concatenate information from other fields (as per the table below). These attributes have been populated automatically to avoid inconsistencies between the structural and string-based representations of the rules. The MRCM attributes that may be generated from other attributes are:
Table width manager |
---|
|
MRCM Reference Set | Attribute |
|
...
...
Concept |
---|
ShowParts | term |
---|
t | 723589008|MRCM domain reference set |
---|
|
|
|
...
domainConstraint
| domainTemplateForPrecoordination | |
|
domainConstraint
...
|MRCM domain reference set| |
|
|
|
...
.domainConstraint, Concept |
---|
ShowParts | term |
---|
t | 723604009|MRCM attribute domain reference set| |
---|
|
|
|
...
WHERE D.referencedComponentId = AD.domainId
...
MRCM domain reference set
...
domainTemplateForPrecoordination
D.domainConstraint, AD.grouped, AD.attributeCardinality, AD.attributeInGroupCardinality, AR.rangeConstraint
.grouped, Concept |
---|
ShowParts | term |
---|
t | 723604009|MRCM attribute domain reference set| |
---|
| .attributeCardinality, Concept |
---|
ShowParts | term |
---|
t | 723604009|MRCM attribute domain reference set| |
---|
| .attributeInGroupCardinality, Concept |
---|
ShowParts | term |
---|
t | 723592007|MRCM attribute range reference set| |
---|
| .rangeConstraintWHERE |
|
...
|MRCM domain reference set| |
|
|
|
...
. referencedComponentId = Concept |
---|
ShowParts | term |
---|
t | 723604009|MRCM attribute domain reference set| |
---|
|
|
|
...
.domainIdAND Concept |
---|
ShowParts | term |
---|
t | 723604009|MRCM attribute |
---|
|
|
|
...
...
...
. referencedComponentId = |
|
...
Concept |
---|
ShowParts | term |
---|
t | 723592007|MRCM attribute range reference set| |
---|
| .referencedComponentId | Concept |
---|
ShowParts | term |
---|
t | 723589008|MRCM domain reference set| |
---|
|
| domainTemplateForPostcoordination | Concept |
---|
ShowParts | term |
---|
t | 723592007|MRCM attribute range reference set| |
---|
|
| attributeRule |
|
In addition, the quality of the international SNOMED CT MRCM is expected to be checked using the following mechanismsa range of mechanisms, including:
- Manual review, supported by the inclusion of human-readable terms for each concept identifier in the reference sets;
- Automated testing, including checks for the following:
- All MRCM reference sets conform to the associated Descriptor Template;,
- All concept identifiers refer to active concepts in the relevant SNOMED CT international edition;,
- All concept identifiers refer to concepts from a value set appropriate for that field;,
- All parsable strings (e.g. expression constraints) are syntactically valid (based on the associated ABNF syntax) and refer to concepts that are active in the relevant SNOMED CT international edition;,
- Feedback from direct use by IHTSDO SNOMED International staff in the SNOMED CT authoring tools;, and
- Feedback from the SNOMED CT member, vendor and user communities.
Supporting Use Cases
Another important consideration in the design of the MRCM is how it can best be used to support the range of anticipated use cases. In the following In this section, we describe the ways in which the MRCM design supports each of the use cases presented in Chapter 2. Use Cases.
Precoordinated Content Development
As described in Section 2. 2Use Cases, one of the key use cases for the SNOMED CT MRCM is to assist in with the consistent authoring and validation of SNOMED CT concepts. With this in mind
To support the authoring and validation of SNOMED CT precoordinated content, the following features were included to optimize the MRCM for use in precoordinated content development:
...
MRCM process can be used:
- Identify the parents of the concept being authored;
- Please note - Either proximal primitive parents or proximal parents may be selected, depending on the authoring approach used;
- Determine which domains the parent concepts belong to using the
Concept |
---|
ShowParts | term |
---|
t | 723589008 |MRCM domain reference set| |
---|
|
. - If the proximal parent modelling approach is used, the stated parents should be tested for membership in each domain using the domainConstraint;
- If the proximal primitive parent modelling approach is used, the stated parents should be tested for membership in each domain using the proximalPrimitiveConstraint and
...
- all required refinements in the proximalPrimitiveRefinement should match at least one defining relationship stated on the concept being authored;
- Please note - If any of the proximal parents belong to a given domain, then the authored concept belongs to that domain.
- Please note - Irrespective of the modelling approach used, the concept being authored can be tested for membership in a domain by checking if its inferred parents (i.e. after classification) are valid against the associated domainConstraint.
- Determine the set of valid attributes for the
...
- given domains using the
Concept |
---|
ShowParts | term |
---|
t | 723604009 |MRCM attribute |
---|
|
...
...
- and allow defining relationships to be added from this set;
- For each attribute used to define the concept, ensure that the grouping and cardinality are valid according to the rules specified in
Concept |
---|
ShowParts | term |
---|
t | 723604009 |MRCM attribute domain reference set| |
---|
|
for the given attribute and parent domain; - Determine the valid range for each defining attribute using the rangeConstraint in
Concept |
---|
ShowParts | term |
---|
t | 723592007 |MRCM attribute range reference set| |
---|
|
.
Please note that when the above process is being applied to the authoring of new precoordinated content, then only rules with a contentType
Concept |
---|
t | = << 723593002 |All new precoordinated SNOMED CT content| |
---|
ShowFormat | inline |
---|
|
may be used. However, when the process is applied to the validation of (both new and existing) precoordinated content, only rules with a contentType Concept |
---|
t | = << 723594008 |All precoordinated SNOMED CT content| |
---|
ShowFormat | inline |
---|
|
may be used. Rules with a ruleStrength of Concept |
---|
ShowParts | term |
---|
t | 723597001 |Mandatory concept model rule| |
---|
|
should be enforced when authoring and cause an error during validation, while rules with a ruleStrength of Concept |
---|
ShowParts | term |
---|
t | 723598006 |Optional concept model rule| |
---|
|
should be used as a recommendation for authoring and result in a warning during validation.An alternative approach to authoring and validating precoordinated concepts is to use the domainTemplateForPrecoordination from the
Concept |
---|
ShowParts | term |
---|
t | 723589008 |MRCM domain reference set| |
---|
|
to ensure compliance with the full set of attribute rules. The domainTemplateForPrecoordination can also be specialized into a concept authoring template that meets the needs of a subclass of concepts, while still conforming to the overall rules of the domain.Other features provided by the MRCM that are helpful for precoordinated content development include:
The
Concept |
---|
ShowParts | term |
---|
t | 723589008 |MRCM domain reference set| |
---|
|
and the required to support proximal primitive modelling in each domain (in the stated view);- The |MRCM domain reference set| includes a general domain template, which can be used for authoring any content in the given domain using either proximal primitive modelling or proximal parent modelling authoring methods. Please note that this general domain template may be further constrained to support the specialized modelling requirements of specific subhierarchies in the given domain.
- The |MRCM domain reference set| and the
|MRCM attribute domain reference set| |
|
use use domains defined in terms of a single top-level hierarchy. This enables concepts being authored to be tested for subsumption with each domain concept, using techniques that are relatively simple to implement (e.g. using a transitive closure table). The
The |MRCM attribute range reference set| |
|
specifies the valid set of values (rangeConstraint) for each attribute used in the authoring of precoordinated content. includes The |MRCM attribute range reference set| also includes a set of attribute rules that
incorporate combine the domain, grouping, cardinality and range constraints
together into
an a single expression constraint,
to support which can facilitate the efficient implementation of content validation.
The ruleStrengthId attribute in
the the
Concept |
---|
ShowParts | term |
---|
t | 723604009 |MRCM attribute domain reference set| |
---|
|
and the and the Concept |
---|
ShowParts | term |
---|
t | 723592007 |MRCM attribute range reference set| |
---|
|
allows allows both mandatory rules (resulting in errors) and optional rules (resulting in warnings) to be specified.The contentTypeId attribute in
the the
Concept |
---|
ShowParts | term |
---|
t | 723604009 |MRCM attribute domain reference set| |
---|
|
and the and the Concept |
---|
ShowParts | term |
---|
t | 723592007 |MRCM attribute range reference set| |
---|
|
allows allows the scope of each rule to be restricted to a particular type of SNOMED CT content, including:
Expressions, Constraints and Queries
Section 2. 3 Use Cases describes using the SNOMED CT MRCM to assist the authoring and validation of SNOMED CT postcoordinated expressions, SNOMED CT expression constraints, and SNOMED CT queries. These languages allow one or more focus concepts to be defined, which when tested against a domain in the MRCM enables possible attribute refinements, cardinalities and valid ranges to be found.
The optimizations described in section 6.3.1 for use in SNOMED CT concept authoring, can also make To support the authoring and validation of SNOMED CT expressions, expression constraints and queries more efficient. In addition to these general authoring features, the postcoordinated expressions the following MRCM process can be used:
- Determine which domains the expression belongs to using the
Concept |
---|
ShowParts | term |
---|
t | 723589008 |MRCM domain reference set| |
---|
|
...
- An expression belongs to a given domain if any focus concept is either:
- Valid when tested against the associated domainConstraint; or
- Valid when tested against the associated proximalPrimitiveConstraint and all required refinements in the proximalPrimitiveRefinement either match a defining relationship on the given focus concept, or match a refinement condition added to the expression being authored;
- Determine the set of valid attributes for the given domains using the
Concept |
---|
ShowParts | term |
---|
t | 723604009 |MRCM attribute domain reference set| |
---|
|
and allow refinements to be added using attribute concepts from this set; - For each attribute used to define the concept, ensure that the grouping and cardinality are valid according to the rules specified in
Concept |
---|
ShowParts | term |
---|
t | 723604009 |MRCM attribute domain reference set| |
---|
|
for the given attribute and parent domain; - Determine the valid range for each attribute using the rangeConstraint in
Concept |
---|
ShowParts | term |
---|
t | 723592007 |MRCM attribute range reference set| |
---|
|
.
Please note that in the above process only rules with a contentType
Concept |
---|
t | = << 723595009 |All postcoordinated SNOMED CT content| |
---|
|
should be used. Rules with a ruleStrength of Concept |
---|
ShowParts | term |
---|
t | 723597001 |Mandatory concept model rule| |
---|
|
should be enforced when authoring and cause an error during validation, while rules with a ruleStrength of Concept |
---|
ShowParts | term |
---|
t | 723598006 |Optional concept model rule| |
---|
|
should be used as a recommendation for authoring and result in a warning during validation.An alternative approach to authoring and validating postcoordinated expressions is to use the domainTemplateForPostcoordination from the
Concept |
---|
ShowParts | term |
---|
t | 723589008 |MRCM domain reference set| |
---|
|
to ensure compliance with the full set of attribute rules. The domainTemplateForPostcoordination can also be specialized into an expression authoring template that meets the needs of a particular use case, while still conforming to the overall rules of the domain.To support the authoring and validation of SNOMED CT expression constraints and queries the following MRCM process can be used:
- Determine which domains the constraint or query belongs to using the
Concept |
---|
ShowParts | term |
---|
t | 723589008 |MRCM domain reference set| |
---|
|
- An expression constraint or query belongs to a given domain if either:
- Any focus concept is valid when tested against the associated proximalPrimitiveConstraint; or
- The constraint or query belongs to a parent domain of the given domain.
- Please note: The concept model requirements for constraints and queries are more relaxed than those for postcoordinated expressions, because their role is to define the membership of a set of concepts or expressions, rather than restrict the manner in which a single concept or expression may be defined.
- Determine the set of valid attributes for the given domains using the
Concept |
---|
ShowParts | term |
---|
t | 723604009 |MRCM attribute domain reference set| |
---|
|
and allow refinements to be added using attribute concepts from this set; - For each attribute used to define the concept, ensure that the grouping and cardinality are consistent with the rules specified in
Concept |
---|
ShowParts | term |
---|
t | 723604009 |MRCM attribute domain reference set| |
---|
|
for the given attribute and parent domain. In particular:- An attribute should only be grouped in an expression constraint or query if it specified as grouped = 1 for that domain in
Concept |
---|
ShowParts | term |
---|
t | 723604009 |MRCM attribute domain reference set| |
---|
|
. Any attribute can appear as ungrouped in an expression constraints. - A cardinality constraint used in an expression constraint or query should be the same, or stricter than the cardinality specified for the
...
- given attribute and domain in
Concept |
---|
ShowParts | term |
---|
t | 723604009 |MRCM attribute domain reference set| |
---|
|
.
- Determine the
...
- valid range for each attribute using the rangeConstraint in
Concept |
---|
ShowParts | term |
---|
t | 723592007 |MRCM attribute range reference set| |
---|
|
.
Please note that if the expression constraint or query is being applied to a substrate that includes only precoordinated content, then only the MRCM rules with a contentType
Concept |
---|
t | = << 723594008 |All precoordinated SNOMED CT content| |
---|
ShowFormat | inline |
---|
|
should be used. However, if the expression constraint or query is being applied to a substrate that may include both precoordinated and postcoordinated content, then the less restrictive rules (e.g. with broader ranges) that apply where contentType Concept |
---|
t | = << 723595009 |All postcoordinated SNOMED CT content| |
---|
|
may be used. Rules with a ruleStrength of Concept |
---|
ShowParts | term |
---|
t | 723597001 |Mandatory concept model rule| |
---|
|
should be enforced when authoring and cause an error during validation, while rules with a ruleStrength of Concept |
---|
ShowParts | term |
---|
t | 723598006 |Optional concept model rule| |
---|
|
should be used as a recommendation for authoring and result in a warning during validation.Natural Language Processing
The
Natural Language Processing
In a similar way to how the MRCM can be used for postcoordinated expression authoring, the MRCM can also be used to support Natural Language Processing (NLP), as described in section 2. 4Use Cases. When terms used in the free text are associated with a particular SNOMED CT concept, this concept can be tested for subsumption against the domains in the |MRCM domain reference set|. If membership in specific MRCM domains using the process above for authoring postcoordinated expressions. As per this process, if the concept is found to belong to one of the domains, then the the
Concept |
---|
ShowParts | term |
---|
t | 723604009 |MRCM attribute domain reference set| |
---|
|
can can be used to determine its possible attributes, and
the the Concept |
---|
ShowParts | term |
---|
t | 723592007 |MRCM attribute range reference set| |
---|
|
used used to determine
these attribute's possible values. These rules can the valid values of these attributes. This process can thus be used to indicate possible ways in which
this the discovered concept may be linked (via suitable SNOMED CT attributes) to concepts found in the surrounding text.
Optimizations to the MRCM rules may also be adopted by NLP implementations to simplify the testing of membership in a potential range. For example, each range constraint could be split into its separate subhierarchies to allow simple techniques, such as a transitive closure table, to be used.
For more information on using SNOMED CT in Natural Language Processing, please refer to Data Analytics with SNOMED CT.
Terminology Binding to Information Models
Section 2. 5 describes Use Cases describes using the MRCM to suggest possible SNOMED CT terminology bindings for an information model, to ensure that the bindings are consistent (at least at a high level) with the SNOMED CT concept model, and to support the design of expression templates.
The features designed to support SNOMED CT content authoring processes above for authoring SNOMED CT postcoordinated expressions, expression constraints and queries can similarly be used applied to support these terminology binding purposes. For example, the domainTemplateForPostcoordination could be adopted and specialized to support the terminology binding requirements of a specific information model. Similarly. Alternatively, new use - case specific MRCM reference sets could be developed, which restrict the available attributes and ranges that may be used in a specific implementation scenario.
Versioning
As mentioned in Requirement 3. Requirements (D.5), the concept model must be able to be changed between releases to fix identified issues and enhance future releases.
...
When a new or updated rule is introduced to the MRCM, it may take a period of time before all existing content conforms to the new rule. In these situations, a content type of |New
Concept |
---|
t | 723593002|All new precoordinated SNOMED CT content |
---|
|
only can can be used, to ensure that all new content obeys the rule. Over time, as the old content is updated to reflect the new rule, the content type may be changed to either
Concept |
---|
t | 723594008|All precoordinated SNOMED CT content| |
---|
|
or or Concept |
---|
t | 723596005|All SNOMED CT content| |
---|
|
. This approach can be used to ensure that all new content added to SNOMED CT conforms to high quality concept model rules, even though reviewing and correcting existing content may take additional time.
Extension
As described in Requirement 3. Requirements (D.6), the international MRCM rules defined by the IHTSDO SNOMED International must be able to be extended and adapted by organizations developing SNOMED CT extensions, to support the concept model requirements of their extension content.
To support this requirement, SNOMED CT extension developers will be able to copy the international MRCM rules defined by the IHTSDO SNOMED International into one or more extension MRCM reference sets and edit these reference sets to add new rules and restrict or extend the existing rules as required. New MRCM reference sets created for a SNOMED CT extension must be designed to ensure consistency and data integrity between editions. Please note that if no changes to the SNOMED CT concept model are required to support an extension, no additional MRCM reference sets need to be created, as the international MRCM can be reused by the extension.
The
Concept |
---|
t | 723563008|MRCM Module Scope Reference Set| |
---|
|
is is designed to allow extension developers to specify which MRCM reference sets should be applied to the content in each module. The
Concept |
---|
t | 723563008|MRCM Module Scope Reference Set| |
---|
|
should should therefore be referred to, to determine whether an extension is reusing the international MRCM, or using a customized extension MRCM to support its content.