Duplicate Activity Detection
Feature Detail
Description
Duplicate Activity Detection automatically identifies activity records that appear to represent the same real-world interaction logged by multiple users or submitted more than once. The system compares key attributes such as contact, date, time, type, and peer mentor to compute a similarity score. When a potential duplicate is detected, a warning banner surfaces in the admin portal so coordinators can investigate before approving the record.
Sources & reasoning
Line 107 explicitly names Duplikatvarsling as an NHF requirement. Line 109 explains the organizational complexity that makes duplicate logging likely. Neither feature appears in the Phase 1 MVP admin scope at lines 327-330, so Phase 2 ordinal applies, mapping to v1.0. Blueprint confirms v1.0 target.
-
docs/source/likeperson.md · line 107- **Duplikatvarsling:** Fange opp nÄr samme aktivitet registreres av flere koordinatorer.
-
docs/source/likeperson.md · line 109- **Bredest organisasjonsstruktur:** 12 landsforeninger, 9 regioner, 1 400 lokallag - aktivitetsfordeling mellom ledd mÄ stÞttes.
Analysis
NHF explicitly identified duplicate detection as a critical need due to their structure spanning 12 national associations, 9 regions, and 1,400 local associations, where the same activity can easily be logged by multiple coordinators independently. Undetected duplicates inflate reported activity counts and create compliance risk for Bufdir submissions that determine government funding levels. Automated detection removes the burden of manual reconciliation, preserving report integrity and freeing coordinator time for value-adding oversight work across all supported organizations.
Detection runs as a background job on each new activity save, comparing the record against existing entries within a configurable time window for the same contact and activity type. Similarity scoring combines exact-match fields with fuzzy date and time proximity. Potential duplicates surface as a DuplicateWarningBanner on activity detail and review pages. Coordinators dismiss warnings with a mandatory justification note, suppressing future alerts for that pair. All detection events and dismissals persist to the audit log. Detection thresholds are configurable per organization via admin settings.
Quality Assurance
Organization Administrator (primary reviewer)Organization Administrator
Quick UAT
- Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Aktiviteter â Til godkjenning.
- Finn en aktivitet som viser et gult duplikatvarsel-banner Þverst pÄ aktivitetskortet. Trykk pÄ aktiviteten for Ä Äpne detaljevisningen.
- Les duplikatvarselet: kontroller at det viser likhetsdetaljer (kontakt, dato, type, likeperson) og koblingslenke til den mulige duplikaten.
- Trykk pÄ lenken i varselet for Ä Äpne den mistenkte duplikataktiviteten i en ny fane. Sammenlign de to aktivitetene manuelt.
- GĂ„ tilbake til den fĂžrste aktiviteten. Trykk Avvis varsel for Ă„ bekrefte at registreringene er ulike og ikke duplikater. Bekreft i dialogboksen.
- Bekreft at duplikatvarselet er fjernet fra aktivitetskortet og at aktiviteten nÄ kan godkjennes uten varsel.
Quick UAT â Accessibility
-
Logg inn i Admin-portalen som Organisasjonsadministrator. Naviger til Aktiviteter â Til godkjenning.
- Screen reader Sideoverskrift 'Til godkjenning' annonseres ved sidelast; tab-rekkefĂžlge starter med navigasjonsmeny, deretter filterpanel, deretter aktivitetsliste.
- Keyboard / focus Alle navigasjonselementer nÄs med Tab; Enter aktiverer lenker og knapper.
-
Finn en aktivitet som viser et gult duplikatvarsel-banner Þverst pÄ aktivitetskortet. Trykk pÄ aktiviteten for Ä Äpne detaljevisningen.
- Screen reader Duplikatvarselet annonseres som 'Advarsel: mulig duplikat oppdaget' fĂžr aktivitetsinnholdet leses opp.
- Touch target Aktivitetskort-trekkomrĂ„de â„ 24Ă24 CSS px; hele kortet er klikkbart.
- Contrast Gult varselbanner mĂ„ ha tilstrekkelig tekstkontrast (4.5:1); varselet mĂ„ ikke formidles kun gjennom farge â inkluder ikonlabel eller tekstbeskrivelse.
-
Les duplikatvarselet: kontroller at det viser likhetsdetaljer (kontakt, dato, type, likeperson) og koblingslenke til den mulige duplikaten.
- Screen reader Skjermleser leser opp samtlige likhetsdetaljer i varselet i logisk rekkefĂžlge; lenketeksten er beskrivende (ikke bare 'Klikk her').
- Focus visibility Fokus settes automatisk pÄ varselbanneret nÄr detaljevisningen Äpnes, slik at skjermleserbrukere ikke overser varselet.
- Zoom Likhetsdetaljene i varselet forblir lesbare og ikke avskÄret ved 200 % zoom.
-
Trykk pÄ lenken i varselet for Ä Äpne den mistenkte duplikataktiviteten i en ny fane. Sammenlign de to aktivitetene manuelt.
- Screen reader Lenke annonseres som 'Ă pner i ny fane'; skjermleser varsler brukeren om fanebytte.
- Keyboard / focus Lenken nÄs med Tab fra varselet; Enter Äpner ny fane.
- Focus visibility Synlig fokusring pÄ lenken i varselbanneret.
-
GĂ„ tilbake til den fĂžrste aktiviteten. Trykk Avvis varsel for Ă„ bekrefte at registreringene er ulike og ikke duplikater. Bekreft i dialogboksen.
- Screen reader 'Avvis varsel'-knapp annonseres med rolle og tilstand; bekreftelsesdialog annonseres som modaldialog med fokus satt pÄ primÊrknapp.
- Keyboard / focus Tab navigerer mellom Bekreft og Avbryt i dialogen; Escape lukker dialogen uten handling.
- Focus visibility Fokus fanges innenfor modaldialogen mens den er Äpen; returneres til 'Avvis varsel'-knappen ved lukking.
- Touch target Bekreft- og Avbryt-knapper i dialog â„ 24Ă24 CSS px.
-
Bekreft at duplikatvarselet er fjernet fra aktivitetskortet og at aktiviteten nÄ kan godkjennes uten varsel.
- Screen reader FravÊret av varselbanner bekreftes implisitt ved at skjermleser ikke lenger leser advarselsteksten pÄ kortet.
- Live region 'Duplikatvarsel avvist. Aktiviteten er klar for godkjenning.' annonseres via polite live region.
Role Boundaries
2 role(s) must NOT access this feature-
Peer Mentor
Admin-portalen finnes ikke i mobilappens navigasjon; direkte URL til admin-portalen returnerer 403 uautorisert.
-
Coordinator
Admin-portalen finnes ikke i mobilappens navigasjon; direkte URL til admin-portalen returnerer 403 uautorisert.
Expected End State
Duplikatvarselet er avvist og fjernet fra aktivitetskortet. Aktiviteten forblir i godkjenningskÞen uten varsel og kan nÄ godkjennes eller avvises pÄ ordinÊrt vis av organisasjonsadministratoren.
Components (20)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.