Skip to content

Commit

Permalink
Add empty specs with links to file descriptions (#718)
Browse files Browse the repository at this point in the history
* Add empty specs with links to file descriptions

* Add reporting year to file description file names
  • Loading branch information
jonolehagemo authored Oct 4, 2024
1 parent 98e8781 commit 35fb9d1
Show file tree
Hide file tree
Showing 26 changed files with 238 additions and 48 deletions.
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
File renamed without changes.
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

0 comments on commit 35fb9d1

Please sign in to comment.