Przetwarzanie danych w Pythonie - pandas, automatyzacja rozliczeń
Problem
Centrum diagnostyczne rozliczające się z wieloma placówkami medycznymi dostawało co miesiąc pliki z setkami badań: RTG, TK, MR, mammografia. Każde badanie miało priorytet, kategorię anatomiczną, typ procedury. Ręczne sortowanie i sumowanie według kluczy cennikowych zajmowało pracownikom biura całe dni.
Rozwiązanie
Skrypt Python automatycznie przetwarza pliki rozliczeniowe z wyznaczonego folderu. Algorytm klasyfikuje każde badanie MR według kategorii anatomicznej (głowa/kręgosłup, stawy, inne) na podstawie słów kluczowych w nazwie procedury. Badania porównawcze TK i MR są osobno wyodrębniane. Wyniki agregowane według klientów i kluczy cennikowych trafiają do pliku gotowego do importu.
Efekt
Miesięczne rozliczenie, które zajmowało kilka dni, skróciło się do jednego kliknięcia. Plik wynikowy gotowy do importu do systemu finansowego. Zero ręcznych pomyłek w klasyfikacji badań. Aktualizacja słownika słów kluczowych - i algorytm natychmiast obsługuje nowe typy procedur.
Kluczowe funkcjonalności:
- Automatyczna klasyfikacja badań MR według kategorii anatomicznej
- Osobna obsługa badań porównawczych TK i MR
- Agregacja wyników według klientów i kluczy cennikowych
- Obsługa wielu plików rozliczeniowych jednocześnie
- Automatyczna aktualizacja historycznego pliku wynikowego - bez duplikatów
- Szczegółowe logi przetwarzania dla każdego pliku
Dlaczego Python, a nie VBA
VBA jest świetne dla 80% automatyzacji w Excelu. Ten projekt należał do pozostałych 20%. Trzy powody, dla których wybraliśmy Python: wolumen (setki badań miesięcznie z kilkudziesięciu placówek - VBA zaczyna się dławić), klasyfikacja po słowach kluczowych (pandas + wyrażenia regularne robią to dużo czytelniej i szybciej niż VBA) oraz potrzeba uruchamiania bez otwierania Excela (skrypt działa w tle, plik wynikowy się aktualizuje sam). Python z biblioteką pandas i openpyxl to standard dla tego typu zadań ETL.
Kiedy podobny projekt ma sens u Ciebie
- Co miesiąc dostajesz pliki z dziesiątkami / setkami tysięcy wierszy do przetworzenia
- Klasyfikacja danych wymaga interpretacji (słowa kluczowe, wzorce, reguły)
- Dane przychodzą z wielu źródeł w różnych formatach
- Proces ma działać bez asysty człowieka - w nocy, weekend, święta
- VBA było za wolne albo niestabilne na danych takiej skali
Najczęstsze pytania o ten typ projektu
Czy potrzebuję Pythona zainstalowanego na komputerach?
Nie - skrypty pakujemy w plik wykonywalny (.exe), który działa na każdym Windowsie bez instalowania Pythona. Dla wersji serwerowej instalujemy Pythona raz na serwerze.
Czy mogę używać Pythona razem z Excelem?
Tak - to częsta architektura. Excel jako interfejs użytkownika, Python w tle do ciężkich obliczeń. Możliwe wywołanie Python z VBA i odwrotnie.
Co jeśli słownik klasyfikacji się zmienia?
Słownik trzymany jest w osobnym pliku (Excel, JSON lub YAML) - administrator może go zmienić bez ruszania kodu. Po dodaniu nowych słów kluczowych algorytm natychmiast obsługuje nowe typy.
Powiązane realizacje
- ETL Python i Power Query - inny projekt Pythonowy: materiały marketingowe z QR
- Raport do zarządu co poniedziałek - cykliczny raport zarządczy w Pythonie
- Power Query i ETL - alternatywne podejście do ETL bez Pythona
Wyceń projekt w Pythonie
Opowiedz, co teraz robisz ręcznie albo co przekracza możliwości Excela. Bezpłatna wycena w 24h.