Przeznaczenie i status regulacyjny
Materiał edukacyjny przeznaczony dla lekarzy oraz osób odbywających kształcenie podyplomowe. Odwzorowuje tabele i algorytmy opublikowane w dokumencie Polskie wytyczne profilaktyki i leczenia żylnej choroby zakrzepowo-zatorowej — aktualizacja 2024 (Medycyna Praktyczna, wydanie specjalne, listopad 2024) i wskazuje ich adresy — numer tabeli, pozycję listy i stronę. Odwzorowane fragmenty: rozdz. 10.2.2 (tab. 10-3, s. 74; tab. 10-4 i lista progów punktowych, s. 75), rozdz. 10.2.4 (Z10‑41–Z10‑44, s. 76–77), rozdz. 10.2.5 (tab. 10-6, s. 77; Z10‑45–Z10‑58, s. 77–78). Nie generuje rozpoznania, kwalifikacji ani zalecenia terapeutycznego dla indywidualnej pacjentki, a wszystkie prezentowane treści pochodzą z przywołanych publikacji. Narzędzie nie przetwarza ani nie przechowuje danych identyfikujących pacjentki — wprowadzone parametry pozostają w pamięci przeglądarki i nie są nigdzie przesyłane. Nie jest wyrobem medycznym w rozumieniu rozporządzenia (UE) 2017/745 i nie posiada oznakowania CE. Kwalifikacja kliniczna pozostaje wyłącznie po stronie lekarza prowadzącego.
Dla jakiego okresu obliczyć profilaktykę?
Parametry przypadku
Historia wersji
overflow-wrap:anywhere w komórkach powodowała, że minimalna szerokość kolumny wyliczana przez przeglądarkę odpowiadała pojedynczemu znakowi — algorytm automatycznego układu tabeli zwężał wówczas kolumny o krótkich nagłówkach i łamał wyrazy w przypadkowym miejscu („Charakt / er”) nawet na szerokim ekranie. Zastąpiono ją wartością break-word, która nie wpływa na wyliczanie rozmiaru min-content, wraz z word-break:normal; kolumna nie może już być węższa niż najdłuższy wyraz nagłówka. Agresywne łamanie zachowano wyłącznie dla ciągów nierozdzielnych — odnośników, identyfikatorów DOI i tekstu monospace. Tabelom w kontenerze przewijanym nadano minimalną szerokość 640 px (560 px poniżej 520 px szerokości okna), dzięki czemu na wąskim ekranie tabela przewija się poziomo zamiast ulegać zgnieceniu. Zmiana wyłącznie prezentacyjna — nie modyfikuje treści merytorycznej ani logiki obliczeń.overflow-x:hidden, zamienia tę wartość na overflow-x:clip, co przywraca przyklejanie po osadzeniu na stronie. Obsługa myszą: pasek zakładek otrzymał widoczny wąski uchwyt przewijania na urządzeniach wskazujących, przeciąganie kursorem z progiem 4 px i tłumieniem kliknięcia po przeciągnięciu oraz przewijanie kółkiem, przechwytywane wyłącznie przy istniejącej rezerwie przewijania. Strzałki nawigacyjne: w tabelach okrągłe wskaźniki o średnicy 21 px z grotem 12 px i tłem rgba(191,214,230,0.35), przy samych krawędziach ramki przewijanej, widoczne tylko po stronie, w którą można przesunąć; w pasku zakładek biały grot bez tła, umieszczony w pasie dopełnienia nad etykietami, bez zwiększania wysokości paska. Dodano także lewy cień gradientowy tabel, symetryczny do prawego.all:revert wszystkie elementy potomne, w tym elementy svg, co kasowało atrybuty prezentacyjne fill i stroke i powodowało renderowanie grotu jako czarnej wypełnionej figury zamiast jasnego zarysu. Reset doprowadzono do postaci kanonicznej *:not(svg):not(svg *) wraz z osobną regułą box-sizing dla SVG, a grotom nadano dodatkowo jawne fill:none i stroke:currentColor z priorytetem. Selektor przycisków zakładek w skrypcie uogólniono z [data-t] na :not(.tab-nav), ponieważ ten dokument oznacza zakładki innym atrybutem.*:not(svg):not(svg *) miało chronić atrybuty prezentacyjne grafik wektorowych, ale podnosiło specyficzność selektora resetu z jednej klasy do jednej klasy i dwóch pseudoklas. W dokumencie, którego reguły pisano względem pierwotnej specyficzności, oznacza to, że część deklaracji bez !important zaczyna przegrywać z all:revert — a więc zmiana o charakterze porządkowym może przestawić wygląd w miejscach niezwiązanych z SVG. Reset wrócił do pierwotnej postaci. Ochronę grotów strzałek zapewnia teraz wyłącznie jawna deklaracja fill:none i stroke:currentColor z priorytetem, rozszerzona dodatkowo na elementy potomne svg, co nie wpływa na kaskadę reszty dokumentu.#3A6D9A zamiast turkusu, przez nową zmienną --tab-active. Stopka: jasne tło --bg, kreska oddzielająca u góry, zaokrąglone dolne narożniki, wyrównanie do prawej, krój IBM Plex Mono 0,64 rem; klauzula prawna zachowuje krój tekstowy i wyrównanie do lewej, ponieważ monospace czyta się dobrze w jednej linijce, ale nie w kilkuzdaniowym akapicie. Dodano linię zamykającą „Materiały edukacyjne | © 2026 Antoni Sierant" w brzmieniu portalu, oddzieloną cienką kreską. Znak wodny nagłówka: element ::before z grafiką osadzoną jako dane base64, szerokość 210 px, krycie 15%, wysunięty poza prawą krawędź, zwężany do 140 px poniżej 640 px szerokości okna; nagłówek otrzymał position:relative, a jego zawartość z-index, bo element pozycjonowany maluje się nad treścią w normalnym przepływie. Margines zewnętrzny: poniżej 820 px szerokości okna ramka odsuwa się od krawędzi ekranu o 6 px. Zastosowano margines, nie dopełnienie jak w portalu — tam korzeń jest przezroczysty, a tło niesie wewnętrzny .shell, tutaj tło leży na samym korzeniu, więc dopełnienie wcięłoby jedynie treść..subsection-header oraz nagłówki trzeciego stopnia w kartach zachowały turkus --accent, podczas gdy aktywna zakładka przeszła na błękit — w jednym dokumencie występowały więc dwie barwy wyróżnienia. Oba elementy korzystają teraz ze zmiennej --tab-active, czyli błękitu #3A6D9A, tego samego, którym portal oznacza sekcję ginekologiczną. Turkus pozostaje barwą odnośników i elementów pomocniczych. Tekst stopki. Ujednolicenie objęło stopkę krojem monospace i wyrównaniem do prawej, co jest właściwe dla jednowierszowej stopki portalu, ale nie dla kilkuzdaniowego tekstu informacyjnego. Tekst stopki wraca do kroju Inter i wyrównania obustronnego; krój monospace i wyrównanie do prawej zachowuje wyłącznie linia zamykająca z notą o prawach autorskich.--muted i --border, ponieważ jasne wartości sprzed zmiany stopki były na nowym tle nieczytelne albo niewidoczne.flex:1 na tle rgba(255,255,255,0.08) i etykieta 0,88 rem — przez co przy trzech zakładkach pasek był wyraźnie masywniejszy niż w pozostałych materiałach otwartych obok. Przyjęto metrykę kanoniczną: odstęp 5 px, dopełnienie 9×14 px, kafelki bez tła w barwie #9FB6CB, etykieta 0,76 rem wagi 500, aktywna na --tab-active. Usunięto też nadpisania paska w regule 600 px, które poniżej 560 px kolidowały z warstwą przewijaną i przesuwały strzałki względem krawędzi. Wprowadzono brakującą warstwę .shell zgodnie z kanonem rodziny narzędzi. Dotąd promień narożników leżał na samym korzeniu i obejmował wyłącznie górną krawędź, a cienia rzucanego nie było wcale — narzędzie odcinało się od tła strony inaczej niż pozostałe. Obudowa przejmuje promień 16 px i cień 0 4px 18px rgba(29,58,86,0.10); korzeń niesie odtąd wyłącznie tło, szerokość i margines zewnętrzny. Obudowa świadomie nie dostaje właściwości overflow — każda wartość inna niż visible czyni ją kontenerem przewijania i unieważnia przyklejanie paska zakładek. Dodano kanoniczny blok @media print, którego narzędzie dotąd nie miało: wydruk gubił pasek zakładek i drukował wyłącznie panel otwarty na ekranie, a granatowy nagłówek ze znakiem wodnym zużywał toner bez potrzeby. Reguła ukrywa pasek zakładek i elementy sterujące, rozwija wszystkie panele (każdy od nowej strony), odwraca nagłówek na biel z granatową kreską, wygasza znak wodny, zdejmuje ograniczenie min-width i otoczki przewijania z tabel oraz zabezpiecza karty i tabele przed łamaniem między stronami..src-result o sześciu blokach: parametry przypadku, sposób obliczenia, wynik według skali, treść odpowiadającej rekomendacji, ścieżki alternatywne i wyjątki, nota o odpowiedzialności lekarza. Bloki są zgrupowane w dwie jawnie oznaczone warstwy — „Moduł obliczeniowy" i „Treść rekomendacji źródłowej" — co odpowiada wymogowi identyfikacji granic modułów. Zasada wyszukiwania zamiast wyliczania. Moduł dawkowania nie wylicza już dawki dla podanej masy ciała: wyświetla pełną tabelę przedziałów masy ciała dla trzech preparatów z podświetleniem wiersza i kolumny odpowiadających wprowadzonym parametrom, a dla dawkowania leczniczego — przelicznik na kilogram masy ciała w brzmieniu dokumentu źródłowego, bez wartości obliczonej. Analogicznie kalkulator ryzyka pokazuje pełne zestawienie progów punktowych z wyróżnieniem wiersza zgodnego, zamiast pojedynczego zdania z zaleceniem. Redakcja. Usunięto czasowniki działania skierowane do użytkownika („rozpocznij leczenie", „wykonaj CUS", „wykonaj angio-TK") oraz etykiety „Zalecenie", „Dane wejściowe" i nagłówek „Kalkulator ryzyka — wynik"; węzły końcowe algorytmu YEARS opisano jako gałęzie algorytmu źródłowego. Nazwy zmiennych pregRec/postRec i funkcji computeDose() zastąpiono odpowiednio warstwą tabel źródłowych i renderDoseTables(), ponieważ plik jest publicznie dostępny i jego kod stanowi element prezentacji. Deklaracja przeznaczenia. Nad panelami dodano stały blok „Przeznaczenie i status regulacyjny", niezależny od wybranej zakładki; tytuł dokumentu i opis meta pozbawiono czasowników medycznych. Do uzupełnienia: adresy wierszy oznaczone znacznikiem „uzupełnić nr tab./s." wymagają podania numeru tabeli i strony z drukowanego wydania wytycznych.top hdr oraz app-footer ftr — po której są usuwane przy wbudowaniu, bo podstrona ma własne. Nagłówek uproszczono do układu wzorcowego: tytuł i podtytuł w jednym bloku, bez logotypu, ponieważ po wbudowaniu i tak znika, a w widoku samodzielnym powielał znak wodny. Pasek „Wersja testowa" usunięto z treści — dokłada go strona z manifestu, żeby dało się zmienić brzmienie ostrzeżenia bez ruszania pliku; pozostawienie go w treści dawałoby dwa paski. Reguły stylu dla klasy .test-version-bar zachowano, bo korzysta z nich pasek wstrzykiwany. Zakładki przeniesiono na nazewnictwo wzorca: klasa tabbtn zamiast tab-btn, atrybut data-t zamiast data-tab, a identyfikatory paneli z panel-risk, panel-dose i panel-years na t1, t2, t3. Przełącznik odczytuje teraz identyfikator wprost z data-t, bez sklejania przedrostka, a jego selektory zawężono do .zchzz-tool, żeby dwa narzędzia na jednej podstronie nie przechwytywały nawzajem kliknięć. Skrypt zamknięto w funkcji natychmiastowej z 'use strict'; jedyna funkcja wywoływana z atrybutu onclick w treści (gotoSource) jest jawnie eksportowana do zakresu globalnego. Adres źródła przeniesiono do bloku przeznaczenia. Pełne odwołanie do wytycznych wraz z numerami tabel i stron znajdowało się wyłącznie w stopce, a stopka jest przy wbudowaniu usuwana — po wstrzyknięciu narzędzie zostałoby bez adresu źródłowego, co narusza regułę R5 kanonu MDR. Blok przeznaczenia nie jest usuwany, więc adres przetrwa wbudowanie. W stopce zapis pozostaje na potrzeby widoku samodzielnego. W stosunku do wzorca zawężono selektor przełącznika z nav.tabs button do nav.tabs button.tabbtn. Skrypt widoku mobilnego dokłada do paska dwa przyciski strzałek przewijania, które są potomkami nav.tabs i przy szerszym selektorze trafiałyby do tej samej listy; przy obecnej kolejności wykonania nie powoduje to usterki, bo lista powstaje przed dodaniem strzałek, ale zależność od kolejności jest krucha. Klasa tabbtn pochodzi ze wzorca, więc zawężenie nie wprowadza nazewnictwa spoza niego.footer.app-footer.ftr i tak jest usuwany — w pliku pozostawał wyłącznie na potrzeby widoku samodzielnego i powielał treść, którą niesie już blok przeznaczenia. Usunięcie jest bezpieczne, ponieważ w wersji 1.16 przeniesiono do bloku przeznaczenia pełny adres źródła (nazwa wytycznych, numery tabel i stron) oraz oświadczenie o statusie regulacyjnym; obie te treści są wymagane przez kanon MDR i muszą przetrwać wbudowanie. Reguły stylu dla footer.app-footer zachowano — korzysta z nich stopka dokładana przez stronę.