5 błędów, które najczęściej widzę podczas projektowania integracji w systemach medycznych

| 0 |

Pracując od kilkunastu lat przy integracjach systemów medycznych, zauważyłem jedną rzecz. Problemy bardzo rzadko wynikają z technologii. Znacznie częściej ich źródłem są błędne założenia przy projektowaniu architektury.

26

cze 2026

Niezależnie od tego, czy mówimy o integracji HIS z laboratorium, wymianie danych przez FHIR, czy komunikacji z urządzeniami medycznymi, pewne błędy powtarzają się wyjątkowo często.

1. Traktowanie standardu jako gotowego rozwiązania

Słyszę czasem stwierdzenie:

„Przecież używamy FHIR, więc integracja będzie prosta.”

FHIR nie rozwiązuje problemów biznesowych. Definiuje sposób reprezentacji danych i komunikacji, ale nie odpowiada na pytania:

  • kto jest właścicielem danych,
  • kiedy dane mogą zostać zmienione,
  • co zrobić z duplikatami,
  • jak obsłużyć konflikty wersji,
  • kiedy komunikat powinien zostać odrzucony.

To nadal musi zostać zaprojektowane.

2. Brak jednoznacznego właściciela danych

Jednym z najczęstszych problemów, jakie obserwuję podczas projektowania architektury systemów medycznych, jest brak jednoznacznego właściciela danych.

Na pierwszy rzut oka wszystko wygląda poprawnie. Pacjent może zmienić adres w aplikacji mobilnej, recepcjonistka w HIS, konsultant w CRM, a dodatkowo część danych synchronizowana jest z systemami zewnętrznymi.

Każdy z tych systemów potrafi zapisać nową wartość.

Problem pojawia się kilka miesięcy później.

Pacjent zgłasza, że podał nowy adres tydzień temu, jednak na skierowaniu nadal widnieje stary. CRM pokazuje jedną wartość, HIS drugą, portal pacjenta trzecią, a w hurtowni danych znajduje się jeszcze czwarta.

Technicznie wszystkie systemy działają poprawnie. Dane zostały zapisane zgodnie z zaimplementowaną logiką. Problem leży znacznie głębiej – nikt wcześniej nie zdecydował, który system jest właścicielem tej informacji.

To właśnie tutaj zaczyna się Data Governance.

Data Governance to nie dokumentacja

W wielu organizacjach Data Governance kojarzy się z procedurami, politykami czy obowiązkami administratorów danych. W praktyce dla architekta oznacza ono przede wszystkim odpowiedź na kilka fundamentalnych pytań:

  • Który system jest źródłem prawdy (System of Record) dla danego rodzaju danych?
  • Kto może te dane modyfikować?
  • Które systemy są jedynie konsumentami danych?
  • Jak rozwiązywane są konflikty, gdy dwie zmiany pojawią się niemal jednocześnie?
  • W jaki sposób propagowane są zmiany pomiędzy systemami?
  • Jak zachować historię zmian i możliwość audytu?

Jeżeli na etapie projektowania nie padną odpowiedzi na te pytania, prędzej czy później pojawią się niespójności.

Nie istnieje jeden System of Record dla całego przedsiębiorstwa

To również częste nieporozumienie.

Nie można powiedzieć, że „HIS jest System of Record”.

Dla danych demograficznych pacjenta może nim być HIS.

Dla wyników badań laboratoryjnych – LIS.

Dla obrazów diagnostycznych – PACS.

Dla harmonogramu wizyt – system rejestracji.

Dla danych pochodzących z urządzeń medycznych – wyspecjalizowana platforma telemetryczna.

Architekt powinien patrzeć na dane domenowo, a nie systemowo. Każda domena biznesowa powinna mieć jasno określonego właściciela.

Architektura zaczyna się od odpowiedzialności za dane

Bardzo często podczas warsztatów integracyjnych rozmawiamy o API, komunikatach FHIR, zdarzeniach czy kolejkach.

To ważne elementy rozwiązania, ale są wtórne wobec znacznie ważniejszego pytania:

Kto odpowiada za tę informację?

Dopiero gdy znamy odpowiedź, możemy świadomie zaprojektować sposób synchronizacji danych, mechanizmy publikowania zdarzeń czy strategie rozwiązywania konfliktów.

Bez tego nawet najlepiej zaprojektowane API będzie jedynie bardzo szybkim sposobem przesyłania niespójnych danych.

3. Projektowanie wyłącznie pod „szczęśliwą ścieżkę”

Diagramy często kończą się na:

  1. System A wysyła dane.
  2. System B zapisuje dane.
  3. Sukces.

Rzeczywistość wygląda inaczej.

Co jeśli:

  • komunikat przyjdzie dwa razy,
  • partner wyśle błędny identyfikator,
  • urządzenie wygeneruje dane sprzed kilku dni,
  • kolejka RabbitMQ będzie chwilowo niedostępna,
  • API zwróci HTTP 500?

To właśnie scenariusze wyjątków najczęściej decydują o jakości rozwiązania.

4. Zbyt silne powiązanie systemów

Im więcej systemów komunikuje się bezpośrednio między sobą, tym trudniej rozwijać całą platformę.

Dlatego coraz częściej warto stosować architekturę opartą o komunikaty, kolejki lub zdarzenia.

Pozwala to:

  • łatwiej skalować rozwiązanie,
  • niezależnie rozwijać poszczególne komponenty,
  • zwiększyć odporność na awarie.

Nie oznacza to jednak, że REST jest zły. Po prostu nie każde zadanie powinno być realizowane synchronicznie.

5. Pomijanie monitoringu

Projekt kończy się wdrożeniem.

A później…

Telefon od klienta.

„Nie dochodzą wyniki badań.”

Jeżeli jedynym sposobem diagnozy jest przeszukiwanie logów z kilku systemów, to architektura została zaprojektowana niekompletnie.

Monitoring powinien obejmować nie tylko infrastrukturę, ale również proces biznesowy.

Architekt powinien móc odpowiedzieć na pytania:

  • ile komunikatów zostało przetworzonych,
  • ile zakończyło się błędem,
  • gdzie zatrzymał się konkretny komunikat,
  • ile trwa przetwarzanie.

Podsumowanie

Dobra architektura nie polega na wyborze odpowiedniego frameworka czy protokołu komunikacji.

Polega na przewidzeniu problemów, które pojawią się za rok, kiedy system będzie obsługiwał miliony komunikatów i kilkunastu partnerów.

Technologia zmienia się bardzo szybko.

Dobre decyzje architektoniczne pozostają z projektem przez wiele lat.


Komentarze (0):

Dodaj komentarz