diff --git a/ai-compliance-sdk/internal/iace/hazard_patterns_warewashing.go b/ai-compliance-sdk/internal/iace/hazard_patterns_warewashing.go index f01bb94b..39e05465 100644 --- a/ai-compliance-sdk/internal/iace/hazard_patterns_warewashing.go +++ b/ai-compliance-sdk/internal/iace/hazard_patterns_warewashing.go @@ -128,5 +128,51 @@ func GetWarewashingPatterns() []HazardPattern { ISO12100Section: "6.3.5.6", DefaultSeverity: 2, DefaultExposure: 3, }, + { + ID: "HP2207", NameDE: "Rueckfluss / Kontamination des Trinkwassers", NameEN: "Backflow / potable-water contamination", + RequiredComponentTags: []string{"dom_warewashing", "backflow_risk"}, + GeneratedHazardCats: []string{"material_environmental"}, + SuggestedMeasureIDs: []string{"M2209"}, + Priority: 84, + ApplicableLifecycles: []string{"normal_operation"}, + ScenarioDE: "Verschmutztes Spuel- oder Chemiewasser wird ueber den Frischwasseranschluss in das Trinkwassernetz zurueckgesaugt und kontaminiert es (Ruecksaugen bei Unterdruck im Netz).", + TriggerDE: "Fehlender oder defekter Rueckflussverhinderer/Systemtrenner; Unterdruck im Trinkwassernetz; kein freier Auslauf.", + HarmDE: "Gesundheitsgefaehrdung Dritter durch kontaminiertes Trinkwasser (Chemie, Keime).", + AffectedDE: "Verbraucher am selben Trinkwassernetz, Betreiber", + ZoneDE: "Frischwasseranschluss, Wasserzulauf", + ISO12100Section: "6.2.4", + DefaultSeverity: 3, DefaultExposure: 2, + }, + { + ID: "HP2208", NameDE: "Schnittverletzung an scharfen Kanten/Sieben", NameEN: "Cut injury on sharp edges/screens", + RequiredComponentTags: []string{"dom_warewashing", "sharp_edge"}, + GeneratedHazardCats: []string{"mechanical_hazard"}, + SuggestedMeasureIDs: []string{"M003"}, + Priority: 74, + ApplicableLifecycles: []string{"cleaning", "maintenance"}, + ScenarioDE: "Schneiden an scharfen Blechkanten, Sieben oder dem Ablaufpumpen-Laufrad beim Reinigen oder Eingreifen in die Spuelkammer.", + TriggerDE: "Entnehmen/Reinigen der Siebe; Eingreifen an scharfen Kanten ohne Schutzhandschuhe.", + HarmDE: "Schnittwunden an Haenden und Fingern.", + AffectedDE: "Reinigungspersonal, Bedienpersonal", + ZoneDE: "Zugaengliche Kanten, Siebe, Spuelkammer, Ablaufpumpe", + ISO12100Section: "6.2.2.1", + DefaultSeverity: 1, DefaultExposure: 3, + }, + { + ID: "HP2209", NameDE: "Unerwarteter Wiederanlauf bei Wartung/Reinigung", NameEN: "Unexpected restart during maintenance/cleaning", + RequiredComponentTags: []string{"dom_warewashing", "programmable"}, + RequiredLifecycles: []string{"maintenance", "cleaning", "fault_clearing"}, + GeneratedHazardCats: []string{"safety_function_failure"}, + SuggestedMeasureIDs: []string{"M042"}, + Priority: 80, + ApplicableLifecycles: []string{"maintenance", "cleaning"}, + ScenarioDE: "Waehrend Wartung oder Reinigung laeuft die Maschine durch fehlende Freischaltung (LOTO) oder automatischen Wiederanlauf unerwartet an (Pumpe, Spuelgang).", + TriggerDE: "Kein Freischalten/Sichern gegen Wiedereinschalten; automatischer Wiederanlauf nach Netzunterbrechung.", + HarmDE: "Verbruehung, Quetschen oder elektrischer Schlag durch unerwartet anlaufende Maschine.", + AffectedDE: "Wartungspersonal, Reinigungspersonal", + ZoneDE: "Gesamte Maschine, Pumpe, Antriebe", + ISO12100Section: "6.2.11.4", + DefaultSeverity: 3, DefaultExposure: 2, + }, } } diff --git a/ai-compliance-sdk/internal/iace/keyword_dictionary.go b/ai-compliance-sdk/internal/iace/keyword_dictionary.go index 001561e7..0522bd6a 100644 --- a/ai-compliance-sdk/internal/iace/keyword_dictionary.go +++ b/ai-compliance-sdk/internal/iace/keyword_dictionary.go @@ -107,6 +107,9 @@ func GetKeywordDictionary() []KeywordEntry { // honest (generic hygiene; surfaced by the warewashing GT). {Keywords: []string{"spuelarm", "spuelfeld", "wascharm", "spruehfeld"}, ExtraTags: []string{"rotating_part"}}, {Keywords: []string{"spuelkammer", "spueltuer", "geraetetuer", "haubentuer", "klapptuer"}, ExtraTags: []string{"access_door"}}, + // Frischwasseranschluss an das Trinkwassernetz -> Rueckfluss/Ruecksaug-Risiko (EN 1717). + {Keywords: []string{"rueckfluss", "rueckflussverhinderer", "ruecksaug", "trinkwasser", "frischwasseranschluss", "systemtrenner"}, ExtraTags: []string{"backflow_risk"}}, + {Keywords: []string{"scharfe kante", "scharfkant", "blechkante", "scharfe blechkante", "sieb", "siebe"}, ExtraTags: []string{"sharp_edge"}}, // Ghost-Closure (Emit-Seite): macht die 34 toten Required-Tags // emittierbar, jeweils NUR via domaenenspezifische Keywords -> die 120 // Ghost-Patterns feuern wieder, aber nur fuer ihre echte Maschine (kein diff --git a/ai-compliance-sdk/internal/iace/measures_library_warewashing.go b/ai-compliance-sdk/internal/iace/measures_library_warewashing.go index b3ba6bc6..8ac6e4a5 100644 --- a/ai-compliance-sdk/internal/iace/measures_library_warewashing.go +++ b/ai-compliance-sdk/internal/iace/measures_library_warewashing.go @@ -65,5 +65,11 @@ func getWarewashingMeasures() []ProtectiveMeasureEntry { HazardCategory: "general", Examples: []string{"Warnpiktogramm 'Heisser Dampf' an der Tuer", "BA-Hinweis 'Tuer nach Programmende langsam oeffnen'"}, NormReferences: []string{"ISO 7010", "EN 60335-2-58"}}, + {ID: "M2209", ReductionType: "design", SubType: "containment", + Name: "Rueckflussverhinderer / Systemtrenner nach EN 1717", + Description: "Der Frischwasseranschluss ist durch einen Rueckflussverhinderer bzw. Systemtrenner der passenden Schutzklasse oder durch einen freien Auslauf gegen Ruecksaugen verschmutzten Wassers in das Trinkwassernetz gesichert.", + HazardCategory: "material_environmental", + Examples: []string{"Systemtrenner Typ BA nach EN 1717", "Freier Auslauf Typ AB ueber dem hoechsten Wasserstand"}, + NormReferences: []string{"EN 1717", "EN 60335-2-58"}}, } }