Duplicate Detection Service
Component Detail
Service Layer
medium complexity
backend
0
Dependencies
0
Dependents
1
Entities
0
Integrations
Description
Backend service that scans logged activities and identifies likely duplicates by comparing contact, date, time window, activity type, and participating peer mentor. Produces a ranked list of suspected duplicate pairs with similarity scores for admin review.
duplicate-detection-service
Sources & reasoning
Explicitly requested by NHF in §3.2 unique needs and codified in §8 canonical area taxonomy. Not in MVP admin scope (§5); fits naturally with the rest of Activity Oversight in Core Product per source roadmap structure.
-
docs/source/likeperson.md · line 67Duplikatvarsling: Fange opp når samme aktivitet registreres av flere koordinatorer.
-
docs/source/likeperson.md · line 375admin-activity-oversight | Activity Oversight | Activity Review & Approval, Activity Flagging, Duplicate Activity Detection
Responsibilities
- Compare candidate activities on contact, date, time window, activity type, and peer mentor
- Compute similarity scores and rank suspected duplicate pairs
- Persist detected duplicate pairs for admin review
- Apply merge, mark-as-distinct, and delete resolutions while preserving audit trail
- Re-evaluate candidates after new activity registrations from coordinators and proxy reporters
Interfaces
detectDuplicates(activityScope): DuplicatePair[]
scorePair(activityA, activityB): SimilarityScore
mergeDuplicate(pairId, primaryId): MergeResult
markAsDistinct(pairId): void
deleteDuplicate(activityId): void