Skip to content

Commit

Permalink
Dokumentasjon inntektsjustering og omregningsflyt (#6647)
Browse files Browse the repository at this point in the history
* Readme inntektsjustering

* Dokumentasjon automatisk behandling inntektsendring

* Dokumentere flyt årlig varselbrev jobb

* Manglet link

* Dokumentere flyt omregning
  • Loading branch information
Bjodn authored Dec 18, 2024
1 parent 8d13857 commit 8b4b55b
Show file tree
Hide file tree
Showing 2 changed files with 283 additions and 0 deletions.
160 changes: 160 additions & 0 deletions libs/etterlatte-inntektsjustering-model/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
# Inntektsjustering

## Innhold

1. [Om inntektsjustering](#om-inntektsjustering)
2. [Årlig varselbrev og utkast inntektsjustering](#årlig-varselbrev-og-utkast-inntektsjustering)
3. [Automatisk behandling inntektsendring](#automatisk-behandling-inntektsendring)

## Om inntektsjustering

[Les mer inntektsjusterig på Confluence.](https://confluence.adeo.no/display/TE/Inntektsjustering)

## Automatisk behandling inntektsendring

[Løsningsbeskrivelse på Confluence.](https://confluence.adeo.no/display/TE/Automatisk+behandling+av+inntektjustering)

### Flyt oppstart av automatisk behandling

[Mer detaljert flyt for oversending av inntektsendring fra selvbetjening](https://github.com/navikt/pensjon-etterlatte/tree/main/apps/selvbetjening-backend)

```mermaid
flowchart TB
subgraph Selvbetjening
ui[Innlogget skjema]
subgraph selvbetjening-backend
selvbetjening-motta(Inntektsendring lagres)
selvbetjening-fullfoert(Inntektsendring ferdigstilles)
end
ui --> selvbetjening-motta
end
subgraph kafka
kafka-innsendt(inntektsjustering_innsendt)
kafka-omregning(OMREGNING:KLAR_FOR_OMREGNING)
kafka-fullfoert(INNTEKTSJUSTERING:MOTTAK_FULLFOERT)
end
subgraph Gjenny
subgraph gyldig-soeknad
end
subgraph etterlatte-behandling
behandling-route(InntektsjusteringSelvbetjeningRoute)
subgraph InntektsjusteringSelvbetjeningService
service-automatisk(Hvis automatisk)
service-manuelt(Hvis manuelt)
end
OppgaveService
behandling-route --> InntektsjusteringSelvbetjeningService
service-manuelt --> OppgaveService
end
gyldig-soeknad --> behandling-route
end
selvbetjening-motta --> kafka-innsendt
kafka-innsendt --> gyldig-soeknad
service-automatisk --> kafka-omregning
InntektsjusteringSelvbetjeningService --> kafka-fullfoert
kafka-fullfoert --> selvbetjening-fullfoert
```

### Bruk av omregning

Når hendelse KLAR_FOR_OMREGNING er sendt blir endring automatisk behandlet
av [omregningsflyten](../etterlatte-omregning-model/README.md).

Automatisk behandling av inntektsendring har egen logikk noen av stegene:

* Når hendelse om omregning sendes
blir [OmregningsData](../etterlatte-omregning-model/src/main/kotlin/omregning/Omregning.kt)
populert
med [Inntektsjustering](./src/main/kotlin/no.nav.etterlatte.libs.inntektsjustering/MottattInntektsjustering.kt).
* Behandling skal bruke brev derfor blir brevutfall satt
i [OmregningsHendelserBehandlingRiver](../../apps/etterlatte-oppdater-behandling/src/main/kotlin/regulering/OmregningsHendelserBehandlingRiver.kt).
* Ny inntekt blir anvendt i
beregningsteg ([OmregningsHendelserBehandlingRiver](../../apps/etterlatte-beregning-kafka/src/main/kotlin/no/nav/etterlatte/beregningkafka/OmregningHendelserBeregningRiver.kt))
ved å
bruke [MottattInntektsjusteringService](../../apps/etterlatte-beregning/src/main/kotlin/avkorting/MottattInntektsjusteringService.kt).
* Vedtaksbrev opprettes og vedtak fattes
i [OpprettVedtakforespoerselRiver](../../apps/etterlatte-vedtaksvurdering-kafka/src/main/kotlin/no/nav/etterlatte/regulering/OpprettVedtakforespoerselRiver.kt)
uten å attestere.

## Årlig varselbrev og utkast inntektsjustering

[Løsningsbeskrivelse på Confluence.](https://confluence.adeo.no/pages/viewpage.action?pageId=641029651)

```mermaid
flowchart LR
subgraph etterlatte-tidshendelser
JobbPoller
AarligInntektsjusteringService
JobbPoller --> AarligInntektsjusteringService
end
subgraph Kafka
START_INNTEKTSJUSTERING_JOBB
kafka-omregning(OMREGNING:KLAR_FOR_OMREGNING)
end
subgraph etterlatte-oppdater-behandling
AarligInntektsjusteringJobbRiver
end
subgraph etterlatte-behandling
hent-saker(Hent saker)
subgraph AarligInntektsjusteringJobbService
subgraph Per sak
automatisk(Hvis automatisk)
manuell(Hvis manuell)
end
end
OppgaveService
RevurderingService
end
AarligInntektsjusteringService --> START_INNTEKTSJUSTERING_JOBB
START_INNTEKTSJUSTERING_JOBB --> AarligInntektsjusteringJobbRiver
AarligInntektsjusteringJobbRiver --> hent-saker
AarligInntektsjusteringJobbRiver --> AarligInntektsjusteringJobbService
automatisk --> kafka-omregning
manuell --> OppgaveService
manuell --> RevurderingService
```

## Bruk av Omregning

Når hendelse KLAR_FOR_OMREGNING er sendt gjøres en automatisk behandling med et varselbrev og vedtaksbrev
ved å bruke [omregningsflyten](../etterlatte-omregning-model/README.md).

Automatisk behandling av inntektsendring har egen logikk noen av stegene:

* Behandling skal bruke brev derfor blir brevutfall satt
i [OmregningsHendelserBehandlingRiver](../../apps/etterlatte-oppdater-behandling/src/main/kotlin/regulering/OmregningsHendelserBehandlingRiver.kt).
* I
beregningsteg ([OmregningsHendelserBehandlingRiver](../../apps/etterlatte-beregning-kafka/src/main/kotlin/no/nav/etterlatte/beregningkafka/OmregningHendelserBeregningRiver.kt))
videreføres siste oppgitte inntekt til neste år ved å
bruke [AarligInntektsjusteringService](../../apps/etterlatte-beregning/src/main/kotlin/avkorting/AarligInntektsjusteringService.kt).
* Vedtak og brev opprettes
i [OpprettVedtakforespoerselRiver](../../apps/etterlatte-vedtaksvurdering-kafka/src/main/kotlin/no/nav/etterlatte/regulering/OpprettVedtakforespoerselRiver.kt).

### Statusflyt

Når automatisk behandling gjøres på en sak blir det lagt til linjer med status i tabell omregningskjoering i
etterlatte-behandling.

Hvis en sak kan automatisk behandles helt til iverksatt er flyten: KLAR_FOR_OMREGNING > STARTA > FERDIGSTILT

Hvis en sak må behandles manuelt blir det lagt til en linje med status TIL_MANUELL eller TIL_MANUELL_UTEN_OPPGAVE (hvis
feature toggle aarlig-inntektsjustering-la-manuell-behandling er på).

Hvis en sak ikke skal gjennomføres (f.eks hvis ikke løpende) settes status rett til FERDIGSTILT men med en begrunnelse.

Hvis det feiler i et steg i flyten vil status settes til FEILA med begrunnelse.

### Brev og distribuering

Når automatisk behandling er iverksatt og brev distribuert
vil [OmregningBrevDistribusjonRiver](../../apps/etterlatte-oppdater-behandling/src/main/kotlin/regulering/OmregningBrevDistribusjonRiver.kt)
fange det opp og oppatere omregningskjoering ved å sette feltet distribuert_brev til true.
123 changes: 123 additions & 0 deletions libs/etterlatte-omregning-model/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Omregning - Automatisk behandling

```mermaid
flowchart
subgraph Kafka
OMREGNING:KLAR_FOR_OMREGNING
OMREGNING:BEHANDLING_OPPRETTA
OMREGNING:VILKAARSVURDERT
OMREGNING:TRYGDETID_KOPIERT
OMREGNING:BEREGNA
VEDTAK:FATTET
VEDTAK:ATTESTERT
end
subgraph etterlatte-oppdater-behandling
OmregningsHendelserBehandlingRiver
end
subgraph etterlatte-behandling
opprett-behandling
omregningkjoering-starta(Omregnignskjøring status STARTA)
end
subgraph etterlatte-vilkaarsvurdering-kafka
VilkaarsvurderingRiver
end
subgraph etterlatte-vilkaarsvurdering
end
subgraph etterlatte-trygdetid-kafka
KopierTrygdetidRiver
end
subgraph etterlatte-trygdetid
end
subgraph etterlatte-beregning-kafka
OmregningHendelserBeregningRiver
end
subgraph etterlatte-beregning
beregning
avkorting
end
subgraph etterlatte-vedtak-kafka
OpprettVedtakforespoerselRiver
end
subgraph etterlatte-vedtak
fatt-vedtak
attester
end
subgraph etterlatte-brev-api
opprettt-brev
ferdigstill-brev
end
OMREGNING:KLAR_FOR_OMREGNING --> OmregningsHendelserBehandlingRiver
OmregningsHendelserBehandlingRiver --> opprett-behandling
OmregningsHendelserBehandlingRiver --> omregningkjoering-starta
OmregningsHendelserBehandlingRiver --> OMREGNING:BEHANDLING_OPPRETTA
OMREGNING:BEHANDLING_OPPRETTA --> VilkaarsvurderingRiver
VilkaarsvurderingRiver --> etterlatte-vilkaarsvurdering
VilkaarsvurderingRiver --> OMREGNING:VILKAARSVURDERT
OMREGNING:VILKAARSVURDERT --> KopierTrygdetidRiver
KopierTrygdetidRiver --> etterlatte-trygdetid
KopierTrygdetidRiver --> OMREGNING:TRYGDETID_KOPIERT
OMREGNING:TRYGDETID_KOPIERT --> OmregningHendelserBeregningRiver
OmregningHendelserBeregningRiver --> beregning
OmregningHendelserBeregningRiver --> avkorting
OmregningHendelserBeregningRiver --> OMREGNING:BEREGNA
OMREGNING:BEREGNA --> OpprettVedtakforespoerselRiver
OpprettVedtakforespoerselRiver --> fatt-vedtak
OpprettVedtakforespoerselRiver --> opprettt-brev
OpprettVedtakforespoerselRiver --> ferdigstill-brev
OpprettVedtakforespoerselRiver --> attester
fatt-vedtak --> VEDTAK:FATTET
attester --> VEDTAK:ATTESTERT
```

### Hvis hel automaatisk (til iverksatt)

```mermaid
flowchart LR
subgraph Kafka
VEDTAK:ATTESTERT
end
subgraph etterlatte-oppdater-behandling
VedtakAttestertRiver
end
subgraph etterlatte-behandling
omregning-ferdig(Omregningskjøring status FERDIGSTILT)
end
VEDTAK:ATTESTERT --> VedtakAttestertRiver
VedtakAttestertRiver --> omregning-ferdig
```

### Hvis del automaatisk (til fattet)

```mermaid
flowchart LR
subgraph Kafka
VEDTAK:FATTET
end
subgraph etterlatte-oppdater-behandling
VedtakAttestertRiver
end
subgraph etterlatte-behandling
omregning-ferdig(Omregningskjøring status FERDIGSTILT_FATTET)
end
VEDTAK:FATTET --> VedtakAttestertRiver
VedtakAttestertRiver --> omregning-ferdig
```

### Hvis vedtaksbrev

```mermaid
flowchart LR
subgraph Kafka
BREV:DISTRIBUERT
end
subgraph etterlatte-oppdater-brev
OmregningBrevDistribusjonRiver
end
subgraph etterlatte-behandling
omregning-brev(Omregningskjøring brev_distribuert = true)
end
BREV:DISTRIBUERT --> OmregningBrevDistribusjonRiver
OmregningBrevDistribusjonRiver --> omregning-brev
```

0 comments on commit 8b4b55b

Please sign in to comment.