All extensions must specify their extension module dependencies and language preferences. In this section, we describe the essential reference sets that support this.
Whenever a new description is added in an extension, the language preferences associated with that description must be specified. This is done by adding rows to a language reference set to indicate whether each description is | acceptable| or | preferred| in the given language or dialect.
Attributes
As previously mentioned, all reference sets use six common attributes. In addition to these, a | Language type reference set| also includes an acceptabilityId. The table below explains how each of these attributes is populated in a | Language type reference set| .
Table: Summary of language reference set attributes
Attribute
Data Type
Use in a Language Reference Set
In the image below, two rows from the are shown. Note that these rows specify French Canadian language preferences for the concept .
Please note the following:
The id column shows a UUID that has been uniquely generated for each refset member.
The moduleId indicates that these refset members belong to the .
The refsetId indicates that both members are part of the .
Identifies the module to which this reference set member belongs. For members in an extension, this will always be a module created by the extension producer.
refsetId
SCTID
This refers to the concept id of a descendant of [
referencedComponentId
SCTID
The referencedComponentId refers to the id of the description whose acceptability is being defined.
acceptabilityId
SCTID
The acceptabilityId indicates whether the description referenced by the referencedComponentId is [
The referencedComponentId indicates the description for which the acceptability is being specified.
The acceptabilityId indicates that both of these descriptions are | Preferred| in this language.
Rows from the |Canada French language reference set
SCTID
Module Dependency Reference Set
Module Dependency Reference Set
Every extension must contain at least one module, which is used to organize the extension content. The dependencies that the extension modules have on other modules (including on the | SNOMED CT core module| and the | SNOMED CT model component module| ) must be specified in the extension. This is done by adding new members to the | Module dependency reference set| . Each new versioned release of the extension requires a new version to be created for each extension member of the | Module dependency reference set| .
Attributes
As previously mentioned, all reference sets use six common attributes. In addition to these, a | Module dependency reference set| also includes a sourceEffectiveTime and targetEffectiveTime. The table below explains how each of these attributes is populated in a | Module dependency reference set| .
Table: Summary of module dependency reference set attributes
Attribute
Data Type
Use in a Module Dependency Reference Set
The table below shows three rows from the in the 20170301 US Edition of SNOMED CT. Please note that the SCTIDs in the moduleId and referenceComponentId columns have been replaced with their preferred terms for improved readability.
Table: Module dependency reference set rows
id
effectiveTime
active
moduleId
refsetId
referencedComponentId
sourceEffectiveTime
targetEffectiveTime
Please note the following:
The first row states that the 20170731 version of the source module is dependant on the 20170731 version of the target module .
The second row states that the 20170901 version of the source module is dependant on the 20170731 version of the target module .
The third row states that the 20170901 version of the source module is dependant on the 20170731 version of the
Identifies the module to which this reference set member belongs to. In the , this also represents the moduleId of the dependent module (which is the source of the dependency). The module dependencies are therefore always specified within the dependent module. This ensures that anyone who has access to an extension module can access the relevant dependencies.
refsetId
SCTID
In a , this always refers to the concept . All module dependencies are included in this common reference set.
referencedComponentId
SCTID
The referencedComponentId specifies the module that is the target of the dependency. The value of this attribute is the id of the module on which the source module (referred to by the moduleId attribute) is dependent.
sourceEffectiveTime
Time
Specifies the version of the dependent module (referred to by the moduleId attribute) for which the dependency applies. The snapshot view of the dependent module at the given sourceEffectiveTime represents the state of the terminology in which the dependency applies.
targetEffectiveTime
Time
Specifies the version of the target module (referred to by the referencedComponentId attribute) on which the dependent module depends. The snapshot view of the target module at the given targetEffectiveTime represents the state of the terminology in which the dependency applies.
900000000000534007
20170731
20170731
5e28836d-1647-5e4c-8345-181f8696f0c4
20170901
1
900000000000534007
20170901
20170731
c4f97804-9fb2-52a8-8772-987e6db9c372
20170901
1
900000000000534007
20170901
20170731
target module
. Note that this is an example of a transitive dependency that must be explicitly stated.
id
UUID
Can be generated using a standard UUID generator.
effectiveTime
Time
Specifies the date on which this version of the reference set member was released.
active
Boolean
Indicates whether or not the reference set member is active at the given effectiveTime. This value is set to "1" for new reference set members.
Once a concept exists, which identifies the reference set being populated, the individual reference set members can be added as rows to the associated reference set file.
In this section, we discuss an example reference set, and explain how its members are represented in an extension.
The referencedComponentId column refers to the concept that the given reference set member is referencing. Note that most of the referenced components are international concepts, while the referencedComponentId in the last row refers to a concept created in the Canadian extension. Please also note that the version of the referenced component that is referred to is established according to the dependencies defined in the | Module dependency reference set| .
All reference sets require a concept to be created that represents the meaning of the reference set, provides the identification of the reference set, and names the reference set. These reference set concepts are created in the | Reference set (foundation metadata concept)| subhierarchy as subtypes of a reference set concept that represents the associated reference set pattern. For more information about creating a reference set concept in an extension, please refer to Create New Reference Set in an Extension.
In this section, we discuss an example reference set concept ( | Route of administration reference set| ) from the 20170430 Canadian extension, and explain how this concept and its associated descriptions, relationships and language preferences are represented.
Example reference set concept in the concept table
Please note the following:
The concept id uses a namespace identifier allocated to Canada Health Infoway.
The concept id uses a partition identifier of “10” to indicate that this concept was create in an extension.
The moduleId indicates that this concept belongs to the .
The definitionStatusId indicates that this concept is . Please note that all metadata concepts in SNOMED CT are .
In the image below, a set of rows from the description table are shown. These descriptions provide terms that describe the concept .
Please note the following:
The description id uses a namespace identifier allocated to Canada Health Infoway.
The description id uses a partition identifier of “11” to indicate that these descriptions were created in an extension.
The moduleId indicates that these descriptions belong to the .
In the image below, a row from the relationship table is shown. This relationship defines the supertype concept of .
Please note the following:
The relationship id uses a namespace identifier allocated to Canada Health Infoway.
The relationship id uses a partition identifier of “12” to indicate that this relationship was originally created in an extension.
The moduleId indicates that these relationships belong to the .
In the image below, a set of rows from the are shown. These rows define the language preferences for the descriptions associated with the concept .
Please note the following:
The id is a UUID that was generated for the corresponding refset member.
The moduleId indicates that these refset members belong to the .
The refsetId column indicates that these rows are members of the . Note, that if the relevant language reference set does not exist, this must be created using the same process.
The conceptId links the descriptions to the reference set concept .
A languageCode of "en" indicates that the terms are written in English.
The typeId indicates that the first description is a , while the following two are of type .
The term is used to name the associated reference set.
The caseSignificanceId indicates that the terms is .
The sourceId indicates that the relationship applies to the concept .
The typeId indicates that the relationship represents an relationship.
The destinationId indicates that is a supertype of .
The characteristicTypeId and modifierId columns have been omitted from this diagram for brevity.
The referencedComponentId column refers to the descriptions for which the acceptability is being specified.
The acceptabilityId column indicates the and descriptions in the given language dialect (in this case Canadian English).
Reference sets use a range of different attributes depending on the reference set type. While a detailed discussion of all reference set attributes is outside the scope of this document, this section briefly reviews some of the key attributes. Please refer to in the Practical Guide to Reference Sets for more information on reference set types and their specific attributes. Please refer to 5.4.5 Authoring Reference Sets and Authoring Reference Set Members for more information on the principles and processes for authoring reference sets and their members.
All reference sets share six common attributes:
id
effectiveTime
active
moduleId
refsetId
referencedComponentId
The following subsections explain how these attributes are used in an extension.
The first attribute of every extension reference set member is 'id '. Unlike the id of a SNOMED CT component, the id of a reference set member is a UUID (Universally Unique Identifier). UUIDs are 128-bit unsigned integers, which are uniquely generated using widely available algorithms. This avoids the need to track the issuing of SCTIDs for thousands of reference set rows. When used in a reference set, the id identifies the reference set member or row.
Table: Example UUIDs
The second attribute of every extension reference set member is 'effectiveTime '. This attribute specifies the date on which the specific version of the reference set member was released, using the ISO 8601 YYYYMMDD format. When a reference set member is added or modified in an extension, the effectiveTime of the member version will match the version date of the release.
The third attribute of every extension reference set member is 'active '. This attribute specifies whether or not the specific version of the reference set member is active at the given effectiveTime. The data type of this attribute is Boolean, with a value of "1" indicating that the member is active at the given effective time and a value of "0" indicating that the member is inactive at the given effectiveTime. New reference set members in an extension will use an active value of "1".
The fourth attribute in every extension reference set member is 'moduleId '. This attribute specifies the module in which the member is being maintained at the given effective time. The value of this attribute is the SCTID of a module concept that is created and maintained by the extension producer. Please refer to for more information on this topic.
The fifth attribute in every extension reference set member is 'refsetId '. This attribute refers to the id of the reference set concept that is used to represent the meaning of the reference set to which the given member belongs. The reference set concept must be a subtype of . The descriptions associated with this concept help to name the reference set. For more information, please refer to .
The sixth attribute of every extension reference set member is 'referencedComponentId '. This attribute uses a SCTID to identify the component that is referenced by this member of the reference set. For example, the referencedComponentId may refer to a member of a subset represented by a , to the description whose acceptability is being defined in a , or to the source of map in a .