本文へ移動
cccskills
無料GitHub で公開

kodeverk

Expert knowledge of Kodeverk (code registry/enums) system in melosys-api. Use when: (1) Understanding enums (Sakstyper, Behandlingstyper, Behandlingstema, etc.), (2) Validating legal combinations of case/treatment types, (3) Debugging "ugyldig kombinasjon" errors, (4) Adding new enum values or combinations, (5) Mapping between internal codes and external systems (MEDL, Oppgave, SED).

日本語の概要は準備中です。原文の説明を表示しています。

インストール方法を見る

含まれるファイル(4)

  • SKILL.md8.0 KB
  • references/combinations.md3.7 KB
  • references/debugging.md5.1 KB
  • references/enums.md4.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Kodeverk System

Kodeverk manages all enums and validates legal combinations of case types, treatment types, and statuses. Enums are defined in the external melosys-internt-kodeverk library.

Quick Reference

Module Structure

melosys-internt-kodeverk (external library)
└── no.nav.melosys.domain.kodeverk.*   # All enum definitions

service/lovligekombinasjoner/
├── LovligeKombinasjonerSaksbehandlingService.kt  # Validation service
├── LovligeSakskombinasjoner.java                  # Valid case combinations
├── LovligeBehandlingsKombinasjoner.java           # Valid treatment combinations
└── LovligeBehandlingstatus.kt                     # Valid statuses

service/kodeverk/
└── KodeverkService.kt                # External kodeverk (Landkoder, etc.)

Core Enums

Case Level:

EnumValuesDescription
SakstyperEU_EOS, FTRL, TRYGDEAVTALECase type
SakstemaerMEDLEMSKAP_LOVVALG, TRYGDEAVGIFT, UNNTAKCase theme
SaksstatuserUNDER_BEHANDLING, HENLAGT, AVSLUTTET, OPPHØRT, ANNULLERTCase status

Treatment Level:

EnumValuesDescription
BehandlingstyperFØRSTEGANG, NY_VURDERING, KLAGE, HENVENDELSE, ÅRSAVREGNINGTreatment type
BehandlingstemaYRKESAKTIV, PENSJONIST, UTSENDT_ARBEIDSTAKER, ARBEID_FLERE_LAND, ...Treatment theme
BehandlingsstatusUNDER_BEHANDLING, AVVENT_DOK_PART, AVVENT_DOK_UTL, AVVENT_FAGLIG_AVKLARINGTreatment status

Actor Level:

EnumValuesDescription
AktoersrollerBRUKER, VIRKSOMHETActor role

Legal Combinations

Validation Service

LovligeKombinasjonerSaksbehandlingService validates all combinations:

// Get valid options
val sakstyper = service.hentMuligeSakstyper(saksnummer)
val sakstemaer = service.hentMuligeSakstemaer(hovedpart, sakstype, saksnummer)
val behandlingstemaer = service.hentMuligeBehandlingstemaer(hovedpart, sakstype, sakstema, aktivBehandlingID, sistBehandlingstema)
val behandlingstyper = service.hentMuligeBehandlingstyper(hovedpart, sakstype, sakstema, behandlingstema)

// Validate (note param order: behandlingstema before behandlingstype)
service.validerOpprettelseOgEndring(hovedpart, sakstype, sakstema, behandlingstema, behandlingstype)

Combination Structure

Sakstype (EU_EOS, FTRL, TRYGDEAVTALE)
└── Sakstema (MEDLEMSKAP_LOVVALG, TRYGDEAVGIFT)
    └── Behandlingstema (YRKESAKTIV, PENSJONIST, ...)
        └── Behandlingstype (FØRSTEGANG, NY_VURDERING, ...)

Actor Role Dependencies

Different combinations for BRUKER vs VIRKSOMHET:

// BRUKER (individual)
EU_EOS + MEDLEMSKAP_LOVVALG → [YRKESAKTIV, PENSJONIST, UTSENDT_*, ...]

// VIRKSOMHET (organization)
EU_EOS + MEDLEMSKAP_LOVVALG → [VIRKSOMHET]
FTRL + TRYGDEAVGIFT → [VIRKSOMHET]

Behandlingstema Reference

EU/EØS Cases

