Staat van de Onderwijsinstelling (staat1cho)

Met staat1cho maak je van de 1cijferHO-levering van DUO een analysebestand over studiesucces aan je eigen instelling: één regel per student met instroom, rendement (diploma binnen 3, 5 en 8 jaar), uitval (binnen 1 en 3 jaar) en studiewissel, volgens vaste, gedocumenteerde definities. Dat bestand is de kern. Je opent het in Excel, Power BI, SPSS of Python, koppelt het aan je eigen gegevens (zoals een indeling in domeinen of academies) of neemt de berekening op in je eigen R-pipeline, zie De data zelf gebruiken.

Het dashboard laat dezelfde cijfers direct in je browser zien en maakt een benchmarkrapport in Excel dat je met andere instellingen kunt delen.

staat1cho is oorspronkelijk ontwikkeld voor Avans Hogeschool door Veerle van Son en Damiëtte Bakx-van den Brink en wordt doorontwikkeld door CEDA/Npuls.

Demo: een 1CHO- en VAKHAVW-bestand uploaden, verwerken en langs de tabbladen Overzicht, Instroom, Rendement, Uitval, Studiewissel, Vooropleiding en Data gaan, filteren op sector en het benchmarkrapport downloaden

De route in het kort

Stap Wat je doet Hoe vaak
1 De DUO-bestanden verzamelen Elke levering
2 De bestanden omzetten met 1cijferho Elke levering
3 R, RStudio en staat1cho installeren Eenmalig
4 Het dashboard starten en je bestand laden Elke keer
5 De cijfers lezen, de data downloaden en het rapport delen Elke levering

Reken de eerste keer op een ochtend, vooral voor het installeren. Daarna kost een nieuwe levering een half uur tot een uur.

Privacy. De 1cijferHO-bestanden bevatten persoonsgegevens. Werk op een beveiligde werkplek van je instelling en stem met je privacy officer of FG af dat je deze analyse mag doen. Laat hen ook eenmalig naar het benchmarkrapport kijken voordat je het deelt.


Stap 1: Verzamel de DUO-bestanden

Vraag de meest recente 1cijferHO-levering op bij de afdeling die hem ontvangt (meestal BI, informatiemanagement of studentenadministratie). Een levering bevat de hele geschiedenis van je studenten, dus alleen de nieuwste is nodig. Pak eventuele .zip-bestanden uit.

Bestand Herken je aan Nodig?
Inschrijvingsbestand Begint met EV, eindigt op .asc Ja
Bestandsbeschrijving Bestandsbeschrijving_1cyferho_...txt Ja
Decodeertabellen Dec_...asc en Bestandsbeschrijving_Dec-bestanden.txt Ja
Havo/vwo-cijfers Begint met VAKHAVW, plus Bestandsbeschrijving_Vakkenbestanden.txt Optioneel, zie VAKHAVW

Stap 2: Zet de bestanden om met 1cijferho

De DUO-bestanden hebben vaste kolombreedtes en codes. De gratis tool 1cijferho (ook van CEDA) zet ze om naar CSV met leesbare omschrijvingen. De opdrachten hieronder zijn voor Windows (PowerShell); op een Mac werk je in Terminal en gebruik je / in plaats van \ in paden.

Eenmalig installeren

  1. Installeer uv, het hulpprogramma dat Python voor 1cijferho regelt. Open PowerShell en plak:

    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    

    Op een Mac: curl -LsSf https://astral.sh/uv/install.sh | sh. Sluit daarna het venster en open het opnieuw.

  2. Download 1cijferho als ZIP en pak het uit, bijvoorbeeld naar C:\Tools\1cijferho.

Elke levering

  1. Kopieer de bestanden uit stap 1 direct (niet in een submap) naar C:\Tools\1cijferho\data\01-input.

  2. Open de map C:\Tools\1cijferho in de Verkenner, typ powershell in de adresbalk en druk op Enter. Start de tool (de eerste keer duurt uv sync enkele minuten):

    uv sync --extra frontend
    uv run streamlit run src/main.py
    
  3. De tool opent in je browser. Klik op Eigen data uploaden en doorloop de pagina's in het menu: Bestanden controleren, Stap 1 · Metadata extraheren, Stap 2 · Metadata valideren en Stap 3 · Turbo Conversie. Kies bij Turbo Conversie deze instellingen en klik op Start Turbo Convert:

