medium complexity extracted Contacts Confidence: 100%
3
Components
18
Shared
0
User Stories
Yes
Analyzed

Description

The Caregiver & Next-of-Kin feature allows coordinators and peer mentors to register multiple caregivers per contact, each with name, relationship type, and contact details. Caregivers appear as a dedicated section within the contact detail screen with add, edit, and delete actions gated by role. Data is stored in the local Drift database for offline access and synced to the backend via the mutation outbox. Organization Labels apply tenant-specific terminology - such as PÄrÞrende, Foresatte, or NÊrmeste omsorgsperson - without requiring code changes. All caregiver data is encrypted at rest via SQLCipher consistent with the broader offline security model.

Sources & reasoning

Lines 121, 161, and 438 form a clear provenance chain: the requirement is stated (121), marked MUST in Phase 1 (161), and explicitly restated as Phase 1 MUST (438). Blueprint places this in Contacts (not Relatives Database) because it concerns caregivers linked to existing contacts, not a standalone relatives registry. Phase 1 = MVP by ordinal mapping.

  • 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 sak.
  • PĂ„rĂžrende database | ✓ | - | - | - | ✓ | MUST (Barnekreft) | 1
  • PĂ„rĂžrende-database er Fase 1 MUST for Barnekreftforeningen

Analysis

Business Value

Barnekreftforeningen identified caregiver registration as a Phase 1 MUST requirement because their peer mentor program works primarily with families around children with cancer. Without the ability to record caregivers, peer mentors cannot maintain a complete picture of the family's support needs, directly undermining the program's effectiveness. Barnekreftforeningen cannot adopt the platform without this capability at initial release. Beyond Barnekreftforeningen, caregiver relationships matter for NHF's user base of stroke patients and people with cognitive challenges, whose families are actively involved in their care. Capturing this data inside the platform eliminates reliance on personal phone books, improving data security and continuity when peer mentors change.

Implementation Notes

Caregiver records are modelled as a separate Drift table (contact_caregivers) with a foreign key to the contacts table, supporting one-to-many relationships per contact. The Flutter UI renders caregivers as an expandable section inside the contact detail screen, with add, edit, and delete actions resolved from JWT role claims at build time. Each caregiver form uses AppTextField and AppButton widgets from the design token system for WCAG 2.2 AA compliance. Organization Labels are extended to caregiver terminology and returned in the backend bootstrap payload, cached offline. Offline writes use the mutation outbox pattern: written to Drift first, enqueued for server sync, rolled back on terminal failure. All data is encrypted at rest via SQLCipher, consistent with the platform-wide offline security model.

Quality Assurance

Coordinator (primary) · Peer Mentor (same flow)
1
Scenarios
6
UAT Steps
22
A11y Annotations
2
Role Boundaries
Coordinator

Coordinator

Quick UAT

  1. Logg inn som Koordinator. GÄ til Kontakter-fanen og Äpne en eksisterende kontakt.
  2. Bla ned til PÄrÞrende-seksjonen i kontaktdetaljvisningen og trykk +Legg til pÄrÞrende.
  3. Fyll inn navn, velg relasjonstype (f.eks. Forelder) og legg til telefonnummer. Trykk Lagre.
  4. Bekreft at den nye pÄrÞrende vises i PÄrÞrende-listen med korrekt navn, relasjonstype og kontaktinformasjon.
  5. Trykk Rediger pÄ den nyopprettede posten, endre relasjonstypen og trykk Lagre. Bekreft at endringen er lagret.
  6. Trykk Slett pÄ posten, bekreft slettingen i dialogboksen og sjekk at posten er fjernet fra listen.

