From 05839e36aaab35d6d4b0d5e39f888801642d7499 Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Thu, 7 May 2026 13:31:23 +0200 Subject: [PATCH] feat: Hazard-Patterns auf 475 erweitert (Ziel: 1000) 8 neue Pattern-Dateien fuer: - Aufzuege (25), AGV/Landmaschinen (30), Lebensmittel/Verpackung (35) - Laser/Medizin/Druck (40), Bau/Krane (20), Forst/Foerderer (31) - Kunststoff/Metall (30), Schweissen/Glas/Textil (30) Co-Authored-By: Claude Opus 4.6 (1M context) --- .../internal/iace/hazard_patterns_agv_agri.go | 470 +++++++++++++ .../iace/hazard_patterns_construction.go | 340 +++++++++ .../internal/iace/hazard_patterns_elevator.go | 401 +++++++++++ .../internal/iace/hazard_patterns_food_pkg.go | 549 +++++++++++++++ .../iace/hazard_patterns_forestry_conveyor.go | 487 +++++++++++++ .../iace/hazard_patterns_laser_medical.go | 650 ++++++++++++++++++ .../iace/hazard_patterns_plastics_metal.go | 473 +++++++++++++ .../hazard_patterns_welding_glass_textile.go | 475 +++++++++++++ .../internal/iace/pattern_engine.go | 8 + 9 files changed, 3853 insertions(+) create mode 100644 ai-compliance-sdk/internal/iace/hazard_patterns_agv_agri.go create mode 100644 ai-compliance-sdk/internal/iace/hazard_patterns_construction.go create mode 100644 ai-compliance-sdk/internal/iace/hazard_patterns_elevator.go create mode 100644 ai-compliance-sdk/internal/iace/hazard_patterns_food_pkg.go create mode 100644 ai-compliance-sdk/internal/iace/hazard_patterns_forestry_conveyor.go create mode 100644 ai-compliance-sdk/internal/iace/hazard_patterns_laser_medical.go create mode 100644 ai-compliance-sdk/internal/iace/hazard_patterns_plastics_metal.go create mode 100644 ai-compliance-sdk/internal/iace/hazard_patterns_welding_glass_textile.go diff --git a/ai-compliance-sdk/internal/iace/hazard_patterns_agv_agri.go b/ai-compliance-sdk/internal/iace/hazard_patterns_agv_agri.go new file mode 100644 index 0000000..a361fc1 --- /dev/null +++ b/ai-compliance-sdk/internal/iace/hazard_patterns_agv_agri.go @@ -0,0 +1,470 @@ +package iace + +// GetAGVAgriPatterns returns hazard patterns for automated guided vehicles (AGV/FTS) +// per ISO 3691-4 and agricultural machines per ISO 4254 series. HP199-HP228. +func GetAGVAgriPatterns() []HazardPattern { + return []HazardPattern{ + // ================================================================ + // AGV / FTS — Automated Guided Vehicles (HP199-HP213) + // ================================================================ + { + ID: "HP199", NameDE: "Kollision AGV mit Person", NameEN: "AGV collision with person", + RequiredComponentTags: []string{"agv", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M054", "M106"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 97, + ScenarioDE: "AGV faehrt autonom durch den Betrieb und kollidiert mit einer Person, die den Fahrweg kreuzt.", + TriggerDE: "Sensorausfall, verschmutzte Laserscanner, Person ausserhalb des Erfassungswinkels, zu hohe Geschwindigkeit.", + HarmDE: "Prellungen, Knochenbrueche, Ueberrollverletzungen bei schwerem AGV.", + AffectedDE: "Logistikmitarbeiter, Besucher, alle Personen im AGV-Fahrbereich", + ZoneDE: "Gesamter AGV-Fahrweg und Kreuzungsbereiche", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP200", NameDE: "Quetschen zwischen AGV und Regalwand", NameEN: "Crushing between AGV and rack", + RequiredComponentTags: []string{"agv", "pinch_point", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 95, + ScenarioDE: "Person steht zwischen Regal und AGV-Fahrweg. AGV faehrt an und quetscht Person gegen die Regalstruktur.", + TriggerDE: "Enger Fahrweg, seitlicher Sensorbereich nicht abgedeckt, Person beugt sich in Fahrweg.", + HarmDE: "Schwere Quetschverletzungen des Rumpfes, Rippenfrakturen, innere Verletzungen.", + AffectedDE: "Lagerpersonal, Kommissionierer", + ZoneDE: "Engstellen zwischen AGV-Fahrweg und Regalen oder Waenden", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP201", NameDE: "Ueberfahren von Fuessen durch AGV", NameEN: "Feet run over by AGV", + RequiredComponentTags: []string{"agv", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E08"}, + Priority: 85, + ScenarioDE: "Person steht neben dem AGV-Fahrweg. AGV faehrt ueber den Fuss, da Bodensensoren den Fuss nicht erkennen.", + TriggerDE: "Fuesse ragen in den Fahrweg, Sicherheitsscanner erfasst nur ab Kniehoehe, fehlende Bumper.", + HarmDE: "Fussquetschung, Zehenfrakturen, Mittelfussknochenbruch.", + AffectedDE: "Lagerpersonal, alle Personen neben AGV-Fahrweg", + ZoneDE: "Bodenbereich entlang der AGV-Fahrspur", + DefaultSeverity: 3, DefaultExposure: 4, + }, + { + ID: "HP202", NameDE: "Ladung faellt von AGV", NameEN: "Load falls from AGV", + RequiredComponentTags: []string{"agv", "gravity_risk", "variable_workpiece"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M051"}, + SuggestedEvidenceIDs: []string{"E08"}, + Priority: 88, + ScenarioDE: "Transportiertes Gut (Palette, Behaelter) rutscht bei Kurvenfahrt oder Bremsung vom AGV herunter.", + TriggerDE: "Ueberladung, ungesicherte Ladung, abruptes Bremsmanoever, Bodenunebenheiten.", + HarmDE: "Quetschungen, Knochenbrueche, Kopfverletzungen durch herabfallende Ladung.", + AffectedDE: "Personen neben dem AGV-Fahrweg, Logistikpersonal", + ZoneDE: "Seitlicher Bereich entlang des AGV-Fahrwegs, Kurven", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP203", NameDE: "AGV blockiert in Sackgasse", NameEN: "AGV stuck in dead end", + RequiredComponentTags: []string{"agv", "programmable"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"safety_function_failure"}, + SuggestedMeasureIDs: []string{"M106"}, + SuggestedEvidenceIDs: []string{"E01"}, + Priority: 55, + ScenarioDE: "AGV faehrt in eine Sackgasse oder blockierten Bereich und kann nicht mehr zurueckfahren. Manuelle Bergung erforderlich.", + TriggerDE: "Fehlerhafte Kartierung, veraenderte Layoutbedingungen, Hindernis blockiert Rueckweg.", + HarmDE: "Quetschung bei manueller Bergung, Ueberfahren beim Verschieben des AGV.", + AffectedDE: "Wartungspersonal bei der manuellen Bergung", + ZoneDE: "Sackgassen, enge Durchfahrten, Lagerbereiche", + DefaultSeverity: 2, DefaultExposure: 2, + }, + { + ID: "HP204", NameDE: "Sensorausfall — AGV erkennt Hindernis nicht", NameEN: "Sensor failure — AGV misses obstacle", + RequiredComponentTags: []string{"agv", "sensor_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"safety_function_failure", "mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M106"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 96, + RequiresExpertCalculation: true, + ExpertHintDE: "PL/SIL-Nachweis fuer das Personenerkennungssystem nach ISO 3691-4 erforderlich.", + ScenarioDE: "Sicherheitssensor (Laserscanner, Kamera) faellt aus oder liefert fehlerhafte Daten. AGV faehrt trotz Hindernis weiter.", + TriggerDE: "Sensorverschmutzung, EMV-Stoerung, Softwarefehler, defekte Sensorhardware.", + HarmDE: "Kollision mit Person oder Gegenstand, schwere Quetsch- und Aufprallverletzungen.", + AffectedDE: "Alle Personen im AGV-Einsatzgebiet", + ZoneDE: "Gesamter AGV-Fahrbereich, insbesondere Kreuzungen und Engstellen", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP205", NameDE: "Notbremsversagen AGV", NameEN: "Emergency brake failure AGV", + RequiredComponentTags: []string{"agv", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"safety_function_failure", "mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M106", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 95, + ScenarioDE: "AGV erkennt Hindernis, aber die Notbremse greift nicht oder verzoegert die Bremsung unzureichend.", + TriggerDE: "Bremsenverschleiss, Hydraulikleckage, Softwarefehler im Bremssystem, Batteriespannung zu niedrig.", + HarmDE: "Kollision trotz Erkennung, Verletzungen durch verlaengerten Bremsweg.", + AffectedDE: "Personen auf dem AGV-Fahrweg", + ZoneDE: "Bremsweg-Distanz vor dem AGV", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP206", NameDE: "Batteriebrand im AGV", NameEN: "Battery fire in AGV", + RequiredComponentTags: []string{"agv", "battery"}, + RequiredEnergyTags: []string{"electrical"}, + GeneratedHazardCats: []string{"thermal_hazard", "material_environmental"}, + SuggestedMeasureIDs: []string{"M124", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E20"}, + Priority: 90, + ScenarioDE: "Lithium-Ionen-Batterie des AGV geraet in thermischen Durchgang (Thermal Runaway). Brand- und Explosionsgefahr.", + TriggerDE: "Mechanische Beschaedigung der Batterie, Ueberladung, defektes BMS, Kurzschluss.", + HarmDE: "Verbrennungen, Rauchgasvergiftung, Explosionsverletzungen.", + AffectedDE: "Lagerpersonal, Wartungstechniker, alle Personen in der Halle", + ZoneDE: "AGV-Standort, Ladestation, gesamte Lagerhalle bei Rauchausbreitung", + DefaultSeverity: 5, DefaultExposure: 1, + }, + { + ID: "HP207", NameDE: "Quetschen beim automatischen Laden", NameEN: "Crushing during automatic charging", + RequiredComponentTags: []string{"agv", "pinch_point", "battery"}, + RequiredEnergyTags: []string{"electrical"}, + GeneratedHazardCats: []string{"mechanical_hazard", "electrical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 80, + ScenarioDE: "AGV faehrt autonom in Ladestation ein. Person steht in oder neben der Ladestation und wird gequetscht.", + TriggerDE: "Fehlender Zugangsschutz an Ladestation, Person wartet Ladestation bei laufendem Betrieb.", + HarmDE: "Quetschungen, Stromschlag durch freiliegende Ladekontakte.", + AffectedDE: "Wartungspersonal, Lagermitarbeiter nahe der Ladestation", + ZoneDE: "Ladestation, Einfahrbereich des AGV", + DefaultSeverity: 3, DefaultExposure: 2, + }, + { + ID: "HP208", NameDE: "Navigation loss — AGV verliert Orientierung", NameEN: "Navigation loss — AGV loses orientation", + RequiredComponentTags: []string{"agv", "programmable", "sensor_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"safety_function_failure"}, + SuggestedMeasureIDs: []string{"M106"}, + SuggestedEvidenceIDs: []string{"E01"}, + Priority: 75, + ScenarioDE: "AGV verliert seine Position auf der internen Karte und faehrt unkontrolliert in unbekannten Bereich.", + TriggerDE: "Reflektoren verschoben, Bodenmarkierung beschaedigt, Umgebungsaenderung, Softwarefehler.", + HarmDE: "Kollision mit Personen oder Einrichtung, Absturz von Rampen, Einfahrt in Personenbereiche.", + AffectedDE: "Alle Personen im erweiterten Einsatzgebiet", + ZoneDE: "Unkontrollierter Bereich ausserhalb des normalen AGV-Fahrwegs", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP209", NameDE: "Einklemmen in AGV-Hubmechanismus", NameEN: "Trapping in AGV lift mechanism", + RequiredComponentTags: []string{"agv", "pinch_point", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M054"}, + SuggestedEvidenceIDs: []string{"E08"}, + Priority: 82, + ScenarioDE: "AGV mit Hubfunktion (Gabeln, Plattform) hebt oder senkt Last. Hand oder Fuss geraet in den Hubmechanismus.", + TriggerDE: "Eingriff in Hubbereich bei laufendem Betrieb, fehlende Absicherung des Scherbereichs.", + HarmDE: "Fingerquetschung, Handverletzungen, Zehenfrakturen.", + AffectedDE: "Lagerpersonal, Kommissionierer", + ZoneDE: "Hubbereich des AGV, Gabelmechanismus", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP210", NameDE: "AGV-Kollision mit anderem AGV", NameEN: "AGV collision with other AGV", + RequiredComponentTags: []string{"agv", "moving_part"}, + RequiredEnergyTags: []string{}, + ExcludedComponentTags: []string{"single_agv_system"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M106"}, + SuggestedEvidenceIDs: []string{"E01"}, + Priority: 78, + ScenarioDE: "Zwei AGVs kollidieren an einer Kreuzung oder im engen Gang. Ladung wird verschoben, umstehende Personen gefaehrdet.", + TriggerDE: "Flottenmanagement-Fehler, Kommunikationsausfall zwischen AGVs, gleichzeitige Kreuzungsbelegung.", + HarmDE: "Herabfallende Ladung trifft umstehende Person, Quetschgefahr zwischen zwei AGVs.", + AffectedDE: "Lagerpersonal in der Naehe der Kollisionsstelle", + ZoneDE: "Kreuzungen, Engstellen im AGV-Fahrnetz", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP211", NameDE: "EMV-Stoerung deaktiviert AGV-Sicherheit", NameEN: "EMI disables AGV safety systems", + RequiredComponentTags: []string{"agv", "sensor_part", "electrical_part"}, + RequiredEnergyTags: []string{"electrical"}, + GeneratedHazardCats: []string{"electrical_hazard", "safety_function_failure"}, + SuggestedMeasureIDs: []string{"M106"}, + SuggestedEvidenceIDs: []string{"E01"}, + Priority: 72, + ScenarioDE: "Elektromagnetische Stoerungen (Schweissgeraete, Frequenzumrichter) beeinflussen AGV-Sensorik oder Steuerung.", + TriggerDE: "Schweissarbeiten in AGV-Naehe, fehlende EMV-Abschirmung, neue Stoerquelle in der Halle.", + HarmDE: "Unerwartetes AGV-Verhalten, Sensorblindheit, Kollision.", + AffectedDE: "Alle Personen im AGV-Einsatzgebiet", + ZoneDE: "AGV-Fahrbereich nahe elektromagnetischer Stoerquellen", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP212", NameDE: "Ergonomische Belastung manuelle AGV-Beladung", NameEN: "Ergonomic strain from manual AGV loading", + RequiredComponentTags: []string{"agv", "ergonomic"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"ergonomic"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 50, + ScenarioDE: "Mitarbeiter belaedt AGV manuell mit schweren Teilen. Wiederholte Hebe- und Bueeckbewegungen.", + TriggerDE: "Fehlende Hebehilfen, unguenstige Uebergabehoehe, hohe Taktfrequenz.", + HarmDE: "Rueckenschmerzen, Bandscheibenschaeden, Muskel-Skelett-Erkrankungen.", + AffectedDE: "Lagerpersonal, Kommissionierer", + ZoneDE: "Be- und Entladepunkt des AGV", + DefaultSeverity: 2, DefaultExposure: 5, + }, + { + ID: "HP213", NameDE: "AGV ueberrollt Person am Boden", NameEN: "AGV runs over person on ground", + RequiredComponentTags: []string{"agv", "moving_part", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 94, + ScenarioDE: "Person stuerzt oder liegt am Boden im AGV-Fahrweg. Sensorik erkennt liegende Person nicht (unterhalb Scannhoehe).", + TriggerDE: "Sturz, medizinischer Notfall, Sicherheitsscanner-Totwinkel im Bodenbereich.", + HarmDE: "Schwere Ueberrollverletzungen, innere Verletzungen, potentiell toedlich.", + AffectedDE: "Gestuerzte oder liegende Personen im AGV-Fahrbereich", + ZoneDE: "Gesamter AGV-Fahrweg, insbesondere gerade Strecken mit hoher Geschwindigkeit", + DefaultSeverity: 5, DefaultExposure: 2, + }, + + // ================================================================ + // Agricultural Machines (HP214-HP228) + // ================================================================ + { + ID: "HP214", NameDE: "Einzug in Erntemaschine (Maehdrescher)", NameEN: "Draw-in by harvester (combine)", + RequiredComponentTags: []string{"agri_harvester", "rotating_part", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 98, + ScenarioDE: "Person kommt dem laufenden Schneidwerk oder der Einzugsschnecke zu nahe und wird erfasst.", + TriggerDE: "Reinigung bei laufender Maschine, Beseitigung von Verstopfungen ohne Abschaltung, fehlende Schutzvorrichtung.", + HarmDE: "Toedliche Verletzungen durch Einzug, Amputationen, schwere Schnittverletzungen.", + AffectedDE: "Maschinenfahrer, Erntehelfer", + ZoneDE: "Schneidwerk, Einzugsschnecke, Haspelbereich", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP215", NameDE: "Quetschen beim Ankuppeln von Anbaugeraeten", NameEN: "Crushing during implement coupling", + RequiredComponentTags: []string{"agri_tractor", "pinch_point", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M054"}, + SuggestedEvidenceIDs: []string{"E08"}, + Priority: 93, + ScenarioDE: "Person steht zwischen Traktor und Anbaugeraet waehrend des Ankupplungsvorgangs.", + TriggerDE: "Traktor rollt zurueck, Hydraulik senkt Dreipunktaufhaengung ab, fehlende Kommunikation.", + HarmDE: "Schwere Quetschverletzungen, Einklemmen des Rumpfes oder der Beine.", + AffectedDE: "Landwirt, Helfer beim Ankuppeln", + ZoneDE: "Bereich zwischen Traktor-Heck und Anbaugeraet", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP216", NameDE: "Umkippen des Traktors am Hang", NameEN: "Tractor rollover on slope", + RequiredComponentTags: []string{"agri_tractor", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M051", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 99, + RequiresExpertCalculation: true, + ExpertHintDE: "Standsicherheitsberechnung nach ISO 16231 fuer die spezifische Hangneigung erforderlich.", + ScenarioDE: "Traktor kippt bei Hangarbeit seitlich oder nach hinten um. Fahrer wird eingeklemmt oder herausgeschleudert.", + TriggerDE: "Zu steile Hangneigung, ungleichmaessige Beladung, Fahrfehler, nasser Boden, fehlende ROPS.", + HarmDE: "Toedliche Verletzungen durch Einklemmen unter dem Traktor, Genickbruch.", + AffectedDE: "Traktorfahrer, Beifahrer", + ZoneDE: "Fahrerplatz und Umgebung des Traktors bei Hangarbeit", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP217", NameDE: "Kontakt mit Zapfwelle (PTO)", NameEN: "Contact with power take-off (PTO)", + RequiredComponentTags: []string{"agri_tractor", "rotating_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 97, + ScenarioDE: "Rotierende Zapfwelle (540/1000 U/min) erfasst Kleidung oder Koerperteile des Bedieners.", + TriggerDE: "Fehlende oder beschaedigte Schutzhuelse, lose Kleidung, Annaeherung bei laufender Zapfwelle.", + HarmDE: "Amputationen, Skalpierung, toedliche Aufwickelverletzungen.", + AffectedDE: "Landwirt, Maschinenfahrer, Helfer", + ZoneDE: "Zapfwellenanschluss am Traktor-Heck, Gelenkwelle zum Anbaugeraet", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP218", NameDE: "Duengerveraetzung — Chemischer Kontakt", NameEN: "Fertilizer burn — chemical contact", + RequiredComponentTags: []string{"agri_spreader", "chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M124", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 75, + ScenarioDE: "Bediener kommt mit konzentriertem Duenger oder Pflanzenschutzmittel in Hautkontakt beim Befuellen oder bei Leckage.", + TriggerDE: "Undichte Behaelter, fehlende Handschuhe, Spritzer beim Anmischen, defekte Duesen.", + HarmDE: "Hautveraetzungen, Augenverletzungen, Atemwegsreizung bei Staubentwicklung.", + AffectedDE: "Landwirt, Erntehelfer, umstehende Personen bei Windabtrift", + ZoneDE: "Bereich um Duesengestirr und Befuellstutzen", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP219", NameDE: "Spaeneflug bei Holzhacker", NameEN: "Chip ejection from wood chipper", + RequiredComponentTags: []string{"agri_chipper", "rotating_part", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 92, + ScenarioDE: "Holzhacker schleudert Holzspaene, Steine oder Metallteile (Naegel, Schrauben) mit hoher Geschwindigkeit heraus.", + TriggerDE: "Fremdkoerper im Schnittgut, defekter Auswurfkanal, Person steht im Auswurfbereich.", + HarmDE: "Augenverletzungen, Gesichtsverletzungen, Perforation durch Metallteile.", + AffectedDE: "Bediener, Helfer, umstehende Personen", + ZoneDE: "Auswurfrichtung des Holzhackers, Einzugsbereich", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP220", NameDE: "Einzug in Ballenpresse", NameEN: "Draw-in by baler", + RequiredComponentTags: []string{"agri_baler", "rotating_part", "pinch_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 96, + ScenarioDE: "Person greift in die laufende Ballenpresse um Verstopfung zu beseitigen. Pick-up-Trommel oder Presskolben erfasst Arm.", + TriggerDE: "Reinigung bei laufendem Betrieb, defekter Sicherheitsschalter, fehlende Schutzverkleidung.", + HarmDE: "Amputation des Arms, toedliche Quetschung durch Presskolben.", + AffectedDE: "Maschinenfahrer, Erntehelfer", + ZoneDE: "Pick-up-Trommel, Presskanal, Binderkammer", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP221", NameDE: "Ueberrollgefahr bei Hangarbeit", NameEN: "Rollover hazard during slope work", + RequiredComponentTags: []string{"agri_tractor", "gravity_risk", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M051"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 95, + ScenarioDE: "Selbstfahrende Erntemaschine oder Traktor mit schwerem Anbaugeraet rutscht am nassen Hang ab und ueberrollt Person.", + TriggerDE: "Nasser oder gefrorener Boden, zu hohe Geschwindigkeit am Hang, Ausfall der Bremse.", + HarmDE: "Toedliche Ueberrollverletzungen, schwere Knochenbrueche.", + AffectedDE: "Personen im Hangbereich, Fussgaenger auf Feldwegen", + ZoneDE: "Hangflaeche, Feldwege mit Gefaelle", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP222", NameDE: "Kontakt mit rotierendem Maehwerk", NameEN: "Contact with rotating mower", + RequiredComponentTags: []string{"agri_mower", "rotating_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 96, + ScenarioDE: "Person naehert sich dem laufenden Kreiselmaeher oder Schlegelmaehwerk. Kontakt mit rotierenden Messern.", + TriggerDE: "Fehlende Schutzvorrichtung, Maehen in Personennaehe, Steinschlag aus dem Maehwerk.", + HarmDE: "Schwere Schnittverletzungen, Amputation der Fuesse oder Beine, Steinschlag-Augenverletzungen.", + AffectedDE: "Bediener, Fussgaenger, spielende Kinder in Maehnaehe", + ZoneDE: "Bereich unter und seitlich des Maehwerks, Steinschlag-Radius", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP223", NameDE: "Druckluftversagen bei Spritzgeraet", NameEN: "Compressed air failure in sprayer", + RequiredComponentTags: []string{"agri_sprayer", "high_pressure"}, + RequiredEnergyTags: []string{"stored_energy"}, + GeneratedHazardCats: []string{"pneumatic_hydraulic", "material_environmental"}, + SuggestedMeasureIDs: []string{"M051", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 80, + ScenarioDE: "Drucksystem des Spritzgeraets versagt. Druckschlauch platzt oder Duese bricht ab. Pflanzenschutzmittel wird unkontrolliert freigesetzt.", + TriggerDE: "Schlauchbruch, Ueberdruckventil defekt, Verschleiss an Verschraubungen.", + HarmDE: "Peitschender Schlauch trifft Bediener, Veraetzung durch freigesetztes Pflanzenschutzmittel.", + AffectedDE: "Maschinenfahrer, Helfer beim Befuellen", + ZoneDE: "Gesamter Bereich um das Spritzgeraet, Hochdruckleitungen", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP224", NameDE: "Hydraulikschlauch-Peitscheneffekt am Traktor", NameEN: "Hydraulic hose whip on tractor", + RequiredComponentTags: []string{"agri_tractor", "hydraulic_part", "high_pressure"}, + RequiredEnergyTags: []string{"stored_energy"}, + GeneratedHazardCats: []string{"pneumatic_hydraulic", "mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M051", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 88, + ScenarioDE: "Hydraulikschlauch platzt unter Hochdruck. Schlauch peitscht umher und trifft Bediener. Heisses Oel spritzt heraus.", + TriggerDE: "Alterung des Schlauchs, Scherbelastung, Ueberdruckventil defekt, Schlauch nicht fachgerecht befestigt.", + HarmDE: "Peitschenverletzungen, Verbrennungen durch heisses Oel, Hochdruckinjektion durch die Haut.", + AffectedDE: "Maschinenfahrer, Wartungspersonal", + ZoneDE: "Hydraulikschlauchfuehrung am Traktor und Anbaugeraet", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP225", NameDE: "Silovergasung — toxische Gaergas-Exposition", NameEN: "Silo gas — toxic fermentation gas exposure", + RequiredComponentTags: []string{"agri_silo", "chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M124", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 90, + ScenarioDE: "Person betritt Silo oder Bunker mit Gaerfutter. Stickstoffdioxid oder Schwefelwasserstoff reichern sich in der Luft an.", + TriggerDE: "Betreten des Silos ohne Gasmessung, fehlende Belueftung, frisches Gaerfutter.", + HarmDE: "Bewusstlosigkeit, Erstickung, Tod durch Sauerstoffmangel oder Giftgas.", + AffectedDE: "Landwirt, Erntehelfer, Rettungskraefte bei Bergung", + ZoneDE: "Silobehälter, Fahrsilofläche, geschlossener Raum", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP226", NameDE: "Kreiselegge / Bodenfraese erfasst Fuss", NameEN: "Rotary harrow / tiller catches foot", + RequiredComponentTags: []string{"agri_tiller", "rotating_part", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 91, + ScenarioDE: "Person tritt in den Arbeitsbereich der Kreiselegge oder Bodenfraese. Rotierende Zinken erfassen den Fuss.", + TriggerDE: "Fehlende Schutzverkleidung, Arbeiten am angehobenen Geraet bei laufender Zapfwelle.", + HarmDE: "Amputation der Zehen oder des Fusses, schwere Risswunden.", + AffectedDE: "Maschinenfahrer, Helfer bei Einstellarbeiten", + ZoneDE: "Arbeitsbereich unter der Kreiselegge, Zinkenbereich", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP227", NameDE: "Staubexplosion in Getreidesiebanlage", NameEN: "Dust explosion in grain screening plant", + RequiredComponentTags: []string{"agri_grain", "dust_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"thermal_hazard", "mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M124", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E20"}, + Priority: 88, + ScenarioDE: "Getreidestaub erreicht explosionsfaehige Konzentration in geschlossenem Raum (Silo, Reinigungsanlage). Zuendquelle loest Explosion aus.", + TriggerDE: "Funkenbildung durch Fremdkoerper, ueberhitzte Lager, elektrostatische Entladung, fehlende Entstaubung.", + HarmDE: "Schwerste Brandverletzungen, Trommelfellriss, Verschuettung durch Gebaeudeeinbruch.", + AffectedDE: "Alle Personen im und am Gebaeuede der Anlage", + ZoneDE: "Silos, Elevatoren, Reinigungsanlagen, Foerderwege", + DefaultSeverity: 5, DefaultExposure: 1, + }, + { + ID: "HP228", NameDE: "UV-/Laermexposition bei Feldarbeit", NameEN: "UV/noise exposure during field work", + RequiredComponentTags: []string{"agri_tractor", "noise_source", "ergonomic"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"noise_vibration", "ergonomic"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 45, + ScenarioDE: "Langzeitexposition gegenueber Laerm (Traktor, Anbaugeraet) und UV-Strahlung bei offener Kabine waehrend Feldarbeit.", + TriggerDE: "Fehlende Kabine, defekte Laermschutzausruestung, mehrstuendige Ausseneinsaetze im Sommer.", + HarmDE: "Gehoerschaeden, Hautkrebs durch UV-Exposition, Ganzkoerpervibrationssyndrom.", + AffectedDE: "Maschinenfahrer, Erntehelfer", + ZoneDE: "Fahrerplatz auf dem Traktor, offenes Feld", + DefaultSeverity: 2, DefaultExposure: 5, + }, + } +} diff --git a/ai-compliance-sdk/internal/iace/hazard_patterns_construction.go b/ai-compliance-sdk/internal/iace/hazard_patterns_construction.go new file mode 100644 index 0000000..398b3e5 --- /dev/null +++ b/ai-compliance-sdk/internal/iace/hazard_patterns_construction.go @@ -0,0 +1,340 @@ +package iace + +// GetConstructionPatterns returns 20 hazard patterns (HP400-HP419) +// covering construction machines, mobile cranes, concrete pumps, +// tunnel boring, road construction, and elevated work platforms. +func GetConstructionPatterns() []HazardPattern { + return []HazardPattern{ + // ================================================================ + // Erdbau / Excavation (HP400-HP403) + // ================================================================ + { + ID: "HP400", NameDE: "Umkippen Bagger bei Grabungsarbeiten", NameEN: "Excavator tipping during digging", + RequiredComponentTags: []string{"hydraulic_part", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 90, + ScenarioDE: "Bagger kippt seitlich um bei Aushubarbeiten an Boeschungskante oder auf weichem Untergrund.", + TriggerDE: "Ueberreichweite des Auslegers, nachgebender Untergrund, asymmetrische Last", + HarmDE: "Quetschung in Kabine, toedliches Ueberrollen, Verschuettung Dritter", + AffectedDE: "Baggerfuehrer, Personen im Schwenkbereich", + ZoneDE: "Baugrube, Boeschungskante, Schwenkbereich des Baggers", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP401", NameDE: "Verschuettung — Grabenrand bricht ein", NameEN: "Burial — trench wall collapses", + RequiredComponentTags: []string{"structural_part", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 95, + ScenarioDE: "Grabenrand bricht ein und verschuettet Personen im Graben. Erstickungsgefahr.", + TriggerDE: "Fehlender Verbau, Vibration durch Baumaschinen, Wassereinbruch, Ueberbelastung der Grabenkante", + HarmDE: "Verschuettung, Erstickung, toedliche Kompression, Knochenbrueche", + AffectedDE: "Bauarbeiter im Graben, Leitungsbauer", + ZoneDE: "Graben, Baugrube, ungesicherte Boeschung", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP402", NameDE: "Quetschen zwischen Baggerarm und Fahrerkabine", NameEN: "Crushing between excavator arm and cab", + RequiredComponentTags: []string{"hydraulic_part", "crush_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M052"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 90, + ScenarioDE: "Person wird zwischen schwenkendem Baggerarm und Kabine oder Unterwagen eingeklemmt.", + TriggerDE: "Aufenthalt im Schwenkbereich, fehlende Rueckraumkamera, Sichteinschraenkung", + HarmDE: "Schwere Quetschung, innere Verletzungen, Tod durch Einklemmung", + AffectedDE: "Baustellenpersonal im Nahbereich des Baggers", + ZoneDE: "Schwenkbereich Oberwagen, Quetschzone Ausleger-Kabine", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP403", NameDE: "Ueberfahren von Personen durch Radlader", NameEN: "Running over persons by wheel loader", + RequiredComponentTags: []string{"moving_part", "gravity_risk"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 95, + ScenarioDE: "Radlader faehrt rueckwaerts und ueberfaehrt Person, die sich im toten Winkel befindet.", + TriggerDE: "Fehlende Rueckfahrkamera, kein Signalhorn, Fussgaenger im Arbeitsbereich", + HarmDE: "Ueberrollen, toedliche Verletzungen, Polytrauma", + AffectedDE: "Fussgaenger auf der Baustelle, Einweiser, Vermessungspersonal", + ZoneDE: "Fahrbereich des Radladers, Rueckfahrzone, Rangierbereiche", + DefaultSeverity: 5, DefaultExposure: 3, + }, + + // ================================================================ + // Betonbau / Concrete & Pumps (HP404-HP406) + // ================================================================ + { + ID: "HP404", NameDE: "Absturz von Betonpumpenausleger", NameEN: "Collapse of concrete pump boom", + RequiredComponentTags: []string{"hydraulic_part", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 90, + RequiresExpertCalculation: true, + ExpertHintDE: "Standsicherheitsnachweis fuer Autobetonpumpe nach TRBS 2111 erforderlich.", + ScenarioDE: "Ausleger der Autobetonpumpe knickt oder bricht durch Materialermuedung oder Ueberbelastung ab.", + TriggerDE: "Ueberschreitung der zulaessigen Reichweite, Ermuedungsbruch, fehlerhafte Abstuetzung", + HarmDE: "Erschlagen durch herabfallenden Ausleger, Verschuettung, toedliche Kopfverletzungen", + AffectedDE: "Betonbauer, Einschaler, Personen unterhalb des Auslegers", + ZoneDE: "Schwenkbereich des Pumpenauslegers, Betonierflaeche", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP405", NameDE: "Druckversagen Betonpumpe", NameEN: "Pressure failure of concrete pump", + RequiredComponentTags: []string{"hydraulic_part", "high_pressure"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"pneumatic_hydraulic"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E11", "E20"}, + Priority: 85, + ScenarioDE: "Foerderleitung der Betonpumpe platzt unter Foerderdruck. Betonmasse und Leitungsteile werden geschleudert.", + TriggerDE: "Verstopfung der Leitung, verschlissene Rohrkupplung, Ueberdruck durch Pumpenbetrieb", + HarmDE: "Aufprallverletzungen durch Leitungsteile, Veraetzung durch frischen Beton", + AffectedDE: "Betonpumpenfuehrer, Bauarbeiter im Bereich der Foerderleitung", + ZoneDE: "Gesamte Foerderleitungsstrecke, Kupplungsstellen", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP406", NameDE: "Heisser Asphalt — Verbrennungsgefahr", NameEN: "Hot asphalt — burn hazard", + RequiredComponentTags: []string{"high_temperature", "chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E10", "E20"}, + Priority: 70, + ScenarioDE: "Heisser Asphalt (ca. 160 Grad C) verursacht schwere Verbrennungen bei Hautkontakt. Daempfe reizen Atemwege.", + TriggerDE: "Spritzer beim Einbau, Kontakt mit frisch eingebautem Asphalt, Einatmen von Bitumendaempfen", + HarmDE: "Verbrennungen 2./3. Grades, Atemwegsreizung, langfristige Lungenbelastung", + AffectedDE: "Strassenbauarbeiter, Asphaltfertiger-Bediener", + ZoneDE: "Einbauflaeche, Umgebung des Asphaltfertigers, Beladezone", + DefaultSeverity: 3, DefaultExposure: 4, + }, + + // ================================================================ + // Tunnelbau / Tunnel Construction (HP407-HP409) + // ================================================================ + { + ID: "HP407", NameDE: "Herabfallen von Tunneldecke (Vortrieb)", NameEN: "Tunnel roof collapse during boring", + RequiredComponentTags: []string{"structural_part", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 95, + ScenarioDE: "Ungesicherter Gebirgsbereich bricht bei Tunnelvortrieb herab und verschuettet Arbeiter.", + TriggerDE: "Ungenuegender Ausbau, geologische Stoerzone, Wassereinbruch, Sprengerschuetterung", + HarmDE: "Verschuettung, Erschlagen, Erstickung, toedliche Verletzungen", + AffectedDE: "Vortriebsmannschaft, Bergleute, Geologen", + ZoneDE: "Ortsbrust, unausgebauter Tunnelbereich, Firstbereich", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP408", NameDE: "Quetschen bei Ramme/Bohrgeraet", NameEN: "Crushing at pile driver/drilling rig", + RequiredComponentTags: []string{"hydraulic_part", "crush_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M052"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 85, + ScenarioDE: "Person wird zwischen Rammbaer und Fuehrung oder zwischen Bohrstange und Kellymast eingequetscht.", + TriggerDE: "Aufenthalt im Arbeitsbereich waehrend Ramm-/Bohrvorgang, fehlende Absperrung", + HarmDE: "Schwere Quetschverletzungen, Knochenbrueche, Amputation, toedliche Einklemmung", + AffectedDE: "Bohrgeraetfuehrer, Hilfskraefte am Bohrgeraet", + ZoneDE: "Bereich um Rammbaer, Kellymast, Bohrstrangsicherung", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP409", NameDE: "Steinschlag bei Tunnelvortrieb", NameEN: "Rockfall during tunnel excavation", + RequiredComponentTags: []string{"gravity_risk"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M052"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 85, + ScenarioDE: "Einzelne Gesteinsbrocken loesen sich aus der Tunnellaibung und treffen Personen.", + TriggerDE: "Vibration durch Sprengung oder Meisselbetrieb, klueftiges Gestein, fehlender Ueberkopfschutz", + HarmDE: "Kopfverletzungen, Knochenbrueche, toedlicher Aufprall bei grossen Bloecken", + AffectedDE: "Vortriebsmannschaft, Sicherungspersonal", + ZoneDE: "Bereich nahe Ortsbrust, ungesicherter Firstbereich", + DefaultSeverity: 4, DefaultExposure: 3, + }, + + // ================================================================ + // Strassenbau / Road Construction (HP410-HP411) + // ================================================================ + { + ID: "HP410", NameDE: "Walze ueberrollt Person (Strassenbau)", NameEN: "Road roller runs over person", + RequiredComponentTags: []string{"moving_part", "gravity_risk"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 95, + ScenarioDE: "Strassenwalze erfasst und ueberrollt Person, die sich im toten Winkel oder hinter der Maschine befindet.", + TriggerDE: "Eingeschraenkte Sicht, kein Einweiser, Fussgaenger im Arbeitsfeld, fehlende Warneinrichtung", + HarmDE: "Toedliches Ueberrollen, Polytrauma, schwerste Kompressionsverleztungen", + AffectedDE: "Strassenbauarbeiter, Einweiser, Fussgaenger", + ZoneDE: "Fahrbereich der Walze, Rueckfahrbereich, Wendeflaechen", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP411", NameDE: "Laerm und Vibration bei Rammarbeiten", NameEN: "Noise and vibration during pile driving", + RequiredComponentTags: []string{"vibration_source"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"ergonomic"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 60, + ScenarioDE: "Dauerhafte Exposition gegenueber starkem Laerm (>100 dB) und Ganzkoerpervibrationen bei Rammarbeiten.", + TriggerDE: "Langdauernder Rammbetrieb ohne Gehoerschutz, fehlende Vibrationsdaemmung am Fahrzeug", + HarmDE: "Laermschwerhoerigheit, Tinnitus, Wirbelsaeulenschaeden durch Vibration, Durchblutungsstoerungen", + AffectedDE: "Rammgeraetfuehrer, Baustellenpersonal im Nahbereich", + ZoneDE: "Nahbereich der Ramme, Fahrerkabine bei ungenuegender Daemmung", + DefaultSeverity: 3, DefaultExposure: 4, + }, + + // ================================================================ + // Krane / Cranes (HP412-HP415) + // ================================================================ + { + ID: "HP412", NameDE: "Kippen von Mobilkran bei Ueberreichweite", NameEN: "Mobile crane tipping at over-reach", + RequiredComponentTags: []string{"hydraulic_part", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 95, + RequiresExpertCalculation: true, + ExpertHintDE: "Standsicherheitsnachweis nach DIN EN 13000 und Lastdiagramm pruefen.", + ScenarioDE: "Mobilkran kippt bei Ueberschreitung der zulaessigen Ausladung oder Traglast um.", + TriggerDE: "Ueberschreitung Lastdiagramm, ungenuegend abgestuetzter Untergrund, Winddruck", + HarmDE: "Erschlagen durch Ausleger, Zerquetschung, toedliche Verletzungen in grossem Radius", + AffectedDE: "Kranfuehrer, Anschlaeger, Personen im Schwenkbereich", + ZoneDE: "Gesamter Schwenkbereich des Krans, Abstuetzbereich", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP413", NameDE: "Seilbruch am Kran", NameEN: "Crane wire rope failure", + RequiredComponentTags: []string{"gravity_risk", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 95, + RequiresExpertCalculation: true, + ExpertHintDE: "Drahtseilpruefung nach DIN EN 12385 / DGUV Vorschrift 52 erforderlich.", + ScenarioDE: "Hubseil des Krans reisst. Last stuerzt unkontrolliert herab.", + TriggerDE: "Ablegereife ueberschritten, Korrosion, Knickbelastung, mangelnde Seilpruefung", + HarmDE: "Erschlagen durch herabfallende Last, toedlicher Aufprall, Zerquetschung", + AffectedDE: "Personen unter der Last, Anschlaeger, Baustellenpersonal", + ZoneDE: "Bereich unter der Last, gesamte Verfahrstrecke", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP414", NameDE: "Pendelnde Last trifft Person", NameEN: "Swinging load strikes person", + RequiredComponentTags: []string{"gravity_risk", "moving_part"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M052"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 85, + ScenarioDE: "Am Kran haengende Last pendelt unkontrolliert und trifft Person oder Bauwerk.", + TriggerDE: "Windeinwirkung, ruckartiges Schwenken, einseitig angeschlagene Last", + HarmDE: "Aufprallverletzung, Knochenbrueche, innere Verletzungen, Absturz von Geruest", + AffectedDE: "Personen im Schwenkbereich, Geruestarbeiter, Anschlaeger", + ZoneDE: "Pendel-/Schwenkbereich der Last, Nahbereich zum Ablageort", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP415", NameDE: "Kollision zweier Krane", NameEN: "Collision of two cranes in overlapping work areas", + RequiredComponentTags: []string{"moving_part", "structural_part"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M082", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E14"}, + Priority: 90, + ScenarioDE: "Zwei Krane mit ueberschneidenden Arbeitsbereichen kollidieren mit Auslegern oder Lasten.", + TriggerDE: "Fehlende Kollisionsschutzsysteme, mangelnde Koordination, Windversatz", + HarmDE: "Auslegerbruch, herabfallende Teile, Erschlagen, Bauwerkschaeden", + AffectedDE: "Kranfuehrer beider Krane, Baustellenpersonal unterhalb", + ZoneDE: "Ueberschneidungsbereich der Schwenkbereiche", + DefaultSeverity: 5, DefaultExposure: 2, + }, + + // ================================================================ + // Hoehenarbeit / Elevated Work (HP416-HP419) + // ================================================================ + { + ID: "HP416", NameDE: "Absturz Hubarbeitsbuehne bei Wind", NameEN: "Aerial work platform overturning in wind", + RequiredComponentTags: []string{"hydraulic_part", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 90, + ScenarioDE: "Hubarbeitsbuehne kippt bei starkem Wind oder auf ungenuegend tragfaehigem Untergrund um.", + TriggerDE: "Windgeschwindigkeit ueber Grenzwert, weicher Untergrund, Ueberladung des Arbeitskorbs", + HarmDE: "Absturz der Personen im Korb, toedlicher Aufprall, Quetschung unter Buehne", + AffectedDE: "Bediener im Arbeitskorb, Personen im Kippbereich", + ZoneDE: "Arbeitskorb, Kippradius der Buehne, Abstuetzbereich", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP417", NameDE: "Quetschen beim Containerumschlag", NameEN: "Crushing during container handling", + RequiredComponentTags: []string{"moving_part", "crush_point", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M005"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 90, + ScenarioDE: "Person wird zwischen Container und Fahrzeug oder zwischen zwei Containern eingeklemmt.", + TriggerDE: "Aufenthalt im Absetzbereich, Kommunikationsfehler mit Kranfuehrer, Wind", + HarmDE: "Schwere Quetschverletzung, toedliche Einklemmung, Knochenbrueche", + AffectedDE: "Hafenarbeiter, LKW-Fahrer, Einweiser", + ZoneDE: "Absetz- und Stapelbereich, Raum zwischen Containern", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP418", NameDE: "Herabfallen Fassadengeruest", NameEN: "Facade scaffolding collapse", + RequiredComponentTags: []string{"structural_part", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 90, + ScenarioDE: "Fassadengeruest bricht zusammen oder Geruestteile loesen sich und stuerzen auf Personen herab.", + TriggerDE: "Mangelhafter Geruestaufbau, Ueberladung, fehlende Verankerung am Gebaeude, Sturm", + HarmDE: "Erschlagen, Absturz der Geruestarbeiter, Knochenbrueche, toedliche Kopfverletzungen", + AffectedDE: "Geruestbauer, Fassadenarbeiter, Fussgaenger unterhalb", + ZoneDE: "Geruest und Bereich unterhalb, Absturzzone", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP419", NameDE: "Absturz von Fahrtreppen bei Stufe-Ketten-Bruch", NameEN: "Escalator fall due to step chain failure", + RequiredComponentTags: []string{"moving_part", "structural_part"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E14"}, + Priority: 85, + RequiresExpertCalculation: true, + ExpertHintDE: "Stufenketten-Pruefung nach DIN EN 115-1 + TUEV-Abnahme erforderlich.", + ScenarioDE: "Stufenkette der Fahrtreppe reisst, Stufen sacken weg, Personen stuerzen uebereinander.", + TriggerDE: "Ermuedungsbruch der Stufenkette, mangelnde Wartung, Ueberladung", + HarmDE: "Stuerze, Knochenbrueche, Massenpanik, Quetschung am Kammplatte-Einlauf", + AffectedDE: "Fahrgaeste auf der Fahrtreppe, Personen am Ausstieg", + ZoneDE: "Stufenband, Kammplattenbereich, Ein-/Ausstiegszone", + DefaultSeverity: 4, DefaultExposure: 3, + }, + } +} diff --git a/ai-compliance-sdk/internal/iace/hazard_patterns_elevator.go b/ai-compliance-sdk/internal/iace/hazard_patterns_elevator.go new file mode 100644 index 0000000..7f00e7f --- /dev/null +++ b/ai-compliance-sdk/internal/iace/hazard_patterns_elevator.go @@ -0,0 +1,401 @@ +package iace + +// GetElevatorPatterns returns hazard patterns specific to elevators and lifts, +// aligned with EN 81-20/50 (passenger/goods lifts), EN 81-70 (accessibility), +// and EN 81-72 (firefighter lifts). HP174-HP198. +func GetElevatorPatterns() []HazardPattern { + return []HazardPattern{ + // ================================================================ + // Elevator / Lift Patterns (HP174-HP198) + // ================================================================ + { + ID: "HP174", NameDE: "Einschluss in Schachtgrube", NameEN: "Entrapment in pit", + RequiredComponentTags: []string{"gravity_risk", "structural_part", "elevator_shaft"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M051"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 95, + ScenarioDE: "Wartungspersonal steigt in die Schachtgrube. Fahrkorb faehrt nach unten und schliesst den Fluchtweg ab.", + TriggerDE: "Fehlende Grubenfahrt-Sicherung, defekter Grubenschalter, unbeabsichtigter Fahrkorbstart.", + HarmDE: "Toedliche Quetschverletzung zwischen Fahrkorbunterseite und Grubenboden.", + AffectedDE: "Wartungspersonal, Aufzugsmonteure", + ZoneDE: "Schachtgrube unterhalb des Fahrkorbs", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP175", NameDE: "Quetschen im Tuerspalt", NameEN: "Crushing in door gap", + RequiredComponentTags: []string{"elevator_door", "pinch_point", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 94, + ScenarioDE: "Person greift zwischen Fahrkorbtuer und Schachtwand oder wird zwischen schliessenden Tuerfluegeln eingeklemmt.", + TriggerDE: "Defekte Lichtschranke, versagende Reversierung der Tuerschliessbewegung, zu grosser Spalt.", + HarmDE: "Quetschung von Fingern und Haenden, Einklemmen des Koerpers zwischen Tuer und Schachtwand.", + AffectedDE: "Passagiere, Kinder, aeltere Personen", + ZoneDE: "Tuerspalt zwischen Fahrkorbtuer und Schachtinnenwand", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP176", NameDE: "Absturzgefahr bei offenem Schacht", NameEN: "Fall hazard at open shaft", + RequiredComponentTags: []string{"elevator_shaft", "gravity_risk"}, + RequiredEnergyTags: []string{}, + ExcludedComponentTags: []string{"safety_device"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M051"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 98, + ScenarioDE: "Schachttuer oeffnet sich ohne dass der Fahrkorb auf der Etage steht. Person tritt in den offenen Schacht.", + TriggerDE: "Versagen der Schachttuerzuhaltung, Manipulation durch unbefugte Personen, defekte Verriegelung.", + HarmDE: "Toedlicher Absturz in den Aufzugsschacht, schwerste Mehrfachverletzungen.", + AffectedDE: "Alle Personen mit Schachtzugang, insbesondere Kinder und Wartungspersonal", + ZoneDE: "Schachttueroeffnung auf allen Haltestellen", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP177", NameDE: "Pufferversagen — Aufprall in Endlage", NameEN: "Buffer failure — impact at terminal", + RequiredComponentTags: []string{"elevator_shaft", "gravity_risk", "structural_part"}, + RequiredEnergyTags: []string{"stored_energy"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M051", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 96, + RequiresExpertCalculation: true, + ExpertHintDE: "Pufferdimensionierung muss rechnerisch nachgewiesen werden (EN 81-20 Anhang).", + ScenarioDE: "Fahrkorb ueberfaehrt die unterste Haltestelle und trifft auf den Puffer. Puffer absorbiert die Energie nicht ausreichend.", + TriggerDE: "Versagen der Endschalter, defekte oder falsch dimensionierte Puffer, Uebergeschwindigkeit.", + HarmDE: "Schwere Wirbelsaeulenverletzungen, Knochenbrueche, innere Verletzungen durch Aufprall.", + AffectedDE: "Passagiere im Fahrkorb", + ZoneDE: "Schachtgrube, unterste Endlage des Fahrkorbs", + DefaultSeverity: 5, DefaultExposure: 1, + }, + { + ID: "HP178", NameDE: "Seilriss / Treibscheibenversagen", NameEN: "Rope break / traction sheave failure", + RequiredComponentTags: []string{"elevator_traction", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M054", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E08", "E20"}, + Priority: 99, + RequiresExpertCalculation: true, + ExpertHintDE: "Seilberechnung und Treibfaehigkeitsnachweis nach EN 81-20 Abschnitt 5.7 erforderlich.", + ScenarioDE: "Tragseile reissen oder rutschen auf der Treibscheibe. Fahrkorb faellt unkontrolliert ab.", + TriggerDE: "Verschleiss der Tragseile ueber Ablegereife, Schmierversagen der Treibscheibe, Ueberlast.", + HarmDE: "Toedliche Verletzungen durch unkontrollierten Absturz des Fahrkorbs.", + AffectedDE: "Passagiere im Fahrkorb", + ZoneDE: "Gesamter Aufzugsschacht, Treibscheibenraum", + DefaultSeverity: 5, DefaultExposure: 1, + }, + { + ID: "HP179", NameDE: "Uebergeschwindigkeit des Fahrkorbs", NameEN: "Car overspeed", + RequiredComponentTags: []string{"elevator_traction", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard", "safety_function_failure"}, + SuggestedMeasureIDs: []string{"M054", "M106", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 97, + RequiresExpertCalculation: true, + ExpertHintDE: "Geschwindigkeitsbegrenzer-Ausloesegeschwindigkeit und Fangvorrichtung muessen nach EN 81-20 ausgelegt werden.", + ScenarioDE: "Fahrkorb beschleunigt ueber die Nenngeschwindigkeit hinaus. Geschwindigkeitsbegrenzer oder Fangvorrichtung loest nicht oder zu spaet aus.", + TriggerDE: "Defekter Frequenzumrichter, Versagen des Geschwindigkeitsbegrenzers, Seil-Treibscheiben-Durchrutschen.", + HarmDE: "Schwere Aufprallverletzungen, Wirbelsaeulenschaeden, innere Blutungen.", + AffectedDE: "Passagiere im Fahrkorb", + ZoneDE: "Fahrkorb und Schachtgrube", + DefaultSeverity: 5, DefaultExposure: 1, + }, + { + ID: "HP180", NameDE: "Fehlende Notrufeinrichtung", NameEN: "Missing emergency call device", + RequiredComponentTags: []string{"elevator_car", "structural_part"}, + RequiredEnergyTags: []string{}, + ExcludedComponentTags: []string{"emergency_comm"}, + GeneratedHazardCats: []string{"safety_function_failure"}, + SuggestedMeasureIDs: []string{"M106"}, + SuggestedEvidenceIDs: []string{"E01"}, + Priority: 85, + ScenarioDE: "Passagier ist im Fahrkorb eingeschlossen und kann keinen Notruf absetzen. Keine Kommunikation nach aussen moeglich.", + TriggerDE: "Defektes Notrufsystem, kein GSM-Empfang, ausgefallene Notrufzentrale.", + HarmDE: "Panikattacken, Dehydrierung bei laengerem Einschluss, Lebensgefahr fuer vorerkrankte Personen.", + AffectedDE: "Eingeschlossene Passagiere, insbesondere aeltere oder vorerkrankte Personen", + ZoneDE: "Fahrkorb (gesamter Innenraum)", + DefaultSeverity: 3, DefaultExposure: 2, + }, + { + ID: "HP181", NameDE: "Brandfalle im Aufzugsschacht", NameEN: "Fire trap in elevator shaft", + RequiredComponentTags: []string{"elevator_shaft", "structural_part"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard", "material_environmental"}, + SuggestedMeasureIDs: []string{"M124", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E20"}, + Priority: 93, + ScenarioDE: "Feuer bricht im Gebaeude aus. Aufzugsschacht wirkt als Kamin und verteilt Rauch auf alle Stockwerke. Fahrkorb bleibt in Brandetage stehen.", + TriggerDE: "Fehlende Brandschutzklappe, defekte Brandfallsteuerung, Nutzung des Aufzugs im Brandfall.", + HarmDE: "Rauchgasvergiftung, Verbrennungen, Tod durch Erstickung im eingeschlossenen Fahrkorb.", + AffectedDE: "Passagiere, Gebaeudebewohner", + ZoneDE: "Aufzugsschacht, Fahrkorb, alle Haltestellen", + DefaultSeverity: 5, DefaultExposure: 1, + }, + { + ID: "HP182", NameDE: "Quetschen zwischen Fahrkorb und Gegengewicht", NameEN: "Crushing between car and counterweight", + RequiredComponentTags: []string{"elevator_traction", "counterweight", "pinch_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 92, + ScenarioDE: "Wartungspersonal arbeitet im Schacht auf dem Fahrkorbdach. Fahrkorb faehrt nach oben, Gegengewicht nach unten — Quetschstelle entsteht.", + TriggerDE: "Fehlende Schutzabstaende, defekter Inspektionsbetrieb, unbeabsichtigter Normalfahrt-Start.", + HarmDE: "Toedliche Quetschverletzungen zwischen Fahrkorb und Gegengewicht oder Schachtstrukturen.", + AffectedDE: "Wartungspersonal, Aufzugsmonteure auf dem Fahrkorbdach", + ZoneDE: "Schachtbereich in dem sich Fahrkorb und Gegengewicht begegnen", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP183", NameDE: "Elektrischer Schlag im Triebwerksraum", NameEN: "Electric shock in machine room", + RequiredComponentTags: []string{"elevator_traction", "electrical_part"}, + RequiredEnergyTags: []string{"electrical"}, + GeneratedHazardCats: []string{"electrical_hazard"}, + SuggestedMeasureIDs: []string{"M051", "M054", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 90, + ScenarioDE: "Wartungstechniker arbeitet im Triebwerksraum an spannungsfuehrenden Teilen (Frequenzumrichter, Schaltschrank, Motor).", + TriggerDE: "Fehlende Freischaltung, defekte Isolierung, direktes Beruehren spannungsfuehrender Komponenten.", + HarmDE: "Stromschlag mit Herzrhythmusstoerungen, Verbrennungen, Tod durch Herzkammerflimmern.", + AffectedDE: "Aufzugsmonteure, Elektrofachkraefte", + ZoneDE: "Triebwerksraum, Schaltschrank, Frequenzumrichter", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP184", NameDE: "Hydraulikversagen bei hydraulischem Aufzug", NameEN: "Hydraulic failure in hydraulic lift", + RequiredComponentTags: []string{"hydraulic_part", "elevator_car", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard", "pneumatic_hydraulic"}, + SuggestedMeasureIDs: []string{"M001", "M051", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E08", "E20"}, + Priority: 96, + ScenarioDE: "Hydraulikzylinder oder -leitung versagt. Fahrkorb sinkt unkontrolliert ab oder faellt herab.", + TriggerDE: "Leitungsbruch, Dichtungsversagen am Kolben, defektes Absperrventil, Korrosion des Zylinders.", + HarmDE: "Schwere Aufprallverletzungen, Quetschungen in der Schachtgrube.", + AffectedDE: "Passagiere im Fahrkorb", + ZoneDE: "Fahrkorb, Schachtgrube, Hydraulikzylinder-Bereich", + DefaultSeverity: 5, DefaultExposure: 1, + }, + { + ID: "HP185", NameDE: "Scherenstelle Fahrkorb / Schachtwand", NameEN: "Shearing between car and shaft wall", + RequiredComponentTags: []string{"elevator_car", "shear_risk", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 91, + ScenarioDE: "Koerperteil ragt ueber die Fahrkorbkante hinaus waehrend der Fahrt. Scherstelle zwischen Fahrkorb und Schachtstruktur.", + TriggerDE: "Defekte Fahrkorbtuer, fehlende Schachtverkleidung, herauslehnende Passagiere bei Lastenaufzuegen.", + HarmDE: "Abtrennung von Gliedmassen, toedliche Scherverletzungen.", + AffectedDE: "Passagiere, Ladepersonal bei Lastenaufzuegen", + ZoneDE: "Uebergangsbereich zwischen Fahrkorbkante und Schachtinnenwand", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP186", NameDE: "NOT-Befreiung durch Laien", NameEN: "Emergency rescue by untrained persons", + RequiredComponentTags: []string{"elevator_car", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard", "safety_function_failure"}, + SuggestedMeasureIDs: []string{"M106", "M141"}, + SuggestedEvidenceIDs: []string{"E01"}, + Priority: 82, + ScenarioDE: "Nicht geschulte Personen versuchen eingeschlossene Passagiere zu befreien durch manuelle Oeffnung der Schachttuer.", + TriggerDE: "Fehlende Rettungskenntnisse, Panik, Versuch der Eigenrettung ueber das Fahrkorbdach.", + HarmDE: "Absturz in den Schacht, Quetschung bei unerwarteter Fahrkorbewegung.", + AffectedDE: "Retter und eingeschlossene Personen", + ZoneDE: "Schachttueroeffnung, Fahrkorbdach, Schachtinnenraum", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP187", NameDE: "Einklemmung im Tuermechanismus", NameEN: "Trapping in door mechanism", + RequiredComponentTags: []string{"elevator_door", "pinch_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 88, + ScenarioDE: "Finger oder Kleidungsstuecke werden in den Tuermechanismus (Fuehrungsschienen, Rollenkaesten) eingezogen.", + TriggerDE: "Kinder spielen am Tuermechanismus, fehlende Abdeckungen, Kleidung verfaengt sich.", + HarmDE: "Quetschung von Fingern, Zerrungen durch mitgeschleppte Kleidung.", + AffectedDE: "Passagiere, insbesondere Kinder", + ZoneDE: "Tuermechanismus, Fuehrungsschienen der Schiebetuer", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP188", NameDE: "Ueberlast — Seilspannungsgrenze ueberschritten", NameEN: "Overload — rope tension limit exceeded", + RequiredComponentTags: []string{"elevator_traction", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard", "safety_function_failure"}, + SuggestedMeasureIDs: []string{"M001", "M106"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 93, + RequiresExpertCalculation: true, + ExpertHintDE: "Ueberlasterkennung muss nach EN 81-20 kalibriert sein. Tragseilsicherheitsfaktor nachweisen.", + ScenarioDE: "Fahrkorb wird ueber die zulaessige Tragfaehigkeit beladen. Tragseile erreichen ihre Spannungsgrenze.", + TriggerDE: "Defekte Ueberlastwaage, Manipulation der Lastbegrenzung, schwere Gueter im Personenaufzug.", + HarmDE: "Seilversagen mit Fahrkorbabsturz, Pufferaufprall mit schweren Verletzungen.", + AffectedDE: "Alle Passagiere im ueberladenen Fahrkorb", + ZoneDE: "Fahrkorb, Tragseile, Treibscheibe", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP189", NameDE: "Fahrkorb-Niveauversatz an Haltestelle", NameEN: "Car leveling offset at landing", + RequiredComponentTags: []string{"elevator_car", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M106"}, + SuggestedEvidenceIDs: []string{"E01"}, + Priority: 75, + ScenarioDE: "Fahrkorb steht nicht buendig mit dem Stockwerksboden. Stufenbildung von mehr als 20mm.", + TriggerDE: "Verschleiss der Bremse, fehlende Nachregulierung, defekter Niveauschalter.", + HarmDE: "Stolpersturz beim Betreten oder Verlassen des Fahrkorbs, insbesondere fuer Rollstuhlfahrer und Gehbehinderte.", + AffectedDE: "Passagiere, insbesondere mobilitaetseingeschraenkte Personen", + ZoneDE: "Uebergang Fahrkorbboden / Stockwerksboden", + DefaultSeverity: 2, DefaultExposure: 4, + }, + { + ID: "HP190", NameDE: "Quetschgefahr auf Fahrkorbdach", NameEN: "Crushing hazard on car roof", + RequiredComponentTags: []string{"elevator_car", "pinch_point", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M051"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 94, + ScenarioDE: "Monteur arbeitet auf dem Fahrkorbdach im Inspektionsbetrieb. Quetschgefahr zwischen Fahrkorbdach und Schachtdecke.", + TriggerDE: "Endschalter Schachtkopf defekt, zu geringe Schutzraeume, Wechsel von Inspektions- auf Normalbetrieb.", + HarmDE: "Toedliche Quetschung zwischen Fahrkorbdach und Schachtdecke oder Einbauten.", + AffectedDE: "Wartungspersonal auf dem Fahrkorbdach", + ZoneDE: "Fahrkorbdach, Schachtkopf", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP191", NameDE: "Unbeabsichtigte Fahrkorbewegung bei offener Tuer", NameEN: "Unintended car movement with door open", + RequiredComponentTags: []string{"elevator_door", "elevator_traction", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard", "safety_function_failure"}, + SuggestedMeasureIDs: []string{"M001", "M054", "M106"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 97, + RequiresExpertCalculation: true, + ExpertHintDE: "UCM (Unintended Car Movement) Schutz nach EN 81-20 Abschnitt 5.6.7 nachweisen.", + ScenarioDE: "Fahrkorb bewegt sich waehrend die Tueren geoeffnet sind. Person wird zwischen Fahrkorb und Schacht eingeklemmt.", + TriggerDE: "Bremsversagen, Steuerungsfehler, fehlende UCM-Schutzeinrichtung.", + HarmDE: "Toedliche Scher- oder Quetschverletzung beim Ein- oder Aussteigen.", + AffectedDE: "Passagiere beim Ein-/Aussteigen", + ZoneDE: "Tuerschwelle, Uebergang Fahrkorb/Stockwerk", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP192", NameDE: "Vandalismus an Aufzugssteuerung", NameEN: "Vandalism on elevator controls", + RequiredComponentTags: []string{"elevator_car", "programmable"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"safety_function_failure"}, + SuggestedMeasureIDs: []string{"M005", "M106"}, + SuggestedEvidenceIDs: []string{"E01"}, + Priority: 70, + ScenarioDE: "Unbefugte manipulieren Bedienelemente, Notruf oder Steuerung im Fahrkorb. Sicherheitsfunktionen werden beeintraechtigt.", + TriggerDE: "Mutwillige Beschaedigung von Tastern, Blockieren der Tueren, Ueberbruecken von Sicherheitskreisen.", + HarmDE: "Einschluss, Tuerfunktionsstoerung, Folgeverletzungen durch deaktivierte Sicherheitseinrichtungen.", + AffectedDE: "Nachfolgende Passagiere", + ZoneDE: "Fahrkorb-Bedientableau, Steuerungsschrank", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP193", NameDE: "Seismische Belastung Aufzugsanlage", NameEN: "Seismic load on elevator system", + RequiredComponentTags: []string{"elevator_shaft", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M051", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E20"}, + Priority: 60, + ScenarioDE: "Erdbeben oder starke Gebaeudeschwingungen verursachen Entgleisung des Fahrkorbs aus den Fuehrungsschienen.", + TriggerDE: "Seismische Belastung ueberschreitet Auslegung der Fuehrungsschienen und Befestigungen.", + HarmDE: "Fahrkorbblockade, Einschluss, Absturz bei Schienenbruch.", + AffectedDE: "Passagiere im Fahrkorb", + ZoneDE: "Gesamter Aufzugsschacht, Fuehrungsschienen", + DefaultSeverity: 4, DefaultExposure: 1, + }, + { + ID: "HP194", NameDE: "Fangvorrichtung klemmt nicht", NameEN: "Safety gear does not engage", + RequiredComponentTags: []string{"elevator_traction", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"safety_function_failure", "mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M106", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 98, + RequiresExpertCalculation: true, + ExpertHintDE: "Fangvorrichtung muss jaehrlich geprueft und die Ausloesung verifiziert werden (EN 81-20, TRA 007).", + ScenarioDE: "Geschwindigkeitsbegrenzer loest aus, aber die Fangvorrichtung greift nicht in die Fuehrungsschienen.", + TriggerDE: "Verschleiss der Fangbacken, Korrosion, fehlerhafte Justierung, fehlende Wartung.", + HarmDE: "Unkontrollierter Absturz des Fahrkorbs mit toedlichen Verletzungen.", + AffectedDE: "Passagiere im Fahrkorb", + ZoneDE: "Fangvorrichtung am Fahrkorbrahmen, Fuehrungsschienen", + DefaultSeverity: 5, DefaultExposure: 1, + }, + { + ID: "HP195", NameDE: "Laermexposition Triebwerksraum", NameEN: "Noise exposure in machine room", + RequiredComponentTags: []string{"elevator_traction", "noise_source"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"noise_vibration"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 55, + ScenarioDE: "Dauerlaerm durch Antriebsmaschine, Luefter und Frequenzumrichter im Triebwerksraum ueberschreitet 80 dB(A).", + TriggerDE: "Laengerer Aufenthalt im Triebwerksraum ohne Gehoerschutz, fehlende Schalldaemmung.", + HarmDE: "Gehoerschaedigung, Tinnitus bei wiederholter Exposition.", + AffectedDE: "Wartungspersonal, Aufzugsmonteure", + ZoneDE: "Triebwerksraum, maschinenraumloser Schachtkopf", + DefaultSeverity: 2, DefaultExposure: 3, + }, + { + ID: "HP196", NameDE: "Absturz in Schacht bei Fahrkorbdach-Arbeiten", NameEN: "Fall into shaft during car-top work", + RequiredComponentTags: []string{"elevator_car", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M051", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 92, + ScenarioDE: "Monteur steht auf dem Fahrkorbdach und stuerzt in den Schacht oder zwischen Fahrkorb und Schachtwand.", + TriggerDE: "Fehlende Absturzsicherung auf Fahrkorbdach, glatte Oberflaeche, fehlender Gelaender.", + HarmDE: "Toedliche Sturzverletzungen, Knochenbrueche.", + AffectedDE: "Wartungspersonal, Aufzugsmonteure", + ZoneDE: "Fahrkorbdach, Spalt zwischen Fahrkorb und Schachtwand", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP197", NameDE: "Vergiftung durch Oel/Schmierstoffe im Schacht", NameEN: "Intoxication from oil/lubricants in shaft", + RequiredComponentTags: []string{"elevator_shaft", "chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M124", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 50, + ScenarioDE: "Schmiermittel und Oeldaempfe sammeln sich im schlecht beluefteten Schacht. Wartungspersonal atmet daempfe ein.", + TriggerDE: "Fehlende Schachtbelueftung, ueberlaufende Oelsammelwanne, defekte Absaugung.", + HarmDE: "Atemwegsreizung, Schwindel, Uebelkeit bei laengerem Aufenthalt.", + AffectedDE: "Wartungspersonal im Schacht", + ZoneDE: "Schachtgrube, schlecht belueftete Schachtbereiche", + DefaultSeverity: 2, DefaultExposure: 2, + }, + { + ID: "HP198", NameDE: "Tuerschliessdruck zu hoch", NameEN: "Door closing force too high", + RequiredComponentTags: []string{"elevator_door", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M106"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 78, + ScenarioDE: "Tuerschliessmechanismus uebt zu grosse Kraft aus. Passagiere werden beim Schliessen der Tueren getroffen.", + TriggerDE: "Falsch eingestellter Tuerantrieb, defekter Kraftbegrenzer, fehlende Sicherheitsleiste.", + HarmDE: "Prellungen, Quetschungen, Verletzungen insbesondere bei Kindern und aelteren Personen.", + AffectedDE: "Passagiere, insbesondere Kinder und mobilitaetseingeschraenkte Personen", + ZoneDE: "Tueroeffnungsbereich, Schliesskanten der Fahrkorbtuer", + DefaultSeverity: 3, DefaultExposure: 4, + }, + } +} diff --git a/ai-compliance-sdk/internal/iace/hazard_patterns_food_pkg.go b/ai-compliance-sdk/internal/iace/hazard_patterns_food_pkg.go new file mode 100644 index 0000000..334ae9f --- /dev/null +++ b/ai-compliance-sdk/internal/iace/hazard_patterns_food_pkg.go @@ -0,0 +1,549 @@ +package iace + +// GetFoodPkgPatterns returns hazard patterns for food processing machines +// and packaging machines (HP300-HP334). +func GetFoodPkgPatterns() []HazardPattern { + return []HazardPattern{ + // ================================================================ + // Food Processing Machine Patterns (HP300-HP319) + // ================================================================ + { + ID: "HP300", NameDE: "Einzug in Fleischwolf", NameEN: "Draw-in at meat grinder", + RequiredComponentTags: []string{"rotating_part", "cutting_part"}, + RequiredEnergyTags: []string{"rotational"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M051"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 97, + ScenarioDE: "Bediener schiebt Fleisch manuell in den Fleischwolf und geraet mit Fingern oder Hand in die Foerderschnecke.", + TriggerDE: "Direkter Zugang zur Foerderschnecke ohne Schutztrichter, Blockade wird manuell beseitigt.", + HarmDE: "Amputation von Fingern oder Hand, schwere Quetsch- und Schnittverletzungen.", + AffectedDE: "Bedienpersonal, Reinigungspersonal.", + ZoneDE: "Einfuelloeffnung und Foerderschneckenbereich des Fleischwolfs.", + DefaultSeverity: 5, DefaultExposure: 4, + }, + { + ID: "HP301", NameDE: "Verbrennungsgefahr am Backofen/Kochkessel", NameEN: "Burn hazard at oven/cooking kettle", + RequiredComponentTags: []string{"high_temperature", "structural_part"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 90, + ScenarioDE: "Bediener beruehrt heisse Oberflaechen des Backofens oder Kochkessels beim Be- und Entladen.", + TriggerDE: "Fehlende Isolierung, defekte Handschuhe, unbeabsichtigtes Beruehren heisser Tueren oder Waende.", + HarmDE: "Verbrennungen zweiten und dritten Grades an Haenden und Unterarmen.", + AffectedDE: "Bedienpersonal, Reinigungspersonal.", + ZoneDE: "Ofentuer, Kesselwand, Beschickungsbereich.", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP302", NameDE: "Kontamination durch mangelnde Hygiene", NameEN: "Contamination due to insufficient hygiene", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20", "E21"}, + Priority: 85, + ScenarioDE: "Lebensmittelrueckstaende in schwer zugaenglichen Maschinenbereichen fuehren zu mikrobieller Kontamination.", + TriggerDE: "Ungenuegender Reinigungsplan, konstruktiv bedingte Totzonen, fehlende CIP-Faehigkeit.", + HarmDE: "Lebensmittelvergiftung bei Endverbrauchern, Rueckrufaktion, Betriebsschliessung.", + AffectedDE: "Endverbraucher, Bedienpersonal (bei toxischen Keimen).", + ZoneDE: "Produktberuehrende Oberflaechen, Dichtungsbereiche, Leitungstotpunkte.", + DefaultSeverity: 4, DefaultExposure: 5, + }, + { + ID: "HP303", NameDE: "Schneidverletzung an Aufschnittmaschine", NameEN: "Cut injury at slicing machine", + RequiredComponentTags: []string{"cutting_part", "rotating_part"}, + RequiredEnergyTags: []string{"rotational"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 95, + ScenarioDE: "Bediener greift beim Schneiden von Wurst oder Kaese in den Bereich des rotierenden Kreismessers.", + TriggerDE: "Fehlender Restehalter, Umgehung der Messerschutzabdeckung, Nachlauf des Messers.", + HarmDE: "Tiefe Schnittverletzungen, Amputation von Fingerkuppen oder Fingern.", + AffectedDE: "Bedienpersonal, Reinigungspersonal beim Messerwechsel.", + ZoneDE: "Messerscheibe, Schnittspalt, Produktvorschubbereich.", + DefaultSeverity: 4, DefaultExposure: 5, + }, + { + ID: "HP304", NameDE: "Dampfverbrennung beim Oeffnen des Druckkessels", NameEN: "Steam burn when opening pressure vessel", + RequiredComponentTags: []string{"high_pressure", "high_temperature"}, + RequiredEnergyTags: []string{"thermal", "stored_energy"}, + GeneratedHazardCats: []string{"thermal_hazard", "pneumatic_hydraulic"}, + SuggestedMeasureIDs: []string{"M051", "M054", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E08", "E11"}, + Priority: 95, + RequiresExpertCalculation: true, + ExpertHintDE: "Druckabbaukurve und Verriegelungslogik des Deckels muessen berechnet und validiert werden.", + ExpertHintEN: "Pressure release curve and lid interlock logic must be calculated and validated.", + ScenarioDE: "Bediener oeffnet den Deckel eines Druckkochkessels oder Autoklaven bei Restdruck.", + TriggerDE: "Defekte Druckverriegelung, Umgehung des Sicherheitsschalters, Druckanzeige defekt.", + HarmDE: "Schwere Verbruehungen an Gesicht, Oberkoerper und Armen durch austretenden Dampf.", + AffectedDE: "Bedienpersonal, umstehende Personen.", + ZoneDE: "Deckelbereich, Entlueftungsstutzen, gesamte Bedienfront des Kessels.", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP305", NameDE: "Quetschen in Teigknetmaschine", NameEN: "Crushing in dough kneading machine", + RequiredComponentTags: []string{"rotating_part", "crush_point", "high_force"}, + RequiredEnergyTags: []string{"rotational"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M051"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 96, + ScenarioDE: "Bediener greift in den laufenden Knetarm, um Teig abzuloesen oder Zutaten nachzufuellen.", + TriggerDE: "Fehlende Schutzabdeckung, Manipulation des Deckelschalters, blockierter Not-Halt.", + HarmDE: "Quetschung und Amputation von Fingern oder der gesamten Hand, Unterarmfraktur.", + AffectedDE: "Bedienpersonal, Auszubildende in Baeckereibetrieben.", + ZoneDE: "Knetarm, Kesselinnenwand, Bereich zwischen Knethaken und Kesselrand.", + DefaultSeverity: 5, DefaultExposure: 4, + }, + { + ID: "HP306", NameDE: "Einzug in Walzenmuehle", NameEN: "Draw-in at roller mill", + RequiredComponentTags: []string{"rotating_part", "entanglement_risk", "high_force"}, + RequiredEnergyTags: []string{"rotational"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M051"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 97, + ScenarioDE: "Bediener wird mit Fingern, Hand oder Kleidung in den Walzenspalt der Muehle eingezogen.", + TriggerDE: "Manuelle Reinigung bei laufenden Walzen, fehlende Schutzabdeckung, Einzug durch Kleidung.", + HarmDE: "Amputation von Fingern oder Hand, schwere Quetschverletzungen des Unterarms.", + AffectedDE: "Bedienpersonal, Reinigungspersonal, Muellereifacharbeiter.", + ZoneDE: "Walzenspalt (Einzugsstelle), Zugangsbereich zur Mahlzone.", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP307", NameDE: "Elektrischer Schlag in Nassumgebung (IP-Schutz)", NameEN: "Electric shock in wet environment (IP rating)", + RequiredComponentTags: []string{"electrical_part"}, + RequiredEnergyTags: []string{"electrical_energy"}, + GeneratedHazardCats: []string{"electrical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004"}, + SuggestedEvidenceIDs: []string{"E04", "E10"}, + Priority: 94, + RequiresExpertCalculation: true, + ExpertHintDE: "IP-Schutzklasse muss fuer Nassreinigung (mindestens IPX5) nachgewiesen werden.", + ExpertHintEN: "IP rating must be verified for wet cleaning conditions (minimum IPX5).", + ScenarioDE: "Wasser dringt beim Reinigen in elektrische Komponenten ein und erzeugt einen Fehlerstrom.", + TriggerDE: "Unzureichende IP-Schutzklasse, defekte Kabeldurchfuehrungen, beschaedigtes Gehaeuse.", + HarmDE: "Elektrischer Schlag, Herzkammerflimmern, Tod durch Stromschlag.", + AffectedDE: "Reinigungspersonal, Bedienpersonal bei Nassreinigung.", + ZoneDE: "Steuerungsgehaeuse, Kabeluebergaenge, Antriebsgehaeuse.", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP308", NameDE: "Allergene Kreuzkontamination", NameEN: "Allergen cross-contamination", + RequiredComponentTags: []string{"structural_part", "chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20", "E21"}, + Priority: 82, + ScenarioDE: "Allergene Rueckstaende (Gluten, Nuss, Milch) verbleiben nach Produktwechsel in der Maschine.", + TriggerDE: "Ungenuegender Reinigungsprozess, fehlende Allergenspuelung, verborgene Totzonen.", + HarmDE: "Allergische Reaktion bis anaphylaktischer Schock bei sensibilisierten Endverbrauchern.", + AffectedDE: "Endverbraucher (Allergiker), indirekt Bedienpersonal.", + ZoneDE: "Produktberuehrende Leitungen, Ventile, Dichtungen, Mischbehaelter.", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP309", NameDE: "Biologische Gefaehrdung (Bakterien, Schimmel)", NameEN: "Biological hazard (bacteria, mold)", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20", "E21"}, + Priority: 80, + ScenarioDE: "Bakterien oder Schimmel siedeln sich in feuchten, schlecht beluefteten Maschinenbereichen an.", + TriggerDE: "Stillstandszeiten ohne Trocknung, Kondenswasserbildung, defekte Dichtungen.", + HarmDE: "Lebensmittelinfektion, Atemwegserkrankung bei Bedienpersonal durch Sporenexposition.", + AffectedDE: "Bedienpersonal, Endverbraucher.", + ZoneDE: "Kondensatsammler, Dichtungsnuten, Behaelterboeden, Lueftungskanaele.", + DefaultSeverity: 3, DefaultExposure: 4, + }, + { + ID: "HP310", NameDE: "Quetschen durch Abfuellstempel", NameEN: "Crushing by filling piston", + RequiredComponentTags: []string{"crush_point", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M051"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 92, + ScenarioDE: "Hand des Bedieners geraet zwischen den Abfuellstempel und den Behaelter bei manuellem Nachjustieren.", + TriggerDE: "Manuelle Korrektur bei laufendem Takt, fehlende Schutzabdeckung der Stempelzone.", + HarmDE: "Quetschung der Finger oder Hand, Frakturen.", + AffectedDE: "Bedienpersonal an der Abfuellstation.", + ZoneDE: "Stempelbereich, Dosierkammer, Behaelterfuehrung.", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP311", NameDE: "Sturz auf nassem/fettigem Boden", NameEN: "Slip on wet/greasy floor", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard", "ergonomic"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 70, + ScenarioDE: "Bediener rutscht auf nassem, fettigem oder mit Lebensmittelresten verschmutztem Boden im Produktionsbereich.", + TriggerDE: "Wasserlachen, Fettspritzer, verschuettete Lebensmittel, fehlende rutschfeste Matten.", + HarmDE: "Knochenbrueche, Prellungen, Kopfverletzungen bei Sturz auf harten Boden.", + AffectedDE: "Alle Personen im Produktionsbereich.", + ZoneDE: "Gesamter Produktionsboden, Bereich um Spuelstationen, Abfluesse.", + DefaultSeverity: 3, DefaultExposure: 5, + }, + { + ID: "HP312", NameDE: "Erstickungsgefahr in Gaerbehaelter/Silo", NameEN: "Asphyxiation in fermentation vessel/silo", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E20"}, + Priority: 96, + ScenarioDE: "Person steigt zur Inspektion oder Reinigung in einen Gaerbehaelter oder Silo und wird durch CO2 oder Sauerstoffmangel bewusstlos.", + TriggerDE: "Betreten ohne Gasmessung, fehlende Belueftung, Gaerprozess produziert CO2.", + HarmDE: "Bewusstlosigkeit, Erstickungstod.", + AffectedDE: "Reinigungspersonal, Wartungspersonal.", + ZoneDE: "Innenraum von Gaertanks, Silos, geschlossenen Behaeltern.", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP313", NameDE: "Veraetzung durch Reinigungsmittel (CIP)", NameEN: "Chemical burn from CIP cleaning agents", + RequiredComponentTags: []string{"chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 85, + ScenarioDE: "Bediener kommt mit konzentrierter Lauge oder Saeure waehrend CIP-Reinigung in Kontakt.", + TriggerDE: "Leckage an CIP-Leitung, Oeffnen von Verbindungen unter Druck, Spritzer beim Ansetzen.", + HarmDE: "Veraetzungen der Haut und Augen, Atemwegsveraetzung bei Dampfexposition.", + AffectedDE: "Reinigungspersonal, Wartungspersonal.", + ZoneDE: "CIP-Station, Verbindungsleitungen, Dosierbereich.", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP314", NameDE: "Laerm durch Hochdruckreinigung", NameEN: "Noise from high-pressure cleaning", + RequiredComponentTags: []string{"noise_source", "high_pressure"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"noise_vibration"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E12", "E20"}, + Priority: 65, + ScenarioDE: "Hochdruckreiniger erzeugt Schallpegel ueber 90 dB(A) im geschlossenen Produktionsraum.", + TriggerDE: "Taegliche Nassreinigung mit Hochdrucklanze ohne Gehoerschutz.", + HarmDE: "Laermschwerhoerigkeit, Tinnitus bei regelmaessiger Exposition.", + AffectedDE: "Reinigungspersonal, Bedienpersonal in Nachbarbereichen.", + ZoneDE: "Gesamter Reinigungsbereich, Radius ca. 5 m um die Hochdrucklanze.", + DefaultSeverity: 3, DefaultExposure: 5, + }, + { + ID: "HP315", NameDE: "Verbrennungsgefahr an Fritteuse/Heissoelbad", NameEN: "Burn hazard at deep fryer/hot oil bath", + RequiredComponentTags: []string{"high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 90, + ScenarioDE: "Heisses Fett spritzt beim Einlegen von feuchtem Gargut oder bei Ueberfuellung der Fritteuse.", + TriggerDE: "Feuchtigkeit im Fritiergut, Ueberfuellung, defekter Temperaturbegrenzer.", + HarmDE: "Schwere Verbrennungen durch Heissoelspritzer an Haenden, Gesicht und Oberkoerper.", + AffectedDE: "Bedienpersonal, Kuechenpersonal.", + ZoneDE: "Fritteusenoeffnung, Beschickungsbereich, Ablageflaeche.", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP316", NameDE: "Schnitt beim manuellen Messerwechsel", NameEN: "Cut during manual blade change", + RequiredComponentTags: []string{"cutting_part"}, + RequiredEnergyTags: []string{}, + ExcludedComponentTags: []string{"safety_device"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E24"}, + Priority: 82, + ScenarioDE: "Bediener wechselt Messer oder Klingen an Schneidemaschine ohne Schnittschutzhandschuhe.", + TriggerDE: "Abrutschen beim Loesen der Klinge, scharfe Kanten, oelige Haende.", + HarmDE: "Tiefe Schnittwunden an Fingern und Handflaeche, Sehnenverletzung.", + AffectedDE: "Bedienpersonal, Wartungspersonal.", + ZoneDE: "Messeraufnahme, Klingenhalter, Reinigungsbereich.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP317", NameDE: "Explosion in Mehlstaubatmosphaere", NameEN: "Explosion in flour dust atmosphere", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M051", "M054", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E20"}, + Priority: 95, + RequiresExpertCalculation: true, + ExpertHintDE: "ATEX-Zoneneinteilung und Zuendquellenanalyse erforderlich (RL 2014/34/EU).", + ExpertHintEN: "ATEX zone classification and ignition source analysis required (Dir. 2014/34/EU).", + ScenarioDE: "Mehlstaub bildet explosionsfaehige Atmosphaere in Muehle, Silo oder Knetstation.", + TriggerDE: "Funkenbildung, heisse Oberflaeche, elektrostatische Entladung in staubbehafteter Umgebung.", + HarmDE: "Schwere Verbrennungen, Druckwellenverletzung, Gebaeudezersoerung.", + AffectedDE: "Alle Personen im Gebaeude, besonders Muellerei- und Baeckereipersonal.", + ZoneDE: "Silos, Rohrleitung, Knetstation, Abfuellbereich.", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP318", NameDE: "Ergonomische Belastung bei manueller Portionierung", NameEN: "Ergonomic strain during manual portioning", + RequiredComponentTags: []string{"ergonomic"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"ergonomic"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 55, + ScenarioDE: "Bediener fuehrt ueber Stunden repetitive Portionier- oder Verpackungsbewegungen aus.", + TriggerDE: "Hohe Taktrate, ungenuegender Arbeitsplatzwechsel, fehlende Hebehilfen.", + HarmDE: "Sehnenscheidenentzuendung, Karpaltunnelsyndrom, Rueckenprobleme.", + AffectedDE: "Bedienpersonal, Verpackungspersonal.", + ZoneDE: "Portionier- und Verpackungsarbeitsplatz.", + DefaultSeverity: 2, DefaultExposure: 5, + }, + { + ID: "HP319", NameDE: "Kaelteverletzung im Tiefkuehlbereich", NameEN: "Cold injury in deep-freeze area", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"thermal_hazard", "ergonomic"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E20", "E24"}, + Priority: 75, + ScenarioDE: "Bediener arbeitet laengere Zeit in Tiefkuehlraum (-18C bis -25C) und erleidet Unterkuehlung oder Erfrierung.", + TriggerDE: "Fehlende Kaelteschutzkleidung, Eingeschlossensein im Tiefkuehlraum, defekte Notentriegelung.", + HarmDE: "Erfrierungen an Haenden und Fuessen, Unterkuehlung, Bewusstlosigkeit.", + AffectedDE: "Lagerpersonal, Bedienpersonal, Kommissionierer.", + ZoneDE: "Tiefkuehlraum, Vorraum, Uebergangszone.", + DefaultSeverity: 4, DefaultExposure: 3, + }, + // ================================================================ + // Packaging Machine Patterns (HP320-HP334) + // ================================================================ + { + ID: "HP320", NameDE: "Quetschen im Siegelbereich", NameEN: "Crushing in sealing area", + RequiredComponentTags: []string{"crush_point", "high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"mechanical_hazard", "thermal_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M051"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 93, + ScenarioDE: "Bediener greift in den Siegelbereich der Verpackungsmaschine waehrend des Siegeltakts.", + TriggerDE: "Manuelle Korrektur von Folienversatz, Manipulation der Schutzabdeckung, Stoerungsbeseitigung.", + HarmDE: "Quetschverletzung und Verbrennung der Finger durch heisse Siegelbacken.", + AffectedDE: "Bedienpersonal, Einrichter.", + ZoneDE: "Siegelstation, Bereich zwischen Ober- und Untersiegelbacke.", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP321", NameDE: "Einzug an Folienwickler", NameEN: "Draw-in at film wrapper", + RequiredComponentTags: []string{"rotating_part", "entanglement_risk"}, + RequiredEnergyTags: []string{"rotational"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 90, + ScenarioDE: "Bediener wird mit Kleidung oder Handschuhen in die rotierenden Walzen des Folienwicklers eingezogen.", + TriggerDE: "Loser Aermel, Handschuh, Haarstraehnchen bei laufendem Wickler, fehlende Einzugssicherung.", + HarmDE: "Einzugsverletzung, Quetschung der Hand, Strangulation durch Folie.", + AffectedDE: "Bedienpersonal, Einrichter.", + ZoneDE: "Folieneinlauf, Wickelachse, Umlenkwalzen.", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP322", NameDE: "Schneidverletzung an Trennmesser", NameEN: "Cut injury at separating blade", + RequiredComponentTags: []string{"cutting_part", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 88, + ScenarioDE: "Trennmesser der Verpackungsmaschine schneidet Folie/Karton und ist durch Oeffnung zugaenglich.", + TriggerDE: "Manuelle Entfernung von Folienresten, fehlende Abdeckung des Messerbereichs.", + HarmDE: "Schnittverletzung an Fingern und Haenden, Sehnendurchtrennung.", + AffectedDE: "Bedienpersonal, Einrichter.", + ZoneDE: "Messerstation, Folientrennbereich, Kartonschneider.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP323", NameDE: "Quetschen durch Palettierer", NameEN: "Crushing by palletizer", + RequiredComponentTags: []string{"moving_part", "high_force", "crush_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M051"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 95, + ScenarioDE: "Palettierer bewegt schwere Gebinde und kann Personen im Arbeitsraum quetschen.", + TriggerDE: "Betreten des Palettiererbereichs bei laufendem Betrieb, defekte Zugangsabsicherung.", + HarmDE: "Schwere Quetschverletzungen, Knochenbrueche, lebensbedrohliche Thoraxkompression.", + AffectedDE: "Bedienpersonal, Logistikmitarbeiter, Wartungspersonal.", + ZoneDE: "Palettierer-Arbeitsraum, Zugangsbereich, Palettenwechselzone.", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP324", NameDE: "Heissluft-Verbrennung bei Schrumpffolie", NameEN: "Hot air burn at shrink film tunnel", + RequiredComponentTags: []string{"high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 80, + ScenarioDE: "Bediener greift in den Schrumpftunnel, um verklemmte Packungen zu entfernen.", + TriggerDE: "Produktstau im Tunnel, fehlender Tunnelstopp bei Oeffnen der Wartungsklappe.", + HarmDE: "Verbrennungen an Haenden und Unterarmen durch Heissluft (180-250 Grad C).", + AffectedDE: "Bedienpersonal, Wartungspersonal.", + ZoneDE: "Schrumpftunnel-Innenraum, Auslaufoeffnung, Wartungsklappe.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP325", NameDE: "Umreifungsband schneidet in Hand", NameEN: "Strapping band cuts into hand", + RequiredComponentTags: []string{"moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E24"}, + Priority: 75, + ScenarioDE: "Bediener greift in den Bandspannbereich der Umreifungsmaschine oder Band reisst unter Spannung.", + TriggerDE: "Handeingriff bei laufendem Spannvorgang, Bandbruch unter Spannung.", + HarmDE: "Tiefe Schnittwunde durch Stahlband, Quetschung im Spannkopf.", + AffectedDE: "Bedienpersonal, Verpackungspersonal.", + ZoneDE: "Spannkopf der Umreifungsmaschine, Bandlaufbereich.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP326", NameDE: "Absturzgefahr von Palette", NameEN: "Fall hazard from pallet stack", + RequiredComponentTags: []string{"gravity_risk", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M051", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 78, + ScenarioDE: "Palettierte Gebinde kippen um oder Kartons fallen von der Palette auf umstehende Personen.", + TriggerDE: "Instabiles Stapelbild, fehlende Sicherungsfolie, Anfahren der Palette mit Stapler.", + HarmDE: "Prellungen, Knochenbrueche durch herabfallende Kartons, Quetschung unter Palette.", + AffectedDE: "Logistikmitarbeiter, Bedienpersonal, Staplerfahrer.", + ZoneDE: "Palettenstellplatz, Auslaufbereich der Verpackungslinie.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP327", NameDE: "Laerm durch Druckluft-Auswurf", NameEN: "Noise from compressed air ejection", + RequiredComponentTags: []string{"noise_source", "pneumatic_part"}, + RequiredEnergyTags: []string{"pneumatic_pressure"}, + GeneratedHazardCats: []string{"noise_vibration"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E12", "E20"}, + Priority: 60, + ScenarioDE: "Druckluftduesen zum Ausblasen oder Auswerfen von Packungen erzeugen Impulsspitzen ueber 95 dB(A).", + TriggerDE: "Dauerbetrieb ohne Schallschutzhaube, defekte Schalldaempfer an Auswurfduesen.", + HarmDE: "Laermschwerhoerigkeit, Tinnitus bei dauerhafter Exposition.", + AffectedDE: "Bedienpersonal, Personen in angrenzenden Arbeitsbereichen.", + ZoneDE: "Auswurfstation, Druckluftduesen, Verpackungsstrecke.", + DefaultSeverity: 3, DefaultExposure: 5, + }, + { + ID: "HP328", NameDE: "Quetschen an Kartonaufrichter", NameEN: "Crushing at carton erector", + RequiredComponentTags: []string{"crush_point", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 85, + ScenarioDE: "Bediener greift in den Faltmechanismus des Kartonaufrichters, um verklemmte Zuschnitte zu loesen.", + TriggerDE: "Kartonstau, manuelle Beseitigung bei laufendem Takt, defekte Schutzabdeckung.", + HarmDE: "Quetschung der Finger zwischen Faltklappen und Gegendruckleiste.", + AffectedDE: "Bedienpersonal, Einrichter.", + ZoneDE: "Faltstation, Klebstoffauftrag, Zuschnittmagazin.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP329", NameDE: "Klebstoffverbrennung bei Heissleimanlage", NameEN: "Hot melt adhesive burn", + RequiredComponentTags: []string{"high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 78, + ScenarioDE: "Heisser Klebstoff (180-200 Grad C) spritzt beim Nachfuellen oder bei Duesen-Verstopfung.", + TriggerDE: "Nachfuellen des Klebstoffbehaelters, Reinigen verstopfter Duesen, Leitungsbruch.", + HarmDE: "Schwere Verbrennungen an Haenden und Gesicht durch Heisskleber.", + AffectedDE: "Bedienpersonal, Wartungspersonal.", + ZoneDE: "Klebstoffschmelzer, Duesenbereich, Schlauchleitungen.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP330", NameDE: "Einzug an Etikettiermaschine", NameEN: "Draw-in at labeling machine", + RequiredComponentTags: []string{"rotating_part", "entanglement_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 75, + ScenarioDE: "Bediener greift in die laufende Etikettiermaschine, um schiefe Etiketten zu korrigieren.", + TriggerDE: "Manuelle Korrektur bei laufendem Betrieb, Einzug durch Etikettenmaterial.", + HarmDE: "Einzug von Fingern in Walzenspalt, Quetschung, Hautabschuerfungen.", + AffectedDE: "Bedienpersonal, Einrichter.", + ZoneDE: "Etikettenausgabe, Gegendruckwalze, Abwickler.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP331", NameDE: "Ergonomische Belastung bei Handsortierung", NameEN: "Ergonomic strain during manual sorting", + RequiredComponentTags: []string{"ergonomic", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"ergonomic"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 50, + ScenarioDE: "Bediener sortiert fehlerhafte Packungen manuell von der laufenden Linie ab.", + TriggerDE: "Hohe Taktrate erfordert schnelle, repetitive Greifbewegungen ueber laengere Schicht.", + HarmDE: "Sehnenscheidenentzuendung, Schulter-Nacken-Syndrom, Rueckenschmerzen.", + AffectedDE: "Sortierpersonal, Kontrollpersonal.", + ZoneDE: "Kontrollstation, Auswurfband, Nacharbeitsplatz.", + DefaultSeverity: 2, DefaultExposure: 5, + }, + { + ID: "HP332", NameDE: "Druckluft-Verletzung durch offene Leitung", NameEN: "Compressed air injury from open line", + RequiredComponentTags: []string{"pneumatic_part", "high_pressure"}, + RequiredEnergyTags: []string{"pneumatic_pressure"}, + GeneratedHazardCats: []string{"pneumatic_hydraulic"}, + SuggestedMeasureIDs: []string{"M051", "M131"}, + SuggestedEvidenceIDs: []string{"E06", "E11"}, + Priority: 80, + ScenarioDE: "Druckluftschlauch reisst ab oder wird ungesichert getrennt und peitzscht unkontrolliert umher.", + TriggerDE: "Defekte Schlauchkupplung, Schlauchalterung, Druckluft-Peitscheffekt.", + HarmDE: "Augenverletzung durch Druckluftstrahl, Embolie bei Hautkontakt unter hohem Druck.", + AffectedDE: "Bedienpersonal, Wartungspersonal.", + ZoneDE: "Druckluftversorgung, Schlauchleitungen, Wartungsbereich.", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP333", NameDE: "Quetschen durch Deckelzufuehrung", NameEN: "Crushing by lid feeder", + RequiredComponentTags: []string{"crush_point", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 82, + ScenarioDE: "Bediener greift in den Deckelsortierer oder die Deckelzufuehrung, um verklemmte Deckel zu loesen.", + TriggerDE: "Deckelstau in der Zufuehrung, manuelle Beseitigung bei laufendem Takt.", + HarmDE: "Quetschung der Finger zwischen Deckeln und Fuehrungsschienen.", + AffectedDE: "Bedienpersonal, Einrichter.", + ZoneDE: "Deckelsortierer, Zufuehrungskanal, Verschliessstation.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP334", NameDE: "Verletzung durch unkontrolliert oeffnende Schutzhaube", NameEN: "Injury from uncontrolled guard opening", + RequiredComponentTags: []string{"interlocked", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M051", "M054"}, + SuggestedEvidenceIDs: []string{"E08"}, + Priority: 70, + ScenarioDE: "Schwere Schutzhaube faellt unkontrolliert zu oder schlaegt beim Oeffnen gegen den Bediener.", + TriggerDE: "Defekte Gasdruckfeder, fehlende Arretierung der geoeffneten Haube.", + HarmDE: "Quetschung der Haende oder Kopfverletzung durch zufallende Haube.", + AffectedDE: "Bedienpersonal, Wartungspersonal.", + ZoneDE: "Schutzhaube, Wartungsoeffnung, Scharnierbereiche.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + } +} diff --git a/ai-compliance-sdk/internal/iace/hazard_patterns_forestry_conveyor.go b/ai-compliance-sdk/internal/iace/hazard_patterns_forestry_conveyor.go new file mode 100644 index 0000000..224dabd --- /dev/null +++ b/ai-compliance-sdk/internal/iace/hazard_patterns_forestry_conveyor.go @@ -0,0 +1,487 @@ +package iace + +// GetForestryConveyorPatterns returns 31 hazard patterns (HP420-HP450) +// covering forestry machines, chainsaws, garden equipment (HP420-HP430) +// and conveyor systems, material handling, silos, and loading docks (HP431-HP450). +func GetForestryConveyorPatterns() []HazardPattern { + return []HazardPattern{ + // ================================================================ + // Forstwirtschaft / Kettensaege / Garten (HP420-HP430) + // ================================================================ + { + ID: "HP420", NameDE: "Rueckschlag Kettensaege", NameEN: "Chainsaw kickback", + RequiredComponentTags: []string{"cutting_part", "vibration_source"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 90, + ScenarioDE: "Kettensaege schlaegt bei Kontakt mit Saegenspitze (Kickback-Zone) unkontrolliert nach oben zurueck.", + TriggerDE: "Beruehrung mit Saegenspitze an Holz oder Fremdkoerper, eingeklemmte Kette", + HarmDE: "Tiefe Schnittwunden an Kopf/Hals/Armen, toedliche Verletzungen", + AffectedDE: "Motorsaegenfuehrer, Forstwirt", + ZoneDE: "Bereich vor und ueber der Saege, Rueckschlagzone der Schwertspitze", + DefaultSeverity: 5, DefaultExposure: 4, + }, + { + ID: "HP421", NameDE: "Herabfallender Ast/Baum trifft Person", NameEN: "Falling branch/tree strikes person", + RequiredComponentTags: []string{"gravity_risk"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M052"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 95, + ScenarioDE: "Gefaellter Baum oder abgebrochener Ast trifft Person im Fallbereich.", + TriggerDE: "Fehleinschaetzung der Fallrichtung, Totholz, Windeinwirkung, Aufhaenger", + HarmDE: "Erschlagen, Schaedel-Hirn-Trauma, Knochenbrueche, toedliche Verletzungen", + AffectedDE: "Forstwirt, Waldarbeiter, Spaziergaenger im Sperrbereich", + ZoneDE: "Fallbereich des Baums (1,5x Baumlaenge), Kronenbereich", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP422", NameDE: "Einzug in Hacker/Haecksler", NameEN: "Entanglement in wood chipper/shredder", + RequiredComponentTags: []string{"rotating_part", "cutting_part"}, + RequiredEnergyTags: []string{"rotational"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M003"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 95, + ScenarioDE: "Person wird durch Ast oder Kleidung in die Einzugswalze des Haeckslers gezogen.", + TriggerDE: "Manuelle Nachfuehrung von Aesten, lose Kleidung, fehlende Einzugssicherung", + HarmDE: "Amputation, Zerstueckelung, toedliche Verletzungen", + AffectedDE: "Haecksler-Bediener, Hilfskraefte bei Zufuehrung", + ZoneDE: "Einzugsbereich, Walzenspalt, Trichteröffnung", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP423", NameDE: "Schnitt durch rotierendes Maehwerk", NameEN: "Cut by rotating mower blade", + RequiredComponentTags: []string{"rotating_part", "cutting_part"}, + RequiredEnergyTags: []string{"rotational"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 85, + ScenarioDE: "Kontakt mit rotierendem Maehwerk bei Wartung oder durch Wegschleudern von Fremdkoerpern.", + TriggerDE: "Wartung bei laufendem Maehwerk, fehlende Schutzabdeckung, Steinschleuder", + HarmDE: "Amputationsverletzung an Fuessen/Haenden, tiefe Schnittwunden, Augenverletzung durch Steinschlag", + AffectedDE: "Maehwerksfahrer, Gartenarbeiter, Umstehende", + ZoneDE: "Bereich unter und seitlich des Maehwerks, Schleuderbereich", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP424", NameDE: "Hand-Arm-Vibration bei Kettensaege (Dauerschaden)", NameEN: "Hand-arm vibration from chainsaw (chronic damage)", + RequiredComponentTags: []string{"vibration_source"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"ergonomic"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 60, + ScenarioDE: "Langzeitexposition gegenueber Hand-Arm-Vibrationen durch Kettensaege fuehrt zu Weissfingerkrankheit.", + TriggerDE: "Taeglicher Kettensaegeneinsatz ueber Monate/Jahre, keine Vibrationsminderung", + HarmDE: "Weissfingerkrankheit (Raynaud), Karpaltunnelsyndrom, Nervenschaeden, Gelenkarthrose", + AffectedDE: "Forstwirte im Dauereinsatz, Baumpfleger", + ZoneDE: "Griffbereich der Kettensaege, Handgelenk und Unterarm", + DefaultSeverity: 3, DefaultExposure: 5, + }, + { + ID: "HP425", NameDE: "Gehoerschaden bei Motorsaege", NameEN: "Hearing damage from chainsaw operation", + RequiredComponentTags: []string{"vibration_source"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"ergonomic"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 60, + ScenarioDE: "Dauerhafter Laermpegel ueber 100 dB bei Motorsaegenbetrieb fuehrt zu irreversibler Schwerhoerigheit.", + TriggerDE: "Betrieb ohne Gehoerschutz, laengerer Einsatz in geschlossenem Bestand", + HarmDE: "Laermschwerhoerigheit, Tinnitus, dauerhafte Hoerschaeden", + AffectedDE: "Motorsaegenfuehrer, Forstwirte in Naehe", + ZoneDE: "Nahbereich der Saege (< 2 m), Arbeitsbereich im Bestand", + DefaultSeverity: 3, DefaultExposure: 5, + }, + { + ID: "HP426", NameDE: "Umkippen des Forstschleppers", NameEN: "Forestry skidder overturning", + RequiredComponentTags: []string{"moving_part", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 85, + ScenarioDE: "Forstschlepper kippt an Hanglagen oder beim Ueberfahren von Hindernissen seitlich um.", + TriggerDE: "Steile Hangneigung, rutschiger Waldboden, ungleichmaessige Last, Baumstumpf", + HarmDE: "Quetschung in Kabine, Erschlagen, toedliche Ueberrollverletzung", + AffectedDE: "Forstschlepperfahrer, Rueckepersonal", + ZoneDE: "Hanglagen, Rueckegassen, Bereich um den Schlepper", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP427", NameDE: "Quetschen durch Holzgreifer", NameEN: "Crushing by log grapple", + RequiredComponentTags: []string{"hydraulic_part", "crush_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M052"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 85, + ScenarioDE: "Person wird vom Greifer des Harvesters oder Forwarders erfasst und eingeklemmt.", + TriggerDE: "Aufenthalt im Arbeitsbereich des Krans, Fehlbedienung, Sichteinschraenkung", + HarmDE: "Schwere Quetschverletzung, Knochenbrueche, Amputation, toedliche Einklemmung", + AffectedDE: "Forstwirte im Kranbereich, Hilfspersonal", + ZoneDE: "Schwenkbereich des Forstkrans, Greifer-Arbeitszone", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP428", NameDE: "Splitterflug bei Holzbearbeitung", NameEN: "Flying splinters during wood processing", + RequiredComponentTags: []string{"cutting_part", "high_speed"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 75, + ScenarioDE: "Holzsplitter werden bei Saegen, Fraesen oder Spalten mit hoher Geschwindigkeit geschleudert.", + TriggerDE: "Astloecher, Nageleinschluesse, hohe Schnittgeschwindigkeit, fehlende Schutzbrille", + HarmDE: "Augenverletzungen, Penetrationsverletzungen, Hautverletzungen", + AffectedDE: "Bediener von Holzbearbeitungsmaschinen, Umstehende", + ZoneDE: "Bereich vor und seitlich des Saegeblatts/Fraesers, Splitterflugzone", + DefaultSeverity: 3, DefaultExposure: 4, + }, + { + ID: "HP429", NameDE: "Vergiftung durch Abgase Zweitaktmotor", NameEN: "Poisoning by two-stroke engine exhaust", + RequiredComponentTags: []string{"chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 55, + ScenarioDE: "Abgase von Zweitaktmotoren (Kettensaege, Freischneider) enthalten CO und Kohlenwasserstoffe.", + TriggerDE: "Einsatz in schlecht beluefteten Bereichen, Innenraeumen, tiefe Graeben", + HarmDE: "Kohlenmonoxid-Vergiftung, Kopfschmerzen, Bewusstlosigkeit, chronische Atemwegserkrankung", + AffectedDE: "Motorsaegenfuehrer, Gartenarbeiter in geschlossenen Bereichen", + ZoneDE: "Unmittelbarer Auspuffbereich, schlecht belueftete Arbeitszonen", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP430", NameDE: "Allergische Reaktion auf Pflanzenschutz", NameEN: "Allergic reaction to pesticide", + RequiredComponentTags: []string{"chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 60, + ScenarioDE: "Hautkontakt oder Einatmen von Pflanzenschutzmitteln loest allergische Reaktion oder Vergiftung aus.", + TriggerDE: "Spritzen ohne Schutzausruestung, Windabdrift, kontaminierte Kleidung", + HarmDE: "Kontaktdermatitis, Atemwegsreizung, anaphylaktischer Schock, chronische Vergiftung", + AffectedDE: "Landwirte, Gaertner, Forstpersonal bei Pflanzenschutzarbeiten", + ZoneDE: "Spritzbereich, Windabdriftzone, Lagerbereich fuer Pflanzenschutzmittel", + DefaultSeverity: 3, DefaultExposure: 3, + }, + + // ================================================================ + // Foerderanlagen / Conveyor Systems (HP431-HP450) + // ================================================================ + { + ID: "HP431", NameDE: "Einzug an Bandumlenkung", NameEN: "Entanglement at belt conveyor deflection point", + RequiredComponentTags: []string{"rotating_part", "entanglement_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M003"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 90, + ScenarioDE: "Koerperteile oder Kleidung werden an der Umlenktrommel des Foerderbands eingezogen.", + TriggerDE: "Fehlende Schutzabdeckung, Reinigung bei laufendem Band, lose Kleidung", + HarmDE: "Einzug von Hand/Arm, Amputation, toedliche Einklemmung", + AffectedDE: "Wartungspersonal, Bediener, Reinigungskraefte", + ZoneDE: "Einlaufspalt Umlenktrommel, Bandlauf an Umlenkstellen", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP432", NameDE: "Herabfallen von Stueckgut vom Foerderband", NameEN: "Falling unit load from conveyor belt", + RequiredComponentTags: []string{"gravity_risk", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M052"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 75, + ScenarioDE: "Stueckgut faellt seitlich vom Foerderband und trifft darunter befindliche Personen.", + TriggerDE: "Ueberladung, Bandschieflauf, fehlende Seitenabschirmung, Vibration", + HarmDE: "Kopfverletzungen, Prellungen, Knochenbrueche durch herabfallendes Gut", + AffectedDE: "Personen unter oder neben dem Foerderband", + ZoneDE: "Bereich unterhalb und seitlich des Foerderbands", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP433", NameDE: "Quetschen zwischen Foerderband und Rahmen", NameEN: "Crushing between conveyor belt and frame", + RequiredComponentTags: []string{"moving_part", "crush_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M003"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 85, + ScenarioDE: "Person wird zwischen laufendem Foerderband und feststehender Rahmenkonstruktion eingequetscht.", + TriggerDE: "Eingriff in laufendes Band, Wartung ohne Abschaltung, fehlende Schutzgitter", + HarmDE: "Quetschung, Frakturen, Weichteilverletzung, Amputation", + AffectedDE: "Wartungspersonal, Bediener bei Stoerungsbeseitigung", + ZoneDE: "Spalt zwischen Band und Rahmen, Tragrollenbereich", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP434", NameDE: "Materialstau mit ploetzlicher Freisetzung", NameEN: "Material blockage with sudden release", + RequiredComponentTags: []string{"moving_part", "gravity_risk"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 80, + ScenarioDE: "Materialstau in Trichter oder Uebergabestelle loest sich ploetzlich und ergiesst sich unkontrolliert.", + TriggerDE: "Brueckenbildung im Trichter, Stocher-Versuch bei laufender Anlage, Blockade loest sich", + HarmDE: "Verschuettung, Quetschung durch Materiallawine, Erstickung bei Schuettgut", + AffectedDE: "Bediener bei Stoerungsbeseitigung, Personen am Bandauslauf", + ZoneDE: "Trichter, Uebergabestelle, Auslaufbereich", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP435", NameDE: "Staubexplosion in Schuettgutfoerderung (Silo)", NameEN: "Dust explosion in bulk material handling (silo)", + RequiredComponentTags: []string{"chemical_risk", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"fire_explosion"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 95, + RequiresExpertCalculation: true, + ExpertHintDE: "Ex-Schutz-Dokument nach ATEX/BetrSichV und Zoneneinteilung erforderlich.", + ScenarioDE: "Brennbarer Staub (Mehl, Holz, Zucker) bildet explosionsfaehige Atmosphaere im Silo.", + TriggerDE: "Zuendquelle (Funken, heisse Oberflaeche, elektrostatische Entladung) in staubbehafteter Zone", + HarmDE: "Explosion, Verbrennungen, Druckwelle, Gebaeudeeinsturz, toedliche Verletzungen", + AffectedDE: "Silopersonal, Foerderanlagenbediener, Personen in angrenzenden Bereichen", + ZoneDE: "Siloinneres, Uebergabestellen, Absaugkanaldurchbrueche", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP436", NameDE: "Vergiftung in Silozelle (Gaerungsgase)", NameEN: "Poisoning in silo cell (fermentation gases)", + RequiredComponentTags: []string{"chemical_risk", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 90, + ScenarioDE: "Gaerungsgase (CO2, H2S, NO2) verdraengen Sauerstoff in geschlossener Silozelle.", + TriggerDE: "Betreten ohne Gasfreimessung, fehlende Belueftung, biologische Zersetzung", + HarmDE: "Bewusstlosigkeit, Erstickung, Tod innerhalb Minuten bei Sauerstoffmangel", + AffectedDE: "Silowart, Wartungspersonal, Rettungskraefte bei Bergung", + ZoneDE: "Siloinnenraum, Zugangsschacht, Entnahmebereich", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP437", NameDE: "Einzug in Schneckenfoerderer", NameEN: "Entanglement in screw conveyor", + RequiredComponentTags: []string{"rotating_part", "entanglement_risk"}, + RequiredEnergyTags: []string{"rotational"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M003"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 90, + ScenarioDE: "Rotierende Foerderschnecke zieht Hand oder Kleidung ein. Extrem hohe Einzugskraft.", + TriggerDE: "Offene Schneckenabdeckung, Reinigung bei laufender Schnecke, fehlendes Schutzgitter", + HarmDE: "Amputation, Zerstoerung von Gliedmassen, toedliche Einzugsverletzung", + AffectedDE: "Wartungspersonal, Bediener an Schuettgutanlagen", + ZoneDE: "Offene Schneckentroegebereich, Einlauf- und Auslaufoeffnung", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP438", NameDE: "Absturz von Rollenfoerderer (Erhoehung)", NameEN: "Fall from elevated roller conveyor", + RequiredComponentTags: []string{"structural_part", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 70, + ScenarioDE: "Person stuerzt von erhoehtem Rollenfoerderer bei Wartung oder Stoerungsbeseitigung.", + TriggerDE: "Fehlende Absturzsicherung, kein Zugangsweg, improvisiertes Besteigen", + HarmDE: "Knochenbrueche, Wirbelsaeulenverletzung, toedlicher Sturz ab 2 m Hoehe", + AffectedDE: "Wartungspersonal, Bediener bei Stoerung", + ZoneDE: "Erhoehte Foerderstrecke, Wartungszugaenge, Buehnen", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP439", NameDE: "Quetschen durch Hubwerk/Scherenhubtisch", NameEN: "Crushing by lift table/scissor lift mechanism", + RequiredComponentTags: []string{"hydraulic_part", "crush_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 85, + ScenarioDE: "Person wird zwischen Scherenhubtisch und festem Bauwerk oder unter absinkender Plattform eingeklemmt.", + TriggerDE: "Aufenthalt unter angehobenem Tisch, Hydraulikversagen, fehlende Absicherung", + HarmDE: "Quetschung, Einklemmung, Amputation, toedliche Kompression", + AffectedDE: "Bedienpersonal, Wartungspersonal unter dem Hubtisch", + ZoneDE: "Scherenbereich, Raum unter Plattform, seitliche Eingriffszonen", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP440", NameDE: "Einklemmen am Drehteller", NameEN: "Trapping at rotary turntable", + RequiredComponentTags: []string{"rotating_part", "crush_point"}, + RequiredEnergyTags: []string{"rotational"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M051"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 80, + ScenarioDE: "Person wird zwischen rotierendem Drehteller und feststehender Konstruktion eingeklemmt.", + TriggerDE: "Eingriff waehrend Drehbewegung, fehlende Schutzumhausung, unbeabsichtigter Start", + HarmDE: "Quetschung, Knochenbrueche, Einklemmung von Gliedmassen", + AffectedDE: "Bedienpersonal, Personen im Drehbereich", + ZoneDE: "Peripherie des Drehtellers, Uebergabezonen zu angrenzenden Foerderern", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP441", NameDE: "Kollision FTS mit Foerderanlage", NameEN: "AGV collision with conveyor system", + RequiredComponentTags: []string{"moving_part"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M082", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E14"}, + Priority: 75, + ScenarioDE: "Fahrerloses Transportsystem (FTS/AGV) kollidiert mit stationaerer Foerderanlage oder Person.", + TriggerDE: "Sensorausfall, Navigationsfehler, Hinderniserkennung versagt, Reflexion stoert Lidar", + HarmDE: "Quetschung zwischen FTS und Anlage, Umstuerzen von Ladungstraegern", + AffectedDE: "Fussgaenger in Fahrwegen, Wartungspersonal", + ZoneDE: "FTS-Fahrwege, Kreuzungsbereiche mit Foerderanlagen", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP442", NameDE: "Herabfallen von Paletten-Stapel", NameEN: "Pallet stack collapse", + RequiredComponentTags: []string{"gravity_risk", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 75, + ScenarioDE: "Gestapelte Paletten kippen um oder einzelne Paletten rutschen herab und treffen Personen.", + TriggerDE: "Zu hoher Stapel, unebener Boden, beschaedigte Palette, Staplerstoss", + HarmDE: "Erschlagen, Knochenbrueche, Prellungen, toedliche Kopfverletzungen", + AffectedDE: "Lagerpersonal, Staplerfahrer, Kommissionierer", + ZoneDE: "Palettenlager, Stapelbereiche, Regalgang", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP443", NameDE: "Quetschen an Verladebruecke", NameEN: "Crushing at loading dock leveler", + RequiredComponentTags: []string{"hydraulic_part", "crush_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 80, + ScenarioDE: "Person wird zwischen absinkender Verladebruecke und LKW-Ladeflaeche eingeklemmt.", + TriggerDE: "Unkontrolliertes Absenken, Hydraulikausfall, fehlende Kommunikation mit LKW-Fahrer", + HarmDE: "Quetschung, Einklemmung, schwere Beinverletzungen", + AffectedDE: "Lagerpersonal, LKW-Fahrer, Verladearbeiter", + ZoneDE: "Rampenbereich, Spalt zwischen Bruecke und LKW, Scharnierkante", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP444", NameDE: "Ladebuehne senkt sich unkontrolliert", NameEN: "Loading dock platform drops uncontrolled", + RequiredComponentTags: []string{"hydraulic_part", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M022", "M052"}, + SuggestedEvidenceIDs: []string{"E11", "E20"}, + Priority: 85, + ScenarioDE: "Hydraulische Ladebuehne senkt sich durch Leitungsbruch unkontrolliert ab. Personen darunter werden eingeklemmt.", + TriggerDE: "Hydraulikleitungsbruch, Ventilversagen, Ueberladung der Buehne", + HarmDE: "Quetschung unter Plattform, Einklemmung, toedliche Kompression", + AffectedDE: "Lagerpersonal unter der Buehne, Verladearbeiter", + ZoneDE: "Bereich unter der Ladebuehne, Absenkweg", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP445", NameDE: "Quetschen durch Industrietor", NameEN: "Crushing by industrial door", + RequiredComponentTags: []string{"moving_part", "crush_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E14"}, + Priority: 80, + ScenarioDE: "Schnelllaufendes Industrietor schliesst sich und quetscht Person, die sich im Torbereich befindet.", + TriggerDE: "Defekte Lichtschranke, Sensorfehler, zu schnelle Schliessbewegung, Person im toten Winkel", + HarmDE: "Quetschung, Knochenbrueche, Kopfverletzungen, Einklemmung", + AffectedDE: "Lagerpersonal, Staplerfahrer, Fussgaenger im Torbereich", + ZoneDE: "Torbereich, Schliesszone, seitliche Fuehrungsschienen", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP446", NameDE: "Einzug in Rolltor", NameEN: "Entanglement in roller shutter door", + RequiredComponentTags: []string{"moving_part", "entanglement_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M003"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 75, + ScenarioDE: "Finger oder Kleidung werden in den Wickelmechanismus oder die Lamellen des Rolltors eingezogen.", + TriggerDE: "Greifen in Lamellenspalt, Kleidung haengt an Lamelle, fehlende Abschirmung der Wickelwelle", + HarmDE: "Fingerquetschung, Einzug von Haenden, Strangulation bei Kleidungseinzug", + AffectedDE: "Lagerpersonal, Wartungspersonal an Toren", + ZoneDE: "Wickelwelle, Lamellenspalt, seitliche Fuehrungsschiene", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP447", NameDE: "Absturz durch offene Schachtgrube", NameEN: "Fall through open shaft pit", + RequiredComponentTags: []string{"structural_part", "gravity_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M052", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 85, + ScenarioDE: "Person stuerzt in offene Schachtgrube (Aufzugsschacht, Kabelkanal, Inspektionsgrube).", + TriggerDE: "Abdeckung entfernt, fehlende Absperrung, schlechte Beleuchtung, Unachtsamkeit", + HarmDE: "Knochenbrueche, Wirbelsaeulenverletzung, Schaedel-Hirn-Trauma, toedlicher Sturz", + AffectedDE: "Wartungspersonal, Fussgaenger im Bereich", + ZoneDE: "Schachtoeffnung, ungesicherte Grube, Inspektionskanal", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP448", NameDE: "Stolpern ueber Schienen von Verschiebeanlage", NameEN: "Tripping over rails of transfer system", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 50, + ScenarioDE: "Im Boden eingelassene Schienen von Verschiebeanlagen bilden Stolperkanten.", + TriggerDE: "Schienen ragen ueber Bodenniveau, fehlende Markierung, mangelnde Beleuchtung", + HarmDE: "Stuerze, Prellungen, Verstauchungen, Sekundaerunfall (Sturz gegen Maschine)", + AffectedDE: "Fussgaenger im Fertigungsbereich, Lagerpersonal", + ZoneDE: "Fahrbereich der Verschiebeanlage, Kreuzungsstellen mit Fusswegen", + DefaultSeverity: 2, DefaultExposure: 4, + }, + { + ID: "HP449", NameDE: "Brand in Absauganlage (Holzstaub)", NameEN: "Fire in extraction system (wood dust)", + RequiredComponentTags: []string{"chemical_risk", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"fire_explosion"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 85, + RequiresExpertCalculation: true, + ExpertHintDE: "Ex-Schutz-Dokument und Brandschutzkonzept nach ATEX-Richtlinie erforderlich.", + ScenarioDE: "Angesammelter Holzstaub in Absauganlage entzuendet sich. Brand breitet sich durch Rohrsystem aus.", + TriggerDE: "Funkeneinzug, Schleifstaub, defekter Funkenloescher, Ueberhitzung des Motors", + HarmDE: "Verbrennungen, Rauchvergiftung, Explosion, Hallenbrand", + AffectedDE: "Personal an Holzbearbeitungsmaschinen, alle Hallenpersonen", + ZoneDE: "Absaugrohre, Filteranlage, Staubsilo, gesamte Produktionshalle", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP450", NameDE: "Explosion in Mehlsilo", NameEN: "Explosion in flour silo", + RequiredComponentTags: []string{"chemical_risk", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"fire_explosion"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 95, + RequiresExpertCalculation: true, + ExpertHintDE: "Ex-Schutz-Dokument nach ATEX/BetrSichV mit Zoneneinteilung und Zuendquellenanalyse.", + ScenarioDE: "Mehlstaub bildet explosionsfaehiges Gemisch im Silo. Zuendquelle loest verheerende Explosion aus.", + TriggerDE: "Elektrostatische Entladung, mechanischer Funke, Schweissarbeiten in der Naehe", + HarmDE: "Explosion, Druckwelle, Verbrennungen, Silobersten, toedliche Verletzungen", + AffectedDE: "Silopersonal, Muellerpersonal, Personen in angrenzenden Gebaeuden", + ZoneDE: "Siloinneres, Befuellstutzen, Austragsoeffnung, angrenzende Raeume", + DefaultSeverity: 5, DefaultExposure: 2, + }, + } +} diff --git a/ai-compliance-sdk/internal/iace/hazard_patterns_laser_medical.go b/ai-compliance-sdk/internal/iace/hazard_patterns_laser_medical.go new file mode 100644 index 0000000..d69e51a --- /dev/null +++ b/ai-compliance-sdk/internal/iace/hazard_patterns_laser_medical.go @@ -0,0 +1,650 @@ +package iace + +// GetLaserMedicalPatterns returns hazard patterns for laser machines, +// medical devices (IEC 60601 context), and pressure equipment (HP335-HP374). +func GetLaserMedicalPatterns() []HazardPattern { + return []HazardPattern{ + // ================================================================ + // Laser Machine Patterns (HP335-HP349) + // ================================================================ + { + ID: "HP335", NameDE: "Augenverletzung durch Laserstrahlung (Klasse 3B/4)", NameEN: "Eye injury from laser radiation (Class 3B/4)", + RequiredComponentTags: []string{"radiation_risk"}, + RequiredEnergyTags: []string{"radiation"}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08", "E24"}, + Priority: 98, + RequiresExpertCalculation: true, + ExpertHintDE: "Laserklasse bestimmen, NOHD berechnen, Schutzbrillen-OD auswaehlen. DIN EN 60825-1.", + ExpertHintEN: "Determine laser class, calculate NOHD, select protective eyewear OD. EN 60825-1.", + ScenarioDE: "Direkter oder reflektierter Laserstrahl trifft das Auge des Bedieners oder umstehender Personen.", + TriggerDE: "Fehlende Laserbrille, defekte Schutzumhausung, diffuse Reflexion an polierter Oberflaeche.", + HarmDE: "Irreversible Netzhautverbrennung, Erblindung, Hornhautschaedigung.", + AffectedDE: "Bedienpersonal, Wartungspersonal, Personen im Laserbereich.", + ZoneDE: "Laserarbeitsraum, Strahlaustritt, Reflexionszone.", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP336", NameDE: "Hautverbrennung durch Laserstrahl", NameEN: "Skin burn from laser beam", + RequiredComponentTags: []string{"radiation_risk"}, + RequiredEnergyTags: []string{"radiation"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 90, + ScenarioDE: "Laserstrahl hoher Leistung trifft die Haut des Bedieners direkt oder durch Reflexion.", + TriggerDE: "Fehleinstellung des Strahlengangs, fehlende Einhausung, Reflexion am Werkstueck.", + HarmDE: "Verbrennungen zweiten und dritten Grades, tiefe Gewebenekrose bei CO2-Lasern.", + AffectedDE: "Bedienpersonal, Einrichter.", + ZoneDE: "Strahlaustritt, Bearbeitungszone, Reflexionspfad.", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP337", NameDE: "Brand durch Laserstrahl auf brennbarem Material", NameEN: "Fire from laser beam on combustible material", + RequiredComponentTags: []string{"radiation_risk", "high_temperature"}, + RequiredEnergyTags: []string{"radiation"}, + GeneratedHazardCats: []string{"thermal_hazard", "material_environmental"}, + SuggestedMeasureIDs: []string{"M051", "M054", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E08", "E20"}, + Priority: 92, + ScenarioDE: "Laserstrahl entzuendet brennbares Material im Bearbeitungsraum (Papier, Holz, Kunststoff, Loesungsmittel).", + TriggerDE: "Ueberlauf des Strahls ueber Werkstueckkante, brennbares Reinigungsmittel im Arbeitsraum.", + HarmDE: "Brandverletzungen, Rauchgasvergiftung, Sachschaeden am Geraet.", + AffectedDE: "Bedienpersonal, alle Personen im Gebaeude.", + ZoneDE: "Bearbeitungsraum, Absaugkanal, Umgebung der Laseranlage.", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP338", NameDE: "Reflexion — Strahl trifft unkontrolliert Person", NameEN: "Reflection — beam hits person uncontrolled", + RequiredComponentTags: []string{"radiation_risk"}, + RequiredEnergyTags: []string{"radiation"}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 95, + ScenarioDE: "Laserstrahl reflektiert an poliertem oder spiegelndem Werkstueck und trifft Personen ausserhalb der geplanten Schutzzone.", + TriggerDE: "Neues Werkstueck mit unbekannter Reflexion, spiegelndes Werkzeug im Strahlengang.", + HarmDE: "Augenverletzung, Hautverbrennung durch unerwartete Reflexion.", + AffectedDE: "Personen im erweiterten Laserbereich, Besucher.", + ZoneDE: "Ausserhalb der Umhausung, Fenster, Wand-Reflexionsbereiche.", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP339", NameDE: "Rauchgas bei Laserschneiden (Metalldaempfe)", NameEN: "Fumes during laser cutting (metal vapors)", + RequiredComponentTags: []string{"radiation_risk", "chemical_risk"}, + RequiredEnergyTags: []string{"radiation"}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M124", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 85, + ScenarioDE: "Beim Laserschneiden oder -schweissen entstehen toxische Metalldaempfe und Rauchgase.", + TriggerDE: "Defekte oder unterdimensionierte Absaugung, Schneiden verzinkter oder beschichteter Bleche.", + HarmDE: "Metallrauchfieber, chronische Lungenschaedigung, Krebserkrankung bei Langzeitexposition.", + AffectedDE: "Bedienpersonal, Personen in der Halle.", + ZoneDE: "Bearbeitungszone, Absaugkanal, Filterbereich.", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP340", NameDE: "Explosionsgefahr bei Laser + brennbare Atmosphaere", NameEN: "Explosion hazard laser + combustible atmosphere", + RequiredComponentTags: []string{"radiation_risk"}, + RequiredEnergyTags: []string{"radiation"}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M051", "M054", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E20"}, + Priority: 96, + RequiresExpertCalculation: true, + ExpertHintDE: "ATEX-Einstufung und Zuendenergie des Laserstrahls muessen bewertet werden.", + ExpertHintEN: "ATEX classification and ignition energy of laser beam must be assessed.", + ScenarioDE: "Laserstrahl entzuendet explosionsfaehige Gas- oder Staubatmosphaere im Bearbeitungsraum.", + TriggerDE: "Prozessgas-Leckage, brennbarer Staub, unzureichende Belueftung der Laserkabine.", + HarmDE: "Explosion mit schweren Verbrennungen, Druckwellenverletzung, Tod.", + AffectedDE: "Bedienpersonal, alle Personen in der Umgebung.", + ZoneDE: "Laserkabine, Gasversorgung, Absauganlage.", + DefaultSeverity: 5, DefaultExposure: 1, + }, + { + ID: "HP341", NameDE: "Quetschen durch CNC-Achsen der Laseranlage", NameEN: "Crushing by CNC axes of laser system", + RequiredComponentTags: []string{"moving_part", "high_force", "crush_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M051"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 90, + ScenarioDE: "CNC-Achsen der Laseranlage bewegen Bearbeitungskopf oder Werkstuecktisch und quetschen Person im Arbeitsraum.", + TriggerDE: "Betreten des Bearbeitungsraums bei Referenzfahrt oder Programmablauf, defekte Schutztuer.", + HarmDE: "Quetschverletzungen an Haenden oder Oberkoerper, Frakturen.", + AffectedDE: "Einrichter, Wartungspersonal.", + ZoneDE: "Bearbeitungsraum, Verfahrwege der X-/Y-/Z-Achsen.", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP342", NameDE: "Blendung durch Streulicht", NameEN: "Glare from stray light", + RequiredComponentTags: []string{"radiation_risk"}, + RequiredEnergyTags: []string{"radiation"}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E24"}, + Priority: 72, + ScenarioDE: "Streulicht oder Prozessleuchten am Bearbeitungspunkt blenden den Bediener und fuehren zu Fehlbedienung.", + TriggerDE: "Fehlende Blendschutzfilter, Beobachtung des Bearbeitungspunkts ohne Filter.", + HarmDE: "Temporaere Blendung, Fehlbedienung, bei Langzeitexposition Netzhautschaedigung.", + AffectedDE: "Bedienpersonal, Einrichter.", + ZoneDE: "Beobachtungsfenster, Kamerasystem, offene Bearbeitungszone.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP343", NameDE: "Elektroschock an Laserquelle (Hochspannung)", NameEN: "Electric shock at laser source (high voltage)", + RequiredComponentTags: []string{"electrical_part", "high_voltage"}, + RequiredEnergyTags: []string{"electrical_energy"}, + GeneratedHazardCats: []string{"electrical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M054"}, + SuggestedEvidenceIDs: []string{"E04", "E10"}, + Priority: 95, + RequiresExpertCalculation: true, + ExpertHintDE: "Restenergie in Kondensatoren muss nach Abschaltung bewertet werden (Entladezeit).", + ExpertHintEN: "Residual energy in capacitors must be assessed after shutdown (discharge time).", + ScenarioDE: "Wartungspersonal beruehrt Hochspannungskomponenten der Laserquelle (Kondensatoren, Netzgeraet).", + TriggerDE: "Wartungsarbeiten ohne Freischalten, gespeicherte Energie in Kondensatoren nach Abschaltung.", + HarmDE: "Toedlicher Stromschlag, schwere Verbrennungen, Herzkammerflimmern.", + AffectedDE: "Wartungspersonal, Elektrofachkraefte.", + ZoneDE: "Laserquellen-Gehaeuse, Hochspannungs-Netzgeraet, Kondensatorbank.", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP344", NameDE: "UV-Strahlung bei bestimmten Lasertypen", NameEN: "UV radiation from certain laser types", + RequiredComponentTags: []string{"radiation_risk"}, + RequiredEnergyTags: []string{"radiation"}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E20"}, + Priority: 78, + ScenarioDE: "UV-Laserstrahlung (z.B. Excimer-Laser) schaedigt Haut und Augen bei unzureichendem Schutz.", + TriggerDE: "Betrieb ohne UV-Schutzabschirmung, Reflexion an metallischen Oberflaechen.", + HarmDE: "Photokeratitis (Verblitzen), Hautkrebs bei chronischer Exposition.", + AffectedDE: "Bedienpersonal, Laborpersonal.", + ZoneDE: "Strahlaustritt, Bearbeitungszone bei offener Einhausung.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP345", NameDE: "Schutzgaserstickung in Laserkabine", NameEN: "Inert gas asphyxiation in laser cabin", + RequiredComponentTags: []string{"structural_part", "chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E20"}, + Priority: 88, + ScenarioDE: "Schutzgas (Stickstoff, Argon) verdraengt Sauerstoff in geschlossener Laserkabine oder Bearbeitungsraum.", + TriggerDE: "Gasleckage, Betreten der Kabine ohne Belueftung, defekter Sauerstoffsensor.", + HarmDE: "Bewusstlosigkeit, Erstickungstod bei Sauerstoffkonzentration unter 17%.", + AffectedDE: "Wartungspersonal, Bedienpersonal bei Reinigung.", + ZoneDE: "Laserkabine, Bearbeitungskammer, Gasversorgungsbereich.", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP346", NameDE: "Fokussierlinsenverschmutzung verursacht Rueckreflex", NameEN: "Focusing lens contamination causes back-reflection", + RequiredComponentTags: []string{"radiation_risk"}, + RequiredEnergyTags: []string{"radiation"}, + GeneratedHazardCats: []string{"thermal_hazard", "material_environmental"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E21"}, + Priority: 80, + ScenarioDE: "Verschmutzte Fokussierlinse absorbiert Laserenergie, ueberhitzt und kann bersten oder Strahl unkontrolliert ablenken.", + TriggerDE: "Versaeumte Linsenreinigung, Spritzerablagerung auf der Optik, Schutzglas fehlt.", + HarmDE: "Verbrennungen durch Glasbruch, Linsenbrand, unkontrollierter Strahlaustritt.", + AffectedDE: "Bedienpersonal, Wartungspersonal.", + ZoneDE: "Laserbearbeitungskopf, Optik-Einheit.", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP347", NameDE: "Laserstrahl-Austritt bei defekter Einhausung", NameEN: "Laser beam escape from defective enclosure", + RequiredComponentTags: []string{"radiation_risk", "interlocked"}, + RequiredEnergyTags: []string{"radiation"}, + GeneratedHazardCats: []string{"material_environmental", "safety_function_failure"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M106"}, + SuggestedEvidenceIDs: []string{"E01", "E07", "E08"}, + Priority: 96, + ScenarioDE: "Laserstrahl tritt durch Spalt, Riss oder defekte Tuerverriegelung aus der Schutzeinhausung aus.", + TriggerDE: "Mechanische Beschaedigung der Kabine, manipulierter Tuerschalter, fehlende Wartung.", + HarmDE: "Augenverletzung, Hautverbrennung bei umstehenden Personen.", + AffectedDE: "Alle Personen in der Umgebung der Laseranlage.", + ZoneDE: "Einhausungswaende, Tuerspalte, Kabel- und Schlauchdurchfuehrungen.", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP348", NameDE: "Laermbelastung durch Laserschneidprozess", NameEN: "Noise exposure from laser cutting process", + RequiredComponentTags: []string{"noise_source", "radiation_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"noise_vibration"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E12", "E20"}, + Priority: 60, + ScenarioDE: "Hochgeschwindigkeits-Laserschneiden erzeugt hohe Schallpegel durch Schneidgas und Materialverdampfung.", + TriggerDE: "Offene oder schlecht gedaemmte Kabine, Schneiden duenner Bleche mit hoher Gasstroemung.", + HarmDE: "Laermschwerhoerigkeit, Tinnitus bei Langzeitexposition.", + AffectedDE: "Bedienpersonal, Personen in angrenzenden Bereichen.", + ZoneDE: "Laserschneidanlage, unmittelbarer Umgebungsbereich.", + DefaultSeverity: 2, DefaultExposure: 4, + }, + { + ID: "HP349", NameDE: "Restenergie in Lasermedium nach Abschaltung", NameEN: "Residual energy in laser medium after shutdown", + RequiredComponentTags: []string{"radiation_risk", "stored_energy"}, + RequiredEnergyTags: []string{"stored_energy"}, + GeneratedHazardCats: []string{"electrical_hazard", "material_environmental"}, + SuggestedMeasureIDs: []string{"M054", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E10"}, + Priority: 85, + ScenarioDE: "Lasermedium oder Pumpkondensatoren speichern nach Abschaltung noch gefaehrliche Energie.", + TriggerDE: "Sofortige Wartung nach Abschaltung ohne Wartezeit, fehlende Entladeanzeige.", + HarmDE: "Elektrischer Schlag durch Restkondensatorladung, unbeabsichtigter Strahlimpuls.", + AffectedDE: "Wartungspersonal, Elektrofachkraefte.", + ZoneDE: "Laserquellen-Gehaeuse, Kondensatoren, Pumpendioden-Versorgung.", + DefaultSeverity: 4, DefaultExposure: 2, + }, + // ================================================================ + // Medical Device Patterns — IEC 60601 context (HP350-HP364) + // ================================================================ + { + ID: "HP350", NameDE: "Elektrischer Schlag am Patienten (Ableitstrom)", NameEN: "Electric shock to patient (leakage current)", + RequiredComponentTags: []string{"electrical_part"}, + RequiredEnergyTags: []string{"electrical_energy"}, + GeneratedHazardCats: []string{"electrical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004"}, + SuggestedEvidenceIDs: []string{"E04", "E10"}, + Priority: 97, + RequiresExpertCalculation: true, + ExpertHintDE: "Ableitstrom-Messung nach IEC 60601-1 Abschnitt 8.7 erforderlich.", + ExpertHintEN: "Leakage current measurement per IEC 60601-1 clause 8.7 required.", + ScenarioDE: "Patient wird durch ueberhoeahten Ableitstrom des Medizingeraets gefaehrdet.", + TriggerDE: "Defekte Isolierung, beschaedigtes Netzkabel, fehlender Schutzleiter, Single-Fault-Condition.", + HarmDE: "Herzkammerflimmern, Verbrennungen an Elektroden-Kontaktstellen, Tod.", + AffectedDE: "Patienten (insbesondere mit Herzkatheter), Anwender.", + ZoneDE: "Patientenanschlussteile, Elektrodenkontakte, Geraeteoberflaeche.", + DefaultSeverity: 5, DefaultExposure: 4, + }, + { + ID: "HP351", NameDE: "Fehlfunktion des Defibrillators", NameEN: "Defibrillator malfunction", + RequiredComponentTags: []string{"electrical_part", "has_software"}, + RequiredEnergyTags: []string{"electrical_energy", "stored_energy"}, + GeneratedHazardCats: []string{"electrical_hazard", "safety_function_failure"}, + SuggestedMeasureIDs: []string{"M003", "M106"}, + SuggestedEvidenceIDs: []string{"E01", "E07", "E10", "E14"}, + Priority: 98, + RequiresExpertCalculation: true, + ExpertHintDE: "Funktionale Sicherheit nach IEC 62304 + IEC 60601-2-4 validieren.", + ExpertHintEN: "Functional safety per IEC 62304 + IEC 60601-2-4 must be validated.", + ScenarioDE: "Defibrillator gibt keinen Schock ab, gibt falschen Schock ab, oder liefert falsche Energie.", + TriggerDE: "Softwarefehler in der Rhythmusanalyse, defekter Energiespeicher, Elektrodenversagen.", + HarmDE: "Tod durch unterlassene Defibrillation, Myokardschaedigung durch falsche Energie.", + AffectedDE: "Patienten mit Herzstillstand.", + ZoneDE: "Patientenkontakt, Elektrodenpositionen.", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP352", NameDE: "Ueberhitzung durch HF-Chirurgiegeraet", NameEN: "Overheating by HF surgical device", + RequiredComponentTags: []string{"electrical_part", "high_temperature"}, + RequiredEnergyTags: []string{"electrical_energy", "thermal"}, + GeneratedHazardCats: []string{"thermal_hazard", "electrical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E08", "E10"}, + Priority: 93, + ScenarioDE: "HF-Chirurgiegeraet erzeugt unkontrolliert Waerme an unbeabsichtigter Stelle am Patienten.", + TriggerDE: "Defekte Neutralelektrode, zu kleine Kontaktflaeche, kapazitive Kopplung an Metallimplantaten.", + HarmDE: "Verbrennungen dritten Grades an Neutralelektrode, Gewebeschaedigung im OP-Feld.", + AffectedDE: "Patienten unter Operation.", + ZoneDE: "Neutralelektroden-Position, OP-Feld, Beruehrungspunkte mit Metallobjekten.", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP353", NameDE: "Strahlenexposition am CT-Scanner", NameEN: "Radiation exposure at CT scanner", + RequiredComponentTags: []string{"radiation_risk"}, + RequiredEnergyTags: []string{"radiation"}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E20"}, + Priority: 90, + RequiresExpertCalculation: true, + ExpertHintDE: "Dosis-Flaechenprodukt und Effektivdosis muessen berechnet werden. StrlSchG/RoV.", + ExpertHintEN: "Dose-area product and effective dose must be calculated. Radiation protection regulations.", + ScenarioDE: "Patient oder Personal wird einer unnoetigen oder ueberhoehten Roentgendosis ausgesetzt.", + TriggerDE: "Wiederholte Scans, falsche Protokollwahl, defekte Dosisautomatik, fehlende Bleischuerze.", + HarmDE: "Strahleninduzierter Krebs bei Langzeitexposition, Hautroetung bei Hochdosis-CT.", + AffectedDE: "Patienten, radiologisches Personal.", + ZoneDE: "CT-Gantry, Untersuchungsraum, Bedienerplatz bei defektem Strahlenschutz.", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP354", NameDE: "Fehlalarm fuehrt zu falscher Behandlung", NameEN: "False alarm leads to wrong treatment", + RequiredComponentTags: []string{"sensor_part", "has_software"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"sensor_fault", "software_fault"}, + SuggestedMeasureIDs: []string{"M106", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E14"}, + Priority: 88, + ScenarioDE: "Patientenmonitor zeigt falschen Alarm an (z.B. falsche Herzfrequenz), Arzt handelt darauf basierend.", + TriggerDE: "Defekter Sensor, Bewegungsartefakte, Softwarefehler in der Signalverarbeitung.", + HarmDE: "Falsche Medikation, unnoetiger Eingriff, verzoegerte Behandlung bei echtem Ereignis.", + AffectedDE: "Patienten, behandelndes aerztliches Personal.", + ZoneDE: "Patientenmonitor, Intensivstation, OP-Saal.", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP355", NameDE: "Infektionsgefahr durch mangelhafte Sterilisation", NameEN: "Infection risk from insufficient sterilization", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20", "E21"}, + Priority: 92, + ScenarioDE: "Medizingeraet oder Zubehoer ist nach Aufbereitung nicht steril und uebertraegt Keime auf den Patienten.", + TriggerDE: "Ungenuegender Sterilisationszyklus, konstruktive Totzonen, nicht autoklavierbares Material.", + HarmDE: "Postoperative Infektion, Sepsis, Multiorganversagen.", + AffectedDE: "Patienten, insbesondere immunsupprimierte.", + ZoneDE: "Patientenberuehrende Flaechen, Hohlraeume, Schlauchanschluesse.", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP356", NameDE: "Mechanisches Versagen des OP-Tischs", NameEN: "Mechanical failure of operating table", + RequiredComponentTags: []string{"moving_part", "hydraulic_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M051"}, + SuggestedEvidenceIDs: []string{"E01", "E08", "E21"}, + Priority: 90, + ScenarioDE: "OP-Tisch senkt sich unkontrolliert oder kippt waehrend des Eingriffs.", + TriggerDE: "Hydraulikleckage, mechanisches Versagen der Verriegelung, Ueberlast.", + HarmDE: "Sturz des Patienten vom Tisch, Verletzung durch chirurgische Instrumente bei unkontrollierter Bewegung.", + AffectedDE: "Patienten waehrend Operation, OP-Personal.", + ZoneDE: "OP-Tisch, Saeulenmechanismus, Kopf- und Beinteile.", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP357", NameDE: "EMV-Stoerung anderer Geraete", NameEN: "EMC interference with other devices", + RequiredComponentTags: []string{"electrical_part", "networked"}, + RequiredEnergyTags: []string{"electromagnetic"}, + GeneratedHazardCats: []string{"emc_hazard", "safety_function_failure"}, + SuggestedMeasureIDs: []string{"M004", "M106"}, + SuggestedEvidenceIDs: []string{"E01", "E10"}, + Priority: 85, + ScenarioDE: "Elektromagnetische Stoerstrahlung eines Medizingeraets beeinflusst andere lebenserhaltende Geraete im Raum.", + TriggerDE: "Fehlende EMV-Pruefung, defekte Schirmung, Betrieb ausserhalb spezifizierter Umgebung.", + HarmDE: "Fehlfunktion von Beatmungsgeraet, Infusionspumpe oder Patientenmonitor.", + AffectedDE: "Patienten an lebenserhaltenden Geraeten.", + ZoneDE: "Intensivstation, OP-Saal, Notaufnahme.", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP358", NameDE: "Softwarefehler in Dosierungssystem", NameEN: "Software error in dosing system", + RequiredComponentTags: []string{"has_software", "programmable"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"software_fault", "safety_function_failure"}, + SuggestedMeasureIDs: []string{"M106"}, + SuggestedEvidenceIDs: []string{"E01", "E07", "E14"}, + Priority: 97, + RequiresExpertCalculation: true, + ExpertHintDE: "Software-Sicherheitsklasse nach IEC 62304 bestimmen. SOUP-Analyse erforderlich.", + ExpertHintEN: "Software safety class per IEC 62304 must be determined. SOUP analysis required.", + ScenarioDE: "Infusionspumpe oder Spritzenantrieb dosiert aufgrund eines Softwarefehlers eine falsche Medikamentenmenge.", + TriggerDE: "Softwarebug in der Dosisberechnung, Rundungsfehler, unbehandelte Ausnahme.", + HarmDE: "Ueberdosierung: Vergiftung, Herzstillstand. Unterdosierung: Therapieversagen.", + AffectedDE: "Patienten, insbesondere bei hochpotenten Medikamenten.", + ZoneDE: "Infusionspumpe, Spritzenantrieb, Medikamenten-Managementsystem.", + DefaultSeverity: 5, DefaultExposure: 4, + }, + { + ID: "HP359", NameDE: "Patientenfall vom Krankenbett", NameEN: "Patient fall from hospital bed", + RequiredComponentTags: []string{"gravity_risk", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M051", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E08"}, + Priority: 80, + ScenarioDE: "Patient stuerzt vom elektrisch verstellbaren Krankenbett durch Fehlfunktion der Seitensicherung oder unkontrollierte Bewegung.", + TriggerDE: "Defekte Seitenverriegelung, unbeabsichtigte Betaetigung der Fernbedienung, Kippsicherung versagt.", + HarmDE: "Knochenbrueche (Huefte, Schaedel), Prellungen, bei aelteren Patienten lebensbedrohlich.", + AffectedDE: "Patienten, insbesondere desorientierte oder sedierte.", + ZoneDE: "Bettseitenschutz, Kopf-/Fussteil, gesamte Liegeoberflaeche.", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP360", NameDE: "Ueberhitzung tragbarer Geraetebatterie", NameEN: "Overheating of portable device battery", + RequiredComponentTags: []string{"electrical_part"}, + RequiredEnergyTags: []string{"stored_energy", "thermal"}, + GeneratedHazardCats: []string{"thermal_hazard", "electrical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M054"}, + SuggestedEvidenceIDs: []string{"E01", "E10"}, + Priority: 85, + ScenarioDE: "Lithium-Akku eines tragbaren Medizingeraets ueberhitzt und kann thermisch durchgehen.", + TriggerDE: "Defektes Ladegeraet, beschaedigter Akku, Ueberladen, Kurzschluss.", + HarmDE: "Verbrennungen, toxische Rauchgase, Brand im Patientenumfeld.", + AffectedDE: "Patienten, Pflegepersonal.", + ZoneDE: "Geraetegehaeuse, Ladestation, Patientennaeah.", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP361", NameDE: "Fehlerhafte Anzeige am Patientenmonitor", NameEN: "Erroneous display on patient monitor", + RequiredComponentTags: []string{"user_interface", "has_software"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"hmi_error", "software_fault"}, + SuggestedMeasureIDs: []string{"M106", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E14"}, + Priority: 88, + ScenarioDE: "Patientenmonitor zeigt falsche Vitalwerte an, aerztliches Personal trifft Entscheidungen auf falscher Grundlage.", + TriggerDE: "Displayfehler, Signalverarbeitungsfehler, defekter Sensoreingang.", + HarmDE: "Verzoegerte Erkennung kritischer Zustaende, falsche Therapieentscheidung.", + AffectedDE: "Patienten, aerztliches Personal.", + ZoneDE: "Monitoranzeige, Alarmeinstellung, Sensoranbindung.", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP362", NameDE: "Bewegungseinschraenkung in MRT-Roehre", NameEN: "Movement restriction in MRI bore", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{"electromagnetic"}, + GeneratedHazardCats: []string{"ergonomic", "material_environmental"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E24"}, + Priority: 72, + ScenarioDE: "Patient erleidet Panikattacke in enger MRT-Roehre oder kann bei Geraeteausfall nicht schnell evakuiert werden.", + TriggerDE: "Klaustrophobie, laengere Untersuchungsdauer, Defekt der Patientenliege bei Evakuierung.", + HarmDE: "Panikbedingte Verletzungen, Aspiration bei sediertem Patient, verzoegerte Rettung.", + AffectedDE: "Patienten, insbesondere klaustrophobische oder sedierte.", + ZoneDE: "MRT-Bore, Patientenliege, Zugangsbereich.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP363", NameDE: "Ferromagnetischer Gegenstand als MRT-Projektil", NameEN: "Ferromagnetic object as MRI projectile", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{"electromagnetic"}, + GeneratedHazardCats: []string{"mechanical_hazard", "material_environmental"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E24", "E25"}, + Priority: 96, + ScenarioDE: "Ferromagnetischer Gegenstand wird vom MRT-Magnetfeld angezogen und zum Projektil beschleunigt.", + TriggerDE: "Nicht detektiertes ferromagnetisches Werkzeug, Rollstuhl, Sauerstoffflasche im MRT-Raum.", + HarmDE: "Schwere Quetsch- und Schlagverletzungen, Schaedelfraktur, toedliche Verletzung.", + AffectedDE: "Patienten, Personal, Besucher im MRT-Raum.", + ZoneDE: "MRT-Raum, insbesondere Eingangsbereich und Bore-Zentrum.", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP364", NameDE: "Quenchgefahr bei supraleitendem MRT-Magnet", NameEN: "Quench hazard at superconducting MRI magnet", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{"electromagnetic", "stored_energy"}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M051", "M054", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E20"}, + Priority: 90, + ScenarioDE: "Unkontrollierter Helium-Quench des supraleitenden MRT-Magneten fuellt Raum mit Gas.", + TriggerDE: "Kuehlfehler, Vibration, absichtlicher Notquench ohne Evakuierung, Versagen des Quench-Ventils.", + HarmDE: "Erstickung durch Sauerstoffverdraengung, Kaelteverbrennungen, Druckwelle im geschlossenen Raum.", + AffectedDE: "Patienten, Personal im MRT-Raum.", + ZoneDE: "MRT-Raum, Quench-Rohrleitung, angrenzende Raeume bei Ventilversagen.", + DefaultSeverity: 5, DefaultExposure: 1, + }, + // ================================================================ + // Pressure Equipment Patterns (HP365-HP374) + // ================================================================ + { + ID: "HP365", NameDE: "Bersten eines Druckbehaelters", NameEN: "Bursting of a pressure vessel", + RequiredComponentTags: []string{"high_pressure", "structural_part"}, + RequiredEnergyTags: []string{"stored_energy"}, + GeneratedHazardCats: []string{"pneumatic_hydraulic"}, + SuggestedMeasureIDs: []string{"M051", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E11"}, + Priority: 98, + RequiresExpertCalculation: true, + ExpertHintDE: "Berechnung nach AD 2000 oder EN 13445 erforderlich. Wiederkehrende Pruefung nach BetrSichV.", + ExpertHintEN: "Calculation per AD 2000 or EN 13445 required. Periodic inspection per pressure equipment directive.", + ScenarioDE: "Druckbehaelter versagt katastrophal und zerlegt sich in Fragmente.", + TriggerDE: "Ueberdruck, Materialermuedung, Korrosion, fehlendes oder blockiertes Sicherheitsventil.", + HarmDE: "Toedliche Verletzung durch Druckwelle und Fragmentwurf, schwere Verbrennungen.", + AffectedDE: "Alle Personen im Umkreis von 50+ Metern, je nach Behaeltergroesse.", + ZoneDE: "Behaelter, Aufstellungsraum, angrenzende Arbeitsbereiche.", + DefaultSeverity: 5, DefaultExposure: 1, + }, + { + ID: "HP366", NameDE: "Dampfaustritt an undichter Flanschverbindung", NameEN: "Steam leak at flanged joint", + RequiredComponentTags: []string{"high_pressure", "high_temperature"}, + RequiredEnergyTags: []string{"thermal", "stored_energy"}, + GeneratedHazardCats: []string{"thermal_hazard", "pneumatic_hydraulic"}, + SuggestedMeasureIDs: []string{"M054", "M131"}, + SuggestedEvidenceIDs: []string{"E08", "E11"}, + Priority: 90, + ScenarioDE: "Heisser Dampf tritt aus einer undichten Flanschverbindung aus und trifft Personen im Nahbereich.", + TriggerDE: "Dichtungsversagen, ungleichmaessig angezogene Schrauben, thermische Ausdehnung.", + HarmDE: "Schwere Verbruehungen, unsichtbarer Dampfstrahl bei hohem Druck besonders gefaehrlich.", + AffectedDE: "Wartungspersonal, Bedienpersonal.", + ZoneDE: "Flanschverbindungen, Ventile, Rohrleitungsfuehrung.", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP367", NameDE: "Sicherheitsventil oeffnet nicht", NameEN: "Safety valve fails to open", + RequiredComponentTags: []string{"high_pressure"}, + RequiredEnergyTags: []string{"stored_energy"}, + GeneratedHazardCats: []string{"safety_function_failure", "pneumatic_hydraulic"}, + SuggestedMeasureIDs: []string{"M106", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E08", "E11"}, + Priority: 97, + RequiresExpertCalculation: true, + ExpertHintDE: "SIL-Nachweis fuer Druckbegrenzung erforderlich. Pruefzyklen des Sicherheitsventils festlegen.", + ExpertHintEN: "SIL verification for pressure limitation required. Inspection cycles for safety valve must be defined.", + ScenarioDE: "Sicherheitsventil ist blockiert oder defekt und oeffnet bei Ueberdruck nicht.", + TriggerDE: "Korrosion, Verschmutzung, fehlende wiederkehrende Pruefung, falsche Einstellung.", + HarmDE: "Ueberdruck bis zum Berstversagen des Behaelters, toedliche Folgen.", + AffectedDE: "Alle Personen im Gefahrenbereich des Druckbehaelters.", + ZoneDE: "Sicherheitsventil, Druckbehaelter, Ablaseleitung.", + DefaultSeverity: 5, DefaultExposure: 1, + }, + { + ID: "HP368", NameDE: "Druckstoss (Wasserschlag) in Rohrleitung", NameEN: "Pressure surge (water hammer) in pipeline", + RequiredComponentTags: []string{"high_pressure"}, + RequiredEnergyTags: []string{"stored_energy"}, + GeneratedHazardCats: []string{"pneumatic_hydraulic", "mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M051", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E11"}, + Priority: 88, + ScenarioDE: "Schnelles Schliessen eines Ventils erzeugt Druckstoss, der Rohrleitungen oder Armaturen zerreisst.", + TriggerDE: "Schlagartig schliessender Schieber, Kondensatschlag in Dampfleitung, Pumpenausfall.", + HarmDE: "Rohrleitungsbruch mit Mediumaustritt, Schlagverletzung durch losgerissene Teile.", + AffectedDE: "Wartungspersonal, Bedienpersonal im Rohrleitungsbereich.", + ZoneDE: "Rohrleitung, Ventile, Boegen, Waermetauscher-Anschluesse.", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP369", NameDE: "Korrosionsversagen unter Isolierung", NameEN: "Corrosion under insulation failure", + RequiredComponentTags: []string{"high_pressure", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental", "pneumatic_hydraulic"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E01", "E20", "E21"}, + Priority: 82, + ScenarioDE: "Verdeckte Korrosion unter Waermedaemmung schwaecht Rohrleitung oder Behaelterwand bis zum Versagen.", + TriggerDE: "Eindringen von Feuchtigkeit unter die Isolierung, fehlende wiederkehrende Pruefung.", + HarmDE: "Plotzliches Versagen mit Mediumaustritt, Verbruehung oder Vergiftung.", + AffectedDE: "Wartungspersonal, Bedienpersonal.", + ZoneDE: "Isolierte Rohrleitungen, Behaeltermantel, Stutzenanschluesse.", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP370", NameDE: "Verbrennungsgefahr an heisser Dampfleitung", NameEN: "Burn hazard at hot steam pipe", + RequiredComponentTags: []string{"high_temperature", "structural_part"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E20"}, + Priority: 85, + ScenarioDE: "Personal beruehrt unisolierte oder beschaedigte Dampfleitung mit Oberflaeche ueber 60 Grad C.", + TriggerDE: "Fehlende oder beschaedigte Isolierung, Arbeiten in engem Leitungsschacht.", + HarmDE: "Kontaktverbrennung an Haenden und Oberkoerper.", + AffectedDE: "Wartungspersonal, Bedienpersonal.", + ZoneDE: "Dampfleitungen, Ventilkoerper, Flansche, Waermetauscher.", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP371", NameDE: "Erstickungsgefahr durch Inertgas-Austritt", NameEN: "Asphyxiation from inert gas release", + RequiredComponentTags: []string{"chemical_risk", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M054", "M141"}, + SuggestedEvidenceIDs: []string{"E01", "E20"}, + Priority: 92, + ScenarioDE: "Stickstoff oder anderes Inertgas tritt aus und verdraengt Atemluft in geschlossenem Raum.", + TriggerDE: "Leckage an Flanschverbindung, Ventilversagen, absichtliche Inertisierung ohne Warnung.", + HarmDE: "Bewusstlosigkeit innerhalb von Sekunden, Erstickungstod.", + AffectedDE: "Wartungspersonal, Bedienpersonal, Besucher.", + ZoneDE: "Geschlossene Raeume, Keller, Gruben nahe Gasversorgung.", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP372", NameDE: "Ueberdruckversagen Waermetauscher", NameEN: "Overpressure failure of heat exchanger", + RequiredComponentTags: []string{"high_pressure", "high_temperature"}, + RequiredEnergyTags: []string{"thermal", "stored_energy"}, + GeneratedHazardCats: []string{"pneumatic_hydraulic", "thermal_hazard"}, + SuggestedMeasureIDs: []string{"M051", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E11"}, + Priority: 90, + RequiresExpertCalculation: true, + ExpertHintDE: "Druckstossberechnung und Rohrbruchsicherung nach EN 13445/EN 13480 erforderlich.", + ExpertHintEN: "Pressure surge calculation and pipe burst protection per EN 13445/EN 13480 required.", + ScenarioDE: "Interne Leckage im Waermetauscher fuehrt zur Druckuebertragung von der Hochdruck- auf die Niederdruckseite.", + TriggerDE: "Rohrbuendelbruch, Korrosion der Trennwaende, Thermoschock.", + HarmDE: "Bersten der Niederdruckseite, unkontrollierter Medienaustritt, Verbruehung.", + AffectedDE: "Wartungspersonal, Bedienpersonal.", + ZoneDE: "Waermetauscher, Nieder-/Hochdruckseite, Abblaseleitung.", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP373", NameDE: "Druckluft-Hautinjektion", NameEN: "Compressed air skin injection", + RequiredComponentTags: []string{"pneumatic_part", "high_pressure"}, + RequiredEnergyTags: []string{"pneumatic_pressure"}, + GeneratedHazardCats: []string{"pneumatic_hydraulic"}, + SuggestedMeasureIDs: []string{"M054", "M131", "M141"}, + SuggestedEvidenceIDs: []string{"E06", "E11"}, + Priority: 85, + ScenarioDE: "Hochdruckluft wird auf die Haut gerichtet und dringt in das Gewebe ein (subkutane Gasembolie).", + TriggerDE: "Reinigung mit Druckluftpistole ohne Druckminderung, defekte Duesenabsicherung.", + HarmDE: "Subkutanes Emphysem, Gasembolie, Gewebezerstoerung.", + AffectedDE: "Bedienpersonal, Reinigungspersonal.", + ZoneDE: "Druckluftpistole, offene Leitungen, Wartungsbereich.", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP374", NameDE: "Schnellschluss-Ventilversagen bei Druckentlastung", NameEN: "Fast-closing valve failure during pressure relief", + RequiredComponentTags: []string{"high_pressure", "actuator_part"}, + RequiredEnergyTags: []string{"stored_energy"}, + GeneratedHazardCats: []string{"safety_function_failure", "pneumatic_hydraulic"}, + SuggestedMeasureIDs: []string{"M106", "M131"}, + SuggestedEvidenceIDs: []string{"E01", "E07", "E11"}, + Priority: 93, + RequiresExpertCalculation: true, + ExpertHintDE: "SIL-Bewertung der Druckentlastungskette nach IEC 61511 erforderlich.", + ExpertHintEN: "SIL assessment of pressure relief chain per IEC 61511 required.", + ScenarioDE: "Schnellschlussventil schliesst nicht oder zu langsam bei Notfall-Druckentlastung.", + TriggerDE: "Mechanische Verklemmung, Federbruch, Versagen des Stellantriebs, fehlende Pruefung.", + HarmDE: "Unkontrollierter Druckaufbau, Berstversagen nachgelagerter Bauteile.", + AffectedDE: "Bedienpersonal, alle Personen im Anlagenbereich.", + ZoneDE: "Schnellschlussventil, Stellantrieb, Abblaseleitung.", + DefaultSeverity: 5, DefaultExposure: 1, + }, + } +} diff --git a/ai-compliance-sdk/internal/iace/hazard_patterns_plastics_metal.go b/ai-compliance-sdk/internal/iace/hazard_patterns_plastics_metal.go new file mode 100644 index 0000000..56adf2a --- /dev/null +++ b/ai-compliance-sdk/internal/iace/hazard_patterns_plastics_metal.go @@ -0,0 +1,473 @@ +package iace + +// GetPlasticsMetalPatterns returns ~30 hazard patterns (HP500-HP529) +// for plastics/rubber processing machines and metalworking machines +// (turning, milling, grinding, drilling, sheet metal). +func GetPlasticsMetalPatterns() []HazardPattern { + return []HazardPattern{ + // ================================================================ + // Kunststoff- / Gummiverarbeitung (HP500-HP514) + // ================================================================ + { + ID: "HP500", NameDE: "Verbrennung an heisser Spritzgiessform", NameEN: "Burn from hot injection mould", + RequiredComponentTags: []string{"high_temperature", "crush_point"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E10", "E20"}, + Priority: 80, + ScenarioDE: "Bediener beruehrt die heisse Spritzgiessform beim Entnehmen von Formteilen oder Werkzeugwechsel.", + TriggerDE: "Unbeabsichtigter Hautkontakt mit Werkzeugoberflaече bei 180-300 Grad Celsius", + HarmDE: "Verbrennungen 2.-3. Grades an Haenden und Unterarmen", + AffectedDE: "Maschinenbediener, Einrichter", + ZoneDE: "Werkzeugraum, Formbereich der Spritzgiessmaschine", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP501", NameDE: "Quetschen durch Schliesseinheit Spritzgiessmaschine", NameEN: "Crushing by injection moulding clamping unit", + RequiredComponentTags: []string{"crush_point", "moving_part"}, + RequiredEnergyTags: []string{"hydraulic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 95, + ScenarioDE: "Die Schliesseinheit der Spritzgiessmaschine faehrt mit hoher Kraft zusammen, waehrend Koerperteile im Werkzeugraum sind.", + TriggerDE: "Eingriff in Werkzeugraum bei geoeffneter Schutztuer-Verriegelung, Schutzgitter manipuliert", + HarmDE: "Toedliche Quetschung, Amputation von Haenden/Armen, Rumpfquetschung", + AffectedDE: "Maschinenbediener, Einrichter, Wartungspersonal", + ZoneDE: "Werkzeugraum zwischen fester und beweglicher Aufspannplatte", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP502", NameDE: "Hochdruck-Injektion von Kunststoff in die Hand", NameEN: "High-pressure injection of plastic into hand", + RequiredComponentTags: []string{"high_pressure"}, + RequiredEnergyTags: []string{"hydraulic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M082", "M141"}, + SuggestedEvidenceIDs: []string{"E09", "E20"}, + Priority: 90, + RequiresExpertCalculation: true, + ExpertHintDE: "Einspritzdruck und Duesenabstand pruefen gemaess EN 201.", + ScenarioDE: "Heisse Kunststoffschmelze wird unter Hochdruck (bis 2500 bar) durch undichte Duese oder Schlauch in die Haut injiziert.", + TriggerDE: "Undichte Einspritzduese, Schlauchplatzer, Arbeiten an druckbeaufschlagtem System", + HarmDE: "Hochdruck-Injektionsverletzung, Gewebezerstoerung, Amputation bei verspaeteter Behandlung", + AffectedDE: "Einrichter, Wartungspersonal", + ZoneDE: "Duesenbereich, Einspritzeinheit, Hydraulikleitungen", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP503", NameDE: "Einzug in Extruder-Schnecke", NameEN: "Draw-in by extruder screw", + RequiredComponentTags: []string{"rotating_part", "entanglement_risk"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M003", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 95, + ScenarioDE: "Offene Extruder-Einfuelloeffnung zieht Finger, Haende oder Kleidung in die rotierende Schnecke.", + TriggerDE: "Manuelle Materialzufuhr ohne Schutzabdeckung, Reinigung bei laufender Schnecke", + HarmDE: "Amputation, schwere Quetschverletzung, Handverlust", + AffectedDE: "Maschinenbediener, Reinigungspersonal", + ZoneDE: "Einfuelloeffnung des Extruders, Schneckenbereich", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP504", NameDE: "Brand durch ueberhitzte Schmelze", NameEN: "Fire from overheated melt", + RequiredComponentTags: []string{"high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard", "material_environmental"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E10", "E20"}, + Priority: 85, + ScenarioDE: "Kunststoffschmelze ueberhitzt durch Temperaturregler-Ausfall und entzuendet sich im Zylinder oder an der Duese.", + TriggerDE: "Defekter Temperaturfuehler, versagendes Heizband, Stagnation der Schmelze", + HarmDE: "Brandentstehung, Rauchvergiftung, Verbrennungen, Maschinenschaden", + AffectedDE: "Alle Personen im Maschinenumfeld", + ZoneDE: "Plastifiziereinheit, Zylinder, Duesenbereich", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP505", NameDE: "Platzen des Blasformwerkzeugs", NameEN: "Blow mould burst", + RequiredComponentTags: []string{"high_pressure", "structural_part"}, + RequiredEnergyTags: []string{"pneumatic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M003", "M141"}, + SuggestedEvidenceIDs: []string{"E09", "E20"}, + Priority: 85, + ScenarioDE: "Das Blasformwerkzeug platzt durch Ueberdruckt, wobei Teile und heisser Kunststoff herausgeschleudert werden.", + TriggerDE: "Druckregler-Versagen, Werkzeugriss, Verschleiss der Dichtung", + HarmDE: "Augenverletzung durch Splitter, Verbrennungen durch heissen Kunststoff, Prellungen", + AffectedDE: "Maschinenbediener, Personen im Nahbereich", + ZoneDE: "Blasformwerkzeug, Umgebung der Blasstation", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP506", NameDE: "Giftiger Rauch bei Kunststoffueberhitzung", NameEN: "Toxic fumes from plastic overheating", + RequiredComponentTags: []string{"high_temperature", "chemical_risk"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 80, + ScenarioDE: "Bei Ueberhitzung von PVC, PTFE oder anderen Kunststoffen entstehen giftige Daempfe (HCl, Phosgen, Fluorwasserstoff).", + TriggerDE: "Temperatur ueberschreitet Zersetzungstemperatur, Materialverwechslung", + HarmDE: "Atemwegsveraetzung, Lungenoedem, chronische Atemwegsschaeden", + AffectedDE: "Alle Personen in der Halle, insbesondere Bedienpersonal", + ZoneDE: "Maschinenumgebung, Hallenluft, Absaugbereich", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP507", NameDE: "Quetschen am Walzwerk (Zweiwalzen-Kalander)", NameEN: "Crushing at two-roll mill", + RequiredComponentTags: []string{"rotating_part", "crush_point"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 95, + ScenarioDE: "Bediener wird in den Walzenspalt des Zweiwalzenwerks eingezogen beim manuellen Beschicken.", + TriggerDE: "Manuelle Materialzufuhr, Kleidungsstueck wird erfasst, ungesicherte Einzugsstelle", + HarmDE: "Armeinzug, Quetschung bis zur Amputation, Rumpfquetschung", + AffectedDE: "Maschinenbediener bei manueller Beschickung", + ZoneDE: "Walzenspalt, Einzugsbereich des Zweiwalzenwerks", + DefaultSeverity: 5, DefaultExposure: 4, + }, + { + ID: "HP508", NameDE: "Einzug in Kalander", NameEN: "Draw-in by calender rolls", + RequiredComponentTags: []string{"rotating_part", "entanglement_risk"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 90, + ScenarioDE: "Kalander-Walzen erfassen Kleidung, Finger oder Haare und ziehen die Person in den Walzenspalt.", + TriggerDE: "Ungeschuetzter Walzeneinlauf, Reinigung bei laufendem Betrieb", + HarmDE: "Schwere Quetschverletzungen, Amputation, Hautabschaelungen", + AffectedDE: "Bedienpersonal, Reinigungspersonal", + ZoneDE: "Einzugsbereiche aller Kalanderwalzenpaare", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP509", NameDE: "Verbrennung durch heisse Kunststoffschmelze", NameEN: "Burn from hot plastic melt drops/splashes", + RequiredComponentTags: []string{"high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E10", "E20"}, + Priority: 75, + ScenarioDE: "Heisse Kunststoffschmelze tropft oder spritzt bei Duesenreinigung, Werkzeugwechsel oder Leckage auf die Haut.", + TriggerDE: "Oeffnen der Duese bei druckbeaufschlagtem Zylinder, Leckage an Verschraubung", + HarmDE: "Verbrennungen 2.-3. Grades, Schmelze haftet an der Haut und vertieft die Verbrennung", + AffectedDE: "Einrichter, Bedienpersonal", + ZoneDE: "Duesenbereich, Angussseite des Werkzeugs", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP510", NameDE: "Staubexplosion bei Granulat-Aufbereitung", NameEN: "Dust explosion during granulate processing", + RequiredComponentTags: []string{"chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 85, + ScenarioDE: "Feiner Kunststoffstaub bildet bei der Granulat-Aufbereitung ein explosionsfaehiges Gemisch.", + TriggerDE: "Zuendquelle (Funke, Heisslaeufer) bei ueberschrittener unterer Explosionsgrenze", + HarmDE: "Explosion, Verbrennungen, Druckwelle, toedliche Verletzungen", + AffectedDE: "Alle Personen im Aufbereitungsbereich", + ZoneDE: "Muehle, Silo, Foerderleitungen, Mischanlage", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP511", NameDE: "Allergische Reaktion auf Weichmacher/Loesungsmittel", NameEN: "Allergic reaction to plasticizers/solvents", + RequiredComponentTags: []string{"chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 60, + ScenarioDE: "Hautkontakt oder Einatmen von Weichmachern, Loesungsmitteln oder Additiven loest allergische Reaktionen aus.", + TriggerDE: "Arbeiten ohne Handschuhe, unzureichende Absaugung, Hautresorption", + HarmDE: "Kontaktdermatitis, Atemwegssensibilisierung, chronisches Asthma", + AffectedDE: "Bedienpersonal, Mischpersonal in der Compoundierung", + ZoneDE: "Mischbereich, Compoundieranlage, Lagerbereich fuer Additive", + DefaultSeverity: 3, DefaultExposure: 4, + }, + { + ID: "HP512", NameDE: "Quetschen beim Werkzeugwechsel Spritzguss", NameEN: "Crushing during injection mould change", + RequiredComponentTags: []string{"crush_point", "moving_part"}, + RequiredEnergyTags: []string{}, + RequiredLifecycles: []string{"maintenance", "setup"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M082", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 90, + ScenarioDE: "Schweres Spritzgiesswerkzeug (oft mehrere Tonnen) wird gewechselt; Quetschgefahr durch Kran, Aufspannplatte, Werkzeug.", + TriggerDE: "Werkzeug rutscht von Kran, Aufspannplatte faehrt unerwartet, ungesichertes Werkzeug kippt", + HarmDE: "Quetschung, Knochenbrueche, toedliche Verletzung durch herabfallendes Werkzeug", + AffectedDE: "Einrichter, Werkzeugwechsel-Personal", + ZoneDE: "Werkzeugraum, Kranbereich, Aufspannflaeche", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP513", NameDE: "Hydraulikversagen Schliessdruck", NameEN: "Hydraulic failure of clamping pressure", + RequiredComponentTags: []string{"high_pressure"}, + RequiredEnergyTags: []string{"hydraulic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M082", "M141"}, + SuggestedEvidenceIDs: []string{"E09", "E20"}, + Priority: 85, + ScenarioDE: "Hydraulikversagen fuehrt zu unkontrolliertem Oeffnen oder Schliessen der Aufspannplatten.", + TriggerDE: "Hydraulikschlauchbruch, Ventilklemmer, Druckverlust im Hydrauliksystem", + HarmDE: "Unkontrollierte Werkzeugbewegung, Quetschung, Werkzeugsturz", + AffectedDE: "Maschinenbediener, Einrichter", + ZoneDE: "Werkzeugraum, Hydraulikaggregate, Schlauchleitungen", + DefaultSeverity: 4, DefaultExposure: 2, + }, + { + ID: "HP514", NameDE: "Splitterflug bei Werkzeugbruch", NameEN: "Fragment ejection from mould/tool breakage", + RequiredComponentTags: []string{"high_pressure", "structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M141"}, + SuggestedEvidenceIDs: []string{"E09", "E20"}, + Priority: 80, + ScenarioDE: "Werkzeug bricht unter hohem Schliessdruck; Metallsplitter werden mit Geschosswirkung herausgeschleudert.", + TriggerDE: "Materialermuedung des Werkzeugs, Ueberlastung, Fremdkoerper im Werkzeug", + HarmDE: "Augenverletzung, Schnittwunden, penetrierende Verletzungen", + AffectedDE: "Maschinenbediener, Personen im Nahbereich", + ZoneDE: "Werkzeugraum, Umgebung der Trennebene", + DefaultSeverity: 4, DefaultExposure: 2, + }, + + // ================================================================ + // Metallbearbeitung — Drehen, Fraesen, Schleifen, Bohren (HP515-HP529) + // ================================================================ + { + ID: "HP515", NameDE: "Spanflug trifft Auge", NameEN: "Flying chip hits eye", + RequiredComponentTags: []string{"cutting_part", "high_speed"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M005", "M141"}, + SuggestedEvidenceIDs: []string{"E09", "E20"}, + Priority: 85, + ScenarioDE: "Bei der spanenden Bearbeitung (Drehen, Fraesen) werden heisse Metallspaene mit hoher Geschwindigkeit geschleudert.", + TriggerDE: "Fehlende Spanschutzscheibe, geoeffnete Maschinentuer, ungeeignete Schutzbrille", + HarmDE: "Hornhautverletzung, Augapfelperforation, dauerhafte Sehschaeden", + AffectedDE: "Maschinenbediener, Personen im Spanflugbereich", + ZoneDE: "Bearbeitungszone, Spanabflugrichtung", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP516", NameDE: "Einzug von Kleidung/Haaren an Drehmaschine", NameEN: "Entanglement of clothing/hair at lathe", + RequiredComponentTags: []string{"rotating_part", "entanglement_risk"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 95, + ScenarioDE: "Offene Haare, Krawatten, Aermel oder Handschuhe werden vom rotierenden Werkstueck oder Spannfutter erfasst.", + TriggerDE: "Tragen von Handschuhen an der Drehmaschine, offene Haare, lose Kleidung", + HarmDE: "Skalpierung, Armfraktur, Strangulation, toedliche Aufwickelverletzung", + AffectedDE: "Maschinenbediener, Auszubildende", + ZoneDE: "Spannfutter, rotierendes Werkstueck, Leitspindel", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP517", NameDE: "Schleifscheibenbruch mit Geschosswirkung", NameEN: "Grinding wheel burst with projectile effect", + RequiredComponentTags: []string{"rotating_part", "high_speed"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M003", "M141"}, + SuggestedEvidenceIDs: []string{"E09", "E20"}, + Priority: 90, + RequiresExpertCalculation: true, + ExpertHintDE: "Maximale Umfangsgeschwindigkeit und Schutzhaubenwinkel gemaess EN 13218 pruefen.", + ScenarioDE: "Schleifscheibe bricht bei hoher Drehzahl; Bruchstuecke werden mit Geschosswirkung herausgeschleudert.", + TriggerDE: "Ueberschreitung der zulaessigen Drehzahl, Materialfehler, unsachgemaesse Aufspannung", + HarmDE: "Penetrierende Verletzungen, Knochenbrueche, toedliche Kopfverletzung", + AffectedDE: "Maschinenbediener, Personen im Gefahrenbereich", + ZoneDE: "Schleifzone, Bereich vor der Schutzhaubenoeffnung", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP518", NameDE: "Rueckschlag Werkstueck an Fraesmaschine", NameEN: "Workpiece kickback at milling machine", + RequiredComponentTags: []string{"cutting_part", "moving_part"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M082", "M141"}, + SuggestedEvidenceIDs: []string{"E09", "E20"}, + Priority: 80, + ScenarioDE: "Das Werkstueck wird durch den Fraeser aus der Aufspannung gerissen und weggeschleudert.", + TriggerDE: "Zu hohe Zustellung, ungenuegend gespanntes Werkstueck, stumpfer Fraeser", + HarmDE: "Prellungen, Knochenbrueche, Kopfverletzung durch Werkstueckwurf", + AffectedDE: "Maschinenbediener, Personen in Wurfrichtung", + ZoneDE: "Fraesbereich, Bereich in Schlittenfahrtrichtung", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP519", NameDE: "Quetschen durch CNC-Tisch/Schlitten", NameEN: "Crushing by CNC table/slide", + RequiredComponentTags: []string{"moving_part", "crush_point"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 85, + ScenarioDE: "CNC-Maschinentisch oder Schlitten faehrt gegen festen Anschlag und quetscht Koerperteile des Bedieners.", + TriggerDE: "Fehlprogrammierung, Referenzfahrt bei offenem Schutzgitter, Hand im Verfahrbereich", + HarmDE: "Quetschung, Knochenbrueche, Amputation von Fingern", + AffectedDE: "CNC-Bediener, Einrichter", + ZoneDE: "Verfahrbereich des Maschinentisches, Spindelbereich", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP520", NameDE: "Kuehlmittelspritzer ins Auge", NameEN: "Coolant splash into eye", + RequiredComponentTags: []string{"chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 65, + ScenarioDE: "Kuehlschmierstoff spritzt bei der Bearbeitung oder beim Oeffnen der Maschinentuer ins Gesicht.", + TriggerDE: "Geoeffnete Maschinentuer bei laufender Kuehlung, Leckage der KSS-Leitung", + HarmDE: "Augenreizung, chemische Augenverletzung, allergische Bindehautentzuendung", + AffectedDE: "Maschinenbediener", + ZoneDE: "Bearbeitungszone, Tuerbereich der CNC-Maschine", + DefaultSeverity: 2, DefaultExposure: 4, + }, + { + ID: "HP521", NameDE: "Schnitt an scharfer Kante/Grat", NameEN: "Cut on sharp edge/burr", + RequiredComponentTags: []string{"cutting_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 60, + ScenarioDE: "Scharfe Kanten und Grate an bearbeiteten Werkstuecken verursachen Schnittverletzungen beim Handling.", + TriggerDE: "Entgraten vergessen, Handling ohne Schnittschutzhandschuhe", + HarmDE: "Schnittwunden, Sehnenvertzletzung, tiefe Fleischwunde", + AffectedDE: "Maschinenbediener, Montage-/Entgratpersonal", + ZoneDE: "Werkstueckablage, Entnahmebereich, Entgratarbeitsplatz", + DefaultSeverity: 3, DefaultExposure: 4, + }, + { + ID: "HP522", NameDE: "Kontakt mit rotierendem Bohrer", NameEN: "Contact with rotating drill bit", + RequiredComponentTags: []string{"rotating_part", "cutting_part"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M005", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 80, + ScenarioDE: "Bediener beruehrt den rotierenden Bohrer beim Spaeneraeumen oder Werkstueckwechsel.", + TriggerDE: "Manuelles Spaeneraeumen bei laufender Maschine, fehlender Bohrerschutz", + HarmDE: "Aufwickelverletzung an Handschuhen, Spiralbruch des Fingers, tiefe Risswunde", + AffectedDE: "Maschinenbediener, Auszubildende", + ZoneDE: "Bohrspindel, Bereich unter dem Bohrer", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP523", NameDE: "Laerm bei Blechbearbeitung (Stanzen)", NameEN: "Noise from sheet metal processing (punching)", + RequiredComponentTags: []string{"moving_part"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"ergonomic"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 55, + ScenarioDE: "Stanzmaschinen erzeugen Spitzenlaermpegel ueber 100 dB(A) bei jedem Stanzhub.", + TriggerDE: "Dauerbetrieb der Stanzmaschine, fehlender Gehoerschutz, Stanzen duenner Bleche", + HarmDE: "Laermschwerhoerigkeit, Tinnitus, chronischer Hoerverlust", + AffectedDE: "Maschinenbediener, alle Personen in der Stanzhalle", + ZoneDE: "Stanzarbeitsplatz, gesamte Fertigungshalle", + DefaultSeverity: 3, DefaultExposure: 5, + }, + { + ID: "HP524", NameDE: "Hand-Arm-Vibration bei Schleifen", NameEN: "Hand-arm vibration during grinding", + RequiredComponentTags: []string{"vibration_source"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"ergonomic"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 55, + ScenarioDE: "Langzeitiges Arbeiten mit handgefuehrten Schleifmaschinen fuehrt zu Hand-Arm-Vibrationssyndrom.", + TriggerDE: "Taegliche Vibrationsexposition ueber dem Ausloeswert, fehlende Vibrationsdaempfung", + HarmDE: "Weissfingerkrankheit (Raynaud), Nervenschaeden, Gelenkschaeden", + AffectedDE: "Schleifer, Entgrater, Polierer", + ZoneDE: "Handschleifarbeitsplatz, Entgratarbeitsplatz", + DefaultSeverity: 3, DefaultExposure: 5, + }, + { + ID: "HP525", NameDE: "Heisses Werkstueck nach Bearbeitung (Verbrennung)", NameEN: "Hot workpiece after machining (burn)", + RequiredComponentTags: []string{"high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E10", "E20"}, + Priority: 65, + ScenarioDE: "Nach der spanenden Bearbeitung ist das Werkstueck durch Reibungswaerme so heiss, dass es Verbrennungen verursacht.", + TriggerDE: "Sofortige Entnahme ohne Abkuehlung, fehlende Hitzeschutzhandschuhe", + HarmDE: "Verbrennungen 1.-2. Grades an Haenden und Fingern", + AffectedDE: "Maschinenbediener bei Werkstueckentnahme", + ZoneDE: "Maschinenraum, Werkstueckablage", + DefaultSeverity: 2, DefaultExposure: 4, + }, + { + ID: "HP526", NameDE: "Klemmen des Bohrers — Werkzeug reisst Hand mit", NameEN: "Drill bit jamming — tool wrenches hand", + RequiredComponentTags: []string{"rotating_part", "cutting_part"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M082", "M141"}, + SuggestedEvidenceIDs: []string{"E09", "E20"}, + Priority: 80, + ScenarioDE: "Der Bohrer klemmt im Werkstueck, die Handbohrmaschine dreht schlagartig und verdreht Handgelenk/Arm.", + TriggerDE: "Bohrer hakt in Durchbruch, ungenuegend eingespanntes Werkstueck, stumpfer Bohrer", + HarmDE: "Handgelenksfraktur, Unterarmverdrehung, Schulterverletzung", + AffectedDE: "Bediener handgefuehrter Bohrmaschinen", + ZoneDE: "Bohrbereich, Handarbeitsplatz", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP527", NameDE: "Spannfutterbacke loest sich bei Rotation", NameEN: "Chuck jaw loosens during rotation", + RequiredComponentTags: []string{"rotating_part", "high_speed"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M001", "M003", "M141"}, + SuggestedEvidenceIDs: []string{"E09", "E20"}, + Priority: 90, + RequiresExpertCalculation: true, + ExpertHintDE: "Fliehkraftberechnung der Spannbacken und Spannkraftminderung bei Maximaldrehzahl pruefen.", + ScenarioDE: "Spannfutterbacke oder Werkstueck loest sich bei hoher Drehzahl aus dem Futter und wird als Geschoss weggeschleudert.", + TriggerDE: "Unzureichende Spannkraft, Spannschluessel steckt noch, Zentrifugalkraft uebersteigt Spannkraft", + HarmDE: "Toedliche Kopfverletzung, Knochenbrueche, penetrierende Bauchwunde", + AffectedDE: "Maschinenbediener, Personen in Schleuderbahn", + ZoneDE: "Bereich vor dem Drehfutter, Schleuderbahn der Spannbacken", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP528", NameDE: "Hydraulikoelnebel in Atemluft", NameEN: "Hydraulic oil mist in breathing air", + RequiredComponentTags: []string{"chemical_risk", "high_pressure"}, + RequiredEnergyTags: []string{"hydraulic"}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 55, + ScenarioDE: "Hydraulikoelnebel entsteht durch Leckagen an Hochdruckverbindungen und wird eingeatmet.", + TriggerDE: "Undichte Hydraulikverbindungen, fehlende Absaugung, Schlauchbruch unter Druck", + HarmDE: "Atemwegsreizung, Lipoidpneumonie bei Langzeitexposition, Hautreizung", + AffectedDE: "Bedienpersonal, Wartungspersonal in maschinennahem Bereich", + ZoneDE: "Hydraulikaggregate, Maschinenumgebung", + DefaultSeverity: 2, DefaultExposure: 4, + }, + { + ID: "HP529", NameDE: "Stolpern ueber Spaenebehaelter", NameEN: "Tripping over chip container", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 45, + ScenarioDE: "Im Arbeitsbereich abgestellte Spaenebehaelter, Kuehlmittellachen oder Kabelschlaeuche bilden Stolperfallen.", + TriggerDE: "Spaenewagen im Verkehrsweg, Kuehlmittellache am Boden, Druckluftschlauch quer ueber Gang", + HarmDE: "Stuerze, Prellungen, Verstauchungen, Knochenbrueche", + AffectedDE: "Alle Personen in der Werkstatt", + ZoneDE: "Verkehrswege um die Werkzeugmaschinen, Spaene-Entsorgungsbereich", + DefaultSeverity: 2, DefaultExposure: 4, + }, + } +} diff --git a/ai-compliance-sdk/internal/iace/hazard_patterns_welding_glass_textile.go b/ai-compliance-sdk/internal/iace/hazard_patterns_welding_glass_textile.go new file mode 100644 index 0000000..75aefac --- /dev/null +++ b/ai-compliance-sdk/internal/iace/hazard_patterns_welding_glass_textile.go @@ -0,0 +1,475 @@ +package iace + +// GetWeldingGlassTextilePatterns returns ~30 hazard patterns (HP530-HP559) +// for welding, glass processing, and textile machine hazards. +func GetWeldingGlassTextilePatterns() []HazardPattern { + return []HazardPattern{ + // ================================================================ + // Schweissen / Welding (HP530-HP539) + // ================================================================ + { + ID: "HP530", NameDE: "Lichtbogen-Verbrennung an Haut/Augen", NameEN: "Arc burn on skin/eyes", + RequiredComponentTags: []string{"high_temperature", "electrical_part"}, + RequiredEnergyTags: []string{"thermal", "electrical"}, + GeneratedHazardCats: []string{"thermal_hazard", "electrical_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E10", "E20"}, + Priority: 85, + ScenarioDE: "Direkter Kontakt mit dem Lichtbogen oder dessen Strahlung verursacht schwere Verbrennungen an Haut und Augen.", + TriggerDE: "Fehlende Schweisserschutzkleidung, defekter Schweisshelm, Beruehrung der Elektrode", + HarmDE: "Verbrennungen 2.-3. Grades, Hornhautverbrennung, Netzhautschaeden", + AffectedDE: "Schweisspersonal, Hilfskraefte im Nahbereich", + ZoneDE: "Schweissarbeitsplatz, Lichtbogenzone", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP531", NameDE: "Elektrischer Schlag durch Schweissgeraet", NameEN: "Electric shock from welding equipment", + RequiredComponentTags: []string{"electrical_part"}, + RequiredEnergyTags: []string{"electrical"}, + GeneratedHazardCats: []string{"electrical_hazard"}, + SuggestedMeasureIDs: []string{"M082", "M141"}, + SuggestedEvidenceIDs: []string{"E09", "E20"}, + Priority: 90, + ScenarioDE: "Beruehrung spannungsfuehrender Teile des Schweissgeraets bei nassem Untergrund oder beschaedigter Isolation.", + TriggerDE: "Beschaedigte Elektrodenisolierung, nasser Boden, defektes Massekabel", + HarmDE: "Stromschlag, Herzrhythmusstoerungen, Herzkammerflimmern, Tod", + AffectedDE: "Schweisspersonal", + ZoneDE: "Schweissgeraet, Elektrodenhalter, Masseanschluss", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP532", NameDE: "Einatmen von Schweissrauch (chronische Lungenschaeden)", NameEN: "Inhalation of welding fumes (chronic lung damage)", + RequiredComponentTags: []string{"chemical_risk", "high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 80, + ScenarioDE: "Schweissrauch enthaelt Metalloxide, Chrom-VI-Verbindungen und Mangan, die bei Langzeitexposition schwere Lungenschaeden verursachen.", + TriggerDE: "Unzureichende Absaugung, Schweissen ohne Atemschutz, schlecht beluefteter Raum", + HarmDE: "Schweisserfieber, Lungenfibrose, Manganismus, Lungenkrebs (Chrom-VI)", + AffectedDE: "Schweisspersonal bei taeglicher Exposition", + ZoneDE: "Schweissarbeitsplatz, Atemzone des Schweissers", + DefaultSeverity: 4, DefaultExposure: 5, + }, + { + ID: "HP533", NameDE: "Brand durch Schweissfunken auf brennbares Material", NameEN: "Fire from welding sparks on combustible material", + RequiredComponentTags: []string{"high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E10", "E20"}, + Priority: 85, + ScenarioDE: "Schweissfunken oder heisse Schlacke entzuenden brennbares Material in der Umgebung (Holz, Papier, Loesungsmittel).", + TriggerDE: "Brennbare Stoffe nicht entfernt, fehlender Brandposten, Funkenflug durch Spalten", + HarmDE: "Brandentstehung, Rauchvergiftung, Verbrennungen, Sachschaden", + AffectedDE: "Schweisspersonal und alle Personen im Brandbereich", + ZoneDE: "Schweissarbeitsplatz, angrenzende Bereiche im Funkenflugradius (bis 10 m)", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP534", NameDE: "Explosionsgefahr beim Schweissen in beengten Raeumen", NameEN: "Explosion hazard when welding in confined spaces", + RequiredComponentTags: []string{"high_temperature", "chemical_risk"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"material_environmental", "thermal_hazard"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 95, + RequiresExpertCalculation: true, + ExpertHintDE: "Gasfreimessung und Belueftungsberechnung gemaess DGUV Regel 113-004 durchfuehren.", + ScenarioDE: "Schweissen in Behaeltern, Tanks oder engen Raeumen mit explosiver Atmosphaere fuehrt zur Explosion.", + TriggerDE: "Restgase im Behaelter, ungenuegend gespuelt, Zuendung durch Lichtbogen", + HarmDE: "Explosion, toedliche Verbrennungen, Druckwellenverletzung, Erstickung", + AffectedDE: "Schweisspersonal im engen Raum, Sicherungsposten", + ZoneDE: "Behaelterinneres, Rohrleitungen, Gruben, Tanks", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP535", NameDE: "Augenschaeden durch UV-Strahlung (Verblitzen)", NameEN: "Eye damage from UV radiation (arc eye)", + RequiredComponentTags: []string{"high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 75, + ScenarioDE: "UV-Strahlung des Schweisslichtbogens schaedigt die Hornhaut ungeschuetzter Augen (Photokeratitis).", + TriggerDE: "Schweissen ohne Helm, kurzer Blick in den Lichtbogen, Personen im Umfeld ohne Schutz", + HarmDE: "Verblitzen (Photokeratitis), starke Augenschmerzen, voruebergehende Blindheit", + AffectedDE: "Schweisspersonal, Personen in Sichtweite des Lichtbogens", + ZoneDE: "Schweissarbeitsplatz, offene Werkstatt ohne Schweissvorhang", + DefaultSeverity: 3, DefaultExposure: 4, + }, + { + ID: "HP536", NameDE: "Verbrennung durch heisse Schlacke/Spritzer", NameEN: "Burn from hot slag/spatter", + RequiredComponentTags: []string{"high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E10", "E20"}, + Priority: 70, + ScenarioDE: "Heisse Schweissspritzer und Schlacke fallen auf ungeschuetzte Haut oder in Kleidungsoeffnungen.", + TriggerDE: "Spritzer dringen in Aermeloefffnung, Kragen oder Schuhwerk ein, fehlende Schutzkleidung", + HarmDE: "Verbrennungen 1.-3. Grades, besonders an Hals, Handgelenken, Fuessen", + AffectedDE: "Schweisspersonal", + ZoneDE: "Schweissnahtbereich, Bereich unterhalb der Schweisstelle (Funkenfall)", + DefaultSeverity: 3, DefaultExposure: 4, + }, + { + ID: "HP537", NameDE: "Erstickung durch Schutzgas (Argon/CO2)", NameEN: "Asphyxiation from shielding gas (argon/CO2)", + RequiredComponentTags: []string{"chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 85, + ScenarioDE: "Schutzgas (Argon, CO2) ist schwerer als Luft und verdraengt in schlecht beluefteten oder tiefliegenden Raeumen den Sauerstoff.", + TriggerDE: "Gasflaschenventil undicht, Schutzgaszufuhr in Grube/Keller, fehlende Belueftung", + HarmDE: "Bewusstlosigkeit durch Sauerstoffmangel, Erstickung, Tod", + AffectedDE: "Schweisspersonal, Personen in tiefliegenden Bereichen", + ZoneDE: "Schweissgruben, Keller, geschlossene Raeume, Behaelter", + DefaultSeverity: 5, DefaultExposure: 2, + }, + { + ID: "HP538", NameDE: "Elektrischer Schlag bei Widerstandsschweissen", NameEN: "Electric shock from resistance welding", + RequiredComponentTags: []string{"electrical_part"}, + RequiredEnergyTags: []string{"electrical"}, + GeneratedHazardCats: []string{"electrical_hazard"}, + SuggestedMeasureIDs: []string{"M082", "M141"}, + SuggestedEvidenceIDs: []string{"E09", "E20"}, + Priority: 80, + ScenarioDE: "Beim Widerstandsschweissen fliessen hohe Stroeme durch das Werkstueck; bei Koerperkontakt besteht Stromschlaggefahr.", + TriggerDE: "Beruehren des Werkstuecks waehrend des Schweissvorgangs, defekte Isolation", + HarmDE: "Verbrennungen durch Stromfluss, Herzrhythmusstoerungen", + AffectedDE: "Schweisspersonal, Bediener der Widerstandsschweissmaschine", + ZoneDE: "Elektrodenbereich, Werkstueckkontaktflaeche", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP539", NameDE: "Quetschen durch Punktschweisselektroden", NameEN: "Crushing by spot welding electrodes", + RequiredComponentTags: []string{"crush_point", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 85, + ScenarioDE: "Die Elektroden der Punktschweisszange fahren zusammen und quetschen Finger, die sich zwischen Werkstueck und Elektrode befinden.", + TriggerDE: "Manuelles Halten des Werkstuecks, versehentliches Ausloesen des Schweisshubs", + HarmDE: "Fingerquetschung, Verbrennung durch Stromwaerme, Nagelverlust", + AffectedDE: "Schweisspersonal, Bediener von Punktschweissmaschinen", + ZoneDE: "Elektrodenspalt, Werkstueckauflage der Punktschweissanlage", + DefaultSeverity: 3, DefaultExposure: 4, + }, + + // ================================================================ + // Glasverarbeitung / Glass Processing (HP540-HP549) + // ================================================================ + { + ID: "HP540", NameDE: "Schnittverletzung durch Glasbruchstuecke", NameEN: "Cut injury from broken glass pieces", + RequiredComponentTags: []string{"cutting_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 75, + ScenarioDE: "Glasbruchstuecke verursachen tiefe Schnittverletzungen beim Handling oder bei der Bruchraeumung.", + TriggerDE: "Glasscheibe bricht waehrend Transport, Bruchstuecke beim Aufraeumen, fehlende Schnittschutzhandschuhe", + HarmDE: "Tiefe Schnittwunden, Sehnendurchtrennung, starke Blutung", + AffectedDE: "Glasverarbeiter, Transportpersonal, Reinigungskraefte", + ZoneDE: "Glaslager, Schneidtisch, gesamte Verarbeitungshalle", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP541", NameDE: "Quetschen in Glasbearbeitungsmaschine", NameEN: "Crushing in glass processing machine", + RequiredComponentTags: []string{"crush_point", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 85, + ScenarioDE: "Bewegliche Teile der Glasbearbeitungsmaschine (Bohrstaender, Kantenschleifer) quetschen Finger oder Haende.", + TriggerDE: "Eingriff in laufende Maschine, fehlende Schutzabdeckung, manuelles Nachjustieren", + HarmDE: "Fingerquetschung, Knochenbrueche, Amputation", + AffectedDE: "Maschinenbediener, Einrichter", + ZoneDE: "Bearbeitungszone, Vorschubbereich der Glasmaschine", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP542", NameDE: "Augenverletzung durch Glassplitter", NameEN: "Eye injury from glass splinters", + RequiredComponentTags: []string{"cutting_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 80, + ScenarioDE: "Beim Glasschneiden, Bohren oder Brechen springen kleine Glassplitter in Richtung der Augen.", + TriggerDE: "Glasschneiden ohne Schutzbrille, Bruchvorgang mit Splittern, Schleifen ohne Abdeckung", + HarmDE: "Hornhautverletzung, Augapfelperforation, dauerhafte Sehschaeden", + AffectedDE: "Glasschneider, Maschinenbediener", + ZoneDE: "Schneidtisch, Brechkante, Glasschleifmaschine", + DefaultSeverity: 4, DefaultExposure: 4, + }, + { + ID: "HP543", NameDE: "Verbrennungsgefahr am heissen Glas (Biegeofen)", NameEN: "Burn hazard from hot glass (bending oven)", + RequiredComponentTags: []string{"high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E10", "E20"}, + Priority: 75, + ScenarioDE: "Glas wird bei 600-700 Grad Celsius im Biegeofen verarbeitet; Beruehrung verursacht schwere Verbrennungen.", + TriggerDE: "Beruehrung des heissen Glases bei Entnahme, Handschuh durchgeschmolzen, Kontakt mit Ofentuer", + HarmDE: "Verbrennungen 3. Grades, Haut haftet am heissen Glas", + AffectedDE: "Ofenbediener, Glasbieger", + ZoneDE: "Biegeofen, Entnahmebereich, Kuehlstrecke", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP544", NameDE: "Einzug an Glaswaschmaschine", NameEN: "Draw-in at glass washing machine", + RequiredComponentTags: []string{"rotating_part", "entanglement_risk"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 80, + ScenarioDE: "Transportwalzen der Glaswaschmaschine erfassen Finger oder Kleidung beim manuellen Einlegen der Scheiben.", + TriggerDE: "Manuelles Nachjustieren bei laufenden Walzen, fehlender Schutz am Einlaufbereich", + HarmDE: "Fingerquetschung, Einzug der Hand, Hautabschaelungen", + AffectedDE: "Bedienpersonal der Waschanlage", + ZoneDE: "Einlauf- und Auslaufbereich der Glaswaschmaschine", + DefaultSeverity: 3, DefaultExposure: 4, + }, + { + ID: "HP545", NameDE: "Absturz grosser Glasscheibe (Kippgeraet)", NameEN: "Large glass pane falling (tilting device)", + RequiredComponentTags: []string{"structural_part"}, + RequiredEnergyTags: []string{"gravitational"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M141"}, + SuggestedEvidenceIDs: []string{"E09", "E20"}, + Priority: 90, + ScenarioDE: "Grosse Glasscheibe (bis mehrere hundert kg) kippt vom Transportgestell oder Kippgeraet und faellt auf Personen.", + TriggerDE: "Saugnapf loest sich, ungleichmaessige Lastverteilung, defektes Kippgeraet", + HarmDE: "Quetschung, Knochenbrueche, toedliche Verletzung, schwere Schnittwunden", + AffectedDE: "Transportpersonal, Glasmontierer", + ZoneDE: "Glaslager, Kippstation, Transportweg", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP546", NameDE: "Schnitt durch scharfkantige Glasraender", NameEN: "Cut by sharp glass edges", + RequiredComponentTags: []string{"cutting_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 65, + ScenarioDE: "Ungefaste oder ungeschliffene Glasraender schneiden bei Handling in Haende und Unterarme.", + TriggerDE: "Handling ohne Schnittschutzhandschuhe, Greifen an der Schnittkante", + HarmDE: "Schnittwunden an Haenden und Fingern, Sehnenveretzung", + AffectedDE: "Glasverarbeiter, Montage- und Transportpersonal", + ZoneDE: "Schneidtisch, Lagergestell, Montageplatz", + DefaultSeverity: 3, DefaultExposure: 4, + }, + { + ID: "HP547", NameDE: "Laerm bei Glasschneidemaschine", NameEN: "Noise from glass cutting machine", + RequiredComponentTags: []string{"moving_part"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"ergonomic"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 50, + ScenarioDE: "Glasschneid- und Glasschleifmaschinen erzeugen hohe Laermpegel, insbesondere beim Brechen und Schleifen.", + TriggerDE: "Dauerbetrieb ohne Gehoerschutz, Glasbrechen in offener Halle", + HarmDE: "Laermschwerhoerigkeit, Tinnitus, Konzentrationsstoerung", + AffectedDE: "Maschinenbediener, Personen in der Verarbeitungshalle", + ZoneDE: "Schneidbereich, Schleifbereich, gesamte Glashalle", + DefaultSeverity: 2, DefaultExposure: 5, + }, + { + ID: "HP548", NameDE: "Staubbelastung beim Glasschleifen (Silikose-Risiko)", NameEN: "Dust exposure during glass grinding (silicosis risk)", + RequiredComponentTags: []string{"chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 80, + RequiresExpertCalculation: true, + ExpertHintDE: "Quarzfeinstaub-Messung am Arbeitsplatz gemaess TRGS 900 (AGW 0,05 mg/m3) durchfuehren.", + ScenarioDE: "Beim Schleifen von Glas entsteht quarzhaltiger Feinstaub, der bei Langzeitexposition Silikose verursacht.", + TriggerDE: "Trockenschliff ohne Absaugung, defekter Nassschliff, fehlende Atemschutzmaske", + HarmDE: "Silikose, Lungenkrebs (bei Quarzfeinstaub), chronische Atemwegserkrankung", + AffectedDE: "Glasschleifer bei taeglicher Exposition", + ZoneDE: "Schleifarbeitsplatz, Atemzone", + DefaultSeverity: 4, DefaultExposure: 5, + }, + { + ID: "HP549", NameDE: "Quetschen beim Glaslaminieren", NameEN: "Crushing during glass lamination", + RequiredComponentTags: []string{"crush_point", "moving_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 80, + ScenarioDE: "Walzen oder Pressen der Laminieranlage quetschen Finger oder Haende beim Einlegen der Glasscheiben.", + TriggerDE: "Manuelles Einlegen bei laufenden Walzen, fehlender Einzugsschutz", + HarmDE: "Fingerquetschung, Handverletzung, Knochenbrueche", + AffectedDE: "Bedienpersonal der Laminieranlage", + ZoneDE: "Einlauf der Laminierwalzen, Pressbereich", + DefaultSeverity: 3, DefaultExposure: 3, + }, + + // ================================================================ + // Textilmaschinen / Textile Machines (HP550-HP559) + // ================================================================ + { + ID: "HP550", NameDE: "Einzug in Spinnmaschine — Haare/Kleidung", NameEN: "Draw-in by spinning machine — hair/clothing", + RequiredComponentTags: []string{"rotating_part", "entanglement_risk"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 95, + ScenarioDE: "Rotierende Spindeln und Walzen der Spinnmaschine erfassen Haare, Kleidung oder Finger und ziehen die Person ein.", + TriggerDE: "Offene Haare, lose Kleidung, manuelles Anspinnen bei laufender Maschine", + HarmDE: "Skalpierung, Armbruch, Strangulation, Fingerabriss", + AffectedDE: "Maschinenbediener, Anspinnpersonal", + ZoneDE: "Spindelbereich, Streckwerk, Aufwicklung", + DefaultSeverity: 5, DefaultExposure: 4, + }, + { + ID: "HP551", NameDE: "Nadelstichverletzung an Naehmaschine", NameEN: "Needle stick injury at sewing machine", + RequiredComponentTags: []string{"cutting_part"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M082", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 65, + ScenarioDE: "Die Naehmaschinennadel sticht durch den Finger bei unachtsamem Fuehren des Stoffes.", + TriggerDE: "Finger geraet unter den Nadelfuss, Stoff rutscht, Nadel bricht ab", + HarmDE: "Nadelstichverletzung, Nadelbruchstueck im Finger, Infektion", + AffectedDE: "Naeherinnen, Naehpersonal", + ZoneDE: "Nadelbereich, Stoffzufuehrung der Naehmaschine", + DefaultSeverity: 2, DefaultExposure: 5, + }, + { + ID: "HP552", NameDE: "Verbrennung an Textilveredlungsanlage (Trockner)", NameEN: "Burn at textile finishing plant (dryer)", + RequiredComponentTags: []string{"high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E10", "E20"}, + Priority: 70, + ScenarioDE: "Heisse Oberfaechen des Spannrahmens, Trockners oder der Fixiermaschine verursachen Kontaktverbrennungen.", + TriggerDE: "Beruehrung der Heizplatten bei Wartung, Oeffnen des Trockners ohne Abkuehlung", + HarmDE: "Verbrennungen 1.-2. Grades an Haenden und Unterarmen", + AffectedDE: "Bedienpersonal der Veredlungsanlage, Wartungspersonal", + ZoneDE: "Spannrahmen, Trocknerkammer, Fixierzone", + DefaultSeverity: 3, DefaultExposure: 3, + }, + { + ID: "HP553", NameDE: "Laerm in Weberei (ueber 95 dB)", NameEN: "Noise in weaving mill (above 95 dB)", + RequiredComponentTags: []string{"moving_part"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"ergonomic"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 55, + ScenarioDE: "Webstuehle erzeugen durch den Schuetzenflug und Rietenanschlag Laermpegel von 95-105 dB(A).", + TriggerDE: "Dauerbetrieb vieler Webstuehle in einer Halle, fehlender Gehoerschutz", + HarmDE: "Laermschwerhoerigkeit, Tinnitus, chronischer Hoerverlust", + AffectedDE: "Weber, alle Personen in der Webereihalle", + ZoneDE: "Webereihalle, Bereich zwischen den Webstuehlen", + DefaultSeverity: 3, DefaultExposure: 5, + }, + { + ID: "HP554", NameDE: "Staubbelastung — Baumwollstaublunge (Byssinose)", NameEN: "Dust exposure — cotton dust lung (byssinosis)", + RequiredComponentTags: []string{"chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 75, + RequiresExpertCalculation: true, + ExpertHintDE: "Baumwollstaubmessung am Arbeitsplatz nach TRGS 900 durchfuehren; AGW beachten.", + ScenarioDE: "Baumwollstaub in der Spinnerei und Weberei fuehrt bei chronischer Exposition zu Byssinose (Montagsfieber).", + TriggerDE: "Unzureichende Absaugung, trockene Faserverarbeitung, Staubaufwirbelung beim Putzen", + HarmDE: "Byssinose, chronische Bronchitis, Ateminsuffizienz", + AffectedDE: "Spinnereipersonal, Weber bei Langzeitexposition", + ZoneDE: "Spinnerei, Kardierbereich, Webereihalle", + DefaultSeverity: 4, DefaultExposure: 5, + }, + { + ID: "HP555", NameDE: "Einzug in Kalander/Mangel (Textil)", NameEN: "Draw-in by calender/mangle (textile)", + RequiredComponentTags: []string{"rotating_part", "crush_point"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 90, + ScenarioDE: "Walzen des Textilkalanders oder der Mangel erfassen Finger, Haende oder Kleidung und ziehen die Person ein.", + TriggerDE: "Manuelles Zufuehren des Stoffes, Reinigung bei laufendem Betrieb", + HarmDE: "Schwere Quetschverletzungen, Armeinzug, Verbrennungen an Heizwalzen", + AffectedDE: "Bedienpersonal der Textilveredlung", + ZoneDE: "Walzenspalt, Einlaufbereich des Kalanders/der Mangel", + DefaultSeverity: 5, DefaultExposure: 3, + }, + { + ID: "HP556", NameDE: "Chemische Exposition bei Faerberei", NameEN: "Chemical exposure in dyeing", + RequiredComponentTags: []string{"chemical_risk"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M005", "M141"}, + SuggestedEvidenceIDs: []string{"E20"}, + Priority: 70, + ScenarioDE: "Kontakt mit Faerbemitteln, Beizmitteln und Fixierchemikalien verursacht Haut- und Atemwegsschaeden.", + TriggerDE: "Manuelles Anmischen ohne Handschuhe, Daempfe aus offenen Farbbaedern", + HarmDE: "Kontaktdermatitis, Veraetzungen, Atemwegssensibilisierung, Krebsrisiko (Azofarbstoffe)", + AffectedDE: "Faerbereibediener, Mischpersonal", + ZoneDE: "Faerbereibecken, Chemienlager, Ansetzbereich", + DefaultSeverity: 3, DefaultExposure: 4, + }, + { + ID: "HP557", NameDE: "Einzug in Zettelanlage/Schlichteanlage", NameEN: "Draw-in by warping/sizing machine", + RequiredComponentTags: []string{"rotating_part", "entanglement_risk"}, + RequiredEnergyTags: []string{"kinetic"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M004", "M082"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 85, + ScenarioDE: "Schnell laufende Faeden und Walzen der Zettlanlage oder Schlichteanlage erfassen Finger und Haende.", + TriggerDE: "Manuelles Fadeneinfuehren bei laufender Maschine, Aufwickeln am Zettelbaum", + HarmDE: "Fingerabriss, Schnittwunden durch Faden, Einzug in Walzenspalt", + AffectedDE: "Bedienpersonal der Webereivorbereitung", + ZoneDE: "Zettelgatter, Zettelbaum, Schlichtewalzen", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP558", NameDE: "Brand durch Textilflusen in Maschine", NameEN: "Fire from textile lint in machine", + RequiredComponentTags: []string{"high_temperature"}, + RequiredEnergyTags: []string{"thermal"}, + GeneratedHazardCats: []string{"thermal_hazard", "material_environmental"}, + SuggestedMeasureIDs: []string{"M141"}, + SuggestedEvidenceIDs: []string{"E10", "E20"}, + Priority: 80, + ScenarioDE: "Textilflusen sammeln sich in Maschinen und an Heizkoerpern an und entzuenden sich durch Reibungswaerme oder Heisslaefer.", + TriggerDE: "Mangelnde Reinigung, Flusenansammlung an Heizkoerpern, Heisslaefer am Lager", + HarmDE: "Maschinenbrand, Rauchvergiftung, Verbrennungen, Produktionsstillstand", + AffectedDE: "Alle Personen in der Produktionshalle", + ZoneDE: "Maschineninneres, Kartierbereich, Spinnmaschinen, Abluftfilter", + DefaultSeverity: 4, DefaultExposure: 3, + }, + { + ID: "HP559", NameDE: "Quetschen an Schneidanlage (Konfektionierung)", NameEN: "Crushing at cutting machine (garment making)", + RequiredComponentTags: []string{"cutting_part", "crush_point"}, + RequiredEnergyTags: []string{}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003", "M082", "M141"}, + SuggestedEvidenceIDs: []string{"E08", "E09"}, + Priority: 80, + ScenarioDE: "Pressbalken oder Schneidmesser der automatischen Stoffschneidanlage quetschen oder schneiden Haende beim Einlegen.", + TriggerDE: "Manuelles Nachjustieren des Stoffes bei laufendem Schneidkopf, fehlende Zweihandschaltung", + HarmDE: "Amputation, tiefe Schnittwunden, Quetschung der Hand", + AffectedDE: "Zuschneidepersonal, Konfektionspersonal", + ZoneDE: "Schneidkopfbereich, Stoffauflage der Schneidanlage", + DefaultSeverity: 4, DefaultExposure: 3, + }, + } +} diff --git a/ai-compliance-sdk/internal/iace/pattern_engine.go b/ai-compliance-sdk/internal/iace/pattern_engine.go index e59557f..3bc0e11 100644 --- a/ai-compliance-sdk/internal/iace/pattern_engine.go +++ b/ai-compliance-sdk/internal/iace/pattern_engine.go @@ -73,6 +73,14 @@ func NewPatternEngine() *PatternEngine { patterns = append(patterns, GetOperationalHazardPatterns()...) // HP066-HP093 operational states patterns = append(patterns, GetDGUVExtendedPatterns()...) // HP094-HP133 DGUV themes patterns = append(patterns, GetExtendedHazardPatterns2()...) // HP134-HP173 additional hazards + patterns = append(patterns, GetElevatorPatterns()...) // HP174-HP198 elevator/lift + patterns = append(patterns, GetAGVAgriPatterns()...) // HP199-HP228 AGV + agricultural + patterns = append(patterns, GetFoodPkgPatterns()...) // HP300-HP334 food + packaging + patterns = append(patterns, GetLaserMedicalPatterns()...) // HP335-HP374 laser + medical + pressure + patterns = append(patterns, GetConstructionPatterns()...) // HP400-HP419 construction/crane + patterns = append(patterns, GetForestryConveyorPatterns()...) // HP420-HP450 forestry/conveyor + patterns = append(patterns, GetPlasticsMetalPatterns()...) // HP500-HP529 plastics + metalworking + patterns = append(patterns, GetWeldingGlassTextilePatterns()...) // HP530-HP559 welding + glass + textile return &PatternEngine{ resolver: NewTagResolver(), patterns: patterns,