# Operatory czasowe
Cechą charakterystyczną danych medycznych jest następstwo czasowe. Samo ustalenie informacji, jakiej chce uzyskać użytkownik niejednokrotnie może się okazać niewystarczające. Oprócz wylistowania, jakie cechy ma posiadać wyszukiwany pacjent oraz jakie zdarzenia miały się odbyć w jego historii, konieczne może się okazać również ustalenie ich porządku chronologicznego. System umożliwia definiowanie następstw czasowych na dwa sposoby - odnosząc się do konkretnej daty z kalendarza lub do daty jakiegoś zdarzenia medycznego. Przykładem zastosowania odniesienia do daty innego zdarzenia medycznego może być schemat badawczy, w którym użytkownik chciałby sprawdzić, czy interwencja wpłynęła na wartość pewnego parametru. W takim scenariuszu należy więc wyszukać pacjentów, u których dokonano interwencji oraz dwukrotnie mierzono parametr - jeden raz przed interwencją, a drugi raz po niej. Do ustalania związków tego typu służą operatory podstawowe. W pewnych specyficznych sytuacjach może się to jednak okazać niewystarczające - niektóre badania są wykonywane wielokrotnie w ciągu życia pacjenta, jak np. morfologia. Samo ustalenie kolejności zdarzeń może poskutkować wyszukaniem wyników badania, które odbyło się bez związku z interwencją, np. kilka lat później. Aby wymusić wyszukanie danych tylko z konkretnego przedziału czasowego (np. niepóźniej niż 3 dni po interwencji), należy posłużyć się operatorami zaawansowanymi.
# Wyszukiwanie względem daty z kalendarza
Wszystkie dane medyczne, które z ich natury można umiejscowić w czasie, mogą być wyszukiwane w odniesieniu do ustalonej przez użytkownika daty z kalendarza. Służą temu przyciski, w nazwie których znajduje się słowo „data", tj:
W kroku pierwszym:
- Hospitalizacja: Data i czas rozpoczęcia hospitalizacji
- Hospitalizacja: Data i czas zakończenia hospitalizacji
- Hospitalizacja: Pacjent - data urodzenia
- Pacjent: Data urodzenia
- Pacjent: Data zgonu
- Wizyta: Data i czas początku wizyty
- Wizyta: Data i czas zakończenia wizyty
- Wizyta: Pacjent - data urodzenia
- Wizyta: Wizyta - data
W kroku drugim i kolejnych:
- Badanie (LAB): Data wykonania
- Badanie (LAB): Data zlecenia badania
- Badanie fizykalne (przedmiotowe): Data badania
- Dane pacjenta Data urodzenia
- Dane pacjenta Data zgonu
- Epikryza: Data epikryzy
- Formularz: Data wytworzenia
- Hospitalizacje pacjenta: Data i czas rozpoczęcia hospitalizacji
- Hospitalizacje pacjenta: Data i czas zakończenia hospitalizacji
- Hospitalizacje pacjenta: Pacjent - data urodzenia
- Klasyfikacja TNM: Data przeprowadzenia klasyfikacji
- Klasyfikacja zgonu: Data rozpoznania
- Lek przyjmowany na stałe: Data ustalenia
- Obserwacja: Data wykonania
- Plan postępowania: Data utworzenia
- Pobyt: Data i czas przyjęcia
- Pobyt: Data i czas wypisu
- Podania leków Data podania
- Podania leków Data zlecenia podania leku
- Pomiar: Data wykonania
- Procedury: Data procedury
- Procedury: Data zlecenia
- Przebieg leczenia: Data elementu leczenia
- Przepisane leki Data wystawienia recepty
- Rozpoznania: Data rozpoznania
- Wizyty w historii pacjenta: Data i czas początku wizyty
- Wizyty w historii pacjenta: Data i czas zakończenia wizyty
- Wywiad: Data przeprowadzenia
- Zalecenia: Data utworzenia
- Zastosowane leczenie: Data leczenia
- Zdolność do pracy: Data określenia
Wszystkie wyżej wymienione kafelki są skonstruowane w ten sam sposób:
Z listy rozwijanej można wybrać operator podstawowy, a w polu z datą należy wybrać datę, do której użytkownik chce się odnieść - datę można wpisać ręcznie lub wybrać z kalendarza, klikając w symbol kalendarza z prawej strony pola. Niebieski przycisk z prawej strony otwiera okno wyboru operatora zaawansowanego.
Na jednym kafelku można dodać kilka operatorów, które zostaną połączone spójnikiem logicznym „LUB". Aby połączyć warunki spójnikiem logicznym „ORAZ" (np. data podania leku mniejsza niż 31.12.2020 i większa niż 01.01.2020) należy je dodać na osobnych kafelkach.
# Wyszukiwanie względem daty innego zdarzenia
Wyszukiwanie względem daty innego zdarzenia (dalej nazywane „wiązaniem wstecz") jest możliwe począwszy od kroku drugiego - w kroku pierwszym definiowane jest pierwsze zdarzenie, które może stać się punktem odniesienia dopiero w kroku drugim. Wiązanie wstecz obsługiwane jest za pomocą przycisku z symbolem łańcucha, który znajduje się po lewej stronie kafelka. Pozycje obsługujące wziązanie wstecz dzielą się na dwa rodzaje - wiązanie dat i wiązanie wieku pacjenta. Wiązanie dat jest obsługiwane w następujących pozycjach:
- Badanie (LAB): Data wykonania
- Badanie (LAB): Data zlecenia badania
- Badanie fizykalne (przedmiotowe): Data badania
- Dane pacjenta Data urodzenia
- Dane pacjenta Data zgonu
- Epikryza: Data epikryzy
- Formularz: Data wytworzenia
- Hospitalizacje pacjenta: Data i czas rozpoczęcia hospitalizacji
- Hospitalizacje pacjenta: Data i czas zakończenia hospitalizacji
- Klasyfikacja TNM: Data przeprowadzenia klasyfikacji
- Klasyfikacja zgonu: Data rozpoznania
- Lek przyjmowany na stałe: Data ustalenia
- Obserwacja: Data wykonania
- Plan postępowania: Data utworzenia
- Pobyt: Data i czas przyjęcia
- Pobyt: Data i czas wypisu
- Podania leków Data podania
- Podania leków Data zlecenia podania leku
- Pomiar: Data wykonania
- Procedury: Data procedury
- Procedury: Data zlecenia
- Przebieg leczenia: Data elementu leczenia
- Przepisane leki: Data wystawienia recepty
- Rozpoznania: Data rozpoznania
- Wizyty w historii pacjenta: Data i czas początku wizyty
- Wizyty w historii pacjenta: Data i czas zakończenia wizyty
- Wywiad: Data przeprowadzenia
- Zalecenia: Data utworzenia
- Zastosowane leczenie: Data leczenia
- Zdolność do pracy: Data określenia
Wiązanie wieku pacjenta jest obsługiwane w następujących pozycjach:
- Badania diagnostyczne: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Badania diagnostyczne: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Badanie (LAB): Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Badanie (LAB): Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Badanie fizykalne (przedmiotowe): Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Badanie fizykalne (przedmiotowe): Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Epikryza: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Epikryza: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Hospitalizacje pacjenta: Wiek pacjenta (dni) w momencie hospitalizacji
- Hospitalizacje pacjenta: Wiek pacjenta (lata) w momencie hospitalizacji
- Klasyfikacja zgonu: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Klasyfikacja zgonu: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Lek przyjmowany na stałe: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Lek przyjmowany na stałe: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Obserwacja: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Obserwacja: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Plan postępowania: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Plan postępowania: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Pobyt: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Pobyt: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Podania leków: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Podania leków: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Pomiar: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Pomiar: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Procedury: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Procedury: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Przebieg leczenia: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Przebieg leczenia: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Przepisane leki: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Przepisane leki: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Rozpoznania: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Rozpoznania: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Wizyty w historii pacjenta: Wiek pacjenta (dni) w dniu wizyty
- Wizyty w historii pacjenta: Wiek pacjenta (lata) w dniu wizyty
- Wywiad: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Wywiad: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Zalecenia: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Zalecenia: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Zastosowane leczenie: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Zastosowane leczenie: Wiek pacjenta (lata) w dniu zdarzenia medycznego
- Zdolność do pracy: Wiek pacjenta (dni) w dniu zdarzenia medycznego
- Zdolność do pracy: Wiek pacjenta (lata) w dniu zdarzenia medycznego
Wszystkie wymienione wyżej kafelki są oparte na takim samym schemacie:
Na początek należy wybrać z listy rozwijanej krok scenariusza wyszukiwania, do którego chcemy się odnosić. Dla lepszego zrozumienia działania wiązania wstecz, omówione zostaną teraz dwa przykłady - wiązanie dat i wiązanie wieku pacjenta.
# Wiązanie dat - przykład
Załóżmy, że chcemy wyszukać wynik pomiaru liczby czerwonych krwinek u kobiet po wykonaniu cesarskiego cięcia. W tym celu w kroku pierwszym wyszukujemy hospitalizacje z procedurą „cesarskie cięcie". W kroku drugim wybieramy pozycję „Procedura" i wpisując nazwę procedury „Cesarskie cięcie" doczytujemy do pliku wynikowego informacje na temat tej procedury (czyli, między innymi, datę jej wykonania). W kroku trzecim wybieramy pozycję „Badanie (LAB)" i wprowadzamy nazwę parametru „RBC". Następnie wybieramy symbol łańcucha przy pozycji „Data wykonania" i z listy rozwijanej wybieramy datę procedury z kroku drugiego. Ponieważ chcemy, żeby wyniki badania krwi pochodziły z czasu po zabiegu, wybieramy operator „większy" (co należy rozumieć jako „data z kroku bieżącego większa niż data z wybranego kroku poprzedniego"). Ponieważ wyszukujemy danych w kontekście jednej hospitalizacji, nie ma ryzyka, że wynik badania krwi będzie pochodził z kilku lat po zabiegu cięcia cesarskiego.
# Wiązanie wieku pacjenta - przykład
Załóżmy, że chcemy wyszukać pacjentów, u których wykonano operację wszczepienia endoprotezy stawu biodrowego oraz operację rewizyjną, która nastąpiła później niż w tym samym roku. W tym calu w kroku pierwszym wyszukujemy pacjentów z procedurą „biodra pierwotna". W kroku drugim wybieramy pozycję „Procedura" i wpisując nazwę procedury „biodra pierwotna" doczytujemy do pliku wynikowego informacje na temat tej procedury (czyli, między innymi, wiek pacjenta w dniu jej wykonania). W kroku trzecim ponownie wybieramy procedurę, tym razem wpisując nazwę „biodra rewiz" (system dopasuje opcje zawierające frazy „rewizja" oraz „rewizyjna"). Przy pozycji „Wiek pacjenta (lata) w dniu zdarzenia medycznego" wybieramy przycisk z symbolem łańcucha, wiążemy wiek do wieku pacjenta z kroku drugiego wyrażonego w latach i wybieramy operator „większy".
# Operatory podstawowe
Operatory podstawowe służą do ustalania prostych zależności czasowych między dwoma zdarzeniami medycznymi lub zdarzeniem medycznym a wybraną datą kalendarzową.
Po ustaleniu punktu odniesienia (czyli daty kalendarzowej lub daty innego zdarzenia medycznego) użytkownik ma możliwość wyboru jednego z operatorów podstawowych:
- równy (obydwa zdarzenia odbyły się tego samego dnia);
- większy (zdarzenie z kroku bieżącego odbyło się co najmniej jeden dzień później niż punkt odniesienia);
- większy lub równy (zdarzenie z kroku bieżącego odbyło się tego samego dnia lub później niż punkt odniesienia);
- mniejszy (zdarzenie z kroku bieżącego odbyło się co najmniej jeden dzień wcześniej niż punkt odniesienia);
- mniejszy lub równy (zdarzenie z kroku bieżącego odbyło się tego samego dnia lub wcześniej niż punkt odniesienia);
- w przybliżeniu (zdarzenie z kroku bieżącego odbyło się 24h przed lub 24h po punkcie odniesienia);
- inny niż (obydwa zdarzenia nie odbyły się tego samego dnia).
Operatory czasowe dotyczące wieku pacjenta w momencie zdarzenia medycznego są określone podobnie, jedyna różnica dotyczy operatora „w przybliżeniu”, który dla wieku pacjentów oznacza ± 10% wprowadzonej przez użytkownika wartości, tj. pacjenci mający w przybliżeniu 70 lat będą się mieścili w przedziale 63-77 lat.
# Operatory zaawansowane
Operatory zaawansowane umożliwiają ustalenie dokładnych przedziałów czasowych, w których miało się odbyć wyszukiwane zdarzenie. Aby uruchomić panel operatorów zaawansowanych, należy klinąć na niebieski przycisk z symbolem kalendarza po prawej stronie kafelka.
Kluczem do intuicyjnego zrozumienia symboli operatorów zaawansowanych jest wiedza, że niebieska strzałka oznacza punkt odniesienia (czyli wybraną datę kalendarzową lub datę wybranego zdarzenia medycznego z wcześniejszego kroku) a zdarzenie z bieżącego kroku zostanie wyszukane w obszarze zakreskowanym. Dla łatwiejszego zrozumienia, wszystkie rodzaje operatorów zaawansowanych zostaną omówione na tym samym przykładzie. Załóżmy, że w kroku pierwszym wyszukaliśmy pacjentki z rozpoznaniem ciąży bliźniaczej. W kroku drugim definujemy procedurę cesarskiego cięcia. W kroku trzecim wyszukamy badania poziomu czerwonych krwinek (kod RBC) i ustalimy zaawansowany operator czasowy w odniesieniu do daty cesarskiego cięcia.
# W zakresie ? przed
Wyszukane zostaną badania RBC wykonane w okresie od 5 dni przed cesarskim cięciem do momentu cesarskiego cięcia (również badania wykonane tego samego dnia co zabieg, ale o wcześniejszej godzinie). Użytkownik może zmieniać wartość liczbową oraz jednostkę czasu (5 dni, 12 godzin, 3 miesiące, 10 lat itd.) określające długość przedziału czasowego.
# W zakresie ? po
Wyszukane zostaną badania RBC wykonane w okresie od cesarskiego cięcia do 1 dnia po cesarskim cięciu (również badania wykonane tego samego dnia co zabieg, ale o późniejszej godzinie). Użytkownik może zmieniać wartość liczbową oraz jednostkę czasu (5 dni, 12 godzin, 3 miesiące, 10 lat itd.) określające długość przedziału czasowego.
# Wcześniej niż ? przed
Wyszukane zostaną badania RBC wykonane co najmniej 2 tygodnie przed cesarskim cięciem (więc również np. 10 lat wcześniej). Użytkownik może zmieniać wartość liczbową oraz jednostkę czasu (5 dni, 12 godzin, 3 miesiące, 10 lat itd.) określające długość przedziału czasowego.
# Wcześniej niż ? po
Wyszukane zostaną badania RBC wykonane w dowolnym czasie przed cesarskim cięciem lub maksymalnie 1 dzień po zabiegu. Użytkownik może zmieniać wartość liczbową oraz jednostkę czasu (5 dni, 12 godzin, 3 miesiące, 10 lat itd.) określające długość przedziału czasowego.
# Później niż ? po
Wyszukane zostaną badania RBC wykonane 3 dni po cesarskim cięciu lub później (więc również np. 10 lat później). Użytkownik może zmieniać wartość liczbową oraz jednostkę czasu (5 dni, 12 godzin, 3 miesiące, 10 lat itd.) określające długość przedziału czasowego.
# Później niż ? przed
Wyszukane zostaną badania RBC wykonane maksymalnie 5 dni przed cesarskim cięciem lub w dowolnym czasie po nim. Użytkownik może zmieniać wartość liczbową oraz jednostkę czasu (5 dni, 12 godzin, 3 miesiące, 10 lat itd.) określające długość przedziału czasowego.
# Wcześniej niż ? przed lub później niż ? po
Wyszukane zostaną badania RBC wykonane co najmniej 3 dni przed cesarskim cięciem lub co najmniej 4 dni po zabiegu. Użytkownik może zmieniać wartości liczbowe oraz jednostki czasu (5 dni, 12 godzin, 3 miesiące, 10 lat itd.) określające długość przedziału czasowego.
# Póżniej niż ? przed i wcześiej niż ? po
Wyszukane zostaną badania RBC wykonane w okresie od tygodnia przed do dwóch tygodni po cesarskim cięciu. Użytkownik może zmieniać wartości liczbowe oraz jednostki czasu (5 dni, 12 godzin, 3 miesiące, 10 lat itd.) określające długość przedziału czasowego.