Skip to content

Latest commit

 

History

History
602 lines (488 loc) · 44.7 KB

specs_barnevernstjenesten_15F_barnevern_20YY.md

File metadata and controls

602 lines (488 loc) · 44.7 KB

Kravspesifikasjon til kontrollene for KOSTRA-Barnevern

Gjelder filuttrekk: Barnevern Gjelder rapporteringsår: Gjeldende rapporteringsår

Kontaktepost: [email protected]

Generell beskrivelse: Barnevernsstatistikken er en individstatistikk som hentes inn fra alle kommunale barnevernstjenester som et filuttrekk fra kommunens fagsystem for barnevern. Oppbyggingen er slik:

  1. Opplysninger om kommunen
  2. Opplysninger om klienten
  3. Meldinger
  4. Undersøkelser
  5. Tiltak etter lov om barneverntjenester
  6. Plantyper
  7. Flyttinger
  8. Er barnet klient ved utgangen av rapporteringsåret?

Kontrollprogrammet lager en kontrollrapport som er en liste med advarsler, og feil som hindrer innsending. Advarsler skal kommunens barnevernstjeneste sjekke og om mulig rette opp. Feil som hindrer innsending må rettes for å få sendt inn fil. I kontrollrapporten vil identifikasjon av hvilket individ kontrollen slår ut for være journalnummer. Journalnummer kan derfor ikke være noe som kan identifisere individet, for eksempel fødsels- og personnummer eller DUF-nummer. For kontrollene i kravspesifikasjonen der utfallet er feil som hindrer innsending merkes de med ⛔FEIL. Der utfallet er en advarsel så er kontrollene merket med ⚠️ADVARSEL

Definisjoner

Barnevernloven brukes i to forskjellige versjoner:

  • Versjonen fra 1992 refereres som BVL av historiske årsaker, eventuelt BVL1992 i dokumentasjonssammenheng, og gjelder til 31. desember 2022.
  • Versjonen fra 2021 refereres som BVL2021 og gjelder fra 1. januar 2023.

Rapportering til SSB skjer i 2 forskjellige kanaler:

  • FAGSYSTEM, direkte rapportering fra fagsystemene Modulus Barn og Flyt Barnevern via Fiks til Barnevernsregisteret (BVR).
  • KOSTRA, klassisk og indirekte rapportering fra fagsystemene Visma Familia og DIPS Barnevern ved hjelp av filuttrekk.

Et Tiltak er en Omsorgstiltak dersom tiltak sin LovHjemmel er en av følgende:

  • Lov = BVL og Kapittel = 4 og Paragraf = 12
  • Lov = BVL og Kapittel = 4 og Paragraf = 8 og Ledd er én av 2 eller 3
  • Lov = BVL og Kapittel = 4 og Paragraf = 8 og JmfrLovhjemmel/Kapittel = 4 og JmfrLovhjemmel/Paragraf = 12
  • Lov = BVL2021 og Kapittel = 5 og Paragraf = 1

Et Tiltak er et plasseringstiltak dersom Kategori/@Kode er en av følgende koder:
1.1, 1.2, 1.99, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.99 eller 8.2

XML Schema Definition eller XSD beskriver strukturen og innholdet i et XML-dokument. Den brukes først og fremst til å definere elementene, attributtene og datatypene dokumentet kan inneholde. Informasjonen i XSD brukes til å verifisere om hvert element, attributt eller datatype i dokumentet samsvarer med beskrivelsen.

Filbeskrivelse

Filbeskrivelsen består av en 3-delt XSD. Filene er KostraBarnevern.xsd, Avgiver.xsd og Individ.xsd.

Variabler fra skjema

I forbindelse med kontrollering så blir noen variabler sendt med fra portalen og blir benyttet i noen av kontrollene. Disse er:

