01 — Quick Reference

Group Models
Agreements Entity · AuditEngagement · DataAgreement · AgreementScope
Requests & Datasets DataRequest · DatasetDefinition · DatasetField · ExtractSpecification · ValidationRule
Submission & Validation SubmissionBatch · ValidationRun · ValidationResult · ControlTotalDefinition · Reconciliation
Exceptions, Access & Retention IntakeException · SubmissionDecision · AccessGrant · RetentionDisposition · StatusHistory

Every model (19) — one line each

Model It records Key foreign keys
Entity An audited organisation
AuditEngagement An audit the data serves
DataAgreement A legal data-sharing agreement Entity, AuditEngagement, (self: supersedes)
AgreementScope A permitted dataset within an agreement DataAgreement
DataRequest A request for data DataAgreement, AuditEngagement, Entity
DatasetDefinition The expected dataset DataRequest, AgreementScope
DatasetField A field in the dataset DatasetDefinition
ExtractSpecification How to produce the extract DatasetDefinition, (self: supersedes)
ValidationRule A rule the data must satisfy DatasetDefinition, DatasetField
SubmissionBatch A submitted file DataRequest, DatasetDefinition, (self: supersedes)
ValidationRun A validation of a submission SubmissionBatch
ValidationResult A rule's outcome in a run ValidationRun, ValidationRule
ControlTotalDefinition A control total to reconcile DatasetDefinition
Reconciliation A source-vs-received check SubmissionBatch, ControlTotalDefinition
IntakeException A gap/failure (maybe blocking) DataRequest, SubmissionBatch, ValidationRun
SubmissionDecision The authorised accept/reject SubmissionBatch
AccessGrant Who may access a dataset DatasetDefinition, SubmissionBatch
RetentionDisposition Retention & disposal of a submission SubmissionBatch
StatusHistory A request state transition DataRequest

Status vocabularies

  • Request status: DRAFT → ISSUED → ACKNOWLEDGED → IN_PREPARATION → SUBMITTED → VALIDATING → ACCEPTED / REJECTED → CLOSED · CANCELLED
  • Agreement type / status: STANDING·AUDIT_SPECIFIC·DATA_SHARING·ONE_OFF / DRAFT·UNDER_REVIEW·APPROVED·ACTIVE·SUSPENDED·EXPIRED·TERMINATED·SUPERSEDED
  • Data classification: PUBLIC · INTERNAL · SENSITIVE · RESTRICTED
  • Submission status: RECEIVED · QUARANTINED · VALIDATING · EXCEPTION_OPEN · ACCEPTED · REJECTED · SUPERSEDED
  • Validation outcome: NOT_RUN · PASSED · PASSED_WITH_WARNINGS · FAILED
  • Rule severity: INFO · WARNING · ERROR · FATAL
  • Reconciliation outcome: NOT_RUN · MATCHED · WITHIN_TOLERANCE · OUTSIDE_TOLERANCE · FAILED
  • Exception status: OPEN · ACKNOWLEDGED · CORRECTION_IN_PROGRESS · RESUBMISSION_PENDING · RESOLVED · CLOSED · ACCEPTED
  • Access status: REQUESTED · APPROVED · ACTIVE · REVOKED · EXPIRED
  • Disposal status: NOT_DUE · DUE · PENDING_APPROVAL · APPROVED · COMPLETED · HOLD

Demo data set (35 rows)

Entity 1 · AuditEngagement 1 · DataAgreement 1 · AgreementScope 1 · DataRequest 1 · DatasetDefinition 1 · DatasetField 5 · ExtractSpecification 1 · ValidationRule 2 · SubmissionBatch 2 · ValidationRun 2 · ValidationResult 4 · ControlTotalDefinition 2 · Reconciliation 2 · IntakeException 1 · SubmissionDecision 1 · AccessGrant 1 · RetentionDisposition 1 · StatusHistory 5.

Reseed from empty: python apps/adidam/scripts/seed_data.py (skips if data already present).

Local run

python server/run.py adidam          # http://localhost:5076