NPLW · RVO · Warmtetransitie
Het dataportaal, vooringevuld
Gemeentelijke warmteprogramma's en uitvoeringsplannen worden automatisch gelezen en omgezet naar vooringevulde records voor het RVO dataportaal warmtetransitie. Het model is de vooringevulde belastingaangifte: de gemeente hoeft alleen te bevestigen.
gemeenten verwerkt
gebiedsrecords
records met officiële CBS-gebiedscode
van de bewijscitaten letterlijk verifieerbaar
Hoe het werkt
Document in de projectopslag
Het brondocument staat als PDF in de projectopslag.
Eerste leesronde
Het Europese taalmodel Mistral Medium 3 inventariseert alle transitiegebieden in het document.
Tweede leesronde per gebied
Alle circa 55 attributen van het NPLW-datamodel V1.3 worden ingevuld; ruim 40 daarvan als bewijscellen, de rest (gemeente-, document- en CBS-gegevens) deterministisch. Elke bewijscel krijgt een status en een letterlijk citaat met paginanummer.
CBS-koppeling
Gebiedsnamen worden gekoppeld aan officiële CBS wijk- en buurtcodes (exacte match, fuzzy match of maatwerkspoor), zodat het portaal de contouren zelf kan tekenen.
Hervatbare jobs
Het platform maakt het werk zelf af: lange extracties lopen als hervatbare jobs die de scheduler elke 15 minuten voortzet.
Elke waarde is controleerbaar
Elke ingevulde waarde is een bewijscel met vijf onderdelen:
- waardede ingevulde waarde voor het attribuut
- statusbeantwoord, deels, expliciet geen, onduidelijk of niet vermeld
- citaateen of meer letterlijke citaten uit het plan, elk met document en paginanummer
- vertrouwenhoe zeker het model is van de waarde: hoog, middel of laag
- notitiesopmerkingen van het model, bijvoorbeeld over bekende V1.3-onduidelijkheden
Gemeenten controleren tegen de geciteerde pagina in plaats van het onderzoek opnieuw te doen.
Europees taalmodel, verplicht
Rijksoverheidsbeleid staat voor deze toepassing alleen een Europees taalmodel toe. Het standaardmodel is Mistral Medium 3, gehost in de EU. Gemini-varianten bestaan alleen voor interne vergelijkingstests.
Voor NPLW: stap voor stap
Zo haalt u zelf de vooringevulde gegevens op.
- 1Log in op enqualia.io.
- 2Open het project Warmteprogramma Analyse NL.
- 3Kies Playground en daarna de API Dataportaal Voorinvulling / Prefill (NPLW).
- 4Kies een gemeente uit de dropdown.
- 5Kies een action: records toont de gegevens, export bouwt de Excel (de download-link is 72 uur geldig), status toont welke gemeenten beschikbaar zijn (met recordtellingen en lopende jobs). De dekking per attribuut staat in het Excel-tabblad Dekking.
Een nieuw document laten verwerken
- 1Upload de PDF via de Storage-pagina naar de map dataportaal/sources/.
- 2Start action prepare met de gemeentenaam en het bestandspad.
- 3U hoeft daarna niets te doen: de verwerking loopt vanzelf door en na enkele uren staat de gemeente in de lijst.
Voor RVO: integratie
Alle acties lopen via één endpoint. Stuur een POST naar /api/run/dataportaal-prefill-v1 met de projectsleutel in de X-API-KEY header.
POST https://enqualia.io/api/run/dataportaal-prefill-v1
X-API-KEY: <api_key>
Content-Type: application/jsonOverzicht van beschikbare gemeenten, recordtellingen en open jobs.
Verzoek
{ "action": "status" }Antwoord (ingekort)
{
"action": "status",
"status": {
"datamodel_versie": "V1.3 (17-04-2026, op één na laatste versie / second-to-last version)",
"models": {
"mistral-medium-3": { "gemeenten": 40, "records": 704, "cbs_gecodeerd": 487 }
},
"open_jobs": []
},
"model": "mistral-medium-3"
}De portal-klare records van één gemeente als JSON, met optionele bewijscitaten (include_evidence).
Verzoek
{ "action": "records", "gemeente": "Rozendaal", "include_evidence": true }Antwoord (ingekort)
{
"action": "records",
"result": {
"gemeente": {
"1.1 provincie": "Gelderland",
"1.3 gemeente": "Rozendaal",
"1.4 gemeentecode": "GM0277"
},
"gebieden": [
{
"naam": "Dorpskern",
"soort": "buurt",
"gebiedscode": "BU02770000",
"geometrie_spoor": "buurtgrens",
"attributen": {
"actiedoelen": {
"value": "isolatie en voorbereiding op aardgasvrij",
"status": "beantwoord",
"evidence": [
{
"doc": "warmteprogramma-rozendaal.pdf",
"page": 12,
"quote": "letterlijk citaat uit het plan"
}
],
"confidence": "hoog"
}
}
}
]
},
"model": "mistral-medium-3"
}Bouwt de Excel-deliverable in de projectopslag en geeft een download-link terug die 72 uur geldig is.
Verzoek
{ "action": "export", "gemeente": "Rozendaal" }Antwoord (ingekort)
{
"action": "export",
"export": {
"storage_path": ".../proj_baebf3bbb178/dataportaal/exports/Dataportaal_prefill_mistral-medium-3_rozendaal_20260813-141500.xlsx",
"download_url": "https://storage.googleapis.com/...",
"url_geldig_uren": 72,
"gemeenten": 1,
"records": 4
},
"model": "mistral-medium-3"
}Verwerkt een nieuw brondocument uit de projectopslag als hervatbare job. Elke aanroep werkt een stuk af en geeft de voortgang terug.
Verzoek
{
"action": "prepare",
"gemeente": "Nieuwegein",
"source_path": "dataportaal/sources/warmteprogramma-nieuwegein.pdf"
}Antwoord (ingekort)
{
"action": "prepare",
"job": {
"gemeente": "Nieuwegein",
"phase": "gebieden",
"cursor": 3,
"n_gebieden": 9,
"done": false
},
"done": false,
"hint": "nog niet klaar: roep prepare nogmaals aan, of laat de platform-scheduler (elke 15 min) de job afmaken / not finished yet: call prepare again, or let the platform scheduler (every 15 min) finish the job"
}Toont de beschikbare brondocumenten in de projectopslag, direct bruikbaar als source_path bij prepare.
Verzoek
{ "action": "sources" }Antwoord (ingekort)
{
"action": "sources",
"sources": [
{
"path": "dataportaal/sources/warmteprogramma-nieuwegein.pdf",
"size_kb": 2048.5,
"updated": "2026-08-13T14:02:11+00:00"
}
],
"note": "Deze paden zijn direct bruikbaar als source_path bij action=prepare. / These paths are valid source_path values for action=prepare.",
"model": "mistral-medium-3"
}Goed om te weten
- Fouten komen terug als HTTP 200 met een error-sleutel in de body. Controleer dus de body, niet de statuscode.
- De recordvorm volgt datamodel V1.3: categorie 1 en 2 (gemeente en document) per gemeente, categorie 3 tot en met 10 per transitiegebied.
- Maatwerkspoor: een lege gebiedscode plus geometrie_spoor 'maatwerk' betekent dat de gemeente de contour zelf intekent.
- Bekende V1.3-onduidelijkheden zijn als notities bewaard: attribuut 3.9 (eindjaar versus startjaar) en attribuut 1.6 (de RES-regiocode staat niet in de CBS-tabellen).
Eerlijk over de grenzen
- De extractie werkt op de tekstlaag van documenten. Gescande PDF's zonder tekstlaag worden geweigerd in plaats van gegokt.
- Detailtellingen, zoals het aantal woningen per gebied, staan vaak pas in uitvoeringsplannen en niet in warmteprogramma's.
Proef in opdracht van NPLW. Datamodel V1.3 van 17-04-2026, de op een na laatste versie.