본문으로 건너뛰기
cccskills
무료GitHub에 공개

behandlingsresultat

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(4)

  • SKILL.md9.2 KB
  • references/periods.md5.3 KB
  • references/result-types.md4.3 KB
  • references/trygdeavgift.md4.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Behandlingsresultat Domain

Behandlingsresultat captures the outcome of a Behandling, including which law applies, membership status, periods, decision metadata, and eligibility criteria results.

Quick Reference

Entity Structure

Behandling (1)
    ↓ OneToOne
Behandlingsresultat
    ├─ VedtakMetadata (decision date, appeal deadline)
    ├─ Lovvalgsperiode* (law choice periods)
    │   └─ Trygdeavgiftsperiode*
    ├─ Medlemskapsperiode* (membership periods)
    │   └─ Trygdeavgiftsperiode*
    ├─ Anmodningsperiode* (Article 16 request periods)
    │   └─ AnmodningsperiodeSvar
    ├─ Utpekingsperiode* (designation periods)
    ├─ Vilkaarsresultat* (eligibility criteria)
    ├─ Kontrollresultat* (verification results)
    ├─ Avklartefakta* (clarified facts)
    └─ HelseutgiftDekkesPeriode (EEA pensioner health coverage)

Key Attributes

AttributeTypeDescription
typeBehandlingsresultattyperIKKE_FASTSATT, FASTSATT_LOVVALGSLAND, MEDLEM_I_FOLKETRYGDEN, etc.
behandlingsmåteBehandlingsmaateAUTOMATISERT, MANUELT, DELVIS_AUTOMATISERT
fastsattAvLandLand_iso2Country that determined the result
vedtakMetadataVedtakMetadataDecision date and appeal deadline
begrunnelseFritekstString?Free-text justification

Result Types (Behandlingsresultattyper)

TypeDescriptionUse Case
IKKE_FASTSATTNot determinedInitial state
FASTSATT_LOVVALGSLANDLaw choice country setEU/EEA lovvalg
MEDLEM_I_FOLKETRYGDENMember of Norwegian NIFTRL membership
UNNTATT_MEDLEMSKAPExempt from membershipNon-member
AVSLAG_SØKNADApplication deniedRejection
OPPHØRTMembership terminatedTermination
ANMODNING_OM_UNNTAKArticle 16 exception requestSent to foreign authority
REGISTRERT_UNNTAKRegistered exceptionException approved
HENLEGGELSECase dismissedDropped case
FERDIGBEHANDLETCompletedGeneric completion
MEDHOLDAppeal upheldKlage result
OMGJORTDecision reversedKlage result

Period Types

Lovvalgsperiode (Law Choice Period)

Determines which country's social security law applies.

lovvalgsperiode.lovvalgsland        // Land_iso2 - chosen country
lovvalgsperiode.bestemmelse         // LovvalgBestemmelse - regulation (Art. 11, 13, etc.)
lovvalgsperiode.innvilgelsesresultat // INNVILGET, AVSLAATT, OPPHØRT
lovvalgsperiode.medlemskapstype     // PLIKTIG, FRIVILLIG, UNNTATT
lovvalgsperiode.dekning             // Trygdedekninger

Medlemskapsperiode (Membership Period)

Membership in Norwegian National Insurance (folketrygden).

medlemskapsperiode.innvilgelsesresultat  // INNVILGET, AVSLAATT, OPPHØRT
medlemskapsperiode.medlemskapstype       // PLIKTIG, FRIVILLIG, UNNTATT
medlemskapsperiode.trygdedekning         // Coverage type
medlemskapsperiode.bestemmelse           // Membership-specific provision

Anmodningsperiode (Article 16 Request Period)

Request for exception under EU Regulation Article 16.

anmodningsperiode.sendtUtland           // Sent to foreign authority
anmodningsperiode.anmodetAv             // Requested by
anmodningsperiode.anmodningsperiodeSvar // Response from authority

Utpekingsperiode (Designation Period)

Provisional designation of applicable law (EU/EFTA).

Common Operations

Fetching Behandlingsresultat

// Basic fetch
val resultat = behandlingsresultatService.hentBehandlingsresultat(behandlingId)

