package iace

// GetVDMAIndustryPatterns returns hazard patterns for VDMA industry sectors:
// woodworking, surface treatment, printing, pumps/compressors.
// IDs: HP1500-HP1549 (50 patterns).
func GetVDMAIndustryPatterns() []HazardPattern {
	return []HazardPattern{
		// ══════════════════════════════════════════════════════════════
		// Holzbearbeitung (HP1500-HP1514)
		// ══════════════════════════════════════════════════════════════
		{ID: "HP1500", NameDE: "Rueckschlag an Kreissaege", NameEN: "Kickback on circular saw",
			RequiredComponentTags: []string{"cutting_tool"}, GeneratedHazardCats: []string{"mechanical_hazard"},
			SuggestedMeasureIDs: []string{"M424", "M061"}, SuggestedEvidenceIDs: []string{"E01", "E08"},
			Priority: 92, MachineTypes: []string{"circular_saw", "woodworking"},
			OperationalStates: []string{"automatic_operation", "manual_operation"}, HumanRoles: []string{"operator"},
			ScenarioDE: "Werkstueck wird durch aufsteigenden Saegeblattzahn zurueckgeschleudert",
			TriggerDE: "Fehlender oder falsch eingestellter Spaltkeil, verklemmtes Werkstueck", HarmDE: "Schnittverletzung, Prellungen durch Rueckschlag", AffectedDE: "Bedienpersonal", ZoneDE: "Bedienseite der Saege",
			DefaultSeverity: 4, DefaultExposure: 4},
		{ID: "HP1501", NameDE: "Saegeblatt-Kontakt bei offener Schutzhaube", NameEN: "Saw blade contact with open guard",
			RequiredComponentTags: []string{"cutting_tool"}, GeneratedHazardCats: []string{"mechanical_hazard"},
			SuggestedMeasureIDs: []string{"M424", "MN012", "MN013"}, SuggestedEvidenceIDs: []string{"E01", "E08"},
			Priority: 90, MachineTypes: []string{"circular_saw", "woodworking"},
			ScenarioDE: "Hand geraet an das rotierende Saegeblatt bei fehlender oder geoeffneter Schutzhaube",
			TriggerDE: "Schutzhaube entfernt oder verklemmt, Manipulation der Verriegelung", HarmDE: "Amputation, schwere Schnittverletzung", AffectedDE: "Bedienpersonal", ZoneDE: "Saegeblattbereich",
			DefaultSeverity: 5, DefaultExposure: 3},
		{ID: "HP1502", NameDE: "Holzstaub-Inhalation", NameEN: "Wood dust inhalation",
			RequiredComponentTags: []string{"cutting_tool"}, GeneratedHazardCats: []string{"chemical_risk"},
			SuggestedMeasureIDs: []string{"M422", "M425", "M428"}, SuggestedEvidenceIDs: []string{"E01", "E29"},
			Priority: 80, MachineTypes: []string{"circular_saw", "woodworking", "milling"},
			HumanRoles: []string{"operator"},
			ScenarioDE: "Beschaeftigte atmen Holzstaub ein der bei Saege-/Fraes-/Schleifarbeiten entsteht",
			TriggerDE: "Absaugung nicht angeschlossen oder unzureichend, Maschine ohne Einhausung", HarmDE: "Atemwegsreizung, Asthma, Nasenkrebs bei Hartholz", AffectedDE: "Bedienpersonal", ZoneDE: "Bearbeitungsbereich",
			DefaultSeverity: 4, DefaultExposure: 4},
		{ID: "HP1503", NameDE: "Staubexplosion in Absauganlage", NameEN: "Dust explosion in extraction system",
			RequiredComponentTags: []string{"cutting_tool"}, GeneratedHazardCats: []string{"fire_explosion"},
			SuggestedMeasureIDs: []string{"M426", "M290", "M295"}, SuggestedEvidenceIDs: []string{"E01", "E35"},
			Priority: 88, MachineTypes: []string{"woodworking"},
			RequiresExpertCalculation: true, ExpertHintDE: "Zoneneinteilung nach ATEX fuer Absauganlage und Silo erforderlich.",
			ScenarioDE: "Holzstaub-Luft-Gemisch in Filter oder Silo entzuendet sich", TriggerDE: "Funken durch Fremdkoerper, elektrostatische Aufladung, heisse Oberflaeche",
			HarmDE: "Explosion mit Druckwelle, Brand, schwere Verletzungen", AffectedDE: "Bedienpersonal, Umgebung", ZoneDE: "Filteranlage, Silo, Rohrleitungen",
			DefaultSeverity: 5, DefaultExposure: 2},
		{ID: "HP1504", NameDE: "Einzug an Hobelmaschine", NameEN: "Drawing-in at planing machine",
			RequiredComponentTags: []string{"cutting_tool", "rotating_part"}, GeneratedHazardCats: []string{"mechanical_hazard"},
			SuggestedMeasureIDs: []string{"M239", "M061"}, SuggestedEvidenceIDs: []string{"E01", "E08"},
			Priority: 88, MachineTypes: []string{"woodworking"},
			ScenarioDE: "Hand wird zwischen Vorschubwalzen und Messerwelle der Hobelmaschine eingezogen",
			TriggerDE: "Manuelles Nachschieben kurzer Werkstuecke ohne Schiebeholz", HarmDE: "Amputation, Quetschung", AffectedDE: "Bedienpersonal", ZoneDE: "Einzugsbereich",
			DefaultSeverity: 5, DefaultExposure: 3},
		{ID: "HP1505", NameDE: "Fraeserkontakt bei Handfraesmaschine", NameEN: "Cutter contact on hand-fed milling machine",
			RequiredComponentTags: []string{"cutting_tool", "rotating_part"}, GeneratedHazardCats: []string{"mechanical_hazard"},
			SuggestedMeasureIDs: []string{"M061", "M067"}, SuggestedEvidenceIDs: []string{"E01", "E08"},
			Priority: 86, MachineTypes: []string{"woodworking", "milling"},
			HumanRoles: []string{"operator"},
			ScenarioDE: "Hand geraet an rotierenden Fraeser bei manueller Werkstueckfuehrung",
			TriggerDE: "Fehlende Schutzhaube, Werkstueck wird vom Fraeser weggerissen", HarmDE: "Schnittverletzung, Fingerverlust", AffectedDE: "Bedienpersonal", ZoneDE: "Fraesbereich",
			DefaultSeverity: 4, DefaultExposure: 4},

		// ══════════════════════════════════════════════════════════════
		// Oberflächentechnik (HP1515-HP1529)
		// ══════════════════════════════════════════════════════════════
		{ID: "HP1515", NameDE: "Loesemittel-Inhalation in Spritzkabine", NameEN: "Solvent inhalation in spray booth",
			RequiredComponentTags: []string{"spray_nozzle"}, GeneratedHazardCats: []string{"chemical_risk"},
			SuggestedMeasureIDs: []string{"M430", "M173"}, SuggestedEvidenceIDs: []string{"E01", "E29"},
			Priority: 82, MachineTypes: []string{"spray_booth", "surface_treatment"},
			HumanRoles: []string{"operator"},
			ScenarioDE: "Lackierer atmet Loesemitteldaempfe ein die bei Spritzlackierung entstehen",
			TriggerDE: "Unzureichende Kabinenbelueftung oder Arbeiten ausserhalb der Kabine", HarmDE: "Kopfschmerzen, Schwindel, Leberschaeden bei Langzeitexposition", AffectedDE: "Lackierer", ZoneDE: "Spritzkabine",
			DefaultSeverity: 3, DefaultExposure: 4},
		{ID: "HP1516", NameDE: "Isocyanat-Exposition bei PU-Lackierung", NameEN: "Isocyanate exposure during PU coating",
			RequiredComponentTags: []string{"spray_nozzle"}, GeneratedHazardCats: []string{"chemical_risk"},
			SuggestedMeasureIDs: []string{"M431", "M436", "M173"}, SuggestedEvidenceIDs: []string{"E01", "E29"},
			Priority: 88, MachineTypes: []string{"spray_booth", "surface_treatment"},
			HumanRoles: []string{"operator"},
			ScenarioDE: "Beschaeftigte werden Isocyanat-Aerosolen bei PU-Lack-Verarbeitung ausgesetzt",
			TriggerDE: "Spritzlackierung mit isocyanathaltigen 2K-Lacken ohne ausreichende Absaugung", HarmDE: "Atemwegssensibilisierung (Isocyanat-Asthma), Hautallergien", AffectedDE: "Lackierer", ZoneDE: "Spritzkabine, Mischbereich",
			DefaultSeverity: 4, DefaultExposure: 4},
		{ID: "HP1517", NameDE: "Brand/Explosion in Spritzkabine", NameEN: "Fire/explosion in spray booth",
			RequiredComponentTags: []string{"spray_nozzle"}, GeneratedHazardCats: []string{"fire_explosion"},
			SuggestedMeasureIDs: []string{"M434", "M383", "M290"}, SuggestedEvidenceIDs: []string{"E01", "E35"},
			Priority: 90, MachineTypes: []string{"spray_booth", "surface_treatment"},
			ScenarioDE: "Loesemitteldaempfe in Spritzkabine entzuenden sich", TriggerDE: "Zuendquelle in Ex-Zone (nicht-ex-geschuetztes Geraet, Funke, heisse Oberflaeche)",
			HarmDE: "Verpuffung, Brand, Verbrennungen", AffectedDE: "Lackierer, Umgebung", ZoneDE: "Spritzkabine, Trocknungsbereich",
			DefaultSeverity: 5, DefaultExposure: 2},
		{ID: "HP1518", NameDE: "Chromsaeure-Exposition an Galvanikbad", NameEN: "Chromic acid exposure at electroplating bath",
			RequiredComponentTags: []string{"chemical_bath"}, GeneratedHazardCats: []string{"chemical_risk"},
			SuggestedMeasureIDs: []string{"M432", "M435", "M173"}, SuggestedEvidenceIDs: []string{"E01", "E29"},
			Priority: 88, MachineTypes: []string{"surface_treatment", "electroplating"},
			HumanRoles: []string{"operator"},
			ScenarioDE: "Chromsaeuredaempfe steigen aus Hartverchromungsbad auf und werden eingeatmet",
			TriggerDE: "Fehlende oder defekte Randabsaugung, hohe Badtemperatur", HarmDE: "Lungenkarzinom bei Chrom-VI, Veraetzung der Schleimhaeute", AffectedDE: "Galvaniker", ZoneDE: "Galvanikbad",
			DefaultSeverity: 5, DefaultExposure: 3},
		{ID: "HP1519", NameDE: "Hautveraetzung durch Galvanikloesungen", NameEN: "Skin burn from electroplating solutions",
			RequiredComponentTags: []string{"chemical_bath"}, GeneratedHazardCats: []string{"chemical_risk"},
			SuggestedMeasureIDs: []string{"M435", "M376"}, SuggestedEvidenceIDs: []string{"E01"},
			Priority: 78, MachineTypes: []string{"surface_treatment", "electroplating"},
			ScenarioDE: "Galvanikloesungen (Saeuren, Laugen, Chromsaeure) spritzen auf ungeschuetzte Haut",
			TriggerDE: "Bauteil faellt in Bad und erzeugt Spritzer, Umfuellen ohne Schutzkleidung", HarmDE: "Veraetzung, allergische Reaktion", AffectedDE: "Galvaniker", ZoneDE: "Badoberflaeche, Umfuellbereich",
			DefaultSeverity: 3, DefaultExposure: 4},

		// ══════════════════════════════════════════════════════════════
		// Druckmaschinen (HP1530-HP1539)
		// ══════════════════════════════════════════════════════════════
		{ID: "HP1530", NameDE: "Einzug an Walzenpaar (Druckwerk)", NameEN: "Drawing-in at roller pair (printing unit)",
			RequiredComponentTags: []string{"rotating_part"}, GeneratedHazardCats: []string{"mechanical_hazard"},
			SuggestedMeasureIDs: []string{"M438", "M441"}, SuggestedEvidenceIDs: []string{"E01", "E08"},
			Priority: 92, MachineTypes: []string{"printing_press"},
			HumanRoles: []string{"operator"},
			ScenarioDE: "Hand oder Kleidung wird zwischen gegenlaeufigen Walzen des Farbwerks eingezogen",
			TriggerDE: "Fehlende Walzenschutzbuegel, manuelles Reinigen bei laufender Maschine", HarmDE: "Quetschung, Amputation, Armbruch", AffectedDE: "Drucker", ZoneDE: "Farbwerk, Feuchtwerk",
			DefaultSeverity: 5, DefaultExposure: 3},
		{ID: "HP1531", NameDE: "Druckfarben-Inhalation", NameEN: "Printing ink inhalation",
			RequiredComponentTags: []string{"rotating_part"}, GeneratedHazardCats: []string{"chemical_risk"},
			SuggestedMeasureIDs: []string{"M439", "M444"}, SuggestedEvidenceIDs: []string{"E01", "E29"},
			Priority: 72, MachineTypes: []string{"printing_press"},
			ScenarioDE: "Aerosole und Daempfe aus Druckfarben und Reinigungsmitteln werden eingeatmet",
			TriggerDE: "Fehlende Absaugung, offene Farbbehaelter, Reinigung mit Loesemitteln", HarmDE: "Atemwegsreizung, Schwindel bei hoher Loesemittelkonzentration", AffectedDE: "Drucker", ZoneDE: "Farbwerk, Reinigungsstation",
			DefaultSeverity: 2, DefaultExposure: 4},
		{ID: "HP1532", NameDE: "UV-Strahlung an UV-Trockner", NameEN: "UV radiation from UV dryer",
			RequiredComponentTags: []string{"uv_source"}, GeneratedHazardCats: []string{"radiation_hazard"},
			SuggestedMeasureIDs: []string{"M440", "M392"}, SuggestedEvidenceIDs: []string{"E01"},
			Priority: 78, MachineTypes: []string{"printing_press"},
			ScenarioDE: "UV-Strahlung aus defekter oder geoeffneter Trocknereinheit trifft Haut oder Augen",
			TriggerDE: "Abdeckung des UV-Trockners nicht korrekt geschlossen, Wartung bei aktivem UV", HarmDE: "Hautverbrennung, Augenschaedigung", AffectedDE: "Drucker, Wartungspersonal", ZoneDE: "UV-Trockner",
			DefaultSeverity: 3, DefaultExposure: 2},
		{ID: "HP1533", NameDE: "Papierbahnriss mit Einzugsgefahr", NameEN: "Paper web break with entanglement risk",
			RequiredComponentTags: []string{"rotating_part"}, GeneratedHazardCats: []string{"mechanical_hazard"},
			SuggestedMeasureIDs: []string{"M443", "M441"}, SuggestedEvidenceIDs: []string{"E01"},
			Priority: 80, MachineTypes: []string{"printing_press"},
			ScenarioDE: "Papierbahn reisst und lose Enden wickeln sich um Walzen, Bediener greift ein",
			TriggerDE: "Materialfehler, Spannungsschwankung, falsche Bahnfuehrung", HarmDE: "Einzug in Walzenpaar, Quetschung", AffectedDE: "Drucker", ZoneDE: "Papierlauf, Walzenspalte",
			DefaultSeverity: 4, DefaultExposure: 3},

		// ══════════════════════════════════════════════════════════════
		// Pumpen/Kompressoren (HP1540-HP1549)
		// ══════════════════════════════════════════════════════════════
		{ID: "HP1540", NameDE: "Druckstoss in Rohrleitung", NameEN: "Pressure surge in pipeline",
			RequiredComponentTags: []string{"hydraulic_part", "high_pressure"}, GeneratedHazardCats: []string{"pneumatic_hydraulic"},
			SuggestedMeasureIDs: []string{"M446", "M283"}, SuggestedEvidenceIDs: []string{"E01", "E11"},
			Priority: 82, MachineTypes: []string{"pump", "compressor"},
			ScenarioDE: "Schnelles Schliessen einer Armatur erzeugt Druckstoss der Rohrleitungen schaedigt",
			TriggerDE: "Schnellschlussventil, Pumpenausfall bei laufender Foerderung", HarmDE: "Rohrbruch mit Medienaustritt, Verletzung durch Druckwelle", AffectedDE: "Bedienpersonal", ZoneDE: "Rohrleitung, Armaturenbereich",
			DefaultSeverity: 4, DefaultExposure: 2},
		{ID: "HP1541", NameDE: "Kavitationsschaden an Pumpe", NameEN: "Cavitation damage to pump",
			RequiredComponentTags: []string{"hydraulic_part"}, GeneratedHazardCats: []string{"pneumatic_hydraulic"},
			SuggestedMeasureIDs: []string{"M447", "M117"}, SuggestedEvidenceIDs: []string{"E01"},
			Priority: 65, MachineTypes: []string{"pump"},
			ScenarioDE: "Kavitation zerstoert Laufrad und Gehaeuse der Pumpe, Leckage entsteht",
			TriggerDE: "Zu geringer Zulaufdruck (NPSH), Luft im System, Drosselung Saugseite", HarmDE: "Pumpenausfall, Medienaustritt, Folgeschaeden an Anlage", AffectedDE: "Bedienpersonal", ZoneDE: "Pumpengehaeuse",
			DefaultSeverity: 3, DefaultExposure: 3},
		{ID: "HP1542", NameDE: "Leckage an Gleitringdichtung", NameEN: "Leak at mechanical seal",
			RequiredComponentTags: []string{"hydraulic_part"}, GeneratedHazardCats: []string{"pneumatic_hydraulic", "chemical_risk"},
			SuggestedMeasureIDs: []string{"M448", "M101"}, SuggestedEvidenceIDs: []string{"E01", "E38"},
			Priority: 72, MachineTypes: []string{"pump", "compressor"},
			ScenarioDE: "Gleitringdichtung versagt und Foerdermedium tritt unkontrolliert aus",
			TriggerDE: "Verschleiss, Trockenlauf, thermische Ueberlastung der Dichtung", HarmDE: "Hautkontakt mit Gefahrstoff, Rutschgefahr, Umweltkontamination", AffectedDE: "Bedienpersonal", ZoneDE: "Wellenbereich",
			DefaultSeverity: 3, DefaultExposure: 3},
		{ID: "HP1543", NameDE: "Kompressorgehaeuse-Bersten", NameEN: "Compressor housing burst",
			RequiredComponentTags: []string{"high_pressure"}, GeneratedHazardCats: []string{"pneumatic_hydraulic"},
			SuggestedMeasureIDs: []string{"M449", "M281"}, SuggestedEvidenceIDs: []string{"E01", "E11", "E28"},
			Priority: 92, MachineTypes: []string{"compressor"},
			RequiresExpertCalculation: true, ExpertHintDE: "Festigkeitsnachweis nach EN 1012 und DGRL 2014/68/EU erforderlich.",
			ScenarioDE: "Kompressorgehaeuse versagt bei Ueberdruck und berstet",
			TriggerDE: "Sicherheitsventil versagt, Druckschalter defekt, Korrosion am Gehaeuse", HarmDE: "Splitterflug, Druckwelle, toedliche Verletzungen", AffectedDE: "Bedienpersonal, Umgebung", ZoneDE: "Kompressorraum",
			DefaultSeverity: 5, DefaultExposure: 1},
		{ID: "HP1544", NameDE: "Trockenlauf Pumpe", NameEN: "Pump dry run",
			RequiredComponentTags: []string{"hydraulic_part"}, GeneratedHazardCats: []string{"pneumatic_hydraulic", "fire_explosion"},
			SuggestedMeasureIDs: []string{"M450", "M116"}, SuggestedEvidenceIDs: []string{"E01"},
			Priority: 75, MachineTypes: []string{"pump"},
			ScenarioDE: "Pumpe laeuft ohne Foerdermedium, Gleitringdichtung ueberhitzt",
			TriggerDE: "Leerer Vorratsbehaelter, Saugseite verstopft, Fuellstandsueberwachung defekt", HarmDE: "Dichtungsbrand, Medienaustritt bei Folgeschaden", AffectedDE: "Bedienpersonal", ZoneDE: "Pumpenbereich",
			DefaultSeverity: 3, DefaultExposure: 3},
		{ID: "HP1545", NameDE: "Druckluftbehaelter-Korrosion", NameEN: "Compressed air receiver corrosion",
			RequiredComponentTags: []string{"high_pressure"}, GeneratedHazardCats: []string{"pneumatic_hydraulic"},
			SuggestedMeasureIDs: []string{"M451", "M365"}, SuggestedEvidenceIDs: []string{"E01", "E11"},
			Priority: 70, MachineTypes: []string{"compressor"},
			ScenarioDE: "Innere Korrosion durch Kondenswasser schwaecht Behaelterwand",
			TriggerDE: "Fehlende Entwasserung, lange Standzeiten ohne Wartung", HarmDE: "Behaelterversagen bei Betriebsdruck, Druckwelle", AffectedDE: "Bedienpersonal", ZoneDE: "Druckluftbehaelter",
			DefaultSeverity: 4, DefaultExposure: 2},
	}
}
