ISO Data Quality

From NOAA Environmental Data Management Wiki
Data Quality Objects

A principle goal of metadata is to ensure that the data they describe can be independently understood and used effectively. Data quality tests and reports play a critical role in achieving this goal. Connecting these to the metadata record is clearly important.

The approach to including quality information in ISO 19115 metadata records is different that previous approaches and much improved. It includes the capability to include descriptions of unexpected behaviors and anomalies and the tests that are used to identify them. Understanding how to take advantage of this flexibility and implementing systems that maximize the value that this capability provides will certainly be a challenge for the environmental data community.

The Data Quality Section of the ISO standard supports flexibility at several levels. The DQ_Data_Quality object (see Figure) includes three sections: scope, lineage, and element. A metadata record can have any number of associated DQ_DataQuality objects.


Every ISO record can reference any number of DQ_DataQuality objects, each of which must have an associated Scope Code and may have an associated Scope Description and an Extent.

The Scope Code can have one of sixteen possible values. It is accompanied by the Level Description that provides additional information about the scope of the quality report. For example, if the scope code indicates that the report covers attributes, the level description describes specifically which attributes are covered.

The same Scope Code occurs in the ISO Metadata and MaintenanceInformation objects.

Finally, the Scope object includes an Extent which turns out to be very powerful. It allows data stewards and users to describe quality reports at almost any conceivable granularity within a dataset. The reports can vary with time and with space within a dataset, they can be associated with a certain type of feature or attribute within a dataset, or with specific features, or they can be associated with specific collection sessions, hardware or software.

Data Quality Elements

+ nameOfMeasure [0..*] : CharacterString
+ measureIdentification [0..1] : MD_Identifier
+ measureDescription [0..1] : CharacterString
+ evaluationMethodType [0..1] : DQ_EvaluationMethodTypeCode
+ evaluationMethodDescription [0..1] : CharacterString
+ evaluationProcedure [0..1] : CI_Citation
+ dateTime [0..*] : DateTime
+ result [1..2] : DQ_Result

The ISO Standard include three types of data quality results in the DQ_Element object. The first, the DQ_ConformanceResult, describes how the dataset was tested for conformance to a published standard and whether the dataset passed the test. The second, the DQ_QuantitativeResult, provides a mechanism for describing the results of a quantitative quality evaluation. Finally, the QE_CoverageResult (from ISO 19115-2), allows a quality result to be expressed as a spatial object. For example, if a gridded dataset has an associated grid of quality flags, that quality grid could be described here. Note also that the coverage results have an associated file and format.

+ specification : CI_Citation
+ explanation : CharacterString
+ pass : Boolean
+ valueType [0..1] : RecordType
+ valueUnit : UnitOfMeasure
+ errorStatistic [0..1] : CharacterString
+ value [1..*] : Record
QE_CoverageResult (added in ISO 19115-2)
+ spatialRepresentationType: MD_SpatialRepresentationTypeCode, one of vector, grid, textTable, tin, stereoModel, video
+ resultFile: MX_DataFile
+ resultFormat: MD_Format
+ resultSpatialRepresentation: MD_SpatialRepresentation
+ resultContentDescription: MD_CoverageDescription

Quality Report Types

The ISO Standard lists a number of types of DQ_Reports: DQ_Completeness, DQ_LogicalConsistency, DQ_PositionalAccuracy, DQ_ThematicAccuracy and DQ_TemporalAccuracy. Definitions of each of these elements are included in the standard. These are suggested possibilities, but users may add additional elements and sub-elements of data quality. Note that each quality measure has an associated Citation. Remember that this is an ISO citation which provides a rich source of information about the quality measure.

Tracking Compliance With Standards

The importance of standards in data integration is well know and broadly acknowledged. It is also well known that compliance tests will be required so that developers can systematically measure compliance with standards that evolve with time. Of course, these tests can only useful to users if the results are available and understandable.