// With specific relations loaded
val resultat = behandlingsresultatService.hentBehandlingsresultatMedAnmodningsperioder(behandlingId)
val resultat = behandlingsresultatService.hentResultatMedMedlemskapOgLovvalg(behandlingId)

Status Checks

resultat.erInnvilgelse()           // Is approval (lovvalg)
resultat.erAvslag()                // Is denial
resultat.erOpphørt()               // Is terminated
resultat.erAnmodningOmUnntak()     // Is Article 16 request
resultat.erUtpeking()              // Is designation
resultat.erAutomatisert()          // Was auto-processed
resultat.erRegistrertUnntak()      // Is registered exception

Period Access

// Single period (throws if multiple exist)
val lovvalg = resultat.hentLovvalgsperiode()
val anmodning = resultat.hentAnmodningsperiode()

// Optional access
val lovvalg: Optional<Lovvalgsperiode> = resultat.finnLovvalgsperiode()

// Validated period (any type)
val periode: PeriodeOmLovvalg? = resultat.finnValidertPeriodeOmLovvalg()

// Collections
val medlemsperioder = resultat.medlemskapsperioder  // Set<Medlemskapsperiode>

Trygdeavgift (Social Insurance Charges)

// Get all charge-liable periods
val avgiftsPerioder = resultat.finnAvgiftspliktigPerioder()

// Check overlap with tax year
resultat.harInnvilgetAvgiftspliktigPeriodeSomOverlapperMedÅr(2024)

// Get all charge periods
val trygdeavgift = resultat.trygdeavgiftsperioder

VedtakMetadata (Decision)

resultat.harVedtak()  // Has decision metadata

// Set decision
resultat.settVedtakMetadata(
    vedtaksdato = Instant.now(),
    vedtakKlagefrist = LocalDate.now().plusWeeks(6)
)

Clearing for Reprocessing

// Clear all periods and clarifications
behandlingsresultatService.tømBehandlingsresultat(resultat)

// Clear only membership periods
behandlingsresultatService.tømMedlemskapsperioder(resultat)

Important Interfaces

PeriodeOmLovvalg

Implemented by: Lovvalgsperiode, Anmodningsperiode, Utpekingsperiode

interface PeriodeOmLovvalg {
    val lovvalgsland: Land_iso2
    val bestemmelse: LovvalgBestemmelse?
    // ...
}

AvgiftspliktigPeriode

Implemented by: Lovvalgsperiode, Medlemskapsperiode

interface AvgiftspliktigPeriode {
    val trygdeavgiftsperioder: Set<Trygdeavgiftsperiode>
    // ...
}

Key Services

BehandlingsresultatService

  • hentBehandlingsresultat() - Fetch by ID
  • lagreNyttBehandlingsresultat() - Create (initial: IKKE_FASTSATT, MANUELT)
  • oppdaterBehandlingsresultattype() - Update type
  • tømBehandlingsresultat() - Clear for reprocessing

AngiBehandlingsresultatService

  • oppdaterBehandlingsresultattypeOgAvsluttFagsakOgBehandling() - Set type with validation and close case
  • Validates result type against case type, theme, and treatment type

ReplikerBehandlingsresultatService

  • replikerBehandlingsresultat() - Clone result for replicated treatment
  • Deep clones all relationships, resets to IKKE_FASTSATT/MANUELT

Important Gotchas

1. Single Period Assumption

Some methods assume only one period of a type exists:

// Throws if multiple lovvalgsperioder exist
resultat.hentLovvalgsperiode()

// Safe alternative
resultat.finnLovvalgsperiode()  // Returns Optional

2. Type-Driven Logic

Business logic depends heavily on type and fagsak.erLovvalg():

// Different period collections based on case type
val perioder = if (fagsak.erLovvalg()) {
    resultat.lovvalgsperioder
} else {
    resultat.medlemskapsperioder
}

3. Cascade Deletion

All child entities use CascadeType.ALL with orphanRemoval = true. Removing a period from the collection deletes it from the database.

4. Conditional Eager Loading

Use specific service methods to optimize loading:

// Only loads anmodningsperioder
hentBehandlingsresultatMedAnmodningsperioder()

// Loads both membership and lovvalg
hentResultatMedMedlemskapOgLovvalg()

Debugging

