Hoe werkt P2000?
Iedere keer dat in het Westland een sirene over de Wibautstraat raast of een brandweerwagen door de Jordaan 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 is, in het kort
P2000 is het landelijke alarmeringsnetwerk waarop de Nederlandse meldkamers tekst-berichten naar hulpverleners sturen. Brandweer, ambulancedienst, politie en KNRM krijgen via dit systeem in enkele seconden door waar ze naartoe moeten, met welke prioriteit en wat het soort inzet is. Het netwerk is bewust simpel: een eenrichtings-radioprotocol (FLEX) waardoor het ook tussen de kassen van de Glazen Stad of in de duinen bij 's-Gravenzande 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 op de Groeneveen-flat, 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: één protocol, dezelfde apparatuur, bruikbaar van een kleine ambulancerit in Diemen tot grootschalige rampenbestrijding bij Schiphol.
Wat gebeurt er na een 112-melding?
Als iemand 112 belt, beoordeelt de centralist op de meldkamer Haaglanden (voor het hele Westland en de overige Haaglanden-gemeentes Schiphol/Hoofddorp: meldkamer Noord-Holland) welke hulp ter plaatse moet komen. Op basis van adres, type nieuws-bericht en beschikbaarheid wordt één of meer eenheden geselecteerd. Vervolgens stuurt het systeem een kort tekst-bericht uit over P2000, dat door de pager van de betreffende brandweerlieden, ambulancepersoneel of politie eenheid wordt opgepikt. Die 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 en 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 op deze site eindigt als een normale Nederlandse zin, doorloopt hij een vaste reeks verwerkingsstappen. Hieronder leggen we ze één voor één uit: het opvangen van de uitzending, het herschrijven van de cryptische brontekst, het verrijken met locatiedata, het wegfilteren van wat niet thuishoort op een publiek weergegeven feed en het uiteindelijke archiveren. Geen ondoorzichtige magie en geen generatief taalmodel, alleen regels die we zelf hebben geschreven en die we kunnen terugzoeken.
1. Opvangen van de uitzendingen
Het P2000-protocol verstuurt zijn berichten in de open lucht zonder versleuteling; daarmee zijn ze juridisch openbare gegevens. Een eigen ontvanger pakt het FLEX-signaal continu op uit het landelijke netwerk en levert iedere minuut een nieuwe portie uitzendingen aan. Berichten die voor het Westland bestemd zijn, worden er direct uit gefilterd; alle andere regio's vallen weg. In de praktijk is een nieuwe alarmering binnen een halve tot een hele minuut zichtbaar op de site, met automatische ververser actief op de feed. En voor de duidelijkheid: deze site is geen alarmcentrale. Zit je in nood, dan bel je 112, niet ons.
2. Herschrijven naar leesbare zinnen
Een ruwe P2000-regel ziet eruit als
A1 13117 RIT 78231 Naaldwijkseweg 1 Naaldwijk.
Onleesbaar voor wie niet dagelijks met de codes werkt; daarom
haalt onze rewriter elk veld los en bouwt hem opnieuw op tot
een volledige zin: "Een ambulance is met spoed onderweg
naar de Naaldwijkseweg in Naaldwijk." De verwerking is
volledig op regels gebaseerd: ongeveer 150
incident-patronen, een capcode-database met circa 10.000
entries en regio-specifieke plaats-afkortingen.
Geen taalmodel, geen AI-gebaseerde
verzinsels en geen externe API-calls. Voorspelbaar,
rap (acht tot vijftien milliseconden per melding) en altijd
herleidbaar tot precies de regel die de bewuste output heeft
opgeleverd.
Codes en capcodes die we nog niet kennen verdwijnen niet in een zwart gat: ze worden gelogd zodat we ze bij een volgende release alsnog kunnen toevoegen. Welke codes en afkortingen wél zichtbaar blijven in de uiteindelijke zinnen vind je in het overzicht verderop.
3. Verrijken met locatie, kaart en koppeling
Nadat een melding een leesbare zin is geworden, krijgt hij nog een aantal extra lagen aan context mee:
- Geocoding: het adres wordt via OpenStreetMap omgezet naar lengte- en breedtegraad, zodat de melding als pin op de kaart kan verschijnen.
- Wijk- en buurtaanduiding: voor de grotere Westlandse kernen plakken we waar mogelijk de wijk- of buurtnaam erbij, zodat duidelijk is in welk deel van Naaldwijk of 's-Gravenzande het speelt.
- Multi-dienst-koppeling: rukken brandweer, ambulance en politie binnen een korte tijdspanne uit naar hetzelfde adres? Dan voegen we die losse alarmeringen samen tot één gebundeld bericht, dat terugkomt in de 112-nieuws hub.
- Helikopter-koppeling: trauma- en politie-helikopters worden continu via ADS-B-data van OpenSky Network gevolgd. Vliegt er eentje binnen korte tijd en afstand van een melding, dan verbinden we die vlucht aan het bewuste 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 N211 raast is een prima reden om hier te kijken. Identificeren wie er in een ambulance ligt: niet. Daarom hanteren we de volgende filters:
- Zelfdoding-meldingen: deze worden in heel Nederland al niet via P2000 verspreid, in overleg met het ministerie van Binnenlandse Zaken. Onze ontvanger krijgt ze dus simpelweg niet binnen.
- Medische diagnoses: codes als CVA, AMI, DIA of EPI worden uit de zin gestript of vervangen door een neutrale formulering ("vervoer naar het ziekenhuis"). Een diagnose hoort niet op een publieke pagina.
- Persoonsgegevens: namen, leeftijden, telefoonnummers en kentekens komen niet door; ze verschijnen overigens ook 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 uitgebreide toelichting op wat we wel en niet publiceren en hoe je een verwijderverzoek kunt indienen, vind je op de privacy-pagina van P2000 Online.
Operationele en oefenberichten. Naast echte meldingen rijdt er veel operationeel verkeer over P2000. Oefeningen, meldkamer-contactverzoeken, kazerne-herbezetting, brugbedieningen, nacontroles en ingetrokken alarmen houden we buiten de meldingenlijst. Ze zouden de lijst vervuilen zonder iets toe te voegen.
5. Hulpdienst-adressen worden geverifieerd
Op de hulpdiensten-pagina zetten we de praktische gegevens van brandweerkazernes, politiebureaus, ambulanceposten, ziekenhuizen, huisartsenposten en dienstapotheken in de regio op een rij, voorzien van adres, telefoonnummer en (waar relevant) openingstijden. Iedere entry is voor publicatie nagetrokken bij een primaire bron, doorgaans de eigen website van de organisatie zelf (brandweer.nl, politie.nl, het portaal van het betreffende ziekenhuis). Niets komt op de pagina te staan zonder zo'n cross-check.
6. Bewaring en archief
Iedere verwerkte melding blijft beschikbaar in een doorzoekbaar archief. Komt er later een intrekking ("Alarm Ingetrokken") achteraan, dan markeren we de oorspronkelijke melding visueel: de uitruk heeft immers wél plaatsgevonden, dus het bericht zelf gooien we niet weg, maar het is voor de lezer in één oogopslag duidelijk dat het alarm geen vervolg kreeg. De historie is te benaderen via /archief/ en gaat ongeveer drie maanden terug, met deep-linkbare URL's per dag en per Westlandse kern voor wie specifieke data wil terugvinden.
Nog één keer expliciet: deze site is geen onderdeel van een meldkamer, een hulpdienst of de Veiligheidsregio. We ontsluiten alleen wat al via het openbare P2000-protocol beschikbaar is, op een vorm die voor mensen leesbaar is, waarbij onze geautomatiseerde herschrijving incidenteel een klein detail anders kan formuleren dan wat ter plaatse is gebeurd. Voor officiële mededelingen zijn de Veiligheidsregio Haaglanden en de hulpdiensten zelf altijd leidend. Meer achtergrond over wie de site draaiende houdt en hoe die onafhankelijk gefinancierd wordt staat op de over-ons-pagina.
Codes & afkortingen
In meldingen kom je codes tegen als A1, P 2, OMS of GRIP-3. Hieronder een overzicht, 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 Haaglanden kan een Prio 2 net iets anders worden gehanteerd dan in Kennemerland of Zaanstreek-Waterland. De globale strekking (sirene aan/uit, levensbedreigend ja/nee) klopt landelijk; de precieze grensgevallen verschillen per veiligheidsregio.