Instelling Kies Waarom
Instelmodus Eigen instellingen De voorinstellingen (NFWA, Evaluatietool) zetten te weinig kolommen om.
EV-bestanden Aan Het hoofdbestand.
VAKHAVW-bestanden Aan als je een VAKHAVW-bestand hebt
Gedecodeerde variant Aan Nodig voor de verrijkte variant.
Verrijkte variant Aan staat1cho leest de verrijkte variant.
Kolomselectie Alles aan laten staat1cho gebruikt onder meer opleidingsnaam en vooropleiding.
snake_case Aan staat1cho verwacht kolomnamen als persoonsgebonden_nummer.
Studentnummer koppeling Leeg laten Niet nodig.

Parquet maakt niet uit; stap 4 (Output valideren) is een optionele extra controle. Laat het PowerShell-venster open zolang je met de tool werkt.

Het resultaat staat in data\02-output: het bestand dat begint met EV en eindigt op _enriched.csv (bijvoorbeeld EV21PL24_enriched.csv). Heb je VAKHAVW omgezet, dan staat er ook een VAKHAVW..._decoded.csv.


Stap 3: Installeer R, RStudio en staat1cho (eenmalig)

  1. Installeer R en RStudio Desktop. Mag je zelf geen programma's installeren, vraag dan je IT-afdeling om R, RStudio en uv.

  2. Open RStudio en plak in de Console (linksonder):

    install.packages("pak")
    pak::pak("cedanl/staat-van-onderwijsinstelling")
    install.packages(c("bslib", "DT", "ggplot2", "plotly", "scales", "tidyr", "writexl"))
    

Er verschijnt veel tekst, soms in rood. Het is gelukt als de Console weer > toont zonder Error.

Let op: installeer staat1cho niet met install.packages("staat1cho"). Die CRAN-versie (0.1.0) rekent voor recente cohorten een onterecht rendement van 0%. Gebruik de opdracht hierboven tot versie 0.2.0 op CRAN staat.


Stap 4: Start het dashboard en laad je bestand

library(staat1cho)
start_dashboard()

Het dashboard opent in je browser.

  1. Kies bij 1CHO CSV-bestand het _enriched.csv-bestand uit stap 2.
  2. Kies het Analyseniveau:
    • Studentniveau: elke student telt één keer, bij de opleiding waarin die begon. Voor cijfers over de instelling als geheel.
    • Inschrijvingsniveau: elke opleiding is een eigen cohort. Om opleidingen met elkaar te vergelijken.
  3. Optioneel: kies bij VAKHAVW-bestand het VAKHAVW..._decoded.csv-bestand. Laat VLPBEK-bestand leeg, zie VLPBEK.
  4. Klik op Data verwerken.

Controleer daarna of de peildatum bovenin past bij je levering, en of het aantal studenten in de linkerkolom ongeveer klopt met wat je verwacht.

