Service Layer medium complexity backend
0
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Backend service that manages the lifecycle of confidentiality declarations, including creation, validation, expiry tracking, and gating of dependent workflows such as driver honorarium expenses and transport assignments. Enforces that an active declaration is on file before related actions can proceed.

Feature: Confidentiality Declarations

declaration-service

Sources & reasoning

Section 2.1 lists driver honoraria and confidentiality declarations as a Blindeforbundet-specific need within the reimbursement workflow, placing it in the Phase 2 Core Product reimbursement scope alongside the rest of the expense stack.

Responsibilities

  • Create and update declaration records with signed date, version, and optional document reference
  • Compute and track declaration expiry and emit renewal reminders
  • Provide a gating check that confirms an active declaration exists before dependent expenses or assignments are processed
  • Produce audit data for org admins covering who signed, what version, and when
  • Enforce role-based access so only authorised roles can record or view declarations

Interfaces

recordDeclaration(userId, signedDate, version, documentRef): DeclarationRecord
getDeclarationByUser(userId): DeclarationRecord | null
isDeclarationActive(userId): boolean
listDeclarations(orgId, filters): DeclarationRecord[]
scheduleRenewalReminder(declarationId, expiryDate): void

Related Data Entities (1)

Data entities managed by this component