본문으로 건너뛰기
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 / 1,000자

이 양식은 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의 스킬 모두 보기

이 스킬의 문제 신고