Andre variabler:

  • telledato som er 31. desember i rapporteringsår, for eksempel 31. desember 2024
  • forrige_telledato som er 31. desember i året før rapporteringsår, for eksempel 31. desember 2023
  • minimumsdato er 1. januar i rapporteringsåret minus 25 år, for eksempel 1 januar 1999
  • maximumsdato er telledato pluss 25 år, for eksempel 31. desember 2049

Gitt at en skal kontrollere at /Barnevern/Avgiver/@Versjon og rapporteringsår fra skjema 15F. Barnevern YYYY - filuttrekk er like
når @Versjon og rapporteringsår er forskjellige
så gi en ⛔FEIL med meldingen "Filen inneholder feil rapporteringsår {@Versjon}, forventet {rapporteringsåret}."
Kode Test

Gitt at en skal kontrollere at /Barnevern/Avgiver/@Organisasjonnummer
når @Organisasjonnummer er blank
så gi en ⛔FEIL med meldingen "Filen mangler organisasjonsnummer. Oppgitt organisasjonsnummer er '{organisasjonsnummer}'"
Kode Test

Gitt at en skal kontrollere at /Barnevern/Avgiver/@Kommunenummer og kommunenummer fra skjema 15F. Barnevern YYYY - filuttrekk er like
når @Kommunenummer og kommunenummer er forskjellige
så gi en ⛔FEIL med meldingen "Filen inneholder feil kommunenummer. Forskjellig kommunenummer i skjema ({kommunenummer}) og filuttrekk ({@Kommunenummer})."
Kode Test

Gitt at en skal kontrollere at /Barnevern/Avgiver/@Kommunenavn finnes
når @Kommunenavn er blank
så gi en ⛔FEIL med meldingen "Filen mangler kommunenavn."
Kode Test

Individ

Gitt minimumsdato og maksimumsdato
når /Barnevern/Individ/@StartDato er før minimumsdato eller etter maksimumsdato
så gi en ⛔FEIL med meldingen "Individ startdato: Dato ({@StartDato}) må være mellom {minimumsdato} og {maksimumsdato})"

når /Barnevern/Individ/@SluttDato finnes og er før minimumsdato eller etter maksimumsdato
så gi en ⛔FEIL med meldingen "Individ sluttDato: Dato ({@SluttDato}) må være mellom {minimumsdato} og {maksimumsdato})"

når /Barnevern/Individ/Melding/@StartDato er før minimumsdato eller etter maksimumsdato
så gi en ⛔FEIL med meldingen "Melding startdato: Dato ({@StartDato}) må være mellom {minimumsdato} og {maksimumsdato})"

når /Barnevern/Individ/Melding/@SluttDato finnes og er før minimumsdato eller etter maksimumsdato
så gi en ⛔FEIL med meldingen "Melding sluttDato: Dato ({@SluttDato}) må være mellom {minimumsdato} og {maksimumsdato})"

når /Barnevern/Individ/Undersokelse/@StartDato er før minimumsdato eller etter maksimumsdato
så gi en ⛔FEIL med meldingen "Undersøkelse startdato: Dato ({@StartDato}) må være mellom {minimumsdato} og {maksimumsdato})"

når /Barnevern/Individ/Undersokelse/@SluttDato finnes og er før minimumsdato eller etter maksimumsdato
så gi en ⛔FEIL med meldingen "Undersøkelse sluttDato: Dato ({@SluttDato}) må være mellom {minimumsdato} og {maksimumsdato})"

når /Barnevern/Individ/Plan/@StartDato er før minimumsdato eller etter maksimumsdato
så gi en ⛔FEIL med meldingen "Plan startdato: Dato ({@StartDato}) må være mellom {minimumsdato} og {maksimumsdato})"

når /Barnevern/Individ/Plan/@SluttDato finnes og er før minimumsdato eller etter maksimumsdato
så gi en ⛔FEIL med meldingen "Plan sluttDato: Dato ({@SluttDato}) må være mellom {minimumsdato} og {maksimumsdato})"