Quick UAT — Accessibility

  1. Logg inn som Koordinator. GÄ til Kontakter-fanen og Äpne en eksisterende kontakt.
    • Screen reader Bunnavigasjon annonseres med faneroller; kontaktliste-overskrift leses opp ved innlasting.
    • Keyboard / focus Tab navigerer bunnavigasjon; Enter Ă„pner Kontakter; piltaster navigerer liste; Enter Ă„pner kontakt.
    • Focus visibility Synlig fokusring pĂ„ aktiv bunnav-fane og pĂ„ valgt kontaktkort.
  2. Bla ned til PÄrÞrende-seksjonen i kontaktdetaljvisningen og trykk +Legg til pÄrÞrende.
    • Screen reader Seksjonstittel 'PĂ„rĂžrende' leses opp som overskrift; +Legg til pĂ„rĂžrende-knapp er merket med tilgjengelig navn.
    • Keyboard / focus Tab navigerer til seksjonsoverskriften og videre til +Legg til pĂ„rĂžrende-knappen; Enter aktiverer.
    • Focus visibility Fokus flyttes automatisk til fĂžrste felt i skjemaet nĂ„r det Ă„pnes.
    • Touch target ≄ 24×24 CSS px for +Legg til-knapp.
  3. Fyll inn navn, velg relasjonstype (f.eks. Forelder) og legg til telefonnummer. Trykk Lagre.
    • Screen reader Hvert inndatafelt er merket med synlig label lest opp av skjermleser; pĂ„krevde felt annonseres som 'obligatorisk'.
    • Keyboard / focus Tab navigerer mellom feltene i logisk rekkefĂžlge; Space/Enter Ă„pner relasjonstypevelger.
    • Focus visibility Lagre-knapp har synlig fokusring; feilmeldinger kobles til relevante felt via aria-describedby.
    • Contrast 4.5:1 for alle feltetiketter og plassholdertekst.
  4. Bekreft at den nye pÄrÞrende vises i PÄrÞrende-listen med korrekt navn, relasjonstype og kontaktinformasjon.
    • Screen reader Nytt listeelement annonseres via polite live region etter lagring.
    • Live region 'PĂ„rĂžrende lagt til.' annonseres som polite live region ved vellykket lagring.
    • Zoom Listen er lesbar og kortene brytes korrekt ved 200 % zoom.
  5. Trykk Rediger pÄ den nyopprettede posten, endre relasjonstypen og trykk Lagre. Bekreft at endringen er lagret.
    • Screen reader Rediger-knapp er merket med 'Rediger [navn]' for Ă„ skille mellom flere poster i listen.
    • Keyboard / focus Tab navigerer til Rediger-knapp for riktig post; Enter Ă„pner redigeringsskjema.
    • Focus visibility Fokus returnerer til det redigerte listeelementet etter lagring.
    • Live region 'PĂ„rĂžrende oppdatert.' annonseres som polite live region.
  6. Trykk Slett pÄ posten, bekreft slettingen i dialogboksen og sjekk at posten er fjernet fra listen.
    • Screen reader Bekreftelsesdialog annonseres som dialog-rolle med knappene 'Slett' og 'Avbryt' tydelig merket.
    • Keyboard / focus Fokus fanges i dialogen; Escape avbryter; Enter pĂ„ Slett-knapp bekrefter.
    • Focus visibility Etter sletting returnerer fokus til PĂ„rĂžrende-seksjonens +Legg til-knapp eller forrige element.
    • Live region 'PĂ„rĂžrende slettet.' annonseres som polite live region.

Role Boundaries

2 role(s) must NOT access this feature
  • Global Administrator

    Global Administrator har ikke tilgang til Meander Mobile App; skjermen finnes ikke i navigasjonen og deep-link returnerer 401/redirect til admin-portal.

  • Prospective Organization Representative

    Rollen har ikke brukerkonto i den operative plattformen; innlogging avvises og skjermen er utilgjengelig.

Expected End State

PÄrÞrende-posten er lagret kryptert i lokal Drift/SQLCipher-database, vises i PÄrÞrende-seksjonen pÄ kontaktdetaljsiden, og er lagt i mutasjonsoutboxen for synkronisering til backend nÄr tilkobling er tilgjengelig.

User Stories

No user stories have been generated for this feature yet.