Inhaltsverzeichnis
3.1 ENIVERSPIMS — Prüfwesen
Stand: 2026-03-05
Übergeordnet: PIMS-Architektur — Gesamtübersicht Verwandt: 3.2 Arbeitsaufträge | 3.4 Legacy-Analyse
Konzept
Das Prüfwesen besteht aus drei Schichten:
- Prüfdefinition — Was ist zu prüfen, wie oft, von wem? (
inspection.rule+inspection.prerequisite) - Prüfplanung — Der geplante Termin als
work.order(TypU— Überprüfung) - Prüfergebnis — Das Protokoll nach der Durchführung (
inspection.result+inspection.measurement)
Prüftypen werden nicht hart kodiert — sie leben in inspection.discipline_type (erweiterbare Tabelle).
inspection.discipline_type — Prüftypen
Ersetzt das fehlende rule_type-Konzept aus WIS (WIS hat keinen Prüftyp — er ergibt sich implizit
aus dem Quellsystem + GP + BZ). In ENIVERSPIMS führen wir ihn explizit ein.
CREATE TABLE inspection.discipline_type ( id INT NOT NULL IDENTITY PRIMARY KEY, code VARCHAR(30) NOT NULL, -- 'EMR_WIS', 'BGV_A3', 'BLITZSCHUTZ', ... label NVARCHAR(100) NOT NULL, description NVARCHAR(MAX) NULL, gp_code VARCHAR(10) NULL, -- WIS GP-Code falls zutreffend sort_order SMALLINT NOT NULL DEFAULT 0, is_active BIT NOT NULL DEFAULT 1, CONSTRAINT UQ_discipline_type_code UNIQUE (code) )
Seed-Daten (aus AMED-Quellcode-Analyse: 39 EZA-Module + WIS)
| code | label | GP-Code | Quelle |
|---|---|---|---|
EMR_WIS | EMR-Prüfung (WIS/TimeTrain) | A | WIS (APPMASTER, GP=A) |
MECH_WIS | Mechanische Prüfung (WIS) | A | WIS (APPMASTER, MECH) |
BETRIEB_WIS | Betriebliche Prüfung (WIS) | BETRIEB | WIS (Betriebspersonal) |
BGV_A3 | BGV A3 — Elektrische Prüfung | — | AMED Amed.Win.MsrEzA.BGV |
BLITZSCHUTZ | Blitzschutzanlage | — | AMED Amed.Win.MsrEzA.Blitzsch |
KV_PRUEF | Kraftverteiler-Prüfung | — | AMED Amed.Win.MsrEzA.KVPruf |
FI_SCHUTZ | FI-Schutzschalter-Prüfung | — | AMED Amed.Win.MsrEzA.FIListe |
BELEUCHTUNG | Beleuchtungsanlage | — | AMED Amed.Win.MsrEzA.Beleuch |
SICHER_BELEUCH | Sicherheitsbeleuchtung | — | AMED Amed.Win.MsrEzA.SicherBeleuch |
EX_SCHUTZ | Ex-Schutz-Prüfung | — | AMED Amed.Win.MsrEzA.ExNachNum |
STARKSTROM | Starkstromanlage | — | AMED Amed.Win.MsrEzA.Starkstr |
HSHZ | HSHZ-Anlage | — | AMED Amed.Win.MsrEzA.HSHZListe |
ROHR | Rohrprüfung (TecDB) | — | AMED Amed.Win.Rohre |
SONSTIGE | Sonstige Prüfung | — | Erweiterungspunkt |
inspection.rule — Prüfregeln
Direkt abgeleitet aus dem WIS-Parametersystem (RuleKey / Rules / RuleBase). Jeder Rule-Datensatz beschreibt die Prüfkonfiguration eines Items.
CREATE TABLE inspection.rule ( id INT NOT NULL IDENTITY PRIMARY KEY, item_id INT NOT NULL, -- FK → ENIVERSCAFM.asset.item discipline_type_id INT NOT NULL, -- FK → inspection.discipline_type -- WIS-Parameter (aus RuleKey-Dimensionen) iv_code VARCHAR(10) NULL, -- PIV: Prüfintervall (1T, 1W, 1M, 1J, 5J, ...) bz_code VARCHAR(5) NULL, -- BZ: Prüfzustand (L=Laufend, R=Ruhe, X=Außer, P=Pause) gp_code VARCHAR(10) NULL, -- GP: Ausführungsgruppe (EMR WIS, MECH WIS, BETRIEB, ...) eie_code VARCHAR(10) NULL, -- EIE: Einblendintervall vor Fälligkeit pv_code VARCHAR(20) NULL, -- PV: Prüfverantwortlicher po_code VARCHAR(20) NULL, -- PO: Prüforganisator bv_ref NVARCHAR(100) NULL, -- BV: Bezug/Vorschrift (BetrSichV, DGUV V3, ...) regulatory_src NVARCHAR(200) NULL, -- Volltext Vorschriftenquelle -- Aktivierung is_active BIT NOT NULL DEFAULT 1, valid_from DATE NULL, valid_until DATE NULL, -- NULL = unbefristet -- Migration legacy_rulebase_id INT NULL, -- WIS RuleBase-PK legacy_common_id INT NULL, -- WIS Common-PK -- Audit created_at DATETIME2 NOT NULL DEFAULT SYSUTCDATETIME(), updated_at DATETIME2 NOT NULL DEFAULT SYSUTCDATETIME() )
WIS-Parameter-Referenz
| Code | Bedeutung | Beispielwerte (aus WIS.Rules) |
|---|---|---|
| PIV | Prüfintervall | 1T, 3T, 1W, 2W, 1M, 3M, 6M, 1J, 2J, 3J, 5J, 10J (37 Werte) |
| BZ | Prüfzustand | L (Laufend), R (Ruhe), X (Außerbetrieb), P (Pause) |
| GP | Ausführungsgruppe | EMR WIS, MECH WIS, BETRIEB, ext. Sachverst., ÜS |
| EIE | Einblend-Voranzeige | 1T, 1W, 2W, 1M (wie früh wird Aufgabe sichtbar) |
| PV | Prüfverantwortlicher | Personalkürzel / Rolle |
| PO | Prüforganisator | Personalkürzel / Rolle |
| BV | Bezug / Vorschrift | 180+ Rechtsreferenzen (BetrSichV, DGUV V3, …) |
| DK | Deaktivierungsdatum | Datum, ab dem Regel nicht mehr gilt |
inspection.prerequisite — Prüfvoraussetzungen
Speichert, welche Unterlagen/Zeichnungen für ein Item vorhanden sind. Abgeleitet aus AMED EZAPrufVor (1.376 Einträge, FK=IDEZA → EZAMASTER).
CREATE TABLE inspection.prerequisite ( id INT NOT NULL IDENTITY PRIMARY KEY, item_id INT NOT NULL, -- FK → ENIVERSCAFM.asset.item -- Vorhandene Unterlagen (bit + Nummer) has_stellenblatt BIT NOT NULL DEFAULT 0, nr_stellenblatt NVARCHAR(50) NULL, has_stellenplan BIT NOT NULL DEFAULT 0, nr_stellenplan NVARCHAR(50) NULL, has_stromlaufplan BIT NOT NULL DEFAULT 0, nr_stromlaufplan NVARCHAR(50) NULL, has_fliessbild BIT NOT NULL DEFAULT 0, -- R&I-Ausschnitt has_funktionsplan BIT NOT NULL DEFAULT 0, nr_funktionsplan NVARCHAR(50) NULL, has_behaelterzeichnung BIT NOT NULL DEFAULT 0, nr_behaelterzeichnung NVARCHAR(50) NULL, -- Freitext-Hinweise pruef_cycle_comment NVARCHAR(125) NULL, -- Hinweis zum Prüfzyklus look_at_comment NVARCHAR(100) NULL, -- Was ist zu beachten pruefungshinweis NVARCHAR(MAX) NULL, -- Volltext Prüfanweisung datum_pruefvorschrift DATE NULL, -- Migration legacy_id INT NULL, -- EZAPrufVor.IDEZA -- Audit created_at DATETIME2 NOT NULL DEFAULT SYSUTCDATETIME(), updated_at DATETIME2 NOT NULL DEFAULT SYSUTCDATETIME(), created_by INT NULL, updated_by INT NULL )
inspection.result — Prüfprotokoll
Wird nach Durchführung einer Prüfung (work.order Typ U) erstellt.
CREATE TABLE inspection.result ( id INT NOT NULL IDENTITY PRIMARY KEY, work_order_id INT NOT NULL, -- FK → work.order (der abgeschlossene Auftrag) item_id INT NOT NULL, -- FK → ENIVERSCAFM.asset.item (denormalisiert) discipline_type_id INT NOT NULL, -- FK → inspection.discipline_type -- Durchführung inspected_by INT NULL, -- FK → ENIVERSSIAM.auth.user inspected_at DATETIME2 NOT NULL, -- Ergebnis result_code VARCHAR(20) NOT NULL, -- 'pass','fail','conditional','not_applicable' notes NVARCHAR(MAX) NULL, -- Dokumentreferenz doc_reference NVARCHAR(500) NULL, -- externe Dokumentennummer -- Folge-Auftrag bei Mangel fault_report_id INT NULL, -- FK → fault.report (wenn Mangel) -- Audit created_at DATETIME2 NOT NULL DEFAULT SYSUTCDATETIME() )
inspection.measurement — Messwerte
Für Prüfungen mit numerischen Messwerten (AMED EZALebMess, EZAMessHist).
CREATE TABLE inspection.measurement ( id INT NOT NULL IDENTITY PRIMARY KEY, result_id INT NOT NULL, -- FK → inspection.result item_id INT NOT NULL, -- FK → ENIVERSCAFM.asset.item measured_at DATETIME2 NOT NULL, measured_by INT NULL, parameter_code VARCHAR(50) NOT NULL, -- z.B. 'ISOLATIONSWIDERSTAND', 'TEMPERATUR' value_numeric DECIMAL(15,4) NULL, value_text NVARCHAR(200) NULL, unit NVARCHAR(20) NULL, standort_code VARCHAR(20) NULL, -- EZALebStanOrt (Messstandort) notes NVARCHAR(500) NULL, -- Migration legacy_id INT NULL, -- EZALebMess.ID oder EZAMessHist.ID legacy_source VARCHAR(20) NULL -- 'AMED_LEBMess' | 'AMED_MESSHist' )
Rohre als Asset-Typ
Rohre werden als asset.item mit type_code = 'piping' geführt (ENIVERSCAFM).
Die Rohrprüfung ist discipline_type.code = 'ROHR' in ENIVERSPIMS.
ENIVERSCAFM: ENIVERSPIMS:
asset.item (type_code='piping') → inspection.rule (discipline_type='ROHR')
asset.property_schema → inspection.result
Baustein 'druckmedium' inspection.measurement
(medium, druck_bar, dn, ...) (Wanddicke, Betriebsdruck, ...)
Das druckmedium-Baustein in asset.property_schema übernimmt die
TecDB-Felder (Medium, Druck, Temperatur, Nennweite) als COMPOSITE-Eigenschaft.