når /Barnevern/Individ/Tiltak/@StartDato er før minimumsdato eller etter maksimumsdato
så gi en ⛔FEIL med meldingen "Tiltak startdato: Dato ({@StartDato}) må være mellom {minimumsdato} og {maksimumsdato})"

når /Barnevern/Individ/Tiltak/@SluttDato finnes og er før minimumsdato eller etter maksimumsdato
så gi en ⛔FEIL med meldingen "Tiltak sluttDato: Dato ({@SluttDato}) må være mellom {minimumsdato} og {maksimumsdato})"

når /Barnevern/Individ/Flytting/@SluttDato finnes og er før minimumsdato eller etter maksimumsdato
så gi en ⛔FEIL med meldingen "Flytting sluttDato: Dato ({@SluttDato}) må være mellom {minimumsdato} og {maksimumsdato})"
Kode Test

Gitt at /Barnevern/Individ/@StartDato og /Barnevern/Individ/@SluttDato finnes
når @StartDato er etter @SluttDato
så gi en ⛔FEIL med meldingen "Individets startdato ({@StartDato}) er etter sluttdato ({@SluttDato})"
Kode Test

Gitt at /Barnevern/Individ/@SluttDato finnes
når @SluttDato er før forrige_telledato
så gi en ⛔FEIL med meldingen "Individets sluttdato ({@SluttDato}) er før forrige telletidspunkt ({forrige_telledato})"
Kode Test

Gitt at /Barnevern/Individ/@Avslutta3112 finnes
når @Avslutta3112 = "1" (Ja) og @SluttDato mangler
så gi en ⛔FEIL med meldingen "Individet er avsluttet hos barnevernet og skal dermed være avsluttet. Sluttdato er {@SluttDato}. Kode for avsluttet er '1'."
Kode Test

Gitt /Barnevern/Individ/@Fodselsnummer finnes
når @Fodselsnummer ikke oppfyller noen følgende av definisjoner:

så gi en ⛔FEIL med meldingen "Feil i fødselsnummer. Kan ikke identifisere individet."

Gitt at /Barnevern/Individ/@Fodselsnummer mangler og /Barnevern/Individ/@DUFnummer finnes
når modulo11-sjekk av @DUFnummer feiler
så gi en ⛔FEIL med meldingen "DUF-nummer mangler. Kan ikke identifisere individet."

Gitt at /Barnevern/Individ/@Fodselsnummer mangler og /Barnevern/Individ/@DUFnummer mangler
så gi en ⛔FEIL med meldingen "Fødselsnummer og DUF-nummer mangler. Kan ikke identifisere individet."
Kode Test

Gitt at /Barnevern/Individ/@Fodselsnummer oppfyller én av følgende definisjoner:

når samme @Fodselsnummer forekommer i flere journaler
så gi en ⛔FEIL med meldingen "Fødselsnummeret i journalnummer {@Journalnummer} fins også i journalene {journalnummerliste}"
Kode Test

Gitt /Barnevern/Individ/@Journalnummer finnes
når @Journalnummer forekommer flere ganger
så gi en ⛔FEIL med meldingen "Journalnummer {@Journalnummer} forekommer {antall} ganger."
Kode Test

Gitt at /Barnevern/Individ finnes
når ingen /Barnevern/Individ/Melding finnes og ingen /Barnevern/Individ/Plan finnes og ingen /Barnevern/Individ/Tiltak finnes
så gi en ⛔FEIL med meldingen "Individet har ingen meldinger, planer eller tiltak i løpet av året"
Kode Test

Gitt at alder i år er utledet fra forskjellen mellom telledato og dato-delen i /Barnevern/Individ/@Fodselsnummer
når alder er større enn 25 år
så gi en ⛔FEIL med meldingen "Individet er {alder} år og skal avsluttes som klient"
Kode Test

