Quality Assurance Requirements
It is important to check the integrity of a SNOMED CT release package before importing it into an operational terminology server for the first time. The extent and depth of quality assurance checking should take account of past experience of the quality of release packages received from the responsible organization. SNOMED International, applies a robust quality assurance process to the International Edition and those responsible for established National Editions follow similar processes. Nevertheless, it is recommended that the General Release Package Integrity Checks described below are carried out on all release packages. In the case of extension release packages, it is strongly recommended that the Additional Checks for Extension Release Files are also carried out before importing data.
General Release Package Integrity Checks
To validate the integrity of SNOMED CT release packages, checks can be performed to confirm that:
- The distribution files imported are all part of the same release:
- The set of files imported is complete and includes all mandatory components.
- In the case of a delta release, the data previously imported is the version immediately prior to the delta release being imported.
- In the case of a snapshot or full release, pre-existing data has been removed:
- Alternatively, the import process may be configured to overwrite duplicate rows so that:
- The end result of a snapshot import does not contain any obsolete rows;
- The end result of a full release import is identical to the content of the full release.
- Alternatively, the import process may be configured to overwrite duplicate rows so that:
- All component Identifiers have:
- A partition identifier appropriate to the type of component;
- A valid check-digit.
- All fields meet data type, size and value constraints
- These criteria are specified in the following sections of the SNOMED CT Release File Specifications: 4 Component Release Files Specification and 5 Reference Set Release Files Specification.
- All concepts must have at least two active descriptions (one of type 900000000000013009 | Synonym| and one of type 900000000000003001 | Fully specified name| ).
- All active concepts (except the root concept 138875005 | SNOMED CT Concept| ) must have at least one active relationship of type 116680003 | Is a| .
Other consistency checks may also be applied to ensure the integrity of the data.
Additional Checks for Extension Release Files
The process of importing an extension is similar to importing the main distribution files. However, some additional checks are required to ensure appropriate installation, maintenance, and use of an extension.
Applications should check each extension prior to installation to ensure that:
- It is an extensions recognized and formally approved for use by a suitable authority within the user organization.
- It is supported by, or based on, the currently installed International edition version.
- The required versions of other extensions on which this extension depends have already been installed (or have been selected for installation as part of the same import process).
- All dependencies of the extension module are represented by rows in the Module Dependency Reference Set.
- The relevant rows have a moduleId value that matches the moduleId of the extension and a sourceEffectiveTime that matches the current version of the extension.
- Each of these rows represents a dependency on a module version represented by the referencedComponentId and targetEffectiveTime values.
- The installation procedure has pre-checked all components in the extension to ensure that:
- All components have a moduleId that is valid for the extension.
- All component identifiers:
- Are unique for a particular effectiveTime;
- Have a partition identifier appropriate to the type of component;
- Have a namespace Identifier appropriate to the provider of that extension;
- Have a valid check-digit;
- All fields meet data type, size and value constraints specified for the relevant tables.
Warning
If any components fail any of these tests the entire extension should be rejected. Rejecting individual components is liable to lead to inconsistent data. Accepting data that fails these test may create conflicts between different extensions or between an extension and the International or National edition.
Feedback