Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add empty specs with links to file descriptions #718

Merged
merged 4 commits into from
Oct 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 17 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,21 @@

## Kravspesifikasjoner

* [Posisjonsbaserte filvedlegg](/kravspesifikasjon/posisjonsbaserte_filvedlegg.md)
* [Felles for alle regnskap](/kravspesifikasjon/felles_regnskap.md)
* KOSTRA
* Kommune (årlig)
* Kirke (årlig)
* Kvartal (kvartal)
* Helseforetak
* Sosial
* Økonomisk sosialhjelp
* Kvalifiseringsstønad
* [Posisjonsbaserte filvedlegg](/kravspesifikasjon/felles_posisjonsbaserte_filvedlegg.md)
* Familievern
* Familievernssaker [2024](/kravspesifikasjon/specs_familievern_52AF_familievernsaker_2024.md)
* Gruppeskjema for familievernet [2024](/kravspesifikasjon/specs_familievern_52BF_gruppeskjema_2024.md)
* Familievernssaker [2024](/kravspesifikasjon/specs_familievern_53F_utadrettet_virksomhet_i_familievernet_2024.md)
* Meklingssaker i familieverntjenesten [2024](/kravspesifikasjon/specs_familievern_55F_meklingssaker_i_familieverntjenesten_2024.md)
* Regnskap
* [Felles for alle regnskap](/kravspesifikasjon/felles_regnskap.md)
* KOSTRA
* Kommune (årlig)
* Kirke (årlig)
* Kvartal (kvartal)
* Helseforetak
* Sosialtjenesten
* Økonomisk sosialhjelp [2024](/kravspesifikasjon/specs_sosialtjenesten_11F_okonomisk_sosialhjelp_2024.md)
* Kvalifiseringsstønad [2024](/kravspesifikasjon/specs_sosialtjenesten_11CF_kvalifiseringsstonad_2024.md)
* XML-baserte filvedlegg
* [Barnevern](/kravspesifikasjon/barnevern_15_specs.md)
* [Barnevern](/kravspesifikasjon/specs_barnevernstjenesten_15F_barnevern_20YY.md)
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package no.ssb.kostra.area.famvern
import no.ssb.kostra.program.FileLoader

