Version 3.2 by Helena on 2025/06/08 11:11

Hide last authors
Helena 3.2 1 {{box title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
Helena 1.1 4
Helena 3.2 5 == 5.1 Introduction ==
6
Helena 1.1 7 The DataStructureDefiniton is the class name for a structure definition for data. Some organisations know this type of definition as a “Key Family” and so the two names are synonymous. The term Data Structure Definition (also referred to as DSD) is used in this specification.
8
9 Many of the constructs in this layer of the model inherit from the SDMX Base Layer. Therefore, it is necessary to study both the inheritance and the relationship diagrams to understand the functionality of individual packages. In simple sub models these are shown in the same diagram but are omitted from the more complex sub models for the sake of clarity. In these cases, the inheritance diagram below shows the full inheritance tree for the classes concerned with data structure definitions.
10
11 There are very few additional classes in this sub model other than those shown in the inheritance diagram below. In other words, the SDMX Base gives most of the structure of this sub model both in terms of associations and in terms of attributes. The relationship diagrams shown in this section show clearly when these associations are inherited from the SDMX Base (see the Appendix “A Short Guide to UML in the SDMX Information Model” to see the diagrammatic notation used to depict this).
12
13 The actual SDMX Base construct from which the concrete classes inherit depends upon the requirements of the class for:
14
15 Annotation – //AnnotableArtefact//
16
17 Identification – //IdentifiableArtefact//
18
19 Naming – //NameableArtefact//
20
21 Versioning – //VersionableArtefact//
22
23 Maintenance – //MaintainableArtefact//
24
Helena 3.2 25 == 5.2 Inheritance View ==
Helena 1.1 26
Helena 3.2 27 === 5.2.1 Class Diagram ===
Helena 1.1 28
29 [[image:1749246368774-202.jpeg]]
30
31 **Figure 27 Class inheritance in the Data Structure Definition and Data Set Packages**
32
33 ===== 5.2.2 Explanation of the Diagram =====
34
35 ====== 5.2.2.1 Narrative ======
36
37 Those classes in the SDMX metamodel which require annotations inherit from //AnnotableArtefact//. These are:
38
39 //IdentifiableArtefact//
40
41 //DataSet//
42
43 //Key// (and therefore //SeriesKey// and //GroupKey//)
44
45 //Observation//
46
47 Those classes in the SDMX metamodel which require annotations and global identity are derived from //IdentifiableArtefact//. These are:
48
49 //NameableArtefact//
50
51 //ComponentList//
52
53 //Component//
54
55 Those classes in the SDMX metamodel which require annotations, global identity, multilingual name and multilingual description are derived from //NameableArtefact//. These are:
56
57 //VersionableArtefact//
58
59 //Item//
60
61 The classes in the SDMX metamodel which require annotations, global identity, multilingual name and multilingual description, and versioning are derived from //VersionableArtefact//. These are:
62
63 //MaintainableArtefact//
64
65 Abstract classes which represent information that is maintained by Maintenance Agencies all inherit from //MaintainableArtefact//, they also inherit all the features of a //VersionableArtefact//, and are:
66
67 //StructureUsage//
68
69 //Structure//
70
71 //ItemScheme//
72
73 All the above classes are abstract. The key to understanding the class diagrams presented in this section are the concrete classes that inherit from these abstract classes.
74
75 Those concrete classes in the SDMX Data Structure Definition and Dataset packages of the metamodel which require to be maintained by Agencies all inherit (via other abstract classes) from //MaintainableArtefact//, these are:
76
77 Dataflow
78
79 DataStructureDefinition
80
81 The component structures that are lists of lists, inherit directly from //Structure//. A //Structure// contains several lists of components. The concrete class that inherits from //Structure// is:
82
83 DataStructureDefinition
84
85 A DataStructureDefinition contains a list of dimensions, a list of measures and a list of attributes.
86
87 The concrete classes which inherit from //ComponentList// and are subcomponents of the DataStructureDefinition are:
88
89 DimensionDescriptor – content is Dimension and TimeDimension
90
91 DimensionGroupDescriptor – content is an association to Dimension, TimeDimension
92
93 MeasureDescriptor – content is Measure
94
95 AttributeDescriptor – content is DataAttribute and an association to MetadataAttribute
96
97 The classes that inherit from //Component// are:
98
99 Measure
100
101 //DimensionComponent// and thereby its sub classes of Dimension and TimeDimension
102
103 //Attribute// and thereby its sub classes of DataAttribute and MetadataAttribute
104
105 The concrete classes identified above are the majority of the classes required to define the metamodel for the DataStructureDefinition. The diagrams and explanations in the rest of this section show how these concrete classes are related in order to support the functionality required.
106
107 ==== //5.3 Data Structure Definition – Relationship View// ====
108
109 ===== 5.3.1 Class Diagram =====
110
111 [[image:1749246368782-690.jpeg]]
112
113 **Figure 28 Relationship class diagram of the Data Structure Definition excluding representation**
114
115 ===== 5.3.2 Explanation of the Diagrams =====
116
117 ====== 5.3.2.1 Narrative ======
118
119 A DataStructureDefinition defines the Dimensions, TimeDimension, DataAttributes, and Measures, and associated Representations, that comprise the valid structure of data and related attributes that are contained in a DataSet, which is defined by a Dataflow. In addition, a DataStructureDefinition may be related to one MetadataStructureDefinition, in order to use the latter’s MetadataAttributes, by relating them to other //Components// within the DSD, as explained below.
120
121 The Dataflow may also have additional metadata attached that define qualitative information and Constraints on the use of the DataStructureDefinition such as the subset of Codes used in a Dimension (this is covered later in this document – see sections “Constraints” and “Data Provisioning”). Each Dataflow has a maximum of one DataStructureDefinition specified which defines the structure of any DataSets to be reported/disseminated. A Dataflow may optionally define which Dimensions it uses, by defining a DimensionConstraint (this is a mandatory requirement if the DataStructureDefinition sets its’ evolvingStructure property to ‘true’ and is sematically referenced by the Dataflow).
122
123 There are two types of dimensions each having a common association to Concept:
124
125 * Dimension
126 * TimeDimension
127
128 Note that DimensionComponent can be any or all its sub classes i.e., Dimension, TimeDimension.
129
130 The //DimensionComponent//, DataAttribute, MetadataAttribute and Measure link to the Concept that defines its name and semantic (/conceptIdentity association to Concept). The DataAttribute, Dimension (but not TimeDimension) and Measure can optionally have a +conceptRole association with a Concept that identifies its role in the DataStructureDefinition, or one of the standard pre-defined roles, i.e., those published in "GUIDELINES FOR SDMX CONCEPT ROLES" by the SDMX SWG. The use of these roles is to enable applications to process the data in a meaningful way (e.g., relating a dimension value to a mapping vector). It is expected, beyond the standard roles published by the SWG, that communities (such as the official statistics community) will harmonise such roles within their community so that data can be exchanged and shared in a meaningful way within that community.
131
132 The valid values for a //DimensionComponent//, Measure, DataAttribute or MetadataAttribute, when used in this DataStructureDefinition, are defined by the Representation. This Representation is taken from the Concept definition (coreRepresentation) unless it is overridden in this DataStructureDefinition (localRepresentation) – see Figure 28. Note also that TimeDimension is constrained to specific FacetValueTypes. Moreover, the Representations of MetadataAttributes are specified in the corresponding MetadataStructureDefinition, linked by the DataStructureDefinition.
133
134 There will always be a DimensionDescriptor grouping that identifies all of the Dimension comprising the full key. Together the Dimensions specify the key of an Observation.
135
136 The //DimensionComponent// can optionally be grouped by multiple GroupDimensionDescriptors each of which identifies the group of Dimensions that can form a partial key. The GroupDimensionDescriptor must be identified (GroupDimensionDescriptor.id) and this is used in the GroupKey of the DataSet to declare which DataAttributes or MetadataAttributes are reported at this group level in the DataSet.
137
138 There can be a maximum of one TimeDimension specified in the DimensionDescriptor. The TimeDimension is used to specify the Concept used to convey the time period of the observation in a data set. The TimeDimension must contain a valid representation of time and cannot be coded.
139
140 There can be one or more Measures under the MeasureDescriptor. Measures represent the observable phenomena. Each Measure may have a valid representation, a maxOccurs attribute limiting the maximum number of values per Measure (which may be set to 'unbounded' for unlimited occurrences), as well as a minOccurs attribute, indicating the minimum required number of values, when the Measure is reported. If minOccurs or maxOccurs are omitted (they both default to ‘1’), the Measure is considered to take a single value; otherwise, it is an array. Moreover, the usage attribute indicates whether a Measure must be reported or not, by the corresponding values: mandatory or optional.
141
142 The AttributeDescriptor may contain one or more //Attribute//s, i.e., at least one DataAttribute definition or one MetadataAttribute reference.
143
144 The DataAttribute defines a characteristic of data that are collected or disseminated and is grouped in the DataStructureDefinition by a single AttributeDescriptor. The DataAttribute can be indicated if it must be reported or not, by the corresponding value of the usage attribute: i.e., mandatory or optional. The property minOccurs specifies the minimum number of array values to be included when the DataAttribute is reported. Moreover, a maxOccurs attribute indicates whether the DataAttribute may need to report more than one values, i.e., an array of values. The DataAttribute may play a specific role in the structure and this is specified by the +role association to the Concept that identifies its role.
145
146 The MetadataAttribute defines reference metadata that may be collected or disseminated and is grouped together with DataAttribute under the AttributeDescriptor.
147
148 A DataAttribute or a MetadataAttribute (i.e., an //AttributeComponent//) is specified as being +relatedTo an AttributeRelationship, which defines the constructs to which the //AttributeComponent// is to be reported within a //DataSet//. An //AttributeComponent// can be specified as being related to one of the following artefacts:
149
150 * All data within the dataset (DataflowRelationship) – this is equivalent to attaching an Attribute to all data within the Dataflow.
151 * Dimension or set of Dimensions (DimensionRelationship)
152 * Set of Dimensions specified by a GroupKey (GroupRelationship – this is retained for compatibility reasons – or +groupKey of the DimensionRelationship)
153 * Observation (ObservationRelationship)
154 * In addition to the positioning of an //AttributeComponent// within a //DataSet//, another relationship indicates the Measure(s) for which the //AttributeComponent// is reported. Regardless of the position of the //AttributeComponent// within the //DataSet//, the //AttributeComponent// may concern one, more than one, or all Measures included in the DSD. This is expressed using the MeasureRelationship class, which relates a DataAttribute to one or more Measures. Lack of the MeasureRelationship defaults to a relationship to all Measures.
155
156 [[image:1749246368785-499.jpeg]]
157
158 **Figure 29: Attribute Attachment Defined in the Data Structure Definition**
159
160 The following table details the possible relationships a DataAttribute may specify. Note that these relationships are mutually exclusive, and therefore only one of the following is possible.
161
162 |**Relationship**|**Meaning**|**Location in Data Set at which the Attribute is reported**
163 |DataflowRelationship|The value of the attribute is fixed for all data contained in the dataset. The Attribute value applies to all data defined by the underlying Dataflow.|The attribute is reported at the Dataset level.
164 |Dimension (1..n)|The value of the attribute will vary with the value(s) of the referenced Dimension(s). In this case, Group(s) to which the attribute should be attached may optionally be specified.|The attribute is reported at the lowest level of the Dimension to which the Attribute is related, otherwise at the level of the Group if Attachment Group(s) is specified.
165 |Group|The value of the Attribute varies with combination of values for all of the Dimensions contained in the Group. This is added as a convenience to listing all Dimensions and the attachment Group, but should only be used when the Attribute value varies based on all Group Dimension values.|The attribute is reported at the level of Group.
166 |Observation|The value of the Attribute varies with the observed value.|The attribute is reported at the level of Observation.
167
168 [[image:1749246368790-555.jpeg]]
169
170 **Figure 30: Representation of DSD Components**
171
172 Each of Dimension, TimeDimension, Measure, DataAttribute and MetadataAttribute can have a Representation specified (using the localRepresentation association). If this is not specified in the DataStructureDefinition then the representation specified for Concept (coreRepresentation) is used. Measure, and DataAttribute may be also represented by multilingual text (as seen in the DataSet diagram further down). An exception is the MetadataAttribute, where its Representation is specified in the MetadataStructureDefinition.
173
174 A DataStructureDefinition can be extended to form a derived DataStructureDefinition. This is supported in the StructureMap.
175
176 **5.3.2.2 Definitions**
177
178 |**Class**|**Feature**|**Description**
179 |StructureUsage| |See “SDMX Base”.
180 |Dataflow|(((
181 Inherits from
182
183 //StructureUsage//
184 )))|Abstract concept (i.e., the structure without any data) of a flow of data that providers will provide for different reference periods.
185 | |/structure|Associates a Dataflow to the Data Structure Definition.
Helena 3.2 186 | |dimensionConstraint|A list of Dimensions which the Dataflow uses. This is only required when the referenced DataStructureDefinition has the evolvingStructure property set to true and when the association to the DataStructureDefinition in on the latest minor version[[(% class="wikiinternallink wikiinternallink" %)^^~[1~]^^>>path:#_ftn1]](%%).
Helena 1.1 187 |DataStructureDefiniti on| |A collection of metadata concepts, their structure and usage when used to collect or disseminate data.
188 | |/grouping|An association to a set of metadata concepts that have an identified structural role in a Data Structure Definition.
189 | |evolvingStructure|An optional boolean property, defaulting to false. When true the DataStructureDefinition may have new Dimensions added without having to change its major version number.
190 |GroupDimensionDescrip tor|(((
191 Inherits from
192
193 //ComponentList//
194 )))|A set of metadata concepts that define a partial key derived from the Dimension Descriptor in a Data Structure Definition.
195 | |/components|An association to the Dimension components that comprise the group.
196 |DimensionDescriptor|(((
197 Inherits from
198
199 //ComponentList//
200 )))|An ordered set of metadata concepts that, combined, classify a statistical series, and whose values, when combined (the key) in an instance such as a data set, uniquely identify a specific observation.
201 | |/components|An association to the Dimension and Time Dimension comprising the Key Descriptor.
202 |AttributeDescriptor|(((
203 Inherits from
204
205 //ComponentList//
206 )))|A set metadata concepts that define the Attributes of a Data Structure Definition.
Helena 3.2 207 | |/components|An association to a Data Attribute component.
Helena 1.1 208 |MeasureDescriptor|(((
209 Inherits from
210
211 //ComponentList//
212 )))|A metadata concept that defines the Measures of a Data Structure Definition.
213 | |/components|An association to a Measure component.
214 |//DimensionComponent//|(((
215 Inherits from
216
217 //Component//
218
219 Sub class
220
221 Dimension
222
223 TimeDimension
224 )))|An abstract class representing any Component that can be used for identifying observations.
225
226
227
228
229 |**Class**|**Feature**|**Description**
230 | |Order|Specifies the order of the Dimension Components within the DSD. The property is used to indicate the position of the Dimension Component and determines the Key for identifying observations, or series. The Time Dimension, when specified, must be the last within the Dimension Descriptor.
231 |Dimension|(((
232 Inherits from
233
234 //DimensionComponent//
235 )))|A metadata concept used (most probably together with other metadata concepts) to classify a statistical series, e.g., a statistical concept indicating a certain economic activity or a geographical reference area.
236 | |/role|Association to the Concept that specifies the role that that the Dimension plays in the Data Structure Definition.
237 | |/conceptIdentity|An association to the metadata concept which defines the semantic of the Dimension.
238 |TimeDimension|(((
239 Inherits from
240
241 //DimensionComponent//
242 )))|A metadata concept that identifies the component in the key structure that has the role of “time”.
243 |DataAttribute|(((
244 Inherits from
245
246 //Component//
247 )))|A characteristic of an object or entity.
248 | |/role|Association to the Concept that specifies the role that that the Data Attribute plays in the Data Structure Definition.
249 | |minOccurs|Defines the minimum required occurrences for the Attribute. When equals to zero, the Attribute is conditional.
250 | |maxOccurs|Defines the maximum allowed occurrences for the Attribute.
251 | |Usage|Defines whether a Data Attribute must be reported or not.
252 | |+relatedTo|Association to an Attribute Relationship.
253 | |/conceptIdentity|An association to the Concept which defines the semantic of the component.
254 |Measure|(((
255 Inherits from
256
257 //Component//
258 )))|The metadata concept that is the phenomenon to be measured in a data set. In a data set the instance of the measure is often called the observation.
259 | |/conceptIdentity|An association to the Concept which carries the values of the measures.
260 | |minOccurs|Defines the minimum required occurrences for the Measure. When equals to zero, the Measure is conditional.
261 | |maxOccurs|Defines the maximum allowed occurrences for the Measure.
262 | |Usage|Defines whether a Measure must be reported or not.
263 |//AttributeRelationship//|(((
264 Abstract Class
265
266 Sub classes
267
268 ObservationRelations hip
269
270 GroupRelationship DimensionRelationshi p
271 )))|Specifies the type of artefact to which a Data Attribute can be attached in a Data Set.
272 |ObservationRelationsh ip| |The Data Attribute is related to the observations of the Data Set.
273 |GroupRelationship| |The Data Attribute is related to a Group Dimension Descriptor construct.
274 | |+groupKey|An association to the Group Dimension Descriptor
275 |DimensionRelationship| |The Data Attribute is related to a set of Dimensions.
276 | |+dimensions|Association to the set of Dimensions to which the Data Attribute is related.
277 | |+groupKey|Association to the Group Dimension Descriptor which specifies the set of Dimensions to which the Data Attribute is attached.
278 |MeasureRelationship| |The Measures that a Data Attribute is reported for.
279 | |+measures|Association to the set of Measures to which a Data Attribute is related to.
280 |SentinelValuesType| |This facet indicates that an Attribute or a Measure has sentinel values with special meaning within their data type. This is realised by providing such values within the TextFormat, in addition to any textType or other Facet.
281 |SentinelValue| |A value that has a special meaning within the text format representation of the Component.
282 | |+name|An association of a Sentinel Value to a multilingual name.
283 | |+description|An association of a Sentinel Value to a multilingual description.
284
285
286
287 The explanation of the classes, attributes, and associations comprising the Representation is described in the section on the SDMX Base.
288
289 ==== //5.4 Data Set – Relationship View// ====
290
291 ===== 5.4.1 Context =====
292
293 A data set comprises the collection of data values and associated metadata that are collected or disseminated according to a known DataStructureDefinition.
294
295 ===== 5.4.2 Class Diagram =====
296
297 [[image:1749246368794-672.jpeg]]
298
299 **Figure 31: Class Diagram of the Data Set**
300
301 ====== 5.4.3 Explanation of the Diagram ======
302
303 5.4.3.1 Narrative – Data Set
304
305 Note that the //DataSet// must conform to the DataStructureDefinition associated to the Dataflow for which this DataSet is an “instance of data”. Whilst the model shows the association to the classes of the DataStructureDefinition, this is for conceptual purposes to show the link to the DataStructureDefinition. In the actual //DataSet// as exchanged there must, of course, be a reference to the DataStructureDefinition and optionally a Dataflow or a ProvisionAgreement, but the DataStructureDefinition is not necessarily exchanged with the data. Therefore, the DataStructureDefinition classes are shown in the grey areas, as these are not a part of the //DataSet// when the //DataSet// is exchanged. However, the structural metadata in the DataStructureDefinition can be used by an application to validate the contents of the //DataSet// in terms of the valid content of a //KeyValue// as defined by the Representation in the DataStructureDefinition.
306
307 An organisation playing the role of DataProvider can be responsible for one or more //DataSet//.
308
309 A //DataSet// is formatted as a DataStructureDefinition specific data set (StructureSpecificDataSet). The structured data set is structured according to one specific DataStructureDefinition; hence the latter is required for validation at the syntax level.
310
311 A //DataSet// is a collection of a set of //Observation//s that share the same dimensionality, which is specified by a set of unique components (Dimension, TimeDimension) defined in the DimensionDescriptor of the DataStructureDefinition, together with associated //AttributeValue//s that define specific characteristics about the artefact to which it is attached – //Observation//s, set of Dimensions. It can be structured in terms of a SeriesKey to which //Observation//s are reported.
312
313 The //Observation// can be the value(s) of the variable(s) being measured for the Concept associated to the Measure(s) in the MeasureDescriptor of the DataStructureDefinition. Each //Observation// associates one or more //ObservationValue//s with a KeyValue (+observationDimension) which is the value for the “Dimension at the Observation Level”. Any Dimension can be specified as being the “Dimension at the Observation Level”, and this specification is made at the level of the //DataSet// (i.e., it must be the same Dimension for the entire //DataSet//).
314
315 The //KeyValue// is a value for one of TimeDimension or Dimension specified in the DataStructureDefinition. If it is a Dimension, it can be coded (CodedKeyValue) or uncoded (UncodedKeyValue). If it is the TimeDimension then it is a TimeKeyValue. The actual value that the CodedDimensionValue can take must be one of the Codes in the Codelist specified as the Representation of the Dimension in the DataStructureDefinition.
316
317 An ObservationValue can be coded – this is the CodedObservation – or it can be uncoded – this is the UncodedObservation. In the case of uncoded observations, the values may be multilingual – expressed via the TextMeasureValue – or not (OtherUncodedMeasureValue).
318
319 The GroupKey is a subunit of the //Key// that has the same dimensionality as the SeriesKey but defines a subset of the KeyValues of the SeriesKey. Its sub dimension structure is defined in the GroupDimensionDescriptor of the DataStructureDefinition identified by the same id as the GroupKey. The id identifies a “type” of group and the purpose of the GroupKey is to report one or more //AttributeValue// that are contained at this group level. The GroupKey is present when the GroupDimensionDescriptor is related to the GroupRelationship in the DataStructureDefinition. There can be many types of groups in a //DataSet//. If the Group is related to the DimensionRelationship in the DataStructureDefinition then the //AttributeValue// will be reported with the appropriate dimension in the SeriesKey or Observation.
320
321 In this way each of SeriesKey, GroupKey, and Observation can have zero or more //AttributeValue//s that define some metadata about the object to which it is associated. The //AttributeValue// may be either a //DataAttributeValue// or a //MetadataAttributeValue//, representing values of DataAttributes defined in the DSD or MetadataAttributes of the linked MSD, respectively. The allowable Concepts and the objects to which these metadata can be associated (attached) are defined in the DataStructureDefinition and the linked MetadataStructureDefinition.
322
323 The //AttributeValue// links to the object type (SeriesKey, GroupKey, Observation) to which it is associated.
324
325 5.4.3.2 Definitions
326
327 |**Class**|**Feature**|**Description**
328 |//DataSet//|(((
329 Abstract Class
330
331 Sub classes
332
333 StructureSpecificData
334
335 Set
336 )))|An organised collection of data.
337 | |reportingBegin|A specific time period in a known system of time periods that identifies the start period of a report.
338 | |reportingEnd|A specific time period in a known system of time periods that identifies the end period of a report.
339 | |dataExtractionDate|A specific time period that identifies the date and time that the data are extracted from a data source.
340 | |validFrom|Indicates the inclusive start time indicating the validity of the information in the data set.
341 | |validTo|Indicates the inclusive end time indicating the validity of the information in the data set.
342 | |publicationYear|Specifies the year of publication of the data or metadata in terms of whatever provisioning agreements might be in force.
343 | |publicationPeriod|Specifies the period of publication of the data or metadata in terms of whatever provisioning agreements might be in force.
344 | |setId|Provides an identification of the data set.
345 | |action|Defines the action to be taken by the recipient system (information, append, replace, delete)
346 | |describedBy|(((
347 Associates a Dataflow and thereby a Data Structure
348
349 Definition to the data set.
350 )))
351 | |+structuredBy|(((
352 Associates the Data Structure Definition that defines the structure of the Data Set. Note that the Data Structure Definition is the same as that associated
353
354 (non-mandatory) to the Dataflow.
355 )))
356 | |+publishedBy|Associates the Data Provider that reports/publishes the data.
357 |StructureSpecific DataSet| |An XML specific data format structure that contains data corresponding to one specific Data Structure Definition.
358 |//Key//|(((
359 Abstract class
360
361 Sub classes
362
363 SeriesKey
364
365 GroupKey
366 )))|Comprises the cross product of values of dimensions that identify uniquely an Observation.
367 | |keyValues|Association to the individual Key Values that comprise the Key.
368 | |+attachedAttribute|Association to the Attribute Values relating to the Series Key or Group Key.
369 |//KeyValue//|(((
370 Abstract class
371
372 Sub classes
373
374 TimeKeyValue
375
376 CodedKeyValue
377
378 UncodedKeyValue
379 )))|The value of a component of a key such as the value of the instance a Dimension in a Dimension Descriptor of a Data Structure Definition.
380 | |+valueFor|(((
381 Association to the key component in the Data Structure Definition for which this Key Value is a valid representation.
382
383 Note that this is conceptual association as the key component is identified explicitly in the data set.
384 )))
385 |TimeKeyValue|(((
386 Inherits from
387
388 //KeyValue//
389 )))|The value of the Time Dimension component of the key.
390 |CodedKeyValue|(((
391 Inherits from
392
393 //KeyValue//
394 )))|The value of a coded component of the key. The value is the Code to which this class is associated.
395 | |+valueOf|Association to the Code. Note that this is a conceptual association showing that the Code must exist in the Code list associated with the Dimension in the Data Structure Definition. In the actual Data Set the value of the Code is placed in the Key Value.
396 |UnCodedKeyValue|(((
397 Inherits from
398
399 //KeyValue//
400 )))|The value of an uncoded component of the key.
401 | |value|The value of the key component.
402 | |startTime|This attribute is only used if the textFormat of the attribute is of the Timespan type in the Data Structure Definition (in which case the value field takes a duration).
403 |GroupKey|(((
404 Inherits from
405
406 //Key//
407 )))|A set of Key Values that comprise a partial key, of the same dimensionality as the Time Series Key for the purpose of attaching Data Attributes.
408 | |+describedBy|Associates the Group Dimension Descriptor defined in the Data Structure Definition.
409 |SeriesKey|(((
410 Inherits from
411
412 //Key//
413 )))|Comprises the cross product of values of all the Key Values that, together with the Key Value of the +observation Dimension identify uniquely an Observation.
414 | |+describedBy|Associates the Dimension Descriptor defined in the Data Structure Definition.
415 |Observation| |The value(s) of the observed phenomenon in the context of the Key Values comprising the key.
416 | |+valueFor|(((
417 Associates the Measure(s) defined in the Data Structure Definition.
418
419 The source multiplicity (1..*) indicates that more than one values may be provided for a Measure, if the latter allows it.
420 )))
421 | |+attachedAttribute|Association to the Attribute Values relating to the Observation.
422 | |+observationDimension|Association to the Key Value that holds the value of the “Dimension at the Observation Level”.
423 |//ObservationValue//|(((
424 Abstract class
425
426 Sub classes
427
428 //UncodedObservationVal ue//
429
430 CodedObservation
431 )))|
432 |//UncodedObservatio nValue//|(((
433 Abstract class
434
435 Inherits from
436
437 //ObservationValue//
438
439 Sub classes
440
441 OtherUncodedMeasureVa lue
442
443 TextMeasureValue
444 )))|
445 |OtherUncodedMeasu reValue|(((
446 Inherits from
447
448 //UncodedObservationVal ue//
449 )))|An observation that has a text value.
450 | |value|The value of the Uncoded Observation.
451 | |startTime|This attribute is only used if the textFormat of the Measure is of the Timespan type in the Data Structure Definition (in which case the value field takes a duration).
452 |TextMeasureValue|(((
453 Inherits from
454
455 //UncodedObservationVal ue//
456 )))|An observation that has a localised text value
457 | |text|The localised text values.
458 |CodedObservation|(((
459 Inherits from
460
461 //ObservationValue//
462 )))|An Observation that takes its value from a code in a Code list.
463 | |+valueOf|Association to the Code that is the value of the Observation. Note that this is a conceptual association showing that the Code must exist in the Codelist(s) associated with the Measure(s) in the Data Structure Definition. In the actual Data Set the value of the Code is placed in the Observation.
464 |//AttributeValue//|(((
465 Abstract class
466
467 Sub classes
468
469 //DataAttributeValue// //MetadataAttributeValu e//
470 )))|Represents the value for any Attribute reported in the Dataset, i.e., Data or Metadata Attribute.
471 |//DataAttributeValu e//|(((
472 Abstract class
473
474 Inherits from
475
476 //AttributeValue//
477
478 Sub classes
479
480 //UncodedAttributeValue//
481
482 //CodedAttributeValue//
483 )))|The value of a Data Attribute, such as the instance of a Coded Attribute or of an Uncoded Attribute in a structure such as a Data Structure Definition.
484 | |+valueFor|(((
485 Association to the Data Attribute defined in the Data Structure Definition. Note that this is conceptual association as the Concept is identified explicitly in the data set.
486
487 The source multiplicity (1..*) indicates the possibility to provide more than one values for a Data Attribute, if the latter allows it.
488 )))
489 |//MetadataAttribute Value//|(((
490 (explained further in section
491
492 “Metadata Set”)
493 )))|The value of a Metadata Attribute, as specified in the Metadata Structure Definition, which is linked in the Data Structure Definition
494 |//UncodedAttributeV alue//|(((
495 Inherits from
496
497 //AttributeValue//
498
499 Sub classes
500
501 OtherUncodedAttribute
502
503 Value
504
505 TextAttributeValue
506 )))|
507 |OtherUncodedAttri buteValue|(((
508 Inherits from
509
510 //UncodedObservationVal ue//
511 )))|An attribute value that has a text value
512 | |value|The value of the Uncoded attribute.
513 | |startTime|This attribute is only used if the textFormat of the attribute is of the Timespan type in the Data Structure Definition (in which case the value field takes a duration).
514 |TextAttributeValu e|(((
515 Inherits from
516
517 //UncodedAttributeValue//
518 )))|An attribute that has a localised text value
519 | |text|The localised text values.
520 |CodedAttributeVal ue|(((
521 Inherits from
522
523 //AttributeValue//
524 )))|An attribute that takes it value from a Code in Code list.
525 | |+valueOf|Association to the Code that is the value of the Attribute Value. Note that this is a conceptual association showing that the Code must exist in the Code list associated with the Data Attribute in the Data Structure Definition. In the actual Data Set the value of the Code is placed in the Attribute Value.
526
527
528
529 ----
530
531 [[~[1~]>>path:#_ftnref1]] Referencing the latest minor version of the Data Structure is achieved by the reference including the plus operator on the minor version to indicate it links to the latest stable version, for example 2.0+.0 will resolve to the highest version 2.x.y.