Nie otrzymałem kompletu raportów z losowań!

18 czerwca 2024


Dziś opisuję, w jaki sposób doszedłem do przekonania, że Ministerstwo Sprawiedliwości nie przekazało mi kompletu raportów z Systemu Losowego Przydziału Spraw. Ktoś mógłby zarzucić, że wykazane w niniejszym tekście braki są oczywiste i powinienem był zauważyć je dużo wcześniej. Tak to jednak nie działa.

Po pierwsze - mówimy o naprawdę dużej liczbie dokumentów. Gdyby zostały wydrukowane na kartkach A4, papier ważyłby jakieś 50 ton. Więcej, niż można w Polsce przewozić pojedynczym pojazdem ciężarowym. Po drugie - choć wyszukiwanie w bazie danych jest dużo łatwiejsze, niż grzebanie w milionach arkuszy papieru, w obu przypadkach dostrzeżone luki w numeracji mogą mieć wiarygodne wytłumaczenie. I o tym będzie właśnie dzisiejszy artykuł.

Dziury w numeracji

W zestawie danych, na którym pracuję pisząc te słowa, znajdują się 9.921.052 raporty losowań spraw z okresu od 01 stycznia 2022 do 29 marca 2024. Numeracja tych raportów zawiera się w przedziale od 18.529.168 do 28.919.954, a więc mieści 10.390.787 indeksów. Widzimy, że w przetwarzanym zestawie brakuje 469.734 losowań - stanowiących 4.52% możliwych numerów.

Czy oznacza to automatycznie, że dokładnie tylu raportów brak? Niekoniecznie. Uwaga, będzie odrobina wiedzy ze świata IT. W systemach bazodanowych, a takim jest zbudowany w oparciu o silnik SQL Server system SLPS, często używa się tzw. sekwencji (sequence). Są to obiekty generujące numerację unikalną w obrębie całego systemu. „Pobranie numerka” z sekwencji jest czynnością, której nie można cofnąć. Jeśli więc nadano numer operacji, która została anulowana lub usunięta, w szeregu liczebników pojawią się luki.

Nie byłem więc zdziwiony, gdy dostrzegłem takie luki w numeracji raportów. Czytelnikom przypominam, że nie mam nic wspólnego z wymiarem sprawiedliwości i nie znam procedur stosowanych w sądach. Jestem jedynie skromnym programistą, ciekawskim lecz naiwnym - zakładałem, że Ministerstwo przekazało mi komplet danych, i z takim założeniem podszedłem do analizy. Gdy jednak przyjrzałem się wspomnianym wyżej brakom, zacząłem dostrzegać pewne wzorce.

Przykład nr 1

Z instrukcji obsługi systemu SLPS dla pracownika sekretariatu wiemy, że: „Procedura losowania rozpoczyna się od pobrania wszystkich przypisanych do konkretnego wydziału spraw sądowych […] z podziałem na obowiązujące w nim kategorie. W celu uniknięcia manipulacji kolejnością wpływu spraw, spośród puli wszystkich pobranych spraw dla danego wydziału wybór kolejności, w jakiej ostatecznie będzie dolosowywany sędzia referent, również odbywa się na zasadzie losowania.

Spójrzmy teraz na brakujące losowanie nr 27707554.

tabela z losowaniami
NA = brak wartości w bazie danych

Przed i po brakującym numerze (oznaczonym na czerwono) mamy sprawy z wydziału III Sądu Rejonowego w Suwałkach, o numerach 809/23 i 811/23. Co stało się ze sprawą 810/23, która powinna znajdować się między nimi? Była losowana przeszło pięć miesięcy później.

Raport z losowania

Czy to w ogóle legalne? Okazuje się, że tak. Zgaduję, że zastosowanie miała tu następująca funkcja (cytat z instrukcji obsługi):

fragment instrukcji

Dalej czytamy: „Po zapisaniu zmiany taka sprawa będzie miała w SLPS status „Nie do losowania” i nie zostanie objęta losowaniem do czasu zmiany ustawień. Jeśli użytkownik uzna, że sprawę można już poddać procedurze losowania, powinien ponownie ustawić suwać w pozycji „Nie” i zapisać zmianę. Taka zmiana spowoduje zmianę dotychczasowego statusu sprawy na „Do losowania” i wylosowanie składu orzekającego w najbliższej sesji losującej.

