package iace

// GetRobotCellPatterns returns hazard patterns for industrial robot cells
// (non-collaborative) with safety fence, conveyors, and CNC machine tools.
// Based on typical ISO 10218-2 risk assessment scope for integrated robot systems.
//
// FORMULIERUNGSREGEL: Gefährdung und Szenario NEUTRAL formulieren — keine
// Lebensphasen im Text. Lebensphasen stehen in ApplicableLifecycles.
// HP1600-HP1649
func GetRobotCellPatterns() []HazardPattern {
	return []HazardPattern{
		// ================================================================
		// Roboterarm — Quetschen/Einklemmen von Personen
		// ================================================================
		{
			ID: "HP1600", NameDE: "Einklemmen zwischen Roboterarm und Anlage", NameEN: "Crushing between robot arm and fixed structure",
			RequiredComponentTags: []string{"moving_part"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M487", "M488", "M494", "M054", "M061"},
			Priority: 99, MachineTypes: []string{"robotics_cobot", "automotive", "metalworking", "general_industry"},
			ApplicableLifecycles: []string{"normal_operation", "setup", "teach_mode", "cleaning", "maintenance", "fault_clearing", "changeover"},
			ScenarioDE:  "Person befindet sich im Bewegungsbereich des Roboterarms und wird zwischen Roboterarm und feststehenden Anlagenteilen eingeklemmt.",
			TriggerDE:   "Roboterarm bewegt sich waehrend Person im Gefahrenbereich steht.",
			HarmDE:      "Quetschungen, Knochenbrueche, innere Verletzungen durch Einklemmen von Koerperteilen.",
			AffectedDE:  "Bedienpersonal, Einrichter, Wartungspersonal, Reinigungspersonal",
			ZoneDE:      "Roboterarm, feststehende Anlagenteile innerhalb der Roboterzelle",
			ISO12100Section: "6.2.3",
			DefaultSeverity: 4, DefaultExposure: 3,
		},
		{
			ID: "HP1602", NameDE: "Durchgreifen durch Schutzzaun zum Roboter", NameEN: "Reaching through safety fence to robot",
			RequiredComponentTags: []string{"moving_part", "guard"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M495", "M486", "M002", "M061"},
			Priority: 98,
			ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"},
			ScenarioDE:  "Person greift ueber oder durch den Schutzzaun und erreicht den Bewegungsbereich des Roboterarms.",
			TriggerDE:   "Unzureichender Sicherheitsabstand zwischen Schutzzaun-Oberkante und Roboter-Schwenkbereich.",
			HarmDE:      "Quetschung von Hand oder Arm zwischen Roboterarm und feststehenden Teilen.",
			AffectedDE:  "Bedienpersonal, Reinigungspersonal",
			ZoneDE:      "Schutzzaun-Oberkante, Roboterarm",
			ClarificationQuestionsDE: []string{"Ist Dynamic Safety Configuration (DCS) am Roboter konfiguriert und durch den Hersteller validiert?", "Wurde der Reach-Over-Sicherheitsabstand nach EN ISO 13857 anlagenbezogen berechnet?"},
			ISO12100Section: "6.3.5.2",
			DefaultSeverity: 3, DefaultExposure: 2,
		},
		{
			ID: "HP1603", NameDE: "Eingeschlossen in Roboterzelle", NameEN: "Trapped inside robot cell",
			RequiredComponentTags: []string{"moving_part", "guard"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M489", "M490", "M488", "M487"},
			Priority: 99,
			ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing", "changeover"},
			ScenarioDE:  "Person befindet sich in der Roboterzelle, Schutztuer wird geschlossen und Roboter startet. Person kann den Gefahrenbereich nicht rechtzeitig verlassen.",
			TriggerDE:   "Schutztuer schliesst waehrend Person im Innenraum. Wiederanlauf des Roboters ohne Quittierung.",
			HarmDE:      "Quetschungen, Stoss durch anlaufenden Roboter.",
			AffectedDE:  "Wartungspersonal, Einrichter, Reinigungspersonal",
			ZoneDE:      "Inneres der Roboterzelle",
			ISO12100Section: "6.2.3",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP1604", NameDE: "Roboterarm durchschlaegt Schutzzaun", NameEN: "Robot arm penetrates safety fence",
			RequiredComponentTags: []string{"moving_part", "guard"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M494", "M501", "M061"},
			Priority: 98,
			ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "changeover", "fault_clearing"},
			ScenarioDE:  "Roboterarm ueberschreitet Bewegungsbereich und trifft Schutzzaun. Person ausserhalb wird von Zaunteilen oder dem Roboterarm getroffen.",
			TriggerDE:   "Fehler in der Bahnplanung oder Ausfall der Achsbegrenzung.",
			HarmDE:      "Teile des Schutzzauns werden herausgeschleudert, Person ausserhalb wird getroffen.",
			AffectedDE:  "Bedienpersonal in der Naehe des Schutzzauns",
			ZoneDE:      "Schutzzaun, Bereich um die Roboterzelle",
			ClarificationQuestionsDE: []string{"Ist Dynamic Safety Configuration (DCS) am Roboter konfiguriert und durch den Hersteller validiert?", "Ist nach EN ISO 13857 die Tabelle 1 (Niedrigrisiko) anwendbar oder muss Tabelle 2 angewandt werden?"},
			ISO12100Section: "6.3.5.2",
			DefaultSeverity: 3, DefaultExposure: 2,
		},
		{
			ID: "HP1605", NameDE: "Stoss durch Werkzeug/Greifer im Einrichtbetrieb", NameEN: "Impact by tool/gripper during setup",
			RequiredComponentTags: []string{"moving_part", "clamping_part"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M491", "M492", "M493", "M054"},
			Priority: 98, MachineTypes: []string{"robotics_cobot", "automotive", "metalworking", "general_industry"},
			ApplicableLifecycles: []string{"teach_mode", "setup", "changeover", "fault_clearing"},
			ScenarioDE:  "Person steht im Bewegungsbereich des Roboterarms und wird von bewegtem Werkzeug oder Greifer getroffen. Geschwindigkeitsreduzierung im Einrichtbetrieb reicht nicht aus.",
			TriggerDE:   "Roboter bewegt Werkzeug/Greifer mit unerwartet hoher Geschwindigkeit oder in unerwartete Richtung.",
			HarmDE:      "Prellungen, Quetschungen durch Kontakt mit Werkzeug/Greifer am Roboterarm.",
			AffectedDE:  "Einrichter, Programmierer, Wartungspersonal",
			ZoneDE:      "Inneres der Roboterzelle, Schwenkbereich Werkzeug/Greifer",
			ISO12100Section: "6.3.5.4",
			DefaultSeverity: 3, DefaultExposure: 3,
		},
		// ================================================================
		// Greifer / Werkstueck
		// ================================================================
		{
			ID: "HP1610", NameDE: "Quetschen im Greiferbereich", NameEN: "Crushing in gripper area",
			RequiredComponentTags: []string{"clamping_part"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M503", "M487", "M054", "M061"},
			Priority: 99, MachineTypes: []string{"robotics_cobot", "automotive", "metalworking", "general_industry"},
			ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "changeover", "fault_clearing"},
			ScenarioDE:  "Person greift in den Bereich des Greifers. Hand wird zwischen Greifbacken und Werkstueck eingeklemmt.",
			TriggerDE:   "Greiferbacken schliessen waehrend Koerperteil im Greifbereich ist.",
			HarmDE:      "Quetschung oder Amputation von Fingern durch Greifkraft.",
			AffectedDE:  "Bedienpersonal, Einrichter",
			ZoneDE:      "Greifer des Roboterarms, Werkstueckaufnahme",
			ISO12100Section: "6.3.5.4",
			DefaultSeverity: 3, DefaultExposure: 3,
		},
		{
			ID: "HP1611", NameDE: "Werkstueck faellt aus Greifer herab", NameEN: "Workpiece falls from gripper",
			RequiredComponentTags: []string{"clamping_part"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M502", "M007", "M141"},
			Priority: 98,
			ApplicableLifecycles: []string{"normal_operation", "setup", "changeover"},
			ScenarioDE:  "Greifer verliert das Werkstueck waehrend des Transports. Werkstueck faellt herab und trifft Person unterhalb des Roboterarms.",
			TriggerDE:   "Werkstueck faellt aus Greifer und trifft Person unterhalb des Roboterarms.",
			HarmDE:      "Prellungen, Knochenbrueche abhaengig von Werkstueckgewicht und Fallhoehe.",
			AffectedDE:  "Bedienpersonal, Wartungspersonal",
			ZoneDE:      "Bereich unterhalb des Greifer/Roboterarms",
			ClarificationQuestionsDE: []string{"Welche Druckhalte-Logik ist am Greifer realisiert? (Empfehlung: 5-3 Wegeventil mit Sperrmittelstellung, auch bei Not-Halt)", "Ist nachgewiesen, dass das Werkstueck bei Spannungs- oder Druckluftausfall sicher gehalten wird (Fail-Safe)?"},
			ISO12100Section: "6.2.6",
			DefaultSeverity: 3, DefaultExposure: 2,
		},
		{
			ID: "HP1612", NameDE: "Werkstueck durchschlaegt Einhausung", NameEN: "Workpiece penetrates enclosure",
			RequiredComponentTags: []string{"clamping_part", "guard"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M501", "M502", "M061"},
			Priority: 98,
			ApplicableLifecycles: []string{"normal_operation"},
			ScenarioDE:  "Greifer versagt und Werkstueck wird in Richtung Schutzzaun geschleudert. Person ausserhalb der Zelle wird von durchschlagendem Werkstueck getroffen.",
			TriggerDE:   "Werkstueck wird durch Roboterbewegung weggeschleudert und durchschlaegt die Schutzeinrichtung.",
			HarmDE:      "Person ausserhalb der Zelle wird von weggeschleudertem Werkstueck getroffen.",
			AffectedDE:  "Bedienpersonal in der Naehe der Roboterzelle",
			ZoneDE:      "Schutzzaun, Bereich um die Roboterzelle",
			ClarificationQuestionsDE: []string{"Ist die Lastbemessung der Einhausung auf max. Werkstueckgewicht * max. Roboter-TCP-Geschwindigkeit dokumentiert?", "Sind max. Werkstueckgewicht und Roboter-TCP-Geschwindigkeit in der Betriebsanleitung explizit angegeben?"},
			ISO12100Section: "6.2.6",
			DefaultSeverity: 3, DefaultExposure: 2,
		},
		// ================================================================
		// Foerderbaender / Werkstueckzu-/-auslauf
		// ================================================================
		{
			ID: "HP1620", NameDE: "Quetschen an Foerderband-Einlauf", NameEN: "Crushing at conveyor infeed",
			RequiredComponentTags: []string{"entanglement_risk"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M498", "M499", "M002", "M061"},
			Priority: 98,
			ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"},
			ScenarioDE:  "Person greift an Foerderband und wird zwischen beweglichen und feststehenden Teilen eingeklemmt.",
			TriggerDE:   "Hand oder Finger geraten zwischen Band und Umlenkrolle oder zwischen Werkstueck und Tunnelrahmen.",
			HarmDE:      "Quetschung von Fingern, Einzug von Kleidung oder Haaren.",
			AffectedDE:  "Bedienpersonal, Reinigungspersonal",
			ZoneDE:      "Foerderbaender, Bandein- und -auslauf",
			ClarificationQuestionsDE: []string{"Ist die Bandgeschwindigkeit im manuell zugaenglichen Bereich dokumentiert? (Empfehlung: <= 100 mm/s)", "Sind Quetsch- und Einzugsstellen am Band konstruktiv ausgeschlossen oder durch Lichtschranke gesichert?"},
			ISO12100Section: "6.3.5.4",
			DefaultSeverity: 2, DefaultExposure: 3,
		},
		{
			ID: "HP1621", NameDE: "Durchgreifen durch Foerderband-Oeffnung in Schutzzaun", NameEN: "Reaching through conveyor opening in fence",
			RequiredComponentTags: []string{"entanglement_risk", "guard"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M496", "M497", "M498", "M002"},
			Priority: 98,
			ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "fault_clearing"},
			ScenarioDE:  "Person greift durch die Oeffnung im Schutzzaun fuer die Foerderbaender in den Gefahrenbereich des Roboters.",
			TriggerDE:   "Oeffnung ist zu gross oder Sicherheitsabstand zum Roboter-Schwenkbereich ist zu gering.",
			HarmDE:      "Quetschung von Hand oder Arm durch Roboterarm oder bewegte Maschinenteile.",
			AffectedDE:  "Bedienpersonal",
			ZoneDE:      "Oeffnung der Foerderbaender im Schutzzaun, Roboterbereich dahinter",
			ISO12100Section: "6.3.5.4",
			DefaultSeverity: 3, DefaultExposure: 3,
		},
		{
			ID: "HP1622", NameDE: "Herunterfallen von Werkstueck am Bandende", NameEN: "Workpiece falling off conveyor end",
			RequiredComponentTags: []string{"entanglement_risk"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M500", "M008"},
			Priority: 97,
			ApplicableLifecycles: []string{"normal_operation", "setup"},
			ScenarioDE:  "Werkstueck faehrt ueber das Ende des Transportbandes hinaus, faellt herab und trifft Person am Be-/Entladeplatz.",
			TriggerDE:   "Mechanischer Anschlag fehlt oder ist beschaedigt.",
			HarmDE:      "Prellungen, Quetschung von Fuessen durch herabfallendes Werkstueck.",
			AffectedDE:  "Bedienpersonal am Be-/Entladeplatz",
			ZoneDE:      "Ende der Transportbaender, Be-/Entladeplatz",
			ClarificationQuestionsDE: []string{"Sind mechanische Anschlaege an allen Bandenden vorhanden und auf maximale Werkstueckmasse + Bandgeschwindigkeit dimensioniert?"},
			ISO12100Section: "6.2.6",
			DefaultSeverity: 2, DefaultExposure: 3,
		},
		// ================================================================
		// Scharfe Kanten / Allgemein
		// ================================================================
		{
			ID: "HP1625", NameDE: "Schneiden an scharfen Kanten der Einhausung", NameEN: "Cutting on sharp enclosure edges",
			RequiredComponentTags: []string{"guard"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M003", "M004", "M027"},
			Priority: 97,
			ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"},
			ScenarioDE:  "Person schneidet sich an nicht entgrateten oder scharfkantigen Blechen der Einhausung oder Verkleidung.",
			TriggerDE:   "Zugaengliche Kanten sind nicht gerundet oder gebrochen.",
			HarmDE:      "Schnittwunden an Haenden und Armen.",
			AffectedDE:  "Bedienpersonal, Wartungspersonal, Reinigungspersonal",
			ZoneDE:      "Zugaengliche Kanten der Maschine und Einhausung",
			ISO12100Section: "6.2.2.2",
			DefaultSeverity: 2, DefaultExposure: 3,
		},
		// ================================================================
		// Pneumatik / Druckluft
		// ================================================================
		{
			ID: "HP1630", NameDE: "Pneumatikschlauch springt unter Druck ab", NameEN: "Pressurized hose comes loose",
			RequiredComponentTags: []string{"pinch_point"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M483", "M484", "M485"},
			Priority: 97,
			ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance", "fault_clearing"},
			ScenarioDE:  "Pneumatikschlauch der Automation springt unter Druck ab und trifft eine Person (Peitscheneffekt).",
			TriggerDE:   "Befestigung loest sich, Verschraubung wird undicht, Materialermuedung des Schlauchs.",
			HarmDE:      "Prellungen, Augenverletzungen durch abspringenden Schlauch.",
			AffectedDE:  "Bedienpersonal, Wartungspersonal",
			ZoneDE:      "Pneumatikschlaeuche der Automation",
			ISO12100Section: "6.3.5.4",
			DefaultSeverity: 2, DefaultExposure: 2,
		},
		{
			ID: "HP1631", NameDE: "Restdruck in Pneumatik nach Abschaltung", NameEN: "Residual pressure in pneumatics after shutdown",
			RequiredComponentTags: []string{"pinch_point"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M485", "M483", "M141"},
			Priority: 97,
			ApplicableLifecycles: []string{"maintenance", "fault_clearing", "changeover"},
			ScenarioDE:  "Person loest druckbeaufschlagte Pneumatik-Komponenten die nach Abschaltung noch unter Druck stehen. Teile fliegen unkontrolliert weg und treffen die Person.",
			TriggerDE:   "Fehlende Druckentlastung. Gesperrte Rueckschlagventile halten Druck.",
			HarmDE:      "Person wird von wegfliegenden Teilen oder unkontrolliert loesenden Verbindungen getroffen. Prellungen, Schnittverletzungen.",
			AffectedDE:  "Wartungspersonal, Einrichter",
			ZoneDE:      "Pneumatikschlaeuche und -komponenten",
			ISO12100Section: "6.2.10",
			DefaultSeverity: 2, DefaultExposure: 2,
		},
		// HP1632 (Bersten) ist semantisch DISTINKT zu HP1630 (Abspringen).
		// Bersten = Material-/Druckversagen der Komponente, Mediumaustritt.
		// Abspringen = Schlauchverbindung loest sich, Peitscheneffekt.
		// Beide Patterns feuern parallel und erzeugen zwei eigene Hazards.
		{
			ID: "HP1632", NameDE: "Bersten druckbeaufschlagter Pneumatik-Komponente", NameEN: "Pressurized pneumatic component bursting",
			RequiredComponentTags: []string{"pinch_point"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M483", "M484", "M485", "M141"},
			Priority: 97,
			ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance", "fault_clearing"},
			ScenarioDE:  "Druckbeaufschlagte Teile des Pneumatiksystems (Leitungen, Dichtungen, Verbindungsstuecke, Befestigungen) bersten unter Betriebsdruck und verletzen eine Person.",
			TriggerDE:   "Komponenten sind nicht auf den Anlagen-Nenndruck dimensioniert, Materialermuedung, Ueberdruckereignis.",
			HarmDE:      "Augen-, Haut- und Stossverletzungen durch berstendes Material und unter Druck austretendes Medium.",
			AffectedDE:  "Bedienpersonal, Wartungspersonal",
			ZoneDE:      "Berstgefaehrdete Druckwandungen Pneumatik (Leitungswand, Dichtung, Verschraubung)",
			ClarificationQuestionsDE: []string{
				"Sind alle Pneumatik-Komponenten (Leitungen, Dichtungen, Verbindungen) auf den Anlagen-Nenndruck nach EN ISO 4414 ausgelegt?",
				"Liegen Berstdrucknachweise der Schlauchhersteller fuer den eingesetzten Druckbereich vor?",
			},
			ISO12100Section: "6.2.10",
			DefaultSeverity: 2, DefaultExposure: 2,
		},
		// ================================================================
		// Kuehlschmierstoff (KSS)
		// ================================================================
		{
			ID: "HP1606", NameDE: "Quetschen/Scheren durch Greifer im Einrichtbetrieb", NameEN: "Crushing/shearing by gripper during setup",
			RequiredComponentTags: []string{"clamping_part"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M491", "M492", "M493", "M054"},
			Priority: 98, MachineTypes: []string{"robotics_cobot", "automotive", "metalworking", "general_industry"},
			ApplicableLifecycles: []string{"teach_mode", "setup", "changeover", "fault_clearing"},
			ScenarioDE:  "Einrichter steht im Schwenkbereich des Roboterarms und wird von bewegtem Greifer oder daran befestigtem Werkzeug verletzt.",
			TriggerDE:   "Reduzierte Geschwindigkeit im Einrichtbetrieb reicht nicht aus oder wird nicht aktiviert.",
			HarmDE:      "Quetschung, Schnittverletzung durch Greiferkanten oder Werkzeug am Roboter.",
			AffectedDE:  "Einrichter, Programmierer",
			ZoneDE:      "Inneres der Roboterzelle, Greifer/Werkzeug am Roboterarm",
			ISO12100Section: "6.3.5.4",
			DefaultSeverity: 3, DefaultExposure: 3,
		},
		{
			ID: "HP1634", NameDE: "KSS-Pumpe spritzt bei geoeffneter Schutztuer", NameEN: "Coolant pump sprays with open guard door",
			RequiredComponentTags: []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M061"},
			Priority: 96, MachineTypes: []string{"cnc", "metalworking", "automotive"},
			ApplicableLifecycles: []string{"normal_operation", "cleaning", "maintenance", "fault_clearing"},
			ScenarioDE:  "Niederdruck-Pumpe fuer Bettspuelung laeuft an waehrend Schutztuer geoeffnet ist. Person bekommt KSS-Spritzer ins Auge oder Gesicht.",
			TriggerDE:   "Pumpe startet automatisch, kein Verriegelungssignal von Schutztuer zur KSS-Pumpe.",
			HarmDE:      "Augenverletzung durch KSS-Spritzer, Hautreizung.",
			AffectedDE:  "Bedienpersonal, Wartungspersonal",
			ZoneDE:      "Bearbeitungszelle, Austrittsduesen der Bettspuelung",
			DefaultSeverity: 1, DefaultExposure: 3,
		},
		{
			ID: "HP1633", NameDE: "KSS-Versorgungsschlauch platzt oder reisst ab", NameEN: "Coolant supply hose bursts or tears off",
			RequiredComponentTags: []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M484", "M483"},
			Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"},
			ApplicableLifecycles: []string{"normal_operation", "maintenance", "fault_clearing"},
			ScenarioDE:  "KSS-Versorgungsschlauch reisst ab oder platzt. Person in der Naehe wird von abspringendem Schlauch oder KSS-Strahl unter Druck getroffen.",
			TriggerDE:   "Materialermuedung, mechanische Beschaedigung, fehlerhafte Befestigung des Schlauchs.",
			HarmDE:      "Person wird von KSS-Strahl getroffen. Einstichverletzung, Hautreizung, Rutschgefahr.",
			AffectedDE:  "Bedienpersonal, Wartungspersonal",
			ZoneDE:      "Druckschlaeuche des Kuehlschmierstoffsystems, Verbindungsstellen",
			ISO12100Section: "6.3.5.4",
			DefaultSeverity: 2, DefaultExposure: 2,
		},
		{
			ID: "HP1635", NameDE: "Ausrutschen durch KSS-Leckage", NameEN: "Slipping due to coolant leakage",
			RequiredComponentTags: []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M538", "M484", "M141"},
			Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"},
			ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"},
			ScenarioDE:  "Kuehlschmierstoff tritt aus und bildet rutschigen Belag auf dem Boden. Person rutscht aus und stuerzt.",
			TriggerDE:   "Leckage an Schlauchverbindung, Dichtungsversagen.",
			HarmDE:      "Ausrutschen und Sturz, Prellungen, Knochenbrueche.",
			AffectedDE:  "Bedienpersonal, Wartungspersonal",
			ZoneDE:      "Boden um Bearbeitungszentrum und Kuehlschmierstoffanlage",
			ISO12100Section: "6.3.5.6",
			DefaultSeverity: 2, DefaultExposure: 3,
		},
		{
			ID: "HP1636", NameDE: "Hautkontakt mit Kuehlschmierstoff", NameEN: "Skin contact with coolant",
			RequiredComponentTags: []string{},
			GeneratedHazardCats:   []string{"material_environmental"},
			SuggestedMeasureIDs:   []string{"M141"},
			Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"},
			ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"},
			ScenarioDE:  "Person kommt bei Arbeiten am Bearbeitungszentrum oder der Roboterzelle mit Kuehlschmierstoff in Beruehrung.",
			TriggerDE:   "Hautkontakt beim Reinigen, Werkzeugwechsel oder Beseitigung von Stoerungen.",
			HarmDE:      "Hautirritationen, allergische Reaktionen, bei laengerer Exposition Ekzeme.",
			AffectedDE:  "Bedienpersonal, Wartungspersonal",
			ZoneDE:      "Bearbeitungszentrum, Roboterzelle im Bereich der Beladetuer",
			DefaultSeverity: 1, DefaultExposure: 3,
		},
		{
			ID: "HP1637", NameDE: "Einatmen von KSS-Aerosolen", NameEN: "Inhalation of coolant aerosols",
			RequiredComponentTags: []string{},
			GeneratedHazardCats:   []string{"material_environmental"},
			SuggestedMeasureIDs:   []string{"M405", "M418", "M526", "M408", "M141"},
			Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"},
			ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance"},
			ScenarioDE:  "Person oeffnet Schutztuer der Bearbeitungszelle und atmet freigesetzte KSS-Aerosole ein.",
			TriggerDE:   "Oeffnen der Schutztuer nach Bearbeitungsvorgang, unzureichende Absaugung.",
			HarmDE:      "Person atmet KSS-Aerosole ein. Atembeschwerden, Reizung der Atemwege, bei chronischer Exposition Atemwegserkrankungen.",
			AffectedDE:  "Bedienpersonal",
			ZoneDE:      "Bearbeitungszelle, Bereich vor der Schutztuer",
			ClarificationQuestionsDE: []string{"Wurde die KSS-Aerosolkonzentration nach Bearbeitungsende messtechnisch ermittelt und mit dem Arbeitsplatzgrenzwert verglichen?", "Erfolgt die Bearbeitung trocken, mit Minimalmengenschmierung oder mit Ueberflutungskuehlung? Die Massnahmen-Auswahl haengt davon ab."},
			DefaultSeverity: 1, DefaultExposure: 3,
		},
		// ================================================================
		// Elektrisch (Roboterzelle-spezifisch)
		// ================================================================
		{
			ID: "HP1640", NameDE: "Direktes Beruehren spannungsfuehrender Teile", NameEN: "Direct contact with live parts",
			RequiredComponentTags: []string{},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"electrical_hazard"},
			SuggestedMeasureIDs:   []string{"M481", "M482", "M265", "M139", "M475"},
			Priority: 99,
			ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance", "fault_clearing"},
			ScenarioDE:  "Person beruehrt spannungsfuehrende Teile der Anlage die nicht ausreichend isoliert oder abgedeckt sind.",
			TriggerDE:   "Beschaedigte Isolation, fehlende Abdeckung, ungesicherter Schaltschrank.",
			HarmDE:      "Person erleidet elektrischen Schlag. Herzkammerflimmern, Verbrennungen, bei Hochspannung Todesfolge.",
			AffectedDE:  "Wartungspersonal, Einrichter",
			ZoneDE:      "Zugaengliche Kabel, Klemmen, Schaltschrank",
			ClarificationQuestionsDE: []string{"Liegt ein Pruefprotokoll nach EN 60204-1 fuer die Niederspannungs-Isolation vor?", "Sind die Schutzart IP2X bzw. IPXXB an allen niederspannungsfuehrenden Gehaeusen messtechnisch nachgewiesen?"},
			ISO12100Section: "6.2.9",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP1641", NameDE: "Gefaehrliche Beruehrungsspannung durch Schutzleiterfehler", NameEN: "Dangerous touch voltage due to PE failure",
			RequiredComponentTags: []string{},
			RequiredEnergyTags:    []string{"electrical_energy"},
			GeneratedHazardCats:   []string{"electrical_hazard"},
			SuggestedMeasureIDs:   []string{"M511", "M512", "M514", "M515", "M475"},
			Priority: 98,
			ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"},
			ScenarioDE:  "Schutzleiter ist unterbrochen. Person beruehrt das Maschinengehaeuse und erleidet elektrischen Schlag durch gefaehrliche Beruehrungsspannung.",
			TriggerDE:   "Schutzleiterunterbrechung durch mechanische Beschaedigung oder fehlerhafte Installation.",
			HarmDE:      "Elektrischer Schlag bei Beruehren des Maschinengehaeuses oder leitfaehiger Oberflaechen.",
			AffectedDE:  "Bedienpersonal, Wartungspersonal",
			ZoneDE:      "Beruehrbare leitfaehige Oberflaechen der Anlage",
			ClarificationQuestionsDE: []string{"Wurde der Schutzleiterwiderstand an allen leitfaehigen Oberflaechen gemessen und protokolliert?", "Liegen die Ableitstroeme unter 10 mA, oder ist einer der Massnahmen aus EN 60204-1 Ziff. 8.2.6 umgesetzt?"},
			ISO12100Section: "6.2.9",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP1642", NameDE: "Kabelbrand durch Ueberlast oder Kurzschluss", NameEN: "Cable fire from overload or short circuit",
			RequiredComponentTags: []string{},
			RequiredEnergyTags:    []string{"electrical_energy"},
			GeneratedHazardCats:   []string{"electrical_hazard"},
			SuggestedMeasureIDs:   []string{"M009"},
			Priority: 98,
			ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance"},
			ScenarioDE:  "Kabel ueberhitzt und entzuendet sich durch Ueberlast oder fehlenden Ueberstromschutz. Person wird durch Brand oder toxische Gase verletzt.",
			TriggerDE:   "Dauerhafter Betrieb nahe der Belastungsgrenze, falsch dimensionierte Sicherung.",
			HarmDE:      "Brand, Rauchentwicklung, Verletzung durch Feuer oder toxische Gase.",
			AffectedDE:  "Alle Personen im Bereich der Anlage",
			ZoneDE:      "Kabel und Leitungen der Anlage",
			DefaultSeverity: 3, DefaultExposure: 2,
		},
	}
}
