Confidentiality Declaration Send Screen
Component Detail
Description
Screen that allows a coordinator or peer mentor to attach an existing confidentiality declaration template or trigger electronic delivery to the driver for acknowledgement. Displays current declaration status and any prior acknowledgements.
declaration-send-screen
Summaries
Confidentiality declarations are a legal and governance requirement for organisations that engage drivers. This screen operationalises that requirement by giving coordinators and peer mentors a streamlined way to send, track, and resend declarations electronically, replacing error-prone manual processes. Having a clear audit trail of declaration delivery and acknowledgement status reduces legal exposure and simplifies compliance reporting. The ability to resend declarations directly from this screen eliminates unnecessary delays when drivers miss the initial notification, keeping transport assignments on schedule and reducing administrative overhead for coordination staff.
This screen sits at the intersection of the driver assignment flow and the declaration management service, making it a coordination point between two workstreams. It depends on declaration-status-badge (a low-complexity UI widget) and declaration-management-service (the core business logic layer). Delivery risk is moderate: the resend logic requires idempotency guarantees from the management service to avoid duplicate sends, which must be agreed upon and tested. Display of prior acknowledgement history introduces a data loading state that must handle empty, partial, and paginated results gracefully.
Plan for edge-case testing: expired declarations, re-sent declarations, and concurrent sends. Accessibility requirements for declaration status display should be validated with the badge component.
Receives driverId and assignmentId as route parameters and queries declaration-management-service for current declaration state on mount. Renders a preview of the declaration template (read-only) and the current status via declaration-status-badge. onSendDeclaration triggers electronic delivery through the service layer, which should return a declarationId on success for subsequent tracking. onResendDeclaration must pass the existing declarationId to enable the service to create a new delivery record linked to the original.
onViewDeclarationHistory navigates to a history list filtered by driverId. Handle loading, error, and empty states explicitly. Status polling or a realtime subscription (consider reusing realtime-approval-subscription patterns) may be needed if status can change while the screen is open. Data model: confidentiality_declaration.
Responsibilities
- Present declaration template preview
- Trigger electronic delivery of declaration to driver
- Display current declaration status (pending, acknowledged, expired)
- Allow re-sending if driver has not acknowledged
Interfaces
renderDeclarationSendScreen(driverId, assignmentId)
onSendDeclaration(recipientId)
onResendDeclaration(declarationId)
onViewDeclarationHistory(driverId)
onClose()
Relationships
Dependencies (2)
Components this component depends on
Related Data Entities (3)
Data entities managed by this component