package iace

// builtinEnvironmentPatterns returns HP023-HP028: noise, vibration, and ergonomic patterns.
func builtinEnvironmentPatterns() []HazardPattern {
	return []HazardPattern{
		// Noise / Vibration
		{
			ID: "HP023", NameDE: "Laermgefahr", NameEN: "Noise hazard",
			RequiredComponentTags: []string{"noise_source"},
			RequiredEnergyTags:    []string{"acoustic"},
			GeneratedHazardCats:   []string{"noise_hazard"},
			SuggestedMeasureIDs:   []string{"M091", "M131"},
			SuggestedEvidenceIDs:  []string{"E01", "E12"},
			Priority:              70,
			ScenarioDE:      "Bediener ist waehrend der Schicht dem Maschinenlaerm ausgesetzt.",
			TriggerDE:       "Dauerhafte Laermexposition ueber 85 dB(A) ohne Gehoerschutz.",
			HarmDE:          "Laermschwerhoerigkeit (BK 2301), Tinnitus, Konzentrationsstoerung.",
			AffectedDE:      "Bedienpersonal, Personen im Umfeld",
			ZoneDE:          "Gesamter Arbeitsbereich um die Maschine, insbesondere Auslassseite",
			ISO12100Section: "6.3.3.2.1",
			DefaultSeverity: 3, DefaultExposure: 4,
		},
		{
			ID: "HP024", NameDE: "Vibrationsgefahr", NameEN: "Vibration hazard",
			RequiredComponentTags: []string{"vibration_source"},
			RequiredEnergyTags:    []string{"vibration"},
			GeneratedHazardCats:   []string{"vibration_hazard"},
			SuggestedMeasureIDs:   []string{"M092", "M131"},
			SuggestedEvidenceIDs:  []string{"E01", "E13"},
			Priority:              65,
			ScenarioDE:      "Bediener haelt vibrierende Werkzeuge oder arbeitet auf vibrierendem Untergrund ueber laengere Zeit.",
			TriggerDE:       "Langzeit-Vibrationsexposition ueber Tagesgrenzwert (Hand-Arm 5 m/s2, Ganzkoerper 1.15 m/s2).",
			HarmDE:          "Hand-Arm-Vibrationssyndrom (BK 2104), Durchblutungsstoerung, Gelenkschaeden.",
			AffectedDE:      "Bedienpersonal, Maschinenfuehrer",
			ZoneDE:          "Griffe, Bedienelemente, Standfussbereich, Fahrersitz",
			ISO12100Section: "6.3.3.2.1",
			DefaultSeverity: 3, DefaultExposure: 4,
		},
		{
			ID: "HP025", NameDE: "Laerm durch rotierende Hochgeschwindigkeitsteile", NameEN: "Noise from high-speed rotating parts",
			RequiredComponentTags: []string{"rotating_part", "high_speed"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"noise_hazard"},
			SuggestedMeasureIDs:   []string{"M091", "M092", "M131"},
			SuggestedEvidenceIDs:  []string{"E01", "E12", "E13"},
			Priority:              70,
			ScenarioDE:      "Schnelllaufende Spindeln, Luefter oder Schleifscheiben erzeugen hohen Schallpegel und Vibrationen.",
			TriggerDE:       "Betrieb bei hoher Drehzahl ohne Schallschutzkapselung oder Entkopplung.",
			HarmDE:          "Gehoerschaedigung, Tinnitus, erhoehtes Unfallrisiko durch Konzentrationsverlust.",
			AffectedDE:      "Bedienpersonal, Personen im Hallenbereich",
			ZoneDE:          "Umgebung der Spindel/Schleifscheibe, Maschinengehaeuse, offene Bearbeitungszone",
			ISO12100Section: "6.3.3.2.1",
			DefaultSeverity: 3, DefaultExposure: 4,
		},
		// Ergonomic
		{
			ID: "HP026", NameDE: "Ergonomische Belastung an Bedienstationen", NameEN: "Ergonomic risk at operator stations",
			RequiredComponentTags: []string{"user_interface"},
			RequiredEnergyTags:    []string{"ergonomic"},
			GeneratedHazardCats:   []string{"ergonomic"},
			SuggestedMeasureIDs:   []string{"M029", "M030", "M032", "M033", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E24"},
			Priority:              50,
			ScenarioDE:      "Bediener arbeitet in unguenstiger Koerperhaltung (stehend, gebeugt, verdreht) ueber laengere Schichtdauer.",
			TriggerDE:       "Wiederholte Taetigkeit in Zwangshaltung ohne ausreichende Erholungspausen.",
			HarmDE:          "Muskel-Skelett-Erkrankung, Rueckenbeschwerden (BK 2108), Sehnenscheidenentzuendung.",
			AffectedDE:      "Bedienpersonal",
			ZoneDE:          "Bedienpult, Materialzufuhr, Teileentnahme, Sichtfenster",
			DefaultSeverity: 2, DefaultExposure: 5,
		},
		{
			ID: "HP027", NameDE: "Ergonomische Belastung in der Hoehe", NameEN: "Ergonomic risk for work at height",
			RequiredComponentTags: []string{"structural_part", "gravity_risk"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"ergonomic", "mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M121", "M131"},
			SuggestedEvidenceIDs:  []string{"E01", "E20"},
			Priority:              60,
			ScenarioDE:      "Wartungsarbeiten erfordern Zugang zu hoch gelegenen Bauteilen ueber Leitern oder Geruestkonstruktionen.",
			TriggerDE:       "Abrutschen von Leiter, Fehltritt auf Wartungsplattform, fehlende Absturzsicherung.",
			HarmDE:          "Sturzverletzung, Fraktur, Kopfverletzung, in schweren Faellen Todesfolge.",
			AffectedDE:      "Wartungspersonal, Servicetechniker",
			ZoneDE:          "Wartungsplattformen, Leitern, Kranbahnen, obere Maschinenabdeckungen",
			DefaultSeverity: 4, DefaultExposure: 2,
		},
		{
			ID: "HP028", NameDE: "Fehlbedienungsgefahr", NameEN: "Mode confusion / misoperation risk",
			RequiredComponentTags: []string{"user_interface", "programmable"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"hmi_error", "mode_confusion"},
			SuggestedMeasureIDs:   []string{"M204", "M205", "M206", "M141"},
			SuggestedEvidenceIDs:  []string{"E01", "E14", "E24"},
			Priority:              70,
			ScenarioDE:      "Bediener verwechselt Betriebsarten oder aktiviert falsche Funktion durch unklare HMI-Gestaltung.",
			TriggerDE:       "Betriebsartenwahlschalter nicht eindeutig, missverstaendliche Symbole oder fehlende Rueckmeldung.",
			HarmDE:          "Unerwartete Maschinenbewegung, Anlauf im falschen Modus, Verletzung durch ungesicherten Betrieb.",
			AffectedDE:      "Bedienpersonal, Einrichter",
			ZoneDE:          "Bedienpanel, Touchscreen, Betriebsartenwahlschalter, Freigabetaster",
			DefaultSeverity: 3, DefaultExposure: 3,
		},
	}
}
