medium complexity extracted Activity Oversight Confidence: 100%
7
Components
106
Shared
0
User Stories
Yes
Analyzed

Description

This feature provides coordinators and administrators with a lightweight mechanism to mark suspicious, duplicate, or non-compliant activity registrations for follow-up without immediately rejecting them. A flagged activity remains in the system but is excluded from Bufdir report counts and reimbursement queues until the flag is resolved. The feature addresses the NHF-specific requirement for duplicate detection when multiple coordinators may register the same group event, and serves as a general-purpose quality control tool across all organizations on the platform.

User Flow

Activity Flagging user flow
Click to expand

Analysis

Business Value

Organizations like NHF operate across 1,400 local associations and 9 regions, making duplicate registrations of the same event a realistic and recurring problem that can inflate Bufdir reports and trigger incorrect reimbursements. A dedicated flagging mechanism — separate from outright rejection — gives coordinators a collaborative tool to investigate ambiguous cases without data loss. From a compliance perspective, being able to demonstrate that flagged records were reviewed and resolved provides an audit trail that satisfies grant accountability requirements. For organizations with high activity volumes, the ability to triage rather than binary approve/reject reduces the cognitive overhead of the review workflow.

Implementation Notes

Flagging state is stored as an additional status field on the activities table (e.g., status='flagged') with a separate flag_reason text column and flagged_by foreign key to users. The admin portal exposes a flag management component that lists all flagged activities with reason, flagger identity, and age of flag. Resolution actions (accept-as-is, correct-and-approve, reject) are gated by coordinator or org admin role. Automated duplicate detection runs as a background job on activity insert, comparing contact_id, date, and activity_type within the same local association within a configurable time window; suspected duplicates are auto-flagged with reason='suspected_duplicate'. All flag create/resolve events are written to audit_logs.

Components (113)

User Interface (2)

Service Layer (3)

Data Layer (1)

Infrastructure (1)

Shared Components

These components are reused across multiple features

Service Layer (34)

Data Layer (22)

Infrastructure (38)

infrastructure Keychain/Keystore Adapter low Shared infrastructure JWT Claims Extractor low Shared infrastructure Organization Labels Adapter low Shared infrastructure Keychain/Keystore Adapter low Shared infrastructure Auth API Client medium Shared infrastructure REST API Client medium Shared infrastructure WCAG Accessibility Adapter low Shared infrastructure Registration API Client low Shared infrastructure Accounting API Client high Shared infrastructure PDF Renderer Adapter medium Shared infrastructure File Share Adapter low Shared infrastructure FCM/APNs Adapter high Shared infrastructure Share Sheet Adapter low Shared infrastructure Share Plus Adapter low Shared infrastructure Platform Accessibility Bridge medium Shared infrastructure Semantics Override Adapter high Shared infrastructure URL Launcher Adapter low Shared infrastructure Markdown Content Renderer low Shared infrastructure Network Connectivity Monitor low Shared infrastructure Expense Receipt Storage Adapter low Shared infrastructure Audit Log Writer low Shared infrastructure Feature Flag Checker low Shared infrastructure Logo Upload Adapter low Shared infrastructure Terminology Constants Registry low Shared infrastructure Feature Flag Cache Adapter low Shared infrastructure Org Scope JWT Resolver medium Shared infrastructure Association Audit Logger low Shared infrastructure Token Blocklist medium Shared infrastructure Analytics Tracker low Shared infrastructure SEO Metadata Config low Shared infrastructure Analytics Tracker low Shared infrastructure Analytics Tracker low Shared infrastructure Sales Analytics Tracker low Shared infrastructure Email Provider Adapter low Shared infrastructure Terms of Service Content Provider low Shared infrastructure Legal PDF Asset Provider low Shared infrastructure Consent-Gated Script Loader low Shared infrastructure Legal Page Layout low Shared

User Stories

No user stories have been generated for this feature yet.