TemaDescription
YRKESAKTIVEmployed person
IKKE_YRKESAKTIVNon-employed
PENSJONISTPensioner
UTSENDT_ARBEIDSTAKERPosted worker (Art. 12)
UTSENDT_SELVSTENDIGPosted self-employed
ARBEID_FLERE_LANDMulti-state worker (Art. 13)
ARBEID_TJENESTEPERSON_ELLER_FLYCivil servant or flight crew

Exceptions and Lovvalg Registrations

(Only ANMODNING_OM_UNNTAK_HOVEDREGEL is the genuine Art. 16 exception request; the REGISTRERING_UNNTAK_* themes are lovvalg registrations — UTSTASJONERING under Art. 12, ØVRIGE under Art. 11/15.)

TemaDescription
ANMODNING_OM_UNNTAK_HOVEDREGELException request (Art. 16)
REGISTRERING_UNNTAKRegister exception
REGISTRERING_UNNTAK_NORSK_TRYGD_UTSTASJONERINGPosting registration (Art. 12)
REGISTRERING_UNNTAK_NORSK_TRYGD_ØVRIGEOther lovvalg registration (Art. 11/15)

Decision/Designation

TemaDescription
BESLUTNING_LOVVALG_NORGENorway designated
BESLUTNING_LOVVALG_ANNET_LANDOther country designated

Behandlingstyper Reference

TypeDescriptionWhen Used
FØRSTEGANGFirst-time treatmentNew case
NY_VURDERINGRe-assessmentChanged circumstances
KLAGEAppealDispute decision
HENVENDELSEInquiryQuestion/info request
ÅRSAVREGNINGAnnual settlementYearly reconciliation
ENDRET_PERIODEChanged periodPeriod modification
MANGLENDE_INNBETALING_TRYGDEAVGIFTMissing paymentPayment follow-up

Special Rules

ÅRSAVREGNING Restrictions

// Only allowed for:
// FTRL + YRKESAKTIV (with feature toggle)
// EU_EOS + PENSJONIST (with feature toggle)

// Cannot combine with other behandlingstyper

Second Treatment Rules

After certain themes, only limited types allowed:

val BEHANDLINGSTEMA_FOR_ANNENGANGS_BEHANDLING = setOf(
    REGISTRERING_UNNTAK_NORSK_TRYGD_UTSTASJONERING,
    REGISTRERING_UNNTAK_NORSK_TRYGD_ØVRIGE,
    BESLUTNING_LOVVALG_NORGE,
    BESLUTNING_LOVVALG_ANNET_LAND,
    ANMODNING_OM_UNNTAK_HOVEDREGEL
)
// → Only NY_VURDERING, KLAGE, HENVENDELSE allowed

Inactive Case Handling

For closed cases, only HENVENDELSE allowed:

val TILLATTE_SAKSSTATUSER_HENVENDELSE = setOf(
    HENLAGT, AVSLUTTET, OPPHØRT, ANNULLERT, HENLAGT_BORTFALT
)

Code Mappings

SED → Behandlingstema

// SedTypeTilBehandlingstemaMapper
A001 → ANMODNING_OM_UNNTAK_HOVEDREGEL
A003 → BESLUTNING_LOVVALG_NORGE / BESLUTNING_LOVVALG_ANNET_LAND
A009 → REGISTRERING_UNNTAK_NORSK_TRYGD_UTSTASJONERING
A010 → REGISTRERING_UNNTAK_NORSK_TRYGD_ØVRIGE

Behandlingstype → Document Code

// BehandlingstypeKodeMapper
FØRSTEGANG → SOEKNAD
KLAGE → KLAGE
NY_VURDERING → NY_VURDERING
ENDRET_PERIODE → ENDRET_PERIODE

Oppgave Codes

// OppgaveBehandlingstype
EOS_LOVVALG_NORGE → "ae0112"

External Kodeverk

KodeverkService handles external NAV registries:

// Decode external code
val beskrivelse = kodeverkService.dekod(FellesKodeverk.LANDKODER, "NOR")

// Get valid codes
val landkoder = kodeverkService.hentGyldigeKoderForKodeverk(FellesKodeverk.LANDKODER)

FellesKodeverk Types

TypeDescription
LANDKODERCountry codes
YRKEROccupations
SIVILSTANDERMarital status
KJØNNSTYPERGender types
POSTNUMMERPostal codes
SKIPSTYPERShip types

Feature Toggles

Kodeverk availability controlled by toggles:

