{
  "bedrijfsnaam": "",
  "locatie": "",
  "scan_result": {
    "_engine_v3": {
      "M103_Bluswater": false,
      "M96_VBB": false,
      "blocked_measures": [
        {
          "code": "M103",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M100",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M101",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M97",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M102",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M99",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M96",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M98",
          "reason": "Geblokkeerd: niveau C ≠ A"
        }
      ],
      "version": "3.0-generic"
    },
    "aggregatie": {
      "catchall": false,
      "geaggregeerd_niveau": "C",
      "per_klasse": {
        "3": {
          "aantal": 1,
          "totaal_kg": 190
        },
        "8": {
          "aantal": 1,
          "totaal_kg": 25
        }
      },
      "totaal_kg": 215
    },
    "bal": "Geen vergunningplicht (<1.000 kg)",
    "bal_status": "ok",
    "combinatie": {
      "aggregatie": {
        "advies": [],
        "opschuivingen": [],
        "per_klasse": {
          "3": {
            "aantal": 1,
            "niveau": "C",
            "stoffen": [
              "Benzene"
            ],
            "totaal": 190,
            "zwaarste_vg": "II"
          },
          "8": {
            "aantal": 1,
            "niveau": "Buiten scope",
            "stoffen": [
              "Zwavelzuur"
            ],
            "totaal": 25,
            "zwaarste_vg": "II"
          }
        }
      },
      "scheiding": {
        "conflicten": [
          {
            "groep1": "SG1",
            "groep2": "SG5",
            "reden": "Brandbare stoffen + Corrosieve stoffen vormen een onverenigbare combinatie",
            "stof1": "Benzene",
            "stof2": "Zwavelzuur"
          }
        ],
        "groepen": {
          "SG1": {
            "eisen": {
              "afstand": "Minimaal 1,2 m vrij looppad tussen opslageenheden",
              "brandwerendheid": "30 min brandwerende scheiding bij niveau C of hoger",
              "containment": "Vloeistofdichte vloer met lekgeul naar opvangbak",
              "stelling": "Niet boven elkaar in stellingen met andere SG-groepen plaatsen",
              "ventilatie": "Natuurlijke ventilatie; bij niveau B/A mechanische afzuiging"
            },
            "id": "SG1",
            "naam": "Brandbare stoffen",
            "omschrijving": "ADR klasse 3 (brandbare vloeistoffen), klasse 4.1 (brandbare vaste stoffen)",
            "pgs15_ref": "PGS 15:2025 §4.3, Bijlage E",
            "stoffen": [
              "Benzene"
            ]
          },
          "SG5": {
            "eisen": {
              "afstand": "Minimaal 1,2 m tot ontvlambare stoffen (SG1) en giftige stoffen (SG4)",
              "brandwerendheid": "Geen specifieke eis; wel corrosievaste materialen vereist",
              "containment": "Zuurbestendige opvangbak (PE, PP of RVS 316L)",
              "stelling": "Corrosievaste stellingen; niet onder stoffen die lekkage kunnen veroorzaken",
              "ventilatie": "Adequate ventilatie; zuurafzuiging bij vluchtige zuren"
            },
            "id": "SG5",
            "naam": "Corrosieve stoffen",
            "omschrijving": "ADR klasse 8",
            "pgs15_ref": "PGS 15:2025 §4.3, Bijlage E",
            "stoffen": [
              "Zwavelzuur"
            ]
          }
        },
        "samenvatting": "⚠️ Onverenigbare combinaties gevonden (1 paar(en)), maar totale hoeveelheid is beperkt (215 kg < 1.000 kg). Opslag in afzonderlijke, vloeistofdichte lekbakken is voldoende. De 60 min Wbdbo scheidingseis is niet vereist bij deze hoeveelheid.",
        "sg_eisen_overzicht": [],
        "toelichting": [
          "Volgens PGS 15:2025 Tabel 8/9 moeten onverenigbare stoffen gescheiden worden. Bij kleine hoeveelheden (< 1.000 kg) is opslag in afzonderlijke, vloeistofdichte lekbakken voldoende. De 60 min Wbdbo eis geldt alleen bij > 1.000 kg of Niveau A."
        ]
      },
      "synergie": {
        "advies": [
          "Geen specifieke synergie-effecten gevonden tussen de opgegeven stoffen."
        ],
        "extra_eisen": [
          "Brandbare + corrosieve stoffen: specifieke blusmiddelen vereist (geen water bij bepaalde reacties)"
        ],
        "vondsten": []
      }
    },
    "flat_measures_samenstel": [
      {
        "active": true,
        "category": "Basis",
        "code": "M2",
        "titel": "Opslaan in bestemde opslagvoorziening"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M3",
        "titel": "Vereist veiligheidsniveau bepaald"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M14",
        "titel": "Werkvoorraad beperkt"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M15",
        "titel": "Maximale omvang opslagvoorziening"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M17",
        "titel": "Opslag op verdieping"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M21",
        "titel": "Wbdbo ≥ 60 min"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M29",
        "titel": "Geen verspreiding via riolering"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M30",
        "titel": "Opvangvoorziening (110%/10%)"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M35",
        "titel": "Onverenigbare combinaties gescheiden"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M36",
        "titel": "Gescheiden opslag in stellingen"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M45",
        "titel": "Controle verpakte stoffen"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M46",
        "titel": "Gemotoriseerde transportmiddelen beperkt"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M48",
        "titel": "Geschikte verpakking"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M52",
        "titel": "Deugdelijke constructie pallets"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M58",
        "titel": "Toegelaten handelingen"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M71",
        "titel": "Losse brandbare pallets verboden"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M75",
        "titel": "Constructie van stellingen"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M82",
        "titel": "Jaarlijkse stellinginspectie"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M85",
        "titel": "Deskundig personeel (bij >2.500 kg)"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M86",
        "titel": "Instructie medewerkers"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M88",
        "titel": "Niet toegankelijk onbevoegden"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M95",
        "titel": "Draagbaar blustoestel per 200 m²"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M109",
        "titel": "Bereikbaarheid"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M111",
        "titel": "Vrijkomen van dampen"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M113",
        "titel": "Intern noodplan"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M114",
        "titel": "Noodplan evaluatie"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M115",
        "titel": "Nooddouche en oogspoeling"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M116",
        "titel": "Informatie hulpdiensten"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M119",
        "titel": "Opruimen gemorste stoffen"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M120",
        "titel": "Lekkage-instructie"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M121",
        "titel": "Calamiteiteninstructie"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M130",
        "titel": "Vluchtroutes"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M132",
        "titel": "Toegangsdeur paniekbeslag"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M134",
        "titel": "Rook- en vuurverbod"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M135",
        "titel": "Veiligheidssignalering"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M136",
        "titel": "Etiketten leesbaar"
      },
      {
        "active": true,
        "category": "Basis",
        "code": "M137",
        "titel": "VIB beschikbaar"
      },
      {
        "active": true,
        "category": "C",
        "code": "M66",
        "titel": "Aanverwante goederen niveau B/C"
      }
    ],
    "per_stof": [
      {
        "acute_tox_cat": "",
        "adr_boven": true,
        "adr_klasse": "3",
        "adr_niveau": "Buiten scope",
        "all_niveaus": [],
        "cas": "71-43-2",
        "clp_boven": [],
        "clp_classificatie": "H225, H304, H350, H340",
        "clp_routes": [],
        "cmr_type": "",
        "compliance": [
          {
            "code": "D1",
            "maatregelen": [],
            "omschrijving": "Van toepassing bij niveau C",
            "scenario": [],
            "titel": "Doelstelling D1"
          },
          {
            "code": "D2",
            "maatregelen": [],
            "omschrijving": "Van toepassing bij niveau C",
            "scenario": [],
            "titel": "Doelstelling D2"
          },
          {
            "code": "D3",
            "maatregelen": [],
            "omschrijving": "Van toepassing bij niveau C",
            "scenario": [],
            "titel": "Doelstelling D3"
          },
          {
            "code": "D4",
            "maatregelen": [],
            "omschrijving": "Van toepassing bij niveau C",
            "scenario": [],
            "titel": "Doelstelling D4"
          },
          {
            "code": "D5",
            "maatregelen": [],
            "omschrijving": "Van toepassing bij niveau C",
            "scenario": [],
            "titel": "Doelstelling D5"
          },
          {
            "code": "D6",
            "maatregelen": [],
            "omschrijving": "Van toepassing bij niveau C",
            "scenario": [],
            "titel": "Doelstelling D6"
          },
          {
            "code": "D7",
            "maatregelen": [],
            "omschrijving": "Van toepassing bij niveau C",
            "scenario": [],
            "titel": "Doelstelling D7"
          },
          {
            "code": "D8",
            "maatregelen": [],
            "omschrijving": "Van toepassing bij niveau C",
            "scenario": [],
            "titel": "Doelstelling D8"
          },
          {
            "code": "D9",
            "maatregelen": [],
            "omschrijving": "Van toepassing bij niveau C",
            "scenario": [],
            "titel": "Doelstelling D9"
          }
        ],
        "doelstellingen": {
          "doelen": [],
          "scenario": []
        },
        "flat_measures": [],
        "h_zinnen": "H225, H304, H350, H340",
        "hoeveelheid": 190,
        "id": null,
        "is_acute_tox": false,
        "is_brandbaar_k8": false,
        "is_cmr": true,
        "maatregelen": {
          "A": [],
          "B": [],
          "Basis": [],
          "C": []
        },
        "naam": "Benzene",
        "ondergrens": null,
        "pgs15": true,
        "status": "C",
        "strengste_niveau": "C",
        "strengste_route": "CLP CMR Cat. 1A/1B (vloeibaar)",
        "versies": [
          {
            "A": 100000,
            "B": 10000,
            "C": 250,
            "actueel": "Buiten scope",
            "is_actueel": false,
            "ondergrens": 250,
            "route": "ADR klasse 3, VG II"
          },
          {
            "A": 1000,
            "B": "N.v.t.",
            "C": 1,
            "actueel": "C",
            "is_actueel": true,
            "ondergrens": 1,
            "route": "CLP CMR Cat. 1A/1B (vloeibaar)"
          }
        ],
        "vg": "II",
        "vorm": "vloeistof"
      },
      {
        "acute_tox_cat": "",
        "adr_boven": false,
        "adr_klasse": "8",
        "adr_niveau": "Buiten scope",
        "all_niveaus": [],
        "cas": "7664-93-9",
        "clp_boven": [],
        "clp_classificatie": "H314, H330",
        "clp_routes": [],
        "cmr_type": "",
        "compliance": [
          {
            "code": "MW1",
            "maatregelen": [
              "MW1",
              "M2"
            ],
            "omschrijving": "Deze stof valt onder de basiszorgplicht.",
            "scenario": [],
            "titel": "Basiszorgplicht"
          }
        ],
        "doelstellingen": {
          "doelen": [],
          "scenario": []
        },
        "flat_measures": [],
        "h_zinnen": "H314, H330",
        "hoeveelheid": 25,
        "id": null,
        "is_acute_tox": true,
        "is_brandbaar_k8": false,
        "is_cmr": false,
        "maatregelen": {
          "A": [],
          "B": [],
          "Basis": [],
          "C": []
        },
        "naam": "Zwavelzuur",
        "ondergrens": null,
        "pgs15": false,
        "status": "Buiten PGS 15 scope",
        "strengste_niveau": "Buiten scope",
        "strengste_route": "ADR 8 VG II",
        "versies": [
          {
            "A": 100000,
            "B": 10000,
            "C": 250,
            "actueel": "Buiten scope",
            "is_actueel": false,
            "ondergrens": 250,
            "route": "ADR klasse 8, VG II"
          }
        ],
        "vg": "II",
        "vorm": "vloeistof"
      }
    ],
    "toelichtingen": {
      "adr_niveau": {
        "icon": "🚛",
        "tekst": "Op basis van de ADR-klasse en verpakkingsgroep wordt een veiligheidsniveau bepaald (C, B of A). Niveau C = basisvoorschriften, B = verhoogde eisen (brandveiligheid, noodplan), A = hoogste niveau (automatische branddetectie, VBB-systeem). Zie PGS 15:2025 Tabel 6.",
        "titel": "ADR-versie (C/B/A)"
      },
      "aggregatie": {
        "icon": "📊",
        "tekst": "Stoffen worden per ADR-klasse geaggregeerd. Bij klasse 8 brandbare stoffen tellen alle klasse 8 stoffen samen mee. Bij ≥1.000 kg totaal (catchall) gelden altijd de basisvoorschriften van PGS 15.",
        "titel": "Aggregatie"
      },
      "bal": {
        "icon": "📋",
        "tekst": "Het Bvi (voorheen Besluit externe veiligheid) verplicht tot het nemen van maatregelen om externe veiligheid te waarborgen bij opslag van gevaarlijke stoffen ≥1.000 kg. Omvat risicobeoordeling en maatregelen tegen aanrijding, lekkage en brand.",
        "titel": "Besluit externe veiligheid inrichtingen (Bvi)"
      },
      "clp_routes": {
        "icon": "☠️",
        "tekst": "Naast ADR kan PGS 15 ook van toepassing zijn via CLP-classificatie: CMR-stoffen (carcinogeen, mutageen, reprotoxisch) en Acute Tox. categorie 1-3. Elke route heeft eigen drempelwaarden. CMR vloeibaar ≥1 kg, CMR poedervorm ≥25 kg, CMR vaste metaalvorm = buiten scope, Acute Tox. 1 ≥1 kg, Acute Tox. 2/3 ≥1 kg.",
        "titel": "CLP-routes"
      },
      "maatregelen": {
        "icon": "🛡️",
        "tekst": "PGS 15:2025 kent 4 niveaus maatregelen:\n• Basis: Altijd verplicht bij stoffen binnen scope (o.a. opvangvoorziening, VIB, vluchtroutes, draagbaar blustoestel)\n• C: Extra bij niveau C (o.a. WBDBO 60/90 min, noodplan, nooddouche)\n• B: Extra bij niveau B (o.a. brandoverslagpreventie, rookafvoer, vakindeling)\n• A: Extra bij niveau A (o.a. brandwerende constructie, automatische branddetectie, VBB)",
        "titel": "Verplichte maatregelen"
      },
      "ondergrens": {
        "icon": "📏",
        "tekst": "De minimumhoeveelheid in kg vanaf welke PGS 15 van toepassing is op deze stof. Wordt bepaald door de ADR-klasse en verpakkingsgroep (VG), of door CLP-classificatie (CMR, Acute Toxiciteit). Staat in PGS 15:2025 Tabel 5 (ADR) of Tabel 6 (CLP).",
        "titel": "Ondergrens"
      },
      "seveso": {
        "icon": "🏭",
        "tekst": "De Seveso-richtlijn (BRZO in Nederland) is van toepassing op inrichtingen met gevaarlijke stoffen boven bepaalde drempels. Ondergrens: 5.000 kg (gevaarlijke stoffen) of 10.000 kg (brandbare vloeistoffen/gassen). Boven de bovengrens geldt de volledige vergunningplicht.",
        "titel": "Seveso III"
      },
      "strengste_niveau": {
        "icon": "⚡",
        "tekst": "Wanneer meerdere routes van toepassing zijn (bijv. ADR én CLP), geldt het strengste niveau. Volgorde: A (strengst) > B > C > Buiten scope. Alle maatregelen van het strengste niveau én lagere niveaus zijn verplicht.",
        "titel": "Strengste niveau"
      }
    },
    "v3_compliance": {
      "M103_Bluswater": false,
      "M96_VBB": false,
      "blocked_measures": [
        {
          "code": "M103",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M100",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M101",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M97",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M102",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M99",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M96",
          "reason": "Geblokkeerd: niveau C ≠ A"
        },
        {
          "code": "M98",
          "reason": "Geblokkeerd: niveau C ≠ A"
        }
      ],
      "engine": "rules_engine_v3",
      "niveau": "C",
      "status": "active",
      "version": "3.0-generic"
    }
  },
  "exported_at": "2026-05-14T08:55:46.401519",
  "source": "PGS-15 Compliance Scanner v2.0"
}