Correct Activity Registration Details with Mandatory Audit Reason
When a coordinator identifies an error in a submitted registration (wrong activity type, incorrect date, wrong duration, invalid expense amount), they access the Correction Request Widget via an inline editor or modal on the registration detail view. The widget supports field-level editing for: activity type, date and time, duration, participant count, expense type, and expense amount. A mandatory 'Correction Reason' text field must be completed before the save action is enabled — this ensures every modification is documented. The Correction Validation Service validates edited values against activity schema rules and business constraints before submission. On save, the Activity Correction Repository atomically updates the activity record and inserts a correction history entry preserving the original values, the new values, the correction reason, and the coordinator's identity. The activity status transitions to 'corrected' and downstream workflows are updated accordingly.
User Story
Acceptance Criteria
- Given a coordinator opens a pending or flagged registration, when they tap 'Correct', then the Correction Request Widget opens with all editable fields pre-populated with current values
- Given the correction widget is open, when the coordinator modifies any field, then the 'Save Correction' button remains disabled until the mandatory Correction Reason field contains at least 10 characters
- Given the coordinator submits a correction, when the Correction Validation Service detects a constraint violation (e.g., duration exceeds maximum for activity type), then an inline validation error is shown and save is blocked
- Given all validation passes and the correction is saved, when the database write completes, then the original values, new values, correction reason, coordinator ID, and timestamp are all stored in the correction history record atomically
- Given a correction is saved, when the registration detail is viewed by any authorized user, then the correction history section shows the full change log with reasons and timestamps
- Given the coordinator saves a correction, when the registration status updates, then it transitions to 'corrected' and any downstream workflows (e.g., reimbursement amounts) are recalculated with the new values
Business Value
Data quality in activity registration is the critical prerequisite for Bufdir grant compliance. Inaccurate registrations submitted by peer mentors — wrong dates, wrong activity types, inflated expense amounts — must be correctable without deletion to preserve historical integrity. The mandatory correction reason field creates the auditable trail required for NHF and HLF to respond to Bufdir audits. This feature directly replaces the error-prone manual process of coordinators editing Word forms and re-entering data in Excel aggregations.