Timestamp Bound Access ERD

Entity relations for Timestamp Bound Access configuration. Technical basis for feature development.

--- title: Authorization Context definition for Timestamp Bound Access --- erDiagram LocalPseudonym { string pseudonym UK "Unique sequence to describe a data subject for a UserGroup" string participantAlias UK "A capped version of the local pseudonym" } LocalPseudonym }o..|| UserGroup: "unique for" UserGroup { string identifier PK "e.g. 'CogPDim'" %%ColumnGroupAccessRule[] CGARs %%ParticipantGroupAccessRule[] PGARs string[] versionIDs FK } %% ACCESS RULE CGAR UserGroup ||--o{ ColumnGroupAccessRule: "data table column sieve" ColumnGroupAccessRule }o..o{ Version: "use CGAR's at maskTS" ColumnGroupAccessRule { string userGroup FK ColumnGroup CG ColumnAccess CA "{read, read-meta, write, write-meta}" Timestamp mutationTS } UserGroup }o--o{ Version: "may access these data versions" Version { string versionID PK "e.g. 'V2024-1'" Timestamp arSnapshot "e.g. 2024-01-27(T00:00:00)" string repVersion FK "Refer to by identifier (string)" string comments "" } %% ACCESS RULE PGAR UserGroup ||--o{ ParticipantGroupAccessRule: "data table row sieve" ParticipantGroupAccessRule }o..o{ Version: "use PGAR's at maskTS" ParticipantGroupAccessRule { string userGroup FK ParticipantGroup PG ParticipantGroupAccess PA "{access}" Timestamp mutationTS } ColumnGroupAccessRule }o--|| ColumnGroup: "concerns" Version }o..o{ ColumnGroup: "use ColumnGroup at maskTS" ColumnGroup { string identifier Column[] columns Timestamp mutationTS } Version }o--|| RepositorySnapshot: "respository data pinpointed at" RepositorySnapshot { string identifier PK "e.g. 'R2024-1'" Timestamp snapshotTS "e.g. 2024-01-27(T00:00:00)" string comments "e.g. 'Just some minor corrections on R2023-7'" } RepositorySnapshot }o--o{ Data: "use data at snapshotTS" Version }o..o{ ParticipantGroup: "use ParticipantGroup at maskTS" ParticipantGroupAccessRule }o--|| ParticipantGroup: "concerns" ParticipantGroup { string identifier Participant[] participants Timestamp mutationTS }