Only this pageAll pages
Powered by GitBook
1 of 12

SNOMED CT Machine Readable Concept Model

Loading...

Loading...

Loading...

Loading...

Loading...

Distribution Format

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Logical Design

Overview

In this chapter, we describe the logical design of the SNOMED CT MRCM.

Each SNOMED CT Module may have a concept model that is captured using a MRCM. A MRCM contains a set of domains and a set of attributes, which may be applied to one or more domains. The MRCM specifies the cardinality and valid range of each attribute, and indicates whether or not the attribute should be grouped. The domain, range, cardinality and grouped indicator for each attribute is also combined into a single 'attribute rule', which is represented using a SNOMED CT Expression Constraint. For each domain, the set of valid attributes and their associated rules are compiled into two SNOMED CT 'domain templates' – for precoordinated concept authoring and postcoordinated expression authoring respectively. These domain templates may be further specialized to support customized authoring of specific subdomains.

The figure below illustrates the major components of the MRCM described above.

Abstract Model of the SNOMED CT MRCM

Details

The figure below illustrates the logical design of the SNOMED CT MRCM using a UML class diagram.

Logical Model of the SNOMED CT MRCM

This UML class diagram illustrates that a SNOMED CT Edition contains a set of modules, which may each be associated with a set of MRCM domains and attribute rules.

Each domain has exactly one domainConstraint represented using a SNOMED CT Expression Constraint (which specifies the valid concepts in the domain). A domain also has a proximalPrimitiveConstraint (which specifies the domain constraint used for proximal primitive modelling in this domain), a proximalPrimitiveRefinement (which specifies any mandatory refinements that must be applied when proximal primitive modelling in this domain) , a precoordinatedDomainTemplate (which provides a general template of all possible attributes that may be applied to this domain when defining a precoordinated concept), and a postcoordinatedDomainTemplate (which provides a general template of all possible attributes that may be applied to this domain when defining a postcoordinated expression). A domain also includes a reference to where further human-readable information about the domain is captured within the Editorial Guide.

Each attribute rule is associated with a specific rule strength (e.g. ) and content type (e.g. ). An Attribute Rule may either associate an attribute with the domains to which it may be applied (i.e. an Attribute Domain Rule), or it may associate an attribute with the range of valid concepts that may be used as its value (i.e. an Attribute Range Rule). Attribute Domain Rules also define whether or not each attribute is considered to be grouped (by a Description Logic reasoner) for the given domain, and the attribute cardinalities for that domain.

723597001 | Mandatory concept model rule|
723596005 | All SNOMED CT content|
Provide Feedback

Distribution Format Overview

Overview

The MRCM distribution format (as illustrated below) includes the following reference set types:

  • MRCM Domain Reference Set

  • MRCM Attribute Domain Reference Set

  • MRCM Attribute Range Reference Set

  • MRCM Module Scope Reference Set

In this section, we will define and describe these reference set types. Further design considerations, such as versioning and localization, will be discussed in .

Requirements

In this section, we present the key requirements of the SNOMED CT MRCM. These requirements are grouped into 'constraint requirements' and 'design requirements'.

The constraint requirements for the SNOMED CT MRCM include:

The MRCM must be able to specify the set of concepts to which a given attribute may be applied.

The MRCM must be able to specify the set of concepts which may be used as the value for a given attribute.

The MRCM must be able to specify the minimum and maximum number of times that a given attribute may appear in a concept definition. Additionally, it must be able to specify the minimum and maximum number of times that a given attribute may appear in each relationship group in a concept definition.

The MRCM must be able to specify whether an attribute may or may not belong to a relationship group.

Considerations
Provide Feedback
Overview of the MRCM distribution format
The MRCM should indicate the strength with which each rule should be applied – for example, whether a rule is mandatory (resulting in an error), or optional (resulting in a warning).

There should be a clear specification of which concept model rules apply to a given SNOMED CT module.

The design requirements for the SNOMED CT MRCM include:

In order to facilitate easy adoption, the MRCM must represent the concept model rules in a form that is machine computable.

The MRCM must be computationally transformable into a representation that is human readable, to support human review, validation, education and understanding of the rules. Additional text explaining the rules should be able to be added to further aid its understanding.

The MRCM must provide an unambiguous representation of the SNOMED CT concept model rules.

The MRCM must be useful in supporting the use cases described in Chapter 2, including the authoring and validation of SNOMED CT concepts, expressions, constraints and queries, natural language processing (NLP) and terminology binding.

The SNOMED CT concept model rules must be able to be changed between releases to fix identified issues and enhance future releases (in conjunction with clear editorial guidelines). As such, the MRCM must be versioned to retain a history of changes, and to enable the concept model to evolve gracefully over time.

The international MRCM rules defined by the IHTSDO must be able to be extended and adapted by organizations developing SNOMED CT extensions, to support the concept model requirements of their extension content. This may include the addition of new attributes, the addition of new rules, and the customization of existing rules. Principles need to be defined as to how MRCM rules may be extended and adapted, to ensure consistency and data integrity between SNOMED CT editions.

The design of the MRCM should be consistent with existing SNOMED CT formats and languages, including the SNOMED CT Release Format 2 (RF2) and the SNOMED CT Expression Constraint Language. The goals of appropriate use of existing formats and languages include:

  • Leverage the work that has already been performed to support common requirements, such as versioning and intensional constraint definition,

  • Make it easier for the SNOMED CT community to understand the design and correctly interpret the meaning of the MRCM rules,

  • Facilitate the easier adoption of the MRCM rules by existing SNOMED CT implementers, and

  • Allow common terminology services to be reused to support the implementation of the MRCM.

Provide Feedback

Overview

Constraint Requirements

Requirement C.1 : Attribute domains

Requirement C.2 : Attribute ranges

Requirement C.3 : Attribute cardinality

Requirement C.4 : Grouping

Requirement C.5 : Rule strength

Requirement C.6 : Rule scope

Design Requirements

Requirement D.1 : Machine Computable

Requirement D.2 : Human readable

Requirement D.3 : Unambiguous

Requirement D.4 : Support specified use cases

Requirement D.5 : Version history

Requirement D.6: Extensible

Requirement D.7 : Consistency with existing SNOMED CT formats and languages

Introduction

Background

SNOMED CT is a clinical terminology with a comprehensive scope covering a wide range of clinical specialties and requirements. The SNOMED CT Concept Model is a set of rules that govern the ways in which SNOMED CT concepts are permitted to be modelled using relationships to other concepts. These rules are critical to the consistent modelling of SNOMED CT content, which in turn determines the extent to which reproducible logical inferences can be drawn. These logical inferences are the foundation for effective use of SNOMED CT for retrieval and reuse of clinical information.

The Machine Readable Concept Model (MRCM) represents rules in the SNOMED CT concept model in a form that can be read by a computer and applied to test that concept definitions and expressions comply with the rules. The MRCM may be used for a variety of purposes, including the authoring and validation of SNOMED CT concepts, expressions, expression constraints and queries, Natural Language Processing and terminology binding to support semantic interoperability.

History

In 2007, IHTSDO approved a project to develop a prototype MRCM for SNOMED CT. In 2009, a MRCM draft release 0.1 was published containing 234 constraints, including domain, range and cardinality constraints. This draft MRCM was released in two formats - an XML representation, and a set of MS-Access 2007 database files. It also came with a prototype MRCM browser and editor written in MS-Access.

Since then, two important developments have occurred. Firstly, in 2012 a new standard distribution format for SNOMED CT (Release Format 2) began to be used. Release Format 2 (RF2) included a few key enhancements, including more robust and consistent version representation, an extensibility mechanism called 'reference sets', and a new hierarchy to represent metadata about the structure of SNOMED CT. Secondly, in 2015, the first official version of the Expression Constraint Language was published, replacing earlier informal constraint representations. These two developments have provided the opportunity for the SNOMED CT MRCM to be developed in a more standardized, consistent and version controlled way than was previously possible.

In January 2017, the beta release of the international SNOMED CT MRCM was published, and a period of community evaluation followed.

The first production version of the international SNOMED CT MRCM will be released as part of the July release (20170731) of the SNOMED CT international edition.

The purpose of this document is to define and describe the structural design of the SNOMED CT MRCM, and to discuss the background and considerations that were taken into account during its design.

This document presents the specification of the SNOMED CT MRCM, including the reference sets and attributes used to represent and distribute the international SNOMED CT MRCM. It also documents the background, use cases, requirements and design considerations, including versioning and extensibility of the MRCM.

While the document refers to the RF2 format and the Expression Constraint Language, the specification of these standards are out of scope. Additionally, this document does not go into details about how to implement the MRCM within a terminology authoring or Electronic Health Record environment.

