Wkrótce aplikacja dołączy do kanałów umożliwiających zapisanie się na test medyczny na COVID-19. Nowa funkcjonalność została zapowiedziana w tym tygodniu przed departament cyfryzacji KPRM. Zapis jest możliwy kiedy moduł analizy kontaktów Exposure Notification [EN] wskaże wysokie ryzyko kontaktu z COVID-19 oraz Test Oceny Ryzyka wskazuje na występowanie objawów COVID-19.
legenda:
EN - Exposure Notifications, moduł Google & Apple
WGR - Wysoka Grupa Ryzyka (Stan nadawany przez EN i/lub TOR)
TOR - Test Oceny Ryzyka (funkcjonalność testu samooceny ryzyka objawów COVID-19 na podstawie ankiety MZ/GIS)
PIN - służy do wysyłki kluczy [TEK]
PINT (PIN testu) - służy do autoryzacji w trakcie procesu zapisu na test medyczny na COVID-19
TEK - Temporary Exposure Keys (anonimowe klucze, którymi przedstawiają się aplikacje)
MZ - Ministerstwo Zdrowia
GIS - Generalny Inspektorat Sanitarny
Cloud Backend - umowny zestaw funkcji chmurowych i usług składowania danych stanowiący zaplecze aplikacji
SafetyNet - weryfikacja autentyczności aplikacji w ekosystemie Google
DeviceCheck - weryfikacja autentyczności aplikacji w ekosystemie Apple
Jak wygląda proces zapisu na test?
I CZĘŚĆ - która odbywa się w aplikacji STOP COVID - ProteGO Safe
- Funkcjonalność jest dostępna tylko wtedy kiedy moduł analizy kontaktów Exposure Notification wskazuje wysokie ryzyko kontaktu z COVID-19.
- Po uzyskaniu Wysokiej Grupy Ryzyka [WGR] z EN użytkownik będzie proszony o wypełnienie Testu Oceny Ryzyka [TOR] (lub regularne wypełnianie do momentu utrzymywania się WGR z EN - jeżeli wynik TOR nie wskazuje na występowanie objawów). Jeżeli Test Oceny Ryzyka wskazuje na objawy charakterystyczne dla COVID-19, użytkownik widzi na ekranie głównym informację o możliwości zapisu na test (“Odbierz test na COVID-19”). Po kliknięciu w przycisk z informacją o możliwości zapisu na test użytkownik przechodzi do procesu zapisu na test.
[ Jeśli użytkownik nie wypełnił Testu Oceny Ryzyka na ekranie głównym pojawi mu się sugestia jego wypełnienia (“Sprawdź swoje objawy i zobacz, czy kwalifikujesz się do testu na COVID-19”). Użytkownik może przejść stąd bezpośrednio do Testu Oceny Ryzyka. Jeśli na podstawie ankiety, analiza wykaże występowanie objawów COVID-19, na podsumowaniu Testu będzie dostępny przycisk prowadzący do procesu zapisu na test. ]
- W ramach procesu weryfikacji użytkownik musi zadzwonić na infolinię (Centrum Kontaktu) (222 500 115), przekazać konsultantowi informację o tym, że aplikacja pozwala mu na zapis i poprosić o wygenerowanie PIN-u do potwierdzający spełnienie warunków uprawniających do wykonania testu [PIN].
- Konsultant generuje w systemie nowy, losowy, jednorazowy i tymczasowy (ważny 30 minut) kod PINT, który przez telefon przekazuje użytkownikowi.
- Użytkownik wprowadza PINT w aplikacji, który po zatwierdzeniu przesyłany jest na serwer systemu.
- Po otrzymaniu informacji w aplikacji, że PINT został poprawnie przesłany, użytkownik informuje konsultanta o tym fakcie. Od tego momentu jego aplikacja nie będzie pozwalała na ponowne wprowadzenie PINT (aż do wygaśnięcia wysokiego ryzyka kontaktu z modułu EN i jego ponownego wystąpienia).
II CZĘŚĆ - która odbywa się w ramach istniejących procedur GIS/MZ (poza aplikacją, niezależnie od niej).
- Konsultant sprawdza w systemie czy przekazany kod PINT został oznaczony jako zweryfikowany (przesłany z aplikacji wskazującej na stan uprawniający do zapisu na test).
- Jeśli konsultant widzi, że kod został zweryfikowany, kontynuuje proces zapisu na test, który odbywa się już poza aplikacją.
- Po zapisaniu użytkownika na test, konsultant oznacza w systemie, że ten użytkownik (identyfikowany anonimowo na podstawie podanego PINT) został rzeczywiście zapisany na test.
III CZĘŚĆ - która odbywa się w aplikacji STOP COVID - ProteGO Safe
- Użytkownik po przesłaniu PIN-u Testu, widzi na ekranie głównym informacje o statusie zapisu na test. Dopóki konsultant nie oznaczy go jako finalnie zapisanego, użytkownik widzi informację, że jest zweryfikowany i powinien kontynuować proces z konsultantem (na wypadek gdyby rozmowa została przerwana a proces niezakończony). Jeśli użytkownik został zapisany, widzi stosowną informację oraz dodatkowe wyjaśnienie, że od tej pory aplikacja nie ma możliwości sprawdzenia wyniku testu ( w praktyce nie istnieje żadne połączenie) , więc również w przypadku otrzymania negatywnego wyniku (użytkownik laboratoryjnie potwierdził, że nie ma COVID-19) aplikacja może przez kilka dni nadal wyświetlać komunikat wysokiego zagrożenia (dopóki w aplikacji nie wygaśnie stan wysokiego ryzyka ze względu na wykryty kontakt przez moduł EN).
Szczegóły techniczne:
- Aplikacja w momencie wprowadzenia kodu PINT generuje losowy ciąg znaków jako unikalny identyfikator (GUID) wysokiego stanu ryzyka aplikacji związany z „subskrypcją” na test laboratoryjny.
GUID jest usuwany z aplikacji jak tylko ryzyko związane z kontaktem z osobą zarażoną COVID-19 z modułu EN obniży się z poziomu wysokiego.
- Po wygenerowaniu identyfikatora jest on razem z kodem PINT przesyłany do Cloud Backend. Do zapytania dodawany jest token pobrany z serwisu SafetyNet (Android) lub DeviceCheck (Apple), w celu weryfikacji instancji aplikacji (certyfikatu jakim jest podpisana), również informacja o tym czy jest to aplikacja Android czy iOS. Przykładowe zapytanie wygląda jak niżej:
curl --location --request POST 'https://mb-dev.safesafe.app/createSubscription' \
--header 'Content-Type: application/json' \
--header 'Safety-Token: token_safetynet_or_device_check'
--header 'User-Agent: android_or_ios'
--data-raw '{
"code" : "MPCPRY",
"guid" : "23c713e3-2790-4f52-9e19-106a218ff779"
}'
W odpowiedzi Cloud Backend zwraca token JWT do przyszłej autoryzacji zapytań o status subskrypcji.
- Cloud Backend zachowuje subskrypcję na serwerze.
- Konsultant Centrum Kontaktu może odpytać Cloud Backend (po wygenerowanym kodzie PINT) czy istnieje subskrypcja z potwierdzonym kodem. Jeśli tak się dzieje kontynuowany jest proces zapisu na test.
- Po zakończeniu procesu konsultant przesyła do Cloud Backend żądanie oznaczenia subskrypcji jako zapisany na test.
- Aplikacja jeśli posiada subskrypcję, która jest w stanie bez potwierdzenia zapisu na test, odpytuje Cloud Backend przy każdym wejściu na dashboard (nie częściej niż raz na 60 sekund) o daną subskrypcję. Zapytanie wygląda jak niżej:
curl --location --request POST 'https://mb-dev.safesafe.app/getSubscription' \
--header 'Content-Type: application/json' \
--header 'Safety-Token: token_safetynet_or_device_check'
--header 'User-Agent: android_or_ios'
--data-raw '{
"guid" : "23c713e3-2790-4f52-9e19-106a218ff779"
}'
- Jeśli stan zwróconej subskrypcji zmienia się na zapisany na test aplikacja oznacza to i nigdy więcej nie odpytuje o daną subskrypcję (GUID).
- Po wygaśnięciu ryzyka z EN aplikacja usuwa wszelkie informacje o subskrypcji. Przy wystąpieniu wysokiego ryzyka po raz kolejny, proces przebiega od nowa w ten sam sposób.
Wkrótce aplikacja dołączy do kanałów umożliwiających zapisanie się na test medyczny na COVID-19. Nowa funkcjonalność została zapowiedziana w tym tygodniu przed departament cyfryzacji KPRM. Zapis jest możliwy kiedy moduł analizy kontaktów Exposure Notification [EN] wskaże wysokie ryzyko kontaktu z COVID-19 oraz Test Oceny Ryzyka wskazuje na występowanie objawów COVID-19.
legenda:
EN - Exposure Notifications, moduł Google & Apple
WGR - Wysoka Grupa Ryzyka (Stan nadawany przez EN i/lub TOR)
TOR - Test Oceny Ryzyka (funkcjonalność testu samooceny ryzyka objawów COVID-19 na podstawie ankiety MZ/GIS)
PIN - służy do wysyłki kluczy [TEK]
PINT (PIN testu) - służy do autoryzacji w trakcie procesu zapisu na test medyczny na COVID-19
TEK - Temporary Exposure Keys (anonimowe klucze, którymi przedstawiają się aplikacje)
MZ - Ministerstwo Zdrowia
GIS - Generalny Inspektorat Sanitarny
Cloud Backend - umowny zestaw funkcji chmurowych i usług składowania danych stanowiący zaplecze aplikacji
SafetyNet - weryfikacja autentyczności aplikacji w ekosystemie Google
DeviceCheck - weryfikacja autentyczności aplikacji w ekosystemie Apple
Jak wygląda proces zapisu na test?
I CZĘŚĆ - która odbywa się w aplikacji STOP COVID - ProteGO Safe
[ Jeśli użytkownik nie wypełnił Testu Oceny Ryzyka na ekranie głównym pojawi mu się sugestia jego wypełnienia (“Sprawdź swoje objawy i zobacz, czy kwalifikujesz się do testu na COVID-19”). Użytkownik może przejść stąd bezpośrednio do Testu Oceny Ryzyka. Jeśli na podstawie ankiety, analiza wykaże występowanie objawów COVID-19, na podsumowaniu Testu będzie dostępny przycisk prowadzący do procesu zapisu na test. ]
II CZĘŚĆ - która odbywa się w ramach istniejących procedur GIS/MZ (poza aplikacją, niezależnie od niej).
III CZĘŚĆ - która odbywa się w aplikacji STOP COVID - ProteGO Safe
Szczegóły techniczne:
GUID jest usuwany z aplikacji jak tylko ryzyko związane z kontaktem z osobą zarażoną COVID-19 z modułu EN obniży się z poziomu wysokiego.
W odpowiedzi Cloud Backend zwraca token JWT do przyszłej autoryzacji zapytań o status subskrypcji.