ZUS Accident Notification Tool
Celem systemu jest automatyzacja i uproszczenie procesu zgłaszania wypadków przy pracy (dla przedsiębiorców). System rozwiązuje dwa główne problemy:
- Dla Obywatela: Eliminuje stres związany z urzędowym językiem i brakiem wiedzy, prowadząc go za rękę przez proces zgłoszenia.
- Dla ZUS: Drastycznie skraca czas analizy, dostarczając pracownikowi wstępnie zweryfikowane dane, rekomendację decyzji oraz gotowy projekt dokumentu końcowego.
Interfejs: Prosta strona webowa / Webowy Chatbot
-
Upload Dokumentów:
- Użytkownik wgrywa skan, zdjęcie lub PDF z opisem wypadku (często pismo odręczne).
- Może wgrać wiele plików (np. opis zdarzenia + orzeczenie lekarskie).
-
Analiza AI (W czasie rzeczywistym):
- System w tle przetwarza obraz/tekst.
- Sprawdza kompletność merytoryczną (nie tylko czy pola są wypełnione, ale czy mają sens, np. czy jest data, miejsce, opis przyczyny).
-
Interakcja Zwrotna (Chatbot):
- Scenariusz "Braki": Jeśli AI wykryje brak kluczowych informacji (np. brak godziny zdarzenia), Chatbot wyświetla komunikat: "System przyjął wstępny dokument, ale brakuje nam godziny zdarzenia. Proszę napisz tutaj, o której to się stało". Użytkownik odpisuje na czacie, a system uzupełnia dane w bazie.
- Scenariusz "Sukces": Jeśli zgłoszenie jest kompletne, użytkownik otrzymuje komunikat: "Twoje zgłoszenie zostało przyjęte do analizy. Numer sprawy: #12345".
Interfejs: Panel Administracyjny (Dashboard)
-
Lista Zgłoszeń:
- Pracownik widzi listę nowych spraw ze statusem "Wstępnie zweryfikowane".
-
Widok Szczegółowy Sprawy:
- Po wejściu w sprawę widzi oryginalny plik PDF (podgląd).
- Widzi wyekstrahowane dane w czytelnej tabeli.
-
Wsparcie Decyzji (AI Recommendation):
- System wyświetla sekcję "Analiza AI":
- Rekomendacja: UZNAĆ / ODMÓWIĆ.
- Pewność (Confidence): Pasek procentowy (np. 85%).
- Uzasadnienie: Krótkie wyjaśnienie dlaczego (np. "Zdarzenie spełnia definicję wypadku przy pracy: nagłość, przyczyna zewnętrzna, związek z pracą").
- System wyświetla sekcję "Analiza AI":
-
Projekt Karty Wypadku (Draft Document):
- Kluczowy element: System generuje podgląd finalnego dokumentu (Karta Wypadku).
- Dokument jest już wypełniony danymi z analizy.
- Pracownik ma przycisk "Pobierz PDF" lub "Drukuj".
- Uwaga techniczna: Jest to wyrenderowany szablon HTML, który wygląda jak oficjalny druk, gotowy do zapisu jako PDF przez przeglądarkę lub system.
System opiera się na Django jako sercu aplikacji, które zarządza logiką i bazą danych, oraz na zewnętrznym modelu AI (Gemini) działającym jako "Mózg".
-
Core (Django Backend):
- Obsługa użytkowników i sesji.
- Zarządzanie plikami (Storage).
- Orkiestracja procesów (kiedy uruchomić AI, kiedy wysłać powiadomienie).
-
Agent 1: Parser & Validator (Multimodal AI):
- Jego rolą jest "patrzenie" na dokument.
- Rozumie pismo odręczne (OCR nie jest potrzebny jako osobny moduł, model robi to natywnie).
- Decyduje, czy zgłoszenie jest kompletne.
-
Agent 2: Analyst & Judge (Decision AI):
- Działa na danych ustrukturyzowanych (wyciągniętych przez Agenta 1).
- Porównuje fakty z zasadami (prompt inżynierski zawierający definicję wypadku przy pracy).
- Generuje treść uzasadnienia do Karty Wypadku.
-
Baza Danych:
- Przechowuje stan zgłoszenia (Szkic -> Uzupełnianie -> Gotowe do oceny -> Zakończone).
- Przechowuje historię czatu z obywatelem.
To nie jest zwykły formularz. To "Inteligentna Nakładka":
- Użytkownik nie wypełnia 50 pól formularza ręcznie. Wgrywa zdjęcie.
- Chatbot "czyta" zdjęcie.
- Jeśli brakuje np. "Świadków zdarzenia", Chatbot pyta językiem naturalnym: "Czy przy wypadku był obecny ktoś jeszcze? Jeśli tak, podaj ich dane."
- Odpowiedź użytkownika jest parsuje i dodawana do struktury JSON w bazie danych, scalając wiedzę z dokumentu i czatu.
Zamiast skomplikowanego generowania binarnego pliku PDF w Pythonie (co jest trudne do stylowania), zastosujemy podejście "Web-to-Print":
- Szablon HTML/CSS: Przygotowujemy w Django szablon HTML, który wizualnie wygląda identycznie jak papierowa Karta Wypadku (nagłówki, ramki, pieczątki, miejsce na podpis).
- Wypełnianie dynamiczne: Django wstrzykuje w ten szablon dane wyciągnięte przez AI i zatwierdzone przez pracownika.
- Eksport: Pracownik ZUS klika "Pobierz PDF". System (lub przeglądarka) konwertuje ten widok HTML do pliku PDF.
- Zaleta: Łatwość edycji szablonu, szybkość działania, spełnienie wymogu konkursowego ("przygotowanie projektu karty").
Faza 1: Backend & AI Core (Fundament)
- Konfiguracja Django i modelu bazy danych (
Zgloszenie,Status,Decyzja). - Implementacja skryptu
pydantic-aiz modelem Gemini jako serwisu wewnątrz Django. - Testowanie parsowania na przykładowych PDF-ach (ręcznie pisanych).
Faza 2: Agent 1 - Ścieżka Obywatela
- Stworzenie widoku uploadu plików.
- Logika sprawdzania kompletności ("Czy mamy datę, miejsce, uraz?").
- Prosty interfejs "Chatu" do dopytywania o braki (jeśli
complete=False).
Faza 3: Agent 2 - Panel ZUS
- Stworzenie Dashboardu dla pracownika (lista spraw).
- Logika rekomendacji (Prompt: "Jesteś ekspertem ZUS, oceń to zdarzenie...").
- Wyświetlanie pewności i uzasadnienia.
Faza 4: Generator Dokumentów
- Stworzenie szablonu HTML "Karta Wypadku".
- Podpięcie danych z bazy do szablonu.
- Dodanie przycisku pobierania/drukowania.
Faza 5: Prezentacja & Testy
- Wgranie 5 dokumentów testowych dostarczonych przez Jury.
- Nagranie demo procesu.
- Język: Python 3.10+
- Framework: Django 5
- AI Engine: Google Gemini (via
pydantic-aiSDK) – model multimodalny (widzi i czyta). - Baza danych: SQLite (na hackathon wystarczy) lub PostgreSQL.
- Frontend: HTML + TailwindCSS (prosty, czysty UI).
- PDF: HTML Template + systemowy druk do PDF.