...
Overview
Content in one module may refer to content in another module. This is because components and derivatives in SNOMED CT will refer to other components which may be part of a separate module. Dependencies on other modules include references to:For example, a concept in an extension module may by the source of an
Concept |
---|
ShowParts | term |
---|
t | 116680003 |is a| |
---|
|
relationship, whose destination is a concept in the international core module. Content dependencies may include:- Extension concepts with an Concepts that are the destination of
Concept |
---|
ShowParts | term |
---|
t | 116680003 |Is a| |
---|
|
relationships - Concepts that represent values of defining attribute relationships
- Concepts that represent the type of defining attribute relationships
- Concepts to which additional descriptions are applied
- Concepts, descriptions and relationships that are identified in any reference set member
Clarification of Terms
aims to clarify the terms used when discussing dependencies in SNOMED CT. Note that the use of the word dependent in SNOMED CT is consistent with the meaning of the word in the English language.
Image Removed
- relationship whose destination is in another module
- Extension concepts with a defining attribute relationship whose destination is in another module
- Extension concepts with a defining relationship whose type belongs to another module
- Extension descriptions which are associated with a concept from another module
- Extension reference set members that reference components from another module
- Extension components with properties (e.g. definitionStatusId) that belong to the international
Concept |
---|
ShowParts | term |
---|
t | 900000000000012004 |SNOMED CT model component module| |
---|
|
Caption reference |
---|
CapRefId | a-dependent-module-implies-that-it-depends-on-another-module |
---|
CapRefType | Figure |
---|
|
illustrates a local extension module that references content in a national extension, and is therefore dependent on the national extension module; and similarly a national extension module that references content in the International Edition, and is therefore dependent on the international modules. Image Added
Caption label |
---|
CapId | a-dependent-module-implies-that-it-depends-on-another-module |
---|
CapType | Figure |
---|
|
A dependent module references content in the module it depends on |
In this situation, we refer to the local extension as being a 'child' of the national extension 'parent', because the local extension contains a module that is dependent on a module in the national extension. Similarly, the national extension is a 'child' of the International Edition 'parent', because the national extension contains a module that is dependent on a module from the International EditionWhen referring to dependencies in SNOMED CT, the dependencies work upward in a similar way that a child depends on its parents. In the diagram above, the grey arrows indicate that the local module depends on the national module which depends on the International module. In others words, the local module is dependent on the national module which is dependent on the International module. However, because the local and national module depend on other modules, we could also say that the local and national modules are dependents, as a child is dependent on their parent. A dependent is something that depends on something else and not the other way around. The only module in the diagram with no dependencies is the International module. Hence, it is not a dependent. The only module which is not depended on by other modules is the local module. Hence, it is not depended on.
Examples
The practical examples below demonstrate how content within a module can rely on another module, either directly or indirectly. As these examples also reference the logical design, the applicable SNOMED CT attributes have been bolded. For more detailed information on these attributes please refer to the SNOMED CT Release File Specifications.
Translation of Concepts
An extension, which provides includes translations of concepts from the International edition Edition, will include extension descriptions with a conceptId that can only be resolved by looking at whose conceptId belongs to the International Edition. Therefore the content in this extension 's module directly relies on content in a module in from the International Edition. depicts an example which necessitates a module dependency based on this content dependency.Image RemovedAs shown in
Caption reference |
---|
CapRefId | a-content-dependency-based-on-a-translation |
---|
CapRefType | Figure |
---|
|
, this content dependency results in a module dependency.
Image Added
Caption label |
---|
CapId | a-content-dependency-based-on-a-translation |
---|
CapType | Figure |
---|
|
A content dependency caused by a translation |
Defining Subsets of Concepts
A In this example, a local extension contains a simple refset representing reference set that represents a subset of concepts. If one or more of those the concepts are in a National extensionthis subset belong to the National Extension, the refset extension reference set will contain one or more rows in which the referencedComponentId refers refers to concepts from a concept which belongs to a module in that the national extension. Therefore content in this In this way, content from the local extension 's module relies on a module in a from the National extension. depicts an example which necessitates a module dependency based on this content dependency.
Image Removed
Adding Concepts
Extension.
Caption reference |
---|
CapRefId | a-content-dependency-caused-by-a-reference-set-member |
---|
CapRefType | Figure |
---|
|
illustrates another example in which a content dependency results in a module dependency.Image Added
Caption label |
---|
CapId | a-content-dependency-caused-by-a-reference-set-member |
---|
CapType | Figure |
---|
|
A content dependency caused by a reference set member |
Adding Concepts
In this example, the extension includes new clinical content. Because An extension has a requirement to add new clinical content. Note that all active concepts in an extension must be subsumed by the root concept, |SNOMED CT Concept|. This means that , there must exist at least one
Concept |
---|
ShowParts | term |
---|
t | 116680003 |is a| |
---|
|
relationship relationship in the extension
must have with a
destinationId which that refers to a concept
that is NOT in the extension. Therefore in another module. Clinical content in the extension
's module
relies on an International Edition module, either either must depend on the international core module either directly or indirectly.
depicts an example which necessitates a module dependency based on this content Caption reference |
---|
CapRefId | a-content-dependency-caused-by-an-is-a-relationship |
---|
CapRefType | Figure |
---|
|
illustrates another example in which a content dependency results in a module dependency.
...
Caption label |
---|
CapId | a-content-dependency-caused-by-an-is-a-relationship |
---|
CapType | Figure |
---|
|
A content dependency caused by an |is a| relationship |
Module Dependency Reference Set
The
...
These content dependencies described above create a need to establish a formal linkage link between modules. This linkage is established by specifying that one module is dependent on another. Dependencies the dependent module and the modules on which it depends. These dependencies are defined in SNOMED CT are defined at the module level which is more specific than the extension level because an extension may contain more than one module, rather than being defined based on an entire extension. This allows extensions to be subdivided in to into separate modules, with different dependencies on another module modules in the same extension, in other extensions, or in the International Edition.
Note It is important to note that module dependencies are version specific. Each This means that each module dependency specifies the date specific version of both the source and target modules. This is necessary because changes in a new version of the target module may not be compatible with the current version of the source module(child) module that is dependent on a specific version of the target (parent) module. This approach is important as new versions of either the source or target modules may affect the required dependencies.
Info |
---|
|
A module is dependent on another module if it contains references to any component in another module. |
Info |
---|
|
A module may only contain references to SCTIDs which exist within the module itself, or in any module it depends on. |
Info |
---|
|
Content dependencies are distinct from module dependencies. A content dependency is established when a component or derivative references content which belongs to another module. Module dependencies are therefore needed to address the content dependencies which already exist. Module dependencies are required to establish the linkages between content in distinct modules. |
...
An organization maintaining an extension must include a formal representation of The extension producer is responsible for specifying the module dependencies for every version of each extension module they release. Module dependencies are specified using by adding rows in the
Concept |
---|
ShowParts | term |
---|
t | 900000000000534007 |Module dependency reference set| |
---|
|
. For more information on this
refset structurereference set format, please refer to
4.3.2.4.2 Module Dependency Reference Set.
...
It is important to note that all dependencies for each module (including transitive dependencies) must be explicitly stated. For example,
Caption reference |
---|
CapRefId | extension-dependencies-are-not-transitive |
---|
CapRefType | Figure |
---|
|
illustrates an example in which all 3 dependencies must be explicitly stated: Module C is dependent on Module B, Module B is dependent on Module A and Module C is dependent on Module A.Image Added
Caption label |
---|
CapId | extension-dependencies-are-not-transitive |
---|
CapType | Figure |
---|
|
Explicitly stating transitive module dependencies |
Note that the dependencies between modules are not transitive. All the dependencies of each module must be explicitly stated.
For example, in, Module C is dependent on both Module B and Module A because content in Module C references content in both modules. Even though Module B has a stated dependency on Module A, it is still necessary to explicitly state that Module C depends on Module A.
...