Principles

When the owner of a reference set wants to end support for the reference set, this should be indicated by making the changes described in the process section below.

In the situation where the reference set belongs to an extension, the owner of the extension may only make these changes to a reference set that is currently in an extension module for which it is responsible. The exception to that rule is that, in the case where a responsibility for maintenance of a reference set is transferred to another organization, the organization to which responsibility is transferred is required to take some of these steps.

Prior to ending support for a reference set, it is important that the reference set producer has an overview of the extent to which the reference set is used. If a producer and owner of a reference set continues to distribute an unsupported reference set with active members, there is an inherent risk that it will continue to be used. However, deprecation formally inactivates the references set members to mim this possibility.

Process

The table below provides details and considerations on the process of inactivating a reference set.


Reason for Ending SupportOrganization responsible currently responsible for the reference setOrganization accepting transfer of responsibility for the reference set
Transfer of responsibility for maintenance to an organization that is responsible for a module on which the current module depends
  1. Request the newly responsible organization to issue new versions of the reference set concept, metadata and active reference set members using the same identifiers but changing the moduleId to refer to the module in which the reference set is now being maintained.
  2. Inform users that the reference set is now being maintained by another organization.
  3. Do not inactivate or otherwise alter any of the existing concepts or reference set members.
  4. Ensure that documentation explaining this change is prepared and distributed to all users of the extension.
  1. Create new versions of the reference set concept and related metadata. The new versions of components must have the updated effectiveTime for the relevant release date and the moduleId of the module in which the reference set will now be maintained. However, the id and all other fields must have the same values as in the original versions.
  2. Create new versions of all active members from of the reference set. The new versions of references set members must an updated effectiveTime for the relevant release date and the moduleId of the module in which the reference set will now be maintained. However, the id, refsetId and all other fields must have the same values as in the original versions.
Transfer of responsibility for maintenance to an organization that is not responsible a module on which the current module depends
  1. Request the newly responsible organization to create and maintain a new reference set in their own extension module. The newly created reference set concept and metadata should replicate the and includes all all the members of the original reference set that were active immediately prior to deprecation.
  2. Inactivate the original reference set concept and metadata following the process described in 5.4.2.3 Inactivate Concept in an Extension.
  3. Inactivate all the members of the original reference set following the process described in 6.3.3.3 Remove Members from a Reference Set.
  4. Add a row to the indicating the reason for inactivation of the reference set.
  5. Ensure that documentation explaining this change is prepared and distributed to all users of the extension.
  1. Create a new reference set following the process described in 6.3.2.1 Create a New Reference Set. The reference set must have a newly allocated id, the updated effectiveTime for the relevant release date and the moduleId of the module in which the reference set is being created. However, the name and all other fields should have the same values as in the original versions.
  2. Create new members of the newly created reference set following the process described in 6.3.3.1 Add Members to a Reference Set. A member must created matching each of the active members of original reference set.
  3. Create a row in the indicating that the original reference set has been replaced by this reference set.
Ending maintenance of without formally deprecating continued use of a reference set
  1. Inactivate the reference set concept, following the process described in 5.4.2.3 Inactivate Concept in an Extension.
  2. Do not inactivate the members of the reference set.
  3. Add a row to the indicating the reason for inactivation of the reference set.
  4. Ensure that documentation explaining this change is prepared and distributed to all users of the extension.
-
Deprecating continued use of a reference set
  1. Inactivate the reference set concept and metadata following the process described in 5.4.2.3 Inactivate Concept in an Extension.
  2. Inactivate all the members of the reference set following the process described in 6.3.3.3 Remove Members from a Reference Set.
  3. Add a row to the indicating the reason for inactivation of the reference set.
  4. Ensure that documentation explaining this change is prepared and distributed to all users of the extension.
-


Distribution of an Inactivated Reference Set and its Members

If the extension producer wants to avoid users from needing to import a deprecated or transferred reference set in future releases, the inactivated reference set may be separated from the main extension release (e.g. it could be in a separate release package, or accessible via a separate service or from a static location). Changes in packaging must be formally notified to users of the extension in advance of the change.

It is essential that the inactive reference set concept, metadata and reference set members are included in the first release of the original release package after the changes are made. Otherwise users applying delta updates will not be aware that the change has been made.