Relative Case Linking
Feature Detail
Description
Relative Case Linking connects individual relative records to a primary case contact, establishing a formal navigable relationship between a family member and the person receiving peer mentor support. Coordinators can view all relatives associated with a case from the contact detail screen and navigate from a relative profile back to the primary case, giving a complete bidirectional family picture. The feature supports multi-relative cases where several family members - mother, father, and sibling - are all linked to the same patient simultaneously. Links are stored in a join table and rendered on both the contact detail and the relative detail screens to enable navigation from either direction.
Sources & reasoning
The phrase 'knyttet til samme sak' (linked to the same case) in line 121 directly specifies that relatives must be associated with a primary case contact, not just registered in isolation. Phase 1/MVP placement is confirmed by the priority matrix (line 161). Case linking is also a structural prerequisite for relative-role-tagging, which applies tags to link records.
-
docs/source/likeperson.md · line 121Appen må støtte registrering av pårørende (foreldre, søsken, nærmeste omsorgsperson) som egne kontaktsubjekter knyttet til samme sak.
-
docs/source/likeperson.md · line 161Pårørende database | ✓ | - | - | - | ✓ | MUST (Barnekreft) | 1
Analysis
Without explicit case linking, relatives exist as disconnected records with no navigable relationship to the primary subject. Coordinators cannot see the complete family support picture in one place, making it impossible to verify which family members have been reached and which still need attention - directly undermining Barnekreftforeningen's care model. Case linking is also foundational for role tagging: roles are applied to case link records, not to relatives directly, meaning role tagging cannot exist without this join structure. Establishing the relationship model in MVP ensures all subsequent relatives-database capabilities build on a consistent data structure rather than retrofitting associations after launch.
A relative_case_links join table stores a many-to-many relationship between relatives and contacts, with columns for relative_id, contact_id, org_id, and case_role. The RelativeCaseLinkWidget renders as an embedded section on both ContactDetailScreen and RelativeDetailScreen with bidirectional navigation. Drift caches link records offline with sync queue support for link creation and deletion operations. The REST API validates that both the relative and the contact belong to the same organization before creating a link. Duplicate link detection returns 409 Conflict. The backend also cascades link deletion when a relative or contact is removed. All interactive link controls meet WCAG 2.2 AA: semantic action labels, visible focus indicators, and minimum 24px touch targets.
Quality Assurance
Coordinator (primary) · Peer Mentor (same flow, own contacts only)Coordinator
Quick UAT
- Åpne mobilappen og gå til Kontakter. Finn og åpne en primærkontakt (personen som mottar støtte).
- Bla ned til seksjonen Pårørende på kontaktdetaljsiden. Trykk på knappen Legg til pårørendekobling.
- Søk etter pårørendes navn i søkefeltet. Velg riktig pårørende fra resultatlisten og bekreft koblingen.
- Bekreft at den pårørende nå vises i pårørendelisten på primærkontaktens detaljside med korrekt navn.
- Naviger til den pårørendes profil og bekreft at primærkontaktens navn vises som tilknyttet sak under seksjonen Tilknyttet sak.
Quick UAT — Accessibility
-
Åpne mobilappen og gå til Kontakter. Finn og åpne en primærkontakt (personen som mottar støtte).
- Screen reader Bunnavigasjon annonseres med rolleetiketter; Kontakter-fanen annonseres som valgt ved aktivering.
- Keyboard / focus Tab-rekkefølge: bunnavigasjon → søkefelt → kontaktliste; Enter åpner kontaktdetalj.
- Focus visibility Synlig fokusring pĂĄ aktiv fane og kontaktrad.
-
Bla ned til seksjonen Pårørende på kontaktdetaljsiden. Trykk på knappen Legg til pårørendekobling.
- Screen reader Seksjonsoverskrift 'Pårørende' annonseres ved scroll. Knapp annonseres som 'Legg til pårørendekobling, knapp'.
- Focus visibility Synlig fokusring pĂĄ Legg til-knappen; knappetekst er synlig og ikke kun ikon.
- Touch target ≥ 24×24 CSS px på Legg til-knappen.
-
Søk etter pårørendes navn i søkefeltet. Velg riktig pårørende fra resultatlisten og bekreft koblingen.
- Screen reader Søkefelt annonseres med label 'Søk etter pårørende'. Resultater annonseres via polite live region ved endring.
- Keyboard / focus Tab til søkefelt, skriv navn, piltaster navigerer resultatliste, Enter velger rad og bekrefter.
- Touch target ≥ 24×24 CSS px per resultatrad.
- Live region 'X resultater funnet' annonseres når søkeresultater lastes inn.
-
Bekreft at den pårørende nå vises i pårørendelisten på primærkontaktens detaljside med korrekt navn.
- Screen reader 'Pårørendekobling lagret' annonseres via polite live region etter at listen oppdateres.
- Live region '[Navn] lagt til som pårørende' polite-annonsering etter vellykket lagring.
- Contrast Pårørendenavn oppfyller 4.5:1 mot bakgrunnsfarge; tilknytningsikon formidler ikke informasjon utelukkende via farge.
-
Naviger til den pårørendes profil og bekreft at primærkontaktens navn vises som tilknyttet sak under seksjonen Tilknyttet sak.
- Screen reader Seksjonsoverskrift 'Tilknyttet sak' annonseres. Kontaktlenke annonseres med navn og rolle.
- Keyboard / focus Tilbakenavigering og lenkeaktivering tilgjengelig via Tab og Enter uten bruk av sveipegester.
- Zoom Tilknyttet sak-seksjonen er lesbar og ikke avskĂĄret ved 200 % zoom.
Role Boundaries
2 role(s) must NOT access this feature-
Global Administrator
Global Administrator omdirigeres til Admin Web Portal ved innlogging på mobilappen; mobilappens kontakt- og pårørendeskjermer er utilgjengelige.
-
Prospective Organization Representative
Rollen har ingen konto i operasjonelle produkter; innlogging avvises og pårørendekobling er utilgjengelig.
Expected End State
Den pårørende er koblet til primærkontakten via en oppføring i join-tabellen relative_case_links. Koblingen er synlig i begge retninger: pårørendelisten på kontaktdetaljsiden og Tilknyttet sak-seksjonen på pårørendeprofilen.
Components (20)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.