KWALIFIKACJA MED5 - TEST WIEDZY NR 2

PYTANIE NR 1.
Załóżmy, że masz do czynienia z fragmentem kodu odpowiedzialnym za rejestrację pacjenta w systemie. Oto on:
    def register_patient(patient):
        if not patient['name']:
            return 'Name is required'
        if not patient['dob']:
            return 'Date of birth is required'
        if not patient['phone']:
            return 'Phone number is required'
        # ... (kod kontynuuje)
    
Jakie dane są wymagane do rejestracji pacjenta według tego fragmentu kodu?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Fragment funkcji sprawdza trzy pola słownika pacjenta. Dla każdego z nich używa warunku if not: gdy wartość jest pusta (np. None lub pusty napis), funkcja natychmiast zwraca błąd. Aby przejść dalej, muszą być podane: imię, data urodzenia i telefon. To jest typowa walidacja danych w systemach EDM.

Pełne wyjaśnienie:

W pokazanym fragmencie kodu funkcja register_patient(patient) przyjmuje dane pacjenta jako słownik (np. z formularza rejestracyjnego) i wykonuje walidację kompletności. Walidacja polega na sprawdzeniu, czy wybrane pola mają niepustą wartość.

W Pythonie warunek if not X jest spełniony, gdy X ma wartość "fałszywą" (tzw. falsy), np.: None, pusty napis "", 0 albo pusta kolekcja. Dlatego zapis if not patient['name'] oznacza: "jeżeli imię nie zostało podane lub jest puste, przerwij i zwróć błąd".

Kod sprawdza trzy klucze i każdy brak powoduje natychmiastowy return z komunikatem:

  • brak patient['name'] → komunikat o wymaganym imieniu,
  • brak patient['dob'] → komunikat o wymaganej dacie urodzenia,
  • brak patient['phone'] → komunikat o wymaganym numerze telefonu.

Z tego wynika, że aby walidacja przeszła i "kod mógł kontynuować" (linia z komentarzem # ... (kod kontynuuje)), wszystkie trzy pola muszą być uzupełnione: imię pacjenta, data urodzenia i numer telefonu.

Pozostałe odpowiedzi są błędne, bo każda pomija co najmniej jedno pole, które jest sprawdzane w kodzie. Typowe nieporozumienie polega na tym, że funkcja zwraca błąd już przy pierwszym brakującym polu, ale to nie oznacza, że kolejne pola są opcjonalne — one również są wymagane, tylko są sprawdzane w następnych warunkach. W praktyce taka walidacja pomaga w systemach rejestracji (np. gabinetowych/EDM) szybko wskazać operatorowi, czego brakuje do poprawnego zapisania pacjenta i kontaktu w sprawie wizyt.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Warunek if not sprawdza, czy dana wartość jest "pusta" (falsy), np. None albo pusty napis. W walidacji formularza oznacza to: jeśli pole nie ma sensownej wartości, zwróć błąd i nie przechodź dalej. To typowy wzorzec kontroli kompletności danych wejściowych.
return kończy działanie funkcji i oddaje wynik do miejsca wywołania. Komunikat 'Name is required' to informacja, że rejestracja nie może zostać dokończona, bo brakuje imienia. Kolejne sprawdzenia nie wykonają się, dopóki to pole nie zostanie uzupełnione.
Wymagane są trzy pola, bo kod sprawdza trzy klucze w słowniku pacjenta: name (imię), dob (data urodzenia) i phone (numer telefonu). Jeśli któregokolwiek brakuje lub jest puste, funkcja zwraca błąd i przerywa działanie.
W Pythonie pusty napis "" jest traktowany jako wartość fałszywa (falsy). Dlatego warunek if not patient['phone'] uzna pusty numer telefonu za "brak danych" i zwróci komunikat błędu. To pozwala wychwycić pola formalnie istniejące, ale faktycznie nieuzupełnione.
Nie. Pokazany fragment sprawdza wyłącznie obecność wartości (czy pole nie jest puste). Nie ma tu weryfikacji długości, cyfr, prefiksu kraju ani wzorca. Do sprawdzania formatu potrzebne byłyby dodatkowe reguły, np. wyrażenia regularne lub osobna funkcja walidująca.
Walidacja minimalnych danych jest przydatna przy elektronicznej rejestracji pacjenta, aby zapewnić możliwość identyfikacji i kontaktu (np. przypomnienia o wizycie kontrolnej, serwisie aparatu, dopasowaniu wkładki). Dzięki temu system nie zapisuje "pustych" rekordów, które utrudniają pracę personelowi.
Słownik (dict) to struktura danych mapująca klucze na wartości, np. 'name' → 'Jan'. W systemach rejestracji łatwo w nim przechowywać pola formularza. Kod może wtedy odwoływać się do konkretnych elementów po nazwie pola, np. patient['dob'] dla daty urodzenia.
Częsty błąd to pominięcie jednego z warunków (np. odczytanie tylko dwóch sprawdzeń) albo błędne rozumienie, że skoro funkcja zwraca błąd przy pierwszym braku, to inne pola są opcjonalne. Warto czytać kod liniowo i wypisać wszystkie klucze sprawdzane przez if not.
Pytanie dotyczy konkretnego fragmentu programu, więc poprawna odpowiedź wynika wyłącznie z tego, co kod sprawdza. W praktyce dokumentacja medyczna może wymagać dodatkowych danych, ale nie są one pokazane w tym fragmencie. Na egzaminie trzeba trzymać się danych dostępnych w treści zadania.
Najprościej: (1) znajdź wszystkie linie z if not, (2) wypisz pola, które są sprawdzane, (3) zauważ, że return oznacza błąd i przerwanie, więc pola muszą być uzupełnione, aby przejść dalej. Potem wybierz odpowiedź zawierającą komplet tych pól.
info

To pytanie poprawnie rozwiązuje 57% zdających egzamin. średnie

Eksperci podkreślają: "Fragment funkcji sprawdza trzy pola słownika pacjenta."

Źródła:

  • Python 3 Documentation — The if statement (tutorial), https://docs.python.org/3/tutorial/controlflow.html#if-statements - accessed 2026-03-01
  • Python 3 Documentation — Truth Value Testing, https://docs.python.org/3/library/stdtypes.html#truth-value-testing - accessed 2026-03-01
  • Python 3 Documentation — Built-in Types: mapping types (dict), https://docs.python.org/3/library/stdtypes.html#mapping-types-dict - accessed 2026-03-01

Materiały:

  • Dokumentacja Pythona: instrukcje if oraz kontrola przepływu
  • Dokumentacja Pythona: testowanie wartości logicznej (truth value testing)
  • Krótkie ćwiczenia z walidacji danych (formularze, słowniki, warunki if/return)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego