Skip to content

URS-DAT-001: Data Integrity and Audit

Property Value
ID URS-DAT-001
Version 1.0
Status Draft
Bounded Context Cross-cutting (Data Integrity)
Author
Approved By
Date

BR Traceability

URS Requirement Business Requirement arc42 Reference
URS-DAT-001.1 BR-07, BR-08 arc42/02 OC-03
URS-DAT-001.2 BR-07 arc42/06 s6.4
URS-DAT-001.3 BR-07 arc42/01 s1.1
URS-DAT-001.4 BR-08 arc42/08 s8.4

Scope

Data integrity is a cross-cutting concern ensuring all data in Essert.MF adheres to ALCOA+ principles (Attributable, Legible, Contemporaneous, Original, Accurate). This is critical for GAMP5 Category 4 compliance in pharmaceutical manufacturing.

Requirements

URS-DAT-001.1: ALCOA+ Record Structure

Description: All entities shall have UID (auto-generated), Timestamp, Creator, and CRC fields to ensure attributability and traceability.

Acceptance Criteria: - UID: bigint(20) AUTO_INCREMENT — never manually assigned - Timestamp: datetime — set at creation/modification time - Creator: varchar(30) — identifies the user or system that created/modified the record - CRC: bigint(20) — integrity checksum calculated from UID + all business fields - No record exists without all four fields populated

GxP Relevance: Direct Risk Class: Critical


URS-DAT-001.2: CRC Integrity Verification

Description: CRC32 checksum shall be calculated from UID plus all business fields and be verifiable on read.

Acceptance Criteria: - CRC calculated using two-phase insert: insert with UID=0, read back generated UID, calculate CRC, update - CRC content includes a type-specific prefix (e.g., "EsrtRbtx-") - CRC includes UID, all business fields, timestamp, and creator - CRC can be recalculated and verified on read to detect tampering - See ADR-003

GxP Relevance: Direct Risk Class: Critical


URS-DAT-001.3: Changelog Audit Trail

Description: The system shall maintain historical change logs for all parameter modifications in a dedicated changelogs database.

Acceptance Criteria: - All parameter changes (create, update, delete) are logged - Changelog records include: what changed, old value, new value, who, when - 44 changelog tables cover all parameter types - Changelog data is stored in a separate database (db_changelogs) for isolation - Changelog records are immutable (append-only)

GxP Relevance: Direct Risk Class: High


URS-DAT-001.4: Transaction Atomicity

Description: Multi-step operations shall be atomic — all changes succeed or all are rolled back.

Acceptance Criteria: - Product creation with parameters: product, version, and all mappings in one transaction - Cascading deletes: all related records removed in one transaction - Cross-database operations coordinated via Unit of Work pattern - Partial state is never persisted on failure - See arc42/08 s8.4 — Unit of Work Pattern

GxP Relevance: Direct Risk Class: High


References