Gitt at alder i år er utledet fra forskjellen mellom telledato og dato-delen i /Barnevern/Individ/@Fodselsnummer
når alder er større enn 18 år og /Barnevern/Individ/Tiltak mangler
så gi en ⚠️ADVARSEL med meldingen "Individet er over 18 år og skal dermed ha tiltak"
Kode Test

Gitt at kommunenummer starter med 0301 og /Barnevern/Individ/@Bydelsnummer mangler
så gi en ⛔FEIL med meldingen "Filen mangler bydelsnummer."
Kode Test

Gitt at kommunenummer starter med 0301 og /Barnevern/Individ/@Bydelsnavn mangler
så gi en ⛔FEIL med meldingen "Filen mangler bydelsnavn."
Kode Test

Gitt at /Barnevern/Individ/@Fodselsnummer mangler eller er blank, eller at /Barnevern/Individ/@Fodselsnummer er et ugyldig fødselsnummer
så gi en ⚠️ADVARSEL med meldingen "Individet har ufullstendig fødselsnummer. Korriger fødselsnummer."
Kode Test

Gitt at /Barnevern/Individ/@Fodselsnummer mangler, eller at /Barnevern/Individ/@Fodselsnummer er et ugyldig fødselsnummer
så gi en ⚠️ADVARSEL med meldingen "Individet har ufullstendig fødselsnummer. Korriger fødselsnummer."
Kode Test

Gitt at /Barnevern/Individ/@DUFnummer finnes
når @DUFnummer er ugyldig
så gi en ⚠️ADVARSEL med meldingen "Individet har ufullstendig DUF-nummer. Korriger DUF-nummer."
Kode Test

Gitt at /Barnevern/Individ/Melding/@Id,
/Barnevern/Individ/Melding/@StartDato og
/Barnevern/Individ/Melding/@SluttDato finnes
når @StartDato er etter @SluttDato
så gi en ⛔FEIL med meldingen "Melding ({@Id}). Meldingens startdato ({@StartDato}) er etter meldingens sluttdato ({@SluttDato})"
Kode Test

Gitt at /Barnevern/Individ/@SluttDato,
/Barnevern/Individ/Melding/@Id,
/Barnevern/Individ/Melding/@SluttDato og
/Barnevern/Individ/Melding/@Konklusjon finnes
når Melding/@SluttDato er etter Individ/@SluttDato og Melding/@Konklusjon = "1" (Henlagt)
så gi en ⛔FEIL med meldingen "Melding ({Melding/@Id}}). Meldingens sluttdato ({Melding/@SluttDato}) er etter individets sluttdato ({Individ/@SluttDato})"
Kode Test

Gitt at /Barnevern/Individ/@Avslutta3112 = "1" (Avsluttet)
for hver Melding i /Barnevern/Individ/
når Melding/@SluttDato mangler
eller /Barnevern/Individ/@SluttDato mangler
eller Melding/@SluttDato og er etter telledato
så gi en ⛔FEIL med meldingen "Melding ({Melding/@Id}}). Individet er avsluttet hos barnevernet og dets meldinger skal dermed være avsluttet. Sluttdato er {Individ/@SluttDato eller "uoppgitt"}"
Kode Test

Gitt at /Barnevern/Individ/@StartDato og
/Barnevern/Individ/Melding/@StartDato finnes
når Melding/@StartDato er før Individ/@StartDato
så gi en ⛔FEIL med meldingen "Melding ({Melding/@Id}). Meldingens startdato ({Melding/@StartDato}) skal være lik eller etter individets startdato ({Individ/@StartDato})"
Kode Test

Gitt at /Barnevern/Individ/Melding/@StartDato og /Barnevern/Individ/Melding/@SluttDato finnes
når @SluttDato er 8 eller flere dager etter @StartDato
så gi en ⚠️ADVARSEL med meldingen "Melding ({@Id}). Fristoverskridelse på behandlingstid for melding, ({@StartDato} -> {@SluttDato})"
Kode Test

