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 and the ) must be specified in the extension. This is done by adding new members to the . Each new versioned release of the extension requires a new version to be created for each extension member of the .
As previously mentioned, all reference sets use six common attributes. In addition to these, a also includes a sourceEffectiveTime and targetEffectiveTime. The table below explains how each of these attributes is populated in a .
Summary of module dependency reference set attributes |
Attribute | Data Type | Use in a Module Dependency Reference Set |
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. |
moduleId | SCTID | 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. |
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.
Module dependency reference set rows |
id | effectiveTime | active | moduleId | refsetId | referencedComponentId | sourceEffectiveTime | targetEffectiveTime |
1244116f-fdb5-5645-afcc-5281288409da | 20170731 | 1 | 900000000000534007 | 20170731 | 20170731 | ||
5e28836d-1647-5e4c-8345-181f8696f0c4 | 20170901 | 1 | 900000000000534007 | 20170901 | 20170731 | ||
c4f97804-9fb2-52a8-8772-987e6db9c372 | 20170901 | 1 | 900000000000534007 | 20170901 | 20170731 |
Please note the following: