界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

ftrl

ftrl

【开发与工程】Expert knowledge of Folketrygdloven (National Insurance Act) processing in melosys-api. Use when: (1) Understanding FTRL bestemmelser (§2-5 to §2-13), (2) Debugging yrkesaktiv/ikke-yrkesaktiv/pensjonist processing flows, (3) Understanding trygdedekning options and combinations, (4) Investigating vilkår for each bestemmelse, (5) Understanding medlemsk…

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: ftrl description: | Expert knowledge of Folketrygdloven (National Insurance Act) processing in melosys-api. Use when: (1) Understanding FTRL bestemmelser (§2-5 to §2-13), (2) Debugging yrkesaktiv/ikke-yrkesaktiv/pensjonist processing flows, (3) Understanding trygdedekning options and combinations, (4) Investigating vilkår for each bestemmelse, (5) Understanding medlemskapsperiode generation logic, (6) Debugging frivillig vs pliktig membership determination.

Folketrygdloven (FTRL) Domain

Folketrygdloven (National Insurance Act) Chapter 2 governs membership in the Norwegian social insurance scheme for persons outside treaty/EU contexts. This domain handles §2-1 through §2-13, managing pliktig (mandatory) and frivillig (voluntary) membership applications.

Quick Reference

Domain Model Hierarchy

Behandlingsresultat
├── medlemskapsperioder: List<Medlemskapsperiode>
│   ├── fom/tom: LocalDate
│   ├── bestemmelse: Medlemskapsbestemmelser
│   ├── medlemskapstype: Medlemskapstyper (PLIKTIG/FRIVILLIG)
│   ├── trygdedekning: Trygdedekning
│   ├── arbeidsland: String?
│   ├── innvilgelsesresultat: Innvilgelsesresultater
│   ├── skatteforholdTilNorge: Set<SkatteforholdTilNorge>
│   ├── inntektsperioder: Set<Inntektsperiode>
│   └── trygdeavgiftsperioder: Set<Trygdeavgiftsperiode>
└── trygdeavgiftType: Trygdeavgift_typer?

FTRL Bestemmelser (Paragraphs)

ParagraphTypeDescription
§2-1PliktigBosatt i Norge - grunnregel
§2-2PliktigArbeidstaker i Norge
§2-5.a-gPliktigOffentlig ansatte (statsforvaltning, forsvaret, etc.)
§2-5.hPliktigStudent med lån/stipend
§2-6PliktigSjømenn på norskregistrerte skip
§2-7.1FrivilligOpphold i Norge (ikke bosatt)
§2-7.4FrivilligFamiliemedlemmer §2-7
§2-7aFrivilligSjømenn bosatt i Norge, utenlandsk skip
§2-8.1.aFrivilligUtsendt arbeidstaker
§2-8.1.bFrivilligStudent utenlands
§2-8.1.cFrivilligOffentlig oppdrag/stipend
§2-8.1.dFrivilligPensjonist/uføretrygdet
§2-8.2FrivilligAndre yrkesaktive (rimelighetsvurdering)
§2-8.4FrivilligFamiliemedlemmer §2-8
§2-13UnntakUnntak fra medlemskap

Behandlingstema

TemaDescriptionBestemmelser
YRKESAKTIVWorking persons§2-1, §2-2, §2-5, §2-6, §2-7.1, §2-7a, §2-8.1.a, §2-8.2
IKKE_YRKESAKTIVNon-working persons§2-1, §2-5.h, §2-7.1, §2-7.4, §2-8.1.b, §2-8.1.c, §2-8.4
PENSJONISTPensioners/disabled§2-8.1.d

Trygdedekning (Coverage)

CodeDescriptionUse Case
FULL_DEKNINGFull coverage in folketrygdenStandard for pliktig
HELSEDELHealth coverage onlyPensjonister utenlands
UTEN_DEKNINGNo coverageAvslag/unntak
FTRL_2_9_FØRSTE_LEDD_A_HELSE§2-9 health onlySpecial cases

Medlemskapstype

TypeDescription
PLIKTIGMandatory membership - automatic by law
FRIVILLIGVoluntary membership - by application

Service Layer

FtrlBestemmelser

Location: service/src/main/kotlin/.../ftrl/bestemmelse/FtrlBestemmelser.kt

Defines valid FTRL bestemmelser and their properties.

YrkesaktivBestemmelser / IkkeYrkesaktivBestemmelser / PensjonistBestemmelser

Location: service/src/main/kotlin/.../ftrl/bestemmelse/

Separate files defining valid bestemmelser for each behandlingstema.

MedlemskapsperiodeService

Location: service/src/main/kotlin/.../ftrl/medlemskapsperiode/MedlemskapsperiodeService.kt

Key operations:

  • hentMedlemskapsperioder() - Get periods for behandling
  • opprettMedlemskapsperiode() - Create new period
  • oppdaterMedlemskapsperiode() - Update existing period
  • erstattMedlemskapsperioder() - Replace periods (ny vurdering)

OpprettForslagMedlemskapsperiodeService

Location: service/src/main/kotlin/.../ftrl/medlemskapsperiode/OpprettForslagMedlemskapsperiodeService.kt

Creates suggested membership periods based on søknadsperiode and rules.

UtledMedlemskapsperioder

Location: service/src/main/kotlin/.../ftrl/medlemskapsperiode/UtledMedlemskapsperioder.kt

Logic for deriving membership periods from input data.

GyldigeTrygdedekningerService

Location: service/src/main/kotlin/.../ftrl/GyldigeTrygdedekningerService.kt

Returns valid trygdedekning options for given context.

