Duplicate Activity Detection
Feature Detail
Description
The Duplicate Activity Detection feature automatically identifies potentially duplicate activity registrations within the Admin Web Portal - cases where the same or similar activity has been logged more than once, either by the same peer mentor or by multiple coordinators registering on behalf of the same contact. The system surfaces duplicate candidates in the activity review interface with similarity scores and matching evidence, enabling administrators to investigate and resolve duplication before data enters official Bufdir reports or statistics.
Sources & reasoning
NHF explicitly named duplicate detection as a unique organizational need, citing coordinators across 1 400 local chapters registering the same activity for the same contact. The priority matrix assigns this to Fase 2 → normalized to v1.0. Blueprint confirms v1.0. Architecturally coupled to activity-flagging as its auto-triage mechanism.
No source references — this artifact was included based on reasoning alone (see above).
Analysis
NHF manages 1 400 local chapters where multiple coordinators can register activities for the same contact, creating a concrete risk of double-counting. Duplicated records inflate Bufdir-reported activity metrics, potentially constituting grant misreporting. For organizations receiving government funding based on activity counts, duplicate detection is a compliance safeguard. Catching duplicates before the Bufdir export cycle saves significant manual reconciliation effort and protects organizational credibility with government funders. The feature also reduces coordinator workload by surfacing likely duplicates rather than requiring manual cross-referencing across full activity history.
Detection runs as a scheduled background job comparing newly submitted activities against recent history on dimensions including peer mentor ID, contact ID, activity type, and date within configurable tolerances (e.g. same contact + same type + same date ± 1 day = high-confidence duplicate). A similarity score (0-100) and duplicate_candidate_id are stored on the activities table. High-scoring pairs are auto-flagged via activity-flagging with reason_code duplicate_suspected. The admin UI adds a Duplicates tab showing pairs ranked by score. Administrators can confirm a duplicate (soft-delete one record) or mark false positive (clears flag and score). All decisions are audit-logged and configurable per organization.
Components (48)
Shared Components
These components are reused across multiple features
Service Layer (11)
Data Layer (23)
Infrastructure (7)
User Stories
No user stories have been generated for this feature yet.