Gitt at /Barnevern/Individ/Melding/@SluttDato finnes
når @SluttDato er før forrige_telledato
og @Konklusjon finnes
og @Konklusjon er enten "1" eller "2"
og Melding/Melder/@Kode mangler
så gi en ⛔FEIL med meldingen "Melding ({Melding/@Id}}). Konkludert melding mangler melder(e)."
Kode Test

Gitt at /Barnevern/Individ/Melding/@SluttDato finnes
når @SluttDato er før forrige_telledato
og @Konklusjon finnes
og @Konklusjon er enten "1" eller "2"
og Melding/Saksinnhold/@Kode mangler
så gi en ⛔FEIL med meldingen "Melding ({Melding/@Id}}). Konkludert melding mangler saksinnhold."
Kode Test

Gitt at /Barnevern/Individ/Melding/Melder finnes
for hver Melder i Melding/Melder
når Melder/@Kode = "22" (Andre offentlige instanser)
så gi en ⛔FEIL med meldingen "Melder med kode ({Melder/@Kode}) mangler presisering"
Kode Test

Gitt at /Barnevern/Individ/Melding/Saksinnhold finnes
for hver Saksinnhold i Melding/Saksinnhold
når Saksinnhold/@Kode er enten "18" (Andre forhold ved foreldre/ familien) eller "19" (Andre forhold ved barnets situasjon)
så gi en ⛔FEIL med meldingen "Saksinnhold med kode ({Saksinnhold/@Kode}) mangler presisering"
Kode Test

Gitt at /Barnevern/Individ/Undersokelse/@Id,
/Barnevern/Individ/Undersokelse/@StartDato og
/Barnevern/Individ/Undersokelse/@SluttDato finnes
når @StartDato er etter @SluttDato
så gi en ⛔FEIL med meldingen "Undersokelse ({@Id}). Undersøkelsens startdato ({@StartDato}) er etter undersøkelsens sluttdato ({@SluttDato})"
Kode Test

Gitt at /Barnevern/Individ/Undersokelse/@SluttDato finnes
når året i @SluttDato og rapporteringsår er forskjellige
så gi en ⛔FEIL med meldingen "Undersøkelse ({@Id}). Undersøkelsens sluttdato ({@SluttDato}) er ikke i rapporteringsåret ({rapporteringsår}) "
Kode Test

Gitt at /Barnevern/Individ/@SluttDato,
/Barnevern/Individ/Undersokelse/@Id,
/Barnevern/Individ/Undersokelse/@SluttDato og
/Barnevern/Individ/Undersokelse/@Konklusjon finnes
når Undersokelse/@SluttDato er etter Individ/@SluttDato
så gi en ⛔FEIL med meldingen "Undersokelse ({Undersokelse/@Id}}). Undersøkelsens sluttdato ({Undersokelse/@SluttDato}) er etter individets sluttdato ({Individ/@SluttDato})"
Kode Test

Gitt at /Barnevern/Individ/@Avslutta3112 = "1" (Avsluttet)
for hver Undersokelse i /Barnevern/Individ/
når Undersokelse/@SluttDato mangler
eller /Barnevern/Individ/@SluttDato mangler
eller Undersokelse/@SluttDato og er etter telledato
så gi en ⛔FEIL med meldingen "Undersokelse ({Undersokelse/@Id}}). Individet er avsluttet hos barnevernet og dets undersøkelser skal dermed være avsluttet. Sluttdato er {Undersokelse/@SluttDato eller "uoppgitt"}"
Kode Test

Gitt at /Barnevern/Individ/@StartDato og
/Barnevern/Individ/Undersokelse/@StartDato finnes
når Undersokelse/@StartDato er før Individ/@StartDato
så gi en ⛔FEIL med meldingen "Undersokelse ({Undersokelse/@Id}). Undersøkelsens startdato ({Undersokelse/@StartDato}) skal være lik eller etter individets startdato ({Individ/@StartDato})"
Kode Test