Find Behandlingsresultat

SELECT br.* FROM behandlingsresultat br
WHERE br.id = :behandlingId;

Find All Periods for a Result

-- Lovvalgsperioder
SELECT * FROM lovvalgsperiode WHERE behandlingsresultat_id = :id;

-- Medlemskapsperioder
SELECT * FROM medlemskapsperiode WHERE behandlingsresultat_id = :id;

-- Anmodningsperioder
SELECT * FROM anmodningsperiode WHERE behandlingsresultat_id = :id;

Find Results Without Decision

SELECT br.id, b.status
FROM behandlingsresultat br
JOIN behandling b ON b.id = br.id
LEFT JOIN vedtak_metadata vm ON vm.behandlingsresultat_id = br.id
WHERE vm.id IS NULL
AND br.type != 'IKKE_FASTSATT';

Find Results with Multiple Periods (potential issue)

SELECT br.id, COUNT(*) as period_count
FROM behandlingsresultat br
JOIN lovvalgsperiode lp ON lp.behandlingsresultat_id = br.id
GROUP BY br.id
HAVING COUNT(*) > 1;

Detailed Documentation

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Complete architecture reference for the A3 insurance platform — file locations, data flow, conventions, microservice map, and fullstack patterns

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

FDU-INS/Insurance-Skills792026년 7월 12일 업데이트

Drafts U.S. commercial real estate access and indemnity (right-of-entry) agreements for pre-closing due diligence. Covers license grants, non-invasive vs invasive testing gates, insurance/endorsement requirements, indemnity with discovery carve-outs, restoration and lien remedies, confidentiality, and anti-indemnity guardrails. Trigger: access agreement, right of entry, due diligence access, Phase I/II, invasive testing, pre-PSA site inspection.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

FDU-INS/Insurance-Skills792026년 7월 12일 업데이트

当用户需要对意外险投保问卷进行专业、结构化的核保审查,提取职业类别、工作环境、作业内容、危险活动参与情况、交通出行习惯、特殊工作暴露及其他可能影响意外险承保判断的高风险信息,并生成适合意外险核保、补问流转和风险分层处理的结构化分析结果时使用本 skill。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

FDU-INS/Insurance-Skills792026년 7월 12일 업데이트

Inspect, schema, and fill true AcroForm PDFs using sciClaw's pdf_form_inspect, pdf_form_schema, and pdf_form_fill tools. Use when: (1) checking whether a PDF is a real fillable AcroForm, (2) listing form field names, types, and choices, (3) filling a supported form from structured values, (4) preparing reviewable insurance, legal, administrative, or clinical form drafts, (5) reporting skipped fields or unused input keys after a fill. Do not use for scanned PDFs, OCR tasks, or XFA-only forms.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

FDU-INS/Insurance-Skills792026년 7월 12일 업데이트

Guide actuarial analysis for insurance pricing. TRIGGERS - Use when user needs help with actuarial-analysis related tasks.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

FDU-INS/Insurance-Skills792026년 7월 12일 업데이트

Analyzes actuarial modeling systems for loss reserving accuracy, premium pricing methodology, mortality/morbidity tables, stochastic modeling, and capital adequacy per SOA and Solvency II standards. USE THIS SKILL WHEN: - You need to review or audit actuarial models (reserving, pricing, capital) - Someone asks about loss triangle analysis or reserve adequacy - You are evaluating IBNR calculations, chain ladder methods, or Bornhuetter-Ferguson - A project involves insurance pricing, GLM rating models, or ratemaking - You need to assess Solvency II SCR calculations or RBC compliance - Someone mentions actuarial opinions, ASOP compliance, or SOA standards - You are reviewing stochastic models, ESG configurations, or DFA frameworks - A codebase uses actuarial libraries (chainladder, lifetables, ChainLadder R package) TRIGGER PHRASES: "actuarial", "loss reserving", "IBNR", "chain ladder", "premium pricing", "mortality table", "Solvency II", "capital adequacy", "ratemaking", "GLM pricing", "risk-based capital", "reserve analysis", "actuarial opinion"

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

FDU-INS/Insurance-Skills792026년 7월 12일 업데이트

FDU-INS의 스킬 모두 보기

이 스킬의 문제 신고