Kiedy taka sytuacja ma miejsce? Zapytałem o możliwe przyczyny osobę mającą na co dzień do czynienia z Systemem Losowego Przydziału Spraw. Dowiedziałem się o następującej praktyce działania wydziałów rodzinnych: „wynika to z tego, że sprawy Nsm [sprawy dotyczące małoletnich, które podlegają rozpoznaniu przez sąd rodzinny w trybie postępowania nieprocesowego] niekoniecznie muszą podlegać losowaniu - mogą być losowane tylko niektóre i mogą być losowane w różnych terminach - wynika to z ustaleń w danym Wydziale. Może to być np. podział terytorialny - pierwszy sędzia dostaje jakąś gminę, drugi inną gminę i te sprawy nie są losowane, a trafia się jakaś sprawa, której podmioty są na terenie dwóch gmin i wtedy taka sprawa jest wrzucana do losowania. Ta sprawa mogła być wrzucona do losowania dopiero w maju, bo np. jedna ze stron się przeprowadziła.”

Czy to zatem sprawa III Nsm 810/23 wygenerowała dziurę w numeracji? Zawieśmy na chwilę to pytanie i spójrzmy na…

Przykład nr 2

Sąd Rejonowy w Gliwicach, losowania z 3 stycznia 2024. W zaznaczonym bloku wyraźnie brakuje spraw IV Nsm numer 6/24 i 7/24 - wokół widzimy numery 2, 3, 4, 5 oraz 8 i 9.

tabela losowań

Wystarczy jednak zajrzeć kilkanaście wierszy niżej, by odnaleźć zagubione sprawy.

tabela losowań

Jak zinterpretować ten przypadek? Wydawało mi się, że zachodzi tu niezgodność stanu faktycznego ze specyfikacją, która każe grupować sprawy, ale pewności nie miałem. Zauważyłem bowiem, że w bloku zaznaczonym na zielono mamy sprawy z nadaną kategorią, zaś w bloku zaznaczonym na czerwono - bez kategorii.

Najwyraźniej jednak grupy takie faktycznie są agregowane osobno, zaś trzy puste miejsca dają się wyjaśnić obecnością w tym dniu trzech raportów losowań z roku 2023. W jaki sposób? Spójrzmy na…

Przykład nr 3

Wśród spraw repertorium P [dla spraw z zakresu prawa pracy] w wydziale IV Sądu Rejonowego w Gorzowie Wielkopolskim mamy 10 pustych miejsc. Jednocześnie tego samego dnia wygenerowano w tym wydziale i repertorium 10 raportów losowań z roku 2023. Były to sprawy nr 138, 172, 184, 191, 203, 221, 229, 309, 327, 328 - losowane między czerwcem a grudniem 2023 - zaś raporty w plikach PDF są dostępne w pierwotnej dacie losowania ORAZ 3 stycznia 2024. Różnią się datą losowania.

tabela losowań

Jak połączyć te fakty? Dlaczego w powyższej numeracji jest tego dnia tyle samo dziur, co raportów z przeszłości? Dlaczego raporty z II i III kwartału 2023 wygenerowane zostały ponownie w styczniu 2024? A może po prostu dostarczono mi błędnie wygenerowane lub błędnie skopiowane zbiory danych, tymczasem zabrakło dziesięciu prawidłowych raportów z 3 stycznia 2024?

Rozwiązanie zagadki jest prawdopodobnie inne. Gdy spytałem mojego konsultanta o analogiczną sytuację, odpowiedział: „wszystko jest ok, pod warunkiem przyjęcia do wiadomości pewnych “głupot” raportów SLPS - losowanie odbyło się prawidłowo w dniu X, wylosowano wskazanego sędziego, sprawa była wrzucona do losowania w składzie 1-osobowym. Ale w dniu Y została wyedytowana i skład sędziowski został rozszerzony na 3-osobowy. Dlatego masz na raporcie datę losowania X, ale datę wygenerowania Y, bo wtedy został “podmieniony” oryginalny raport”.

Dowiedzieliśmy się zatem, że istnieją losowania, z których nie powstaje raport opatrzony rzeczywistym, nowym numerem przechowywanym w bazie danych, choć ów numer losowania najwyraźniej zostaje zarezerwowany. Zamiast tego nowe losowanie tej samej sprawy dostaje stary numer, czego jedynym śladem jest zmieniona data generowania raportu.

Opisany mechanizm tłumaczy wszystkie trzy powyższe przykłady. Czy moja obserwacja i wnioski są zgodne z prawdą? Nie wiem, ale kropki chyba łączą się w większy obrazek. Masz wiedzę na temat działania SLPS? Odezwij się, proszę, może być anonimowo.

Teraz będzie dziwniej…

Policzmy, o ilu przypadkach mowa powyżej. Okazuje się, że jest ich jedynie 39218. Ich rozkład według daty wygenerowania raportu wygląda następująco:

wykres

Niespodzianka - w dniach 6.02.2023, 3.03.2023 oraz 6.03.2023 skumulowało się od pięciu do osiemnastu tysięcy takich wystąpień. Dlaczego? Nie wiem, ale raczej nie wszystko jest tu OK. Nie sposób przyjąć, że w trzy dni doszło do wylosowania kilkudziesięciu tysięcy rozszerzonych składów. Poza tymi wyjątkami podobnych przypadków jest kilka-kilkanaście dziennie, a i to nie w każdy dzień. Zidentyfikowane 39 tysięcy przypadków to wciąż niewielka część z 469 tysięcy brakujących raportów. Musimy szukać dalej.