The scope of the MRCM includes rules that define the domain, range, cardinality and groupability of each attribute in the SNOMED CT concept model. Other related information, such as property chains (including attribute transitivity), expression templates for authoring, and description templates are not within the scope of the MRCM.

The target audiences of this document include:

  • SNOMED National Release Centers;

  • SNOMED CT terminology developers, including content authors, concept model designers, map developers, subset and constraint developers and release process managers;

  • SNOMED CT implementation designers and developers, including designers and developers of EHR systems, terminology services, decision support systems, retrieval and analysis systems, and healthcare information standards.

This document presents the design of the SNOMED CT MRCM. Chapter 2 begins by describing the use cases in which it is anticipated that the SNOMED CT MRCM may be used. Chapter 3 then describes the requirements used to guide the MRCM design. The logical design of the MRCM is then described in Chapter 4, followed by the design of the reference sets used to distribute the MRCM rules in Chapter 5. Chapter 6 then discusses a range of topics that were considered in the design of the MRCM.

The following table contains the definition of terms used within this document. Please refer to the for additional definitions.

Term
Definition

A structured combination of one or more concept identifiers used to express a clinical idea.

A computable rule that can be used to define a bounded set of clinical meanings.

A representation of the rules that comprise the SNOMED CT Concept Model in a form that can be processed by computer software and applied to validate content.

A representation of a clinical meaning using a combination of two or more concept identifiers.

A representation of a clinical meaning using a single concept identifier.

The set of concepts that are allowed as the value of an attribute.

A SNOMED CT file structure consisting of a set of references to SNOMED CT components.

The SNOMED CT content over which an expression constraint is evaluated or a query is executed.

The set of rules that govern the way in which SNOMED CT expressions are represented as a plain text string.

A set of rules that determines the permitted sets of relationships between particular types of concepts.

The set of concepts which may be refined using a given attribute.

Purpose

Scope

Audience

Document Overview

Glossary

SNOMED Glossary
Provide Feedback

Use Cases

Overview

The SNOMED CT Concept Model is a set of rules that govern the ways in which SNOMED CT concepts are permitted to be modelled. The Machine Readable Concept Model (MRCM) represents these concept model rules in a machine readable form. The SNOMED CT MRCM may be useful in a number of use cases, including:

  • Development of precoordinated terminology content;

  • Authoring and validation of SNOMED CT expressions, constraints and queries;

  • Natural Language Processing;

  • Terminology binding to information models, for purposes such as data capture and semantic interoperability.

In the following subsections, we describe each of these key use cases.

One of the key uses of the SNOMED CT MRCM is to assist in the consistent development of precoordinated terminology content. This includes terminology content authoring, validation and testing. The authoring and validation of SNOMED CT content may be performed in the SNOMED CT International Edition or in a SNOMED CT Edition that incorporates one or more National or Local extensions. In the case of the International Edition, the SNOMED CT International concept model will be used. Other SNOMED CT Editions may be authored and validated using either the international concept model or an alternative concept model that has been customized to meet specific national or local requirements, while ensuring consistency and data integrity between editions is maintained.

When precoordinated SNOMED CT concepts are authored, the MRCM can be used to suggest the possible attributes that may be used to define a concept, based on the hierarchy or subhierarchy it belongs to. The MRCM can also assist in limiting the number of times each attribute can be used in a concept definition, and restricting the possible value of these attributes to the valid range.

An example scenario, in which the MRCM is being used during concept authoring, is:

  1. Author creates a concept, with fully specified name and synonyms;

  2. Author assigns one or more supertypes for the concept;

  3. The MRCM is used to determine the domains to which a concept belongs, based on its supertypes;

In addition to its use during concept authoring, the MRCM can also assist in the validation of concept definitions, by enabling the testing of defining relationships against the rules in the concept model. The MRCM can also enable significant optimizations for batch terminology content validation, by minimizing the repetition of processing through the appropriate selection of relationships to be tested.

In a similar way, the MRCM can be used to enable effective testing of proposed changes to the Concept Model.

In a similar way, the SNOMED CT MRCM can be used to assist the authoring and validation of SNOMED CT postcoordinated expressions, SNOMED CT expression constraints, or SNOMED CT queries.

When authoring expressions, constraints or queries, the MRCM can be used to suggest possible attributes that may be applied to the selected focus concepts. Similarly to the authoring of precoordinated content, the MRCM can also restrict the possible value of each attribute refinement to the valid range.

The use of MRCM cardinality constraints differs between expressions, expression constraints and queries. When authoring postcoordinated expressions, an attribute cardinality constraint may be used to limit the number of times each attribute can be used in each concept definition. When authoring expression constraints and queries, however, the MRCM cardinality constraints serves to influence the cardinality constraints that are appropriate to apply to specific attribute refinements.

The SNOMED CT MRCM can also be used to validate expressions, expression constraints and queries to confirm that they conform to the expected concept model rules. In the case of close-to-user expressions, these rules may be less strict to support additional flexibility of expression (including allowing 'laterality' to be applied to a clinical finding that is defined using a lateralizable finding site).

As with precoordinated content, the authoring and validation of SNOMED CT expressions, expression constraints and queries can be performed using the international MRCM rules, or using the rules from a localized MRCM.

Natural Language Processing (NLP) enables a computer program to analyze and extract meaning from human language. When processing clinical free text using a NLP tool, SNOMED CT's concepts, relationships and descriptions can be used to extract the clinical meaning that has been captured.

The SNOMED CT concept model can also be used to identify potential connections between words and possible postcoordination opportunities. For example, if a term such as 'open fracture' (which is found to be a ) occurs in close proximity to the term 'femur' (which is found to be an ), then this may indicate that there is a 'finding site' relationship between the concepts. By capturing the concept model rules in a machine-processable way, the SNOMED CT MRCM can be used to assist a range of NLP-supported tasks, including:

  • Encoding clinical free text using SNOMED CT expressions;

  • Indexing and retrieving large repositories of clinical healthcare information and knowledge;

  • Searching;

For more information on using SNOMED CT in Natural Language Processing, please refer to .

When binding SNOMED CT to information models, it is important to ensure that the bindings are consistent (at least at a high level) with the SNOMED CT concept model. Terminology binding using the MRCM may be used to support a range of purposes, from data capture on the user interface through to data integration and semantic interoperability.

There are two main types of terminology binding:

  • Value set bindings, which record the set of possible values that can be used to populate a coded data element or attribute;

  • Model meaning bindings, which define the meaning of an information model artifact using terminology.

Value set bindings that correspond to a particular concept model attribute (e.g. ) can be designed to be consistent with the appropriate attribute range (e.g. < ) defined in the MRCM. Similarly, the MRCM can be used to suggest possible model meaning bindings for an information model, to suggest new data elements that could be added (at either design time or runtime) to represent relevant attribute refinements, and to test existing model meaning bindings for consistency with the concept model.

Expression templates (designed with the support of the MRCM) can also be used to define a canonical representation of meaning for an information model, where this meaning may be recorded either using a single precoordinated concept, or using multiple data elements. This can provide a useful mechanism to support consistent querying of data that has been integrated from multiple sources, and to support semantic interoperability in general.

