Hoe werkt P2000?
Iedere keer dat in Zwolle een sirene over de Diezerkade raast of een brandweerwagen langs de IJssel naar Kampen rijdt, is er kort daarvoor een P2000-bericht over de pieper van de gealarmeerde eenheid gegaan. Op deze pagina leggen we uit wat P2000 precies is, hoe ons systeem die berichten leesbaar maakt, en hoe je codes als A1, P 2 en GRIP-3 moet lezen.
Wat P2000 in het kort is
P2000 is het landelijke alarmeringsnetwerk waarop de Nederlandse meldkamers tekstberichten naar hulpverleners sturen. Brandweer, ambulancedienst en politie krijgen via dit systeem in enkele seconden door waar ze naartoe moeten, met welke prioriteit en wat voor soort inzet. Het netwerk is bewust simpel: een eenrichtingsradioprotocol (FLEX) waardoor het ook in kelderruimtes en op de A1 nog werkt waar mobiel netwerk soms wegvalt.
Waarom is er P2000 gekomen?
Tot eind jaren '90 had elke regio zijn eigen verouderde alarmsysteem. Bij de Bijlmerramp van 1992 (de cargoramp van El Al-vlucht 1862) bleek pijnlijk hoeveel problemen onverenigbare communicatiesystemen veroorzaakten. Acht jaar later was de Vuurwerkramp in Enschede de tweede wake-up call. P2000 werd in 2000 en 2001 landelijk uitgerold als standaardnetwerk: een protocol, dezelfde apparatuur, bruikbaar van een kleine ambulancerit in Hattem tot grootschalige rampenbestrijding bij een grote industriebrand of evacuatie langs de IJssel.
Wat gebeurt er na een 112-melding?
Als iemand 112 belt vanuit Zwolle of de buurgemeentes, beoordeelt de centralist in de Meldkamer Oost-Nederland in Apeldoorn welke hulp ter plaatse moet komen. Op basis van adres, type incident en beschikbaarheid worden één of meer eenheden geselecteerd. Vervolgens stuurt het systeem een kort tekstbericht uit over P2000, dat door de pager van de betreffende brandweerlieden, ambulancepersoneel of politie-eenheid wordt opgepikt. Die eenheid zet zich in beweging en meldt zich via C2000 (zie hieronder) bij de meldkamer.
P2000 versus C2000: wat is het verschil?
Twee bijna identieke namen, twee compleet verschillende netwerken. P2000 is uitsluitend voor alarmeringen: eenrichtingverkeer van meldkamer naar pager. Wat je op deze site ziet, komt van P2000. C2000 is het versleutelde portofoon-netwerk waarop hulpverleners ter plaatse met de meldkamer praten. Daar gaat de echte coördinatie overheen (statusupdates, opschalingen, terugmelden), maar dat verkeer is niet openbaar. Een melding hier op de site is dus altijd het begin; wat erna gebeurde verdwijnt achter het gordijn van C2000.
Hoe wij P2000-meldingen leesbaar maken
Voordat een alarmering uit het Zwolse P2000-verkeer eindigt als een nette Nederlandse zin op deze site, doorloopt hij een vaste reeks bewerkingen. Hieronder beschrijven we ze van begin tot eind: het opvangen van de uitzending, het herschrijven van de cryptische brontekst, het verrijken met locatiedata, het wegfilteren van wat niet op een publieke feed thuishoort, en uiteindelijk het archiveren. Geen ondoorzichtige doos, geen generatief taalmodel: alleen regels die we zelf geschreven hebben en die altijd herleidbaar zijn.
1. Opvangen van de uitzendingen
Het P2000-protocol verzendt zijn berichten in de open lucht zonder enige versleuteling; juridisch gezien is dat publieke data. Een eigen ontvanger pikt het FLEX-signaal non-stop op uit het landelijke netwerk en levert iedere minuut een verse portie aan. Berichten die voor de regio Zwolle en omstreken bestemd zijn worden er meteen uitgefilterd; de rest valt af. In de praktijk is een nieuwe alarmering binnen een halve tot een hele minuut zichtbaar op de feed, met automatische ververser actief. En om elk misverstand uit te sluiten: deze site is geen alarmcentrale. Bij nood bel je gewoon 112, niet ons.
2. Herschrijven naar leesbare zinnen
Een ruwe P2000-regel ziet er ongeveer zo uit:
A1 13117 RIT 78231 Diezerkade 1 Zwolle.
Volstrekt onleesbaar voor wie niet dagelijks met de
codes werkt; daarom haalt onze rewriter elk veld los en
bouwt hem opnieuw op tot een complete zin: "Een
ambulance is met spoed onderweg naar de Diezerkade in
Zwolle." De volledige verwerking is op regels
gebaseerd: ruwweg 150 incident-patronen, een
capcode-database van circa 10.000 entries en
regio-specifieke plaats-afkortingen.
Geen taalmodel, geen AI-gebaseerde
verzinsels en geen externe API-aanroepen. Voorspelbaar,
razendsnel (acht tot vijftien milliseconden per melding)
en altijd terug te brengen tot de regel die de bewuste
output veroorzaakt heeft.
Codes of capcodes die ons nog niet bekend zijn verdwijnen niet in een zwart gat: ze worden netjes gelogd, zodat we ze bij de eerstvolgende release alsnog kunnen verwerken. Welke codes en afkortingen overigens wél zichtbaar blijven in de uiteindelijke zinnen vind je in het overzicht verderop.
3. Verrijken met locatie, kaart en koppeling
Zodra een melding een leesbare zin is geworden, hangen we er nog enkele extra lagen aan context omheen:
- Geocoding: het adres gaat door OpenStreetMap om er lengte- en breedtegraad uit te halen, zodat de melding als pin op de kaart kan verschijnen.
- Wijk- en buurtaanduiding: voor stedelijke kernen plakken we waar mogelijk de wijk- of buurtnaam erbij, zodat duidelijk is in welk deel van bijvoorbeeld Zwolle of Kampen de uitruk plaatsvindt.
- Multi-dienst-koppeling: rukken brandweer, ambulance en politie binnen een korte tijdspanne uit naar één en hetzelfde adres? Dan voegen we die afzonderlijke alarmeringen samen tot één gecombineerd bericht, dat terug te vinden is in de 112-nieuws hub.
- Helikopter-koppeling: trauma- en politie-helikopters worden non-stop gevolgd via ADS-B-data van OpenSky Network. Vliegt er een binnen korte tijd en afstand van een alarmering, dan verbinden we vlucht en incident. De volledige live-trail van een vlucht is zichtbaar op de helikopters-pagina.
4. Wat we filteren
Willen weten waarom er een sirene over de Diezerkade scheurt is een legitieme reden om deze site te bezoeken. Identificeren wie er in die ambulance ligt: niet. Vandaar de volgende filterregels:
- Zelfdoding-meldingen: deze worden landelijk al uit het P2000-verkeer gehouden, in overleg met het ministerie van Binnenlandse Zaken. Onze ontvanger krijgt ze dus simpelweg niet binnen.
- Medische diagnoses: afkortingen als CVA, AMI, DIA of EPI worden uit de zin verwijderd of vervangen door een neutrale beschrijving ("vervoer naar het ziekenhuis"). Een diagnose hoort niet terecht te komen op een publiek leesbare pagina.
- Persoonsgegevens: namen, leeftijden, telefoonnummers en kentekens komen niet door; die staan trouwens nauwelijks in de oorspronkelijke uitzendingen.
- Adressen van gevoelige zorglocaties: van blijf-van-mijn-lijf-huizen, opvanglocaties en GGZ-instellingen tonen we uitsluitend de gemeentenaam, nooit de specifieke straat.
Een uitgebreidere toelichting op wat we wel en niet publiceren en hoe je een verwijderverzoek kunt indienen, staat op de privacy-pagina van P2000 Online.
Berichten zonder nieuwswaarde. P2000 draagt ook berichten die niets met een melding te maken hebben. We filteren bijvoorbeeld oefeningen, telefonisch-contact-verzoeken, herbezettingsberichten, brugbedieningen, nacontroles en ingetrokken alarmen weg. Voor wie meeleest met de regio voegen ze niets toe.
5. Hulpdienst-adressen worden geverifieerd
Op de hulpdiensten-pagina brengen we de praktische gegevens van brandweerkazernes, politiebureaus, ambulanceposten, ziekenhuizen, huisartsenposten en dienstapotheken in de regio samen, met adres, telefoonnummer en (indien van toepassing) openingstijden. Voordat een entry op de pagina mag verschijnen, controleren we de gegevens bij een primaire bron: doorgaans de eigen website van de organisatie zelf (brandweer.nl, politie.nl, de site van Isala of de Medrie-HAP). Geen enkel adres komt op deze site terecht zonder die cross-check.
6. Bewaring en archief
Iedere verwerkte melding blijft beschikbaar in een doorzoekbaar archief. Komt er achteraf een intrekking ("Alarm Ingetrokken") aan, dan voorzien we de oorspronkelijke melding van een visuele markering: de uitruk heeft per slot van rekening wél plaatsgevonden, dus we gooien hem niet weg, maar voor de lezer is in één oogopslag duidelijk dat er geen vervolg op kwam. De historie staat ter beschikking via /archief/ en gaat ongeveer drie maanden terug, met deep-linkbare URL's per dag en per Zwolse kern voor wie iets specifieks wil terugzoeken.
Nogmaals voor de zekerheid: deze site is geen onderdeel van een meldkamer, een hulpdienst of de Veiligheidsregio. We ontsluiten enkel wat via het openbare P2000-protocol al beschikbaar is, in een vorm die mensen kunnen lezen, waarbij onze automatische herschrijving incidenteel een klein detail anders kan verwoorden dan wat er ter plaatse is gebeurd. Bij officiële mededelingen zijn de Veiligheidsregio IJsselland en de hulpdiensten zelf altijd doorslaggevend. Meer achtergrond over wie de site draaiende houdt en hoe die onafhankelijk gefinancierd wordt, staat op de over-ons-pagina.
Codes en afkortingen
In meldingen kom je codes tegen als A1, P 2, OMS of GRIP-3. Hieronder een overzicht van alleen de codes die in onze herschreven berichten nog zichtbaar blijven. Afkortingen die we al hebben vertaald (zoals "AANR" voor aanrijding) laten we weg.
Ambulance
- A0
- Niet-spoedeisend vervoer (besteld). Geen sirene.
- A1
- Hoogste spoed. Mogelijk levensbedreigend. Maximaal 15 minuten responstijd, met sirene en zwaailicht.
- A2
- Wel spoed maar niet levensbedreigend. Doorgaans binnen 30 minuten ter plaatse, soms zonder sirene.
- B
- Besteld vervoer. Geplande rit, geen spoed.
Brandweer
- Prio 1
- Spoedinzet. Tankautospuit rukt direct uit met sirene.
- Prio 2
- Inzet zonder sirene. Vaak loze melding, dier in nood, of klein nieuws-bericht.
- Prio 3
- Lage prioriteit. Rij-tijd minder kritiek.
- Prio 4
- Geen rij-spoed. Bv. nazorg of materiaal halen.
- Mogelijke brand
- Vermoeden van brand zonder bevestiging (bijvoorbeeld iemand ruikt brandlucht, ziet rook of meldt iets verdachts. De officiële P2000-term is "Brandgerucht"; wij gebruiken "mogelijke brand" omdat dat duidelijker is. Vaak loos alarm, maar de brandweer rijdt meestal wel uit om te checken.
- OMS
- Openbaar Meldsysteem. Een brandmeldinstallatie in een gebouw heeft zelf alarm geslagen. Vaak loos (rook van koken o.i.d.).
- GRIP-1
- Lokaal nieuws-bericht dat coördinatie tussen hulpdiensten vraagt.
- GRIP-2
- Effecten reiken buiten de directe omgeving.
- GRIP-3
- Bedreiging voor het welzijn van de bevolking, met gemeente betrokken.
- GRIP-4
- Schaal overstijgt één gemeente.
- GRIP-5
- Bovenregionaal, met meerdere veiligheidsregio's.
Politie
- Prio 1
- Spoed. Levensbedreigend of heterdaad. Sirenes aan.
- Prio 2
- Spoed maar niet acuut. Zo snel mogelijk ter plaatse.
- Prio 3
- Geen rij-spoed. Bijvoorbeeld melding noteren of opvolgen.
- Prio 4
- Administratief. Geen directe inzet.
Let op: prio-codes verschillen per regio
De definities hierboven zijn bedoeld als praktische gids, niet als juridische standaard. In de regio Noord- en Oost-Gelderland kan een Prio 2 net iets anders worden gehanteerd dan in IJsselland of Twente. De globale strekking (sirene aan/uit, levensbedreigend ja/nee) klopt landelijk; de precieze grensgevallen verschillen per veiligheidsregio.