LovligeKombinasjonerTrygdedekningBestemmelse

Location: service/src/main/kotlin/.../ftrl/bestemmelse/LovligeKombinasjonerTrygdedekningBestemmelse.kt

Defines valid combinations of trygdedekning and bestemmelse.

Vilkår System

Vilkår Structure

Location: service/src/main/kotlin/.../ftrl/bestemmelse/vilkaar/

VilkårForBestemmelse (interface)
├── VilkårForBestemmelseYrkesaktiv
├── VilkårForBestemmelseIkkeYrkesaktiv
└── VilkårForBestemmelsePensjonist

Each bestemmelse has associated vilkår (conditions) that must be evaluated.

AvklarteFaktaForBestemmelse

Location: service/src/main/kotlin/.../ftrl/bestemmelse/avklartefakta/

Defines which avklarte fakta are required for each bestemmelse.

Processing Flows

Yrkesaktiv Flow (§2-8)

┌─────────────────────┐
│ Søknad mottas       │
│ (behandlingstema:   │
│  YRKESAKTIV)        │
└─────────┬───────────┘
          │
          ▼
┌─────────────────────┐
│ Velg bestemmelse    │
│ (§2-8.1.a, §2-8.2)  │
└─────────┬───────────┘
          │
          ▼
┌─────────────────────┐
│ Avklar vilkår       │
│ (arbeidsgiver,      │
│  arbeidsland, etc.) │
└─────────┬───────────┘
          │
          ▼
┌─────────────────────┐
│ Opprett medlemskaps-│
│ periode med avgift  │
└─────────┬───────────┘
          │
          ▼
┌─────────────────────┐
│ Fatt vedtak         │
│ IVERKSETT_VEDTAK_   │
│ FTRL                │
└─────────────────────┘

Pensjonist Flow (§2-8.1.d)

┌─────────────────────┐
│ Søknad mottas       │
│ (behandlingstema:   │
│  PENSJONIST)        │
└─────────┬───────────┘
          │
          ▼
┌─────────────────────┐
│ Bestemmelse:        │
│ §2-8.1.d automatisk │
└─────────┬───────────┘
          │
          ▼
┌─────────────────────┐
│ Trygdedekning:      │
│ HELSEDEL            │
│ (kun helsedel)      │
└─────────┬───────────┘
          │
          ▼
┌─────────────────────┐
│ Betalingsvalg:      │
│ FAKTURA/KONTONUMMER │
└─────────┬───────────┘
          │
          ▼
┌─────────────────────┐
│ Fatt vedtak         │
└─────────────────────┘

Saksflyt Integration

IVERKSETT_VEDTAK_FTRL

LAGRE_MEDLEMSKAPSPERIODE_MEDL →
OPPRETT_FAKTURASERIE →
AVSLUTT_SAK_OG_BEHANDLING →
SEND_MELDING_OM_VEDTAK →
RESET_ÅPNE_ÅRSAVREGNINGER

Debugging Queries

Find Medlemskapsperiode by Behandling

SELECT mp.*, br.id as br_id, b.status
FROM medlemskapsperiode mp
JOIN behandlingsresultat br ON mp.behandlingsresultat_id = br.id
JOIN behandling b ON br.behandling_id = b.id
WHERE b.id = :behandlingId;

Check Bestemmelse and Dekning

SELECT mp.id, mp.fom, mp.tom,
       mp.bestemmelse, mp.trygdedekning,
       mp.medlemskapstype, mp.arbeidsland,
       mp.innvilgelsesresultat
FROM medlemskapsperiode mp
WHERE mp.behandlingsresultat_id = :behandlingsresultatId;

Find FTRL Cases for Person

SELECT f.saksnummer, f.type, b.id, b.status, b.tema
FROM fagsak f
JOIN behandling b ON b.fagsak_id = f.id
WHERE f.bruker_aktor_id = :aktorId
AND f.type = 'FTRL'
ORDER BY b.registrert_dato DESC;

Check MEDL Registration

SELECT mp.medl_periode_id, mp.bestemmelse, mp.fom, mp.tom
FROM medlemskapsperiode mp
WHERE mp.behandlingsresultat_id = :brId
AND mp.medl_periode_id IS NOT NULL;

Common Issues

IssueSymptomsInvestigation
Wrong bestemmelseIncorrect paragraph in vedtakCheck vilkårsvurdering flow
Invalid dekningValidation errorCheck LovligeKombinasjonerTrygdedekningBestemmelse
Period overlapCannot save medlemskapsperiodeCheck existing periods for fagsak
Missing MEDLmedl_periode_id is NULLCheck LAGRE_MEDLEMSKAPSPERIODE_MEDL step
Avgift calculation failNo trygdeavgiftsperiodeVerify skatteforhold and inntekt set

Bestemmelse Details

§2-8 First Paragraph (Frivillig Yrkesaktiv)

a) Utsendt arbeidstaker

  • Norwegian employer sends to work abroad
  • Employer has substantial activity in Norway
  • Previously subject to Norwegian legislation

b) Student utenlands

  • Studying abroad with Norwegian loan/stipend
  • Enrolled at recognized institution

c) Offentlig oppdrag/stipend

  • Government assignment abroad
  • Research stipend from Norwegian sources

d) Pensjonist/uføretrygdet

  • Receiving pension from folketrygden
  • Only helsedel coverage available

§2-8 Second Paragraph

  • Other workers where "særlige grunner" make it reasonable
  • Discretionary evaluation (rimelighetsvurdering)

§2-13 Unntak

  • Exception from mandatory membership
  • Used when person should not be member despite §2-1/§2-2

Detailed Documentation

我的收藏