Post-Session Report Screen
Component Detail
Description
The primary screen for composing and submitting a structured report after a home visit or one-on-one session. Renders all org-specific fields from the dynamic schema, enforces fill-after-session flow, and provides WCAG 2.2 AA accessible layout with explicit labels and non-colour error indicators.
post-session-report-screen
Summaries
The Post-Session Report Screen is the primary data capture point for frontline workers following home visits and one-on-one sessions — making it one of the most business-critical screens in the entire application. Accurate, timely session reporting is the foundation of outcome tracking, funder compliance, and organizational accountability. By enforcing a fill-after-session flow and supporting fully org-configurable fields, this screen ensures data quality without requiring separate custom apps per organization. Its WCAG 2.2 AA accessibility compliance reduces legal risk and broadens usability for workers in varied environments.
The structured 'Way Forward' section captures forward-looking commitments, directly supporting evidence-based casework and demonstrating measurable impact to funders and leadership.
The Post-Session Report Screen is rated high complexity and is one of the more significant delivery items in the mobile pipeline. It depends on three other components — the Dynamic Field Renderer, Way Forward Section Widget, and Report Form Orchestrator — all of which must reach a stable API before this screen can be fully integrated and tested. This creates a scheduling dependency chain that should be surfaced in sprint planning. WCAG 2.2 AA compliance adds non-trivial QA overhead: accessibility audits, screen reader testing, and explicit validation of colour-independent error indicators are required before release.
The dynamic schema rendering means testing must cover a matrix of org configurations, not a single fixed form layout. Recommend allocating dedicated accessibility QA time and setting up test orgs with varied schema configurations early in the testing phase to avoid late-cycle surprises.
Post-Session Report Screen is a high-complexity Flutter screen that composes three dependent components: `DynamicFieldRenderer` (renders org-specific schema fields), `WayForwardSectionWidget` (captures forward-looking commitments), and `ReportFormOrchestrator` (manages form state, validation, and submission). The screen receives an `activityId` and schema config via `buildReportForm(activityId, schema)`, delegates field rendering to the dynamic renderer, and routes change events through `onFieldChanged(fieldId, value)` to the orchestrator. On `onSubmit()`, the orchestrator validates and persists the report linked to the parent `activity` record. Validation errors surface via `showValidationErrors(errors)` using non-colour indicators (text labels, icons) to meet WCAG 2.2 AA.
Data models in scope are `post-session-report` and `activity`. Key implementation considerations: form state must survive backgrounding (use persistent state or autosave), accessibility semantics require explicit label widgets not just placeholder text, and the schema-driven field list must handle unknown field types gracefully without crashing.
Responsibilities
- Display dynamically rendered form fields from org schema config
- Enforce WCAG 2.2 AA accessibility (explicit labels, colour-independent errors)
- Link submitted report to parent activity_id
- Show submission confirmation and navigate back on success
Interfaces
buildReportForm(activityId, schema)
onFieldChanged(fieldId, value)
onSubmit()
showValidationErrors(errors)
showSubmitSuccess()
navigateBack()
Relationships
Dependencies (3)
Components this component depends on
Related Data Entities (1)
Data entities managed by this component