Relative Contact Registration
Feature Detail
Description
Relative Contact Registration allows peer mentors to register family members and caregivers as independent contact records linked to a primary case. Parents, siblings, and primary caregivers are stored as distinct entities with their own profiles and contact details, enabling coordinators to track interactions with each family member independently. This feature is essential for Barnekreftforeningen, which works with entire family units around a child with cancer rather than just the individual. Relatives are full contact subjects with their own CRUD lifecycle, not embedded sub-fields.
Sources & reasoning
§3.4 of likeperson.md explicitly requires registering relatives (parents, siblings, caregivers) as independent contact subjects linked to the same case. The priority matrix marks this MUST for Barnekreftforeningen at Phase 1. §7 confirms 'Pårørende-database er Fase 1 MUST for Barnekreftforeningen', mapping directly to MVP.
No source references — this artifact was included based on reasoning alone (see above).
Analysis
For Barnekreftforeningen, whose peer mentors support families affected by childhood cancer, registering relatives as independent contact subjects is foundational - without it the app cannot model the multi-person family unit central to their workflow. The feature enables coordinators to track follow-up actions across all family members, ensuring no one is missed during a crisis. From a platform perspective it future-proofs the data model for other organizations with family-centered support models, and structuring relatives as proper database entities ensures data quality for aggregate reporting.
A dedicated relatives table on the backend stores each relative with a FK to the parent contact. The Flutter UI reuses Contact form components adapted for relationship-specific fields, with a simplified mandatory set (name, role, phone) and optional extension fields. A REST endpoint at /api/v1/contacts/:id/relatives handles scoped CRUD. Drift mirrors the relatives table locally with mutation outbox support for offline creation. The Riverpod state layer manages relative lists per contact with optimistic mutations following the same pattern used by the contacts feature.
Components (46)
Shared Components
These components are reused across multiple features
Service Layer (11)
Data Layer (23)
Infrastructure (7)
User Stories
No user stories have been generated for this feature yet.