Wykorzystywanie nowoczesnych technologii w medycynie jest coraz powszechniejsze. Papierowe karty pacjentów wypadają z obiegu i zastępują je elektroniczne formy przechowywania danych. Proces digitalizacji służby zdrowia właśnie trwa! W jakich obszarach? Odpowiedź na to pytanie znajdziesz w dalszej części artykułu.
Jak działają systemy informatyczne szpitali
Do tego, że zdrowie jest ważne, nie trzeba chyba nikogo przekonywać. Jego poziom w dużej mierze zależy od nas samych. Co jednak, jeśli zaczyna szwankować? Z pomocą przychodzą lekarze, których wiedza i doświadczenia pomaga nam wrócić do pełnej sprawności.
Pewnie zbyt często się nad tym nie zastanawiacie, ale nie działają oni sami. W procesie profilaktyki lub leczenia znajdują się też inne osoby i elementy, bez których nie działałby sprawnie.
Codziennie do placówek medycznych i szpitali trafia tysiące pacjentów. Trzeba u nich rozpoznać chorobę lub jej powikłania, przekazać rekomendacje dotyczące dalszego leczenia oraz porady odnośnie zachowania wobec potencjalnych skutków ubocznych leków etc. Na samym końcu, wszystkie te informacje trafiają w formie elektronicznej do systemu informatycznego. Taki system usprawnia proces leczenia, który staje się dużo efektywniejszy. Wiedza medyczna dotycząca konkretnego pacjenta jest gromadzona w jednym miejscu, dzięki czemu może być wykorzystywana w kolejnych latach przez kolejnych specjalistów.
Branża medyczna wykorzystuje dane w wielu formatach, o różnej objętości. To duże wyzwanie dla procesu ich przetwarzania. Z takim właśnie problemem zgłosił się do nas klient ze Stanów Zjednoczonych. Codziennie otrzymywał ogromne ilości plików, które były wysyłane do centralnej jednostki firmy. Zawierały one różnego rodzaju wywiady przeprowadzone przez lekarzy oraz historie chorób pacjentów, z których na co dzień musiał korzystać personel medyczny i osoby zarządzające danymi. Dodatkową trudnością był fakt, że gigantyczne dane musiały być dostępne dla każdego uprawnionego pracownika w czasie rzeczywistym.
Praca z Klientem. Oczekiwania
Zadanie naszego zespołu nie było proste. Musieliśmy pozyskać dane z kilku źródeł, przetransformować je, a następnie załadować do kolejnego systemu. Była to swoista integracja danych, gdzie dane z placówek medycznych miały trafić do petabajtowej hurtowni danych. Kluczowym aspektem było tutaj zrozumienie danych i poznanie całego procesu przetwarzania.
Przy implementacji tego rozwiązania, bardzo pomocne było również zrozumienie oprogramowania z poziomu funkcjonalności i poznanie oczekiwanych przez Klienta rezultatów. Przy pracy z ogromną ilością danych, kluczowym elementem było dobranie takich technik i narzędzi, aby proces przetwarzania był możliwie jak najkrótszy. Wydajność miała tu kluczowe znaczenie, ponieważ w przypadku jej braku przełożyłoby się to na negatywne odczucia użytkownika końcowego i w konsekwencji jego złą opinię na temat systemu.
Kolejnym bardzo ważnym aspektem było zebranie informacji o wszystkich niepożądanych zachowaniach oraz błędnych danych. W tym przypadku wymagania Klienta były bardzo jasno określone. Oczekiwał od nas wykorzystania konkretnego oprogramowania ETL – narzędzia open source o nazwie Talend Open Studio for Data Integration.
Czym jest proces ETL?
Skrót ETL pochodzi z języka angielskiego i oznacza ekstrakcję, transformację i ładowanie danych. W całym procesie migracji danych zawsze występuje także walidacja tych danych, przez co czasem ten skrót uzupełnia się do ETLV.
Pierwszym krokiem w takim procesie jest pozyskanie danych z systemu źródłowego lub z wielu takich systemów. Następnie, aby było możliwym załadowanie tych danych do kolejnego, już docelowego systemu, należy te dane przekształcić do odpowiedniego formatu, zastosować odpowiednie filtrowanie oraz zaimplementować reguły biznesowe. W całym procesie występuje także procedura czyszczenia danych, która nie musi być wdrożona na etapie transformacji – dużo częściej taką czynność wykonuje się przed ekstrakcją lub nawet po ładowaniu co już występuje dużo rzadziej.
W praktyce ETL nazywa się także oprogramowanie, które służy do przekształcania tych danych w informacje biznesowe.
Czym jest Talend Open Studio?
Talend Open Studio to platforma integracji oprogramowania typu open source, która pomaga w zamianie skomplikowanych danych w informacje zrozumiałe dla osób odpowiadających za kwestie biznesowe. To proste i intuicyjne narzędzie jest bardzo powszechnie używane w Stanach Zjednoczonych. Spokojnie może konkurować z produktami innych wielkich graczy na tym rynku. Co ważne, Talend doskonale współpracuje z umieszczonymi w chmurze hurtowniami danych od takich gigantów jak Microsoft Azure, czy Amazon Web Services.
Jego podstawowe cechy to:
- Ponad 900 gotowych komponentów do łączenia różnych źródeł danych tj. RDBMS, Excel, SaaS Big Data, a także do łączenia z aplikacjami i technologiami, takimi jak SAP, CRM, Dropbox;
- Repozytorium metadanych ułatwiające zarządzanie połączeniami;
- Automatyczna konwersja zadań do kodu Java;
- Intuicyjne przejścia i całkiem pokaźne community.
„UTalendowany” przepływ danych w chmurze AWS
Opisywany projekt był niewątpliwie jednym z największych realizowanych w Transition Technologies PSC, który skupiał się na wykorzystaniu Talend Open Studio. Aby mieć pewność, że wszystko będzie działać sprawnie i niezawodnie, na etapie przygotowań dużo uwagi poświęciliśmy infrastrukturze.
Wybór padł na Amazon Web Services. Jako storage wykorzystaliśmy Amazon S3 (Simple Storage Service), w dużej mierze ze względu na jego ogromne możliwości. Brak ograniczeń w pojemności, łatwa dostępność, a przede wszystkim wysoka trwałość zapisu danych, to tylko niektóre z nich. O popularności tej usługi może świadczyć fakt, że jest to główny storage dla takich gigantów jak Netflix, czy Dropbox. To w nim właśnie procesy ETL gromadziły pliki JSON, które w następnym etapie zasilały hurtownię danych.
Hurtownia danych to specyficzna baza, która integruje dane z wielu źródeł. Jej zasoby są najczęściej cyklicznie zasilane danymi z systemów produkcyjnych. Nasza hurtownia została oparta o usługę Amazon Redshift. To bardzo popularne rozwiązanie, z którego korzysta ponad 15 tysięcy klientów na całym świecie w tym m.in. McDonalds, czy Philips. Główną zaletą bazy Redshift jest niewątpliwie jej wydajność i skalowalność. Pomimo, że nie jest to zwykła relacyjna baza danych, korzystamy w niej standardowego zapytania SQL. Dopiero przy analizie dużych wolumenów danych zauważamy, jak efektywne i szybkie są zapytania w Amazon Redshift. Co ważne: nie ma w niej indeksów, a sposób przechowywania danych jest kolumnowy. Każda kolumna może mieć inny sposób kompresji, co dodatkowo obniża koszty i oszczędza wykorzystywaną przestrzeń dyskową.
Amazon Redshift razem z S3 tworzą świetny tandem służący do przechowywania danych. Sprawnie współpracują z Talend, który ma wbudowane komponenty dla takich usług. Jedną z głównych zalet chmury Amazon Web Services są praktycznie „nieograniczone” zasoby. W razie potrzeby można rozszerzyć pojemność w zaledwie kilku minut. Często na początku projektu, bardzo trudno jest określić jaką pojemność dysków potrzebujemy. Niestety tradycyjne rozwiązania „on premises” wymagają od nas takiej deklaracji. Chmura daje nam w tym zakresie swobodę, a nawet pozwala na konfiguracje, która będzie automatycznie zwiększała wielkość bazy danych, wraz ze wzrostem naszych potrzeb.
Kolejną zaletą jest pewność, że przechowywane przez nas dane nie zostaną utracone. Amazon S3 posiada gwarancje trwałości zapisu na poziomie 99.999999999% w ciągu roku. Oznacza to, że gdybyśmy przechowywali 10 milionów obiektów, to istnieje ryzyko, że stracimy jeden, raz na 10 tysięcy lat.
Inną ważną zaletą chmury, jest możliwość łatwego zapewnienia zgodności z regulacjami prawnymi. Przetrzymując dane w chmurze Amazon możemy wybrać, gdzie będą zlokalizowane. Możemy je umieścić w jednym z regionów na terenie Unii Europejskiej (np. Niemcy lub Irlandia). Dzięki temu mamy pewność, że zachowujemy zgodność z Ustawą o Ochronie Danych Osobowych. Ponadto, jeśli nasza siedziba jest w Europie, zyskujemy w ten sposób pewność, że dostęp do danych będzie znacznie szybszy. Dla klienta TT PSC wybór umiejscowienia składowania danych w Stanach Zjednoczonych był jednoznaczny; optymalny pod względem kosztowym jaki i czasu oczekiwania.
Warto zwrócić uwagę, że koszt i dostępność usług chmurowych różni się w zależności od regionów, w których są utrzymywane. Dla przykładu Amazon S3 w regionie North Virginia jest prawie dwa razy tańszy niż ta sama usługa w regionie Sao Paulo.
Zalet chmury jest dużo więcej, natomiast z punktu widzenia developera, bardzo istotne jest przede wszystkim intuicyjne oraz wydajne korzystanie z zasobów udostępnianych w AWS.
Podsumowując, projekt prowadzony dla naszego zagranicznego klienta został zakończony sukcesem, w pełni realizując jego potrzeby oraz rozwiązując dotychczasowe problemy. Z kolei sama praca nad projektem (z wykorzystaniem wcześniej opisanych narzędzi), patrząc z perspektywy developera, była samą przyjemnością.
Myślisz o digitalizacji procesów w swojej firmie? Koniecznie skontaktuj się z nami!