Data Layer medium complexity mobile
0
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Offline-first persistence layer for relative contact records. Manages local storage, synchronization state, and indexed lookups so relatives can be searched and referenced independently across the platform.

Feature: Relative Contact Registration

relative-store

Sources & reasoning

Source explicitly designates Pårørende-database as Fase 1 MUST for Barnekreftforeningen (line 332 and matrix line 111). Registration of relatives as distinct contact subjects is the foundational capability that all downstream relative features depend on, so it must ship in MVP.

  • PĂĄrørende-database: Barnekreftforeningen jobber primært med familier rundt barn med kreft, ikke kun med de berørte selv. Appen mĂĄ støtte registrering av pĂĄrørende (foreldre, søsken, nærmeste omsorgsperson) som egne kontaktsubjekter knyttet til samme
  • PĂĄrørende database | âś“ | - | - | - | âś“ | MUST (Barnekreft) | 1

Responsibilities

  • Persist relative records to the offline-first local database
  • Index relatives for fast search by name and relationship type
  • Track synchronization status and pending changes for each record
  • Expose CRUD primitives consumed by the Relative Service
  • Emit change notifications when relative records are added or updated

Interfaces

insertRelative(record): Promise<void>
updateRelative(relativeId, changes): Promise<void>
findRelativeById(relativeId): Promise<RelativeRecord | null>
queryRelatives(filter): Promise<RelativeRecord[]>