Creating an inherited codelist

From Metadata Technology Wiki
Jump to navigation Jump to search

Overview

This time-saving feature allows you to inherit codes from another Codelist rather than having to recreate codes that are already in the Registry.

To do this:

Step 1 - Select an existing Codelist

You can do this from either a new or an existing Codelist. In step 1 of the wizard on the right-hand side of the page, you will see the Inheritance buttons.

Using Inheritance

If the Add button is clicked, a list of Codelists will be displayed and you can select one or more to be used.

Chose a codelist

Having selected a Codelist, you will see the selection reflected in Step 1 of the Wizard.

Codelist Step 1

Step 2 - Adding new codes

This can be done in the usual way either via Step 2 of the Wizard (CSV import) or via Step 3 (Manual Editing). It is important to note that in the Codelist which is inheriting codes from another Codelist, only codes added will be displayed in the Wizard as shown in the example below (Step 4 of the Wizard).

Note: If you add a code which has the name ID as one in the Inherited Codelist, the one that you add manually will be used when this Codelist is referenced by a Concept Scheme or a Data Structure.

Codelist - Step 4

Viewing the whole Codelist

From the Codelist page, if you select View you will be able to see all codes, both inherited and manually added.

Viewing a Codelist with Inherited Codes

Other Features

Remove Inheritance

From Step 1 of the Codelist, select the one to be removed and click Remove.

Change order of Precedence

Use the Move up and Down buttons if you have more than 1 inherited Codelist and a code appears on both to set the order of precedence

Annotations

The Inheritance is recorded as an Annotation and, as such would be treated as an Internal Setting when a structure is downloaded as detailed in the Export Structures article.

The annotation type is EXTENDS as shown below.

Annotation type - extend

Deleting Codelists

If the Codelist with Inheritances applied is deleted there are no other implications.

If the Codelist which has been used in an Inheritance is deleted, the codes that were in that Codelist will be copied to the Codelist which used them in an Inheritance.