Gitt at /Barnevern/Individ/Melding/Undersokelse finnes
for hver Undersokelse i Melding/Undersokelse
når Undersokelse/@Kode er 5 (Undersøkelsen henlagt som følge av flytting)
så gi en ⛔FEIL med meldingen "Undersokelse ({Undersokelse/@Id}). Undersøkelse der kode for konklusjon er {Undersokelse/@Konklusjon} mangler presisering"
Kode Test

Gitt at /Barnevern/Individ/Melding/Undersokelse finnes
for hver Undersokelse i Melding/Undersokelse
når Undersokelse/@SluttDato finnes og Undersokelse/@Konklusjon mangler
så gi en ⛔FEIL med meldingen "Undersokelse ({Undersokelse/@Id}). Avsluttet undersøkelse mangler konklusjon"
Kode Test

Gitt at /Barnevern/Individ/Melding/Undersokelse finnes
for hver Undersokelse i Melding/Undersokelse
når Undersokelse/@Konklusjon er 1 (Barneverntjenesten fatter vedtak om tiltak) eller 2 (Begjæring om tiltak for barneverns- og helsenemnda)
så gi en ⛔FEIL med meldingen "Undersokelse ({Undersokelse/@Id}). Undersøkelse konkludert med kode {Undersokelse/@Konklusjon} skal ha vedtaksgrunnlag"
Kode Test

Gitt at /Barnevern/Individ/Melding/Undersokelse finnes
for hver Undersokelse i Melding/Undersokelse
når Undersokelse/@StartDato er før 1. juli i rapporteringsår og Undersokelse/@SluttDato mangler
så gi en ⚠️ADVARSEL med meldingen "Undersokelse ({Undersokelse/@Id}). Undersøkelsen startet {Undersokelse/@SluttDato} og skal konkluderes da den har pågått i mer enn 6 måneder"
Kode Test

Gitt at /Barnevern/Individ/Melding/Undersokelse/Vedtaksgrunnlag finnes
for hver Vedtaksgrunnlag i Melding/Undersokelse/Vedtaksgrunnlag
når Vedtaksgrunnlag/@Kode er enten "18" (Andre forhold ved foreldre/ familien) eller "19" (Andre forhold ved barnets situasjon)
så gi en ⛔FEIL med meldingen "Vedtaksgrunnlag med kode ({Vedtaksgrunnlag/@Kode}) mangler presisering"
Kode Test

Gitt at /Barnevern/Individ/Plan/@Id,
/Barnevern/Individ/Plan/@StartDato og
/Barnevern/Individ/Plan/@SluttDato finnes
når @StartDato er etter @SluttDato
så gi en ⛔FEIL med meldingen "Plan ({@Id}). Planens startdato ({@StartDato}) er etter planens sluttdato ({@SluttDato})"
Kode Test

Gitt at /Barnevern/Individ/@SluttDato,
/Barnevern/Individ/Plan/@Id,
/Barnevern/Individ/Plan/@SluttDato finnes
når Plan/@SluttDato er etter Individ/@SluttDato
så gi en ⛔FEIL med meldingen "Plan ({Plan/@Id}}). Planens sluttdato ({Plan/@SluttDato}) er etter individets sluttdato ({Individ/@SluttDato})"
Kode Test

Gitt at /Barnevern/Individ/@Avslutta3112 = "1" (Avsluttet)
for hver Plan i /Barnevern/Individ/
når Plan/@SluttDato mangler
eller /Barnevern/Individ/@SluttDato mangler
eller Plan/@SluttDato og er etter telledato
så gi en ⛔FEIL med meldingen "Plan ({Plan/@Id}}). Individet er avsluttet hos barnevernet og dets planer skal dermed være avsluttet. Sluttdato er {Plan/@SluttDato eller "uoppgitt"}"
Kode Test

