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 .

Attributes

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


AttributeData TypeUse in a Module Dependency Reference Set
idUUID

Can be generated using a standard UUID generator.

effectiveTimeTimeSpecifies the date on which this version of the reference set member was released.
activeBoolean

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.

moduleIdSCTID

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.

refsetIdSCTID

In a , this always refers to the concept . All module dependencies are included in this common reference set.

referencedComponentIdSCTID

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.

sourceEffectiveTimeTime

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.

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

Example

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


ideffectiveTimeactivemoduleIdrefsetIdreferencedComponentIdsourceEffectiveTimetargetEffectiveTime
1244116f-fdb5-5645-afcc-5281288409da201707311

900000000000534007

2017073120170731
5e28836d-1647-5e4c-8345-181f8696f0c4201709011

900000000000534007

2017090120170731
c4f97804-9fb2-52a8-8772-987e6db9c372201709011

900000000000534007

2017090120170731

Please note the following: