9 Structure Set and Mappings
9.1 Scope
A StructureSet allows components in one structure to be mapped to components in another structure of the same type. In this context the term “structure” is used loosely to 1786 include types of ItemScheme, types of Structure, and types of StructureUsage. The allowable structures that can be mapped, and the components that can be mapped within 1788 these structures are:
Structure Type Component type Codelist Code Category Scheme Category Concept Scheme Concept Organisation Scheme Organisation – this allows mapping any type of Organisation to any type of Organisation (e.g. a Data Provider to an Organisation Unit)
Hierarchical Codelist Hierachical Code to Code or vice-versa Data Structure Definition Metadata Structure Definition Target Object, Metadata Attribute Dataflow Definition None Metadataflow Definition None The StructureSet can contain one or more “maps” and can define related structures (via the association +relatedStructure) which group related DataStructureDefinitions, MetadataStructureDefinitions, DataflowDefinintions, MetadataflowDefinintions.
9.2 Structure Set
9.2.1 Class Diagram – Inheritance
Figure 32: Inheritance Class Diagram of the Structure Set
9.2.2 Class Diagram – Relationship
Figure 33: Relationship Class diagram of the Structure Set
9.2.3 Explanation of the Diagram
9.2.3.1 Narrative
The StructureSet is a MaintainableArtefact. It can contain:
- A set of references to concrete sub-classes of Structure and StructureUsage (DataStructureDefinition, MetadataStructureDefinition, DataflowDefinition or MetadataflowDefinition) to indicate that a relationship exists between them. For example there may be a group of DataStructureDefinition which, together, form the definition of a cube, each DataStructureDefinition defining a part of the cube.
- A set of StructureMaps which define which components of one structure are equivalent to those in another in a ComponentMap.
- A set of ItemSchemeMaps which define the mapping between two concrete classes of ItemScheme, and the mapping of the Items in these schemes, such as the mapping of Codes in two Codelists..
- A set of HybridCodelistMaps which define the mapping between a Codelist and a HierachicalCodelist.
The StructureMap references two Structures or StructureUsages. In concrete terms these references will be to DataStructureDefinitions, MetadataStructureDefinitions, DataflowDefinitions or MetadataflowDefinitions.
9.2.3.2 Definitions
Class Feature Description StructureSet Inherits from
MaintainableArtefactA maintainable collection of structural maps that link components together in a source/target relationship where there is a semantic equivalence between the source and the target components. +relatedStructure Association to a set of Data Structure Definitions and Metadata Structure Definitions. +relatedStructureUsage Association to a set of Dataflow Definition and Metadataflow Definition. +map Association to Structure Map. +itemSchemeMap Association to Item Scheme Map StructureMap Inherits from
NameableArtefactLinks a source and target structure where there is a semantic equivalence between the source and the target structures. sourceStructure Association to the source Structure. targetStructure Association to the target Structure which must be of the same type as the source Structure. sourceStructureUsage Association to the source Structure Usage. targetStructureUsage Association to the target Structure Usage which must be of the same type as the source Structure Usage. 9.3 Structure Map
9.3.1 Class Diagram
Figure 34: Class diagram of the Structure Map
9.3.2 Explanation of the Diagram
9.3.2.1 Narrative
The StructureMap contains a set of ComponentMaps, each one indicating equivalence between Components of the referenced Structure. ComponentMap has a RepresentationMapping which can be one of the concete classes of ItemSchemeMap (e.g. for a Dimension this would be a CodelistMap) or ToTextFormat which takes values: id, name, description. This instructs mapping tools to use the id, name or description of a coded component to determine equivalence with an uncoded component's value.
An example of a ComponentMap is linking the source Component that is a Dimension in the source DataStructureDefinition (identified in the StructureMap) to the equivalent target Component that is a Dimension in the target DataStructureDefinition).
9.3.2.2 Definitions
Class Feature Description StructureMap Inherits from
NameableArtefactLinks a source and target structure where there is a semantic equivalence between the source and the target structures. alias An alternate identification of the map, that allows the relation of multiple maps to be expressed by the sharing of this value. +map Association to the Component Map. ComponentMap Inherits from
AnnotableArtefactLinks a source and target Component where there is a semantic equivalence between the source and the target Components. alias An alternate identification of the map, that allows the relation of multiple maps to be expressed by the sharing of this value. preferredLanguage Specifies the language to use for the content of the To Text Format option of RepresentationMap +source Association to the source Component. +target Association to the target Component. +contentMap Association to the constructs that map the content of the Components – this will be either one of sub classes of Item Scheme or a mapping to text. Representation Mapping AbstractClass Sub classes:
SchemeMap
ToTextFormatDefines the mapping of the content of the source Component to the content of the target Component. SchemeMap Inherits from
RepresentationMappingAssociates an Item Scheme Map ToTextFormat Inherits from
RepresentationMappingDefines the text format textFormat Text format type. toValueType Identifies the construct to be taken from the Item of the source Component when mapping the content of the source Component to the content of the target Component. ToValueType Enumeration of the construct in the Item. 9.4 Item Scheme Map
9.4.1 Context
The ItemSchemeMap is used to associate the Items in two different ItemSchemes. This is a generic mechanism that can be used to map Items. Specific models exist for mapping schemes where there is a semantic equivalence between Items in the ItemScheme. The model supports the mapping of any two ItemSchemes of the same type. These are:
- ConceptScheme
- CategoryScheme
- OrganisationScheme
- Codelist
- ReportingTaxonomy
9.4.2 Class Diagram
Figure 35: Class diagram of the Item Scheme Map
9.4.3 Explanation of the Diagram
9.4.3.1 Narrative
Both the ItemSchemeMap and the ItemAssociation inherit from NameableArtefact.
Each of ConceptSchemeMap, CategorySchemeMap, CodelistMap and OrganisationSchemeMap, ReportingTaxonomyMap provides a mechanism for specifying semantic equivalence between the items (Concept, Category,Code, Organisation, ReportingCategory) in the scheme. Note that any type of OrganisationScheme and Organisation can be mapped (e.g. an Agency in an AgencyScheme can be mapped to an OrganisationUnit in an OrganisationUnitScheme).
Each scheme map identifies a +source and +target scheme whose content is to be mapped. Note that many schemes can be joined together via a set of pair-wise mappings. The ConceptMap, CategoryMap, CodelistMap, OrganisationMap,and ReportingTaxonomyMap denotes which Concepts, Categorys, Codes, Organisations, and ReportingCategorys are semantically equivalent and a shared alias can be specified to refer to a set of mapped concepts to facilitate querying.
9.4.3.2 Definitions
Class Feature Description ItemSchemeMap Inherits from Associates Schemes two Item NameableArtefact
Sub Classes
ConceptSchemeMap
CategorySchemeMap
CodelistMap
OrganisationSchemeMap
ReportingTaxonomyScheme
Mapsource Association to the source Item Scheme. target Association to the target Item Scheme. ItemAssociation Association to the Item Association. ItemAssociation Inherits from
AnnotableArtefact
Sub Classes
ConceptMap
CategoryMap
CodeMap
OrganisationMap
ReportingCategoryMapsource Association to the source Item. target Association to the target Item. ConceptSchemeMap Inherits from
ItemSchemeMapAssociates a source and target Concept Scheme /source Association to the source Concept Scheme. /target Association to the target Concept Scheme. ConceptMap Inherits from
ItemAssociationAssociates a source and target Concept. /source Association to the source Concept. /target Association to the target Concept. CodelistMap Inherits from
ItemSchemeMapAssociates a source and target Code list. /source Association to the source Code list. /target Association to the target Code list. CodeMap Inherits from
ItemAssociationAssociates a source and target Code. /source Association to the source Code. /target Association to the target Code. CategorySchemeMap Inherits from
ItemSchemeMapAssociates a source and target Category Scheme. /source Association to the source Category Scheme. /target Association to the target Category Scheme. CategoryMap Inherits from
ItemAssociationAssociates a source and target Category. /source Association to the source Category. /target Association to the target Category. OrganisationSchemeMap Inherits from
ItemSchemeMapAssociates a source and target Organisation Scheme. /source Association to the source Organisation Scheme. /target Association to the target Organisation Scheme. OrganisationMap Inherits from
ItemAssociationAssociates a source and target Organisation. /source Association to the source Organisation. /target Association to the target Organisation. ReportingTaxonomyMap Inherits from
ItemSchemeMapAssociates a source and target Reporting
Taxonomy.
/source Association to the source Reporting Taxonomy. /target Association to the target Reporting Taxonomy. ReportingCategoryMap Inherits from
ItemAssociationAssociates a source and target Reporting Category.
/source Association to the source Reporting Category. /target Association to the target Reporting Category. 9.5 Hybrid Codelist Map
9.5.1 Class Diagram
Figure 36: Class diagram of the Hybrid Codelist Map
9.5.2 Explanation of the Diagram
9.5.2.1 Narrative
The HybridCodelistMap maps the content of a Codelist and a HierachicalCodelist. It contains a mapping of the codes in the two schemes (HybridCodeMap). The HybridCodeMap maps either a Code or HierachicalCode to a Code or HierarchicalCode. The HierarchicalCode is identified by a combination of the Hierarchy and the HierarchicalCode.
9.5.2.2 Definitions
Class Feature Description HybridCodelist Map Inherits from
NameableArtefactAssociates a Codelist and a Hierarchical Codelist. alias An alternate identification of the map, that allows the relation of multiple maps to be expressed by the sharing of this value. +source Association to the source List. +target Association to the target List. +hybridCodeMap Association to the set of Hybrid Code Maps in the Hybrid Codelist Map. SourceList Abstract Class
Sub classes
SourceCodelist
SourceHierarchical
CodelistTargetList Abstract Class
Sub classes
TargetCodelist
TargetHierarchical
CodelistSourceCodelist Identifies the Codelist where this is the source of the map. TargetCodelist Identifies the Codelist where this is the target of the map. SourceHierarchical Codelist Identifies the Hierarchical Codelist where this is the source of the map. TargetHierarchical Codelist Identifies the Hierarchical Codelist where this is the target of the map. HybridCodeMap Inherits from
AnnotableArtefact+source Associates the Source Code Map. +target Associates the Target Code Map. SourceCodeMap Abstract Class
Sub classes
SourceCode
SourceHierarchical
CodeTargetCodeMap Abstract Class
Sub classes
TargetCode
TargetHierarchical
CodeSourceCode Identifies the Code where this is the source of the map. TargetCode Identifies the Code where this is the target of the map. SourceHierarchical Code Identifies the Hierarchical Code where this is the source of the map TargetHierarchical Code Identifies the Hierarchical Code where this is the target of the map. HierarchicalCode Reference References both the Hierarchy and the Hierarchical Code in a Hierarchical Codelist. +hierarchy
+codeAssociationAssociates the Hierarchical Code in the Hierarchy of the Hierarchical Codelist.