Search



Page tree

  

Purpose

There are a number of reasons for modifying a relationship in an extension, including: 

  • Changing the status of the relationship from active to inactive, or from inactive to active
  • Changing the relationship group of a specific relationship
  • Changing the characteristic type of a relationship

Principles

Relationships that are used to define extension concepts can be modified. However, please note that only the values of mutable attributes may be modified. As indicated in  Table 5.4.4.2-1, the six mutable attributes of a relationship are: effectiveTime, active, moduleId, relationshipGroup, characteristicTypeId, and modifierId. When a change is required to the source, destination or type of the relationship, the relationship must be inactivated and a new relationship created with the required values.

All modifications to a SNOMED CT relationship should also conform to the SNOMED CT concept model rules, including relationship group cardinality constraints. For more information please refer to the Editorial Guide and the Machine Readable Concept Model.

Relationships authored by SNOMED International, which define concepts in the International Edition, should not be modified. If an error is detected in the International Edition, which requires one or more relationships to be modified, the issue should be documented and reported to SNOMED International using the  Content Request Service. In situations in which an extension producer needs to modify a relationship to temporarily fix an issue, this should be done in a module owned by the extension producer, and reported to SNOMED International It is recommended that extension producers try to avoid modifying international relationships, as such modifications may affect the results of subsumption testing and therefore may have an impact on cross-edition interoperability.

Table 5.4.4.2-1: Mutability of relationship attributes

Field

Data type

Purpose

Part of Primary Key

id

SCTID

Uniquely identifies the relationship.

NO

YES (Full/ Snapshot) 

effectiveTime

Time

Specifies the inclusive date at which the component version's state became the then current valid state of the component.

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.

YES

YES (Full)

Optional (Snapshot) 

active

Boolean

Specifies whether the state of the relationship was active or inactive from the nominal release date specified by the effectiveTime field.

YES

NO

moduleId

SCTID

Identifies the relationship version's module. Set to a child of 900000000000443000 | Module| within the metadata hierarchy.

YES

NO

sourceId

SCTID

Identifies the source concept of the relationship version. That is the concept defined by this relationship. Set to the identifier of a concept.

NO

NO

destinationId

SCTID

Identifies the concept that is the destination of the relationship version.

That is the concept representing the value of the attribute represented by the typeId column.

Set to the identifier of a concept.

Note that the values that can be applied to particular attributes are formally defined by the   SNOMED CT Machine Readable Concept Model.

NO

NO

relationshipGroup

Integer

Groups together relationship versions that are part of a logically associated relationshipGroup. All activeRelationship records with the same relationshipGroup number and sourceId are grouped in this way.

YES

NO

typeId

SCTID

Identifies the concept that represent the defining attribute (or relationship type) represented by this relationship version.

That is the concept representing the value of the attribute represented by the typeId column.

Set to the identifier of a concept. The concept identified must be either 116680003 | Is a| or a subtype of 410662002 | Concept model attribute| . The concepts that can be used as in the typeId column are formally defined as follows:

Note that the attributes that can be applied to particular concepts are formally defined by the SNOMED CT Machine Readable Concept Model.

NO

NO

characteristicTypeId

SCTID

A concept enumeration value that identifies the characteristic type of the relationship version (i.e. whether the relationship version is defining, qualifying, etc.) This field is set to a descendant of 900000000000449001 | Characteristic type| in the metadata hierarchy.

YES

NO

modifierId

SCTID

A concept enumeration value that identifies the type of Description Logic (DL) restriction (some, all, etc.). Set to a child of 900000000000450001 | Modifier| in the metadata hierarchy.

Currently the only value used in this column is 900000000000451002 | Some| and thus in practical terms this column can be ignored. For further clarification please see Notes on modifierId.

YES

NO

 

Process

The table below provides a summary of the process to follow when modifying a relationship in an extension.

File TypeProcess
Stated Axiom

Modifying a concept definition involves updating the defining properties of the concept, i.e. making changes to the axioms that represent necessary conditions for the meaning of the concept. 

Once the update has been performed, the concept is classified together with the SNOMED CT content it belongs to, and a new set of relationships are inferred.

To prepare for publication, a new row representing the updated concept definition is added to the OWL axiom reference set.

The attributes of the reference set member representing the stated axiom are set as follows:

  • id is set to the UUID of the reference set member representing the definition of the concept being updated.
  • effectiveTime is set to the date the extension will be published
  • active is set to '1' to indicate that the new relationship will be active at the time of publication
  • moduleId is set to identify a module concept from the extension
  • referencedComponentId  is set to the identifier of the concept being updated 
  • owlExpression is set to the text of the OWL expression representing the updated defining properties of the new concept
Relationship



Depending on the nature of the change made, updates to the inferred relationship file will be made to reflect the changes.
This may involve:

  • Inactivating relationships that are no longer valid for the concept
  • Adding new relationships that represent new defining relationships
  • Updating existing relationships, when the change made only impacts mutable attributes for existing relationships, see above
    • in this case, a new row which represents a new version of the modified relationship is added to the relationship file.

The attributes of the new version of the relationship are set as follows:

  • id is set to the relationshipId of the relationship being modified
  • effectiveTime is set to the date the extension will be published
  • active is set to '1' to indicate that the new version of the relationship will be active at the time of publication
  • moduleId is set to identify a module concept from the extension

  • sourceId is set to the same as the original version of the relationship
  • destinationId is set to the same as the original version of the relationship
  • relationshipGroup is set to the updated relationship group number (or the original number if no update is required)
  • typeId is set to the same as the original version of the relationship
  • characteristicTypeId is set to the updated value (or the original value if no update is required)
  • modifierId is set to the updated value (or the original value if no update is required)

Feedback
  • No labels