Gitt at /Barnevern/Individ/@StartDato og
/Barnevern/Individ/Plan/@StartDato finnes
når Plan/@StartDato er før Individ/@StartDato
så gi en ⛔FEIL med meldingen "Plan ({Plan/@Id}). Planens startdato ({Plan/@StartDato}) skal være lik eller etter individets startdato ({Individ/@StartDato})"
Kode Test

Gitt at /Barnevern/Individ/Tiltak/@Id,
/Barnevern/Individ/Tiltak/@StartDato og
/Barnevern/Individ/Tiltak/@SluttDato finnes
når @StartDato er etter @SluttDato
så gi en ⛔FEIL med meldingen "Tiltak ({@Id}). Tiltakets startdato ({@StartDato}) er etter tiltakets sluttdato ({@SluttDato})"
Kode Test

Gitt at /Barnevern/Individ/Tiltak/@SluttDato finnes
når året i @SluttDato og rapporteringsår er forskjellige
så gi en ⛔FEIL med meldingen "Tiltak ({@Id}). Tiltakets sluttdato ({@SluttDato}) er ikke i rapporteringsåret ({rapporteringsår}) "
Kode Test

Gitt at /Barnevern/Individ/@SluttDato,
/Barnevern/Individ/Tiltak/@Id,
/Barnevern/Individ/Tiltak/@SluttDato finnes
når Tiltak/@SluttDato er etter Individ/@SluttDato
så gi en ⛔FEIL med meldingen "Tiltak ({Tiltak/@Id}}). Tiltakets sluttdato ({Tiltak/@SluttDato}) er etter individets sluttdato ({Individ/@SluttDato})"
Kode Test

Gitt at /Barnevern/Individ/@Avslutta3112 = "1" (Avsluttet)
for hver Tiltak i /Barnevern/Individ/
når Tiltak/@SluttDato mangler
eller /Barnevern/Individ/@SluttDato mangler
eller Tiltak/@SluttDato og er etter telledato
så gi en ⛔FEIL med meldingen "Tiltak ({Tiltak/@Id}}). Individet er avsluttet hos barnevernet og dets tiltak skal dermed være avsluttet. Sluttdato er {Tiltak/@SluttDato eller "uoppgitt"}"
Kode Test

Gitt at /Barnevern/Individ/@StartDato og
/Barnevern/Individ/Tiltak/@StartDato finnes
når Tiltak/@StartDato er før Individ/@StartDato
så gi en ⛔FEIL med meldingen "Tiltak ({Tiltak/@Id}). Tiltakets startdato ({Tiltak/@StartDato}) skal være lik eller etter individets startdato ({Individ/@StartDato})"
Kode Test

Gitt at /Barnevern/Individ/Tiltak finnes
når @SluttDato finnes og Tiltak er et Omsorgstiltak og @Opphevelse mangler
så gi en ⚠️ADVARSEL med meldingen "Tiltak ({@Id}}). Omsorgstiltak med sluttdato {@SluttDato} krever kode for opphevelse"
Kode Test

Gitt at alder i år er utledet fra forskjellen mellom telledato og dato-delen i /Barnevern/Individ/@Fodselsnummer og /Barnevern/Individ/Tiltak finnes
når alder er 7 år eller eldre og Tiltak/Kategori/@Kode er "4.1"
så gi en ⚠️ADVARSEL med meldingen "Tiltak ({@Id}}). Barnet er over 7 år og i barnehage. Barnets alder er {alder} år"
Kode Test

Gitt at alder i år er utledet fra forskjellen mellom telledato og dato-delen i /Barnevern/Individ/@Fodselsnummer og /Barnevern/Individ/Tiltak finnes
når alder er 11 år eller eldre og Tiltak/Kategori/@Kode er "4.2"
så gi en ⚠️ADVARSEL med meldingen "Tiltak ({@Id}}). Barnet er over 11 år og i SFO. Barnets alder er {alder} år"
Kode Test

