Wiki source code of 4 Specific Item Schemes

Version 3.2 by Helena on 2025/05/20 12:01

Hide last authors
Helena 3.2 1 {{box title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
Helena 2.1 4
5 == {{id name="_Toc370987"/}}4.1 Introduction ==
6
7 The structures that are an arrangement of objects into hierarchies or lists based on characteristics, and which are maintained as a group inherit from //ItemScheme//. These concrete classes are:
8
Helena 3.2 9 * Codelist//  //
10 * ConceptScheme// //
11 * CategoryScheme//  //
Helena 2.1 12 * AgencyScheme, DataProviderScheme, DataConsumerScheme, OrganisationUnitScheme which all inherit from the abstract class //OrganisationScheme//
Helena 3.2 13 * Reporting Taxonomy//  //
Helena 2.1 14
15 == {{id name="_Toc370988"/}}4.2 Inheritance View ==
16
17 The inheritance and relationship views are shown together in each of the diagrams in the specific sections below.
18
19 == {{id name="_Toc370989"/}}4.3 Codelist ==
20
21 === {{id name="_Toc370990"/}}4.3.1 Class Diagram ===
22
23 **Figure 15 Class diagram of the Codelist**
24
25 === {{id name="_Toc370991"/}}4.3.2 Explanation of the Diagram ===
26
27 ==== 4.3.2.1 Narrative ====
28
29 The Codelist inherits from the //ItemScheme// and therefore has the following attributes:
30
31 * id
32 * uri
33 * urn
34 * version
Helena 3.2 35 * validFrom
36 * validTo
Helena 2.1 37 * isExternalReference
38 * serviceURL
39 * structureURL
40 * final
41 * isPartial
42
43 The Code inherits from //Item// and has the following attributes:
44
45 * id
46 * uri
47 * urn
48
49 Both Codelist and Code have the association to InternationalString to support a multi-lingual name, an optional multi-lingual description, and an association to Annotation to support notes (not shown).
50
51 Through the inheritance the Codelist comprise one or more Codes, and the Code itself can have one or more child Codes in the (inherited) hierarchy association. Note that a child Code can have only one parent Code in this association. A more complex HierachicalCodelist which allow multiple parents and multiple hierarchies is described later.
52
53 A partial Codelist (where isPartial is set to “true”) is identical to a Codelist and contains the Code and associated names and descriptions, just as in a normal code list. However, its content is a sub set of the full Codelist. The way this works is described in section 3.5.3.1 on //ItemScheme//.
54
55 ==== 4.3.2.2 Definitions ====
56
Helena 3.2 57 :
Helena 2.1 58
59 (((
60 |**Class**|**Feature**|**Description**
61 |Codelist|(((
62 Inherits from
63
64 //ItemScheme//
65 )))|A list from which some statistical concepts (coded concepts) take their values.
66 |Code|(((
67 Inherits from
68
69 //Item//
70 )))|A language independent set of letters, numbers or symbols that represent a concept whose meaning is described in a natural language.
Helena 3.2 71 | |/hierarchy|Associates the parent and the child codes.
Helena 2.1 72 )))
73
74 == {{id name="_Toc370992"/}}4.4 Concept Scheme and Concepts ==
75
76 === {{id name="_Toc370993"/}}4.4.1 Class Diagram - Inheritance ===
77
78 **Figure 16 Class diagram of the Concept Scheme**
79
80 === {{id name="_Toc370994"/}}4.4.2 Explanation of the Diagram ===
81
82 The ConceptScheme inherits from the //ItemScheme //and therefore has the following attributes:
83
Helena 3.2 84 * id//  //
85 * uri//  //
86 * urn//  //
87 * version//  //
88 * validFrom//  //
89 * validTo//  //
Helena 2.1 90 * isExternalReference
91 * registryURL
92 * structureURL
93 * repositoryURL
Helena 3.2 94 * final//  //
95 * isPartial//  //
Helena 2.1 96
97 Concept inherits from Item and has the following attributes:
98
99 * id
100 * uri
101 * urn
102
103 Through the inheritance from //NameableArtefact// both ConceptScheme and Concept have the association to InternationalString to support a multi-lingual name, an optional multi-lingual description, and an association to Annotation to support notes (not shown).
104
105 Through the inheritance from //ItemScheme// the ConceptScheme comprise one or more Concepts, and the Concept itself can have one or more child Concepts in the (inherited) hierarchy association. Note that a child Concept can have only one parent Concept in this association.
106
107 A partial ConceptScheme (where isPartial is set to “true”) is identical to a ConceptScheme and contains the Concept and associated names and descriptions, just as in a normal ConceptScheme. However, its content is a sub set of the full ConceptScheme.
108
109 The way this works is described in section 3.5.3.1 on ItemScheme.
110
111 === {{id name="_Toc370995"/}}4.4.3 Class Diagram - Relationship ===
112
113 **Figure 17: Relationship class diagram of the Concept Scheme**
114
115 === {{id name="_Toc370996"/}}4.4.4 Explanation of the diagram ===
116
117 ==== 4.4.4.1 Narrative ====
118
119 The ConceptScheme can have one or more Concepts. A Concept can have zero or more child Concepts, thus supporting a hierarchy of Concepts. Note that a child Concept can have only one parent Concept in this association. The purpose of the hierarchy is to relate concepts that have a semantic relationship: for example a Reporting_Country and Vis_a_Vis_Country may both have Country as a parent concept, or a CONTACT may have a PRIMARY_CONTACT as a child concept. It is not the purpose of such schemes to define reporting structures: these reporting structures are defined in the
120
121 MetadataStructureDefinition.
122
123 The Concept can be associated with a coreRepresentation. The coreRepresentation isthe specification of the format and value domain of the Concept when used on a structure like a DataStructureDefinition or a
124
125 MetadataStructureDefinition, unless the specification of the Representation is overridden in the relevant structure definition. In a hierarchical ConceptScheme the Representation is inherited from the parent Concept unless overridden at the level of the child Concept.
126
127 Note that the ConceptScheme is used as the Representation of the MeasureDimension in a DataStructureDefinition (see 5.3.2). Each Concept in this ConceptScheme is a specific measure, each of which can be given a coreRepresentation. Thus the valid format of the observation for each measure when reported in a data set for the MeasureDimension is specified in the Concept. This allows a different format for each measure. This is covered in more detail in 5.3.
128
129 The Representation is documented in more detail in the section on the SDMX Base.
130
131 The Concept may be related to a concept described in terms of the ISO/IEC 11179 standard. The ISOConceptReference identifies this concept and concept scheme in which it is contained.
132
133 ==== 4.4.4.2 Definitions ====
134
Helena 3.2 135 :
Helena 2.1 136
137 (((
138 |**Class**|**Feature**|**Description**
139 |ConceptScheme|(((
140 Inherits from
141
142 //ItemScheme//
143 )))|The descriptive information for an arrangement or division of concepts into groups based on characteristics, which the objects have in common.
144 |Concept|(((
145 Inherits from
146
147 //Item//
148 )))|A concept is a unit of knowledge created by a unique combination of characteristics.
Helena 3.2 149 | |/hierarchy|Associates the parent and the child concept.
150 | |coreRepresentation|Associates a Representation.
151 | |+ISOConcept|Association to an ISO concept reference.
152 |ISOConceptReference| |The identity of an ISO concept definition.
153 | |conceptAgency|The maintenance agency of the concept scheme containing the concept.
154 | |conceptSchemeID|The identifier of the concept scheme.
155 | |conceptID|The identifier of the concept.
Helena 2.1 156 )))
157
158 == {{id name="_Toc370997"/}}4.5 Category Scheme ==
159
160 === {{id name="_Toc370998"/}}4.5.1 Context ===
161
162 This package defines the structure that supports the definition of and relationships between categories in a category scheme. It is similar to the package for concept scheme. An example of a category scheme is one which categorises data – sometimes known as a subject matter domain scheme or a data category scheme. Importantly, as will be seen later, the individual nodes in the scheme (the “categories”) can be associated to any set of IdentiableArtefacts in a Categorisation.
163
164 === {{id name="_Toc370999"/}}4.5.2 Class diagram - Inheritance ===
165
166 ====== Figure 18 Inheritance Class diagram of the Category Scheme ======
167
168 === {{id name="_Toc371000"/}}4.5.3 Explanation of the Diagram ===
169
170 ==== 4.5.3.1 Narrative ====
171
172 The categories are modelled as a hierarchical //ItemScheme//. The CategoryScheme inherits from the //ItemScheme// and has the following attributes:
173
Helena 3.2 174 * id//  //
Helena 2.1 175 * uri
176 * urn
177 * version
178 * validFrom
179 * validTo
180 * isExternalReference
181 * structureURL
182 * serviceURL
183 * final
Helena 3.2 184 * isPartial//  //
Helena 2.1 185
186 Category inherits from //Item// and has the following attributes:
187
188 * //id//
189 * //uri//
190 * //urn//
191
192 Both CategoryScheme and Category have the association to InternationalString to support a multi-lingual name, an optional multi-lingual description, and an association to Annotation to support notes (not shown on the model).
193
194 Through the inheritance the CategoryScheme comprise one or more Categorys, and the Category itself can have one or more child Category in the (inherited) hierarchy association. Note that a child Category can have only one parent Category in this association.
195
196 A partial CategoryScheme (where isPartial is set to “true”) is identical to a CategoryScheme and contains the Category and associated names and descriptions, just as in a normal CategoryScheme. However, its content is a sub set of the full CategoryScheme. The way this works is described in section 3.5.3.1 on ItemScheme.
197
198 === {{id name="_Toc371001"/}}4.5.4 Class diagram - Relationship ===
199
200 **Figure 19: Relationship Class diagram of the Category Scheme**
201
202 The CategoryScheme can have one or more Categorys. The Category is Identifiable and has identity information. A Category can have zero or more child Categorys, thus supporting a hierarchy of Categorys. Any IdentifiableArtefact can be +categorisedBy a Category. This is achieved by means of a Categorisation. Each
203
204 Categorisation can associate one IdentifiableArtefact with one Category. Multiple Categorisations can be used to build a set of IdentifiableArtefacts that are +categorisedBy the same Category. Note that there is no navigation (i.e. no embedded reference) to the Categorisation from the Category. From an implementation perspective this is necessary as Categorisation has no affect on the versioning of either the Category or the IdentifiableArtefact.
205
206 ==== 4.5.4.1 Definitions ====
207
Helena 3.2 208 :
Helena 2.1 209
210 (((
211 |**Class**|**Feature**|**Description**
212 |CategoryScheme|(((
213 Inherits from
214
215 //ItemScheme//
216 )))|The descriptive information for an arrangement or division of categories into groups based on characteristics, which the objects have in common.
Helena 3.2 217 | |/items|Associates the categories.
Helena 2.1 218 |Category|(((
219 Inherits from
220
221 //Item//
222 )))|An item at any level within a classification, typically tabulation categories, sections, subsections, divisions, subdivisions, groups, subgroups, classes and subclasses.
Helena 3.2 223 | |/hierarchy|Associates the parent and the child Category.
Helena 2.1 224 |Categorisation|(((
225 Inherits from
226
227 MaintainableArtefact
228 )))|Associates anIdentifableArtefact with a Category.
Helena 3.2 229 | |+categorisedArtefact|Associates the IdentifableArtefact.
230 | |+categorisedBy|Associates the Category.
Helena 2.1 231 )))
232
233 == {{id name="_Toc371002"/}}4.6 Organisation Scheme ==
234
235 === {{id name="_Toc371003"/}}4.6.1 Class Diagram ===
236
237 [[image:SDMX_2-1_SECTION_2_InformationModel_2020-07_dcd0149.png||height="456" width="580"]]
238
239 ====== Figure 20 The Organisation Scheme class diagram ======
240
241 === {{id name="_Toc371004"/}}4.6.2 Explanation of the Diagram ===
242
243 ==== 4.6.2.1 Narrative ====
244
245 The //OrganisationScheme// is abstract. It contains //Organisation// which is also abstract. The Organisation can have child Organisation.
246
247 The //OrganisationScheme// can be one of four types:
248
249 1. AgencyScheme – contains Agency which is restricted to a flat list of agencies (i.e. there is no hierarchy). Note that the SDMX system of (Maintenance) Agency can be hierarchic and this is explained in more detail in the separate document “Technical Notes”.
250 1. DataProviderScheme – contains DataProvider which is restricted to a flat list of agencies (i.e. there is no hierarchy).
251 1. DataConsumerScheme – contains DataConsumer which is restricted to a flat list of agencies (i.e. there is no hierarchy).
252 1. OrganisationUnitScheme – contains OrganisationUnit which does inherit the /hierarchy association from Organisation.
253
254 Reference metadata can be attached to the //Organisation //by means of the metadata attachment mechanism. This mechanism is explained in the Reference Metadata section of this document (see section 7). This means that the model does not specify the specific reference metadata that can be attached to a DataProvider, DataConsumer,OrganisationUnit or Agency, except for limited Contact information.
255
256 A partial //OrganisationScheme// (where isPartial is set to “true”) is identical to a //OrganisationScheme// and contains the Organisation and associated names and descriptions, just as in a normal //OrganisationScheme// However, its content is a sub set of the full //OrganisationScheme//. The way this works is described in section 3.5.3.1 on ItemScheme.
257
258 ==== 4.6.2.2 Definitions ====
259
260 |**Class**|**Feature**|**Description**
261 |//OrganisationScheme//|(((
262 Abstract Class Inherits from
263
264 //ItemScheme//
265
266 Sub classes are:
267
268 AgencyScheme
269
270 DataProviderScheme
271
272 DataConsumerScheme
273
274 OrganisationUnitScheme
275 )))|A maintained collection of Organisations.
Helena 3.2 276 | |/items|Association to the Organisations in the scheme.
Helena 2.1 277 |//Organisation//|(((
278 Inherits from
279
280 //Item//
281
282 Sub classes are:
283
284 Agency
285
286 DataProvider
287
288 DataConsumer
289
290 OrganisationUnit
291 )))|An organisation is a unique framework of authority within which a person or persons act, or are designated to act, towards some purpose.
Helena 3.2 292 | |+contact|Association to the Contact information.
293 | |/hierarchy|Association to child Organisations.
294 |Contact| |An instance of a role of an individual or an organization (or organization part or organization person) to whom an information item(s), a material object(s) and/or person(s) can be sent to or from in a specified context.
295 | |name|The designation of the Contact person by a linguistic expression.
296 | |organisationUnit|The designation of the organisational structure by a linguistic expression, within which Contact person works.
297 | |responsibility|The function of the contact person with respect to the organisation role for which this person is the Contact.
298 | |telephone|The telephone number of the Contact.
299 | |fax|The fax number of the Contact.
300 | |email|The Internet e-mail address of the Contact.
301 | |X400|The X400 address of the Contact.
302 | |uri|The URL address of the Contact.
303 |AgencyScheme| |A maintained collection of Maintenace Agencies.
304 | |/items|Association to the Maintenance Agency in the scheme.
305 |DataProviderScheme| |A maintained collection of Data Providers.
306 | |/items|Association to the Data Providers in the scheme.
307 |DataConsumerScheme| |A maintained collection of Data Consumers.
308 | |/items|Association to the Data Consumers in the scheme.
309 |OrganisationUnitScheme| |A maintained collection of Organisation Units.
310 | |/items|Association to the Organisation Units in the scheme.
Helena 2.1 311 |Agency|(((
312 Inherits from
313
314 //Organisation//
315 )))|Responsible agency for maintaining artefacts such as statistical classifications, glossaries, structural metadata such as Data and Metadata Structure Definitions, Concepts and Code lists.
316 |DataProvider|(((
317 Inherits from
318
319 //Organisation//
320 )))|An organisation that produces data or reference metadata.
321 |DataConsumer|(((
322 Inherits from
323
324 //Organisation//
325 )))|An organisation using data as input for further processing.
326 |OrganisationUnit|(((
327 Inherits from
328
329 //Organisation //
330 )))|A designation in the organisational structure.
Helena 3.2 331 | |/hierarchy|Association to child Organisation Units
Helena 2.1 332
333 == {{id name="_Toc371005"/}}4.7 Reporting Taxonomy ==
334
335 === {{id name="_Toc371006"/}}4.7.1 Class Diagram ===
336
337 **Figure 21: Class diagram of the Reporting Taxonomy**
338
339 === {{id name="_Toc371007"/}}4.7.2 Explanation of the Diagram ===
340
341 ==== 4.7.2.1 Narrative ====
342
343 In some data reporting environments, and in particular those in primary reporting, a report may comprise a variety of heterogeneous data, each described by a different Structure. Equally, a specific disseminated or published report may also comprise a variety of heterogeneous data. The definition of the set of linked sub reports is supported by the ReportingTaxonomy.
344
345 The ReportingTaxonomy is a specialised form of ItemScheme. Each ReportingCategory of the ReportingTaxonomy can link to one or more //StructureUsage// which itself can be one of DataflowDefinition, or MetadataflowDefinition, and one or more //Structure//, which itself can be one of DataStructureDefinition or MetadataStructureDefinition. It is expected that within a specific ReportingTaxonomy each Category that is linked in this way will be linked to the same class (e.g. all Category in the scheme will link to a DataflowDefinition). Note that a ReportingCategory can have child ReportingCategory and in this way it is possible to define a hierarchical ReportingTaxonomy. It is possible in this taxonomy that some ReportingCategory are defined just to give a reporting structure. For instance:
346
347 Section 1
348
349 ~1. linked to DatafowDefinition_1
350
351 2 linked to DatafowDefinition_2
352
353 Section 2
354
355 1. linked toDatafowDefinition_3
356 1. linked to DatafowDefinition_4
357
358 Here, the nodes of Section 1 and Section 2 would not be linked to DataflowDefinition but the other would be linked to a DataflowDefinition (and hence the DataStructureDefinition).
359
360 A partial ReportingTaxonomy (where isPartial is set to “true”) is identical to a ReportingTaxonomy and contains the ReportingCategory and associated names and descriptions, just as in a normal ReportingTaxonomy However, its content is a sub set of the full ReportingTaxonomy The way this works is described in section 3.5.3.1 on ItemScheme.
361
362 ==== 4.7.2.2 Definitions ====
363
364 |**Class**|**Feature**|**Description**
365 |ReportingTaxonomy|(((
366 Inherits from
367
368 //ItemScheme //
369 )))|A scheme which defines the composition structure of a data report where each component can be described by an independent Dataflow Definition or Metdataflow Definition.
Helena 3.2 370 | |items|Associates the Reporting Category
Helena 2.1 371 |ReportingCategory|(((
372 Inherits from
373
374 //Item//
375 )))|A component that gives structure to the report and links to data and metadata.
Helena 3.2 376 | |hierarchy|Associates child Reporting Category.
377 | |+flow|Association to the data and metadata flows that link to metadata about the provisioning and related data and metadata sets, and the structures that define them.
378 | |+structure|(((
Helena 2.1 379 Association to the Data Structure Definition and Metadata Structure
380
381 Definitions which define the structural metadata describing the data and metadata that are contained at this part of the report.
382 )))