View Event as an Aggregated Bufdir Reporting Unit
When a Bufdir report is generated, the Event Service exposes aggregation methods that count each event as one activity entry with a participant count equal to the number of entries in the event_participants table. The Event Repository provides query methods for filtering events by organization scope and reporting period. Coordinators do not need to take any action beyond creating events normally — the aggregation is automatic at report generation time. This is the primary business driver for distinguishing events from single-contact activity logs.
User Story
Acceptance Criteria
- Given a coordinator generates a Bufdir report for a period containing events, when the report is previewed, then each event appears as a single activity line with its participant count displayed
- Given an event has 8 participants, when it is included in a Bufdir report, then the participant count shown is 8 and the event is not duplicated into 8 individual entries
- Given an event spans a reporting period boundary (e.g., created before but completed after), when the report is generated, then the event is attributed to the period containing the event date
- Given a coordinator's organization scope has events from multiple peer mentors, when the Bufdir report is generated, then only events within the coordinator's RLS scope are included
- Given no events exist for a reporting period, when the report is generated, then the event section shows zero with no errors
Business Value
This is the primary justification for the entire Event feature. Organizations like HLF and NHF run large group sessions regularly, and forcing coordinators to register one activity per participant for group events multiplies reporting effort and discourages accurate data entry. Automatic aggregation of events as single Bufdir units directly reduces coordinator workload, improves data quality, and enables accurate participation trend analysis over time.
Components
- Event Service service
- Event Repository data
- Bufdir Report Generator Service service
- Report Repository data