Metodyka oceny zgodności: jak Skerry sprawdza wymagania
Jak silnik reguł Skerry porównuje odczyty z limitami, tworzy okna pomiarowe, ocenia obowiązki i oznacza wynik jako ostateczny lub wstępny.
Skerry nie ocenia „na wyczucie”. Silnik reguł jest czystą, deterministyczną funkcją: te same dane i ten sam zestaw reguł zawsze dają ten sam wynik, a każdy wynik zachowuje informację, według której wersji reguł i na jakich danych został wydany. Ta strona opisuje, co silnik robi, a czego nie robi.
Status zestawu reguł dla Polski
Zestaw reguł dla Polski jest w przygotowaniu. Jego weryfikacja opiera się na rozporządzeniu w sprawie wody na pływalniach (Dz.U. 2022 poz. 1230) oraz na aktach z 2026 r. dotyczących ciepłej wody i Legionelli (Dz.U. 2026 poz. 605 i poz. 748). Zestaw nie został wdrożony dla klientów. Dlatego wyniki oparte na nim miałyby charakter wstępny, a opisana niżej metodyka dotyczy zasad działania silnika, nie gotowej oceny konkretnego obiektu.
Dwie rzeczy: czego wymaga przepis i jak to sprawdzamy
Reguły są przechowywane w dwóch częściach:
- Zestaw reguł opisuje, czego wymaga akt prawny: parametry z limitami, obowiązki z częstotliwością oraz zdarzenia (warunki). Każdy wpis ma wskazany przepis (np. rozporządzenie, § 5, załącznik 2) i znacznik, czy został sprawdzony z tekstem źródłowym.
- Definicja sprawdzania opisuje, jak maszyna weryfikuje obowiązek: czy wystarczą odczyty, czy potrzebne jest badanie laboratoryjne, czy obowiązek może potwierdzić tylko człowiek.
Opublikowanego zestawu się nie zmienia. Gdy zmienia się przepis, powstaje nowa wersja, a stare wyniki pozostają przypisane do wersji, według której je wydano. W kodzie nie ma limitów, częstotliwości ani kwot kar.
1. Odczyt a limit
Po wpisaniu odczytu silnik znajduje właściwy limit dla rodzaju niecki i pokazuje go razem z przepisem, jeszcze przed zapisaniem. Limit może być włączający (wartość równa granicy jest dopuszczalna) albo ostry („poniżej”, wartość równa granicy nie spełnia wymagania). Rodzaj granicy wskazuje reguła danego parametru.
- Odczyt poza limitem nie może zostać zapisany bez notatki o działaniu: co zrobiono, aby usunąć odchylenie. Po zapisaniu automatycznie powstaje odchylenie.
- Odchylenie zamyka się dopiero, gdy wykonano działanie i ponowny pomiar mieści się w limicie.
- Jeśli wartość w przepisie jest zaleceniem („powinna”, a nie „musi”), odczyt poza nią jest oznaczany, ale nie wymaga notatki i nie otwiera odchylenia. Nie nazywamy tego naruszeniem. Przykładem są zalecenia dotyczące temperatury ciepłej wody z załącznika 5 rozporządzenia 748.
2. Okna pomiarowe
Z częstotliwości parametru i godzin pracy obiektu silnik generuje okna, w których musi znaleźć się co najmniej jeden odczyt. Dla pomiarów co 4 godziny (Dz.U. 2022 poz. 1230, § 3 ust. 1 pkt 2 lit. a) okna biegną od otwarcia do zamknięcia, pierwszy odczyt przed otwarciem. Dla chloru związanego okno to doba, bo rozporządzenie wymaga oznaczania co najmniej raz na dobę.
Minione puste okno zawsze pozostaje widoczne jako pominięte, nawet jeśli później wpisano inne odczyty. Okno sprawdza obecność wpisu; nie jest to to samo, co dosłowny warunek, że odstęp między pomiarami nie przekroczy 4 godzin. Dwa wpisy na brzegach sąsiednich okien mogą dzielić dłuższy odstęp, więc pomiary warto planować według odstępu, a nie tylko według okien.
3. Ocena obowiązków
Każdy obowiązek jest oceniany jednym ze sposobów: okna odczytów, obecność odczytów, okna badań laboratoryjnych (z uwzględnieniem akredytacji laboratorium), obecność badania, ważny dokument, wykonana praca w okresie albo praca po zdarzeniu. Wynik jest jednym z pięciu:
| Wynik | Znaczenie |
|---|---|
| Spełniony | Dane pokazują, że obowiązek wykonano |
| Niespełniony | Dane pokazują, że obowiązku nie wykonano; to jedyny przypadek nazywany naruszeniem |
| Potrzebne dane | Silnik nie może rozstrzygnąć, bo brakuje wejścia; to nie jest naruszenie |
| Potrzebny audytor | Obowiązku maszyna nie sprawdza, potwierdza go człowiek; to nie jest naruszenie |
| Nie dotyczy | Obowiązek nie dotyczy tego rodzaju niecki lub warunku |
4. Zdarzenia i warunki
Część obowiązków powstaje po zdarzeniu, np. po incydencie kałowym lub wymiotnym, po przekroczeniu poziomu działań Legionelli albo po przerwie w eksploatacji. Silnik ocenia zdarzenia na podstawie faktów i wpisanych zdarzeń. Jeśli warunkowi zdarzenia brakuje danych, jest pokazywany jako „nieokreślony” z listą brakujących danych, a nie jako wniosek.
5. Wynik ostateczny czy wstępny
Wynik jest ostateczny tylko wtedy, gdy zestaw reguł obowiązuje, wszystkie użyte wpisy zostały sprawdzone z tekstem źródłowym, a ich zastosowanie nie jest interpretacją. W pozostałych przypadkach wynik jest wstępny i podaje powód. Przykładem interpretacji jest punkt, w którym przepis nie określa liczbowego terminu, a reguła używa wartości przybliżonej, oraz zagadnienia uznane za wymagające potwierdzenia w PPIS (np. czy dany obiekt jest obiektem priorytetowym).
Kwoty kar nie są elementem oceny: ich podstawa wymaga potwierdzenia przez polskiego prawnika.
6. Punktacja i ślad audytowy
Punktacja jest podsumowaniem, nie oceną prawną: zaczyna od 100, za każde naruszenie odejmuje się punkty według wagi, a wynik nie spada poniżej zera. Wyniki „potrzebne dane” i „potrzebny audytor” jej nie zmieniają. Punktacja nigdy nie jest świadectwem zgodności.
Każda ocena zapisuje kod i wersję zestawu reguł, sumę SHA-256 pliku zestawu i definicji sprawdzania, wersję silnika oraz sumę SHA-256 danych wejściowych. Odczyty i badania są tylko dopisywane: poprawka tworzy nowy wpis z powodem, a stary pozostaje widoczny jako zastąpiony.
Czego silnik nie robi
- Nie zastępuje decyzji PPIS ani opinii prawnika; wynik jest techniczny, oparty na wprowadzonych danych.
- Nie rozstrzyga, co zrobić: pokazuje limit, przepis i brakujące dane.
- Nie ocenia tego, czego nie wprowadzono: brak faktu to „potrzebne dane”, nie „zgodne”.
- Wyniku silnika nie należy przedstawiać jako opinii prawnej. Przed zastosowaniem w obiekcie warto skonsultować zestaw z polskim prawnikiem.