feat: Hazard-Patterns auf 725+ — Split-Dateien von Batch B integriert

Neue Dateien: packaging, medical_pressure, specific_machines2
Split: food_pkg aufgeteilt in food_processing + packaging

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-07 14:01:46 +02:00
parent 2b2a20cc6d
commit 912684644e
8 changed files with 1181 additions and 1249 deletions
@@ -1,8 +1,8 @@
package iace
// GetCyberExtendedPatterns returns 65 hazard patterns (HP800-HP864)
// for cyber/software/AI/automation safety covering: detailed software faults,
// cyber-security, AI/ML specifics, network/communication, and HMI hazards.
// GetCyberExtendedPatterns returns 30 hazard patterns (HP800-HP829)
// for detailed software faults and cyber-security threats in industrial
// control systems.
func GetCyberExtendedPatterns() []HazardPattern {
return []HazardPattern{
// ================================================================
@@ -464,546 +464,5 @@ func GetCyberExtendedPatterns() []HazardPattern {
ZoneDE: "WLAN-Abdeckungsbereich, HMI-Tablets, IoT-Sensoren",
DefaultSeverity: 4, DefaultExposure: 2,
},
// ================================================================
// KI/ML spezifisch (HP830-HP844)
// ================================================================
{
ID: "HP830", NameDE: "KI-Modell erkennt Werkstueck nicht — Kollision", NameEN: "AI model fails to detect workpiece — collision",
RequiredComponentTags: []string{"has_ai", "sensor_part", "moving_part"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"false_classification", "mechanical_hazard"},
SuggestedMeasureIDs: []string{"M101", "M102", "M003"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 90,
ScenarioDE: "KI-basierte Objekterkennung erkennt Werkstueck oder Hindernis nicht; Roboter oder Maschine kollidiert.",
TriggerDE: "Unbekanntes Objekt, ungelernte Beleuchtung, Sensorverschmutzung, Gegenstand ausserhalb Trainingsdaten",
HarmDE: "Kollision mit Werkstueck oder Person, mechanische Beschaedigung, Verletzung",
AffectedDE: "Bedienpersonal im Arbeitsraum des KI-Systems",
ZoneDE: "Arbeitsraum des Roboters, Kamerasichtfeld, Greiferbereich",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP831", NameDE: "Trainingsdaten-Bias fuehrt zu falscher Klassifikation", NameEN: "Training data bias leads to wrong classification",
RequiredComponentTags: []string{"has_ai"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"unintended_bias", "false_classification"},
SuggestedMeasureIDs: []string{"M101"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 80,
ScenarioDE: "Einseitige Trainingsdaten fuehren dazu, dass das KI-Modell bestimmte Varianten systematisch falsch klassifiziert.",
TriggerDE: "Underrepresentation bestimmter Werkstuecktypen, Chargen oder Umgebungsbedingungen im Trainingsdatensatz",
HarmDE: "Fehlerhafte Qualitaetsentscheidung, fehlerhafte Teile gelangen in Umlauf",
AffectedDE: "Endkunden (fehlerhafte Produkte), Qualitaetsverantwortliche",
ZoneDE: "Alle KI-Entscheidungspunkte in der Qualitaetskontrolle",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP832", NameDE: "Adversarial Input taeuscht Bilderkennungssystem", NameEN: "Adversarial input deceives image recognition",
RequiredComponentTags: []string{"has_ai", "sensor_part"},
RequiredEnergyTags: []string{"ai_model", "cyber"},
GeneratedHazardCats: []string{"data_poisoning", "sensor_spoofing"},
SuggestedMeasureIDs: []string{"M101", "M116"},
SuggestedEvidenceIDs: []string{"E01", "E15", "E16"},
Priority: 85,
ScenarioDE: "Gezielt veraenderte Eingabedaten (Adversarial Patches) taeuschen das Bilderkennungssystem und erzwingen Fehlklassifikation.",
TriggerDE: "Aufkleben eines Adversarial Patches auf Werkstueck, Manipulation der Kamera-Eingangssignale",
HarmDE: "Falsche Klassifikation, defektes Teil als gut erkannt, Sicherheitspruefung umgangen",
AffectedDE: "Endnutzer der Produkte, Bedienpersonal",
ZoneDE: "Kamerasichtfeld, Bildverarbeitungssystem, Qualitaetskontrollstation",
DefaultSeverity: 4, DefaultExposure: 1,
},
{
ID: "HP833", NameDE: "Model Drift verschlechtert Qualitaet schleichend", NameEN: "Model drift gradually degrades quality",
RequiredComponentTags: []string{"has_ai"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"model_drift"},
SuggestedMeasureIDs: []string{"M103"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 75,
ScenarioDE: "KI-Modell verliert durch veraenderte Prozessbedingungen ueber Wochen schleichend an Genauigkeit.",
TriggerDE: "Materialwechsel, Werkzeugverschleiss, saisonale Schwankungen, kein Monitoring der Modellleistung",
HarmDE: "Zunehmende Fehlentscheidungen, nicht erkannte Defekte, verzoegerte Erkennung",
AffectedDE: "Qualitaetsverantwortliche, Endkunden",
ZoneDE: "Alle Entscheidungspunkte des driftenden KI-Modells",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP834", NameDE: "KI ueberschreibt Sicherheitsparameter", NameEN: "AI overwrites safety parameters",
RequiredComponentTags: []string{"has_ai", "programmable"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"software_fault", "safety_function_failure"},
SuggestedMeasureIDs: []string{"M101", "M104"},
SuggestedEvidenceIDs: []string{"E01", "E07", "E15"},
Priority: 95,
RequiresExpertCalculation: true,
ExpertHintDE: "KI-System darf keine schreibenden Zugriffe auf Sicherheitsparameter haben; Validierung nach EN ISO 13849 und IEC 61508.",
ScenarioDE: "KI-Optimierungsalgorithmus aendert Sicherheitsgrenzen (Geschwindigkeit, Kraft, Druck) ohne menschliche Freigabe.",
TriggerDE: "Keine Write-Protection fuer Sicherheitsparameter, fehlende Parameterverriegelung, RL-Agent optimiert Durchsatz",
HarmDE: "Ueberschreiten der Sicherheitsgrenzen, gefaehrliche Geschwindigkeit/Kraft, Verletzung oder Tod",
AffectedDE: "Bedienpersonal, alle Personen im Maschinenbereich",
ZoneDE: "Alle sicherheitsrelevanten Achsen und Funktionen",
DefaultSeverity: 5, DefaultExposure: 1,
},
{
ID: "HP835", NameDE: "Fehlende Erklaerbarkeit — Bediener vertraut falsch", NameEN: "Lack of explainability — operator misplaces trust",
RequiredComponentTags: []string{"has_ai", "user_interface"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"false_classification"},
SuggestedMeasureIDs: []string{"M101"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 70,
ScenarioDE: "KI-System gibt Empfehlung ohne Begruendung; Bediener folgt blindlings einer fehlerhaften Empfehlung.",
TriggerDE: "Fehlende Explainability, keine Konfidenzanzeige, Automation Bias des Bedieners",
HarmDE: "Fehlentscheidung auf Basis falscher KI-Empfehlung, Qualitaetsmangel, Sicherheitsrisiko",
AffectedDE: "Bedienpersonal, Qualitaetsverantwortliche",
ZoneDE: "HMI des KI-Systems, Entscheidungs-Dashboard",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP836", NameDE: "KI-Entscheidung im Grenzbereich (Edge Case)", NameEN: "AI decision in edge case",
RequiredComponentTags: []string{"has_ai"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"false_classification"},
SuggestedMeasureIDs: []string{"M101", "M102"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 80,
ScenarioDE: "KI trifft bei Eingabedaten nahe der Entscheidungsgrenze unzuverlaessige Entscheidungen mit schwankender Konfidenz.",
TriggerDE: "Werkstueck exakt an der Gut/Schlecht-Grenze, unbekannte Kombination von Merkmalen",
HarmDE: "Instabile Entscheidungen, abwechselnd gut/schlecht bei identischem Teil, falsche Sortierung",
AffectedDE: "Qualitaetsverantwortliche, Endkunden",
ZoneDE: "Entscheidungspunkte des KI-Klassifikators",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP837", NameDE: "Reinforcement Learning fuehrt zu unerwartetem Verhalten", NameEN: "Reinforcement learning causes unexpected behavior",
RequiredComponentTags: []string{"has_ai", "programmable"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"software_fault"},
SuggestedMeasureIDs: []string{"M101", "M102", "M103"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 85,
ScenarioDE: "RL-Agent entdeckt unbeabsichtigte Strategie zur Reward-Maximierung, die gefaehrliches Verhalten einschliesst.",
TriggerDE: "Unvollstaendige Reward-Funktion, fehlende Safety Constraints, Agent findet Exploit in Simulation",
HarmDE: "Unerwartete Maschinenbewegung, Reward Hacking fuehrt zu gefaehrlicher Aktion",
AffectedDE: "Bedienpersonal, Personen im Wirkbereich des RL-gesteuerten Systems",
ZoneDE: "Gesamter Aktionsraum des RL-Agenten",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP838", NameDE: "KI verarbeitet personenbezogene Daten (DSGVO-Verstoss)", NameEN: "AI processes personal data (GDPR violation)",
RequiredComponentTags: []string{"has_ai"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"unintended_bias"},
SuggestedMeasureIDs: []string{"M101"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 70,
ScenarioDE: "KI-System verarbeitet Kamerabilder mit erkennbaren Personen ohne Einwilligung oder Rechtsgrundlage.",
TriggerDE: "Kamera erfasst Gesichter, Kennzeichen oder biometrische Daten; fehlende Anonymisierung",
HarmDE: "DSGVO-Bussgeld, Persoenlichkeitsrechtsverletzung, Vertrauensverlust",
AffectedDE: "Betroffene Personen (Mitarbeiter, Besucher), Datenschutzbeauftragter",
ZoneDE: "Kameraerfassungsbereich, Datenverarbeitungssystem",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP839", NameDE: "KI-System nicht validiert fuer Sicherheitsfunktion", NameEN: "AI system not validated for safety function",
RequiredComponentTags: []string{"has_ai", "safety_device"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"safety_function_failure"},
SuggestedMeasureIDs: []string{"M101", "M104"},
SuggestedEvidenceIDs: []string{"E01", "E07", "E15"},
Priority: 95,
RequiresExpertCalculation: true,
ExpertHintDE: "KI in Sicherheitsfunktionen erfordert Validierung nach IEC 61508 SIL-Anforderungen und EN ISO 13849 PL-Nachweis.",
ScenarioDE: "KI-basierte Sicherheitsfunktion (z. B. Personenerkennung fuer Stopp) wurde nicht nach Sicherheitsnorm validiert.",
TriggerDE: "KI als Sicherheitskomponente ohne SIL/PL-Berechnung eingesetzt, fehlende Verifikation",
HarmDE: "Sicherheitsfunktion versagt im Anforderungsfall, Person wird nicht erkannt, kein Stopp",
AffectedDE: "Bedienpersonal, alle Personen im Schutzbereich",
ZoneDE: "Ueberwachungsbereich der KI-Sicherheitsfunktion",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP840", NameDE: "Concept Drift bei veraendertem Prozess", NameEN: "Concept drift from changed process",
RequiredComponentTags: []string{"has_ai"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"model_drift"},
SuggestedMeasureIDs: []string{"M103"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 75,
ScenarioDE: "Grundlegende Aenderung des Produktionsprozesses macht das KI-Modell ungueltig, da es auf alten Zusammenhaengen basiert.",
TriggerDE: "Neues Material, neue Maschine, geaenderter Prozessablauf ohne Re-Training des Modells",
HarmDE: "Systematische Fehlentscheidungen, alle Teile falsch bewertet, Qualitaetseinbruch",
AffectedDE: "Qualitaetsverantwortliche, Endkunden",
ZoneDE: "Alle vom KI-Modell ueberwachten Prozessschritte",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP841", NameDE: "KI-Halluzination meldet falschen Zustand", NameEN: "AI hallucination reports false state",
RequiredComponentTags: []string{"has_ai", "user_interface"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"false_classification"},
SuggestedMeasureIDs: []string{"M101", "M102"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 80,
ScenarioDE: "KI-System meldet einen Zustand mit hoher Konfidenz, der in Wirklichkeit nicht vorliegt (Halluzination).",
TriggerDE: "Eingangsdaten ausserhalb des Trainingsbereichs, Ueberanpassung (Overfitting), Sensorrauschen",
HarmDE: "Fehlalarm fuehrt zu unnoetigem Stopp oder — schlimmer — falsche Entwarnung bei realem Problem",
AffectedDE: "Bedienpersonal, das auf Basis der KI-Meldung handelt",
ZoneDE: "HMI-Anzeige, Alarm-Management-System",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP842", NameDE: "Abhaengigkeit von Cloud-Service fuer Sicherheitsfunktion", NameEN: "Dependency on cloud service for safety function",
RequiredComponentTags: []string{"has_ai", "networked"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"communication_failure", "safety_function_failure"},
SuggestedMeasureIDs: []string{"M101", "M104", "M115"},
SuggestedEvidenceIDs: []string{"E01", "E15", "E17"},
Priority: 90,
ScenarioDE: "Sicherheitsrelevante KI-Funktion benoetigt Cloud-Verbindung; bei Netzwerkausfall ist die Sicherheit nicht gewaehrleistet.",
TriggerDE: "Internet-Ausfall, Cloud-Provider-Stoerung, DNS-Fehler, Latenz ueberschreitet Zeitlimit",
HarmDE: "Sicherheitsfunktion faellt aus, kein Fallback, Maschine laeuft ohne KI-Ueberwachung weiter",
AffectedDE: "Bedienpersonal, Personen im Ueberwachungsbereich",
ZoneDE: "Gesamter Schutzbereich der KI-Sicherheitsfunktion, Netzwerkverbindung",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP843", NameDE: "Fehlende Redundanz bei KI-basierter Qualitaetskontrolle", NameEN: "Missing redundancy in AI-based quality control",
RequiredComponentTags: []string{"has_ai"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"false_classification"},
SuggestedMeasureIDs: []string{"M101", "M102"},
SuggestedEvidenceIDs: []string{"E01", "E15"},
Priority: 75,
ScenarioDE: "KI-System ist alleiniger Qualitaetsgate ohne Backup-Pruefung; bei KI-Ausfall passieren alle Teile unkontrolliert.",
TriggerDE: "KI-System faellt aus, kein manueller Rueckfallprozess definiert, Bypass im Stoerfall",
HarmDE: "Fehlerhafte Produkte gelangen zum Kunden, Rueckrufaktion, Sicherheitsrisiko bei Sicherheitsteilen",
AffectedDE: "Endkunden, Qualitaetsverantwortliche",
ZoneDE: "Qualitaetskontrollstation, Auslaufbereich der Produktion",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP844", NameDE: "Bias in Predictive Maintenance — Wartung zu spaet", NameEN: "Bias in predictive maintenance — maintenance too late",
RequiredComponentTags: []string{"has_ai"},
RequiredEnergyTags: []string{"ai_model"},
GeneratedHazardCats: []string{"model_drift"},
SuggestedMeasureIDs: []string{"M103"},
SuggestedEvidenceIDs: []string{"E01", "E15", "E21"},
Priority: 80,
ScenarioDE: "KI-basierte Wartungsvorhersage unterschaetzt Verschleiss und empfiehlt Wartung zu spaet.",
TriggerDE: "Einseitige Trainingsdaten (nur Neuzustand), kein Monitoring der Vorhersagequalitaet, Betriebsbedingungen geaendert",
HarmDE: "Unerwarteter Maschinenausfall, Bauteilversagen waehrend Betrieb, Folgeschaeden",
AffectedDE: "Bedienpersonal bei ploetzlichem Ausfall, Wartungspersonal",
ZoneDE: "Alle ueberwachten Verschleissteile und Lager",
DefaultSeverity: 4, DefaultExposure: 2,
},
// ================================================================
// Netzwerk / Kommunikation (HP845-HP854)
// ================================================================
{
ID: "HP845", NameDE: "Feldbusausfall (PROFINET/EtherCAT/Modbus)", NameEN: "Fieldbus failure (PROFINET/EtherCAT/Modbus)",
RequiredComponentTags: []string{"networked", "it_component"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"communication_failure"},
SuggestedMeasureIDs: []string{"M114", "M115"},
SuggestedEvidenceIDs: []string{"E01", "E17"},
Priority: 85,
ScenarioDE: "Kompletter Feldbusausfall trennt SPS von allen Antrieben und Sensoren; Maschine verliert Kontrolle.",
TriggerDE: "Kabelbruch, Switch-Ausfall, EMV-Stoerung, Stecker oxidiert, Master-Ausfall",
HarmDE: "Unkontrollierter Maschinenstillstand, Antriebe im letzten Zustand, Last faellt herab",
AffectedDE: "Bedienpersonal, Personen im Maschinenbereich",
ZoneDE: "Gesamte Maschine (alle Feldbus-Teilnehmer betroffen)",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP846", NameDE: "Telegrammverlust in Echtzeit-Kommunikation", NameEN: "Telegram loss in real-time communication",
RequiredComponentTags: []string{"networked"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"communication_failure"},
SuggestedMeasureIDs: []string{"M114", "M115"},
SuggestedEvidenceIDs: []string{"E01", "E17"},
Priority: 80,
ScenarioDE: "Einzelne Telegramme im Echtzeit-Bussystem gehen verloren; Antrieb erhaelt keinen neuen Sollwert und behlt den alten.",
TriggerDE: "EMV-Stoerung, Kabelknicke, Switch-Ueberlast, defekter Busteilnehmer stoert Zyklus",
HarmDE: "Antrieb faehrt mit veraltetem Sollwert weiter, Position stimmt nicht mehr, Kollision",
AffectedDE: "Bedienpersonal bei Mehrachssystemen",
ZoneDE: "Bewegungsbereich der betroffenen Achse, Synchron-Verfahrbereiche",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP847", NameDE: "Jitter in Synchronisation von Achssystem", NameEN: "Jitter in multi-axis synchronization",
RequiredComponentTags: []string{"networked", "moving_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"communication_failure", "mechanical_hazard"},
SuggestedMeasureIDs: []string{"M114"},
SuggestedEvidenceIDs: []string{"E01", "E14", "E17"},
Priority: 75,
ScenarioDE: "Zeitschwankungen (Jitter) in der Echtzeit-Kommunikation fuehren zu Synchronisationsverlust in Mehrachssystemen.",
TriggerDE: "Ungeeigneter Switch (nicht echtzeitfaehig), Cross-Traffic, falsches VLAN-Setup",
HarmDE: "Achsen laufen auseinander, mechanische Verspannung, Kollision zwischen Achsen",
AffectedDE: "Bedienpersonal an synchronisierten Mehrachssystemen",
ZoneDE: "Gesamter Verfahrbereich der synchronisierten Achsen",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP848", NameDE: "Gateway-Ausfall zwischen Feld- und Leitebene", NameEN: "Gateway failure between field and control level",
RequiredComponentTags: []string{"networked", "it_component"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"communication_failure"},
SuggestedMeasureIDs: []string{"M115"},
SuggestedEvidenceIDs: []string{"E01", "E17"},
Priority: 70,
ScenarioDE: "Gateway zwischen Feldbus und Leitebene faellt aus; SCADA verliert Sicht auf Prozess, Alarme kommen nicht durch.",
TriggerDE: "Hardware-Defekt, Software-Absturz, Speicherueberlauf im Gateway, Firmware-Fehler",
HarmDE: "Verlust der Prozessueberwachung, Alarme werden nicht weitergeleitet, Blindflug am Leitstand",
AffectedDE: "Leitstand-Personal, SCADA-Betreiber",
ZoneDE: "Gateway, Uebergabepunkt Feldbus/Ethernet, SCADA-Server",
DefaultSeverity: 3, DefaultExposure: 2,
},
{
ID: "HP849", NameDE: "Firmware-Inkompatibilitaet nach Update", NameEN: "Firmware incompatibility after update",
RequiredComponentTags: []string{"has_software", "networked"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"update_failure", "communication_failure"},
SuggestedMeasureIDs: []string{"M138", "M146"},
SuggestedEvidenceIDs: []string{"E01", "E14"},
Priority: 75,
ScenarioDE: "Firmware-Update eines Busteilnehmers ist inkompatibel mit der SPS-Version; Kommunikation bricht zusammen.",
TriggerDE: "Teilnehmer einzeln aktualisiert ohne Kompatibilitaetspruefung, Breaking Change in neuer Version",
HarmDE: "Busausfall, Antrieb nicht erreichbar, unkontrollierter Zustand",
AffectedDE: "Wartungspersonal (Update-Vorgang), anschliessend Bedienpersonal",
ZoneDE: "Aktualisierter Busteilnehmer, gesamter Busstrang bei Master-Update",
DefaultSeverity: 3, DefaultExposure: 1,
},
{
ID: "HP850", NameDE: "IP-Konflikt im Maschinennetzwerk", NameEN: "IP conflict in machine network",
RequiredComponentTags: []string{"networked"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"communication_failure"},
SuggestedMeasureIDs: []string{"M114"},
SuggestedEvidenceIDs: []string{"E01", "E17"},
Priority: 65,
ScenarioDE: "Zwei Geraete im Maschinennetzwerk haben dieselbe IP-Adresse; Kommunikation ist unzuverlaessig.",
TriggerDE: "Manuelles IP-Management ohne Dokumentation, Ersatzgeraet mit werksseitiger IP, DHCP-Fehler",
HarmDE: "Sporadische Kommunikationsausfaelle, Steuerungsbefehle an falsches Geraet, undeterministisches Verhalten",
AffectedDE: "Bedienpersonal (schwer erkennbare Stoerung)",
ZoneDE: "Maschinennetzwerk, betroffene IP-Teilnehmer",
DefaultSeverity: 3, DefaultExposure: 2,
},
{
ID: "HP851", NameDE: "Zeitsynchronisation verloren — Sequenzfehler", NameEN: "Time synchronization lost — sequence error",
RequiredComponentTags: []string{"networked", "has_software"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"communication_failure", "software_fault"},
SuggestedMeasureIDs: []string{"M114"},
SuggestedEvidenceIDs: []string{"E01", "E14", "E17"},
Priority: 75,
ScenarioDE: "PTP/NTP-Synchronisation im Netzwerk geht verloren; zeitgesteuerte Aktionen werden asynchron ausgefuehrt.",
TriggerDE: "Grand-Master-Clock faellt aus, Kabelbruch zum Zeitserver, Switch ohne PTP-Support",
HarmDE: "Achsen bewegen sich nicht mehr synchron, Sequenzen in falscher Reihenfolge",
AffectedDE: "Bedienpersonal bei synchronisierten Anlagen",
ZoneDE: "Alle zeitgesteuerten Stationen und Achsen",
DefaultSeverity: 4, DefaultExposure: 1,
},
{
ID: "HP852", NameDE: "Bandbreite-Ueberlastung verzoegert Sicherheitsfunktion", NameEN: "Bandwidth overload delays safety function",
RequiredComponentTags: []string{"networked", "safety_device"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"communication_failure", "safety_function_failure"},
SuggestedMeasureIDs: []string{"M114", "M115"},
SuggestedEvidenceIDs: []string{"E01", "E07", "E17"},
Priority: 85,
ScenarioDE: "Netzwerk-Ueberlastung verzoegert sicherheitsrelevante Telegramme ueber die maximale Reaktionszeit hinaus.",
TriggerDE: "Datenintensiver Prozess (Vision-System) auf gleichem Netzwerk, Broadcast-Storm, fehlende QoS-Konfiguration",
HarmDE: "Sicherheitsfunktion reagiert zu spaet, Nachlaufweg vergroessert sich, Schutzfunktion unwirksam",
AffectedDE: "Bedienpersonal im Schutzbereich der verzoegerten Sicherheitsfunktion",
ZoneDE: "Netzwerkstrecke zum Safety-Controller, gesamter Schutzbereich",
DefaultSeverity: 5, DefaultExposure: 1,
},
{
ID: "HP853", NameDE: "Fehlerhafte Routing-Konfiguration", NameEN: "Faulty routing configuration",
RequiredComponentTags: []string{"networked", "it_component"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"communication_failure"},
SuggestedMeasureIDs: []string{"M114"},
SuggestedEvidenceIDs: []string{"E01", "E17"},
Priority: 60,
ScenarioDE: "Falsche Routing-Konfiguration leitet Steuerbefehle an falsches Teilnetz oder laesst sie ins Leere laufen.",
TriggerDE: "Fehlkonfiguration nach Netzwerkaenderung, falsches Default-Gateway, Route Loop",
HarmDE: "Steuerbefehle kommen nicht an, Antriebe reagieren nicht, Fehlzuordnung von Befehlen",
AffectedDE: "Bedienpersonal, Netzwerkadministrator",
ZoneDE: "Router, Layer-3-Switches, Netzwerksegmentierung",
DefaultSeverity: 3, DefaultExposure: 1,
},
{
ID: "HP854", NameDE: "Switch-Ausfall in Ring-Topologie", NameEN: "Switch failure in ring topology",
RequiredComponentTags: []string{"networked", "it_component"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"communication_failure"},
SuggestedMeasureIDs: []string{"M115"},
SuggestedEvidenceIDs: []string{"E01", "E17"},
Priority: 75,
ScenarioDE: "Managed Switch in Ring-Topologie faellt aus; Ring-Redundanz uebernimmt, aber Umschaltzeit stoert Echtzeit-Kommunikation.",
TriggerDE: "Switch-Hardware-Defekt, Spannungsausfall am Switch, Ring-Rekonfiguration dauert zu lange (>Zykluszeit)",
HarmDE: "Kurzzeitiger Kommunikationsausfall, Antriebe verlieren Sollwerte, Synchronisationsverlust",
AffectedDE: "Bedienpersonal bei zeitkritischen Prozessen",
ZoneDE: "Ring-Netzwerk, alle Teilnehmer hinter dem ausgefallenen Switch",
DefaultSeverity: 3, DefaultExposure: 2,
},
// ================================================================
// Mensch-Maschine-Interaktion / HMI (HP855-HP864)
// ================================================================
{
ID: "HP855", NameDE: "HMI friert ein — Bediener handelt blind", NameEN: "HMI freezes — operator acts blind",
RequiredComponentTags: []string{"user_interface", "has_software"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"software_fault"},
SuggestedMeasureIDs: []string{"M103", "M141"},
SuggestedEvidenceIDs: []string{"E01", "E14"},
Priority: 80,
ScenarioDE: "HMI-Bildschirm friert ein und zeigt veraltete Prozesswerte; Bediener trifft Entscheidungen auf Basis falscher Anzeige.",
TriggerDE: "Software-Absturz der HMI-Anwendung, Speicherueberlauf, Grafiktreiber-Fehler",
HarmDE: "Fehlbedienung aufgrund veralteter Anzeige, Eingriff in falschen Prozess, verpasster Alarm",
AffectedDE: "Bedienpersonal am eingefrorenen HMI",
ZoneDE: "Leitstand, HMI-Terminal, alle ueberwachten Prozessbereiche",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP856", NameDE: "Alarmueberschwemmung (Alarm Flooding)", NameEN: "Alarm flooding",
RequiredComponentTags: []string{"user_interface", "has_software"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"ergonomic"},
SuggestedMeasureIDs: []string{"M141", "M149"},
SuggestedEvidenceIDs: []string{"E01", "E14"},
Priority: 80,
ScenarioDE: "Hunderte Alarme erscheinen gleichzeitig; Bediener kann kritischen Alarm nicht identifizieren.",
TriggerDE: "Kaskadenartige Stoerung, schlechtes Alarm-Design, keine Alarm-Priorisierung, zu niedrige Schwellwerte",
HarmDE: "Kritischer Alarm wird uebersehen, verzoegerte Reaktion, falsche Priorisierung",
AffectedDE: "Bedienpersonal am Leitstand",
ZoneDE: "Leitstand, Alarm-Management-System",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP857", NameDE: "Falscher Betriebsartenwahlschalter", NameEN: "Wrong operating mode selector",
RequiredComponentTags: []string{"user_interface", "programmable"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"configuration_error"},
SuggestedMeasureIDs: []string{"M145", "M121"},
SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 85,
ScenarioDE: "Bediener waehlt falsche Betriebsart (z. B. Automatik statt Einrichten); Maschine startet mit voller Geschwindigkeit.",
TriggerDE: "Verwechslung der Betriebsart, Schluesselschalter nicht verriegelt, fehlende Anzeige der aktiven Betriebsart",
HarmDE: "Unerwartete Maschinenbewegung bei voller Geschwindigkeit, Quetschung, Kollision",
AffectedDE: "Einrichter, Bedienpersonal im Maschinenbereich",
ZoneDE: "Gesamte Maschine, insbesondere Bereiche die bei Einrichten zugaenglich sind",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP858", NameDE: "Display zeigt falschen Prozesswert", NameEN: "Display shows wrong process value",
RequiredComponentTags: []string{"user_interface", "has_software"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"software_fault"},
SuggestedMeasureIDs: []string{"M101", "M103"},
SuggestedEvidenceIDs: []string{"E01", "E14"},
Priority: 75,
ScenarioDE: "HMI zeigt falschen Messwert (z. B. falsche Zuordnung von Sensor zu Anzeige) und Bediener reagiert falsch.",
TriggerDE: "Programmierfehler in der Visualisierung, falscher Tag zugeordnet, Skalierungsfehler",
HarmDE: "Fehlbedienung auf Basis falscher Information, Prozess laeuft aus dem Toleranzbereich",
AffectedDE: "Bedienpersonal, das sich auf die Anzeige verlaesst",
ZoneDE: "HMI-Display, Prozessabbild auf dem Leitstand",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP859", NameDE: "Bediener umgeht Safety-Login am HMI", NameEN: "Operator bypasses safety login on HMI",
RequiredComponentTags: []string{"user_interface", "has_software"},
RequiredEnergyTags: []string{"cyber"},
GeneratedHazardCats: []string{"unauthorized_access", "safety_function_failure"},
SuggestedMeasureIDs: []string{"M111", "M112"},
SuggestedEvidenceIDs: []string{"E01", "E16"},
Priority: 80,
ScenarioDE: "Bediener umgeht Login-Bildschirm am HMI und erlangt Zugang zu sicherheitsrelevanten Parametern.",
TriggerDE: "Gemeinsames Passwort, Post-It mit Passwort am Monitor, Auto-Login konfiguriert",
HarmDE: "Unberechtigte Aenderung von Sicherheitsparametern, Deaktivierung von Schutzfunktionen",
AffectedDE: "Bedienpersonal, alle Personen im Maschinenbereich",
ZoneDE: "HMI-Terminal, Parameterseiten der Steuerung",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP860", NameDE: "Touch-Fehlbedienung (nasse Finger/Handschuhe)", NameEN: "Touch misoperation (wet fingers/gloves)",
RequiredComponentTags: []string{"user_interface"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"ergonomic"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E01", "E20"},
Priority: 65,
ScenarioDE: "Touchscreen reagiert auf nasse Finger, Handschuhe oder Wassertropfen und loest unbeabsichtigte Funktion aus.",
TriggerDE: "Regen, Schwitzhaende, Oelfilm auf Handschuh, Wasserspritzer auf Display",
HarmDE: "Unbeabsichtigtes Starten einer Funktion, Parameterwechsel, Betriebsart-Umschaltung",
AffectedDE: "Bedienpersonal mit Handschuhen oder in nassem Umfeld",
ZoneDE: "Touch-HMI, Panel-PC, mobile Bediengeraete",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP861", NameDE: "Sprachbarriere bei mehrsprachiger Belegschaft", NameEN: "Language barrier in multilingual workforce",
RequiredComponentTags: []string{"user_interface"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"ergonomic"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E24", "E25"},
Priority: 60,
ScenarioDE: "Alarmmeldungen und Sicherheitshinweise am HMI sind nur in einer Sprache; Bediener versteht Warnung nicht.",
TriggerDE: "Einsprachiges HMI, fremdsprachige Zeitarbeitskraefte, fehlende Piktogramme",
HarmDE: "Warnung nicht verstanden, falsche Reaktion auf Alarm, Sicherheitsunterweisung nicht begriffen",
AffectedDE: "Nicht-muttersprachliche Bediener, Zeitarbeitskraefte, Leiharbeiter",
ZoneDE: "HMI-Terminal, Sicherheitsbeschilderung, Alarmanzeigen",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP862", NameDE: "Nachtschicht-Muedigkeit fuehrt zu Fehlreaktion", NameEN: "Night shift fatigue leads to wrong reaction",
RequiredComponentTags: []string{"user_interface"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"ergonomic"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E25"},
Priority: 60,
ScenarioDE: "Muedigkeit in der Nachtschicht verzoegert Reaktionszeit und erhoeht Wahrscheinlichkeit fuer Fehlbedienung.",
TriggerDE: "Lange Schichtdauer, monotone Ueberwachungsaufgabe, fehlende Pausenregelung",
HarmDE: "Verzoegerte Reaktion auf Alarm, Einschlafen am Leitstand, Fehlbedienung",
AffectedDE: "Nachtschicht-Personal, alle von der Ueberwachung abhaengigen Personen",
ZoneDE: "Leitstand, Ueberwachungsstationen",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP863", NameDE: "Informationsueberlastung am Bedienterminal", NameEN: "Information overload at operator terminal",
RequiredComponentTags: []string{"user_interface", "has_software"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"ergonomic"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E01", "E14"},
Priority: 55,
ScenarioDE: "Zu viele Informationen, Trends und Werte auf einem Bildschirm ueberfordern den Bediener kognitiv.",
TriggerDE: "Schlechtes UI-Design, zu viele gleichzeitig angezeigte Werte, fehlende Informationshierarchie",
HarmDE: "Kritische Information wird uebersehen, verzoegerte Erkennung von Anomalien",
AffectedDE: "Bedienpersonal, Leitstand-Operatoren",
ZoneDE: "HMI-Bildschirme, SCADA-Oberflaeche, Leitstand",
DefaultSeverity: 2, DefaultExposure: 4,
},
{
ID: "HP864", NameDE: "Fehlende Rueckmeldung — Bediener drueckt erneut", NameEN: "Missing feedback — operator presses again",
RequiredComponentTags: []string{"user_interface"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"ergonomic"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E01", "E14"},
Priority: 65,
ScenarioDE: "HMI gibt keine Rueckmeldung auf Tastendruck; Bediener drueckt erneut und loest unbeabsichtigte Doppelaktion aus.",
TriggerDE: "Fehlende akustische/visuelle Quittierung, langsame HMI-Reaktion, Netzwerk-Latenz",
HarmDE: "Doppelter Befehl (z. B. doppelter Zyklus-Start), Maschine startet erneut waehrend Entnahme",
AffectedDE: "Bedienpersonal",
ZoneDE: "HMI-Taster/Touchscreen, Gesamte Maschine bei Doppelausloesung",
DefaultSeverity: 3, DefaultExposure: 3,
},
}
}
@@ -1,12 +1,9 @@
package iace
// GetFoodPkgPatterns returns hazard patterns for food processing machines
// and packaging machines (HP300-HP334).
func GetFoodPkgPatterns() []HazardPattern {
// GetFoodProcessingPatterns returns hazard patterns for food processing
// machines (HP300-HP319).
func GetFoodProcessingPatterns() []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"},
@@ -171,7 +168,7 @@ func GetFoodPkgPatterns() []HazardPattern {
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.",
ScenarioDE: "Hand des Bedieners geraet zwischen den Abfuellstempel und den Behaelter.",
TriggerDE: "Manuelle Korrektur bei laufendem Takt, fehlende Schutzabdeckung der Stempelzone.",
HarmDE: "Quetschung der Finger oder Hand, Frakturen.",
AffectedDE: "Bedienpersonal an der Abfuellstation.",
@@ -186,7 +183,7 @@ func GetFoodPkgPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 70,
ScenarioDE: "Bediener rutscht auf nassem, fettigem oder mit Lebensmittelresten verschmutztem Boden im Produktionsbereich.",
ScenarioDE: "Bediener rutscht auf nassem, fettigem oder mit Lebensmittelresten verschmutztem Boden.",
TriggerDE: "Wasserlachen, Fettspritzer, verschuettete Lebensmittel, fehlende rutschfeste Matten.",
HarmDE: "Knochenbrueche, Prellungen, Kopfverletzungen bei Sturz auf harten Boden.",
AffectedDE: "Alle Personen im Produktionsbereich.",
@@ -201,7 +198,7 @@ func GetFoodPkgPatterns() []HazardPattern {
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.",
ScenarioDE: "Person steigt in 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.",
@@ -246,7 +243,7 @@ func GetFoodPkgPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M054", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 90,
ScenarioDE: "Heisses Fett spritzt beim Einlegen von feuchtem Gargut oder bei Ueberfuellung der Fritteuse.",
ScenarioDE: "Heisses Fett spritzt beim Einlegen von feuchtem Gargut oder Ueberfuellung der Fritteuse.",
TriggerDE: "Feuchtigkeit im Fritiergut, Ueberfuellung, defekter Temperaturbegrenzer.",
HarmDE: "Schwere Verbrennungen durch Heissoelspritzer an Haenden, Gesicht und Oberkoerper.",
AffectedDE: "Bedienpersonal, Kuechenpersonal.",
@@ -262,7 +259,7 @@ func GetFoodPkgPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M054", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E24"},
Priority: 82,
ScenarioDE: "Bediener wechselt Messer oder Klingen an Schneidemaschine ohne Schnittschutzhandschuhe.",
ScenarioDE: "Bediener wechselt Messer 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.",
@@ -310,240 +307,12 @@ func GetFoodPkgPatterns() []HazardPattern {
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.",
ScenarioDE: "Bediener arbeitet laengere Zeit in Tiefkuehlraum und erleidet Unterkuehlung oder Erfrierung.",
TriggerDE: "Fehlende Kaelteschutzkleidung, Eingeschlossensein, 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,
},
}
}
@@ -1,12 +1,8 @@
package iace
// GetLaserMedicalPatterns returns hazard patterns for laser machines,
// medical devices (IEC 60601 context), and pressure equipment (HP335-HP374).
func GetLaserMedicalPatterns() []HazardPattern {
// GetLaserPatterns returns hazard patterns for laser machines (HP335-HP349).
func GetLaserPatterns() []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"},
@@ -48,7 +44,7 @@ func GetLaserMedicalPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M051", "M054", "M131"},
SuggestedEvidenceIDs: []string{"E01", "E08", "E20"},
Priority: 92,
ScenarioDE: "Laserstrahl entzuendet brennbares Material im Bearbeitungsraum (Papier, Holz, Kunststoff, Loesungsmittel).",
ScenarioDE: "Laserstrahl entzuendet brennbares Material im Bearbeitungsraum (Papier, Holz, Kunststoff).",
TriggerDE: "Ueberlauf des Strahls ueber Werkstueckkante, brennbares Reinigungsmittel im Arbeitsraum.",
HarmDE: "Brandverletzungen, Rauchgasvergiftung, Sachschaeden am Geraet.",
AffectedDE: "Bedienpersonal, alle Personen im Gebaeude.",
@@ -63,7 +59,7 @@ func GetLaserMedicalPatterns() []HazardPattern {
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.",
ScenarioDE: "Laserstrahl reflektiert an poliertem Werkstueck und trifft Personen ausserhalb der Schutzzone.",
TriggerDE: "Neues Werkstueck mit unbekannter Reflexion, spiegelndes Werkzeug im Strahlengang.",
HarmDE: "Augenverletzung, Hautverbrennung durch unerwartete Reflexion.",
AffectedDE: "Personen im erweiterten Laserbereich, Besucher.",
@@ -111,7 +107,7 @@ func GetLaserMedicalPatterns() []HazardPattern {
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.",
ScenarioDE: "CNC-Achsen der Laseranlage bewegen Bearbeitungskopf oder Werkstuecktisch und quetschen Person.",
TriggerDE: "Betreten des Bearbeitungsraums bei Referenzfahrt oder Programmablauf, defekte Schutztuer.",
HarmDE: "Quetschverletzungen an Haenden oder Oberkoerper, Frakturen.",
AffectedDE: "Einrichter, Wartungspersonal.",
@@ -126,7 +122,7 @@ func GetLaserMedicalPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M054", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E24"},
Priority: 72,
ScenarioDE: "Streulicht oder Prozessleuchten am Bearbeitungspunkt blenden den Bediener und fuehren zu Fehlbedienung.",
ScenarioDE: "Streulicht oder Prozessleuchten am Bearbeitungspunkt blenden den Bediener.",
TriggerDE: "Fehlende Blendschutzfilter, Beobachtung des Bearbeitungspunkts ohne Filter.",
HarmDE: "Temporaere Blendung, Fehlbedienung, bei Langzeitexposition Netzhautschaedigung.",
AffectedDE: "Bedienpersonal, Einrichter.",
@@ -174,9 +170,9 @@ func GetLaserMedicalPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M054", "M141"},
SuggestedEvidenceIDs: []string{"E01", "E20"},
Priority: 88,
ScenarioDE: "Schutzgas (Stickstoff, Argon) verdraengt Sauerstoff in geschlossener Laserkabine oder Bearbeitungsraum.",
ScenarioDE: "Schutzgas (Stickstoff, Argon) verdraengt Sauerstoff in geschlossener Laserkabine.",
TriggerDE: "Gasleckage, Betreten der Kabine ohne Belueftung, defekter Sauerstoffsensor.",
HarmDE: "Bewusstlosigkeit, Erstickungstod bei Sauerstoffkonzentration unter 17%.",
HarmDE: "Bewusstlosigkeit, Erstickungstod bei Sauerstoffkonzentration unter 17 Prozent.",
AffectedDE: "Wartungspersonal, Bedienpersonal bei Reinigung.",
ZoneDE: "Laserkabine, Bearbeitungskammer, Gasversorgungsbereich.",
DefaultSeverity: 5, DefaultExposure: 2,
@@ -189,7 +185,7 @@ func GetLaserMedicalPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M054", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E21"},
Priority: 80,
ScenarioDE: "Verschmutzte Fokussierlinse absorbiert Laserenergie, ueberhitzt und kann bersten oder Strahl unkontrolliert ablenken.",
ScenarioDE: "Verschmutzte Fokussierlinse absorbiert Laserenergie, ueberhitzt und kann bersten.",
TriggerDE: "Versaeumte Linsenreinigung, Spritzerablagerung auf der Optik, Schutzglas fehlt.",
HarmDE: "Verbrennungen durch Glasbruch, Linsenbrand, unkontrollierter Strahlaustritt.",
AffectedDE: "Bedienpersonal, Wartungspersonal.",
@@ -204,7 +200,7 @@ func GetLaserMedicalPatterns() []HazardPattern {
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.",
ScenarioDE: "Laserstrahl tritt durch Spalt 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.",
@@ -219,7 +215,7 @@ func GetLaserMedicalPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E12", "E20"},
Priority: 60,
ScenarioDE: "Hochgeschwindigkeits-Laserschneiden erzeugt hohe Schallpegel durch Schneidgas und Materialverdampfung.",
ScenarioDE: "Hochgeschwindigkeits-Laserschneiden erzeugt hohe Schallpegel durch Schneidgas.",
TriggerDE: "Offene oder schlecht gedaemmte Kabine, Schneiden duenner Bleche mit hoher Gasstroemung.",
HarmDE: "Laermschwerhoerigkeit, Tinnitus bei Langzeitexposition.",
AffectedDE: "Bedienpersonal, Personen in angrenzenden Bereichen.",
@@ -241,410 +237,5 @@ func GetLaserMedicalPatterns() []HazardPattern {
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,
},
}
}
@@ -1,7 +1,7 @@
package iace
// GetMaintenanceExtPatterns returns 65 maintenance/lifecycle-specific hazard patterns
// (HP700-HP764). All patterns have RequiredLifecycles set.
// (HP700-HP729, HP900-HP934). All patterns have RequiredLifecycles set.
func GetMaintenanceExtPatterns() []HazardPattern {
return []HazardPattern{
// — Wartung allgemein (HP700-HP709) —
@@ -217,144 +217,144 @@ func GetMaintenanceExtPatterns() []HazardPattern {
ScenarioDE: "Falsche Fehleranalyse fuehrt zu unsachgemaesser Reparatur", TriggerDE: "Fehlendes Diagnosetool",
HarmDE: "Folgestoerung mit groesserem Schaden", AffectedDE: "Bedienpersonal", ZoneDE: "Steuerung",
DefaultSeverity: 4, DefaultExposure: 2},
// — Transport / Montage (HP730-HP737) —
{ID: "HP730", NameDE: "Kippen der Maschine beim Transport", NameEN: "Machine tipping during transport",
// — Transport / Montage (HP900-HP907) —
{ID: "HP900", NameDE: "Kippen der Maschine beim Transport", NameEN: "Machine tipping during transport",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"transport"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 80,
ScenarioDE: "Maschine kippt wegen falschem Schwerpunkt", TriggerDE: "Falscher Anschlagpunkt",
HarmDE: "Quetschung unter Maschine, Tod", AffectedDE: "Transportpersonal", ZoneDE: "Transportweg",
DefaultSeverity: 5, DefaultExposure: 2},
{ID: "HP731", NameDE: "Herabfallen bei Kranverladung", NameEN: "Falling load crane loading",
{ID: "HP901", NameDE: "Herabfallen bei Kranverladung", NameEN: "Falling load crane loading",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"transport"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 85,
ScenarioDE: "Last loest sich aus Krananschlag", TriggerDE: "Falsches Anschlagmittel, Ueberlast",
HarmDE: "Erschlagen, Tod", AffectedDE: "Alle im Schwenkbereich", ZoneDE: "Unter der Last",
DefaultSeverity: 5, DefaultExposure: 2},
{ID: "HP732", NameDE: "Quetschung beim Absetzen schwerer Lasten", NameEN: "Crushing when lowering loads",
{ID: "HP902", NameDE: "Quetschung beim Absetzen schwerer Lasten", NameEN: "Crushing when lowering loads",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"transport"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 75,
ScenarioDE: "Finger/Fuesse zwischen Last und Unterlage", TriggerDE: "Zu nah an der Last",
HarmDE: "Quetschung, Amputation", AffectedDE: "Anschlaeger", ZoneDE: "Absetzbereich",
DefaultSeverity: 4, DefaultExposure: 3},
{ID: "HP733", NameDE: "Rueckenschaden durch manuelles Tragen", NameEN: "Back injury manual carrying",
{ID: "HP903", NameDE: "Rueckenschaden durch manuelles Tragen", NameEN: "Back injury manual carrying",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"transport"},
GeneratedHazardCats: []string{"ergonomic_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 50,
ScenarioDE: "Maschinenteile manuell statt mit Hebehilfe getragen", TriggerDE: "Fehlende Hebemittel",
HarmDE: "Bandscheibenvorfall", AffectedDE: "Montagepersonal", ZoneDE: "Transportwege",
DefaultSeverity: 3, DefaultExposure: 4},
{ID: "HP734", NameDE: "Pendelnde Last am Kran", NameEN: "Swinging load on crane",
{ID: "HP904", NameDE: "Pendelnde Last am Kran", NameEN: "Swinging load on crane",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"transport"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 70,
ScenarioDE: "Pendelnde Kranladung trifft Personen", TriggerDE: "Zu schnelles Schwenken, Wind",
HarmDE: "Aufprall, Frakturen", AffectedDE: "Alle im Schwenkbereich", ZoneDE: "Kranbahn",
DefaultSeverity: 4, DefaultExposure: 3},
{ID: "HP735", NameDE: "Maschine rutscht vom Transportfahrzeug", NameEN: "Machine slides off vehicle",
{ID: "HP905", NameDE: "Maschine rutscht vom Transportfahrzeug", NameEN: "Machine slides off vehicle",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"transport"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 75,
ScenarioDE: "Unzureichende Ladungssicherung", TriggerDE: "Fehlende Zurrgurte, Vollbremsung",
HarmDE: "Herabfallende Maschine, Sachschaden", AffectedDE: "Fahrer", ZoneDE: "Ladeflaeche",
DefaultSeverity: 5, DefaultExposure: 2},
{ID: "HP736", NameDE: "Kollision bei innerbetrieblichem Transport", NameEN: "Collision internal transport",
{ID: "HP906", NameDE: "Kollision bei innerbetrieblichem Transport", NameEN: "Collision internal transport",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"transport"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 60,
ScenarioDE: "Stapler kollidiert mit Personen", TriggerDE: "Eingeschraenkte Sicht, zu schnell",
HarmDE: "Anfahrunfall, Quetschung", AffectedDE: "Fussgaenger", ZoneDE: "Transportwege",
DefaultSeverity: 4, DefaultExposure: 3},
{ID: "HP737", NameDE: "Verankerungsfehler bei Montage", NameEN: "Anchoring error installation",
{ID: "HP907", NameDE: "Verankerungsfehler bei Montage", NameEN: "Anchoring error installation",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"transport"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 65,
ScenarioDE: "Maschine nicht korrekt verankert", TriggerDE: "Zu schwache Duebel, falscher Untergrund",
HarmDE: "Verschiebung, Kippen", AffectedDE: "Bedienpersonal", ZoneDE: "Fundament",
DefaultSeverity: 4, DefaultExposure: 2},
// — Inbetriebnahme (HP738-HP742) —
{ID: "HP738", NameDE: "Erststart ohne komplette Schutzeinrichtungen", NameEN: "First start without guards",
// — Inbetriebnahme (HP908-HP912) —
{ID: "HP908", NameDE: "Erststart ohne komplette Schutzeinrichtungen", NameEN: "First start without guards",
RequiredComponentTags: []string{"moving_part"}, RequiredLifecycles: []string{"commissioning"},
GeneratedHazardCats: []string{"mechanical_hazard", "safety_function_failure"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E08"}, Priority: 90,
ScenarioDE: "Erststart vor Montage aller Schutzeinrichtungen", TriggerDE: "Termindruck, fehlende Abnahme",
HarmDE: "Offene Gefahrstellen", AffectedDE: "IBN-Personal", ZoneDE: "Gesamte Maschine",
DefaultSeverity: 5, DefaultExposure: 2},
{ID: "HP739", NameDE: "Kalibrierungsfehler verursacht Ueberfahrt", NameEN: "Calibration error overtravel",
{ID: "HP909", NameDE: "Kalibrierungsfehler verursacht Ueberfahrt", NameEN: "Calibration error overtravel",
RequiredComponentTags: []string{"moving_part", "programmable"}, RequiredLifecycles: []string{"commissioning"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M106", "M082"}, SuggestedEvidenceIDs: []string{"E08"}, Priority: 75,
ScenarioDE: "Falsche Achskalibrierung fuehrt zu Ueberfahrt", TriggerDE: "Vertauschte Achsen",
HarmDE: "Kollision, Maschinenbruch", AffectedDE: "IBN-Personal", ZoneDE: "Verfahrbereiche",
DefaultSeverity: 4, DefaultExposure: 2},
{ID: "HP740", NameDE: "Unerwartetes Verhalten bei Probebetrieb", NameEN: "Unexpected behaviour trial run",
{ID: "HP910", NameDE: "Unerwartetes Verhalten bei Probebetrieb", NameEN: "Unexpected behaviour trial run",
RequiredComponentTags: []string{"programmable"}, RequiredLifecycles: []string{"commissioning"},
GeneratedHazardCats: []string{"safety_function_failure"},
SuggestedMeasureIDs: []string{"M106", "M082"}, SuggestedEvidenceIDs: []string{"E08"}, Priority: 70,
ScenarioDE: "Neues Programm zeigt unvorhergesehenes Verhalten", TriggerDE: "Softwarefehler",
HarmDE: "Unkontrollierte Bewegung", AffectedDE: "IBN-Personal", ZoneDE: "Arbeitsraum",
DefaultSeverity: 4, DefaultExposure: 2},
{ID: "HP741", NameDE: "Not-Halt nicht geprueft bei IBN", NameEN: "E-stop not tested commissioning",
{ID: "HP911", NameDE: "Not-Halt nicht geprueft bei IBN", NameEN: "E-stop not tested commissioning",
RequiredComponentTags: []string{"electrical_part"}, RequiredLifecycles: []string{"commissioning"},
GeneratedHazardCats: []string{"safety_function_failure"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E08", "E09"}, Priority: 85,
ScenarioDE: "Not-Halt vor Erstbetrieb nicht geprueft", TriggerDE: "Uebergangene Checkliste",
HarmDE: "Kein Stopp im Notfall", AffectedDE: "Alle an Maschine", ZoneDE: "Not-Halt-Positionen",
DefaultSeverity: 5, DefaultExposure: 2},
{ID: "HP742", NameDE: "Medienanschluss vertauscht bei IBN", NameEN: "Media connection swapped",
{ID: "HP912", NameDE: "Medienanschluss vertauscht bei IBN", NameEN: "Media connection swapped",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"commissioning"},
GeneratedHazardCats: []string{"pneumatic_hydraulic"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E08"}, Priority: 60,
ScenarioDE: "Vertauschter Druckluft-/Hydraulikanschluss", TriggerDE: "Verwechslung, fehlende Kennzeichnung",
HarmDE: "Falsche Bewegungsrichtung, Berstgefahr", AffectedDE: "IBN-Personal", ZoneDE: "Anschluesse",
DefaultSeverity: 3, DefaultExposure: 2},
// — Reinigung (HP743-HP747) —
{ID: "HP743", NameDE: "Nassreinigung nahe Elektrik", NameEN: "Wet cleaning near electrics",
// — Reinigung (HP913-HP917) —
{ID: "HP913", NameDE: "Nassreinigung nahe Elektrik", NameEN: "Wet cleaning near electrics",
RequiredComponentTags: []string{"electrical_part"}, RequiredEnergyTags: []string{"electrical"},
RequiredLifecycles: []string{"cleaning"}, GeneratedHazardCats: []string{"electrical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E09"}, Priority: 75,
ScenarioDE: "Wasser gelangt in Schaltschrank", TriggerDE: "Hochdruckreiniger nahe Elektrik",
HarmDE: "Kurzschluss, Stromschlag", AffectedDE: "Reinigungspersonal", ZoneDE: "Schaltschrank",
DefaultSeverity: 4, DefaultExposure: 3},
{ID: "HP744", NameDE: "Giftige Reinigungsmittel-Daempfe", NameEN: "Toxic cleaner fumes",
{ID: "HP914", NameDE: "Giftige Reinigungsmittel-Daempfe", NameEN: "Toxic cleaner fumes",
RequiredComponentTags: []string{"chemical_risk"}, RequiredLifecycles: []string{"cleaning"},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M005", "M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 65,
ScenarioDE: "Reinigungsmittel-Daempfe in geschlossenem Raum", TriggerDE: "Fehlende Lueftung",
HarmDE: "Atemwegsveraetzung, Vergiftung", AffectedDE: "Reinigungspersonal", ZoneDE: "Maschineninneres",
DefaultSeverity: 4, DefaultExposure: 3},
{ID: "HP745", NameDE: "Hochdruckreiniger-Verletzung", NameEN: "High-pressure cleaner injury",
{ID: "HP915", NameDE: "Hochdruckreiniger-Verletzung", NameEN: "High-pressure cleaner injury",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"cleaning"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 60,
ScenarioDE: "Hochdruckstrahl verletzt Haut", TriggerDE: "Zu geringer Abstand",
HarmDE: "Injektionsverletzung, Infektion", AffectedDE: "Reinigungspersonal", ZoneDE: "Reinigungsbereich",
DefaultSeverity: 3, DefaultExposure: 3},
{ID: "HP746", NameDE: "Reinigung bei laufender Maschine", NameEN: "Cleaning during operation",
{ID: "HP916", NameDE: "Reinigung bei laufender Maschine", NameEN: "Cleaning during operation",
RequiredComponentTags: []string{"moving_part"}, RequiredLifecycles: []string{"cleaning"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M054", "M082"}, SuggestedEvidenceIDs: []string{"E08"}, Priority: 85,
ScenarioDE: "Reinigung ohne Abschaltung der Maschine", TriggerDE: "Zeitdruck",
HarmDE: "Einzug, Quetschung, Aufwickeln", AffectedDE: "Reinigungspersonal", ZoneDE: "Rotierende Teile",
DefaultSeverity: 5, DefaultExposure: 3},
{ID: "HP747", NameDE: "Nassrutschiger Boden nach Reinigung", NameEN: "Wet slippery floor after cleaning",
{ID: "HP917", NameDE: "Nassrutschiger Boden nach Reinigung", NameEN: "Wet slippery floor after cleaning",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"cleaning"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 45,
ScenarioDE: "Nasser Boden nach Maschinenreinigung", TriggerDE: "Fehlende Absperrung",
HarmDE: "Sturz, Frakturen", AffectedDE: "Alle Personen", ZoneDE: "Werkstattboden",
DefaultSeverity: 2, DefaultExposure: 4},
// — Demontage / Entsorgung (HP748-HP752) —
{ID: "HP748", NameDE: "Restmedien in demontierten Leitungen", NameEN: "Residual media dismantled piping",
// — Demontage / Entsorgung (HP918-HP922) —
{ID: "HP918", NameDE: "Restmedien in demontierten Leitungen", NameEN: "Residual media dismantled piping",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"decommissioning"},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 65,
ScenarioDE: "Oel/Chemikalien treten aus getrennten Leitungen", TriggerDE: "Nicht entleerte Leitungen",
HarmDE: "Veraetzung, Kontamination", AffectedDE: "Abbruchpersonal", ZoneDE: "Trennstellen",
DefaultSeverity: 3, DefaultExposure: 3},
{ID: "HP749", NameDE: "Asbestexposition bei Altmaschine", NameEN: "Asbestos old machine demolition",
{ID: "HP919", NameDE: "Asbestexposition bei Altmaschine", NameEN: "Asbestos old machine demolition",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"decommissioning"},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M005", "M082", "M141"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 85,
@@ -362,36 +362,36 @@ func GetMaintenanceExtPatterns() []HazardPattern {
ScenarioDE: "Asbesthaltiges Material wird freigesetzt", TriggerDE: "Keine Vorab-Ermittlung",
HarmDE: "Asbestose, Lungenkrebs", AffectedDE: "Abbruchpersonal", ZoneDE: "Alte Dichtungen/Isolierungen",
DefaultSeverity: 5, DefaultExposure: 2},
{ID: "HP750", NameDE: "Kontaminierte Teile bei Entsorgung", NameEN: "Contaminated parts disposal",
{ID: "HP920", NameDE: "Kontaminierte Teile bei Entsorgung", NameEN: "Contaminated parts disposal",
RequiredComponentTags: []string{"chemical_risk"}, RequiredLifecycles: []string{"decommissioning"},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M005", "M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 55,
ScenarioDE: "Kontaminierte Teile unsachgemaess entsorgt", TriggerDE: "Fehlende Trennung",
HarmDE: "Umweltverschmutzung, Hautkontakt", AffectedDE: "Entsorgungspersonal", ZoneDE: "Demontagebereich",
DefaultSeverity: 2, DefaultExposure: 3},
{ID: "HP751", NameDE: "Scharfe Kanten bei Zerschneidung", NameEN: "Sharp edges cutting scrap",
{ID: "HP921", NameDE: "Scharfe Kanten bei Zerschneidung", NameEN: "Sharp edges cutting scrap",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"decommissioning"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M005", "M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 50,
ScenarioDE: "Scharfe Kanten beim Zerteilen der Maschine", TriggerDE: "Trennschleifen, Brennschneiden",
HarmDE: "Schnittwunden, Splitterverletzungen", AffectedDE: "Abbruchpersonal", ZoneDE: "Schneidbereich",
DefaultSeverity: 3, DefaultExposure: 3},
{ID: "HP752", NameDE: "Instabilitaet bei stueckweisem Abbruch", NameEN: "Instability stepwise demolition",
{ID: "HP922", NameDE: "Instabilitaet bei stueckweisem Abbruch", NameEN: "Instability stepwise demolition",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"decommissioning"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 70,
ScenarioDE: "Restbauwerk stuerzt unkontrolliert ein", TriggerDE: "Falsche Abbruchreihenfolge",
HarmDE: "Verschuettung, Tod", AffectedDE: "Abbruchpersonal", ZoneDE: "Restkonstruktion",
DefaultSeverity: 5, DefaultExposure: 2},
// — Inspektion / Pruefung (HP753-HP757) —
{ID: "HP753", NameDE: "Pruefung unter Last (Belastungstest)", NameEN: "Test under load",
// — Inspektion / Pruefung (HP923-HP927) —
{ID: "HP923", NameDE: "Pruefung unter Last (Belastungstest)", NameEN: "Test under load",
RequiredComponentTags: []string{"structural_part", "high_force"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E08", "E20"}, Priority: 80,
ScenarioDE: "Bauteilversagen bei Maximallast", TriggerDE: "Materialermuedung, Riss",
HarmDE: "Bruchstuecke, herabfallende Last", AffectedDE: "Pruefpersonal", ZoneDE: "Pruefstand",
DefaultSeverity: 5, DefaultExposure: 2},
{ID: "HP754", NameDE: "Druckpruefung mit Berstgefahr", NameEN: "Pressure test burst risk",
{ID: "HP924", NameDE: "Druckpruefung mit Berstgefahr", NameEN: "Pressure test burst risk",
RequiredComponentTags: []string{"high_pressure"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"pneumatic_hydraulic"},
SuggestedMeasureIDs: []string{"M131", "M082", "M141"}, SuggestedEvidenceIDs: []string{"E08"}, Priority: 85,
@@ -399,21 +399,21 @@ func GetMaintenanceExtPatterns() []HazardPattern {
ScenarioDE: "Behaelter versagt bei Druckpruefung", TriggerDE: "Wandstaerkenunterschreitung",
HarmDE: "Bersten, Splitterflug, Tod", AffectedDE: "Pruefpersonal", ZoneDE: "Druckbehaelter",
DefaultSeverity: 5, DefaultExposure: 2},
{ID: "HP755", NameDE: "Funktionstest mit offener Schutzeinrichtung", NameEN: "Function test open guard",
{ID: "HP925", NameDE: "Funktionstest mit offener Schutzeinrichtung", NameEN: "Function test open guard",
RequiredComponentTags: []string{"moving_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"mechanical_hazard", "safety_function_failure"},
SuggestedMeasureIDs: []string{"M054", "M082"}, SuggestedEvidenceIDs: []string{"E08"}, Priority: 80,
ScenarioDE: "Test erfordert offene Schutzeinrichtung", TriggerDE: "Sichtpruefung noetig",
HarmDE: "Erfassen, Quetschen", AffectedDE: "Pruefpersonal", ZoneDE: "Maschinenarbeitsraum",
DefaultSeverity: 5, DefaultExposure: 2},
{ID: "HP756", NameDE: "Messung an spannungsfuehrender Anlage", NameEN: "Measurement on energized system",
{ID: "HP926", NameDE: "Messung an spannungsfuehrender Anlage", NameEN: "Measurement on energized system",
RequiredComponentTags: []string{"electrical_part"}, RequiredEnergyTags: []string{"electrical"},
RequiredLifecycles: []string{"maintenance"}, GeneratedHazardCats: []string{"electrical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E09"}, Priority: 75,
ScenarioDE: "Messung unter Spannung bei Fehlersuche", TriggerDE: "Messgeraet rutscht ab",
HarmDE: "Stromschlag, Lichtbogen", AffectedDE: "Elektrofachkraft", ZoneDE: "Schaltschrank",
DefaultSeverity: 4, DefaultExposure: 3},
{ID: "HP757", NameDE: "ZfP mit Strahlenquelle", NameEN: "NDT with radiation source",
{ID: "HP927", NameDE: "ZfP mit Strahlenquelle", NameEN: "NDT with radiation source",
RequiredComponentTags: []string{"radiation_source"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"radiation_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 80,
@@ -421,51 +421,51 @@ func GetMaintenanceExtPatterns() []HazardPattern {
ScenarioDE: "Radiographische Pruefung mit Roentgen/Gamma", TriggerDE: "Sperrbereich nicht eingerichtet",
HarmDE: "Ionisierende Strahlung, Krebs", AffectedDE: "Pruefpersonal", ZoneDE: "Pruef-/Kontrollbereich",
DefaultSeverity: 5, DefaultExposure: 2},
// — Fremdfirmen (HP758-HP761) —
{ID: "HP758", NameDE: "Fehlende Einweisung Fremdfirma", NameEN: "Missing contractor induction",
// — Fremdfirmen (HP928-HP931) —
{ID: "HP928", NameDE: "Fehlende Einweisung Fremdfirma", NameEN: "Missing contractor induction",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"safety_function_failure"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 70,
ScenarioDE: "Fremdfirma kennt ortsspezifische Gefahren nicht", TriggerDE: "Keine Sicherheitsunterweisung",
HarmDE: "Alle Gefaehrdungen durch Unkenntnis", AffectedDE: "Fremdfirmenpersonal", ZoneDE: "Gesamter Betrieb",
DefaultSeverity: 4, DefaultExposure: 3},
{ID: "HP759", NameDE: "Sprachbarriere bei Sicherheitskommunikation", NameEN: "Language barrier safety communication",
{ID: "HP929", NameDE: "Sprachbarriere bei Sicherheitskommunikation", NameEN: "Language barrier safety communication",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"safety_function_failure"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 55,
ScenarioDE: "Sicherheitsanweisungen nicht verstanden", TriggerDE: "Nur deutschsprachige Unterweisung",
HarmDE: "Fehlverhalten durch Missverstaendnis", AffectedDE: "Fremdfirmenpersonal", ZoneDE: "Einsatzbereich",
DefaultSeverity: 3, DefaultExposure: 3},
{ID: "HP760", NameDE: "Parallele Arbeiten ohne Koordination", NameEN: "Parallel work no coordination",
{ID: "HP930", NameDE: "Parallele Arbeiten ohne Koordination", NameEN: "Parallel work no coordination",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"mechanical_hazard", "safety_function_failure"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 75,
ScenarioDE: "Mehrere Teams gleichzeitig an einer Anlage", TriggerDE: "Fehlende Koordination",
HarmDE: "Unerwarteter Anlauf, Gefaehrdung", AffectedDE: "Alle Teams", ZoneDE: "Gesamte Anlage",
DefaultSeverity: 5, DefaultExposure: 3},
{ID: "HP761", NameDE: "Schnittstellenproblem an Gewerkeuebergaengen", NameEN: "Interface problem trade boundaries",
{ID: "HP931", NameDE: "Schnittstellenproblem an Gewerkeuebergaengen", NameEN: "Interface problem trade boundaries",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"safety_function_failure"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 60,
ScenarioDE: "Verantwortungsluecke zwischen Gewerken", TriggerDE: "Unklare Zustaendigkeiten",
HarmDE: "Vernachlaessigte Sicherheit", AffectedDE: "Alle Gewerke", ZoneDE: "Schnittstellen",
DefaultSeverity: 3, DefaultExposure: 3},
// — Notfall (HP762-HP764) —
{ID: "HP762", NameDE: "Versperrte Fluchtwege bei Wartung", NameEN: "Blocked escape routes maintenance",
// — Notfall (HP932-HP934) —
{ID: "HP932", NameDE: "Versperrte Fluchtwege bei Wartung", NameEN: "Blocked escape routes maintenance",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 70,
ScenarioDE: "Material blockiert Flucht- und Rettungswege", TriggerDE: "Abgestelltes Material, Geruest",
HarmDE: "Verzoegerte Evakuierung", AffectedDE: "Alle im Gebaeude", ZoneDE: "Fluchtwege",
DefaultSeverity: 4, DefaultExposure: 3},
{ID: "HP763", NameDE: "Fehlende Erste-Hilfe am Wartungsort", NameEN: "Missing first aid maintenance site",
{ID: "HP933", NameDE: "Fehlende Erste-Hilfe am Wartungsort", NameEN: "Missing first aid maintenance site",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 50,
ScenarioDE: "Kein Erste-Hilfe-Material am abgelegenen Ort", TriggerDE: "Entfernter Standort",
HarmDE: "Verzoegerte Erstversorgung", AffectedDE: "Instandhalter", ZoneDE: "Abgelegene Wartungsorte",
DefaultSeverity: 3, DefaultExposure: 3},
{ID: "HP764", NameDE: "Brandbekaempfung bei Wartung", NameEN: "Firefighting during maintenance",
{ID: "HP934", NameDE: "Brandbekaempfung bei Wartung", NameEN: "Firefighting during maintenance",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"thermal_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E10", "E20"}, Priority: 65,
@@ -0,0 +1,414 @@
package iace
// GetMedicalDevicePatterns returns hazard patterns for medical devices in
// the IEC 60601 context (HP350-HP364).
func GetMedicalDevicePatterns() []HazardPattern {
return []HazardPattern{
{
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 ueberhoehten 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 oder liefert falsche Energie.",
TriggerDE: "Softwarefehler in 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 Implantaten.",
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 per radiation protection regulations.",
ScenarioDE: "Patient oder Personal wird einer 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, 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 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, 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 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 dosiert aufgrund eines Softwarefehlers eine falsche Medikamentenmenge.",
TriggerDE: "Softwarebug in 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.",
TriggerDE: "Defekte Seitenverriegelung, unbeabsichtigte Betaetigung der Fernbedienung.",
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, Patientennaehe.",
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, 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 Ausfall nicht evakuiert werden.",
TriggerDE: "Klaustrophobie, laengere Untersuchungsdauer, Defekt der Patientenliege.",
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 Werkzeug, Rollstuhl oder 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, Notquench ohne Evakuierung, Versagen des Quench-Ventils.",
HarmDE: "Erstickung durch Sauerstoffverdraengung, Kaelteverbrennungen, Druckwelle.",
AffectedDE: "Patienten, Personal im MRT-Raum.",
ZoneDE: "MRT-Raum, Quench-Rohrleitung, angrenzende Raeume bei Ventilversagen.",
DefaultSeverity: 5, DefaultExposure: 1,
},
}
}
// GetPressureEquipmentPatterns returns hazard patterns for pressure equipment
// such as pressure vessels, steam lines, and heat exchangers (HP365-HP374).
func GetPressureEquipmentPatterns() []HazardPattern {
return []HazardPattern{
{
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 undichter 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. Safety valve inspection cycles 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 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 Inertgas tritt aus und verdraengt Atemluft in geschlossenem Raum.",
TriggerDE: "Leckage an Flanschverbindung, Ventilversagen, 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 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.",
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,
},
}
}
@@ -0,0 +1,232 @@
package iace
// GetPackagingPatterns returns hazard patterns for packaging machines (HP320-HP334).
func GetPackagingPatterns() []HazardPattern {
return []HazardPattern{
{
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 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 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 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 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 bei Kartonstau.",
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 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 peitscht unkontrolliert.",
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, 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 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,
},
}
}
@@ -0,0 +1,467 @@
package iace
// GetSpecificMachinePatterns2 returns 29 hazard patterns (HP756-HP784)
// for escalators, swimming pools, playgrounds, fitness equipment,
// laundry machines, and glass handling.
func GetSpecificMachinePatterns2() []HazardPattern {
return []HazardPattern{
// ================================================================
// Fahrtreppen / Escalators (HP756-HP760)
// ================================================================
{
ID: "HP756", NameDE: "Einzug in Stufenkante der Fahrtreppe", NameEN: "Draw-in at escalator step edge",
RequiredComponentTags: []string{"moving_part", "crush_point"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E09", "E20"},
Priority: 85,
ScenarioDE: "Schuh, Kleidung oder Finger werden am Uebergang zwischen Stufe und Kamm der Fahrtreppe eingezogen.",
TriggerDE: "Weiche Schuhsohle, offene Schnuersenkel, Kinderfinger am Stufenrand",
HarmDE: "Quetschung, Amputation von Zehen, Fussknochenbrueche",
AffectedDE: "Fahrtreppenbenutzer, insbesondere Kinder und aeltere Personen",
ZoneDE: "Kammplatte am Zu- und Abgang, Stufenrand",
DefaultSeverity: 4, DefaultExposure: 4,
},
{
ID: "HP757", NameDE: "Einklemmen am Handlaufeinzug", NameEN: "Entrapment at handrail inlet",
RequiredComponentTags: []string{"moving_part", "pinch_point"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 80,
ScenarioDE: "Finger oder Handteile werden am Einzugspunkt des Handlaufs in die Verkleidung gezogen.",
TriggerDE: "Kinderhand am Handlauf nahe der Verkleidung, fehlende Einlaufschutzbuegel",
HarmDE: "Fingerquetschung, Hautabschuerfungen, bei Kindern Armverletzung",
AffectedDE: "Kinder, aeltere Personen, unaufmerksame Benutzer",
ZoneDE: "Handlaufeinzug oben und unten, Handlaufverkleidung",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP758", NameDE: "Sturz bei Notbremsung der Fahrtreppe", NameEN: "Fall during emergency stop of escalator",
RequiredComponentTags: []string{"moving_part"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E09", "E20"},
Priority: 75,
ScenarioDE: "Ploetzliches Anhalten der Fahrtreppe durch Not-Halt fuehrt zum Sturz stehender Personen.",
TriggerDE: "Not-Halt-Betaetigung, Antriebsstoerung, Kettenbruch, Ueberlastschutz loest aus",
HarmDE: "Sturzverleztungen, Knochenbrueche, Platzwunden, Massenkarambolage",
AffectedDE: "Alle Personen auf der Fahrtreppe, insbesondere aeltere und gehbehinderte Personen",
ZoneDE: "Gesamte Fahrtreppenlaenge",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP759", NameDE: "Spalt zwischen Trittplatte und Seitenwand", NameEN: "Gap between step and skirt panel",
RequiredComponentTags: []string{"moving_part", "pinch_point"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 75,
ScenarioDE: "Schuhe oder Kleidung werden in den Spalt zwischen Trittstufe und seitlicher Verkleidung gezogen.",
TriggerDE: "Zu grosser Spalt durch Verschleiss, weiche Schuhsohlen, Kind steht seitlich",
HarmDE: "Einklemmen des Fusses, Schuhverlust, Hautabschuerfungen",
AffectedDE: "Fahrtreppenbenutzer, Kinder",
ZoneDE: "Seitenverkleidung, Spalt zwischen Stufe und Seitenwand ueber gesamte Laenge",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP760", NameDE: "Kamm- oder Stufenbruch an Fahrtreppe", NameEN: "Comb plate or step breakage on escalator",
RequiredComponentTags: []string{"moving_part", "structural_part"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E09", "E20"},
Priority: 85,
ScenarioDE: "Bruch einer Trittstufe oder der Kammplatte fuehrt zum Einsacken oder Einzug in die Mechanik.",
TriggerDE: "Materialermuedung, Korrosion, fehlende Inspektionen, Vandalismus",
HarmDE: "Einzug in Mechanik, Beinverletzungen, Sturz in Maschinenkammer",
AffectedDE: "Fahrtreppenbenutzer, insbesondere Kinder",
ZoneDE: "Trittstufen, Kammplatte, Maschinenkammer darunter",
DefaultSeverity: 4, DefaultExposure: 2,
},
// ================================================================
// Schwimmbadtechnik (HP761-HP765)
// ================================================================
{
ID: "HP761", NameDE: "Ansaugen durch Wassereinlass (Entrapment)", NameEN: "Suction entrapment by pool drain",
RequiredComponentTags: []string{"high_pressure"},
RequiredEnergyTags: []string{"pneumatic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E01", "E08", "E20"},
Priority: 95,
ScenarioDE: "Person wird durch den Sog des Bodenablaufs festgehalten und kann sich nicht befreien (Ansaug-Entrapment).",
TriggerDE: "Fehlende oder defekte Ablaufabdeckung, zu starke Pumpe, einzelner Bodenablauf ohne Doppelanlage",
HarmDE: "Ertrinken, Organprolaps (Darm), schwere Quetschverletzungen",
AffectedDE: "Schwimmer, insbesondere Kinder",
ZoneDE: "Bodenablaeufe, Skimmer, Massageduesen-Ansaugung",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP762", NameDE: "Chlorgasvergiftung in Schwimmbadtechnik", NameEN: "Chlorine gas poisoning in pool plant room",
RequiredComponentTags: []string{"chemical_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M005", "M141"},
SuggestedEvidenceIDs: []string{"E01", "E20"},
Priority: 90,
ScenarioDE: "Unkontrollierte Freisetzung von Chlorgas oder Mischung von Chlor und Saeure in der Wasseraufbereitung.",
TriggerDE: "Fehlbefuellung (Saeure in Chlorgebinde), Dosieranlage defekt, Schlauchbruch",
HarmDE: "Chlorgasvergiftung, Atemwegsveraetzung, Lungenoedem, Tod",
AffectedDE: "Schwimmmeister, Badtechnik-Personal, Badegaeste bei Gasaustritt in die Halle",
ZoneDE: "Technikraum Wasseraufbereitung, Schwimmhalle bei Lueftungsversagen",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP763", NameDE: "Elektrischer Schlag im Nassbereich", NameEN: "Electric shock in wet area",
RequiredComponentTags: []string{"electrical_part"},
RequiredEnergyTags: []string{"electrical"},
GeneratedHazardCats: []string{"electrical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"},
SuggestedEvidenceIDs: []string{"E01", "E10", "E20"},
Priority: 90,
ScenarioDE: "Elektrischer Strom tritt im Nassbereich des Schwimmbads durch Isolationsfehler in das Wasser ueber.",
TriggerDE: "Defekte Unterwasserscheinwerfer, beschaedigte Kabel, fehlender FI-Schutzschalter",
HarmDE: "Elektrischer Schlag im Wasser, Herzkammerflimmern, Ertrinken durch Lahmung",
AffectedDE: "Schwimmer im Becken, Wartungspersonal",
ZoneDE: "Schwimmbecken, Duschbereich, Beckenumrandung",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP764", NameDE: "Absturz von Sprungturm/Sprunganlage", NameEN: "Fall from diving tower/platform",
RequiredComponentTags: []string{"structural_part", "gravity_risk"},
RequiredEnergyTags: []string{"gravitational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 80,
ScenarioDE: "Person stuerzt seitlich vom Sprungturm oder rutscht auf nasser Plattform und faellt auf den Beckenrand.",
TriggerDE: "Nasse Oberflaeche, fehlende Gelaender, Drangeln, falscher Absprung",
HarmDE: "Kopfverletzung, Wirbelsaeulenfraktur, Aufprall auf Beckenrand",
AffectedDE: "Badegaeste, insbesondere Kinder und Jugendliche",
ZoneDE: "Sprungturmplattform, Aufstiegsleiter, Beckenrand unter dem Turm",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP765", NameDE: "Rutschen auf nassem Beckenrand", NameEN: "Slip on wet pool deck",
RequiredComponentTags: []string{"structural_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 65,
ScenarioDE: "Person rutscht auf nassem Beckenrand oder Fliesenbereich und stuerzt.",
TriggerDE: "Nasse Fliesenoberflaeche, fehlende Anti-Rutsch-Beschichtung, Rennen am Beckenrand",
HarmDE: "Kopfverletzung, Knochenbrueche, Platzwunden, Zahnschaeden",
AffectedDE: "Badegaeste, Personal",
ZoneDE: "Beckenumrandung, Duschen, Umkleidebereich",
DefaultSeverity: 3, DefaultExposure: 4,
},
// ================================================================
// Spielplatzgeraete (HP766-HP770)
// ================================================================
{
ID: "HP766", NameDE: "Einklemmen Kopf in Spielgeraet-Oeffnung", NameEN: "Head entrapment in playground opening",
RequiredComponentTags: []string{"structural_part", "pinch_point"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E01", "E20"},
Priority: 95,
ScenarioDE: "Kind steckt Kopf durch Oeffnung im Spielgeraet und bleibt haengen (Kopf-Entrapment-Gefahr bei 89-230 mm).",
TriggerDE: "Oeffnungen im kritischen Bereich 89-230 mm, V-foermige Spalte, Gelaendersprosse mit Kopffangmass",
HarmDE: "Strangulation, Erstickung, toedliche Verletzung",
AffectedDE: "Kinder (1-12 Jahre)",
ZoneDE: "Gelaender, Sprossen, Wanddurchbrueche, Rutscheneingang",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP767", NameDE: "Absturz von Klettergeraet", NameEN: "Fall from climbing structure",
RequiredComponentTags: []string{"structural_part", "gravity_risk"},
RequiredEnergyTags: []string{"gravitational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E01", "E20"},
Priority: 85,
ScenarioDE: "Kind stuerzt von Klettergeraet auf den Boden (freie Fallhoehe ueber 1 m).",
TriggerDE: "Abgleiten an nasser Sprosse, Ueberschaetzen der eigenen Faehigkeit, ungeeigneter Fallschutz",
HarmDE: "Knochenbrueche, Kopfverletzungen, Zahnschaeden",
AffectedDE: "Kinder, insbesondere Kleinkinder",
ZoneDE: "Klettergeraet, Fallzone darunter (Fallschutzbereich)",
DefaultSeverity: 4, DefaultExposure: 4,
},
{
ID: "HP768", NameDE: "Fingerfang in Kettenglieder", NameEN: "Finger entrapment in chain links",
RequiredComponentTags: []string{"moving_part", "pinch_point"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 70,
ScenarioDE: "Kinderfinger geraten in die Kettenglieder der Schaukel und werden bei Schwungbewegung eingeklemmt.",
TriggerDE: "Kette mit zu grosser Gliederweite, Finger rutscht zwischen Glieder",
HarmDE: "Fingerquetschung, Fingerkuppen-Amputation, Nagelverlust",
AffectedDE: "Kinder",
ZoneDE: "Schaukelkette, Aufhaengungspunkte, Nestschaukel-Ketten",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP769", NameDE: "Kollision mit Karussell", NameEN: "Collision with merry-go-round",
RequiredComponentTags: []string{"rotating_part", "moving_part"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 75,
ScenarioDE: "Kind wird vom drehenden Karussell getroffen oder faellt bei zu hoher Drehgeschwindigkeit herunter.",
TriggerDE: "Kind laeuft in die Drehebene, aeltere Kinder drehen zu schnell, Abfliegen durch Fliehkraft",
HarmDE: "Kopfverletzung durch Anprall, Knochenbrueche bei Abwurf, Quetschung unter Drehplattform",
AffectedDE: "Kinder im Spielbereich",
ZoneDE: "Drehbereich des Karussells, Bereich unter der Plattform",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP770", NameDE: "Strangulation an Seil/Netz auf Spielplatz", NameEN: "Strangulation on rope/net at playground",
RequiredComponentTags: []string{"entanglement_risk", "structural_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E01", "E20"},
Priority: 95,
ScenarioDE: "Kind verfaengt sich mit Kapuzenkordel, Schal oder Halskette in Seilen oder Netzen des Spielgeraets.",
TriggerDE: "Kleidung mit Kordeln am Hals, zu grosse Maschenweite, lose Seilenden",
HarmDE: "Strangulation, Erstickung, toedliche Verletzung",
AffectedDE: "Kinder mit Kordeln an Kapuze/Kleidung",
ZoneDE: "Seilnetze, Kletterseile, Netzbruecken, Seilbahnanlauf",
DefaultSeverity: 5, DefaultExposure: 2,
},
// ================================================================
// Fitnessgeraete (HP771-HP775)
// ================================================================
{
ID: "HP771", NameDE: "Gewicht faellt auf Person an Kraftstation", NameEN: "Weight drops on person at weight machine",
RequiredComponentTags: []string{"gravity_risk", "structural_part"},
RequiredEnergyTags: []string{"gravitational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 85,
ScenarioDE: "Gewichtstapel oder Langhantel faellt unkontrolliert auf den Nutzer (z. B. beim Bankdruecken ohne Sicherung).",
TriggerDE: "Seilriss, defekte Fangvorrichtung, Ueberbelastung, fehlender Spotter",
HarmDE: "Brustkorb-Quetschung, Kehlkopfverletzung, Rippenbruch, toedliche Verletzung",
AffectedDE: "Trainierende, Spotter/Trainingspartner",
ZoneDE: "Unter dem Gewichtstapel, Bankdrueck-Position, Kniebeugen-Rack",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP772", NameDE: "Sturz vom Laufband", NameEN: "Fall from treadmill",
RequiredComponentTags: []string{"moving_part"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 70,
ScenarioDE: "Person verliert auf dem laufenden Band das Gleichgewicht und wird nach hinten abgeworfen.",
TriggerDE: "Stolpern, zu hohe Geschwindigkeit, Ablenkung, fehlende Not-Stop-Leine",
HarmDE: "Schuertwunden, Kopfverletzung bei Aufprall, Frakturen bei Sturz auf Nachbargeraet",
AffectedDE: "Trainierende, Personen hinter dem Laufband",
ZoneDE: "Laufband-Oberflaeche, Bereich hinter dem Laufband",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP773", NameDE: "Quetschen in Beinpresse", NameEN: "Crushing in leg press",
RequiredComponentTags: []string{"crush_point", "moving_part"},
RequiredEnergyTags: []string{"gravitational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 80,
ScenarioDE: "Gewichtsschlitten der Beinpresse faellt unkontrolliert zurueck und quetscht den Nutzer.",
TriggerDE: "Knie durchgestreckt (Hyperextension), zu hohes Gewicht, defekte Fanghaken",
HarmDE: "Beinbruch, Knieschaeden, Brustkorb-Quetschung bei 45-Grad-Presse",
AffectedDE: "Trainierende an der Beinpresse",
ZoneDE: "Schlittenbereich der Beinpresse, Fussplatte",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP774", NameDE: "Seilriss an Kabelzugmaschine", NameEN: "Cable break at cable machine",
RequiredComponentTags: []string{"moving_part", "structural_part"},
RequiredEnergyTags: []string{"gravitational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20", "E21"},
Priority: 80,
ScenarioDE: "Zugseil der Kabelzugmaschine reisst unter Belastung; das Gewicht faellt und der Griff schlaegt zurueck.",
TriggerDE: "Verschleiss am Seil, Seil klemmt an Umlenkrolle, Ueberlastung",
HarmDE: "Griffschlag ins Gesicht, Gewichtstapel faellt, Fingerquetschung",
AffectedDE: "Trainierende, Personen im Schwungbereich des Seils",
ZoneDE: "Zugturm, Seilfuehrung, Gewichtstapelbereich",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP775", NameDE: "Ueberlastung Herz-Kreislauf am Fitnessgeraet", NameEN: "Cardiovascular overload at fitness equipment",
RequiredComponentTags: []string{"moving_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"ergonomic"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 60,
ScenarioDE: "Person ueberlastet ihr Herz-Kreislauf-System durch zu intensives Training ohne aerztliche Freigabe.",
TriggerDE: "Vorerkrankung unbekannt, fehlende Einweisung, kein Pulsmonitoring, Pressatmung bei Kraftuebung",
HarmDE: "Herzrhythmusstoerung, Herzinfarkt, Kreislaufkollaps, ploetzlicher Herztod",
AffectedDE: "Trainierende mit Vorerkrankungen, untrainierte Personen",
ZoneDE: "Cardio-Bereich, Freihantelbereich, Kraftgeraete",
DefaultSeverity: 5, DefaultExposure: 2,
},
// ================================================================
// Waescherei / Laundry (HP776-HP780)
// ================================================================
{
ID: "HP776", NameDE: "Quetschen in Mangel/Heissmangel", NameEN: "Crushing in mangle/ironer",
RequiredComponentTags: []string{"rotating_part", "crush_point", "high_temperature"},
RequiredEnergyTags: []string{"kinetic", "thermal"},
GeneratedHazardCats: []string{"mechanical_hazard", "thermal_hazard"},
SuggestedMeasureIDs: []string{"M003", "M004", "M082"},
SuggestedEvidenceIDs: []string{"E08", "E09", "E20"},
Priority: 90,
ScenarioDE: "Finger oder Hand werden in den Walzenspalt der Heissmangel eingezogen und gleichzeitig verbrannt.",
TriggerDE: "Manuelles Zufuehren der Waesche bei laufender Walze, fehlender Knieschalter/Sicherheitsbuegel",
HarmDE: "Fingerquetschung mit gleichzeitiger Verbrennung, Armeinzug, Amputation",
AffectedDE: "Waeschereipersonal, Buegelpersonal",
ZoneDE: "Walzenspalt der Mangel, Einlaufbereich",
DefaultSeverity: 4, DefaultExposure: 4,
},
{
ID: "HP777", NameDE: "Dampfverbrennung an Buegelpresse", NameEN: "Steam burn at pressing machine",
RequiredComponentTags: []string{"high_temperature", "high_pressure"},
RequiredEnergyTags: []string{"thermal"},
GeneratedHazardCats: []string{"thermal_hazard"},
SuggestedMeasureIDs: []string{"M005", "M141"},
SuggestedEvidenceIDs: []string{"E10", "E20"},
Priority: 75,
ScenarioDE: "Heisser Dampf tritt beim Oeffnen der Buegelpresse unkontrolliert aus und verbrueht die Haende des Bedieners.",
TriggerDE: "Zu fruehes Oeffnen, defekte Dampfzufuhr, Dampfstoss beim Pressen",
HarmDE: "Verbruehungen an Haenden und Unterarmen, Dampfverbrennungen im Gesicht",
AffectedDE: "Buegelpersonal",
ZoneDE: "Dampfaustrittsoeffnungen, Buegelflaeche, Pressenspalt",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP778", NameDE: "Einzug in industrielle Trommelwaschmaschine", NameEN: "Draw-in by industrial drum 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: 85,
ScenarioDE: "Person greift in die drehende Trommel der Industriewaschmaschine und wird eingezogen.",
TriggerDE: "Defekte Tuerverriegelung, Oeffnen waehrend Nachlauf, Bedienfehler",
HarmDE: "Schwere Quetschverletzung, Armeinzug, Strangulation durch Waeschestuecke",
AffectedDE: "Waeschereipersonal",
ZoneDE: "Trommeloeffnung, Beladeoeffnung der Waschmaschine",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP779", NameDE: "Chemische Exposition durch Reinigungsmittel", NameEN: "Chemical exposure from laundry chemicals",
RequiredComponentTags: []string{"chemical_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M005", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 70,
ScenarioDE: "Hautkontakt oder Einatmen von Waschmitteln, Bleichmitteln oder Loesungsmitteln bei der Chemikalienhandhabung.",
TriggerDE: "Manuelles Umfuellen ohne Handschuhe, Spritzkontakt, Mischen inkompatibler Chemikalien",
HarmDE: "Hautveraetzung, Atemwegsreizung, allergische Reaktion, Augenschaeden",
AffectedDE: "Waeschereipersonal, Reinigungskraefte",
ZoneDE: "Chemikalienlager, Dosierbereich, Waschmaschinen-Zulauf",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP780", NameDE: "Sturz auf nassem Boden in Waescherei", NameEN: "Slip on wet floor in laundry",
RequiredComponentTags: []string{"structural_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 55,
ScenarioDE: "Naessefilm auf dem Boden der Waescherei fuehrt zu Ausrutschen und Sturz.",
TriggerDE: "Wasser auf dem Boden, fehlende Drainage, ungeeignete Schuhe, Eile",
HarmDE: "Knochenbrueche, Kopfverletzung, Rueckenverletzung",
AffectedDE: "Waeschereipersonal",
ZoneDE: "Gesamter Waeschereibetrieb, insbesondere Wasch- und Schleuderbereich",
DefaultSeverity: 2, DefaultExposure: 5,
},
// ================================================================
// Glashandling / Glass Handling (HP781-HP784)
// ================================================================
{
ID: "HP781", NameDE: "Glasbruch trifft umstehende Person", NameEN: "Glass breakage strikes bystander",
RequiredComponentTags: []string{"structural_part"},
RequiredEnergyTags: []string{"gravitational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M005", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 80,
ScenarioDE: "Grosse Glasscheibe zerbricht beim Transport oder bei der Montage und trifft umstehende Personen.",
TriggerDE: "Thermische Spannungen, mechanische Beschaedigung, fehlerhafter Saugnapp, Windlast",
HarmDE: "Tiefe Schnittwunden, Amputationsgefahr, toedliche Verletzung bei grossen Scheiben",
AffectedDE: "Transportpersonal, Monteure, Passanten",
ZoneDE: "Transportweg, Montageort, Glaslager",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP782", NameDE: "Quetschen durch Kippgeraet fuer Glasscheiben", NameEN: "Crushing by glass tilting device",
RequiredComponentTags: []string{"crush_point", "moving_part"},
RequiredEnergyTags: []string{"gravitational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M004", "M082"},
SuggestedEvidenceIDs: []string{"E08", "E09", "E20"},
Priority: 85,
ScenarioDE: "Kippgeraet zum Aufrichten schwerer Glasscheiben quetscht Person zwischen Scheibe und Gestell.",
TriggerDE: "Person steht im Kippbereich, Hydraulik versagt, Scheibe rutscht",
HarmDE: "Schwere Quetschverletzung, toedliche Verletzung durch Gewicht der Scheibe (bis 500 kg)",
AffectedDE: "Glasverarbeiter, Kranfuehrer, Hilfskraefte",
ZoneDE: "Kippbereich, Abstellflaeche, Saugeraufnahme",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP783", NameDE: "Schnittverletzung an scharfer Glaskante", NameEN: "Cut injury from sharp glass edge",
RequiredComponentTags: []string{"cutting_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M005", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 70,
ScenarioDE: "Ungefaste Glaskanten schneiden bei der Handhabung in Haende und Finger.",
TriggerDE: "Handling ohne Schnittschutzhandschuhe, unerwartetes Gleiten der Scheibe",
HarmDE: "Tiefe Schnittwunden, Sehnendurchtrennung, starke Blutung",
AffectedDE: "Glasverarbeiter, Montagepersonal",
ZoneDE: "Schnittkante, Lagerfaecher, Transportgestelle",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP784", NameDE: "Verbrennungsgefahr an Glas-Biegeofen", NameEN: "Burn hazard at 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: "Heisses Glas (600-700 C) im Biegeofen verursacht bei Beruehrung schwere Kontaktverbrennungen.",
TriggerDE: "Beruehrung bei Entnahme, durchgeschmolzener Handschuh, Ofentuer offen",
HarmDE: "Verbrennungen 3. Grades, Haut haftet am Glas, grossflaechige Brandwunden",
AffectedDE: "Ofenbediener, Glasbieger",
ZoneDE: "Biegeofen-Innenraum, Entnahmebereich, Kuehlstrecke",
DefaultSeverity: 4, DefaultExposure: 3,
},
}
}
@@ -87,7 +87,7 @@ func NewPatternEngine() *PatternEngine {
patterns = append(patterns, GetSpecificMachinePatterns()...) // HP730-HP784 pressure/wind/solar/battery/escalator/pool/playground/fitness/laundry/glass
patterns = append(patterns, GetCyberExtendedPatterns()...) // HP800-HP864 software faults/cyber/AI-ML/network/HMI
patterns = append(patterns, GetWorkshopPatterns()...) // HP600-HP664 cross-machine workshop
patterns = append(patterns, GetMaintenanceExtPatterns()...) // HP700-HP764 maintenance lifecycle
patterns = append(patterns, GetMaintenanceExtPatterns()...) // HP700-HP729,HP900-HP934 maintenance lifecycle
return &PatternEngine{
resolver: NewTagResolver(),
patterns: patterns,