…i jeszcze dziwniej

Sprawdźmy, ile raportów brakuje nam w różnych dniach. W każdym dniu losowania obliczamy różnicę między najmniejszym a największym numerem losowania (wynik to teoretyczna liczba losowań), od wyniku odejmujemy liczbę rzeczywiście otrzymanych raportów.

wykres

Wykres braków jest zdumiewająco regularny. Do 10 listopada 2022 brakuje ok. 300 raportów dziennie, od tego dnia - poniżej 50. Skąd taka nagła zmiana? Nie wiem. Co zmieniło się jesienią 2022? Też nie wiem. Poruszamy się tu w warunkach podwójnej niepewności - nie tylko nie wiemy, jak interpretować wykryte anomalie, ale nie wiemy nawet, czy rzeczywiście występują! Brak części raportów może przecież zniekształcać interpretację danych, które przetwarzamy.

A teraz dla odmiany będzie bardzo prosto

Ostatni etap identyfikacji brakujących raportów losowań okazał się bardzo prosty. Zwróciłem uwagę na fakt, że w ostatnim dniu wielu miesięcy liczba losowań była bliska zeru. Na początku myślałem, że był to efekt uboczny organizacji pracy sądów lub Systemu Losowego Przydziału Spraw - że w ostatnim dniu miesiąca sprawy nie są rejestrowane lub losowane albo coś w tym stylu.

wykres

Gdy jednak przyjrzałem się raportom z tych dni, zauważyłem, że wszystkie zostały wygenerowane kiedy indziej.

wykres

Postanowiłem więc pominąć raporty z rozbieżnymi datami i sprawdzić, ile raportów gubi się między dniami, czyli między największym numerem losowania ze wskazanego dnia i najmniejszym numerem z kolejnego dnia.

wykres

Okazuje się, że w przekazanym mi zestawie plików PDF brakuje danych z 21 dni następujących po datach, które w tabelce oznaczono na zielono. Liczba brakujących raportów - oznaczona na czerwono - to w sumie ponad 429 tysięcy pozycji.

Tym samym jasne staje się, że za lwią część zidentyfikowanych luk w numeracji odpowiadają całe brakujące dni. Nie podejrzewam tu celowych złośliwości ze strony pracowników Ministerstwa - prawdopodobnie w mechanizmach eksportu lub przygotowania danych do kopiowania wystąpił błąd typu off-by-one, wskutek czego podczas generowania paczek z plikami PDF pominięto ostatnie dni większości miesięcy.

Podsumowanie

Jeśli podczas powyższej lektury pogubiliście się w szczegółach - doskonale to rozumiem! Ja przyglądam się tym danym od miesięcy i nadal bywam zagubiony, cóż więc mają powiedzieć osoby niezwiązane z opisywanymi tematami!

Podsumujmy zatem:

  • Ministerstwo Sprawiedliwości przekazało mi raporty losowań spraw z przedziału 01.01.2022-29.03.2024, jednak zabrakło w nich danych z 21 dni (ok. 429 tys. raportów czyli 4.1% całości)

  • ok. 40 tysięcy (czyli ok. 0.4%) pozostałych brakujących raportów to prawdopodobnie sprawy z powtórzonymi losowaniami - z których nie powstał raport z nowym numerem

  • dziwny rozkład liczby dziennych braków, oraz jego nietypowa zmienność, pozostawiają wątpliwości dotyczące tego, czy zidentyfikowaliśmy komplet powodów, dla których w numeracji raportów SLPS pozostają luki

Zwróciłem się już do Ministerstwa Sprawiedliwości o uzupełnienie przekazanych uprzednio danych.

Skoro o Ministerstwie mowa, to niestety współpraca w przekazywaniu raportów zazgrzytała i stanęła. Mamy połowę czerwca, tymczasem nie tylko nie otrzymałem danych z kwietnia i maja, lecz zalecono mi pobranie ich z… wyszukiwarki online. Odesłano mi też zapas pendrive’ów, które dostarczyłem mając nadzieję na sprawniejszą realizację wniosków.

Plany na najbliższy czas? Najpierw opublikuję dane z I kwartału 2024, potem przyjrzę się tematowi normalizacji wskaźników obciążenia. A potem się zobaczy - może dane z II kwartału jednak magicznie się pojawią.


Masz pytania lub uwagi do niniejszego tekstu? Napisz!

Tomasz Zieliński



Starszy artykuł: « Śmieci na wejściu, śmieci na wyjściu czyli kilka spostrzeżeń dotyczących jakości SLPS