There are two ISO Standard objects that apply to compliance reports. The first is the DQ_DataQuality object. This object associates a DQ_Element with a service, a dataset, or some subset of a dataset described by the DQ_Scope. The DQ_Element references a test and an evaluation procedure that produces a DQ_Result at a particular time. There are three types of DQ_Results, but the DQ_ConformanceResult is the type that is relevant here. It references the specification being tested, explains the meaning of conformance, and gives a Boolean result. The second ISO object that could be related to conformance testing is the MD_Usage object. This provides a mechanism for incorporating user problems into the metadata for a dataset or service. The object includes a description of the specific usage, the problem encountered (the limitation), the date and the user contact information. In the case of standards compliance, the usage would be attempting to access the dataset or service in a way that is consistent with an advertised standard and the limitation would be finding the dataset to be non-compliant with the advertisement. These problem reports would be available from the archive and, hopefully, would motivate data providers to be careful about advertising services that they could not support.

+ specificUsage : CharacterString
+ usageDateTime [0..1] : DateTime
+ userDeterminedLimitations [0..1] : CharacterString
+ userContactInfo [1..*] : CI_ResponsibleParty

How might these new types of reports be used? The environmental data community is using more and more standard formats for data files. The conformance test might indicate how well the dataset conforms to those file formats or associated conventions like the Climate Forecast conventions for netCDF.

Coverage Results

The quality of many datasets varies spatially within the dataset. For example, gridded satellite datasets include grids that provide quality flag values for every pixel. Radiosondes in the atmosphere and profiles in the ocean also can have quality that varies along their paths. In situations like these, the quality information can be described using a spatial feature like a grid or a line. In ISO quality information in spatial features is described using a coverageResult.

Coverage Result
The coverageResult includes MD_SpatialRepresentation and MD_CoverageDescriptions that describe the quality coverage. In this case, the MD_CoverageDescription can serve a role that is similar to the role of the measure and evaluationMethod elements in the report.

The MD_CoverageDescription includes a contentType that can currently be image, thematicRepresentation, or physicalMeasurement. The revision of 19115 may add qualityInformation to this codelist and allow multiple contentType values.

ISO 19157

Several ISO Standards are related to data quality. These are being harmonized into a single new standard numbered 19157. This standard is currently (July 2011) a Draft International Standard. It will probably not change significantly before it becomes an international standard. ISO 19157 extends the DQ_DataQuality section of 19115 in several ways. Those are described here.


The 19115 DQ_Element includes three kinds of information which can cause some confusion and can make appropriate repetition difficult. These problems are addressed in 19157 by splitting the DQ_Element into three objects:

DQ_MeasureReference [0..1]
+ measureIdentification: MD_Identifier [0..1]
+ nameOfMeasure: CharacterString [0..*]
+ measureDescription: CharacterString [0..1]

DQ_EvaluationMethod [0..1]
+ dateTime: DateTime [0..*]
+ evaluationMethodDescription: CharacterString [0..1]
+ evaluationProceedure: CI_Citation [0..1]
+ referenceDoc: CI_Citation [0..*]
+ evaluationMethodType: DQ_EvaluationMethodTypeCode [0..1]

DQ_Result [1..*]
+ dateTime: DateTime [0..*]
+ resultScope: DQ_ScopeCode [0..1]

All of the attributes of these three classes were included in the 19115 DQ_Element except the DQ_EvaluationMethod.referenceDoc.

StandAlone Report

ISO 19157 recognizes that important data quality information can exist outside of the conceptual framework of the model and that it may be helpful to provide that information as a supplement to the metadata. A DQ_StandaloneReportInformation class was added to enable connections between the metadata and these standAloneReports.

+ reportReference: CI_Citation
+ abstract: CharacterString

Descriptive Results

Some data quality results are described in text rather than numbers. A new result type, the DQ_DescriptiveReport was created to allow those results to be included in the metadata.

+ statement: CharacterString