Skip to content

Doedsfall hendelser #710

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 23 commits into
base: main
Choose a base branch
from
Open

Doedsfall hendelser #710

wants to merge 23 commits into from

Conversation

AStrand94
Copy link
Contributor

Hvorfor er denne endringen nødvendig? ✨

Legger til at vi lytter på personhendelser fra leesah (liver er en strøm av hendelser)-topicet, og filtrerer ut dødshendelser. Dette slik at vi kan plukke opp og varsle saksbehandler om bruker har aktive stønader. Varslet i form av en oppgave med type VurderLivshendelse. Oppretter en task som kjører og oppretter oppgave 1 uke etter vi har mottatt dødshendelsen. Tasken sjekker om personen fortsatt er død.

Må også håndtere annulleringer av dødsfall. Så utfall av lytting på topic kan bli:

  • Ny dødshendelse. Oppretter task som kjører om en uke og oppretter oppgave
  • Duplikat hendelse. Gjør ingenting
  • Annullert dødshendelse, vi har ikke opprettet oppgave enda. Gjør ingenting, lar tasken selv sjekke om personen fortsatt er død.
  • Annullert dødshendelse, vi har opprettet oppgave som er åpen. Oppdaterer her oppgaven med beskrivelse om at hendelsen er annullert.
  • Annullert dødshendelse, vi har opprettet oppgave som er ferdigstilt. Oppretter ny oppgave, med beskrivelse om at dødshendelse har blitt annullert.

Leesah-topicet har veldig mange forskjellige typer personhendelser, og har da altså ganske mye data. Leser her batchvis (journalpost-hendelser topic leser vi enkeltvis), med 500 records om gangen.

@AStrand94 AStrand94 requested a review from a team as a code owner May 15, 2025 09:33
@@ -29,7 +29,7 @@ plugins {
id("io.spring.dependency-management") version "1.1.7"
kotlin("plugin.spring") version "2.1.20"

id("com.github.davidmc24.gradle.plugin.avro") version "1.9.1"
id("io.github.androa.gradle.plugin.avro") version "0.0.12"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://nav-it.slack.com/archives/C60FFACN5/p1743750683940119?thread_ts=1743485919.199069&cid=C60FFACN5

Gammel plugin blir ikke oppdatert lenger (kan forøvrig ikke se den var i bruk heller)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Den ble tatt inn når vi skulle lytte på journalhendelser men så gikk vi for å bruke dependency
implementation("no.nav.teamdokumenthandtering:teamdokumenthandtering-avro-schemas:$joarkHendelseVersion")
Vi tenkte det var en fordel om man fikk dependabot-varsel om endringer i skjeamaet

Men jeg glømte bort å fjernecom.github.davidmc24.gradle.plugin.avro 😬

Publiserer pdl en pakke for disse hendelsene? Ulempen med det er ju at man trekker inn en del kode man ev ikke har bruk for

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jeg prøvde å se etter det før jeg dro inn avro-filene, men nei de publiserer ikke noe selv.

Men ja, det legger jo til noe kompleksitet her. Er jo kanskje best å dytte dette ut i tilleggsstonader-kontrakter? Kjipeste med å bygge java-klassene i repoet er at man må bygge prosjektet før det kompilerer. Samme om man kjører en gradle clean, så må man bygge det igjen 😅

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm ja, av den grunnen er det kanskje fint å trekke det ut i kontrakter, då får man det nog til å fungere ut av boksen

@AStrand94 AStrand94 force-pushed the doedsfall-hendelser branch from fcc24bb to cdc9d58 Compare May 15, 2025 21:15
# Conflicts:
#	.github/workflows/codeql.yml
Copy link
Collaborator

@blommish blommish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ser veldig fint ut!
Noen spørsmål/tanker noen steder

@@ -29,7 +29,7 @@ plugins {
id("io.spring.dependency-management") version "1.1.7"
kotlin("plugin.spring") version "2.1.20"

id("com.github.davidmc24.gradle.plugin.avro") version "1.9.1"
id("io.github.androa.gradle.plugin.avro") version "0.0.12"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Den ble tatt inn når vi skulle lytte på journalhendelser men så gikk vi for å bruke dependency
implementation("no.nav.teamdokumenthandtering:teamdokumenthandtering-avro-schemas:$joarkHendelseVersion")
Vi tenkte det var en fordel om man fikk dependabot-varsel om endringer i skjeamaet

Men jeg glømte bort å fjernecom.github.davidmc24.gradle.plugin.avro 😬

Publiserer pdl en pakke for disse hendelsene? Ulempen med det er ju at man trekker inn en del kode man ev ikke har bruk for

erAnnullering(),
)

private fun Personhendelse.erAnnullering() = this.endringstype == Endringstype.ANNULLERT
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Må vi håndtere "ENDRING" på en eller annen måte? 👀

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, ser vi må håndtere korrigering og ja https://pdl-docs.ansatt.nav.no/ekstern/index.html#_d%C3%B8dsfall
En mulighet kan bare være å ignorere det, for vi sender ikke med dødsdato i oppgaven per nå 👀


val person = personService.hentPersonUtenBarn(dødsfallHendelse.personidenter.first())

if (personErFortsattDød(person.søker)) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Her kan det ev. kommit en korrigering på dødsdato. Burde man hente dødsdato fra PDL i stedet for hendelsen?

Burde vi sjekke for at personen fortsatt har aktivt vedtak? Eks hvis en saksbehandler plukket opp at personen er død et annet sted før vi opprettet oppgaven.
Jeg tenker nødvendigvis ikke det, hvis vi oppretter en ekstra oppgave om dette er det ikke noe krise - kommer ikke skje ofte

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ja jeg tenker og at det ikke er krise med en ekstra oppgave. Sannsynligheten for at det skal skje er vel fort ganske liten, så den ekstra kompleksiteten er kanskje ikke verdt å ta høyde for 🤷

oppgave =
OpprettOppgave(
oppgavetype = Oppgavetype.VurderLivshendelse,
beskrivelse = data.beskrivelse ?: "Person død, vurder aktive stønader",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants