W jednym z poprzednich artykułów – Uregulowanie outsourcingu danych medycznych, z pomocą Założeń do projektu ustawy o zmianie ustawy o prawach pacjenta i Rzeczniku Praw Pacjenta oraz niektórych innych ustaw oraz Ustawy o ochronie danych osobowych ustaliliśmy, że placówka lecznicza może powierzyć przetwarzanie danych medycznych innemu podmiotowi. W kontekście przetwarzania tych danych w chmurze obliczeniowej do rozstrzygnięcia pozostaje jednak jeszcze jedna kwestia.

Omawiając zagadnienia związane z zastosowaniem chmury obliczeniowej, bardzo często spotykamy się z narzucającym się pytaniem: gdzie właściwie znajdą się moje dane?. Pytanie to jest szczególnie ważne w kontekście obowiązującego Rozporządzenie Ministra Zdrowia z dnia 21 grudnia 2010 r. w sprawie rodzajów i zakresu dokumentacji medycznej oraz sposobu jej przetwarzania, które w rozdziale 6, par. 74 stanowi:

Miejsce przechowywania bieżącej dokumentacji wewnętrznej określa podmiot.

Kontekstu powyższemu zapisowi nadają analogiczne sformułowania obecnie uchylonych, a wcześniej obowiązujących rozporządzeń o tym samym zakresie:

Jak widzimy obowiązujące rozporządzenie dało wyraźnie podmiotowi wykonującemu działalność leczniczą autonomię w umiejscowieniu dokumentacji medycznej, którą wytwarza i z której na bieżąco korzysta. Należy podkreślić, że cytowany punkt jest jedynym zapisem poruszającym tę kwestię.

Czym jest miejsce?

Słownik Języka Polskiego jako znaczenie słowa miejsce podaje:

  1. przestrzeń, którą można czymś zająć lub zapełnić
  2. określony fragment ciała
  3. część jakiejś przestrzeni, na której ktoś przebywa, coś się znajduje lub odbywa; też: pomieszczenie służące określonym celom
  4. wycinek przestrzeni przeznaczony dla jednej osoby
  5. pozycja, ranga lub rola kogoś lub czegoś 6.fragment tekstu, wypowiedzi lub ciągu zdarzeń

Wszystkie ze znaczeń, które można uznać za adekwatne w kontekście dokumentacji medycznej, odwołują się do słowa przestrzeń, zdefiniowanej przez Słownik jako:

  1. ograniczona część przestrzeni, zwykle dużych rozmiarów; też: określona powierzchnia czegoś
  2. miejsce występowania, zasięgu czegoś
  3. dziedzina jakiejś działalności
  4. w matematyce: zbiór otwarty i spójny

Warto zauważyć, że w informatyce słowa obszarprzestrzeń są już mocno zakorzenione, np. w pojęciach: obszar pamięci, przestrzeń dyskowa. Należałoby zatem przyjąć że pojęcie miejsca, w kontekście dokumentacji medycznej w postaci elektronicznej, wskazuje na jej lokalizację zarówno pod względem fizycznym jak i logicznym, w ramach systemu komputerowego.

W dalszych rozważaniach będziemy posługiwali się stosunkowo zaawansowaną terminologią informatyczną. Sądzimy jednak, że rozumienie przedstawianych zagadnień jest kluczowe dla w pełni świadomej interpretacji obowiązującego prawa.

Jak określić miejsce w systemie informatycznym?

Wyobraźmy sobie pojedynczą, niepodzielną informację. Jednoznacznym przykładem takiej informacji będzie liczba 1, ponieważ można zapisać ją w ramach najmniejszej, niepodzielnej jednostki pamięci elektronicznej, czyli bitu – obszaru pamięci, który może znajdować się tylko w 2 stanach: 0 lub 1, odpowiadających od fizycznym stanom, w których znajdują się elementy elektroniczne budujące układy pamięci. Niezależnie od tego, czy ten stan fizyczny określony będzie na podstawie wartości napięcia, ładunku elektrycznego czy domeny magnetycznej, pojedynczy bit zawsze będzie miał pojedynczą jednoznaczną lokalizację, zarówno fizyczną, jak i logiczną.

Konkretnemu wystąpieniu liczby 1 w pamięci, które będziemy dalej analizować, nadamy dla uproszczenia nazwę. Na cześć jednej z najbardziej zasłużonych dla informatyki osób nazwiemy jeAlan.

Lokalizacja fizyczna

Spróbujmy zatem odnaleźć bit Alan w ramach przykładowej chmury obliczeniowej. Zaczniemy od poniższej tabeli, przedstawiającej lokalizację fizyczną w podziale na możliwe do wyróżnienia wymiary. Zaznaczamy przy tym, że wskazane dane są jedynie przykładowe, gdyż w rzeczywistości chmura Mediporta działa w profesjonalnej serwerowni, a nie w siedzibie spółki, o czym pisaliśmy już w artykule Chmura obliczeniowa w placówce medycznej.

Wymiar lokalizacji Przykład określenia lokalizacji
Kraj Polska
Miasto Poznań
Ulica Marcelińska
Budynek 90
Piętro 11.
Pomieszczenie 11.8
Szafa 1
Serwer 1

W tym momencie kończą się nasze możliwości określenia fizycznej lokalizacji bitu Alan. Trudności jakie napotkalibyśmy próbując znaleźć kolejne wymiary fizycznej lokalizacji sprowadzają się m.in. do następujących pytań:

Jak widzimy dalsze precyzowanie lokalizacji fizycznej jest niemożliwe, lub całkowicie niepraktyczne. Nie wnosi też żadnej istotnej informacji. Dlatego przejdźmy do określenia logicznej lokalizacji w obrębie serwera.

Lokalizacja logiczna

Pamięć operacyjna

Współczesne systemy operacyjne zarządzają pamięcią w bardzo skomplikowany sposób, automatycznie decydując jaki fragment danych powinien znaleźć się w szybkiej i stosunkowo niewielkiej pamięci operacyjnej, a który można pozostawić na wolniejszym dysku, do późniejszego wykorzystania.

Poniższa tabela podsumowuje sposoby w jaki możliwe jest zlokalizowanie bitu Alan na poziomie osiągalnym dla administratora systemu, bez wnikania w stan niskopoziomowych mechanizmów zarządzania pamięcią.

Wymiar lokalizacji logicznej Znaczenie wymiaru Przykład określenia lokalizacji
Proces Najmniejszą jednostką podziału danych jest tzw. strona. System operacyjny gwarantuje, że dana strona pamięci, o ile nie została jawnie współdzielona, znajduje się pod kontrolą dokładnie jednego procesu, czyli uruchomionego programu. Określeniem lokalizacji jest w tym przypadku numer PID, czyli unikalny w ramach systemu operacyjnego identyfikator procesu. PID: XXX
Kontener Każdy z działających procesów posiada pełną autonomię w zarządzaniu przyznaną mu pamięcią. Program może podzielić swoją pamięć na niezależne obszary i dbać o ich separację, podobnie jak system operacyjny dba o separację procesów.

  • Na tej zasadzie działają silniki baz danych, zarządzające w ramach jednego procesu wieloma całkowicie niezależnymi bazami danych. W tym przypadku określeniem lokalizacji będzie nazwa bazy danych, a jako kolejne wymiary można wyszczególnić: tabelę w bazie danych, wiersz tabeli oraz kolumnę tabeli.
  • Podobnie działa również aplikacja serwerowa Mediporta, realizująca separację przetwarzanych w pamięci danych klientów. W tym przypadku określeniem lokalizacji jest symboliczna nazwa klienta.
  • Baza danych: Mediporta.Clinic.XX
  • Kontener klienta: Clinic_XX

Pamięć dyskowa

Określenie lokalizacji logicznej w ramach pamięci dyskowej jest stosunkowo łatwe. Większość użytkowników komputerów korzysta pośrednio lub bezpośrednio z hierarchicznej struktury folderów (katalogów) i plików, w związku z czym analiza poniższej tabeli nie sprawi im kłopotu.

Wymiar lokalizacji Określenie lokalizacji
Dysk/partycja D:
Katalog \Mediporta\Production.1\Media\Clinic_XX
Plik Alan.txt
Pozycja bajtu 0
Pozycja bitu 7

Bit to nie dokumentacja medyczna

Przedstawiony powyżej obraz jest pewnym uproszczeniem rzeczywistości. W rzeczywistości mamy do czynienia nie z bitami, ale z dokumentacją medyczną. Przykładowo, historia zdrowia i choroby pacjenta można składać się z wielu wpisów, które trafią do oddzielnym plików, przechowywanych na oddzielnych serwerach. Nie wpływa to jednak na naszą zdolność określenia miejsca przechowywania dokumentacji, ponieważ bez problemu możemy wskazać wszystkie serwery, które składają się na nasz system informatyczny.

Ponieważ, jak pokazaliśmy, możliwe jest bardzo drobiazgowe zlokalizowanie każdego bitu, wskazanie miejsca na poziomie mniej szczegółowym jest tym bardziej możliwe. W praktyce wystarczającym jest ograniczenie się do podania fizycznej lokalizacji serwerów oraz logicznych kontenerów, które funkcjonują w ramach nich.

Redundancja, rozproszenie i wirtualizacja.

Dodatkowe uproszczenie we wcześniejszych rozważaniach dotyczyło kwestii technologii informatycznych. Założyliśmy istnienie pojedynczego, w pełni autonomicznego serwera. Zastosowanie takiego rozwiązania byłoby jednak całkowicie wbrew wszystkim dobrym praktykom budowania systemów informatycznych o wysokiej dostępności. Wprowadzenie dodatkowych elementów chroniących dane nie będzie jednak miało wpływu na logikę przedstawionego rozumowania, a jedynie na szczegóły dotyczące wymiarów lokalizacji i sposobu ich określania.

  1. Redundancja – najważniejszym zabezpieczeniem przed utratą danych jest ich powielenie, dzięki czemu w przypadku utraty jednego z egzemplarzy pozostaje nam do dyspozycji co najmniej jeden inny. W tym przypadku określenie miejsca przechowywania danych będzie składało się z wielu wpisów.
  2. Rozproszenie – warunkiem skorzystania skutecznie z redundancji jest rozproszenie danych pomiędzy niezależne domeny dostępności, dzięki czemu otrzymujemy pewność, że kopie danych pozostają niezależne i nie zostaną utracone jednocześnie. Takimi domenami dostępności mogą być już osobne dyski, przy założeniu że nie ulegną awarii jednocześnie. Najlepszymi domenami dostępności są natomiast niezależne serwerownie, zlokalizowane w różnych regionach geograficznych i obsługiwane przez różnych operatorów. W tym przypadku również możliwe jest określenie miejsca przechowywania danych poprzez wskazanie wielu, zróżnicowanych lokalizacji.
  3. Wirtualizacja – wirtualizacja jest bardzo szerokim pojęciem, obejmującym wiele sposobów abstrakcji zasobów informatycznych, wykonywanych w różnych celach. Najczęściej wykorzystywane to:
    • Wirtualizacja pamięci operacyjnej – z tego rodzaju wirtualizacji korzysta każdy współczesny komputer. Wspomnieliśmy o nim w kontekście zarządzani stronami i procesami w punkcie dotyczącym określania logicznej lokalizacji danych w pamięci operacyjnej.
    • Wirtualizacja serwerów – pojęcie wirtualizacji powszechnie stosuje się najczęściej w odniesieniu do wirtualnych serwerów, czyli wydzielonych części zasobów fizycznych maszyn, które zachowują się identycznie z prawdziwie niezależnymi, fizycznie odrębnymi serwerami. Każdy z serwerów wirtualnych posiada swój identyfikator, unikalny w ramach serwera fizycznego, dzięki czemu w przypadku zastosowania tego rodzaju wirtualizacji możliwe jest jednoznaczne określenie logicznej lokalizacji przetwarzania danych.
    • Wirtualizacja pamięci dyskowej – umożliwia ona elastyczne dzielenie i łącznie dostępnych zasobów dyskowych, np. budowanie jednego logicznego systemu plików w oparciu o wiele dysków (w celu zwiększenia bezpieczeństwa, pojemności lub wydajności) lub tworzeniu wielu niezależnych systemów plików na jednym dysku. Zaawansowanym przykładem wirtualizacji zasobów dyskowych jest korzystanie z dedykowanych systemów macierzy, podłączanych do serwerów zewnętrznie. Nad separacją obszarów danych, z których korzystają poszczególne serwery, czuwa w tym przypadku tzw. kontroler macierzy. Nadal możliwe jest jednak określenie logicznej i fizycznej lokalizacji danych, ponieważ macierze stosują jednoznaczne systemy identyfikatorów, pozwalające na odnalezienie danych nie tylko maszynie, ale również człowiekowi.
    • Wirtualizacja na poziomie aplikacji – wspomnieliśmy już o separacji danych klientów. Oprogramowanie Mediporta realizuje również rozproszony system kopii zapasowych i replikacji danych plikowych. Wirtualizacja polega w tym przypadku na równoległym zapisie danych w wielu niezależnych lokalizacjach, dzięki czemu pozostają one zawsze bezpieczne. W każdej chwili możliwe jest jednak określenie dokładnych lokalizacji wszystkich egzemplarzy danych, w sposób wskazany w poprzednich punktach.
    • Wirtualizacja sieci – kwestią, o której często zapomina się jest sposób działania współczesnych sieci komputerowych. Oprócz bardzo rzadkich przypadków dedykowanych, fizycznie odrębnych łączy, transmisje w sieciach odbywają się w oparciu o pakietowe protokoły, które w ramach jednego medium łączą niezależne transmisje danych. Jedynym czynnikiem, który dba o separacje danych, są odpowiednie algorytmy działające w urządzeniach sieciowych i systemach operacyjnych. Oznacza to, że nawet w przypadku skorzystania z dedykowanych serwerów, dane w czasie transmisji będą podlegały wirtualizacji.

W związku z powyższym, pogląd o konieczności stosowania dedykowanych serwerów dla danych medycznych jest błędny i oparty na iluzji, że możliwe jest wyeliminowanie we współczesnej informatyce wirtualizacji. W rzeczywistości dedykowane muszą pozostać logiczne zasoby (np. baza danych lub folder plików), których odrębność zagwarantuje nie sprzęt, ale przede wszystkim oprogramowanie.

Miejsce w chmurze Mediporta

Chmura Mediporta korzysta ze wszystkich opisanych w artykule sposobów zabezpieczania danych przed ich utratą. Jednocześnie decyzję co do zakresu stosowanych technik oraz dozwolonych miejsc przetwarzania danych pozostawiamy naszym klientom, spełniając w pełni postanowienieRozporządzenia:

Miejsce przechowywania bieżącej dokumentacji wewnętrznej określa podmiot.

Jednocześnie dokładamy wszelkich starań, aby decyzje podejmowane przez placówki były w pełni świadome i oparte na faktach.

Placówki medyczne mogą skorzystać z oprogramowania Mediporta w każdym z poniższych wariantów:

Każdy z wymienionych wariantów różni się kosztami i zakresem wyborów dostępnych dla placówki medycznej, podobnie jak ma to miejsce w przypadku wyboru miejsca przechowywania dokumentacji papierowej, zależnej od warunków lokalowych placówki. Zawsze zalecamy skorzystanie z pełnej chmury Mediporta, ponieważ oferuje najwyższy stopień bezpieczeństwa przy zachowaniu najwyższej efektywności ekonomicznej.

Jednak bez względu na wybrane rozwiązanie, możliwe jest pełne określenie miejsca przetwarzania każdej składowej dokumentacji medycznej.