Werkgeheugen. Het dashboard accepteert bestanden tot 10 GB, maar je hebt vrij werkgeheugen nodig van ongeveer drie keer de bestandsgrootte (een EV-bestand van 2 GB vraagt zo'n 6 GB). Sluit andere zware programma's of gebruik een computer of virtuele werkplek met meer geheugen.


Stap 5: De cijfers lezen en delen

Houd je muis boven het ?-icoon bij een getal voor de precieze definitie. De belangrijkste keuzes:

Onderaan de linkerkolom staan twee downloads:

Knop Wat je krijgt Delen?
Download benchmarkrapport Excel met percentages per sector, opleidingsvorm, niveau en instroomjaar, met toelichting en peildatum. Geen persoonsnummers. Groepen van minder dan 30 studenten blijven leeg, net als percentages over minder dan 5 studenten of waarbij op minder dan 5 na iedereen het betreft. Ja, met andere instellingen.
Download als CSV Het volledige analysebestand, één regel per student, met persoonsnummers. Opent direct in Excel, zie De data zelf gebruiken. Nee, alleen binnen de instelling.

De grenzen van 30 studenten per groep en 5 per percentage zijn een eigen keuze van het project, nog niet getoetst door een privacy officer of FG. Leg het benchmarkrapport daarom voor aan de privacy officer of FG van je instelling voordat je het deelt. Het tabblad Metadata in het rapport legt de onderdrukkingsregels kort uit.


De data zelf gebruiken

Het analysebestand is wat staat1cho eigenlijk maakt; het dashboard is één manier om ernaar te kijken. Wil je de cijfers koppelen aan eigen gegevens, zoals een indeling van opleidingen in domeinen of academies, of verder werken in Excel, Power BI, SPSS of Python, gebruik dan het analysebestand: één regel per student met alle indicatoren.

De belangrijkste kolommen:

Kolom Betekenis
inschrijvingsjaar Instroomjaar (cohort)
opleidingscode, opleidingsnaam, sector, opleidingsvorm, opleidingsniveau Opleiding van instroom; sector is het CROHO-onderdeel
vooropleiding, eerstejaars_ho Vooropleiding en of de student nieuw is in het HO
status Diploma behaald, zittend of uitgevallen op de peildatum
rendement_3jr, rendement_5jr, rendement_8jr Diploma binnen x jaar, of Nog niet waarneembaar
uitval_1jr, uitval_3jr Uitval binnen 1 of 3 jaar
studiewissel_1jr, studiewissel_3jr Wissel van opleiding (alleen studentniveau)

Alle kolommen staan in ?maak_analysebestand, de definities in DEFINITIES. Het analysebestand bevat persoonsnummers: alleen voor gebruik binnen de instelling.


Optionele bestanden

VAKHAVW: havo- en vwo-cijfers

VAKHAVW voegt het gemiddelde eindcijfer, het wiskundecijfer en het aantal vakken toe, in een extra tabblad Vooropleiding. Zet het samen met het EV-bestand om in dezelfde 1cijferho-run. Na het verwerken meldt het dashboard hoeveel VAKHAVW-studenten het terugvond. Dat is nooit 100%: VAKHAVW bevat ook studenten van vóór je eerste cohort, en mbo-instromers en buitenlandse studenten hebben geen havo/vwo-cijfers.

VLPBEK: bekostiging

Nog niet gebruiken. Het VLPBEK-bestand gebruikt het BSN, het EV-bestand een eigen persoonsnummer van DUO. Daardoor vindt de koppeling (vrijwel) niets terug. Dit wordt nog aangepast; de rest van staat1cho werkt zonder.


Als het niet lukt

Wat je ziet Wat je kunt doen
PowerShell: uv wordt niet herkend Sluit PowerShell en open het opnieuw, of herstart de computer.
1cijferho: Geen bestanden gevonden Zet de bestanden direct in data\01-input, niet in een submap, en klik opnieuw op Bestanden controleren.
Dashboard: Ontbrekende kolom(men) Kies het _enriched.csv-bestand, en zet opnieuw om met de instellingen uit stap 2 (eigen instellingen, verrijkte variant en snake_case aan).
Verwerken stopt of R loopt vast Te weinig werkgeheugen, zie Werkgeheugen bij stap 4.
VAKHAVW: bijna niemand teruggevonden Gebruik EV en VAKHAVW uit dezelfde levering en dezelfde 1cijferho-run.
RStudio: there is no package called 'pak' Voer eerst install.packages("pak") uit.
Rendement is 0% voor recente cohorten Je hebt de CRAN-versie 0.1.0. Installeer opnieuw zoals in stap 3.

Kom je er niet uit, meld het via GitHub Issues. Stuur nooit echte studentgegevens mee.

Oefenen zonder echte data

In 1cijferho kun je op de startpagina kiezen voor Probeer met demo. Of maak in RStudio een verzonnen bestand dat je in het dashboard uploadt:

library(staat1cho)
readr::write_delim(maak_synthetische_1cho(), "oefenbestand_1cho.csv", delim = ";", na = "")
getwd()  # de map waarin het bestand staat

Voor R-gebruikers

Een vast script dat elk jaar het analysebestand en het benchmarkrapport maakt (pipeline.R), en de losse functies om tussenstappen in te zien: zie vignette("staat1cho").