4.8 Data Assurance
|For Standard||CTA v2.1|
The data assurance record (DataAssuranceRecord) declares conformance with a pre-defined data assurance policy of any data object being transferred using Energistics standards. The policies themselves do not need to be transferred along with the data (to do so would mean repeating the same policy definitions tens of thousands of times in a typical data transfer).
The data assurance record carries the policy ID of a policy (presumably a policy name or a number known to the receiver), a yes-or-no statement indicating conformance with the policy, the name of the person or software agent that determined conformance with the policy (the Origin), and the date on which the conformance was determined. In addition, the data assurance record carries can also list which rules within the policy failed, resulting in a negative conformance.
To “attach” the assurance record to the instance of the data object that it is declaring conformance for, use the data object reference (see 4.11 Object Reference ).
The business case for data assurance points back to the old adage “garbage in, garbage out”. Energistics common provides a mechanism to convey additional data to support each end user’s own data quality objectives. Figure 4.8-1 shows a UML diagram of the data assurance record and related data objects, which are described below.
The main data object is the data assurance record. This XML document declares the conformance with a pre-defined policy of any given piece of data being transferred using an Energistics domain standard. The policies themselves do not need to be transferred along with the data (to do so would mean repeating the same policy definitions tens of thousands of times in a typical data transfer).
The purpose of the arrow pointing to abstract object is to establish a linkage from the data assurance record to any object contained in an Energistics (RESQML, WITSML or PRODML) transfer.
Note that Energistics standards do not determine whether the data are good or bad, nor do they carry information indicating that the data are good or bad. The data object carries information indicating whether the data in the transfer conform to the user’s policies or not. Energistics domain standards will always carry the information, but now the user can decide whether the failure of a portion of the data to conform to a desired policy renders it useless, or if it increases the uncertainty in the result, or if the policy non-conformance doesn’t matter at all.