package iace

// GetPressHazardPatterns returns patterns specific to hydraulic/mechanical presses,
// forming machines, and related equipment (HP045-HP058).
func GetPressHazardPatterns() []HazardPattern {
	return []HazardPattern{
		// ================================================================
		// Press/Forming Machine Patterns (HP045-HP058)
		// ================================================================
		{
			ID: "HP045", NameDE: "Stoesselabsturz durch Druckverlust", NameEN: "Ram drop due to pressure loss",
			RequiredComponentTags: []string{"hydraulic_part", "gravity_risk", "high_force"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard", "pneumatic_hydraulic"},
			SuggestedMeasureIDs:   []string{"M001", "M051", "M054", "M131"},
			SuggestedEvidenceIDs:  []string{"E01", "E08", "E20"},
			Priority: 98,
			RequiresExpertCalculation: true,
			ExpertHintDE: "SIL/PL-Nachweis fuer Stoesselabsturzsicherung erforderlich.",
			ExpertHintEN: "SIL/PL verification for ram drop protection required.",
			ScenarioDE:      "Stoessel faellt unkontrolliert ab bei Druckverlust im Hydrauliksystem oder Versagen der mechanischen Haltevorrichtung.",
			TriggerDE:       "Leitungsbruch, Dichtungsversagen oder Defekt des Rueckschlagventils im Hydraulikkreis.",
			HarmDE:          "Toedliche Quetschverletzung, Amputation von Gliedmassen.",
			AffectedDE:      "Einrichter, Bedienpersonal im Werkzeugeinbauraum.",
			ZoneDE:          "Werkzeugeinbauraum unterhalb des Stoessels.",
			DefaultSeverity: 5, DefaultExposure: 2, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP046", NameDE: "Quetschen im Werkzeugeinbauraum", NameEN: "Crushing in die space",
			RequiredComponentTags: []string{"crush_point", "high_force"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M001", "M005", "M051", "M106"},
			SuggestedEvidenceIDs:  []string{"E01", "E08"},
			Priority: 97,
			ScenarioDE:      "Einrichter arbeitet im Werkzeugeinbauraum bei nicht gesichertem Stoessel oder laufendem Automatikbetrieb.",
			TriggerDE:       "Unbeabsichtigter Hub waehrend Einrichtarbeiten, Manipulation der Schutztuer-Verriegelung.",
			HarmDE:          "Toedliche Quetschverletzung, Amputation der oberen Extremitaeten.",
			AffectedDE:      "Einrichter, Werkzeugbauer, Instandhaltungspersonal.",
			ZoneDE:          "Werkzeugeinbauraum zwischen Ober- und Unterwerkzeug.",
			DefaultSeverity: 5, DefaultExposure: 3, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP047", NameDE: "Oelnebelexposition Atemwege", NameEN: "Oil mist inhalation exposure",
			RequiredComponentTags: []string{"hydraulic_part", "oil_mist_risk"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"material_environmental"},
			SuggestedMeasureIDs:   []string{"M124", "M141"},
			SuggestedEvidenceIDs:  []string{"E20"},
			Priority: 80,
			ScenarioDE:      "Oelnebel entsteht beim Pressen durch Leckagen oder Verdampfung des Hydraulikoels und wird vom Bediener eingeatmet.",
			TriggerDE:       "Leckage an Hochdruckleitungen, ueberhitztes Hydraulikoel, fehlende oder defekte Absaugung.",
			HarmDE:          "Atemwegsreizung, chronische Lungenerkrankung bei Langzeitexposition.",
			AffectedDE:      "Bedienpersonal, Personen im Nahbereich der Presse.",
			ZoneDE:          "Arbeitsbereich rund um die Presse, insbesondere Bedienerseite.",
			DefaultSeverity: 3, DefaultExposure: 4, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP048", NameDE: "Verbrennung durch heisse Werkstuecke", NameEN: "Burns from hot workpieces",
			RequiredComponentTags: []string{"moving_part"},
			RequiredEnergyTags:    []string{"thermal"},
			GeneratedHazardCats:   []string{"thermal_hazard"},
			SuggestedMeasureIDs:   []string{"M054", "M141"},
			SuggestedEvidenceIDs:  []string{"E08"},
			Priority: 85,
			ScenarioDE:      "Heisse Werkstuecke oder Werkzeuge werden beim Warmumformen manuell entnommen oder fallen aus der Matrize.",
			TriggerDE:       "Manuelles Handling ohne Hitzeschutz, Ausfall der automatischen Entnahme.",
			HarmDE:          "Verbrennungen zweiten oder dritten Grades an Haenden und Unterarmen.",
			AffectedDE:      "Bedienpersonal, Einrichter bei Werkzeugwechsel.",
			ZoneDE:          "Entnahmebereich, Werkzeugeinbauraum, Ablagetisch.",
			DefaultSeverity: 4, DefaultExposure: 3, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP049", NameDE: "Schwebende Last (Hubwerk/Aufzug)", NameEN: "Suspended load (hoist/elevator)",
			RequiredComponentTags: []string{"gravity_risk", "person_under_load"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M001", "M005", "M051"},
			SuggestedEvidenceIDs:  []string{"E01", "E08"},
			Priority: 95,
			ScenarioDE:      "Schweres Werkzeug oder Pressenoberteil haengt am Kran/Hubwerk und kann bei Seilriss oder Bremsenversagen herabfallen.",
			TriggerDE:       "Seilriss, Versagen der Kranbremse, ueberladung des Hubwerks.",
			HarmDE:          "Toedliche Verletzung durch herabfallende Last, Knochenbrueche.",
			AffectedDE:      "Personen im Gefahrenbereich unter der schwebenden Last.",
			ZoneDE:          "Bereich unterhalb des Hubwerks, Werkzeugwechselzone.",
			DefaultSeverity: 5, DefaultExposure: 2, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP050", NameDE: "Einziehen/Scheren Transfersystem", NameEN: "Draw-in/shearing at transfer system",
			RequiredComponentTags: []string{"moving_part", "shear_risk"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M001", "M005", "M051"},
			SuggestedEvidenceIDs:  []string{"E01", "E08"},
			Priority: 90,
			ScenarioDE:      "Transferbalken oder Greiferleisten bewegen sich im Automatikbetrieb und erfassen Koerperteile des Bedieners.",
			TriggerDE:       "Eingriff in den Transferbereich bei laufendem Betrieb, Defekt der Zugangsabsicherung.",
			HarmDE:          "Schnittverletzungen, Amputation von Fingern, Quetschungen.",
			AffectedDE:      "Bedienpersonal, Einrichter bei Stoerungsbeseitigung.",
			ZoneDE:          "Transferbereich zwischen den Pressenstationen.",
			DefaultSeverity: 4, DefaultExposure: 3, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP051", NameDE: "Sturzgefahr Auswurfbereich", NameEN: "Fall hazard at ejection area",
			RequiredComponentTags: []string{"gravity_risk"},
			RequiredEnergyTags:    []string{},
			ExcludedComponentTags: []string{"safety_device"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M051", "M141"},
			SuggestedEvidenceIDs:  []string{"E20"},
			Priority: 75,
			ScenarioDE:      "Bediener stolpert oder stuerzt im Auswurfbereich ueber herumliegende Teile oder oelverschmierte Boeden.",
			TriggerDE:       "Verschmutzter Boden, fehlende Bodenmarkierung, ungesicherte Hoehendifferenz am Auswurfschacht.",
			HarmDE:          "Knochenbrueche, Prellungen, Kopfverletzungen bei Sturz.",
			AffectedDE:      "Bedienpersonal, Logistikmitarbeiter im Auswurfbereich.",
			ZoneDE:          "Auswurfschacht und angrenzender Bodenbereich.",
			DefaultSeverity: 3, DefaultExposure: 4, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP052", NameDE: "Druckfreisetzung Hydraulikspeicher", NameEN: "Pressure release from hydraulic accumulator",
			RequiredComponentTags: []string{"hydraulic_part", "high_pressure"},
			RequiredEnergyTags:    []string{"stored_energy"},
			GeneratedHazardCats:   []string{"pneumatic_hydraulic"},
			SuggestedMeasureIDs:   []string{"M051", "M131"},
			SuggestedEvidenceIDs:  []string{"E01", "E08"},
			Priority: 92,
			ScenarioDE:      "Hydraulikspeicher entlaedt sich schlagartig oder Leitungsbruch.",
			TriggerDE:       "Oeffnen einer Leitung ohne vorherige Druckentlastung, Berstversagen des Speichers.",
			HarmDE:          "Schwere Schnittverletzungen durch Oelstrahl, Augenverletzungen, Verbrennungen.",
			AffectedDE:      "Instandhaltungspersonal, Hydraulik-Fachkraefte.",
			ZoneDE:          "Hydraulikaggregat, Speicherbereich, Leitungsfuehrung.",
			DefaultSeverity: 5, DefaultExposure: 2, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP053", NameDE: "Impulslaerm Pressvorgang", NameEN: "Impact noise during press operation",
			RequiredComponentTags: []string{"noise_source", "high_force"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"noise_hazard"},
			SuggestedMeasureIDs:   []string{"M141"},
			SuggestedEvidenceIDs:  []string{"E20"},
			Priority: 70,
			ScenarioDE:      "Jeder Presshub erzeugt Impulslaerm ueber 85 dB(A), der bei Dauerbetrieb das Gehoer schaedigt.",
			TriggerDE:       "Normaler Pressbetrieb bei hoher Hubzahl, fehlende Laermkapselung.",
			HarmDE:          "Laermschwerhoerigkeit, Tinnitus bei Langzeitexposition.",
			AffectedDE:      "Bedienpersonal, Personen in angrenzenden Arbeitsbereichen.",
			ZoneDE:          "Gesamter Pressenbereich, Radius ca. 5-10 m um die Maschine.",
			DefaultSeverity: 3, DefaultExposure: 5, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP054", NameDE: "Schwungrad-Restenergie nach Abschaltung", NameEN: "Flywheel residual energy after shutdown",
			RequiredComponentTags: []string{"rotating_part", "stored_energy"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M001", "M054"},
			SuggestedEvidenceIDs:  []string{"E01", "E08"},
			Priority: 88,
			ScenarioDE:      "Schwungrad dreht nach Abschaltung der Presse noch mehrere Minuten nach und speichert gefaehrliche Rotationsenergie.",
			TriggerDE:       "Zugang zur Maschine vor vollstaendigem Stillstand, fehlende Nachlaufueberwachung.",
			HarmDE:          "Erfassen durch rotierende Teile, schwere Schnittverletzungen, Skalpierung.",
			AffectedDE:      "Instandhaltungspersonal, Einrichter nach Maschinenstopp.",
			ZoneDE:          "Schwungradbereich, Kupplungsraum, Antriebsseite der Presse.",
			DefaultSeverity: 4, DefaultExposure: 2, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP055", NameDE: "Umgehung Schutzeinrichtung (Pressentuer)", NameEN: "Bypass of safety guard (press door)",
			RequiredComponentTags: []string{"interlocked", "crush_point"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"safety_function_failure"},
			SuggestedMeasureIDs:   []string{"M005", "M106"},
			SuggestedEvidenceIDs:  []string{"E01", "E08"},
			Priority: 96,
			ScenarioDE:      "Bediener manipuliert die Schutztuerverriegelung, um bei geoeffneter Tuer einen Pressenhub auszuloesen.",
			TriggerDE:       "Absichtliche Manipulation des Sicherheitsschalters, defekter Zuhaltungsmechanismus.",
			HarmDE:          "Toedliche Quetsch- oder Scherverletzungen bei Eingriff in den Gefahrenbereich.",
			AffectedDE:      "Bedienpersonal, Einrichter bei Stoerungsbeseitigung.",
			ZoneDE:          "Gesamter Werkzeugeinbauraum hinter der Schutztuer.",
			DefaultSeverity: 5, DefaultExposure: 3, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP056", NameDE: "Fehlbedienung Zweihandschaltung", NameEN: "Two-hand control misoperation",
			RequiredComponentTags: []string{"two_hand_control_required"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"safety_function_failure"},
			SuggestedMeasureIDs:   []string{"M106"},
			SuggestedEvidenceIDs:  []string{"E01"},
			Priority: 90,
			ScenarioDE:      "Zweihandschaltung wird mit Hilfsmitteln ueberbrueckt oder ein Taster wird fixiert, sodass Einhandbedienung moeglich wird.",
			TriggerDE:       "Manipulation der Taster, Fixierung mit Klebeband oder Keil, Defekt der Gleichzeitigkeitsueberwachung.",
			HarmDE:          "Quetschverletzungen der freien Hand im Werkzeugbereich.",
			AffectedDE:      "Bedienpersonal an der Pressenbedienung.",
			ZoneDE:          "Gefahrenbereich zwischen Ober- und Unterwerkzeug.",
			DefaultSeverity: 5, DefaultExposure: 3, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP057", NameDE: "Hydraulikoelleckage + Rutschgefahr", NameEN: "Hydraulic oil leakage + slip hazard",
			RequiredComponentTags: []string{"hydraulic_part", "chemical_risk"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"material_environmental"},
			SuggestedMeasureIDs:   []string{"M141"},
			SuggestedEvidenceIDs:  []string{"E20"},
			Priority: 65,
			ScenarioDE:      "Hydraulikoel tritt aus defekten Dichtungen oder Verschraubungen aus und bildet Lachen auf dem Hallenboden.",
			TriggerDE:       "Verschleiss von Dichtungen, lockere Verschraubungen, Schlauchbruch.",
			HarmDE:          "Sturzverletzungen durch Ausrutschen, Hautreizungen bei Hautkontakt.",
			AffectedDE:      "Bedienpersonal, Logistikmitarbeiter, alle Personen im Pressenbereich.",
			ZoneDE:          "Bodenbereich rund um das Hydraulikaggregat und unter der Presse.",
			DefaultSeverity: 2, DefaultExposure: 4, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
		{
			ID: "HP058", NameDE: "Ergonomische Belastung Kistenwechsel", NameEN: "Ergonomic strain during bin changeover",
			RequiredComponentTags: []string{"ergonomic", "moving_part"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"ergonomic"},
			SuggestedMeasureIDs:   []string{"M141"},
			SuggestedEvidenceIDs:  []string{"E20"},
			Priority: 55,
			ScenarioDE:      "Bediener hebt schwere Teilebehaelter manuell an oder bewegt sie ohne Hebehilfe im Auswurfbereich.",
			TriggerDE:       "Fehlende Hebehilfen, hohe Taktzahl erzwingt schnellen manuellen Kistenwechsel.",
			HarmDE:          "Rueckenverletzungen, Bandscheibenvorfall, Muskel-Skelett-Erkrankungen.",
			AffectedDE:      "Bedienpersonal, Logistikmitarbeiter an der Presse.",
			ZoneDE:          "Auswurfbereich, Palettenstellplatz neben der Presse.",
			DefaultSeverity: 2, DefaultExposure: 5, MachineTypes: []string{"press", "hydraulic_press", "mechanical_press"},
		},
	}
}