object FamilievernConstants {
private const val FILENAME = "mapping_familievern_region_fylke_kontor.yaml"
private const val FILENAME = "mapping_familievern_region_fylke_kontor_2024.yaml"

data class MappingDescription(
val title: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ import no.ssb.kostra.program.FileLoader
object Familievern52aFieldDefinitions : FieldDefinitions {
override val fieldDefinitions: List<FieldDefinition> =
FileLoader
.getResourceAsFieldDefinitionList("file_description_52AF.yaml")
.getResourceAsFieldDefinitionList("file_description_52AF_2024.yaml")
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ import no.ssb.kostra.program.FileLoader
object Familievern52bFieldDefinitions : FieldDefinitions {
override val fieldDefinitions: List<FieldDefinition> =
FileLoader
.getResourceAsFieldDefinitionList("file_description_52BF.yaml")
.getResourceAsFieldDefinitionList("file_description_52BF_2024.yaml")
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ import no.ssb.kostra.program.FileLoader
object Familievern53FieldDefinitions : FieldDefinitions {
override val fieldDefinitions: List<FieldDefinition> =
FileLoader
.getResourceAsFieldDefinitionList("file_description_53F.yaml")
.getResourceAsFieldDefinitionList("file_description_53F_2024.yaml")
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ import no.ssb.kostra.program.FileLoader
object Familievern55FieldDefinitions : FieldDefinitions {
override val fieldDefinitions: List<FieldDefinition> =
FileLoader
.getResourceAsFieldDefinitionList("file_description_55F.yaml")
.getResourceAsFieldDefinitionList("file_description_55F_2024.yaml")
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ import no.ssb.kostra.program.FileLoader
object KvalifiseringFieldDefinitions : FieldDefinitions {
override val fieldDefinitions: List<FieldDefinition> =
FileLoader
.getResourceAsFieldDefinitionList("file_description_11CF.yaml")
.getResourceAsFieldDefinitionList("file_description_11CF_2024.yaml")
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ import no.ssb.kostra.program.FileLoader
object SosialhjelpFieldDefinitions : FieldDefinitions {
override val fieldDefinitions: List<FieldDefinition> =
FileLoader
.getResourceAsFieldDefinitionList("file_description_11F.yaml")
.getResourceAsFieldDefinitionList("file_description_11F_2024.yaml")
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,12 @@ class FileLoaderTest : BehaviorSpec({

Given("a set of FileDescription") {
forAll(
row("11F Økonomisk sosialhjelp", "11F", 324),
row("11CF Kvalifiseringsstønad", "11CF", 136),
row("52AF Familievernsaker, klientrapportering", "52AF", 151),
row("52BF Gruppeskjema for familievernet", "52BF", 86),
row("53F Utadrettet virksomhet i familieverntjenesten", "53F", 61),
row("55F Meklingssaker i familieverntjenesten", "55F", 986),
row("11F Økonomisk sosialhjelp", "11F_2024", 324),
row("11CF Kvalifiseringsstønad", "11CF_2024", 136),
row("52AF Familievernsaker, klientrapportering", "52AF_2024", 151),
row("52BF Gruppeskjema for familievernet", "52BF_2024", 86),
row("53F Utadrettet virksomhet i familieverntjenesten", "53F_2024", 61),
row("55F Meklingssaker i familieverntjenesten", "55F_2024", 986),
row("Alle regnskapsskjema", "Regnskap", 48),
) { description, schema, recordLength ->
When("comparing consecutive FieldDefinitions for $description") {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
package no.ssb.kostra.validation.rule.famvern

import com.fasterxml.jackson.databind.exc.MismatchedInputException
import io.kotest.assertions.throwables.shouldThrow
import io.kotest.core.spec.style.BehaviorSpec
import io.kotest.matchers.collections.shouldContain
import io.kotest.matchers.string.shouldContain
import no.ssb.kostra.area.famvern.FamilievernConstants
import no.ssb.kostra.program.FileLoader
import java.nio.file.NoSuchFileException

class FamilievernConstantsTest : BehaviorSpec({
Given("a file name of a mapping file") {
val fileName = "mapping_familievern_region_fylke_kontor.yaml"
val fileName = "mapping_familievern_region_fylke_kontor_2024.yaml"

When("opening the mapping file") {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Kravspesifikasjon for posisjonsbaserte filvedlegg

## Begrep

### <a name="alvorligehetsgrader">Alvorlighetsgrader</a>
* :skull: **FATAL**, når en kontroll ender med alvorlighetsgraden FATAL så stopper all videre kontrollering umiddelbart. FATAL hindrer da andre kontrollene i bli kjørt. Videre så hindrer denne innsending av filvedlegget til SSB.
* :no_entry: **ERROR**, når en kontroll ender med alvorlighetsgraden ERROR så hindrer denne innsending av filvedlegget til SSB.
Expand Down
32 changes: 13 additions & 19 deletions kravspesifikasjon/felles_regnskap.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,11 @@
## Begrep

### <a name="alvorligehetsgrader">Alvorlighetsgrader</a>

* :skull: **FATAL**, når en kontroll ender med alvorlighetsgraden FATAL så stopper all videre kontrollering umiddelbart.
FATAL hindrer da andre kontrollene i bli kjørt. Videre så hindrer denne innsending av filvedlegget til SSB.
* :no_entry: **ERROR**, når en kontroll ender med alvorlighetsgraden ERROR så hindrer denne innsending av filvedlegget
til SSB.
* :warning: **WARNING**, når en kontroll ender med alvorlighetsgraden WARNING så kan filvedlegget bli sendt inn til SSB
med advarsler.
* :information_source: **INFO**, når en kontroll ender med alvorlighetsgraden INFO så kan filvedlegget bli sendt inn til SSB med
tilbakemeldinger som er til informasjon for avgiveren.
* :white_check_mark:**OK**, når en kontroll ender med alvorlighetsgraden vises ingen tilbakemelding av noe slag da alt
er i orden.
* :skull: **FATAL**, når en kontroll ender med alvorlighetsgraden FATAL så stopper all videre kontrollering umiddelbart. FATAL hindrer da andre kontrollene i bli kjørt. Videre så hindrer denne innsending av filvedlegget til SSB.
* :no_entry: **ERROR**, når en kontroll ender med alvorlighetsgraden ERROR så hindrer denne innsending av filvedlegget til SSB.
* :warning: **WARNING**, når en kontroll ender med alvorlighetsgraden WARNING så kan filvedlegget bli sendt inn til SSB med advarsler.
* :information_source: **INFO**, når en kontroll ender med alvorlighetsgraden INFO så kan filvedlegget bli sendt inn til SSB med tilbakemeldinger som er til informasjon for avgiveren.
* :white_check_mark:**OK**, når en kontroll ender med alvorlighetsgraden vises ingen tilbakemelding av noe slag da alt er i orden.

### <a name="variabler">Variabler fra skjema</a>

Expand Down Expand Up @@ -127,10 +121,10 @@ til '(preutfylt)'"
### Kontroll 010 : Funksjon

**Gitt at** skjema er én av 0A, 0C, 0I, 0K, 0M, 0P og 0X, samt 0AK* og 0CK*, en har en filbeskrivelse med feltdefinisjon for funksjon, en regnskapsfil med verdien for funksjon og en liste med gyldige funksjoner (de er oppgitt i underside/kravspek)<br/>
**når** funksjon avviker fra gyldige funksjoner og kvartal er 1 eller 2<br/>
**når** funksjon avviker fra gyldige funksjoner og kvartal er 1, 2 eller 3<br/>
**** gi en :warning:**ADVARSEL** med meldingen "Fant ugyldig funksjon '(funksjon)'. Korrigér funksjon til én av '(funksjoner)'"

**når** funksjon avviker fra gyldige funksjoner og kvartal er 3, 4 eller blank for årsregnskap<br/>
**når** funksjon avviker fra gyldige funksjoner og kvartal er 4 eller blank for årsregnskap<br/>
**** gi en :no_entry:**FEIL** med meldingen "Fant ugyldig funksjon '(funksjon)'. Korrigér funksjon til én av '(funksjoner)'"

[Kode](/kontroller/src/main/kotlin/no/ssb/kostra/validation/rule/regnskap/Rule010Funksjon.kt)
Expand All @@ -139,10 +133,10 @@ til '(preutfylt)'"
### Kontroll 011 : Kapittel

**Gitt at** skjema er én av 0B, 0D, 0J, 0L, 0N, 0Q og 0Y, samt 0BK* og 0DK*, en har en filbeskrivelse med feltdefinisjon for kapittel, en regnskapsfil med verdien for kapittel og en liste med gyldige kapitler (de er oppgitt i underside/kravspek)<br/>
**når** kapittel avviker fra gyldige kapitler og kvartal er 1 eller 2<br/>
**når** kapittel avviker fra gyldige kapitler og kvartal er 1, 2 eller 3<br/>
**** gi en :warning:**ADVARSEL** med meldingen "Fant ugyldig kapittel '(kapittel)'. Korrigér kapittel til én av '(kapitler)'"

**når** kapittel avviker fra gyldige kapitler<br/>
**når** kapittel avviker fra gyldige kapitler og kvartal er 4 eller blank for årsregnskap<br/>
**** gi en :no_entry:**FEIL** med meldingen "Fant ugyldig kapittel '(kapittel)'. Korrigér kapittel til én av '(kapitler)'"

[Kode](/kontroller/src/main/kotlin/no/ssb/kostra/validation/rule/regnskap/Rule011Kapittel.kt)
Expand All @@ -151,10 +145,10 @@ til '(preutfylt)'"
### Kontroll 012 : Art

**Gitt at** skjema er én av 0A, 0C, 0I, 0K, 0M, 0P og 0X, samt 0AK* og 0CK*, en har en filbeskrivelse med feltdefinisjon for art, en regnskapsfil med verdien for art og en liste med gyldige arter (de er oppgitt i underside/kravspek)<br/>
**når** art avviker fra gyldige arter og kvartal er 1 eller 2<br/>
**når** art avviker fra gyldige arter og kvartal er 1, 2 eller 3<br/>
**** gi en :warning:**ADVARSEL** med meldingen "Fant ugyldig art '(art)'. Korrigér art til én av '(arter)'"

**når** art avviker fra gyldige arter og kvartal er 3, 4 eller blank for årsregnskap<br/>
**når** art avviker fra gyldige arter og kvartal er 4 eller blank for årsregnskap<br/>
**** gi en :no_entry:**FEIL** med meldingen "Fant ugyldig art '(art)'. Korrigér art til én av '(arter)'"

[Kode](/kontroller/src/main/kotlin/no/ssb/kostra/validation/rule/regnskap/Rule012Art.kt)
Expand All @@ -163,10 +157,10 @@ til '(preutfylt)'"
### Kontroll 013 : Sektor

**Gitt at** skjema er én av 0B, 0D, 0J, 0L, 0N, 0Q og 0Y, samt 0BK* og 0DK*, en har en filbeskrivelse med feltdefinisjon for sektor, en regnskapsfil med verdien for sektor og en liste med gyldige sektorer (de er oppgitt i underside/kravspek)<br/>
**når** sektor avviker fra gyldige sektorer og kvartal er 1 eller 2<br/>
**når** sektor avviker fra gyldige sektorer og kvartaler 1, 2 eller 3<br/>
**** gi en :warning:**ADVARSEL** med meldingen "Fant ugyldig sektor '(sektor)'. Korrigér sektor til én av '(sektorer)'"

**når** sektor avviker fra gyldige sektorer<br/>
**når** sektor avviker fra gyldige sektorer og kvartal er 4 eller blank for årsregnskap<br/>
**** gi en :no_entry:**FEIL** med meldingen "Fant ugyldig sektor '(sektor)'. Korrigér sektor til én av '(sektorer)'"

[Kode](/kontroller/src/main/kotlin/no/ssb/kostra/validation/rule/regnskap/Rule013Sektor.kt)
Expand Down
32 changes: 32 additions & 0 deletions kravspesifikasjon/specs_familievern_52AF_familievernsaker_2024.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Kravspesifikasjon Familievernssaker, skjema 52AF

## Begrep

### <a name="alvorligehetsgrader">Alvorlighetsgrader</a>
* :skull: **FATAL**, når en kontroll ender med alvorlighetsgraden FATAL så stopper all videre kontrollering umiddelbart. FATAL hindrer da andre kontrollene i bli kjørt. Videre så hindrer denne innsending av filvedlegget til SSB.
* :no_entry: **ERROR**, når en kontroll ender med alvorlighetsgraden ERROR så hindrer denne innsending av filvedlegget til SSB.
* :warning: **WARNING**, når en kontroll ender med alvorlighetsgraden WARNING så kan filvedlegget bli sendt inn til SSB med advarsler.
* :information_source: **INFO**, når en kontroll ender med alvorlighetsgraden INFO så kan filvedlegget bli sendt inn til SSB med tilbakemeldinger som er til informasjon for avgiveren.
* :white_check_mark:**OK**, når en kontroll ender med alvorlighetsgraden vises ingen tilbakemelding av noe slag da alt er i orden.

### <a name="variabler">Variabler fra skjema</a>

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

* <a name="skjemanummer">**skjemanummer**</a>, for eksempel **0A**, **11F** og **55F**
* <a name="rapporteringsar">**rapporteringsår**</a>, for eksempel **2024**
* <a name="kommunenummer">**kommunenummer**</a>, for eksempel **0301**
* <a name="kommunenavn">**kommunenavn**</a>, for eksempel **Oslo**
* <a name="organisasjonsnummer">**organisasjonsnummer**</a>, for eksempel **958935420**
* <a name="foretaksnummer">**foretakssjonsnummer**</a>, for eksempel **958935420**
* <a name="skal_rapportere">**skal rapportere**</a>, for eksempel **Ja / Nei**

## Filbeskrivelse

Filbeskrivelse finnes som en mennesklig- og maskinlesbar
yaml-fil, [lenke til filbeskrivelse](/kontroller/src/main/resources/file_description_52AF_2024.yaml).

## Krav

Kommer senere
32 changes: 32 additions & 0 deletions kravspesifikasjon/specs_familievern_52BF_gruppeskjema_2024.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Kravspesifikasjon Gruppeskjema for familievernet, skjema 52BF

## Begrep

### <a name="alvorligehetsgrader">Alvorlighetsgrader</a>
* :skull: **FATAL**, når en kontroll ender med alvorlighetsgraden FATAL så stopper all videre kontrollering umiddelbart. FATAL hindrer da andre kontrollene i bli kjørt. Videre så hindrer denne innsending av filvedlegget til SSB.
* :no_entry: **ERROR**, når en kontroll ender med alvorlighetsgraden ERROR så hindrer denne innsending av filvedlegget til SSB.
* :warning: **WARNING**, når en kontroll ender med alvorlighetsgraden WARNING så kan filvedlegget bli sendt inn til SSB med advarsler.
* :information_source: **INFO**, når en kontroll ender med alvorlighetsgraden INFO så kan filvedlegget bli sendt inn til SSB med tilbakemeldinger som er til informasjon for avgiveren.
* :white_check_mark:**OK**, når en kontroll ender med alvorlighetsgraden vises ingen tilbakemelding av noe slag da alt er i orden.

### <a name="variabler">Variabler fra skjema</a>

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

* <a name="skjemanummer">**skjemanummer**</a>, for eksempel **0A**, **11F** og **55F**
* <a name="rapporteringsar">**rapporteringsår**</a>, for eksempel **2024**
* <a name="kommunenummer">**kommunenummer**</a>, for eksempel **0301**
* <a name="kommunenavn">**kommunenavn**</a>, for eksempel **Oslo**
* <a name="organisasjonsnummer">**organisasjonsnummer**</a>, for eksempel **958935420**
* <a name="foretaksnummer">**foretakssjonsnummer**</a>, for eksempel **958935420**
* <a name="skal_rapportere">**skal rapportere**</a>, for eksempel **Ja / Nei**

## Filbeskrivelse

Filbeskrivelse finnes som en mennesklig- og maskinlesbar
yaml-fil, [lenke til filbeskrivelse](/kontroller/src/main/resources/file_description_52BF_2024.yaml).

## Krav

Kommer senere
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Kravspesifikasjon Utadrettet virksomhet i familieverntjenesten, skjema 53F

## Begrep

### <a name="alvorligehetsgrader">Alvorlighetsgrader</a>
* :skull: **FATAL**, når en kontroll ender med alvorlighetsgraden FATAL så stopper all videre kontrollering umiddelbart. FATAL hindrer da andre kontrollene i bli kjørt. Videre så hindrer denne innsending av filvedlegget til SSB.
* :no_entry: **ERROR**, når en kontroll ender med alvorlighetsgraden ERROR så hindrer denne innsending av filvedlegget til SSB.
* :warning: **WARNING**, når en kontroll ender med alvorlighetsgraden WARNING så kan filvedlegget bli sendt inn til SSB med advarsler.
* :information_source: **INFO**, når en kontroll ender med alvorlighetsgraden INFO så kan filvedlegget bli sendt inn til SSB med tilbakemeldinger som er til informasjon for avgiveren.
* :white_check_mark:**OK**, når en kontroll ender med alvorlighetsgraden vises ingen tilbakemelding av noe slag da alt er i orden.

### <a name="variabler">Variabler fra skjema</a>

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

* <a name="skjemanummer">**skjemanummer**</a>, for eksempel **0A**, **11F** og **55F**
* <a name="rapporteringsar">**rapporteringsår**</a>, for eksempel **2024**
* <a name="kommunenummer">**kommunenummer**</a>, for eksempel **0301**
* <a name="kommunenavn">**kommunenavn**</a>, for eksempel **Oslo**
* <a name="organisasjonsnummer">**organisasjonsnummer**</a>, for eksempel **958935420**
* <a name="foretaksnummer">**foretakssjonsnummer**</a>, for eksempel **958935420**
* <a name="skal_rapportere">**skal rapportere**</a>, for eksempel **Ja / Nei**

## Filbeskrivelse

Filbeskrivelse finnes som en mennesklig- og maskinlesbar
yaml-fil, [lenke til filbeskrivelse](/kontroller/src/main/resources/file_description_53F_2024.yaml).

## Krav

Kommer senere
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Kravspesifikasjon Meklingssaker i familieverntjenesten, skjema 55F

## Begrep

### <a name="alvorligehetsgrader">Alvorlighetsgrader</a>
* :skull: **FATAL**, når en kontroll ender med alvorlighetsgraden FATAL så stopper all videre kontrollering umiddelbart. FATAL hindrer da andre kontrollene i bli kjørt. Videre så hindrer denne innsending av filvedlegget til SSB.
* :no_entry: **ERROR**, når en kontroll ender med alvorlighetsgraden ERROR så hindrer denne innsending av filvedlegget til SSB.
* :warning: **WARNING**, når en kontroll ender med alvorlighetsgraden WARNING så kan filvedlegget bli sendt inn til SSB med advarsler.
* :information_source: **INFO**, når en kontroll ender med alvorlighetsgraden INFO så kan filvedlegget bli sendt inn til SSB med tilbakemeldinger som er til informasjon for avgiveren.
* :white_check_mark:**OK**, når en kontroll ender med alvorlighetsgraden vises ingen tilbakemelding av noe slag da alt er i orden.

### <a name="variabler">Variabler fra skjema</a>

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

* <a name="skjemanummer">**skjemanummer**</a>, for eksempel **0A**, **11F** og **55F**
* <a name="rapporteringsar">**rapporteringsår**</a>, for eksempel **2024**
* <a name="kommunenummer">**kommunenummer**</a>, for eksempel **0301**
* <a name="kommunenavn">**kommunenavn**</a>, for eksempel **Oslo**
* <a name="organisasjonsnummer">**organisasjonsnummer**</a>, for eksempel **958935420**
* <a name="foretaksnummer">**foretakssjonsnummer**</a>, for eksempel **958935420**
* <a name="skal_rapportere">**skal rapportere**</a>, for eksempel **Ja / Nei**

## Filbeskrivelse

Filbeskrivelse finnes som en mennesklig- og maskinlesbar
yaml-fil, [lenke til filbeskrivelse](/kontroller/src/main/resources/file_description_55F_2024.yaml).

## Krav

Kommer senere
Loading