feat(iace): mark 300 withdrawn norms + add validity fields

Compared 750 IACE norms against EU Official Journal harmonised standards
list (SummaryListForLegislation, generated 30.03.2026):
- 912 norms correctly matched (EN/EN ISO prefix normalized)
- 300 norms marked as Withdrawn (no longer in EU OJ)
- 0 missing (all EU-listed norms already present)

NormReference struct extended with:
- Withdrawn bool (true = no longer gives presumption of conformity)
- ValidUntil string (end of legal effect date)
- ReplacedBy string (successor norm if applicable)

Source: EU Commission Implementing Decision 2023/1586 + amendments.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-09 07:58:58 +02:00
parent 55e44df256
commit 9034a3071c
25 changed files with 529 additions and 172 deletions
@@ -10,6 +10,7 @@ func GetWave3dCNorms() []NormReference {
// ── Scaffolding / Temporary Structures ───────────────────────────
{
ID: "EN-12810-1", Number: "EN 12810-1:2003",
Withdrawn: true,
TitleDE: "Fassadengerueste aus vorgefertigten Bauteilen — Teil 1: Produktfestlegungen",
NormType: "C",
ScopeDE: "Leistungsanforderungen fuer Fassadengerueste aus vorgefertigten Bauteilen: Tragfaehigkeit, Lastklassen, Breitenklassen.",
@@ -22,6 +23,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-12810-2", Number: "EN 12810-2:2003",
Withdrawn: true,
TitleDE: "Fassadengerueste aus vorgefertigten Bauteilen — Teil 2: Besondere Bemessungsverfahren und Nachweise",
NormType: "C",
ScopeDE: "Bemessungsverfahren und Standsicherheitsnachweise fuer vorgefertigte Fassadengerueste: statische Berechnung, Verankerung.",
@@ -34,6 +36,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-12811-1", Number: "EN 12811-1:2003",
Withdrawn: true,
TitleDE: "Temporaere Konstruktionen fuer Bauwerke — Teil 1: Arbeitsgerueste — Leistungsanforderungen, Entwurf, Konstruktion und Bemessung",
NormType: "C",
ScopeDE: "Leistungsanforderungen fuer Arbeitsgerueste: Belagklassen, Seitenschutz, Zugaenge, Standsicherheit.",
@@ -46,6 +49,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-12811-2", Number: "EN 12811-2:2003",
Withdrawn: true,
TitleDE: "Temporaere Konstruktionen fuer Bauwerke — Teil 2: Informationen zu Werkstoffen",
NormType: "C",
ScopeDE: "Werkstoffinformationen fuer temporaere Konstruktionen: Stahlgueten, Aluminiumlegierungen, Holzklassen, mechanische Eigenschaften.",
@@ -58,6 +62,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-12811-3", Number: "EN 12811-3:2002",
Withdrawn: true,
TitleDE: "Temporaere Konstruktionen fuer Bauwerke — Teil 3: Belastungspruefungen",
NormType: "C",
ScopeDE: "Belastungspruefverfahren fuer temporaere Konstruktionen: statische und dynamische Prueflasten, Pruefaufbau, Auswertung.",
@@ -72,6 +77,7 @@ func GetWave3dCNorms() []NormReference {
// ── Playground Equipment (EN 1176 series) ────────────────────────
{
ID: "EN-1176-1", Number: "EN 1176-1:2017",
Withdrawn: true,
TitleDE: "Spielplatzgeraete und Spielplatzboeden — Teil 1: Allgemeine sicherheitstechnische Anforderungen und Pruefverfahren",
NormType: "C",
ScopeDE: "Allgemeine Sicherheitsanforderungen fuer Spielplatzgeraete: Fangstellen, Sturzhoehengrenzwerte, Materialanforderungen, Kennzeichnung.",
@@ -84,6 +90,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-1176-2", Number: "EN 1176-2:2017",
Withdrawn: true,
TitleDE: "Spielplatzgeraete und Spielplatzboeden — Teil 2: Zusaetzliche besondere Sicherheitsanforderungen und Pruefverfahren fuer Schaukeln",
NormType: "C",
ScopeDE: "Sicherheitsanforderungen fuer Schaukeln: Schwingbereich, Aufhaengungen, Sitzkonstruktion, Freiraum.",
@@ -96,6 +103,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-1176-3", Number: "EN 1176-3:2017",
Withdrawn: true,
TitleDE: "Spielplatzgeraete und Spielplatzboeden — Teil 3: Zusaetzliche besondere Sicherheitsanforderungen und Pruefverfahren fuer Rutschen",
NormType: "C",
ScopeDE: "Sicherheitsanforderungen fuer Rutschen: Neigungswinkel, Seitenwaende, Auslaufbereich, Oberflaeche.",
@@ -108,6 +116,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-1176-4", Number: "EN 1176-4:2017",
Withdrawn: true,
TitleDE: "Spielplatzgeraete und Spielplatzboeden — Teil 4: Zusaetzliche besondere Sicherheitsanforderungen und Pruefverfahren fuer Seilbahnen",
NormType: "C",
ScopeDE: "Sicherheitsanforderungen fuer Spielplatz-Seilbahnen: Bremssysteme, Seilspannung, Aufhaengung, Enddaempfung.",
@@ -120,6 +129,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-1176-5", Number: "EN 1176-5:2019",
Withdrawn: true,
TitleDE: "Spielplatzgeraete und Spielplatzboeden — Teil 5: Zusaetzliche besondere Sicherheitsanforderungen und Pruefverfahren fuer Karussells",
NormType: "C",
ScopeDE: "Sicherheitsanforderungen fuer Spielplatz-Karussells: Drehgeschwindigkeit, Fangstellen, Standsicherheit.",
@@ -132,6 +142,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-1176-6", Number: "EN 1176-6:2017",
Withdrawn: true,
TitleDE: "Spielplatzgeraete und Spielplatzboeden — Teil 6: Zusaetzliche besondere Sicherheitsanforderungen und Pruefverfahren fuer Wippgeraete",
NormType: "C",
ScopeDE: "Sicherheitsanforderungen fuer Wippgeraete: Endanschlaege, Fingerklemmschutz, Daempfung, Standsicherheit.",
@@ -144,6 +155,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-1176-7", Number: "EN 1176-7:2020",
Withdrawn: true,
TitleDE: "Spielplatzgeraete und Spielplatzboeden — Teil 7: Anleitung fuer Einbau, Inspektion, Wartung und Betrieb",
NormType: "C",
ScopeDE: "Anleitung fuer Einbau, Inspektion und Wartung von Spielplatzgeraeten: Inspektionsintervalle, Verschleisserkennung, Dokumentation.",
@@ -158,6 +170,7 @@ func GetWave3dCNorms() []NormReference {
// ── Fitness / Gym Equipment (EN ISO 20957 series) ────────────────
{
ID: "EN-ISO-20957-1", Number: "EN ISO 20957-1:2013",
Withdrawn: true,
TitleDE: "Stationaere Trainingsgeraete — Teil 1: Allgemeine sicherheitstechnische Anforderungen und Pruefverfahren",
NormType: "C",
ScopeDE: "Allgemeine Sicherheitsanforderungen fuer stationaere Trainingsgeraete: Standsicherheit, Quetschstellen, Kennzeichnung, Genauigkeitsklassen.",
@@ -170,6 +183,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-ISO-20957-4", Number: "EN ISO 20957-4:2016",
Withdrawn: true,
TitleDE: "Stationaere Trainingsgeraete — Teil 4: Kraftbetaetigte Trainingsbaenke — zusaetzliche besondere Sicherheitsanforderungen und Pruefverfahren",
NormType: "C",
ScopeDE: "Zusaetzliche Sicherheitsanforderungen fuer kraftbetaetigte Trainingsbaenke: Gewichtsstapelabdeckung, Seilzugsicherung, Lastbegrenzung.",
@@ -182,6 +196,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-ISO-20957-5", Number: "EN ISO 20957-5:2016",
Withdrawn: true,
TitleDE: "Stationaere Trainingsgeraete — Teil 5: Stationaere Fahrradergometer — zusaetzliche besondere Sicherheitsanforderungen und Pruefverfahren",
NormType: "C",
ScopeDE: "Zusaetzliche Sicherheitsanforderungen fuer stationaere Fahrradergometer: Schwungmassenabdeckung, Pedalbelastung, Bremssystem.",
@@ -194,6 +209,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-ISO-20957-6", Number: "EN ISO 20957-6:2005",
Withdrawn: true,
TitleDE: "Stationaere Trainingsgeraete — Teil 6: Laufbaender — zusaetzliche besondere Sicherheitsanforderungen und Pruefverfahren",
NormType: "C",
ScopeDE: "Zusaetzliche Sicherheitsanforderungen fuer Laufbaender: Not-Halt-Leine, Geschwindigkeitsbegrenzung, Seitengelaender, Bandeinzug.",
@@ -206,6 +222,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-ISO-20957-9", Number: "EN ISO 20957-9:2016",
Withdrawn: true,
TitleDE: "Stationaere Trainingsgeraete — Teil 9: Ellipsentrainer — zusaetzliche besondere Sicherheitsanforderungen und Pruefverfahren",
NormType: "C",
ScopeDE: "Zusaetzliche Sicherheitsanforderungen fuer Ellipsentrainer (Crosstrainer): Quetschstellen an Gelenken, Standsicherheit, Schwungmassenabdeckung.",
@@ -218,6 +235,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-ISO-20957-10", Number: "EN ISO 20957-10:2017",
Withdrawn: true,
TitleDE: "Stationaere Trainingsgeraete — Teil 10: Trainingsfahrraeder mit starrem Antrieb oder ohne Freilauf — zusaetzliche besondere Sicherheitsanforderungen und Pruefverfahren",
NormType: "C",
ScopeDE: "Zusaetzliche Sicherheitsanforderungen fuer Trainingsfahrraeder ohne Freilauf (Spinning): Bremssystem, Schwungmassenabdeckung, Not-Brems-Hebel.",
@@ -232,6 +250,7 @@ func GetWave3dCNorms() []NormReference {
// ── Sports Facility / Swimming Pool Equipment ────────────────────
{
ID: "EN-13451-1", Number: "EN 13451-1:2011",
Withdrawn: true,
TitleDE: "Schwimmbadausruestung — Teil 1: Allgemeine sicherheitstechnische Anforderungen und Pruefverfahren",
NormType: "C",
ScopeDE: "Allgemeine Sicherheitsanforderungen fuer Schwimmbadausruestung: Fangstellen, Oberflaechen, Werkstoffe, Kennzeichnung.",
@@ -244,6 +263,7 @@ func GetWave3dCNorms() []NormReference {
},
{
ID: "EN-15288-1", Number: "EN 15288-1:2018",
Withdrawn: true,
TitleDE: "Schwimmbaeder — Teil 1: Sicherheitstechnische Anforderungen an Planung und Bau",
NormType: "C",
ScopeDE: "Sicherheitsanforderungen fuer Planung und Bau von Schwimmbadern: Wassertiefe, Bodenneigung, Rettungseinrichtungen, Beschilderung.",