ToggleControls
MELOSYS_ÅRSAVREGNINGÅrsavregning availability
MELOSYS_ÅRSAVREGNING_UTEN_FLYTFTRL årsavregning
MELOSYS_ÅRSAVREGNING_EØS_PENSJONISTEØS pensjonist årsavregning
BEHANDLINGSTYPE_KLAGEKlage availability

Common Issues

Invalid Combination Error

Symptom: FunksjonellException: "Ugyldig kombinasjon av ..."

Investigation:

// Check valid combinations
val gyldige = service.hentMuligeBehandlingstemaer(hovedpart, sakstype, sakstema, aktivBehandlingID, sistBehandlingstema)
log.info("Valid temaer: $gyldige")

Missing Enum Value

Symptom: Treatment option not available

Check:

  1. Is enum in melosys-internt-kodeverk?
  2. Is combination in LovligeBehandlingsKombinasjoner?
  3. Is feature toggle enabled?

Detailed Documentation

  • Enums: Complete enum reference
  • Combinations: Legal combination tables
  • Debugging: Troubleshooting invalid combinations, SQL queries, toggle checks

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Expert knowledge of Altinn A1 application processing for posted workers in melosys-api. Use when: (1) Understanding Altinn søknad/skjema processing, (2) Debugging MedlemskapArbeidEOS form mapping, (3) Understanding SoeknadMapper transformations, (4) Investigating posted worker application issues, (5) Understanding the MOTTAK_SOKNAD_ALTINN saga flow.

日本語の概要は準備中です。原文の説明を表示しています。

navikt/melosys-api22026年10月21日 更新

Expert knowledge of Employer/Employment integration (EREG/AAREG) in melosys-api. Use when: (1) Working with organization data from EREG (Enhetsregisteret), (2) Working with employment data from AAREG (Arbeidsforhold), (3) Understanding employer/organization lookup, (4) Debugging employer or employment issues, (5) Understanding the mapping between register data and domain models. Triggers: orgnummer, arbeidsforhold, EREG, AAREG, Enhetsregisteret, registeropplysninger, ansettelsesperiode, saksopplysning.

日本語の概要は準備中です。原文の説明を表示しています。

navikt/melosys-api22026年10月21日 更新

Modular monolith architecture overview for melosys-api. Use when needing to understand module structure, dependencies between modules, where to place new code, or when changes in one module might affect others. Triggers: "architecture", "module dependencies", "where should I put", "which modules", "dependency graph".

日本語の概要は準備中です。原文の説明を表示しています。

navikt/melosys-api22026年10月21日 更新

Expert knowledge of Behandling (case treatment) domain in melosys-api. Use when: (1) Understanding the behandling lifecycle and status transitions, (2) Debugging issues with behandling creation, status changes, or closure, (3) Understanding relationships between Fagsak, Behandling, and Behandlingsresultat, (4) Investigating why a behandling is stuck or has wrong status, (5) Understanding Behandlingstyper, Behandlingstema, Behandlingsstatus enums, (6) Debugging journalføring or SED-triggered behandling creation, (7) Understanding behandling creation via saksflyt sagas.

日本語の概要は準備中です。原文の説明を表示しています。

navikt/melosys-api22026年10月21日 更新

Expert knowledge of Behandlingsresultat (treatment result) domain in melosys-api. Use when: (1) Understanding result types and their meaning (FASTSATT_LOVVALGSLAND, MEDLEM_I_FOLKETRYGDEN, etc.), (2) Working with periods - Lovvalgsperiode, Medlemskapsperiode, Anmodningsperiode, Utpekingsperiode, (3) Debugging vedtak/decision metadata, criteria evaluation, or social insurance charges, (4) Understanding EU/EEA coordination logic and Article 16 exception handling, (5) Working with trygdeavgift (social insurance charge) calculations.

日本語の概要は準備中です。原文の説明を表示しています。

navikt/melosys-api22026年10月21日 更新

brev

無料

Expert knowledge of Brev (letter generation) in melosys-api. Use when: (1) Producing letters and decision documents (vedtaksbrev), (2) Understanding Dokgen templates and mapping, (3) Configuring letter recipients and distribution, (4) Debugging letter generation issues, (5) Adding new letter types or templates.

日本語の概要は準備中です。原文の説明を表示しています。

navikt/melosys-api22026年10月21日 更新

navikt のスキルをすべて見る

このスキルの問題を報告する