The MRCM is used to determine the appropriate attributes, ranges and cardinality for the given domain;
  • The author is allowed to assign an appropriate number of values to each of the attributes, from the relevant range, subject to the associated cardinality constraints.

  • Analyzing clinical phrases entered into a health record to suggest potential postcoordinated expressions that may match the intended clinical meaning;
  • Analyzing search terms to determine the strength of the semantic relationship to matching records or documents.

  • Precoordinated Terminology Development

    Overview

    Authoring

    Validation and Testing

    Expressions, Constraints and Queries

    Natural Language Processing

    Terminology Binding to Information Models

    404684003 | Clinical finding|
    91723000 | Anatomical structure|
    Data Analytics with SNOMED CT
    272741003 | Laterality|
    182353008 | Side|
    Provide Feedback

    MRCM Module Scope Reference Set

    Purpose

    An 723563008 | MRCM module scope reference set| specifies the set of MRCM reference sets that should be applied to the content in each module. Within a SNOMED CT Edition, the MRCM rules applied to the included modules must be consistent, to ensure data integrity within an edition is maintained.

    Data Structure

    An 723563008 | MRCM module scope reference set| is structured as shown in the following table.

    Note to table:

    The column entitled PK indicates if the attribute is part of the primary key of this table.

    Field
    Data type
    Purpose
    Mutable
    PK*

    The following metadata hierarchy supports this reference set:

    The table below shows the reference set descriptor for the pattern.

    refsetId
    referencedComponentId
    attributeDescription
    attributeType
    attributeOrder

    The table below shows some example rows from the .

    refsetId
    referencedComponentId
    mrcmRuleRefsetId

    723563008 | MRCM module scope reference set|

  • 900000000000457003 | Reference set attribute|

    • 723577006 | MRCM rule reference set|

  • 1

    id

    UUID

    A 128 bit unsigned Integer, uniquely identifying this reference set member.

    Different versions of a reference set member share the same id but have different effectiveTime. This allows a reference set member to be modified or made inactive (i.e. removed from the active set) at a specified time.

    NO

    YES (Full /Snapshot)

    effectiveTime

    Time

    The inclusive date or time at which this version of the identified reference set member became the current version.

    Note: In distribution files the effectiveTime should follow the short ISO date format (YYYYMMDD) and should not include the hours, minutes, seconds or timezone indicator.

    The current version of this reference set member at time T is the version with the most recent effectiveTime prior to or equal to time T .

    YES

    YES (Full)

    Optional (Snapshot)

    active

    Boolean

    The state of the identified reference set member as at the specified effectiveTime .

    If active = 1 (true) the reference set member is part of the current version of the set, if active = 0 (false) the reference set member is not part of the current version of the set.

    YES

    NO

    moduleId

    SCTID

    Identifies the SNOMED CT module that contains this reference set member as at the specified effectiveTime .

    The value must be a subtype of 900000000000443000 | Module (core metadata concept)| within the metadata hierarchy.

    YES

    NO

    refsetId

    SCTID

    Identifies the reference set to which this reference set member belongs.

    In this case, set to 723563008 | MRCM module scope reference set|

    NO

    NO

    referencedComponentId

    SCTID

    A reference to the SNOMED CT component to be included in the reference set.

    Identifies the SNOMED CT module to which the given concept model refset is applied. The value must be a subtype of 900000000000443000 | Module| within the metadata hierarchy.

    NO

    NO

    mrcmRuleRefsetId

    SCTID

    A subtype of 723564002 | MRCM reference set| that defines the concept model rules that are applied to content in the module identified by referencedComponentId.

    NO

    NO

    900000000000456007 | Reference set descriptor|

    723563008 | MRCM module scope reference set|

    449608002 | Referenced component|

    900000000000461009 | Concept type component|

    723563008 | MRCM module scope reference set|

    900000000000207008 | SNOMED CT core module (core metadata concept)|

    723560006 | MRCM domain international reference set|

    723563008 | MRCM module scope reference set|

    900000000000207008 | SNOMED CT core module (core metadata concept)|

    Metadata

    Reference Set Descriptor and Example Data

    Notes on the tables used to show descriptors and examples

    The reference set example tables on this page have been revised as follows to aid clarity and understanding:

    • The first four columns which are present in all release files are not shown. The omitted columns (id, effectiveTime, active, moduleId) are used in the same way in all referenced sets to support identification, versioning and packaging. They do not directly affect the specific features of a particular reference set or reference set type.

    • Reference set columns that contain SNOMED CT identifiers are expanded to show details of the concept or description referenced by that identifier. In some cases, the term is shown in the same column using the expression syntax, in other cases an additional column with a name suffix '_term' has been added. In the standard reference set files only the identifier is present in the column and there is no added column for the term. When using reference sets, the term and other details of the component are looked up from the relevant component release files.

    Descriptor Template

    Example Data

    900000000000454005 | Foundation metadata concept|
    900000000000455006 | Reference set|
    723564002 | MRCM reference set|
    723563008 | MRCM module scope reference set|
    723563008 | MRCM module scope reference set|
    Provide Feedback

    0

    900000000000456007 | Reference set descriptor|
    723563008 | MRCM module scope reference set|
    723577006 | MRCM rule reference set|
    900000000000461009 | Concept type component|
    723561005 | MRCM attribute domain international reference set|
    723563008 | MRCM module scope reference set|
    900000000000207008 | SNOMED CT core module (core metadata concept)|
    723562003 | MRCM attribute range international reference set|

    Considerations

    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 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.

    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.

    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:

    MRCM Reference Set
    Attribute

    In addition, the quality of the international SNOMED CT MRCM is checked using a 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,

    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 this section, we describe the ways in which the MRCM design supports each of the use cases presented in .

    As described in , one of the key use cases for the SNOMED CT MRCM is to assist with the consistent authoring and validation of SNOMED CT concepts.

    To support the authoring and validation of SNOMED CT precoordinated content, the following MRCM process can be used:

    1. 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;

    2. Determine which domains the parent concepts belong to using the .

    Please note that when the above process is being applied to the authoring of new precoordinated content, then only rules with a contentType = << may be used. However, when the process is applied to the validation of (both new and existing) precoordinated content, only rules with a contentType = << may be used. Rules with a ruleStrength of should be enforced when authoring and cause an error during validation, while rules with a ruleStrength of 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 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 and the 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 includes a set of attribute rules that combine the domain, grouping, cardinality and range constraints into a single expression constraint, which can facilitate the efficient implementation of content validation.

    • The ruleStrengthId attribute in the and the allows both mandatory rules (resulting in errors) and optional rules (resulting in warnings) to be specified.

    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.

    To support the authoring and validation of SNOMED CT postcoordinated expressions the following MRCM process can be used:

    1. Determine which domains the expression belongs to using the

      • An expression belongs to a given domain if any focus concept is either:

        1. Valid when tested against the associated domainConstraint; or

    Please note that in the above process only rules with a contentType = << should be used. Rules with a ruleStrength of should be enforced when authoring and cause an error during validation, while rules with a ruleStrength of 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 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:

    1. Determine which domains the constraint or query belongs to using the

      • An expression constraint or query belongs to a given domain if either:

        1. Any focus concept is valid when tested against the associated proximalPrimitiveConstraint; or

    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 = << 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 = << may be used. Rules with a ruleStrength of should be enforced when authoring and cause an error during validation, while rules with a ruleStrength of should be used as a recommendation for authoring and result in a warning during validation.

    The MRCM can also be used to support Natural Language Processing (NLP), as described in . When terms used in free text are associated with a particular SNOMED CT concept, this concept can be tested for 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 can be used to determine its possible attributes, and the used to determine the valid values of these attributes. This process can thus be used to indicate possible ways in which 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 .

    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 processes above for authoring SNOMED CT postcoordinated expressions, expression constraints and queries can similarly be applied to support terminology binding. 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.

    As mentioned in (D.5), the concept model must be able to be changed between releases to fix identified issues and enhance future releases.

    The RF2 reference set format used in the design of the MRCM provides a standard way of versioning the MRCM and retaining a history of changes, to enable the concept model to evolve over time. Using this standard approach, the effectiveTime field is used to reflect the date on which each rule version comes into effect, while the active field is used to indicate whether a rule is active or inactive. A new version of an MRCM rule may be created to update the mutable fields in the reference set, while changing immutable fields requires the rule to be inactivated, and a new rule to be created.

    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 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 or . 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.

    As described in (D.6), the international MRCM rules defined by 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 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 is designed to allow extension developers to specify which MRCM reference sets should be applied to the content in each module. The 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.

    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 SNOMED International staff in the SNOMED CT authoring tools, and

  • Feedback from the SNOMED CT member, vendor and user communities.

  • 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 | MRCM attribute domain reference set| 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 | MRCM attribute domain reference set| for the given attribute and parent domain;

  • Determine the valid range for each defining attribute using the rangeConstraint in | MRCM attribute range reference set| .

  • The contentTypeId attribute in the | MRCM attribute domain reference set| and the | MRCM attribute range reference set| allows the scope of each rule to be restricted to a particular type of SNOMED CT content, including:

    • | All SNOMED CT content| – for rules which apply to both precoordinated and postcoordinated content;

    • | All precoordinated SNOMED CT content| – for rules which apply to all precoordinated content (but not to postcoordinated content);

    • – for rules which apply to newly authored (i.e. stated) precoordinated content, which may not necessarily be valid for all existing content; and

    • – for rules which apply to all postcoordinated content (but not to precoordinated content).

    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 | 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 | MRCM attribute domain reference set| for the given attribute and parent domain;

  • Determine the valid range for each attribute using the rangeConstraint in | MRCM attribute range reference set| .

  • 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 | 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 | 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 | 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 | MRCM attribute domain reference set| .

  • Determine the valid range for each attribute using the rangeConstraint in | MRCM attribute range reference set| .

  • | MRCM domain reference set|

    domainTemplateForPrecoordination

    | MRCM domain reference set|

    domainTemplateForPostcoordination

    | MRCM attribute range reference set|

    attributeRule

    Populated From
    | MRCM domain reference set| .domainConstraint,
    
    | MRCM attribute domain reference set| .grouped,
    
    | MRCM attribute domain reference set| .attributeCardinality,
    
    | MRCM attribute domain reference set| .attributeInGroupCardinality,
    
    | MRCM attribute range reference set| .rangeConstraint
    
    WHERE | MRCM domain reference set| . referencedComponentId = | MRCM attribute domain reference set| .domainId
    
    AND | MRCM attribute domain reference set| . referencedComponentId = | MRCM attribute range reference set| .referencedComponentId

    Authoring and Quality Checks

    Supporting Use Cases

    Precoordinated Content Development

    Expressions, Constraints and Queries

    Natural Language Processing

    Terminology Binding to Information Models

    Versioning

    Extension

    Use Cases
    Use Cases
    | MRCM domain reference set|
    723593002 | All new precoordinated SNOMED CT content|
    723594008 | All precoordinated SNOMED CT content|
    | Mandatory concept model rule|
    | Optional concept model rule|
    | MRCM domain reference set|
    | MRCM domain reference set|
    | MRCM attribute domain reference set|
    | MRCM attribute range reference set|
    | MRCM attribute domain reference set|
    | MRCM attribute range reference set|
    Use Cases
    | MRCM domain reference set|
    723595009 | All postcoordinated SNOMED CT content|
    | Mandatory concept model rule|
    | Optional concept model rule|
    | MRCM domain reference set|
    | MRCM domain reference set|
    723594008 | All precoordinated SNOMED CT content|
    723595009 | All postcoordinated SNOMED CT content|
    | Mandatory concept model rule|
    | Optional concept model rule|
    Use Cases
    | MRCM attribute domain reference set|
    | MRCM attribute range reference set|
    Data Analytics with SNOMED CT
    Use Cases
    Requirements
    723593002 | All new precoordinated SNOMED CT content|
    723594008 | All precoordinated SNOMED CT content|
    723596005 | All SNOMED CT content|
    Requirements
    723563008 | MRCM Module Scope Reference Set|
    723563008 | MRCM Module Scope Reference Set|
    Provide Feedback
    | All new precoordinated SNOMED CT content|
    | All postcoordinated SNOMED CT content|

    MRCM Attribute Domain Reference Set

    Purpose

    An 723604009 | MRCM attribute domain reference set| allows attributes to be associated with the domains in which they may be applied. It also allows grouping and cardinality constraints to be specified for each attribute and domain combination. For each attribute-domain rule, the strength of the rule (e.g. 723597001 | Mandatory concept model rule| or 723598006 | Optional concept model rule| ) and the content type over which this rule applies (e.g. 723596005 | All SNOMED CT content| , 723594008 | All precoordinated SNOMED CT content| ) is also specified.

    Each attribute is identified by its concept id, while each domain is identified by the same concept id used in the referencedComponentId of the 723589008 | MRCM domain reference set| .

    Data Structure

    An 723604009 | MRCM attribute domain reference set| is structured as shown in the following table.

    Note to table:

    The column entitled PK indicates if the attribute is part of the primary key of thi

    Field
    Data type
    Purpose
    Mutable
    PK*

    The following metadata hierarchy supports this reference set:

    The table below shows the reference set descriptor for a reference set that follows the pattern.

    refsetId
    referencedComponentId
    attributeDescription
    attributeType
    attribute Order

    The table below shows some example rows from a reference set that follows the format of the .

    refsetId
    referencedComponentId
    domainId
    grouped
    attribute Cardinality
    attribute InGroup Cardinality
    ruleStrengthId
    contentTypeId

    Boolean

    The state of the identified reference set member as at the specified effectiveTime .

    If active = 1 (true) the reference set member is part of the current version of the set, if active = 0 (false) the reference set member is not part of the current version of the set.

    YES

    NO

    moduleId

    SCTID

    Identifies the SNOMED CT module that contains this reference set member as at the specified effectiveTime .

    The value must be a subtype of within the metadata hierarchy.

    YES

    NO

    refsetId

    SCTID

    Identifies the reference set to which this reference set member belongs.

    In this case, a subtype descendant of:

    NO

    NO

    referencedComponentId

    SCTID

    A reference to the SNOMED CT component to be included in the reference set. A reference to the SNOMED CT attribute concept to which the attribute-domain rule defined by this member applies.

    NO

    NO

    domainId

    SCTID

    A reference to the SNOMED CT concept that identifies the relevant concept domain.

    NO

    NO

    grouped

    Boolean

    Whether or not the given attribute (identified by referencedComponentId) is treated by a Description Logic reasoner as belonging to a relationship group, when applied to a concept in the given domain.

    If grouped = 1 (true) then the given attribute (identified by referencedComponentId) is treated by a Description Logic reasoner as belonging to a relationship group.

    If grouped = 0 (false) then the given attribute (identified by referencedComponentId) is treated by a Description Logic reasoner as not belonging to a relationship group.

    YES

    NO

    attributeCardinality

    string

    The number of times the given attribute can be assigned a distinct (non-redundant) value within the definition of each concept or expression.

    This string can be parsed using the following ABNF rule (together with the subrules defined in the Expression Constraint Language):

    attributeCardinality = minimum to maximum

    YES

    NO

    attributeInGroupCardinality

    string

    The number of times the given attribute can be assigned a distinct (non-redundant) value within a single relationship group as part of the definition of a concept or expression.

    This string can be parsed using the following ABNF rule (together with the subrules defined in the Expression Constraint Language):

    attributeInGroupCardinality = minimum to maximum

    YES

    NO

    ruleStrengthId

    SCTID

    A subtype of which specifies whether the given rule is mandatory (resulting in an error) or optional (resulting in a warning).

    YES

    NO

    contentTypeId

    SCTID

    A subtype of which indicates the type of SNOMED CT content over which this rule applies. In many cases, this will be set to .

    YES

    NO

    723604009 | MRCM attribute domain reference set|

    • 723561005 | MRCM attribute domain international reference set|

  • 900000000000457003 | Reference set attribute|

    • 723571007 | Cardinality|

      • 723602008 | Attribute cardinality|

    • Note

  • 1

    2

    3

    4

    5

    6

    1

    0..*

    0..*

    1

    0..*

    0..*

    1

    0..*

    0..1

    0

    0..1

    0..0

    id

    UUID

    A 128 bit unsigned Integer, uniquely identifying this reference set member.

    Different versions of a reference set member share the same id but have different effectiveTime. This allows a reference set member to be modified or made inactive (i.e. removed from the active set) at a specified time.

    NO

    YES (Full /Snapshot)

    effectiveTime

    Time

    The inclusive date or time at which this version of the identified reference set member became the current version.

    Note: In distribution files the effectiveTime should follow the short ISO date format (YYYYMMDD) and should not include the hours, minutes, seconds or timezone indicator.

    The current version of this reference set member at time T is the version with the most recent effectiveTime prior to or equal to time T .

    YES

    YES (Full)

    Optional (Snapshot)

    900000000000456007 | Reference set descriptor|

    723604009 | MRCM attribute domain reference set|

    449608002 | Referenced component|

    900000000000461009 | Concept type component|

    723561005 | MRCM attribute domain international reference set|

    Metadata

    Reference Set Descriptor and Example Data

    Notes on the tables used to show descriptors and examples

    The reference set example tables on this page have been revised as follows to aid clarity and understanding:

    • The first four columns which are present in all release files are not shown. The omitted columns (id, effectiveTime, active, moduleId) are used in the same way in all referenced sets to support identification, versioning and packaging. They do not directly affect the specific features of a particular reference set or reference set type.

    • Reference set columns that contain SNOMED CT identifiers are expanded to show details of the concept or description referenced by that identifier. In some cases, the term is shown in the same column using the expression syntax, in other cases an additional column with a name suffix '_term' has been added. In the standard reference set files only the identifier is present in the column and there is no added column for the term. When using reference sets, the term and other details of the component are looked up from the relevant component release files.

    Descriptor Template

    Note to table:

    The column entitles PK indicates if the attribute is part of the primary key of this table.

    Example Data

    900000000000454005 | Foundation metadata concept|
    900000000000455006 | Reference set|
    723564002 | MRCM reference set|
    723604009 | MRCM attribute domain reference set|
    723604009 | MRCM attribute domain reference set|
    Provide Feedback

    active

    0

  • 723603003 | Attribute in group cardinality|
    723574004 | Content type|
    723593002 | All new precoordinated SNOMED CT content|
    609431004 | Domain|
    723572000 | Grouped|
    723573005 | Concept model rule strength|
    723597001 | Mandatory concept model rule|
    723598006 | Optional concept model rule|
    900000000000443000 | Module (core metadata concept)|
    723604009 | MRCM attribute domain reference set|
    723573005 | Concept model rule strength|
    723574004 | Content type|
    723596005 | All SNOMED CT content|
    900000000000456007 | Reference set descriptor|
    723604009 | MRCM attribute domain reference set|
    609431004 | Domain|
    900000000000461009 | Concept type component|
    900000000000456007 | Reference set descriptor|
    723604009 | MRCM attribute domain reference set|
    723572000 | Grouped|
    900000000000478000 | Unsigned integer|
    900000000000456007 | Reference set descriptor|
    723604009 | MRCM attribute domain reference set|
    723602008 | Attribute Cardinality|
    707000009 | SNOMED CT parsable string|
    900000000000456007 | Reference set descriptor|
    723604009 | MRCM attribute domain reference set|
    723603003 | Attribute In Group Cardinality|
    707000009 | SNOMED CT parsable string|
    900000000000456007 | Reference set descriptor|
    723604009 | MRCM attribute domain reference set|
    723573005 | Concept model rule Strength|
    900000000000461009 | Concept type component|
    900000000000456007 | Reference set descriptor|
    723604009 | MRCM attribute domain reference set|
    723574004 | Content type|
    900000000000461009 | Concept type component|
    255234002 | After|
    404684003 | Clinical finding (finding)|
    723597001 | Mandatory concept model rule|
    723596005 | All SNOMED CT content|
    723561005 | MRCM attribute domain international reference set|
    255234002 | After|
    272379006 | Event (event)|
    723597001 | Mandatory concept model rule|
    723596005 | All SNOMED CT content|
    723561005 | MRCM attribute domain international reference set|
    408729009 | Finding context|
    413350009 | Finding with explicit context (situation)|
    723597001 | Mandatory concept model rule|
    723596005 | All SNOMED CT content|
    723561005 | MRCM attribute domain international reference set|
    272741003 | Laterality|
    91723000 | Anatomical structure (body structure)|
    723597001 | Mandatory concept model rule|
    723594008 | All precoordinated SNOMED CT content|
    723594008 | All precoordinated SNOMED CT content|
    723596005 | All SNOMED CT content|
    723595009 | All postcoordinated SNOMED CT content|
    723596005 | All SNOMED CT content|

    MRCM Attribute Range Reference Set

    Purpose

    An 723592007 | MRCM attribute range reference set| allows attributes to be associated with a valid value range for a given SNOMED CT content type and rule strength. The range of each attribute is defined using an Expression Constraint. This expression constraint represents the set of concepts, expressions, or concrete values that may be used as the value of the given attribute. The 723592007 | MRCM attribute range reference set| also provides a summary of the concept model rule associated with each attribute (including all valid domains and the given range) using an Expression Constraint representation. This attribute rule can be completely auto-generated by combining information from the 723604009 | MRCM attribute domain reference set| and the 723592007 | MRCM attribute range reference set| .

    Data Structure

    An 723592007 | MRCM attribute range reference set| is structured as shown in the following table.

    Note to table:

    The column entitled PK indicates if the attribute is part of the primary key of this table.

    Field
    Data type
    Purpose
    Mutable
    PK

    The following metadata hierarchy supports this reference set:


    The table below shows the reference set descriptor for a reference set that follows the pattern.

    refsetId
    referencedComponentId
    attributeDescription
    attributeType
    attributeOrder

    The table below shows some example rows from a reference set that follows the format of the .

    refsetId
    referencedComponentId
    rangeConstraint
    attributeRule
    ruleStrengthId
    contentTypeId

    Boolean

    The state of the identified reference set member as at the specified effectiveTime .

    If active = 1 (true) the reference set member is part of the current version of the set, if active = 0 (false) the reference set member is not part of the current version of the set.

    YES

    NO

    moduleId

    SCTID

    Identifies the SNOMED CT module that contains this reference set member as at the specified effectiveTime .

    The value must be a subtype of within the metadata hierarchy.

    YES

    NO

    refsetId

    SCTID

    Identifies the reference set to which this reference set member belongs.

    In this case, a subtype descendant of:

    NO

    NO

    referencedComponentId

    SCTID

    A reference to the SNOMED CT component to be included in the reference set. A reference to the SNOMED CT attribute concept to which the range defined by this member applies.

    NO

    NO

    rangeConstraint

    string

    A parsable string, which defines the valid set of values that may be used for the given attribute (identified by the referencedComponentId).

    If the attribute in the referencedComponentId is a subtype of then the rangeConstraint must be an expression constraint, which can be parsed using the ABNF rules defined by the Expression Constraint Language .

    If the attribute in the referencedComponentId is a subtype of then the rangeConstraint must be parsable using the concreteValueReplacement ABNF rule specified in the SNOMED CT Template Syntax. For example, the following rangeConstraint includes the set of all positive integers: int (>#0..)

    YES

    NO

    attributeRule

    string

    An Expression Constraint that captures the domain, range and cardinality constraints for the given attribute, rule strength and content type. This string can be parsed using the ABNF syntax defined for the Expression Constraint Language . If ranges with concrete values are required, the Expression Constraint Language can be extended as described above (for rangeConstraint).

    YES

    NO

    ruleStrengthId

    SCTID

    A subtype of which specifies whether the given rule is mandatory (resulting in an error) or optional (resulting in a warning).

    YES

    NO

    contentTypeId

    SCTID

    A subtype of which indicates the type of SNOMED CT content over which this rule applies.

    YES

    NO

    723592007 | MRCM attribute range reference set|

    • 723562003 | MRCM attribute range international reference set|

  • 900000000000457003 | Reference set attribute|

    • 723576002 | Attribute rule|

    • 723574004 | Content type| Note

  • 1

    2

    3

    4

    <<

    << : [0..*] { [0..1] = << }

    <<

    << : [0..1] = <<

    id

    UUID

    A 128 bit unsigned Integer, uniquely identifying this reference set member.

    Different versions of a reference set member share the same id but have different effectiveTime. This allows a reference set member to be modified or made inactive (i.e. removed from the active set) at a specified time.

    NO

    YES (Full /Snapshot)

    effectiveTime

    Time

    The inclusive date or time at which this version of the identified reference set member became the current version.

    Note: In distribution files the effectiveTime should follow the short ISO date format (YYYYMMDD) and should not include the hours, minutes, seconds or timezone indicator.

    The current version of this reference set member at time T is the version with the most recent effectiveTime prior to or equal to time T .

    YES

    YES (Full)

    Optional (Snapshot)

    900000000000456007 | Reference set descriptor|

    723592007 | MRCM attribute range reference set|

    449608002 | Referenced component|

    900000000000461009 | Concept type component|

    723562003 | MRCM attribute range international reference set|

    255234002 | After|

    << 404684003 |Clinical finding (finding)| OR << 71388002 |Procedure (procedure)|

    Metadata

    Reference Set Descriptor and Example Data

    Notes on the tables used to show descriptors and examples

    The reference set example tables on this page have been revised as follows to aid clarity and understanding:

    • The first four columns which are present in all release files are not shown. The omitted columns (id, effectiveTime, active, moduleId) are used in the same way in all referenced sets to support identification, versioning and packaging. They do not directly affect the specific features of a particular reference set or reference set type.

    • Reference set columns that contain SNOMED CT identifiers are expanded to show details of the concept or description referenced by that identifier. In some cases, the term is shown in the same column using the expression syntax, in other cases an additional column with a name suffix '_term' has been added. In the standard reference set files only the identifier is present in the column and there is no added column for the term. When using reference sets, the term and other details of the component are looked up from the relevant component release files.

    Descriptor Template

    Example Data

    900000000000454005 | Foundation metadata concept|
    900000000000455006 | Reference set|
    723564002 | MRCM reference set|
    723592007 | MRCM attribute range reference set|
    723592007 | MRCM attribute range reference set|
    Provide Feedback

    active

    0

    (<< OR << ): [0..*] { [0..*] = (<< OR << )}

    723593002 | All new precoordinated SNOMED CT content|
    723594008 | All precoordinated SNOMED CT content|
    723596005 | All SNOMED CT content|
    723575003 | Range constraint|
    723573005 | Concept model rule strength|
    723597001 | Mandatory concept model rule|
    723598006 | Optional concept model rule|
    900000000000443000 | Module (core metadata concept)|
    723592007 | MRCM attribute range reference set|
    762705008 | Concept model object attribute (attribute)|
    762706009 | Concept model data attribute (attribute)|
    723573005 | Concept model rule strength|
    723574004 | Content type|
    900000000000456007 | Reference set descriptor|
    723592007 | MRCM attribute range reference set|
    723575003 | Range constraint|
    707000009 | SNOMED CT parsable string|
    900000000000456007 | Reference set descriptor|
    723592007 | MRCM attribute range reference set|
    723576002 | Attribute rule|
    707000009 | SNOMED CT parsable string|
    900000000000456007 | Reference set descriptor|
    723592007 | MRCM attribute range reference set|
    723573005 | Concept model rule strength|
    900000000000461009 | Concept type component|
    900000000000456007 | Reference set descriptor|
    723592007 | MRCM attribute range reference set|
    723574004 | Content type|
    900000000000461009 | Concept type component|
    404684003 |Clinical finding (finding)|
    272379006 |Event (event)|
    255234002 |After|
    404684003 |Clinical finding (finding)|
    71388002 |Procedure (procedure)|
    723597001 | Mandatory concept model rule|
    723596005 | All SNOMED CT content|
    723562003 | MRCM attribute range international reference set|
    408729009 | Finding context|
    410514004 | Finding context value (qualifier value)|
    413350009 |Finding with explicit context (situation)|
    408729009 |Finding context|
    410514004 |Finding context value (qualifier value)|
    723597001 | Mandatory concept model rule|
    723596005 | All SNOMED CT content|
    723562003 | MRCM attribute range international reference set|
    272741003 | Laterality|
    182353008 | Side (qualifier value)|
    91723000 |Anatomical structure (body structure)|
    272741003 |Laterality|
    182353008 |Side (qualifier value)|
    723597001 | Mandatory concept model rule|
    723596005 | All SNOMED CT content|
    723595009 | All postcoordinated SNOMED CT content|
    723596005 | All SNOMED CT content|

    SNOMED CT Machine Readable Concept Model

    The SNOMED CT Machine Readable Concept Model (MRCM) represents the SNOMED CT concept model rules in a form that can be read and tested by a computer. A human readable version of the SNOMED CT concept model can be found in the SNOMED CT Editorial Guide, along with additional guidance for SNOMED CT authors. A computable version of the MRCM is published as a set of reference sets in the SNOMED CT international edition, and can be browsed via the MRCM browser.

    This specification defines the format used by SNOMED International's MRCM. This format uses the SNOMED CT Reference Set mechanism to provide a file structure with inbuilt versioning, and the Expression Constraint Language to represent intensional SNOMED CT subsets referred to by the concept model rules. This allows distribution of the MRCM using standard RF2 reference set files and interpretation of the rules using tools that support the SNOMED CT Expression Constraint Language.



    © Copyright 2026 International Health Terminology Standards Development Organisation, all rights reserved.

    This document is a publication of International Health Terminology Standards Development Organisation, trading as SNOMED International. SNOMED International owns and maintains SNOMED CT®.

    Any modification of this document (including without limitation the removal or modification of this notice) is prohibited without the express written permission of SNOMED International. This document may be subject to updates. Always use the latest version of this document published by SNOMED International. This can be viewed online and downloaded by following the links on the front page or cover of this document.

    SNOMED®, SNOMED CT® and IHTSDO® are registered trademarks of International Health Terminology Standards Development Organisation. SNOMED CT® licensing information is available at

    . For more information about SNOMED International and SNOMED International Membership, please refer to
    or contact us at
    .
    Provide Feedback
    Introduction
    Use Cases
    Requirements
    Logical Design
    Considerations
    http://snomed.org/licensing
    http://www.snomed.org
    info@snomed.org

    MRCM Domain Reference Set

    Purpose

    An 723589008 | MRCM domain reference set| enumerates the concept domains to which SNOMED CT attributes may be applied, and provides additional information to support these concept domains.

    Each concept domain is uniquely identified by a SNOMED CT concept. When the scope of a domain covers the concepts in a particular hierarchy (or subhierarchy), the supertype concept of this hierarchy (or subhierarchy) is used to identify the domain. When a domain is defined based on membership in a reference set, the associated reference set concept is used to identify the domain. In some situations, a query may be required to define a complex domain. In these cases, the query's expansion reference set (referred to by the 'referencedComponent' of the relevant Query reference set) is used to identify the domain.

    For each domain in the SNOMED CT concept model, the 723589008 | MRCM domain reference set| will contain exactly one member. This reference set member will include an Expression Constraint that defines the concepts in the domain, the identifier of the immediate parent domain (or domains), the domain constraint defined in terms of its proximal primitive concepts and associated mandatory refinements, a generic Domain Expression Template for both precoordinated and postcoordinated content, and a reference to the associated guidance that provides additional human-readable text describing this domain. Please note that it is anticipated that the generic Domain Expression Templates will be specialized further for authoring of specific subdomains using specializations stored in a Template Library.

    Data Structure

    An 723589008 | MRCM domain reference set| is structured as shown in the following table.

    Field
    Data type
    Purpose
    Mutable
    PK*

    The following metadata hierarchy supports this reference set:

    The table below shows the reference set descriptor for a reference set that follows the pattern.

    refsetId
    referencedComponentId
    attributeDescription
    attributeType
    attribute Order

    The table below shows some example rows from a reference set that uses the format of the .

    Please note that the generic domain templates defined for the SNOMED CT International Edition are designed to support a proximal primitive parent authoring approach. However, domain templates included in an extension's **** may be designed to support a proximal parent authoring approach if required.

    refsetId
    referenced Component Id
    domain Constraint
    parent Domain
    proximal Primitive Constraint
    proximal Primitive Refinement
    domainTemplateForPrecoordination
    domainTemplateForPostcoordination
    guideURL

    effectiveTime

    Time

    The inclusive date or time at which this version of the identified reference set member became the current version.

    Note: In distribution files, the effectiveTime should follow the short ISO date format (YYYYMMDD) and should not include the hours, minutes, seconds or timezone indicator.

    The current version of this reference set member at time T is the version with the most recent effectiveTime prior to or equal to time T .

    YES

    YES (Full)

    Optional (Snapshot)

    active

    Boolean

    The state of the identified reference set member as at the specified effectiveTime .

    If active = 1 (true) the reference set member is part of the current version of the set, if active = 0 (false) the reference set member is not part of the current version of the set.

    YES

    NO

    moduleId

    SCTID

    Identifies the SNOMED CT module that contains this reference set member as at the specified effectiveTime .

    The value must be a of within the metadata hierarchy.

    YES

    NO

    refsetId

    SCTID

    Identifies the reference set to which this reference set member belongs.

    In this case, a subtype descendant of:

    NO

    NO

    referencedComponentId

    SCTID

    A reference to the SNOMED CT component to be included in the reference set.

    A reference to the SNOMED CT concept that identifies the relevant concept domain.

    NO

    NO

    domainConstraint

    String

    An expression constraint, which defines the set of concepts included in the given concept domain.

    This string can be parsed using the ABNF syntax defined for the Expression Constraint Language.

    YES

    NO

    parentDomain

    String

    An expression constraint, which represents the set of immediate parent domains.

    An immediate parent domain is a domain that is a proper superset of the given domain, and which is not a proper superset of any other parent domain.

    YES

    NO

    proximalPrimitiveConstraint

    String

    The domain constraint, as it would be represented for proximal primitive modelling. If the domain concept is sufficiently defined, then its proximal primitive parent will be used instead, while if the domain concept is primitive, then the concept itself is used. Additional constraints on the proximal primitive parent are also included.

    The expansion of the given constraint must be further filtered to find those concepts with a definitionStatusId = .

    This string can be parsed using the ABNF syntax defined for the Expression Constraint Language.

    YES

    NO

    proximalPrimitiveRefinement

    String

    The template representation of any additional refinements that are required to model in the given domain using proximal primitive modelling. These mandatory refinements reflect the defining relationships of the domain concept when it is sufficiently defined.

    This string can be parsed using the 'refinement' rule in the ABNF syntax defined for the Expression Constraint Language.

    YES

    NO

    domainTemplateForPrecoordination

    String

    A general template that may be used to author precoordinated content. This template incorporates all of the mandatory attribute domain and range rules rules for precoordinated SNOMED CT content.

    This string can be parsed using the Expression Template Language (currently under development).

    YES

    NO

    domainTemplateForPostcoordination

    A general template that may be used to author postcoordinated content. This template incorporates all of the mandatory attribute domain and range rules rules for postcoordinated SNOMED CT content.

    This string can be parsed using the Expression Template Language (currently under development).

    YES

    NO

    guideURL

    URL

    A Uniform Resource Locator (URL) that references a web resource in which the given domain is described in further detail.

    This URL uses the following pattern: "<conceptId>"

    YES

    NO

    723589008 | MRCM domain reference set|

    • 723560006 | MRCM domain international reference set|

  • 900000000000457003 | Reference set attribute|

    • 723565001 | Domain constraint|

    • 723570008 | Guide URL|

  • 1

    2

    3

    4

    5

    6

    7

    <<

    <<

    [[+id(<< )]]: [[0..*]] { [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< OR << )]], [[0..*]] = [[+id(<< OR << )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< OR << OR << OR << OR << )]], [[0..*]] = [[+id(<< OR << OR << )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<<

    [[+scg(<< )]]: [[0..*]] { [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< OR << )]], [[0..*]] = [[+scg(<< OR << )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< OR << OR << OR << OR << )]], [[0..*]] = [[+scg(<< OR << OR << )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<<

    <<

    <<

    [[1..*]] = [[+(<< )]]

    [[+id(<< )]]: [[0..*]] { [[1..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< OR << OR << OR << OR << OR << OR << OR << )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< OR << OR << OR << OR << OR << OR << )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< OR << )]], [[0..*]] = [[+id(<< OR << )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<< )]], [[0..*]] = [[+id(<<

    [[+scg(<< )]]: [[0..*]] { [[1..*]] = [+scg(<< )]], [[0..*]] = [[+scg(<< OR << OR << OR << OR << OR << OR << OR << )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< OR << OR << OR << OR << OR << OR << )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< OR << )]], [[0..*]] = [[+scg(<< OR << )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<< )]], [[0..*]] = [[+scg(<<

    id

    UUID

    A 128 bit unsigned Integer, uniquely identifying this reference set member.

    Different versions of a reference set member share the same id but have different effectiveTime.

    This allows a reference set member to be modified or made inactive (i.e. removed from the active set) at a specified time.

    NO

    YES (Full /Snapshot)

    900000000000456007 | Reference set descriptor|

    723589008 | MRCM domain reference set|

    449608002 | Referenced component|

    900000000000461009 | Concept type component|

    Note to table:

    The column entitled PK indicates if the attribute is part of the primary key of this table

    Metadata

    Reference Set Descriptor and Example Data

    Notes on the tables used to show descriptors and examples

    The reference set example tables on this page have been revised as follows to aid clarity and understanding:

    • The first four columns which are present in all release files are not shown. The omitted columns (id, effectiveTime, active, moduleId) are used in the same way in all referenced sets to support identification, versioning and packaging. They do not directly affect the specific features of a particular reference set or reference set type.

    • Reference set columns that contain SNOMED CT identifiers are expanded to show details of the concept or description referenced by that identifier. In some cases, the term is shown in the same column using the expression syntax, in other cases an additional column with a name suffix '_term' has been added. In the standard reference set files only the identifier is present in the column and there is no added column for the term. When using reference sets, the term and other details of the component are looked up from the relevant component release files.

    Descriptor Template

    Example Data

    900000000000454005 | Foundation metadata concept|
    900000000000455006 | Reference set|
    723564002 | MRCM reference set|
    723589008 | MRCM domain reference set|
    723589008 | MRCM domain reference set|
    723589008 | MRCM domain reference set|
    Provide Feedback

    0

    )]] }
    )]] }
    )]], [[0..*]]
    = [[+id(<<
    )]], [[0..*]]
    = [[+id(<<
    )]], [[0..*]]
    = [[+id(<<
    )]], [[0..*]]
    = [[+id(<<
    )]], [[0..*]]
    = [[+id(<<
    OR <<
    OR <<
    OR <<
    OR <<
    )]], [[0..*]]
    = [[+id(<<
    OR <<
    OR <<
    )]], [[0..*]]
    = [[+id(<<
    )]], [[0..*]]
    = [[+id(<<
    )]], [[0..*]]
    = [[+id(<<
    )]], [[0..*]]
    = [[+id(<<
    )]] }
    )]], [[0..*]]
    = [[+scg(<<
    )]], [[0..*]]
    = [[+scg(<<
    )]], [[0..*]]
    = [[+scg(<<
    )]], [[0..*]]
    = [[+scg(<<
    )]], [[0..*]]
    = [[+scg(<<
    OR <<
    OR <<
    OR <<
    OR <<
    )]], [[0..*]]
    = [[+scg(<<
    OR <<
    OR <<
    )]], [[0..*]]
    = [[+scg(<<
    )]], [[0..*]]
    = [[+scg(<<
    )]], [[0..*]]
    = [[+scg(<<
    )]], [[0..*]]
    = [[+scg(<<
    )]] }
    723566000 | Parent domain|
    723567009 | Proximal primitive constraint|
    723568004 | Proximal primitive refinement|
    723569007 | Template|
    723599003 | Domain template|
    723600000 | Domain template for precoordination|
    subtype
    900000000000443000 | Module (core metadata concept)|
    723589008 | MRCM domain reference set|
    900000000000074008 | Primitive|
    String
    http://snomed.org/dom
    900000000000456007 | Reference set descriptor|
    723589008 | MRCM domain reference set|
    723565001 | Domain constraint|
    707000009 | SNOMED CT parsable string|
    900000000000456007 | Reference set descriptor|
    723589008 | MRCM domain reference set|
    723566000 | Parent domain|
    707000009 | SNOMED CT parsable string|
    900000000000456007 | Reference set descriptor|
    723589008 | MRCM domain reference set|
    723567009 | Proximal primitive constraint|
    707000009 | SNOMED CT parsable string|
    900000000000456007 | Reference set descriptor|
    723589008 | MRCM domain reference set|
    723568004 | Proximal primitive refinement|
    707000009 | SNOMED CT parsable string|
    900000000000456007 | Reference set descriptor|
    723589008 | MRCM domain reference set|
    723600000 | Domain template for precoordination|
    707000009 | SNOMED CT parsable string|
    900000000000456007 | Reference set descriptor|
    723589008 | MRCM domain reference set|
    723601001 | Domain template for postcoordination|
    707000009 | SNOMED CT parsable string|
    900000000000456007 | Reference set descriptor|
    723589008 | MRCM domain reference set|
    723570008 | Guide URL|
    707000009 | SNOMED CT parsable string|
    723560006 | MRCM domain international reference set|
    71388002 | Procedure (procedure)|
    71388002 | Procedure (procedure)|
    71388002 | Procedure (procedure)|
    71388002 |Procedure (procedure)|
    260507000 |Access|
    309795001 |Surgical access values (qualifier value)|
    363699004 |Direct device|
    49062001 |Device (physical object)|
    363700003 |Direct morphology|
    49755003 |Morphologically abnormal structure (morphologic abnormality)|
    363701004 |Direct substance|
    105590001 |Substance (substance)|
    373873005 |Pharmaceutical / biologic product (product)|
    363702006 |Has focus|
    404684003 |Clinical finding (finding)|
    71388002 |Procedure (procedure)|
    363703001 |Has intent|
    363675004 |Intents (nature of procedure values) (qualifier value)|
    363710007 |Indirect device|
    49062001 |Device (physical object)|
    363709002 |Indirect morphology|
    49755003 |Morphologically abnormal structure (morphologic abnormality)|
    260686004 |Method|
    129264002 |Action (qualifier value)|
    260870009 |Priority|
    272125009 |Priorities (qualifier value)|
    405815000 |Procedure device|
    49062001 |Device (physical object)|
    405816004 |Procedure morphology|
    49755003 |Morphologically abnormal structure (morphologic abnormality)|
    363704007 |Procedure site|
    442083009 |Anatomical or acquired body structure (body structure)|
    405813007 |Procedure site - Direct|
    442083009 |Anatomical or acquired body structure (body structure)|
    405814001 |Procedure site - Indirect|
    442083009 |Anatomical or acquired body structure (body structure)|
    370131001 |Recipient category|
    125676002 |Person (person)|
    35359004 |Family (social concept)|
    133928008 |Community (social concept)|
    105455006 |Donor for medical or surgical procedure (person)|
    389109008 |Group (social concept)|
    246513007 |Revision status|
    261424001 |Primary operation (qualifier value)|
    255231005 |Revision - value (qualifier value)|
    257958009 |Part of multistage procedure (qualifier value)|
    425391005 |Using access device|
    49062001 |Device (physical object)|
    424226004 |Using device|
    49062001 |Device (physical object)|
    424244007 |Using energy|
    78621006 |Physical force (physical force)|
    424361007 |Using substance|
    105590001 |Substance (substance)|
    71388002 |Procedure (procedure)|
    260507000 |Access|
    309795001 |Surgical access values (qualifier value)|
    363699004 |Direct device|
    49062001 |Device (physical object)|
    363700003 |Direct morphology|
    49755003 |Morphologically abnormal structure (morphologic abnormality)|
    363701004 |Direct substance|
    105590001 |Substance (substance)|
    373873005 |Pharmaceutical / biologic product (product)|
    363702006 |Has focus|
    404684003 |Clinical finding (finding)|
    71388002 |Procedure (procedure)|
    363703001 |Has intent|
    363675004 |Intents (nature of procedure values) (qualifier value)|
    363710007 |Indirect device|
    49062001 |Device (physical object)|
    363709002 |Indirect morphology|
    49755003 |Morphologically abnormal structure (morphologic abnormality)|
    260686004 |Method|
    129264002 |Action (qualifier value)|
    260870009 |Priority|
    272125009 |Priorities (qualifier value)|
    405815000 |Procedure device|
    49062001 |Device (physical object)|
    405816004 |Procedure morphology|
    49755003 |Morphologically abnormal structure (morphologic abnormality)|
    363704007 |Procedure site|
    442083009 |Anatomical or acquired body structure (body structure)|
    405813007 |Procedure site - Direct|
    442083009 |Anatomical or acquired body structure (body structure)|
    405814001 |Procedure site - Indirect|
    442083009 |Anatomical or acquired body structure (body structure)|
    370131001 |Recipient category|
    125676002 |Person (person)|
    35359004 |Family (social concept)|
    133928008 |Community (social concept)|
    105455006 |Donor for medical or surgical procedure (person)|
    389109008 |Group (social concept)|
    246513007 |Revision status|
    261424001 |Primary operation (qualifier value)|
    255231005 |Revision - value (qualifier value)|
    257958009 |Part of multistage procedure (qualifier value)|
    425391005 |Using access device|
    49062001 |Device (physical object)|
    424226004 |Using device|
    49062001 |Device (physical object)|
    424244007 |Using energy|
    78621006 |Physical force (physical force)|
    424361007 |Using substance|
    105590001 |Substance (substance)|
    http://snomed.org/dom71388002
    723560006 | MRCM domain international reference set|
    386053000 | Evaluation procedure (procedure)|
    386053000 | Evaluation procedure (procedure)|
    71388002 | Procedure (procedure)|
    71388002 | Procedure (procedure)|
    260686004 |Method|
    129265001 |Evaluation - action|
    71388002 |Procedure (procedure)|
    260686004 |Method|
    129265001 |Evaluation - action|
    246093002 |Component|
    123037004 |Body structure|
    410607006 |Organism|
    105590001 |Substance|
    123038009 |Specimen|
    260787004 |Physical object|
    373873005 |Pharmaceutical / biologic product|
    419891008 |Record artifact|
    363787002 |Observable entity|
    116686009 |Has specimen|
    123038009 |Specimen (specimen)|
    370129005 |Measurement method|
    127789004 |Laboratory procedure categorized by method (procedure)|
    370130000 |Property|
    118598001 |Property of measurement (qualifier value)|
    370132008 |Scale type|
    30766002 |Quantitative|
    26716007 |Qualitative|
    117363000 |Ordinal value|
    117365007 |Ordinal or quantitative value|
    117362005 |Nominal value|
    117364006 |Narrative value|
    117444000 |Text value|
    370134009 |Time aspect|
    7389001 |Time frame (qualifier value)|
    260507000 |Access|
    309795001 |Surgical access values (qualifier value)|
    363699004 |Direct device|
    49062001 |Device (physical object)|
    363700003 |Direct morphology|
    49755003 |Morphologically abnormal structure (morphologic abnormality)|
    363701004 |Direct substance|
    105590001 |Substance (substance)|
    373873005 |Pharmaceutical / biologic product (product)|
    363702006 |Has focus|
    404684003 |Clinical finding (finding)|
    71388002 |Procedure (procedure)|
    363703001 |Has intent|
    363675004 |Intents (nature of procedure values) (qualifier value)|
    363710007 |Indirect device|
    49062001 |Device (physical object)|
    363709002 |Indirect morphology|
    49755003 |Morphologically abnormal structure (morphologic abnormality)|
    260686004 |Method|
    129264002 |Action (qualifier value)|
    260870009 |Priority|
    272125009 |Priorities (qualifier value)|
    405815000 |Procedure device|
    49062001 |Device (physical object)|
    71388002 |Procedure (procedure)|
    260686004 |Method|
    129265001 |Evaluation - action|
    246093002 |Component|
    123037004 |Body structure|
    410607006 |Organism|
    105590001 |Substance|
    123038009 |Specimen|
    260787004 |Physical object|
    373873005 |Pharmaceutical / biologic product|
    419891008 |Record artifact|
    363787002 |Observable entity|
    116686009 |Has specimen|
    123038009 |Specimen (specimen)|
    370129005 |Measurement method|
    127789004 |Laboratory procedure categorized by method (procedure)|
    370130000 |Property|
    118598001 |Property of measurement (qualifier value)|
    370132008 |Scale type|
    30766002 |Quantitative|
    26716007 |Qualitative|
    117363000 |Ordinal value|
    117365007 |Ordinal or quantitative value|
    117362005 |Nominal value|
    117364006 |Narrative value|
    117444000 |Text value|
    370134009 |Time aspect|
    7389001 |Time frame (qualifier value)|
    260507000 |Access|
    309795001 |Surgical access values (qualifier value)|
    363699004 |Direct device|
    49062001 |Device (physical object)|
    363700003 |Direct morphology|
    49755003 |Morphologically abnormal structure (morphologic abnormality)|
    363701004 |Direct substance|
    105590001 |Substance (substance)|
    373873005 |Pharmaceutical / biologic product (product)|
    363702006 |Has focus|
    404684003 |Clinical finding (finding)|
    71388002 |Procedure (procedure)|
    363703001 |Has intent|
    363675004 |Intents (nature of procedure values) (qualifier value)|
    363710007 |Indirect device|
    49062001 |Device (physical object)|
    363709002 |Indirect morphology|
    49755003 |Morphologically abnormal structure (morphologic abnormality)|
    260686004 |Method|
    129264002 |Action (qualifier value)|
    260870009 |Priority|
    272125009 |Priorities (qualifier value)|
    405815000 |Procedure device|
    http://snomed.org/dom386053000
    723601001 | Domain template for postcoordination|
    405816004 |Procedure morphology|
    49755003 |Morphologically abnormal structure (morphologic abnormality)|
    363704007 |Procedure site|
    442083009 |Anatomical or acquired body structure (body structure)|
    405813007 |Procedure site - Direct|
    442083009 |Anatomical or acquired body structure (body structure)|
    405814001 |Procedure site - Indirect|
    442083009 |Anatomical or acquired body structure (body structure)|
    370131001 |Recipient category|
    125676002 |Person (person)|
    35359004 |Family (social concept)|
    133928008 |Community (social concept)|
    105455006 |Donor for medical or surgical procedure (person)|
    389109008 |Group (social concept)|
    246513007 |Revision status|
    261424001 |Primary operation (qualifier value)|
    255231005 |Revision - value (qualifier value)|
    257958009 |Part of multistage procedure (qualifier value)|
    425391005 |Using access device|
    49062001 |Device (physical object)|
    424226004 |Using device|
    49062001 |Device (physical object)|
    424244007 |Using energy|
    78621006 |Physical force (physical force)|
    424361007 |Using substance|
    105590001 |Substance (substance)|
    49062001 |Device (physical object)|
    405816004 |Procedure morphology|
    49755003 |Morphologically abnormal structure (morphologic abnormality)|
    363704007 |Procedure site|
    442083009 |Anatomical or acquired body structure (body structure)|
    405813007 |Procedure site - Direct|
    442083009 |Anatomical or acquired body structure (body structure)|
    405814001 |Procedure site - Indirect|
    442083009 |Anatomical or acquired body structure (body structure)|
    370131001 |Recipient category|
    125676002 |Person (person)|
    35359004 |Family (social concept)|
    133928008 |Community (social concept)|
    105455006 |Donor for medical or surgical procedure (person)|
    389109008 |Group (social concept)|
    246513007 |Revision status|
    261424001 |Primary operation (qualifier value)|
    255231005 |Revision - value (qualifier value)|
    257958009 |Part of multistage procedure (qualifier value)|
    425391005 |Using access device|
    49062001 |Device (physical object)|
    424226004 |Using device|
    49062001 |Device (physical object)|
    424244007 |Using energy|
    78621006 |Physical force (physical force)|
    424361007 |Using substance|
    105590001 |Substance (substance)|
    compositional grammar
    concept model
    domain
    expression
    expression constraint
    machine readable concept model
    postcoordinated expression
    precoordinated expression
    range
    reference set
    substrate