Gitt at /Barnevern/Individ/Tiltak finnes
når Tiltak/Kategori/@Kode er en av "1.99", "2.99", "3.7", "3.99", "4.99", "5.99", "6.99", "7.99", "8.99"
og Tiltak/Kategori/@Presisering mangler
så gi en ⛔FEIL med meldingen "Tiltak ({@Id}}). Tiltakskategori {Tiltak/Kategori/@Kode} mangler presisering"
Kode Test

Gitt at /Barnevern/Individ/Tiltak finnes
når Tiltak/Opphevelse/@Kode er "4" (Annet) og Tiltak/Opphevelse/@Presisering mangler
så gi en ⛔FEIL med meldingen "Tiltak ({@Id}}). Tiltaksopphevelse {Tiltak/Opphevelse/@Kode} mangler presisering"
Kode Test

Gitt at /Barnevern/Individ/Tiltak finnes, og 2 eller flere Tiltak er Plasseringstiltak
når 2 Plasseringstiltak overlapper med mer enn 3 måneder
så gi en ⚠️ADVARSEL med meldingen "Plasseringstiltak kan ikke overlappe med mer enn 3 måneder"
Kode Test

Gitt at terskeldato er 31. desember 2022 og /Barnevern/Individ/Tiltak finnes

når Tiltak/@StartDato er lik eller før terskeldato
og (Tiltak/Lovhjemmel/@Lov er ulik "BVL" eller Tiltak/JmfrLovhjemmel/@Lov er ulik "BVL")
så gi en ⛔FEIL med meldingen "Tiltak ({@Id}}). Tiltak opprettet før 01.01.2023 krever lov = 'BVL'"

når Tiltak/@StartDato er etter terskeldato
og (Tiltak/Lovhjemmel/@Lov er ingen av "BVL", "BVL2021" eller Tiltak/JmfrLovhjemmel/@Lov er ingen av "BVL", "BVL2021")
så gi en ⛔FEIL med meldingen "Tiltak ({@Id}}). Tiltak opprettet 01.01.2023 eller etter, krever lov = 'BVL' eller 'BVL2021'"
Kode Test

Gitt at alder i år er utledet fra forskjellen mellom telledato og dato-delen i /Barnevern/Individ/@Fodselsnummer og /Barnevern/Individ/Tiltak finnes
når alder er over 18 år og Tiltak er et Omsorgstiltak
så gi en ⛔FEIL med meldingen "Tiltak ({@Id}}). Individet er {alder} år og skal dermed ikke ha omsorgstiltak"
Kode Test

Gitt at /Barnevern/Individ/Tiltak finnes
for alle @Kapittel eller @Paragraf i Tiltak//@Paragraf når @Kapittel er "0" eller @Paragraf er "0"
så gi en ⛔FEIL med meldingen "Tiltak ({@Id}}). Kapittel ({@Kapittel}) eller paragraf ({@Paragraf}) er rapportert med den ugyldige koden '0'"

Gitt at /Barnevern/Individ/@SluttDato,
/Barnevern/Individ/Flytting/@Id,
/Barnevern/Individ/Flytting/@SluttDato finnes
når Flytting/@SluttDato er etter Individ/@SluttDato
så gi en ⛔FEIL med meldingen "Flytting ({Flytting/@Id}}). Flyttingens sluttdato ({Flytting/@SluttDato}) er etter individets sluttdato ({Individ/@SluttDato})"
Kode Test

Gitt at /Barnevern/Individ/@StartDato,
/Barnevern/Individ/Flytting/@Id,
/Barnevern/Individ/Flytting/@SluttDato finnes
når Flytting/@SluttDato er før Individ/@StartDato
så gi en ⛔FEIL med meldingen "Flytting ({Flytting/@Id}}). Flyttingens sluttdato ({Flytting/@SluttDato}) er før individets startdato ({Individ/@StartDato})"
Kode Test