GSI — Elever og skoler

GSI — Elever og skoler
Utdanningsdirektoratet ·udir-gsiUtdanningsdirektoratet (Udir) publishes GSI (Grunnskolens informasjonssystem) — pupil counts, counts of pupils with individually-tailored instruction, counts of pupils with reinforced Norwegian instruction, and school counts — per kommune, per school year, reported annually as of October 1st. Atlas reaches this through Udir's own statistics API (statistikkportalen.udir.no/ api/rapportering, "USS — Udirs StatistikkSystem"), resolving the current report version and the set of available school years dynamically rather than hardcoding either. The API's own documentation (https://www.udir.no/om-udir/data/) names a different, dead hostname (api.udir-statistikkbanken.no) for a sibling endpoint (Elevundersøkelsen) — the correct host for the system this source actually uses is statistikkportalen.udir.no, found by reading a live error response rather than trusted from the docs page. See atlas-data/ingest/src/sources/udir-gsi/README.md for the full mechanism.
Provenance
GSK_Elev_SkolEDUCUsed in Atlas views
These Atlas views (api_v1.* PostgREST endpoints) include this dataset in their input. Click through for the sample query, column list, and lineage.
api_v1.atlas_inventory
What Atlas publishes: one row per endpoint with its row count, freshness and origin.
GSI — Elever og skoler
Per-source indicator data for udir-gsi (Utdanningsdirektoratet), at the publisher's own grain.
Joined with
Datasets that co-occur with this one inside Atlas's dbt models — the datasets you'd typically combine with this one in a real query.
brreg-enheter-allemart_atlas_inventorybrreg-frivilligemart_atlas_inventorybrreg-oppdateringermart_atlas_inventorybrreg-underenhetermart_atlas_inventorybufdir-barnefattigdommart_atlas_inventorybufdir-barnevernmart_atlas_inventoryfhi-alkoholmart_atlas_inventoryfhi-befolkningmart_atlas_inventoryDimensions
| Code | Meaning | Value format | Notes |
|---|---|---|---|
| region_code | SSB-format region code, read directly from the API's own `kode` field at the third hierarchy level (fylke two levels up, individual school one level down) | 4-digit code (SSB standard) — not always a real kommune | Verified live 2026-10-02: the GSI data endpoint's `EnhetID` hierarchy already carries real SSB-format codes at this level when the request includes `inkluderKoder=true` — no crosswalk needed, unlike imdi-bosetting's free-text names. ⚠️ But "same tree depth as a kommune" is not "is a kommune": `2100` (Svalbard) and `2111` sit at this exact depth because GSI reports a school there, matching SSB's own `21xx` Svalbard pattern. Named `region_code`, not `kommune_nr`, for this reason — `kommune_nr` is resolved downstream via this project's existing `classify_region_code`/`region_code_to_kommune_nr` dbt macros, same as every other kommune-grain source, not assumed from the raw code's shape. |
| year | School year, read from the `TidID` filter dimension (e.g. 202510 = school year 2025-26) | 6-digit school-year code, YYYY10 (the trailing 10 is the API's own convention, not an Atlas derivation) | Every available year is discovered dynamically via the API's own filterVerdier endpoint, not a hardcoded range — a year Udir adds later is picked up automatically. |
| measure | Which GSI figure this row's value is — not a format variant | Antall elever | Antall elever med individuelt tilrettelagt opplæring/spesialundervisning | Antall elever med forsterket opplæring i norsk | Antall skoler | Four distinct counts (total pupils, pupils with individually-tailored instruction, pupils with reinforced Norwegian instruction, school count), named verbatim from the API's own column metadata — no separate text-lookup round trip needed to label them. This is the grand-total slice only (all grades, all sexes, all ownership types combined) — the underlying report also supports breaking these same four measures down by trinn (grade), kjønn (sex) and eierform (public/private), which this source does not ingest. See atlas-data/ingest/src/sources/udir-gsi/README.md for why. |
| value | The measure's numeric value for this kommune and year | Integer count; null when suppressed | Udir's own suppression marker is the literal character `*` — the same convention `nav-uforetrygd` uses. Confirmed live on real small kommuner (e.g. Træna, Utsira) where the individually-tailored-instruction and Norwegian-reinforcement counts are suppressed while the plain pupil/school counts for the same kommune are not. |
Sample query
Ingested, not yet published. Atlas holds this source but no published relation carries it yet, so there is no query to run against the public API. Its rows are in Atlas; the modelling that would expose them has not been done. See meta_sources.served_as — an empty value is exactly this state.
Citation
Utdanningsdirektoratet. (n.d.). GSI — Elever og skoler. Retrieved from https://www.udir.no/tall-og-forskning/innrapportering/gsi/. Available in Atlas at https://atlas.sovereignsky.no/datasets/udir-gsi.
@misc{atlas_udir_gsi,
author = {Utdanningsdirektoratet},
title = {GSI — Elever og skoler},
year = {n.d.},
url = {https://www.udir.no/tall-og-forskning/innrapportering/gsi/},
note = {Available in Atlas at https://atlas.sovereignsky.no/datasets/udir-gsi}
}
https://atlas.sovereignsky.no/datasets/udir-gsi